Feature comparison#

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

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

Sensors#

Sensor

Gazebo-classic

Gazebo Sim

Air pressure

✕

✓

Altimeter

✓

✓

Bounding Box camera

✕

✓

Camera

✓

✓

Contact sensor

✓

✓

Depth camera

✓

✓

Doppler Velocity Log (DVL)

✕

✓

Force-torque

✓

✓

GPS / NavSat

✓

✓

GPU Ray

✓

✓ Renamed to GPU Lidar

IMU

✓

✓

Logical audio sensor

✕

✓

Logical camera

✓

✓

Magnetometer

✓

✓

Multi-camera

✓

✕ Use individual cameras with same update rate

Optical tactile sensor

✕

✓

Ray

✓

Issue

RFID sensor and tag

✓

Issue

RGBD camera

✕

✓

Segmentation camera

✕

✓

Sonar

✓

Issue

Thermal camera

✕

✓

Triggered camera

✕

✓

Wide-angle camera

✓

✓

Wireless

✓

✓ RFComms

Sensor features

Gazebo-classic

Gazebo Sim

Custom update rate

✓

✓

Gaussian noise

✓

✓

Custom sensors

✓

✓

Laser retroreflection

✓

✓

Camera distortion

✓

✓

Performance metrics

✓

✓

SDF Features#

Feature

Gazebo-classic

Gazebo Sim

SDF frame semantics

✓

✓

SDF parametrization

✕

✓

Load models from local files

✓

✓

Closed kinematic chains

✓

Issue

Nested models

✓

✓

Populations

✓

Issue

Actors

✓

✓

Markers

✓

✓

Heightmaps

✓

✓

DEM (Digital Elevation Models)

✓

✓

Polylines

✓

✓

World plugins

✓

✓ Now called System plugin

Model plugins

✓

✓ Now called System plugin

Sensor plugins

✓

✓ Now called System plugin

Visual plugins

✓

✓

GUI plugins

✓

✓ Gazebo GUI plugins and Gazebo GUI systems

System plugins

✓

✓ Through Gazebo Launch

SDF python bindings

x

✓

SDF <-> Mujoco MJCF

x

✓

Plugins#

Model plugins#

Plugin

Gazebo-classic

Gazebo Sim

AckermannSteering

✕

✓

ActorPlugin

✓

✕ See FollowActor for a demo of Actor APIs

ActuatorPlugin

✓

ArduCopterPlugin

✓

AttachLightPlugin

✓

✕ Does not apply, use SDF

Breadcrumbs

✕

✓

BuoyancyPlugin

✓

✓

CartDemoPlugin

✓

✕

CessnaPlugin

✓

✕

DetachableJoint

✕

✓

DiffDrivePlugin

✓

✓

ElevatorPlugin

✓

✓

FlashLightPlugin

✓

FollowerPlugin

✓

GimbalSmall2dPlugin

✓

GravityCompensationPlugin

✓

HarnessPlugin

✓

HydraDemoPlugin

✓

InitialVelocityPlugin

✓

✓ (use VelocityControl or JointController)

JointControlPlugin

✓ (force / pos / vel, from SDF)

✓ (vel, from msg)

JointStatePublisher

✕

✓

JointTrajectoryPlugin

✓

✓

KeysToCmdVelPlugin

✓

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

KeysToJointsPlugin

✓

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

LedPlugin

✓

LiftDragPlugin

✓

✓

LinearBatteryConsumerPlugin

✓

✓

LinearBatteryPlugin

✓

✓

LinkPlot3DPlugin

✓

✓ (renamed to Plot3D)

MecanumDrive

✕

✓

MudPlugin

✓

MulticopterMotorModel

✕

✓

OdometryPublisherPlugin

✕

✓

PlaneDemoPlugin

✓

PosePublisher

✕

✓

RandomVelocityPlugin

✓

RegionEventBoxPlugin

✓

SimpleTrackedVehiclePlugin

✓

✓

SkidSteerDrivePlugin

✓

✓

SphereAtlasDemoPlugin

✓

✕

TouchPlugin

✓

✓

TrackedVehiclePlugin

✓

✓

VariableGearboxPlugin

✓

VehiclePlugin

✓

WheelSlipPlugin

✓

✓

WheelTrackedVehiclePlugin

✓

✓

KineticEnergyMonitor

✕

✓

Buoyancy engine

✕

✓

World plugins#

Plugin

