Skip to main content

Module 3.1: Gazebo Classic vs. Ignition (Gazebo)

Gazebo has been the de facto standard simulator in the ROS community for many years. However, with the evolution of robotics and simulation needs, a new generation of Gazebo, often referred to as Gazebo Ignition (or just Gazebo), has emerged. This chapter will compare these two powerful simulation platforms.

Gazebo Classic​

Gazebo Classic is the older, well-established version of the Gazebo simulator. It has been tightly integrated with ROS 1 for a long time and is still widely used in many existing projects.

Key Features of Gazebo Classic
  • Maturity: Extensive community support and a vast library of existing models.
  • ROS 1 Integration: Deep integration with the ROS 1 ecosystem.
  • Plugin System: Allows for custom sensor models, control interfaces, and environmental interactions.

Gazebo Ignition (Gazebo)​

Gazebo Ignition is the modern, re-architected version designed to be more modular, flexible, and future-proof. It is the officially supported simulator for ROS 2 and offers improved performance and advanced features.

Key Features of Gazebo Ignition
  • Modular Architecture: Designed with a component-based structure, allowing for greater flexibility and independent development of features.
  • ROS 2 Integration: Natively integrates with ROS 2 through ros_gz bridges, facilitating seamless communication.
  • Modern Graphics: Improved rendering capabilities and graphical fidelity.
  • Distributed Simulation: Better support for simulating multiple robots and complex distributed systems.
  • Physics Engines: Supports multiple physics engines, including DART, ODE, and Bullet.

Comparison Table​

FeatureGazebo ClassicGazebo Ignition (Gazebo)
ROS VersionPrimarily ROS 1 (some ROS 2 bridges)Primarily ROS 2 (native integration)
ArchitectureMonolithicModular, component-based
CommunicationCustom protocolsDDS (Data Distribution Service)
GraphicsOlder rendering engineModern rendering engine, improved graphics
ScalabilityLimited for distributed systemsBetter support for multi-robot/distributed sim
DevelopmentStable, less active new feature developmentActive development, new features

Installation Commands (for ROS Humble on Ubuntu)​

To install Gazebo Classic and Ignition with ROS Humble, you would typically use the following commands:

Gazebo Classic Installation
sudo apt install ros-humble-gazebo-ros-pkgs

This package includes the necessary ROS 2 bridges for Gazebo Classic.

Gazebo Ignition (Gazebo) Installation
sudo apt install ros-humble-ros-gz

This package provides the core Gazebo (Ignition) simulator and the ros_gz bridge for ROS 2 integration.

Remember to source your ROS 2 environment after installation to ensure the tools are available in your terminal.