以下是 Gazebo Classic 11 与 Gazebo Harmonic(Gazebo Sim) 的功能对比总结,涵盖传感器、SDF、插件、GUI、物理引擎、渲染、ROS集成等核心模块,并标注迁移状态及关键差异:
1. 传感器(Sensors)
| 传感器类型 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| 气压计 (Air Pressure) | ✕ | ✓ | 新增 |
| 边界框相机 (Bounding Box Camera) | ✕ | ✓ | 新增 |
| 多普勒测速仪 (DVL) | ✕ | ✓ | 新增 |
| GPU激光雷达 (GPU Lidar) | ✓ (GPU Ray) | ✓ (重命名) | 兼容 |
| 逻辑音频传感器 (Logical Audio Sensor) | ✕ | ✓ | 新增 |
| 光学触觉传感器 (Optical Tactile Sensor) | ✕ | ✓ | 新增 |
| RGBD相机 (RGBD Camera) | ✕ | ✓ | 新增 |
| 分割相机 (Segmentation Camera) | ✕ | ✓ | 新增 |
| 热成像相机 (Thermal Camera) | ✕ | ✓ | 新增 |
| 触发相机 (Triggered Camera) | ✕ | ✓ | 新增 |
| 多相机 (Multi-camera) | ✓ | ✕ (需单独配置) | 部分替代 |
| RFID传感器 (RFID Sensor) | ✓ | Issue (待修复) | 部分兼容 |
| 声纳 (Sonar) | ✓ | Issue (待修复) | 部分兼容 |
关键改进:
- Harmonic 新增多种传感器类型(如 DVL、热成像),并支持更灵活的噪声配置。
- 部分传感器(如 RFID、Sonar)需修复兼容性问题。
2. SDF 功能
| 功能 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| SDF参数化 (Parametrization) | ✕ | ✓ | 新增 |
| Mujoco MJCF转换 | ✕ | ✓ | 新增 |
| Python绑定 (Python Bindings) | ✕ | ✓ | 新增 |
| 闭合运动链 (Closed Kinematic Chains) | ✓ | Issue (待修复) | 部分兼容 |
| 群体生成 (Populations) | ✓ | Issue (待修复) | 部分兼容 |
关键改进:
- Harmonic 支持 SDF 参数化及 Mujoco 格式转换,提升模型复用性。
- 闭合运动链和群体生成功能需修复兼容性问题。
3. 插件(Plugins)
模型插件 (Model Plugins)
| 插件名称 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| Ackermann转向 (AckermannSteering) | ✕ | ✓ | 新增 |
| 面包屑导航 (Breadcrumbs) | ✕ | ✓ | 新增 |
| 可拆卸关节 (DetachableJoint) | ✕ | ✓ | 新增 |
| 麦卡纳姆驱动 (MecanumDrive) | ✕ | ✓ | 新增 |
| 多旋翼电机模型 (MulticopterMotorModel) | ✕ | ✓ | 新增 |
| 里程计发布 (OdometryPublisherPlugin) | ✕ | ✓ | 新增 |
| 姿态发布 (PosePublisher) | ✕ | ✓ | 新增 |
| Actor插件 (ActorPlugin) | ✓ | ✕ (改用 FollowActor API) | 替代 |
世界插件 (World Plugins)
| 插件名称 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| Joy插件 (JoyPlugin) | ✓ | ✓ (迁移为 Launch 插件) | 兼容 |
| 风插件 (WindPlugin) | ✓ | ✓ | 兼容 |
关键改进:
- Harmonic 新增多种模型插件(如麦卡纳姆驱动、多旋翼电机),提升机器人控制灵活性。
- 部分插件(如 ActorPlugin)需改用新 API。
4. GUI 功能
| 功能 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| 颜色方案与主题 (Color Scheme) | ✕ | ✓ | 新增 |
| 动态加载插件 (Load GUI Plugins) | ✕ | ✓ | 新增 |
| 撤销/重做 (Undo/Redo) | ✓ | Issue (待修复) | 部分兼容 |
| 模型缩放 (Scale Models) | ✓ | Issue (待修复) | 部分兼容 |
| 场景属性编辑 (Scene Properties) | ✓ | Issue (待修复) | 部分兼容 |
关键改进:
- Harmonic 支持动态加载 GUI 插件及主题定制,但部分编辑功能需修复。
5. 物理引擎 (Physics)
| 引擎类型 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| TPE引擎 (TPE Engine) | ✕ | ✓ | 新增 |
| 自定义引擎插件 (Custom Engine Plugins) | ✕ | ✓ | 新增 |
| ODE引擎 (ODE Engine) | ✓ | Issue (待修复) | 部分兼容 |
| Simbody引擎 (Simbody Engine) | ✓ | Issue (待修复) | 部分兼容 |
关键改进:
- Harmonic 支持 TPE 引擎及自定义插件,但 ODE/Simbody 需修复兼容性。
6. 渲染 (Rendering)
| 功能 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| Ogre 2.x引擎 (Ogre 2.x) | ✕ | ✓ | 新增 |
| Optix光线追踪 (Optix) | ✕ | ✓ (部分支持) | 新增 |
| PBR渲染 (Physically Based Rendering) | ✕ | ✓ (需支持引擎) | 新增 |
| 环境光遮蔽 (Lightmaps) | ✕ | ✓ | 新增 |
关键改进:
- Harmonic 支持 Ogre 2.x 和 PBR 渲染,提升视觉真实性。
7. ROS 集成
- 支持版本:ROS 2 Jazzy(二进制) / Rolling(源码)。
- 迁移说明 :通过
ros_gz包实现,需适配 Harmonic 的 API 变化。
8. 跨平台支持
| 平台 | Gazebo Classic 11 | Gazebo Harmonic | 迁移状态 |
|---|---|---|---|
| Windows | ✓ | Issue (低层库兼容) | 部分兼容 |
| macOS | ✓ | Issue (渲染窗口) | 部分兼容 |
总结
- 新增功能:Harmonic 在传感器、渲染、物理引擎和插件方面显著增强,支持 PBR、Optix、TPE 引擎等。
- 兼容性问题:部分功能(如 RFID 传感器、ODE 引擎、撤销/重做)需修复。
- 迁移建议:优先测试核心功能(如传感器、物理引擎),逐步适配插件和 GUI 扩展。
如需详细问题列表,可参考 GitHub 上的 close the gap 标签(如 gz-sim#1234)。