Skip to content

Gazebo 版本对比

下表列出了 Gazebo-classic 11 中提供的各项功能,以及迁移到 Gazebo Jetty 的状态。

以下所有 Issue 都在 GitHub 上带有 close the gap 标签。

传感器Gazebo-classicGazebo Sim
气压(Air pressure)✕✓
高度计(Altimeter)✓✓
包围盒相机(Bounding Box camera)✕✓
相机(Camera)✓✓
接触传感器(Contact sensor)✓✓
深度相机(Depth camera)✓✓
多普勒测速仪(Doppler Velocity Log, DVL)✕✓
力-力矩(Force-torque)✓✓
GPS / NavSat✓✓
GPU Ray✓✓ 已重命名为 GPU Lidar
IMU✓✓
逻辑音频传感器(Logical audio sensor)✕✓
逻辑相机(Logical camera)✓✓
磁力计(Magnetometer)✓✓
多相机(Multi-camera)✓✕ 可使用相同更新率的独立相机
光学触觉传感器(Optical tactile sensor)✕✓
Ray✓Issue
RFID 传感器和标签(RFID sensor and tag)✓Issue
RGBD 相机(RGBD camera)✕✓
分割相机(Segmentation camera)✕✓
声呐(Sonar)✓Issue
热成像相机(Thermal camera)✕✓
触发相机(Triggered camera)✕✓
广角相机(Wide-angle camera)✓✓
无线(Wireless)✓✓ RFComms
传感器特性Gazebo-classicGazebo Sim
自定义更新率(Custom update rate)✓✓
高斯噪声(Gaussian noise)✓✓
自定义传感器(Custom sensors)✓✓
激光逆反射(Laser retroreflection)✓✓
相机畸变(Camera distortion)✓✓
性能指标(Performance metrics)✓✓
功能Gazebo-classicGazebo Sim
SDF 帧语义(SDF frame semantics)✓✓
SDF 参数化(SDF parametrization)✕✓
从本地文件加载模型(Load models from local files)✓✓
闭合运动链(Closed kinematic chains)✓Issue
嵌套模型(Nested models)✓✓
群体(Populations)✓Issue
角色(Actors)✓✓
标记(Markers)✓✓
高度图(Heightmaps)✓✓
DEM(数字高程模型)(DEM, Digital Elevation Models)✓✓
多段线(Polylines)✓✓
世界插件(World plugins)✓✓ 现在称为 System 插件
模型插件(Model plugins)✓✓ 现在称为 System 插件
传感器插件(Sensor plugins)✓✓ 现在称为 System 插件
可视化插件(Visual plugins)✓✓
GUI 插件(GUI plugins)✓✓ Gazebo GUI 插件与 Gazebo GUI 系统
系统插件(System plugins)✓✓ 通过 Gazebo Launch(已弃用,参见 迁移指南)
SDF Python 绑定(SDF python bindings)x✓
SDF <-> Mujoco MJCFx✓
插件Gazebo-classicGazebo Sim
AckermannSteering✕✓
ActorPlugin✓✕ 查看 FollowActor 了解 Actor API 的演示
ActuatorPlugin✓
ArduCopterPlugin✓
AttachLightPlugin✓✕ 不适用,请使用 SDF
Breadcrumbs✕✓
BuoyancyPlugin✓✓
CartDemoPlugin✓✕
CessnaPlugin✓✕
DetachableJoint✕✓
DiffDrivePlugin✓✓
DriveToPoseController✕✓
ElevatorPlugin✓✓
FlashLightPlugin✓
FollowerPlugin✓
FreeSpaceExplorer✕✓
GimbalSmall2dPlugin✓
GravityCompensationPlugin✓
HarnessPlugin✓
HydraDemoPlugin✓
InitialVelocityPlugin✓✓(使用 VelocityControl 或 JointController)
JointControlPlugin✓ (force / pos / vel,来自 SDF)✓ (vel,来自 msg)
JointStatePublisher✕✓
JointTrajectoryPlugin✓✓
KeysToCmdVelPlugin✓使用 gz::gui::KeyPublisher 配合 gz::gazebo::systems::TriggeredPublisher
KeysToJointsPlugin✓使用 gz::gui::KeyPublisher 配合 gz::gazebo::systems::TriggeredPublisher
LedPlugin✓
LiftDragPlugin✓✓
LinearBatteryConsumerPlugin✓✓
LinearBatteryPlugin✓✓
LinkPlot3DPlugin✓✓(已重命名为 Plot3D)
LookupWheelSlipPlugin✕✓
MecanumDrive✕✓
MudPlugin✓
MulticopterMotorModel✕✓
OdometryPublisherPlugin✕✓
PlaneDemoPlugin✓
PosePublisher✕✓
RandomVelocityPlugin✓
RegionEventBoxPlugin✓
SimpleTrackedVehiclePlugin✓✓
SkidSteerDrivePlugin✓✓
SphereAtlasDemoPlugin✓✕
TouchPlugin✓✓
TrackedVehiclePlugin✓✓
VariableGearboxPlugin✓
VehiclePlugin✓
WheelSlipPlugin✓✓
WheelTrackedVehiclePlugin✓✓
KineticEnergyMonitor✕✓
Buoyancy engine✕✓
插件Gazebo-classicGazebo Sim
ArrangePlugin✓
ContainPlugin✓部分移植,Issue
EntitySemantics✕✓
HydraPlugin✓
JoyPlugin✓✓ 已迁移为 Gazebo Launch 插件
MisalignmentPlugin✓
RubblePlugin✓
StaticMapPlugin✓
TransporterPlugin✓
WindPlugin✓✓
插件Gazebo-classicGazebo Sim
BreakableJointPlugin✓
CameraPlugin✓Issue
ContactPlugin✓✓
DepthCameraPlugin✓Issue
FiducialCameraPlugin✓
ForceTorquePlugin✓✓
GpuRayPlugin✓Issue
ImuSensorPlugin✓✓
LensFlareSensorPlugin✓
MagnetometerPlugin✕✓
OpticalTactilePlugin✕✓
PressurePlugin✓
RayPlugin✓Issue
RaySensorNoisePlugin✓✕ 请使用 SDF
SonarPlugin✓Issue
插件Gazebo-classicGazebo Sim
AmbientOcclusionVisualPlugin✓
BlinkVisualPlugin✓
HeightmapLODPlugin✓
ShaderParamVisualPlugin✓✓
插件Gazebo-classicGazebo Sim
CessnaGUIPlugin✓
KeyboardGUIPlugin✓gz::gui::KeyPublisher
LookAtDemoPlugin✓
TimerGUIPlugin✓
插件Gazebo-classicGazebo Sim
ColladaWorldExporter✕✓
ModelPropShop✓✓
RestUiPlugin✓
RestWebPlugin✓
StopWorldPlugin✓
功能Gazebo-classicGazebo Sim
播放 / 暂停 / 单步✓✓
重置世界 / 模型✓Issue
世界统计✓✓
话题回显✓✓
图像查看器✓✓
平移 / 旋转✓✓
缩放模型✓Issue
从 Fuel 插入模型部分支持✓
从磁盘插入模型✓✓
插入简单形状✓✓
插入简单灯光✓✓
删除模型✓✓
世界树✓✓
场景属性✓Issue
日志录制 / 回放✓✓
绘图✓✓
视频录制✓✓
截图✓✓
视角✓✓
施加力 / 力矩✓
以透明方式显示✓✓
以线框方式显示✓✓
显示关节✓✓
显示碰撞体✓✓
显示惯量✓✓
显示质心(CoM)✓✓
显示接触✓✓
显示灯光✓✓
跟随 / 移动到✓✓
复制 / 粘贴✓✓
建筑编辑器✓
模型编辑器✓Issues
FPS 视角控制✓
正交投影✓✓
撤销 / 重做✓Issue
保存世界✓✓
保存 GUI 配置✓✓
配色方案和主题✕✓
控件定位、调整大小和配置✕✓
从菜单加载 GUI 插件✕✓
编辑模型位姿✓✓
编辑灯光属性✓✓
编辑物理属性✓✓

