Ubuntu 22.04下ROS2 Humble与Ignition Gazebo版本匹配全解析及实战配置指南
当你在Ubuntu 22.04上开始ROS2机器人仿真之旅时,第一个拦路虎往往是版本兼容性问题。官方文档看似清晰,实则暗藏玄机——为什么Ignition Gazebo的"推荐"版本在不同页面会自相矛盾?为什么同样的代码在别人机器上运行流畅,在你的环境却报出一堆依赖错误?这篇文章将彻底解开这些谜团。
1. 版本匹配:破解官方文档的隐藏逻辑
Ignition Gazebo(现更名为Gazebo Sim)的版本命名采用了字母顺序的城市名,从Edifice到Fortress再到Garden。这种命名方式虽然浪漫,却给版本选择带来了困扰。让我们解剖几个关键事实:
-
Ubuntu 22.04的官方推荐陷阱:在Ignition Gazebo的Getting Started页面,Garden被标记为"recommended";而在ROS与Gazebo的集成安装页面,却推荐Fortress。这不是文档错误,而是面向不同用户群体的推荐:
- Garden是Ignition Gazebo的最新稳定版,适合纯Gazebo用户
- Fortress则是为ROS2 Humble特别优化的版本
-
ROS2版本与Ignition Gazebo的对应关系:
ROS2版本 推荐Ignition版本 备注 Humble Fortress 长期支持组合 Iron Garden 短期支持组合 -
二进制包命名差异:这是最容易踩坑的地方。在Humble中,控制相关的包名为
ign-ros2-control,而到了Iron则变为gz-ros2-control。如果你在Humble中错误安装了gz-ros2-control,系统不会报错,但运行时会出现各种诡异问题。
提示:如果你已经安装了错误的版本组合,使用
sudo apt remove ros-humble-gz-*移除错误包,再安装正确的ros-humble-ign-*系列
