Skip to content
Jorge Poveda Hernández edited this page Apr 16, 2020 · 4 revisions

About Gazebo

Robot simulation is an essential tool in the exploration of robot control strategies. A good simulator makes it possible to evaluate robot designs, test control algorithms, or train ML system using close to reality scenarios. Gazebo is a robot simulator that offers the ability to accurately simulate robots situated in realistic environments. It has a robust physics engine, high-quality graphics, and convenient programmatic and graphical interfaces.

Link to Gazebosim


Using Gazebo

Building Robots in Gazebo

Use URDF.

Building Environments

Use SDF.

Building Simulations in Gazebo

Controlling the robot in Gazebo

We are using ROS2 to control the robot.


Runtime Robot Change in Gazebo

One of the central issues in ROBOMINERS is robot autonomy by adaptation. One of the basic adaptation strategies is the change or robot morphology. To support research on this, RMsim shall provide mechanisms for runtime robot morphology change. This means that the robot configuration -e.g. the number of legs- may change during the execution of a simulation run without stopping the simulation.

Plugins in Gazebo

Gazebo offers the possibility of running C++ code in parallel with the simulation, communicating with it, through the use of plugins. The C++ code can control and modify every aspect of the simulation. In fact, the communication between ROS and Gazebo is mainly done through plugins. The online Gazebo's API can be found here and defines all the classes and methods that are implemented.

Modifying the morphology of the robot

The morphology of the robot can be modified, then, by using plugins. The Joint Class implements methods to create, destroy, and change the different bodies that are connected by that joint.

Clone this wiki locally