在机器人开发中,ROS(机器人操作系统)和 Gazebo(三维物理仿真器)是两大基石。
然而,对于初学者甚至有一定经验的开发者来说,如何正确地将 ROS 2 的不同发行版与 Gazebo 的众多版本进行匹配,常常是一个令人头疼的问题。选错版本可能导致编译失败、功能缺失,甚至无法启动。
本文将为你清晰地梳理 ROS 2 与 Gazebo 的版本对应矩阵,帮助你快速搭建稳定可靠的仿真环境。
为什么版本对应如此重要?
ROS 2 和 Gazebo 是两个独立但紧密协作的项目,它们都有各自的发布周期和版本命名规则。
- ROS 2: 每年发布一个新版本,分为长期支持版(LTS)和短期支持版。例如,Humble 和 Jazzy 是 LTS 版本,提供更长时间的支持。
- Gazebo : 同样遵循类似的发布模式,从经典的
Gazebo 11过渡到新的命名体系,如Fortress、Garden、Harmonic等。
它们之间通过一个名为 ros_gz 的桥接包进行通信。这个桥接包是版本敏感的核心,必须在正确的 ROS 2 和 Gazebo 版本组合下才能正常工作。
版本对应关系矩阵
为了让你一目了然,我整理了当前主流 ROS 2 发行版与 Gazebo 版本的推荐对应关系。
| ROS 2 发行版 (Distro) | Ubuntu 版本 | 推荐 Gazebo 版本 | 说明 |
|---|---|---|---|
| Humble Hawksbill (LTS) | 22.04 (Jammy) | Gazebo Fortress | 生产环境首选,生态最稳定 |
| Jazzy Jalisco (LTS) | 24.04 (Noble) | Gazebo Harmonic | 最新LTS版本,推荐使用 |
| Iron Irwini | 22.04 (Jammy) | Gazebo Fortress | 短期支持版,已接近生命周期结束 |
| Rolling Ridley | 22.04 / 24.04 | Gazebo Harmonic / Ionic | 滚动开发版,集成最新特性 |
符号说明
- LTS (Long-Term Support): 长期支持版,适合用于生产项目和需要长期维护的系统。
- 推荐: 表示该组合经过官方充分测试,兼容性最好,遇到问题也最容易找到解决方案。
如何选择正确的组合?
对于大多数开发者和项目,选择其实非常简单:
-
如果你追求稳定和生产可用性
请选择 ROS 2 Humble 搭配 Gazebo Fortress。这是目前最成熟、社区资源最丰富的组合,几乎所有主流的机器人仿真项目都优先支持此搭配。
-
如果你想体验最新特性
请选择 ROS 2 Jazzy 搭配 Gazebo Harmonic。作为最新的 LTS 版本,Jazzy 和 Harmonic 带来了许多性能改进和新功能,是面向未来的选择。
-
避免使用"可用但需谨慎"的组合
虽然某些非推荐的组合(例如在 Humble 上强行安装 Gazebo Garden)在技术上是可行的,但这通常需要手动编译、解决复杂的依赖冲突,并且可能在运行时遇到难以调试的错误。除非你有非常特殊的需求,否则不建议这样做。

️ 快速开始安装
一旦确定了你的组合,安装就变得非常简单。
对于 ROS 2 Humble + Gazebo Fortress
这是最经典的组合,可以通过简单的一个命令就完成安装:
bash
# 更新软件包列表
sudo apt update
# 安装 ROS 2 Humble 的 Gazebo 集成包
sudo apt install ros-humble-gazebo-ros-pkgs
这个元软件包会自动安装 Gazebo Fortress 以及所有必要的桥接工具。
对于 ROS 2 Jazzy + Gazebo Harmonic
同样,官方也提供了便捷的集成包:
bash
# 更新软件包列表
sudo apt update
# 安装 ROS 2 Jazzy 的 Gazebo 集成包
sudo apt install ros-jazzy-ros-gz-sim
请注意,新版本的 Gazebo (Garden, Harmonic) 使用 gz 命令,例如启动仿真的命令是 gz sim,而旧版本(如 Fortress)则使用 ign gazebo。
总结
正确选择 ROS 2 和 Gazebo 的版本组合是成功进行机器人仿真的第一步。遵循官方的推荐搭配,可以让你避开绝大多数环境配置的"坑",将更多精力投入到核心的算法开发和机器人应用构建上。
记住这个黄金法则:Humble 配 Fortress,Jazzy 配 Harmonic 。
希望这篇指南能帮助你顺利启航!
老徐,2026/04/06