One of the most important tools for testing the control software of autonomous robots is simulation. The Multi-Robot-Simulation-Framework (MuRoSimF) provides an easy way to generate interactive simulations for the motion and sensing capabilities of wheeled, biped and multi-legged robots. Unlike most existing robot simulation packages MuRoSimF is not limited to predefined simulation algorithms (e.g. for dynamics or sensor simulation). Instead of this it provides a flexible and modular way to combine simulation models of the robots and simulation algorithms. By this it is possible to generate simulations which are scalable in their level of physical accuracy, level of detail and computational complexity, thus enabling the user to create simulations which are adequate to a given task.
Using MuRoSimF several simulations for mobile robots including wheeled, biped and fourlegged devices have been created. MuRoSimF provides a range of exchangeable algorithms for motion simulation (kinematic, simplified dynamics, full multy-body-system dynamics), collision detection and sensor simulation (including cameras, laser range finders and inertial sensors). More modules, e.g. for detailed simulation of servo motors can be added to the framework easily.
MuRoSimF enables the testing of whole teams of robots. Up to 10 humanoid robots (21 DOF), each equipped with one camera (20 FPS) were simulated in real-time on a standard laptop computer using the kinematical motion simulation.
MuRoSimF provides the transparent exchange of simulation algorithms thus enabling the creation of simulations which are adequate to a given task. In the following sections some of the algorithms provided currently are presented.
The differente modules for motion simulation are used to calculate a robot's motion within the environment as well as the motion of the robot's single limbs relative to the robot's base. Three modes for efficient motion simulation are provided:
The performance of the kinesmatical and the simplified dynamics simulation can be compared in a video (divx). In this video the standig foot in the kinematical simulation is marked red. The simplified dynamics simulation yields results which are comparable, but not identic, to the motions of a real robot. This can be seen by videos of a real robot getting up and a simulated robot performing the same motion.
To allow for interaction of the simulated robots with the environment and each other, modules for collision detection and handling are provided.
Currently collision detection is based on primitve shapes like sphere, box, cylinder and plane. For a more realistic simulation other shapes (including meshes) can be added transparently without affecting other modules.
To speed up collision detection it is possible to use an additional bounding volume hierarchy for each simulated robot. By this the number of collision tests per simulation time-step can be reduced greatly. Experiments have shown a reduction to less then 10% compared to testing each body against each other. The high performance of the collision detection can be seen in a video (divx): the collision of 10 humanoid robots and one wheeled robot (altogether 209 distinct bodies) could be simulated in real-time with 500 fps for motion simulation (simplified dynamics) and collision detection.
Collision handling is based on a soft collision model (that is, one that allows to penetrate colliding bodies slightly). This model is used to calculate the forces resulting from each collision.
MuRoSimF provides several modules for sensor simulation. These include cameras, laser-range-finders and inertial sensors.