Feature comparison#

A list of features present in Gazebo-classic version 11 and the status of their migration to Ignition Blueprint.

All the issues below are labeled with close the gap on GitHub.

Sensors#

Sensor

Gazebo-classic

Gazebo Sim

Air pressure

Altimeter

Camera

Contact sensor

Depth camera

Force-torque

Issue

GPS

Issue

GPU Ray

✓ Renamed to GPU Lidar

IMU

Logical camera

Magnetometer

Multi-camera

✕ Use individual cameras with same update rate

Ray

Issue

RFID sensor and tag

Issue

Sonar

Issue

Thermal camera

✕ (available from Citadel)

Wide-angle camera

Issue

Wireless

Issue

Sensor features

Gazebo-classic

Gazebo Sim

Custom update rate

Gaussian noise

Custom sensors

Issue

SDF Features#

Feature

Gazebo-classic

Gazebo Sim

SDF frame semantics

✕ (available from Citadel)

Load models from local files

Closed kinematic chains

Issue

Nested models

Partial support

Populations

Issue

Actors

✕ (available from Citadel)

Markers

✕ (available from Citadel)

Heightmaps

Issue

DEM (Digital Elevation Models)

Issue

Polylines

Issue

World plugins

✓ Now called System plugin

Model plugins

✓ Now called System plugin

Sensor plugins

✓ Now called System plugin

Visual plugins

Issue

GUI plugins

✓ Ignition GUI plugins and Gazebo GUI systems

System plugins

✓ Through Ignition Launch

Plugins#

Model plugins#

Plugin

Gazebo-classic

Gazebo Sim

ActorPlugin

✕ See FollowActor for a demo of Actor APIs

ActuatorPlugin

ArduCopterPlugin

AttachLightPlugin

✕ Does not apply, use SDF

Breadcrumbs

BuoyancyPlugin

✕ (available from Citadel)

CartDemoPlugin

CessnaPlugin

DiffDrivePlugin

ElevatorPlugin

FlashLightPlugin

FollowerPlugin

GimbalSmall2dPlugin

GravityCompensationPlugin

HarnessPlugin

HydraDemoPlugin

InitialVelocityPlugin

Issue

JointControlPlugin

✓ (force / pos / vel, from SDF)

✓ (vel, from msg)

JointStatePublisher

JointTrajectoryPlugin

KeysToCmdVelPlugin

Use ignition::gui::KeyPublisher with ignition::gazebo::systems::TriggeredPublisher

KeysToJointsPlugin

Use ignition::gui::KeyPublisher with ignition::gazebo::systems::TriggeredPublisher

LedPlugin

LiftDragPlugin

LinearBatteryConsumerPlugin

LinearBatteryPlugin

LinkPlot3DPlugin

Issue

MudPlugin

MulticopterMotorModel

PlaneDemoPlugin

PosePublisher

RandomVelocityPlugin

RegionEventBoxPlugin

SimpleTrackedVehiclePlugin

SkidSteerDrivePlugin

SphereAtlasDemoPlugin

TouchPlugin

TrackedVehiclePlugin

VariableGearboxPlugin

VehiclePlugin

WheelSlipPlugin

WheelTrackedVehiclePlugin

✓ (partially via DiffDrivePlugin)

World plugins#

Plugin

Gazebo-classic

Gazebo Sim

ArrangePlugin

ContainPlugin

Partial port, Issue

HydraPlugin

JoyPlugin

✓ Migrated as an Ignition Launch plugin

MisalignmentPlugin

RubblePlugin

StaticMapPlugin

TransporterPlugin

WindPlugin

Sensor plugins#

Plugin

Gazebo-classic

Gazebo Sim

BreakableJointPlugin

CameraPlugin

Issue

ContactPlugin

DepthCameraPlugin

Issue

FiducialCameraPlugin

ForceTorquePlugin

Issue

GpuRayPlugin

Issue

ImuSensorPlugin

Issue

LensFlareSensorPlugin

PressurePlugin

RayPlugin

Issue

RaySensorNoisePlugin

✕ Use SDF

SonarPlugin

Issue

Visual plugins#

Plugin

Gazebo-classic

Gazebo Sim

AmbientOcclusionVisualPlugin

BlinkVisualPlugin

HeightmapLODPlugin

ShaderParamVisualPlugin

GUI plugins#

Plugin

Gazebo-classic

Gazebo Sim

CessnaGUIPlugin

KeyboardGUIPlugin

ignition::gui::KeyPublisher

LookAtDemoPlugin

TimerGUIPlugin

System plugins#

Plugin

Gazebo-classic

Gazebo Sim

ModelPropShop

Issue

RestUiPlugin

RestWebPlugin

StopWorldPlugin

GUI#

Feature

Gazebo-classic

Gazebo Sim

Play / pause / step

Reset world / models

Issue

World stats

Topic echo

Image viewer

Translate / rotate

Scale models

Issue

Insert models from Fuel

Partial support

Insert models from disk

Insert simple shapes

Insert simple lights

Issue

Delete models

World tree

Scene properties

Issue

Log recording / playback

Plotting

✕ (available from Dome)

Video recording

Screenshot

Issue

View angles

Apply force / torque

Visualize as transparent

Visualize as wireframe

Visualize joints

Issue

Visualize collisions

Issue

Visualize inertia

Issue

Visualize CoM

Issue

Visualize contacts

Issue

Follow / move to

Copy / paste

Issue

Building editor

Model editor

Issues

FPS view control

Orthographic projection

Issue

Undo / redo

Issue

Save world

Save GUI configuration

Color scheme and themes

Position, resize and configure widgets

Load GUI plugins from menu

Physics#

In Ignition Physics, physics engines are integrated as plugins, so any engine can be integrated without changing the core source code, as it was the case in Gazebo.

Feature

Gazebo-classic

Gazebo Sim

ODE engine

Issue

Bullet engine

Issue

DART engine

✓ Plugin shipped with ign-physics

Simbody engine

Issue

TPE engine

✕ (available from Citadel)

Custom engine plugins

Rendering#

In Ignition Rendering, render engines are integrated as plugins, so any engine can be integrated without changing the core source code.

Feature

Gazebo-classic

Gazebo Sim

Ogre 1.x engine

Ogre 2.x engine

Optix engine

✓ Partial support

Custom engine plugins

Issue

Sky

Issue

Fog

Material scripts

✓ (Ogre 1.x scripts)

Does not apply

ROS integration#

ROS integration with Ignition will be done primarily via a transport bridge instead of plugins, contained in the ros_ign package.

Supported versions:

  • ROS 1 Melodic

  • ROS 2 Dashing

Platforms#

Platform

Gazebo-classic

Gazebo Sim

Ubuntu

OSX

Most of the stack works, outstanding issues: command line, render window

Windows

The stack works up to ign-gazebo: Issue

Others#

Feature

Gazebo-classic

Gazebo Sim

Nested models

Physics issue

Log / playback

Web client (GzWeb)

COLLADA meshes

OBJ meshes

STL meshes

Code introspection

All simulation state is accessible from system plugins or through the SceneBroadcaster’s state topic

Distribute simulation across processes

(coming up)

Incrementally load levels

Online model database

gazebo_models repository

Ignition Fuel

Saved simulation states

Issue