Rock

the Robot Construction Kit

Usage Simulation

Setting up the System

To build a simulation of your system you first need the enviorment for the system and the system itself. To crete a scene please refer to the Mars Documentation

The next step is to figure out which sensors you need and which tasks they require in turn. For this, see the mars_core package.

Currently Rock provides support for:

  • IMU Sensors
  • AUV Motions (based on the Fossen-Model) Provides movement prediction within the simulation based on the prediction of a fossen model.
  • laser scanners
  • motors (including joints)
  • cameras (including time-of-flight cameras)

You have to Deploy all needed Tasks within one Deployment, because the underlaying access is based on a singleton design pattern. After you colleded and deployed all tasks the base-setup is finished.

Configuring Plugins

The simulation tasks aim to provide the same functionality as the real sensors. Nevertheless, they are often limited in their capabilities. The most important fact to know is that for almost every plugin, you have to configure the referencing Rock node in the scene file. Each plugin has to be provided with the information on which node needs to be controlled and which sensor to be attached respectively. The names of the Rock nodes are specified when creating the scene. The second important fact is that each plugin node must be instanciated AFTER the core-simulation task is configured, otherwise the configuration will fail.

The plugins are continuously checking if the core-simulation is still available, in case of a shutdown each node switches to the error_state “CONNECTION_LOST”, which means that the whole simulation has to be restarted.