Gazebo 机器人三维物理仿真平台
Gazebo 是由 Open Robotics(前身为 Willow Garage 和 OSRF)开发的开源 3D 机器人仿真软件。作为目前业界最流行的机器人仿真平台之一,它被广泛应用于学术研究、工业开发以及各类机器人竞赛中。
核心能力
物理仿真引擎
这是 Gazebo 的基石,支持多种后端以满足不同需求:
- ODE(Open Dynamics Engine):默认引擎,擅长刚体动力学。
- Bullet:适合软体动力学及复杂碰撞检测。
- Simbody:提供生物力学级别的精确仿真。
- DART:基于广义坐标的高效动力学方案。
3D 图形渲染
底层采用 OGRE(Object-Oriented Graphics Rendering Engine),能呈现高质量的 3D 可视化效果。支持逼真的光照、阴影、材质和纹理配置,同时允许用户自定义多摄像头视角以观察传感器数据。
传感器仿真
平台内置了丰富的传感器模型,包括:
- 摄像头:RGB 及深度相机。
- 激光雷达:2D/3D 激光扫描。
- IMU(惯性测量单元)、GPS、气压计、磁力计。
- 接触传感器、力/力矩传感器。
- 其他如 RFID、超声波传感器等。
机器人模型支持
- SDF(Simulation Description Format):Gazebo 原生的 XML 格式,用于描述机器人、环境及物理属性。
- URDF(Unified Robot Description Format):ROS 标准格式,可通过插件转换为 SDF。
- 内置模型数据库(Gazebo Model Database),包含数千种预置模型供直接使用。
软件架构
整体架构分层清晰,便于扩展与调试:
┌─────────────────────────────────────┐
│ 用户界面层 (GUI) │
│ (场景视图、模型编辑器、插件面板) │
├─────────────────────────────────────┤
│ 仿真引擎层 (Server) │
│ (物理引擎、传感器管理、世界状态管理)│
├─────────────────────────────────────┤
│ 通信层 (Transport) │
│ (基于 Google Protobuf 的发布/订阅) │
├─────────────────────────────────────┤
│ 物理引擎层 │
│ (ODE/Bullet/Simbody/DART) │
└─────────────────────────────────────┘
版本演进
| 版本 | 发布时间 | 主要特性 |
|---|---|---|
| Gazebo Classic (1.x-11.x) | 2002-2022 | 基于 OGRE 1.x,与 ROS 深度集成 |
| Ignition Gazebo (2020-2022) |