Gazebo-classic

Gazebo Sim

ArrangePlugin

✓

ContainPlugin

✓

Partial port, Issue

HydraPlugin

✓

JoyPlugin

✓

✓ Migrated as an Gazebo Launch plugin

MisalignmentPlugin

✓

RubblePlugin

✓

StaticMapPlugin

✓

TransporterPlugin

✓

WindPlugin

✓

✓

Sensor plugins#

Plugin

Gazebo-classic

Gazebo Sim

BreakableJointPlugin

✓

CameraPlugin

✓

Issue

ContactPlugin

✓

✓

DepthCameraPlugin

✓

Issue

FiducialCameraPlugin

✓

ForceTorquePlugin

✓

✓

GpuRayPlugin

✓

Issue

ImuSensorPlugin

✓

✓

LensFlareSensorPlugin

✓

MagnetometerPlugin

✕

✓

OpticalTactilePlugin

✕

✓

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

✓

gz::gui::KeyPublisher

LookAtDemoPlugin

✓

TimerGUIPlugin

✓

System plugins#

Plugin

Gazebo-classic

Gazebo Sim

ColladaWorldExporter

✕

✓

ModelPropShop

✓

✓

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

✓

✓

Delete models

✓

✓

World tree

✓

✓

Scene properties

✓

Issue

Log recording / playback

✓

✓

Plotting

✓

✓

Video recording

✓

✓

Screenshot

✓

✓

View angles

✓

✓

Apply force / torque

✓

Visualize as transparent

✓

✓

Visualize as wireframe

✓

✓

Visualize joints

✓

✓

Visualize collisions

✓

✓

Visualize inertia

✓

✓

Visualize CoM

✓

✓

Visualize contacts

✓

✓

Visualize lights

✓

✓

Follow / move to

✓

✓

Copy / paste

✓

✓

Building editor

✓

Model editor

✓

Issues

FPS view control

✓

Orthographic projection

✓

✓

Undo / redo

✓

Issue

Save world

✓

✓

Save GUI configuration

✓

✓

Color scheme and themes

✕

✓

Position, resize and configure widgets

✕

✓

Load GUI plugins from menu

✕

✓

Edit model pose

✓

✓

Edit light properties

✓

✓

Edit physics properties

✓

✓

Physics#

In Gazebo 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

✓

✓

DART engine

✓

✓ Plugin shipped with gz-physics

Simbody engine

✓

Issue

TPE engine

✕

✓

Custom engine plugins

✕

✓

Collide bitmasks

✓

✓

Restitution coefficient

✓

✓

Collision detector

✓

✓

Solver

✓

✓

Rendering#

In Gazebo 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

✕

✓

Sky

✓

✓

Fog

✓

Material scripts

✓ (Ogre 1.x scripts)

Does not apply

Physically Based Rendering (PBR)

✕

✓ (with engines that support it, like Ogre 2)

Normal maps

✓

✓

Environment maps

✕

✓

Lightmaps

✕

✓

Particle effects

✕

✓

Render order

✕

✓

Projector

✕

(ogre 1.x only)

ROS integration#

ROS integration through the ros_gz packages.

Supported versions:

  • ROS 2 Iron (from source) / Rolling (from source)

Note: binaries for ROS2 might be available sometime after the Ionic release.

For ROS 2 Rolling, the Rolling distribution moves with the next future release of ROS 2 defined in REP-2000. For the Gz Ionic release this means that it will be adopted when ROS 2 Jazzy goes into the REP-2000.

Platforms#

Platform

Gazebo-classic

Gazebo Sim

Ubuntu

✓

✓

OSX

✓

Most of the stack works, outstanding issues: render window

Windows

✓

All libraries compile, low-level libraries function well: Issue

Others#

Feature

Gazebo-classic

Gazebo Sim

Nested models

✓

✓

Log / playback

✓

✓

Web client (GzWeb)

✓

COLLADA meshes

✓

✓

OBJ meshes

✓

✓

STL meshes

✓

✓

USD 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

Gazebo Fuel

Saved simulation states

✓

Issue

Sphere, cylinder and box primitives

✓

✓

Ellipsoid and capsule primitives

✕

✓

Hydrodynamics

✕

✓

Ocean currents

✕

✓

Test fixture

✓

✓

Spherical coordinates

✓

✓

Generic comms system

✕

✓

Acoustic communication

✕

✓

Static linked plugins

✕

✓