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) | 2020-2022 | 模块化架构,支持云端仿真 |
| Gazebo Sim (gz-sim) | 2022-至今 | 全新架构,Ignition 的延续,支持 ROS 2 |
| Gazebo Harmonic |