在 Gazebo 中,物理引擎以插件形式集成,因此无需修改核心源码即可接入任何引擎。

功能Gazebo-classicGazebo Sim
ODE 引擎✓Issue
Bullet 引擎✓✓
DART 引擎✓✓ 随 gz-physics 一起提供的插件
Simbody 引擎✓Issue
TPE 引擎✕✓
自定义引擎插件✕✓
碰撞位掩码✓✓
恢复系数✓✓
碰撞检测器✓✓
求解器✓✓

渲染引擎同样以插件形式集成,无需修改核心源码即可接入任何引擎。

功能Gazebo-classicGazebo Sim
Ogre 1.x 引擎✓✓
Ogre 2.x 引擎✕✓
Optix 引擎✕✓ 部分支持
自定义引擎插件✕✓
天空✓✓
雾✓
材质脚本✓ (Ogre 1.x 脚本)不适用
基于物理的渲染(PBR)✕✓(适用于支持它的引擎,如 Ogre 2)
法线贴图✓✓
环境贴图✕✓
全局光照✕✓
光照贴图✕✓
粒子效果✕✓
渲染顺序✕✓
投影仪✕✓

通过 ros_gz 包实现 ROS 集成。

支持的版本:

  • ROS 2 Jazzy(源码安装)/ Rolling(源码安装)

注意:ROS 2 的二进制包通常会在 Jetty 发布一段时间后才会提供。

对于 ROS 2 Rolling,该发行版会随 REP-2000 中定义的 ROS 2 下一版本更新。因此,当 ROS 2 Kilted 被列入 REP-2000 后,也将纳入 Gazebo Jetty 的支持范围。

平台Gazebo-classicGazebo Sim
Ubuntu✓✓
OSX✓大部分组件可正常工作,待解决问题:render window
Windows✓所有库均可编译,底层库运行良好:Issue
功能Gazebo-classicGazebo Sim
嵌套模型✓✓
日志 / 回放✓✓
Web 客户端(GzWeb)✓✓
COLLADA 网格✓✓
OBJ 网格✓✓
STL 网格✓✓
USD 网格✕✓
代码内省✓所有仿真状态都可以从系统插件或通过 SceneBroadcaster 的状态话题访问
跨进程分布式仿真✕(即将推出)
增量加载关卡✕✓
在线模型数据库gazebo_models 仓库Gazebo Fuel
保存的仿真状态✓Issue
球体、圆柱体和长方体图元✓✓
椭球体和胶囊体图元✕✓
水动力学✕✓
洋流✕✓
测试夹具✓✓
球面坐标✓✓
通用通信系统✕✓
声学通信✕✓
静态链接插件✕✓