Gazebo Simulator
Gazebo is an open-source 2D/3D robotics simulator that began development in 2002.
ros_gz_bridge - ROS 2 package that provides a network bridge which enables the exchange of messages between ROS 2 and Gazebo Transport Documentation, GitHub
SDF (Simulation Description Format)
SDFormat (Simulation Description Format), sometimes abbreviated as SDF, is an XML format that describes objects and environments for robot simulators, visualization, and control. Originally developed as part of the Gazebo robot simulator, SDFormat was designed with scientific robot applications in mind.
Commands
Note
Starting from Gazebo Harmonic, gz
is the standard command (older versions like Fortress and Citadel used ign
).
For example: gz topic -l
gz sim –verbose 3 - run Gazebo with verbose output (3 is the default level)
Topics
gz topic -l
- list all of the topics that are currently available in the Gazebo transport systemgz topic -i -t /topic_name
- display information about a specific topicgz topic -e -t /topic_name
- echo topic /topic_name (-e -echo, -t - topic name)
Plugins
Gazebo plugins are shared libraries (a chunk of code that is compiled as a shared library) that are inserted into the simulation. They can be used to model sensors, actuators, or controllers. Plugins are written in C++ and are loaded when the simulation starts.
Sensors
Gazebo provides a suite of sensors that can be attached to models. These sensors can be used to simulate real-world sensors such as IMU, camera, LiDARs, depth camera, GPS and others.
Moving the robot
Gazebo provides plugins to simulate motor controllers.
How-to
To add a model to the world, click on three dots on the right top corner of the Gazebo GUI and type ‘Resource Spawner’, then type the name of the model you want to add and press download. Path to the resources downloaded from Fuel:
~/.gz/fuel
To save the world, click on the hamburger menu on the left top corner of the Gazebo GUI and select ‘Save World’. Path to the default worlds:
/usr/share/gz/gz-sim/worlds
(for Harmonic)
Other Useful Information
Gazebo Fuel is a cloud service that provides a free library of robot models and environments. Models can easily be added to a world running in the Gazebo GUI.