Version 0.9.2 of the Robot3D simulator is out. Time to tell a bit on the plugins that are available, so-called “component plugins” and “agent plugins”. If you want to start as quick as possible, I would recommend you to skip to the “Agent plugins” section.
Component plugins
There are three “component plugins”, namely srInterface, srDistributed, and srEvolution. You can “enable” an interface by either dropping it in the default directory /usr/lib/robot3d/components or by setting the environmental variable ROBOT3D, by e.g.: export ROBOT3D=/home/you/workspace/plugins. This directory should contain the compiled .so files.
srInterface
By default the Robot3D simulator does not contain functionality to interface with it over TCP/IP. Commonly used in robotics is YARP, Yet Another Robot Platform. This functionality can be added to the Robot3D simulator by the srInterface shared library. You can obtain it from its own branch on Launchpad and compile it in the usual way using the cmake build system:
bzr branch lp:~robot3d-team/robot3d/srInterface
sudo aptitude install robot3d-dev # if you didn't do that before
cd srInterface
mkdir build; cd build
cmake ..
make
Now, you can interface with the Robot3D simulator over YARP. You will need to create your own “yarp modules” for that. However, you can see already a series of modules that know how to interface with the yarp-enabled Robot3D simulator at Launchpad. For example, one of the modules, RobotManagerYARP, allows you to add a robot to the simulator and even provides a command-line interface to do so:
RobotManagerModule rob+ 1
Every module comes with a “scripts” directory that quickly demonstrates how to use the specific module.
srDistributed
This plugin allows the simulator to run distributed over multiple machines.
srEvolution
This plugin demonstrates how to use evolution to evolve a gait for a modular robot organism.
Agent plugins
There is currently one agent plugin, a sample agent.
sampleAgent
The sample agent code is again obtainable from Launchpad in the usual way by:
bzr branch lp:~robot3d-team/robot3d/sampleAgent
The compilation process is not different from the other plugins. You can copy the “exampleScene.xml” file to your local directory as ~/.robot3d/scene.xml and set ROBOT3D to the directory in which libSampleAgent.so appears (normally sampleAgent/build/sample/src/). This will show you a snake in a pit in a white world. This controller does nothing special and can hence function perfectly as a starting point for your own controller. Good luck!





