This is an old revision of the document!
ARGoS + Buzz quick start
ARGoS
ARGoS is a fast multi-robot simulator that can interoperate with Buzz.
To install ARGoS, go to http://www.argos-sim.info/core.php and install a binary package. To get started with ARGoS, refer to the examples.
Buzz
Compile and install Buzz following the instructions reported in the GitHub page. Make sure to compile Buzz after having installed ARGoS, so the compilation scripts will also compile the ARGoS integration code.
ARGoS + Buzz
Integration: Basic information
The integration code of Buzz and ARGoS is composed of two elements:
- A set of ARGoS controllers. At the moment, available controllers include one for the foot-bot (a wheeled robot) and one for the Spiri (a commercial quad-rotor). More can be added easily by subclassing
CBuzzController
, defined in$PREFIX/include/buzz/argos/buzz_controller.h
.$PREFIX
depends on your systems and is usually/usr
or/usr/local
. - 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 write debugging information on top of each robot.
Using Buzz with ARGoS
To use ARGoS and Buzz together, define your .argos
experiment file as usual.
However, instead of a custom controller, in the <controllers>
section use <buzz_controller_footbot>
or <buzz_controller_spiri>
(or both!), depending on the robots you intend to use.
<controllers> <buzz_controller_footbot id="bcf"> <actuators> <differential_steering implementation="default" /> <leds implementation="default" medium="leds" /> <range_and_bearing implementation="default" /> </actuators> <sensors> <range_and_bearing implementation="medium" medium="rab" show_rays="true" noise_std_dev="0" /> </sensors> <params bytecode_file="testflocking.bo"> <wheel_turning hard_turn_angle_threshold="90" soft_turn_angle_threshold="70" no_turn_angle_threshold="10" max_speed="10" /> </params> </buzz_controller_footbot> <buzz_controller_spiri id="bcs"> <actuators> <quadrotor_position implementation="default" /> <range_and_bearing implementation="default" /> </actuators> <sensors> <range_and_bearing implementation="medium" medium="rab" show_rays="false" /> <positioning implementation="default" /> </sensors> <params bytecode_file="testflocking.bo" debug_file="testflocking.bdbg" /> </buzz_controller_spiri> </controllers>
To activate drawing, use buzz_qt
to indicate that you want to use the Buzz QtOpenGL user functions.