Robobot software description

From Rsewiki
Revision as of 10:16, 23 January 2024 by Jca (Talk | contribs)

Jump to: navigation, search

Back to Robobot

Contents

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

Line-sensor-1 heatmap.png

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.

For the line sensor Line sensor.

Camera calibration.

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.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox