Robobot software description

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
=== C++ main structure ===
 
=== C++ main structure ===
  
<<!-- [[File:c++main.png | 220px]] -->
+
<!-- [[File:c++main.png | 220px]] -->
  
 
[[C++ main entry point]]
 
[[C++ main entry point]]
Line 11: Line 11:
 
=== Compile and CMake ===
 
=== Compile and CMake ===
  
[[Robobot compile]]
+
<!-- [[Robobot compile]] -->
  
 
== Functional description ==
 
== Functional description ==
Line 17: Line 17:
 
=== Software class - and example ===
 
=== Software class - and example ===
  
[[File:class-def20.png | 200px]]
+
<!-- [[File:class-def20.png | 200px]] -->
  
 
This page also has an explained behaviour plan example (bplan20).
 
This page also has an explained behaviour plan example (bplan20).
Line 25: Line 25:
 
=== Low-level robot control ===
 
=== Low-level robot control ===
  
[[File:robobot_level_1.png | 300px]]
+
<!-- [[File:robobot_level_1.png | 300px]] -->
  
  

Revision as of 09:52, 23 January 2024

Back to Robobot

Contents

C++ development

C++ main 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

Line sensor

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