Robobot software description: Difference between revisions

From Rsewiki
Line 60: Line 60:
See [[Robobot sensor calibration]].
See [[Robobot sensor calibration]].


For the line sensor [[Robobot linesensor description | Line sensor]].
Calibration of the [[Robobot linesensor description | line sensor is found here]].


[[Camera calibration]].
[[Camera calibration]] is needed, as the lens distorts the image quite a bit.


== Video streamer ==
== Video streamer ==

Revision as of 09:18, 23 January 2024

Back to Robobot

C++ development

C++ main structure

Introduction to the main source code structure.

C++ main entry point

Compile and CMake

Functional description

Software class - and example

This page also has an explained behaviour plan example (bplan20).

C++ building blocks overview.

Low-level robot control

Robobot level 1 with interface to hardware and pose generation.

Line sensor

Description of the Line sensor functionality.

Robot.ini configuration file

[pose]
gear = 19.0
wheeldiameter = 0.146
enctickperrev = 64
wheelbase = 0.243
log = true
print = false

See Raubase configuration file for explanation.

Make a new behaviour plan

The easy way to make a new behaviour plan module is to copy an existing plan and rename a number of elements.

See Robobot_new_behaviour_plan.

Sensor calibration

See Robobot sensor calibration.

Calibration of the line sensor is found here.

Camera calibration is needed, as the lens distorts the image quite a bit.

Video streamer

A video streamer is installed called 'motion'.

run motion

To run the streamer, SSH to the robot and start motion

$ motion
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/home/local/.motion/motion.log)

NB! Remember to stop the streamer before trying to use the camera for other purposes.

Stop by ctrl-C

View the stream

To view the result, use a browser to open the address of the robot and port 8081, e.g. if the robot has IP '192.168.1.151':

192.168.2.151:8081

You should now see a stream of default 640x480 at 10 FPS as default; more options are available in /etc/motion/motion.conf.

The stream has a significant delay, and the framerate may be lower if the network is slow.