diff --git a/blueprint/comparison.md b/blueprint/comparison.md index 23b57f493..764158f0f 100644 --- a/blueprint/comparison.md +++ b/blueprint/comparison.md @@ -1,7 +1,12 @@ # Feature comparison -A list of features present in [Gazebo-classic](https://bitbucket.org/osrf/gazebo/) and -the status of their migration to [Ignition](https://ignitionrobotics.org/). +A list of features present in [Gazebo-classic](https://bitbucket.org/osrf/gazebo/) +version 11 and the status of their migration to +[Ignition Blueprint](https://ignitionrobotics.org/). + +All the issues below are labeled with +[close the gap](https://github.com/search?q=org%3Aignitionrobotics+label%3A%22close+the+gap%22&type=Issues) +on GitHub. ## Sensors @@ -12,162 +17,198 @@ Altimeter | ✓ | ✓ Camera | ✓ | ✓ Contact sensor | ✓ | ✓ Depth camera | ✓ | ✓ -Force-torque | ✓ | -GPS | ✓ | +Force-torque | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/25) +GPS | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/23) GPU Ray | ✓ | ✓ Renamed to GPU Lidar IMU | ✓ | ✓ Logical camera | ✓ | ✓ Magnetometer | ✓ | ✓ -Multi-camera | ✓ | -Ray | ✓ | -RFID | ✓ | -RFIDTag | ✓ | -Sonar | ✓ | -Thermal camera | ✕ | ✕ (available in Citadel) -Wide-angle camera | ✓ | -Wireless receiver | ✓ | -Wireless transceiver | ✓ | -Wireless transmitter | ✓ | +Multi-camera | ✓ | ✕ Use individual cameras with same update rate +Ray | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/26) +RFID sensor and tag | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/27) +Sonar | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/19) +Thermal camera | ✕ | ✕ (available from Citadel) +Wide-angle camera | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/24) +Wireless | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/28) Sensor features | Gazebo-classic | Ignition Gazebo -- | -- | -- Custom update rate | ✓ | ✓ Gaussian noise | ✓ | ✓ -Custom sensors | ✓ | ✓ (barrel and pincushion distorsions not supported yet) +Custom sensors | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/9) ## SDF Features Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- -SDF frame semantics |✓| ✕ (available in Citadel) +SDF frame semantics |✓| ✕ (available from Citadel) Load models from local files | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/123) Closed kinematic chains | ✓ | [✕](https://github.com/ignitionrobotics/ign-physics/issues/25) Nested models | ✓ | Partial support -Populations | ✓ | -Actors | ✓ | ✕ (available in Citadel) -Markers | ✓ | ✕ (available in Citadel) -Heightmaps | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/237) -DEM (Digital Elevation Models) | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/235) -Polylines | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/186) +Populations | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/240) +Actors | ✓ | ✕ (available from Citadel) +Markers | ✓ | ✕ (available from Citadel) +Heightmaps | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/237) +DEM (Digital Elevation Models) | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/235) +Polylines | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/186) World plugins | ✓ | ✓ Now called System plugin Model plugins | ✓ | ✓ Now called System plugin Sensor plugins | ✓ | ✓ Now called System plugin -Visual plugins | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/265) +Visual plugins | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/265) GUI plugins | ✓ | ✓ Ignition GUI plugins and Gazebo GUI systems System plugins | ✓ | ✓ Through Ignition Launch ## Plugins +### Model plugins + Plugin | Gazebo-classic | Ignition Gazebo -- | -- | -- -ActorPlugin | ✓ | +ActorPlugin | ✓ | ✕ See [FollowActor](https://github.com/ignitionrobotics/ign-gazebo/blob/master/src/systems/follow_actor/FollowActor.hh) for a demo of Actor APIs ActuatorPlugin | ✓ | -AmbientOcclusionVisualPlugin | ✓ | ArduCopterPlugin | ✓ | -ArrangePlugin | ✓ | AttachLightPlugin | ✓ | ✕ Does not apply, use SDF -BlinkVisualPlugin | ✓ | Breadcrumbs | ✕ | ✓ -BreakableJointPlugin | ✓ | -BuoyancyPlugin | ✓ | -CameraPlugin | ✓ | -CartDemoPlugin | ✓ | +BuoyancyPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/159) +CartDemoPlugin | ✓ | ✕ CessnaPlugin | ✓ | -ContactPlugin | ✓ | ✓ -ContainPlugin | ✓ | -DepthCameraPlugin | ✓ | DiffDrivePlugin | ✓ | ✓ -FiducialCameraPlugin | ✓ | +ElevatorPlugin | ✓ | FlashLightPlugin | ✓ | FollowerPlugin | ✓ | -ForceTorquePlugin | ✓ | GimbalSmall2dPlugin | ✓ | -GpuRayPlugin | ✓ | +GravityCompensationPlugin | ✓ | HarnessPlugin | ✓ | -HeightmapLODPlugin | ✓ | -ImuSensorPlugin | ✓ | -InitialVelocityPlugin | ✓ | +HydraDemoPlugin | ✓ | +InitialVelocityPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/50) JointControlPlugin | ✓ (force / pos / vel, from SDF) | ✓ (vel, from msg) JointStatePublisher | ✕ | ✓ JointTrajectoryPlugin | ✓ | -KeysToJointsPlugin | ✓ | +KeysToCmdVelPlugin | ✓ | Use `ignition::gui::KeyPublisher` with `ignition::gazebo::systems::TriggeredPublisher` +KeysToJointsPlugin | ✓ | Use `ignition::gui::KeyPublisher` with `ignition::gazebo::systems::TriggeredPublisher` LedPlugin | ✓ | -LensFlareSensorPlugin | ✓ | LiftDragPlugin | ✓ | ✓ LinearBatteryConsumerPlugin | ✓ | ✓ LinearBatteryPlugin | ✓ | ✓ -LinkPlot3DPlugin | ✓ | -ModelPropShop | ✓ | +LinkPlot3DPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/231) MudPlugin | ✓ | MulticopterMotorModel | ✕ | ✓ PlaneDemoPlugin | ✓ | PosePublisher | ✕ | ✓ -PressurePlugin | ✓ | -RayPlugin | ✓ | Provided through Ignition Sensors -RaySensorNoisePlugin | ✓ | -RubblePlugin | ✓ | -ShaderParamVisualPlugin | ✓ | +RandomVelocityPlugin | ✓ | +RegionEventBoxPlugin | ✓ | SimpleTrackedVehiclePlugin | ✓ | SkidSteerDrivePlugin | ✓ | ✓ -SonarPlugin | ✓ | -SphereAtlasDemoPlugin | ✓ | -StaticMapPlugin | ✓ | -StopWorldPlugin | ✓ | +SphereAtlasDemoPlugin | ✓ | ✕ TouchPlugin | ✓ | ✓ +TrackedVehiclePlugin | ✓ | +VariableGearboxPlugin | ✓ | VehiclePlugin | ✓ | -WheelSlipPlugin | ✓ | -WindPlugin | ✓ | ✓ +WheelSlipPlugin | ✓ | [pull request](https://github.com/ignitionrobotics/ign-gazebo/pull/134) WheelTrackedVehiclePlugin | ✓ | ✓ ([partially via DiffDrivePlugin](https://github.com/ignitionrobotics/ign-gazebo/blob/44951e3ddfd238f24182d4d80b1376f0d426bd43/examples/worlds/track_drive.sdf#L2141)) -ElevatorPlugin | ✓ | -RandomVelocityPlugin | ✓ | -TransporterPlugin | ✓ | + +### World plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +ArrangePlugin | ✓ | +ContainPlugin | ✓ | Partial port, [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/162) HydraPlugin | ✓ | -HydraDemoPlugin | ✓ | JoyPlugin | ✓ | ✓ Migrated as an Ignition Launch plugin +MisalignmentPlugin | ✓ | +RubblePlugin | ✓ | +StaticMapPlugin | ✓ | +TransporterPlugin | ✓ | +WindPlugin | ✓ | ✓ + +### Sensor plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +BreakableJointPlugin | ✓ | +CameraPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +ContactPlugin | ✓ | ✓ +DepthCameraPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +FiducialCameraPlugin | ✓ | +ForceTorquePlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +GpuRayPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +ImuSensorPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +LensFlareSensorPlugin | ✓ | +PressurePlugin | ✓ | +RayPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +RaySensorNoisePlugin | ✓ | ✕ Use SDF +SonarPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) + +### Visual plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +AmbientOcclusionVisualPlugin | ✓ | +BlinkVisualPlugin | ✓ | +HeightmapLODPlugin | ✓ | +ShaderParamVisualPlugin | ✓ | + +### GUI plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- CessnaGUIPlugin | ✓ | -KeyboardGUIPlugin | ✓ | +KeyboardGUIPlugin | ✓ | `ignition::gui::KeyPublisher` LookAtDemoPlugin | ✓ | TimerGUIPlugin | ✓ | -GravityCompensationPlugin | ✓ | + +### System plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +ModelPropShop | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/100) +RestUiPlugin | ✓ | +RestWebPlugin | ✓ | +StopWorldPlugin | ✓ | ## GUI Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- Play / pause / step | ✓ | ✓ -Reset world / models | ✓ | +Reset world / models | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/203) World stats | ✓ | ✓ Topic echo | ✓ | ✓ Image viewer | ✓ | ✓ Translate / rotate | ✓ | ✓ -Scale models | ✓ | -Insert models / lights | ✓ | ✓ (dragging Fuel URL) +Scale models | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/195) +Insert models from Fuel | Partial support | ✓ +Insert models from disk | ✓ | ✓ +Insert simple shapes | ✓ | ✓ +Insert simple lights | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/119) Delete models | ✓ | ✓ -World tree | ✓ | ✓ (no properties yet) +World tree | ✓ | ✓ +Scene properties | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/246) Log recording / playback | ✓ | ✓ -Plotting | ✓ | +Plotting | ✓ | ✕ (available from Dome) Video recording | ✓ | ✓ -Screenshot | ✓ | -View angles | ✓ | +Screenshot | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gui/issues/95) +View angles | ✓ | ✓ Apply force / torque | ✓ | -Visualize model as transparent | ✓ | ✕ -Visualize model as wireframe | ✓ | ✕ -Visualize contacts | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/pull/234) -Visualize link inertia | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/111) -Visualize centers of mass | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/110) -Visualize joints | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/106) -Visualize collision shapes | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/105) +Visualize as transparent | ✓ | +Visualize as wireframe | ✓ | +Visualize joints | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/106) +Visualize collisions | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/105) +Visualize inertia | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/111) +Visualize CoM | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/110) +Visualize contacts | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/112) Follow / move to | ✓ | ✓ -Copy / paste | ✓ | +Copy / paste | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/102) Building editor | ✓ | -Model editor | ✓ | +Model editor | ✓ | [Issues](https://github.com/ignitionrobotics/ign-gazebo/issues?q=is%3Aissue+is%3Aopen+label%3Aeditor) FPS view control | ✓ | -Orthographic projection | ✓ | -Save world | ✓ | +Orthographic projection | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/103) +Undo / redo | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/104) +Save world | ✓ | ✓ Save GUI configuration | ✓ | ✓ Color scheme and themes | ✕ | ✓ Position, resize and configure widgets | ✕ | ✓ -Load plugins from menu | ✕ | ✓ +Load GUI plugins from menu | ✕ | ✓ ## Physics @@ -177,11 +218,11 @@ in Gazebo. Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- -ODE engine | ✓ | -Bullet engine | ✓ | +ODE engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/63) +Bullet engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/44) DART engine | ✓ | ✓ Plugin shipped with ign-physics -Simbody engine | ✓ | -TPE engine | ✕ | ✕ (available in Citadel) +Simbody engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/63) +TPE engine | ✕ | ✕ (available from Citadel) Custom engine plugins | ✕ | ✓ ## Rendering @@ -194,8 +235,8 @@ Feature | Gazebo-classic | Ignition Gazebo Ogre 1.x engine | ✓ | ✓ Ogre 2.x engine | ✕ | ✓ Optix engine | ✕ | ✓ Partial support -Custom engine plugins | ✕ | ✓ -Sky | ✓ | +Custom engine plugins | ✕ | [Issue](https://github.com/ignitionrobotics/ign-rendering/issues/100) +Sky | ✓ | [Issue](https://github.com/ignitionrobotics/ign-rendering/issues/98) Fog | ✓ | Material scripts | ✓ (Ogre 1.x scripts) | Does not apply @@ -210,10 +251,19 @@ Supported versions: * ROS 1 Melodic * ROS 2 Dashing +## Platforms + +Platform | Gazebo-classic | Ignition Gazebo +-- | -- | -- +Ubuntu | ✓ | ✓ +OSX | ✓ | Most of the stack works, outstanding issues: [command line](https://github.com/ignitionrobotics/ign-gazebo/issues/25), [render window](https://github.com/ignitionrobotics/ign-gazebo/issues/44) +Windows | ✓ | The stack works up to ign-gazebo: [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/168) + ## Others Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- +Nested models | ✓ | [SDF Issue](https://github.com/osrf/sdformat/issues/283), [Physics issue](https://github.com/ignitionrobotics/ign-physics/issues/10) Log / playback | ✓ | ✓ Web client (GzWeb) | ✓ | COLLADA meshes | ✓ | ✓ @@ -223,4 +273,4 @@ Code introspection | ✓ | All simulation state is accessible from system plugin Distribute simulation across processes | ✕ | (coming up) Incrementally load levels | ✕ | ✓ Online model database | [gazebo_models repository](https://bitbucket.org/osrf/gazebo_models/) | [Ignition Fuel](https://app.ignitionrobotics.org/fuel/models) -Saved simulation states | ✓ | +Saved simulation states | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/137) diff --git a/citadel/comparison.md b/citadel/comparison.md index dcf912b20..2fcf4767d 100644 --- a/citadel/comparison.md +++ b/citadel/comparison.md @@ -1,7 +1,12 @@ # Feature comparison -A list of features present in [Gazebo-classic](https://bitbucket.org/osrf/gazebo/) and -the status of their migration to [Ignition](https://ignitionrobotics.org/). +A list of features present in [Gazebo-classic](https://bitbucket.org/osrf/gazebo/) +version 11 and the status of their migration to +[Ignition Citadel](https://ignitionrobotics.org/). + +All the issues below are labeled with +[close the gap](https://github.com/search?q=org%3Aignitionrobotics+label%3A%22close+the+gap%22&type=Issues) +on GitHub. ## Sensors @@ -12,28 +17,25 @@ Altimeter | ✓ | ✓ Camera | ✓ | ✓ Contact sensor | ✓ | ✓ Depth camera | ✓ | ✓ -Force-torque | ✓ | -GPS | ✓ | +Force-torque | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/25) +GPS | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/23) GPU Ray | ✓ | ✓ Renamed to GPU Lidar IMU | ✓ | ✓ Logical camera | ✓ | ✓ Magnetometer | ✓ | ✓ -Multi-camera | ✓ | -Ray | ✓ | -RFID | ✓ | -RFIDTag | ✓ | -Sonar | ✓ | +Multi-camera | ✓ | ✕ Use individual cameras with same update rate +Ray | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/26) +RFID sensor and tag | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/27) +Sonar | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/19) Thermal camera | ✕ | ✓ -Wide-angle camera | ✓ | -Wireless receiver | ✓ | -Wireless transceiver | ✓ | -Wireless transmitter | ✓ | +Wide-angle camera | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/24) +Wireless | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/28) Sensor features | Gazebo-classic | Ignition Gazebo -- | -- | -- Custom update rate | ✓ | ✓ Gaussian noise | ✓ | ✓ -Custom sensors | ✓ | ✓ (barrel and pincushion distorsions not supported yet) +Custom sensors | ✓ | [Issue](https://github.com/ignitionrobotics/ign-sensors/issues/9) ## SDF Features @@ -43,132 +45,170 @@ SDF frame semantics |✓| ✓ Load models from local files | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/123) Closed kinematic chains | ✓ | [✕](https://github.com/ignitionrobotics/ign-physics/issues/25) Nested models | ✓ | Partial support -Populations | ✓ | ✕ +Populations | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/240) Actors | ✓ | ✓ Markers | ✓ | ✓ -Heightmaps | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/237) -DEM (Digital Elevation Models) | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/235) -Polylines | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/186) +Heightmaps | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/237) +DEM (Digital Elevation Models) | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/235) +Polylines | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/186) World plugins | ✓ | ✓ Now called System plugin Model plugins | ✓ | ✓ Now called System plugin Sensor plugins | ✓ | ✓ Now called System plugin -Visual plugins | ✓ | ✓ +Visual plugins | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/265) GUI plugins | ✓ | ✓ Ignition GUI plugins and Gazebo GUI systems System plugins | ✓ | ✓ Through Ignition Launch - ## Plugins +### Model plugins + Plugin | Gazebo-classic | Ignition Gazebo -- | -- | -- -ActorPlugin | ✓ | +ActorPlugin | ✓ | ✕ See [FollowActor](https://github.com/ignitionrobotics/ign-gazebo/blob/master/src/systems/follow_actor/FollowActor.hh) for a demo of Actor APIs ActuatorPlugin | ✓ | -AmbientOcclusionVisualPlugin | ✓ | ArduCopterPlugin | ✓ | -ArrangePlugin | ✓ | AttachLightPlugin | ✓ | ✕ Does not apply, use SDF -BlinkVisualPlugin | ✓ | Breadcrumbs | ✕ | ✓ -BreakableJointPlugin | ✓ | -BuoyancyPlugin | ✓ | -CameraPlugin | ✓ | -CartDemoPlugin | ✓ | +BuoyancyPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/159) +CartDemoPlugin | ✓ | ✕ CessnaPlugin | ✓ | -ContactPlugin | ✓ | ✓ -ContainPlugin | ✓ | -DepthCameraPlugin | ✓ | DiffDrivePlugin | ✓ | ✓ -FiducialCameraPlugin | ✓ | +ElevatorPlugin | ✓ | FlashLightPlugin | ✓ | FollowerPlugin | ✓ | -ForceTorquePlugin | ✓ | GimbalSmall2dPlugin | ✓ | -GpuRayPlugin | ✓ | +GravityCompensationPlugin | ✓ | HarnessPlugin | ✓ | -HeightmapLODPlugin | ✓ | -ImuSensorPlugin | ✓ | -InitialVelocityPlugin | ✓ | +HydraDemoPlugin | ✓ | +InitialVelocityPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/50) JointControlPlugin | ✓ (force / pos / vel, from SDF) | ✓ (vel, from msg) JointStatePublisher | ✕ | ✓ JointTrajectoryPlugin | ✓ | -KeysToJointsPlugin | ✓ | +KeysToCmdVelPlugin | ✓ | Use `ignition::gui::KeyPublisher` with `ignition::gazebo::systems::TriggeredPublisher` +KeysToJointsPlugin | ✓ | Use `ignition::gui::KeyPublisher` with `ignition::gazebo::systems::TriggeredPublisher` LedPlugin | ✓ | -LensFlareSensorPlugin | ✓ | LiftDragPlugin | ✓ | ✓ LinearBatteryConsumerPlugin | ✓ | ✓ LinearBatteryPlugin | ✓ | ✓ -LinkPlot3DPlugin | ✓ | -ModelPropShop | ✓ | +LinkPlot3DPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/231) MudPlugin | ✓ | MulticopterMotorModel | ✕ | ✓ PlaneDemoPlugin | ✓ | PosePublisher | ✕ | ✓ -PressurePlugin | ✓ | -RayPlugin | ✓ | Provided through Ignition Sensors -RaySensorNoisePlugin | ✓ | -RubblePlugin | ✓ | -ShaderParamVisualPlugin | ✓ | +RandomVelocityPlugin | ✓ | +RegionEventBoxPlugin | ✓ | SimpleTrackedVehiclePlugin | ✓ | SkidSteerDrivePlugin | ✓ | ✓ -SonarPlugin | ✓ | -SphereAtlasDemoPlugin | ✓ | -StaticMapPlugin | ✓ | -StopWorldPlugin | ✓ | +SphereAtlasDemoPlugin | ✓ | ✕ TouchPlugin | ✓ | ✓ +TrackedVehiclePlugin | ✓ | +VariableGearboxPlugin | ✓ | VehiclePlugin | ✓ | -WheelSlipPlugin | ✓ | +WheelSlipPlugin | ✓ | [pull request](https://github.com/ignitionrobotics/ign-gazebo/pull/134) WheelTrackedVehiclePlugin | ✓ | ✓ ([partially via DiffDrivePlugin](https://github.com/ignitionrobotics/ign-gazebo/blob/44951e3ddfd238f24182d4d80b1376f0d426bd43/examples/worlds/track_drive.sdf#L2141)) -WindPlugin | ✓ | ✓ -ElevatorPlugin | ✓ | -RandomVelocityPlugin | ✓ | -TransporterPlugin | ✓ | + +### World plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +ArrangePlugin | ✓ | +ContainPlugin | ✓ | Partial port, [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/162) HydraPlugin | ✓ | -HydraDemoPlugin | ✓ | JoyPlugin | ✓ | ✓ Migrated as an Ignition Launch plugin +MisalignmentPlugin | ✓ | +RubblePlugin | ✓ | +StaticMapPlugin | ✓ | +TransporterPlugin | ✓ | +WindPlugin | ✓ | ✓ + +### Sensor plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +BreakableJointPlugin | ✓ | +CameraPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +ContactPlugin | ✓ | ✓ +DepthCameraPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +FiducialCameraPlugin | ✓ | +ForceTorquePlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +GpuRayPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +ImuSensorPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +LensFlareSensorPlugin | ✓ | +PressurePlugin | ✓ | +RayPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) +RaySensorNoisePlugin | ✓ | ✕ Use SDF +SonarPlugin | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/49) + +### Visual plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +AmbientOcclusionVisualPlugin | ✓ | +BlinkVisualPlugin | ✓ | +HeightmapLODPlugin | ✓ | +ShaderParamVisualPlugin | ✓ | + +### GUI plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- CessnaGUIPlugin | ✓ | -KeyboardGUIPlugin | ✓ | +KeyboardGUIPlugin | ✓ | `ignition::gui::KeyPublisher` LookAtDemoPlugin | ✓ | TimerGUIPlugin | ✓ | -GravityCompensationPlugin | ✓ | + +### System plugins + +Plugin | Gazebo-classic | Ignition Gazebo +-- | -- | -- +ModelPropShop | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/100) +RestUiPlugin | ✓ | +RestWebPlugin | ✓ | +StopWorldPlugin | ✓ | ## GUI Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- Play / pause / step | ✓ | ✓ -Reset world / models | ✓ | +Reset world / models | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/203) World stats | ✓ | ✓ Topic echo | ✓ | ✓ Image viewer | ✓ | ✓ Translate / rotate | ✓ | ✓ -Scale models | ✓ | -Insert models / lights | ✓ | ✓ (dragging Fuel URL) +Scale models | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/195) +Insert models from Fuel | Partial support | ✓ +Insert models from disk | ✓ | ✓ +Insert simple shapes | ✓ | ✓ +Insert simple lights | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/119) Delete models | ✓ | ✓ -World tree | ✓ | ✓ (no properties yet) +World tree | ✓ | ✓ +Scene properties | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/246) Log recording / playback | ✓ | ✓ -Plotting | ✓ | +Plotting | ✓ | ✕ (available from Dome) Video recording | ✓ | ✓ -Screenshot | ✓ | -View angles | ✓ | +Screenshot | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gui/issues/95) +View angles | ✓ | ✓ Apply force / torque | ✓ | -Visualize model as transparent | ✓ | ✕ -Visualize model as wireframe | ✓ | ✕ -Visualize contacts | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/pull/234) -Visualize link inertia | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/111) -Visualize centers of mass | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/110) -Visualize joints | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/106) -Visualize collision shapes | ✓ | [✕](https://github.com/ignitionrobotics/ign-gazebo/issues/105) +Visualize as transparent | ✓ | +Visualize as wireframe | ✓ | +Visualize joints | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/106) +Visualize collisions | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/105) +Visualize inertia | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/111) +Visualize CoM | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/110) +Visualize contacts | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/112) Follow / move to | ✓ | ✓ -Copy / paste | ✓ | +Copy / paste | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/102) Building editor | ✓ | -Model editor | ✓ | +Model editor | ✓ | [Issues](https://github.com/ignitionrobotics/ign-gazebo/issues?q=is%3Aissue+is%3Aopen+label%3Aeditor) FPS view control | ✓ | -Orthographic projection | ✓ | -Save world | ✓ | +Orthographic projection | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/103) +Undo / redo | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/104) +Save world | ✓ | ✓ Save GUI configuration | ✓ | ✓ Color scheme and themes | ✕ | ✓ Position, resize and configure widgets | ✕ | ✓ -Load plugins from menu | ✕ | ✓ +Load GUI plugins from menu | ✕ | ✓ ## Physics @@ -178,10 +218,10 @@ in Gazebo. Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- -ODE engine | ✓ | -Bullet engine | ✓ | +ODE engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/63) +Bullet engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/44) DART engine | ✓ | ✓ Plugin shipped with ign-physics -Simbody engine | ✓ | +Simbody engine | ✓ | [Issue](https://github.com/ignitionrobotics/ign-physics/issues/63) TPE engine | ✕ | ✓ Custom engine plugins | ✕ | ✓ @@ -195,8 +235,8 @@ Feature | Gazebo-classic | Ignition Gazebo Ogre 1.x engine | ✓ | ✓ Ogre 2.x engine | ✕ | ✓ Optix engine | ✕ | ✓ Partial support -Custom engine plugins | ✕ | (coming up) -Sky | ✓ | +Custom engine plugins | ✕ | [Issue](https://github.com/ignitionrobotics/ign-rendering/issues/100) +Sky | ✓ | [Issue](https://github.com/ignitionrobotics/ign-rendering/issues/98) Fog | ✓ | Material scripts | ✓ (Ogre 1.x scripts) | Does not apply @@ -211,10 +251,19 @@ Supported versions: * ROS 1 Melodic * ROS 2 Dashing +## Platforms + +Platform | Gazebo-classic | Ignition Gazebo +-- | -- | -- +Ubuntu | ✓ | ✓ +OSX | ✓ | Most of the stack works, outstanding issues: [command line](https://github.com/ignitionrobotics/ign-gazebo/issues/25), [render window](https://github.com/ignitionrobotics/ign-gazebo/issues/44) +Windows | ✓ | The stack works up to ign-gazebo: [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/168) + ## Others Feature | Gazebo-classic | Ignition Gazebo -- | -- | -- +Nested models | ✓ | [SDF Issue](https://github.com/osrf/sdformat/issues/283), [Physics issue](https://github.com/ignitionrobotics/ign-physics/issues/10) Log / playback | ✓ | ✓ Web client (GzWeb) | ✓ | COLLADA meshes | ✓ | ✓ @@ -224,4 +273,4 @@ Code introspection | ✓ | All simulation state is accessible from system plugin Distribute simulation across processes | ✕ | (coming up) Incrementally load levels | ✕ | ✓ Online model database | [gazebo_models repository](https://bitbucket.org/osrf/gazebo_models/) | [Ignition Fuel](https://app.ignitionrobotics.org/fuel/models) -Saved simulation states | ✓ | +Saved simulation states | ✓ | [Issue](https://github.com/ignitionrobotics/ign-gazebo/issues/137)