Gazebo 概览
Gazebo 是开源的机器人仿真器,让你在物理仿真环境中构建、测试与迭代机器人——无需硬件即可验证算法与行为。本站内容整理自 Gazebo 官方文档。
如果你刚接触机器人仿真,可以从本页建立整体认识,再进入 安装 与 基础教程 动手实践。
Gazebo 是什么
Section titled “Gazebo 是什么”Gazebo 提供高保真的三维物理仿真:你用 SDF/URDF 描述机器人模型与环境,Gazebo 负责刚体动力学、传感器仿真与三维渲染,并通过 ROS 2(ros_gz 桥接)或原生接口与你的控制代码交互。它由 Open Robotics 维护,是 ROS 生态中最广泛使用的仿真器(Darpa 机器人挑战赛、大量高校课程与工业预研都在用)。
- 物理引擎:内置 ODE、Bullet、DART、Simbody 多种动力学引擎,支持关节、摩擦、碰撞、约束等刚体仿真。
- 传感器仿真:激光雷达(含噪声模型)、RGB-D 相机、IMU、接触/接触力传感器、GPS 等常用传感器的数据生成。
- 三维渲染:基于 OGRE2 的场景渲染,支持光照、材质与地面/天空环境,用于视觉算法与演示。
- 世界与环境:用 SDF 描述世界(World),内置大量模型(家具、建筑、地形)与机器人模型库,可脚本化控制场景演化。
- 命令行与 GUI 工具:
gz sim启动仿真,GUI 提供场景绘制、关节调试、传感器可视化、录制回放等工具。 - 插件体系:系统级插件可深度介入物理步进、渲染与消息传递,实现自定义行为。
- 分布式接口:传输层(Gazebo Transport)与 ROS 2 消息桥(
ros_gz_bridge)打通仿真与 ROS 生态。
版本体系:选哪个版本
Section titled “版本体系:选哪个版本”Gazebo 采用「代号 + 按字母序」的年度发布,长期支持(LTS)版本维护约 5-6 年:
| 版本 | 发布 | 支持至 | 说明 |
|---|---|---|---|
| Jetty | 2025-09 | 2031-05 | 最新 LTS |
| Harmonic | 2023-09 | 2029-05 | LTS,Ubuntu 24.04 (Noble) 对应版本 |
| Ionic | 2024-09 | 2026-12 | 短期支持 |
| Fortress | 2021-09 | 2027-05 | 旧 LTS,配合 ROS 2 Humble |
| Gazebo Classic(11 及以前) | — | 2025-01 已 EOL | 旧架构,新项目不建议使用 |
选型建议:Ubuntu 24.04 + ROS 2 Jazzy 用 Harmonic;Ubuntu 22.04 + Humble 用 Fortress;新装环境也可直接上 Jetty。版本对应关系详见 安装指南 与 参考与迁移。
能做什么:典型应用场景
Section titled “能做什么:典型应用场景”- 算法预研:SLAM、导航(Nav2)、机械臂规划(MoveIt)在仿真中先行验证,再迁移到实体机器人。
- CI 回归测试:仿真环境跑自动化测试,代码改动不碰硬件也能验证行为。
- 机器人设计:新构型的运动学/动力学验证、传感器布局选型(雷达视野、相机位姿)。
- 危险或昂贵场景:跌落、碰撞、极端工况不损坏设备;多机器人编队不必购置整队硬件。
- 数据采集:批量生成带真值的传感器数据,用于训练与评测。
- 工业流程预演:港口设备、堆取料机等大型装备作业流程的仿真推演,见 工业应用实例。
- 免费开源(Apache 2.0),无授权费用,社区模型与教程丰富;
- 与 ROS 2 无缝集成,
ros_gz一条桥接即可在仿真中跑真实节点代码; - 物理与渲染平衡:同一世界可在高保真与快速(无渲染、无传感器)模式间切换,兼顾精度与速度;
- Deterministic 复现:支持固定步长与确定性仿真,便于复现实验与回归测试。