Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
buzz_argos [2018/03/18 23:03] – root | buzz_argos [2018/03/18 23:31] – root | ||
---|---|---|---|
Line 11: | Line 11: | ||
Compile and install Buzz following the instructions reported in the [[https:// | Compile and install Buzz following the instructions reported in the [[https:// | ||
- | ==== ARGoS + Buzz ==== | + | ==== Library Configuration |
- | + | ||
- | === Integration: | + | |
The Buzz integration library for ARGoS is composed of two elements: | The Buzz integration library for ARGoS is composed of two elements: | ||
Line 19: | Line 17: | ||
- A set of ARGoS controllers. At the moment, available controllers include one for the [[http:// | - A set of ARGoS controllers. At the moment, available controllers include one for the [[http:// | ||
- | - A special definition of ARGoS' QtOpenGL user functions, which allow Buzz scripts to draw in the OpenGL visualization of ARGoS. With these, a developer can [[# | + | - A special definition of ARGoS' QtOpenGL user functions, which allow Buzz scripts to draw in the OpenGL visualization of ARGoS. |
- | To have ARGoS find the Buzz integration library in case you installed it in a non-default location, set the environment variable '' | + | To have ARGoS find the Buzz integration library in case you installed it in a non-default location, set the environment variable '' |
<code bash> | <code bash> | ||
Line 27: | Line 25: | ||
</ | </ | ||
- | If you installed Buzz without specifying a custom installation prefix (e.g., using only '' | + | If you installed Buzz without specifying a custom installation prefix (e.g., using only '' |
- | === Defining an ARGoS experiment file === | + | ==== Defining an ARGoS experiment file ==== |
To use ARGoS and Buzz together, define your '' | To use ARGoS and Buzz together, define your '' | ||
Line 36: | Line 34: | ||
<code xml> | <code xml> | ||
+ | < | ||
+ | For a full example of an ARGoS configuration file, refer to | ||
+ | |||
+ | | ||
+ | |||
+ | and the other examples at | ||
+ | |||
+ | | ||
+ | --> | ||
+ | |||
+ | ... | ||
+ | |||
< | < | ||
+ | <!-- Include this if you're using foot-bots --> | ||
< | < | ||
< | < | ||
Line 47: | Line 58: | ||
< | < | ||
</ | </ | ||
- | < | + | <params /> |
</ | </ | ||
+ | <!-- Include this if you're using Khepera IV --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | <params /> | ||
+ | </ | ||
+ | |||
+ | <!-- Include this if you're using Spiri --> | ||
< | < | ||
< | < | ||
Line 59: | Line 84: | ||
< | < | ||
</ | </ | ||
- | < | + | <params /> |
</ | </ | ||
Line 68: | Line 93: | ||
<arena ...> | <arena ...> | ||
+ | < | ||
< | < | ||
... | ... | ||
< | < | ||
- | | + | </ |
+ | < | ||
+ | < | ||
+ | ... | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
< | < | ||
... | ... | ||
< | < | ||
- | | + | </ |
</ | </ | ||
+ | |||
+ | ... | ||
</ | </ | ||
- | To activate drawing, use '' | + | If you want ARGoS to start with a Buzz script already loaded, you can specify that in the '' |
<code xml> | <code xml> | ||
+ | ... | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | | ||
+ | <!-- This loads the specified files at startup --> | ||
+ | <params bytecode_file=" | ||
+ | | ||
+ | </ | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | </ | ||
+ | |||
+ | To activate the Buzz editor and support debugging, use '' | ||
+ | |||
+ | <code xml> | ||
+ | <!-- For a full example of an ARGoS configuration file, refer to | ||
+ | | ||
+ | --> | ||
+ | |||
< | < | ||
< | < | ||
Line 97: | Line 160: | ||
</ | </ | ||
- | Make sure the paths of the Buzz files (e.g., | + | Make sure the parameters |
- | === Writing debug information | + | ==== Debugging Buzz Programs ==== |
- | The Buzz integration library offers | + | === Inspecting |
- | <code buzz> | + | To understand what's happening on a specific robot, shift-click on it in the ARGoS visualization to select it. This opens a tree widget in the Buzz editor that reports the value of all the variables, and the list of available functions on the robot. |
- | x = 10 | + | |
- | debug("The value of x is ", x) | + | === Debugging Information === |
- | </ | + | |
+ | The Buzz integration library offers a data structure, called '' | ||
+ | |||
+ | == Writing Text on Top of a Robot == | ||
+ | |||
+ | * '' | ||
+ | * prints a message on top of the robot, after the robot id | ||
+ | * '' | ||
+ | |||
+ | == Drawing the Trajectory of a Robot == | ||
+ | |||
+ | * '' | ||
+ | * enable trajectory tracking setting how many points should be stored and the drawing color | ||
+ | * '' | ||
+ | * '' | ||
+ | * enable trajectory tracking setting how many points should be stored | ||
+ | * '' | ||
+ | * enable trajectory tracking keeping maxpoints' | ||
+ | * '' | ||
+ | * '' | ||
+ | * enable trajectory tracking keeping maxpoints' | ||
+ | * '' | ||
+ | * disable trajectory tracking | ||
+ | * debug.trajectory.clear() | ||
+ | * delete all the trajectory points | ||
+ | |||
+ | == Drawing Vectors == | ||
- | This will print '' | + | * '' |
+ | * draw a ray from the reference point of the robot to '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * draw a ray from '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * debug.rays.clear() | ||
+ | * delete all the rays |