一、ROS2与Gazebo仿真联调实战:课程介绍与环境总览

大家好,我是你们这门课的主讲。做了这么多年机器人仿真,我越来越觉得——ROS2 + Gazebo 这套组合拳,是现在做机器人开发绕不开的坎。你想想看,真机调试一次成本多高?撞坏了、摔了、电池烧了,都是真金白银。仿真就不一样了,随便折腾,代码写错了顶多就是模型翻个跟头。

这门课,说白了就是带你把这套环境搭起来,跑起来,用起来。我当年刚入行的时候,光装环境就折腾了三天三夜,各种版本不兼容、依赖冲突、编译报错……嗯,那滋味真不好受。所以这门课的第一章,咱们先把地基打牢。

1.1 课程到底讲什么?

这门课一共30章,从零开始,带你走完一个完整的机器人仿真项目。我个人习惯把内容分成三大块:

  • 环境搭建(第1-5章):装系统、装ROS2、装Gazebo,把枪擦亮
  • 核心机制(第6-20章):话题、服务、动作、URDF建模、传感器仿真……这些是子弹
  • 实战项目(第21-30章):用前面学的知识,做一个完整的机器人仿真应用

每一章我都会放一个实际项目里踩过的坑,或者一个小技巧。比如第3章装Ubuntu的时候,我会告诉你为什么双系统比虚拟机更靠谱——我在项目现场吃过这个亏,虚拟机下仿真卡成PPT。

1.2 你需要准备什么?

硬件方面,我建议你的电脑至少满足:

硬件 最低配置 推荐配置
CPU 4核2.5GHz 8核3.0GHz以上
内存 8GB 16GB或更高
硬盘 50GB空闲 SSD 256GB以上
显卡 集成显卡 独立显卡(NVIDIA GTX 1060+)

软件方面,咱们这一章要装的就是:

  • Ubuntu 22.04 LTS —— 目前最稳的Linux发行版
  • ROS2 Humble —— 2024年最主流的ROS2版本
  • Gazebo Ignition Fortress —— 新一代仿真引擎,比老Gazebo快不少
💡 我的建议: 如果你手头有闲置的旧电脑,直接拿来装Ubuntu单系统,干净利落。我当年就是拿一台淘汰的ThinkPad当仿真服务器,跑起来比主力机还稳。

1.3 知识体系一览

这一章的核心逻辑,我用一张图给你捋清楚:

第1章 知识体系结构图 ROS2 + Gazebo 仿真联调实战 Ubuntu 22.04 LTS ROS2 Humble Gazebo Fortress 系统安装/双系统配置 U盘启动、分区、驱动 ROS2 Humble 安装 apt安装、环境配置 Gazebo Fortress 安装 二进制安装、依赖解决 验证安装:小乌龟 + Gazebo 空世界 确保每个组件都能正常启动

这张图你看懂了吗?底层是操作系统,中间是ROS2和Gazebo两个核心引擎,上层才是你的机器人应用。这三层缺一不可,哪一层出问题,仿真就跑不起来。

1.4 Ubuntu 22.04 安装要点

装系统这事儿,说简单也简单,说坑也坑。我总结了几个关键点:

  1. 下载镜像:去 Ubuntu 官网下载 22.04 LTS 桌面版,别下成服务器版了
  2. 制作启动盘:用 Rufus(Windows)或者 dd 命令(Linux/Mac)
  3. 分区建议:至少分三个区——/(根目录)50GB、/home(用户数据)剩余空间、swap(交换分区)等于内存大小
  4. 驱动安装:装完系统第一件事,打开「软件和更新」→「附加驱动」,把显卡驱动装上
⚠️ 注意: 如果你用的是 NVIDIA 显卡,千万别装 Ubuntu 默认的 nouveau 开源驱动,跑 Gazebo 会卡到你怀疑人生。我当年第一次装完没换驱动,打开 Gazebo 界面等了五分钟……后来换成官方驱动,秒开。

1.5 ROS2 Humble 安装

ROS2 Humble 的安装其实很简单,核心就几条命令:

# 1. 设置编码
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

# 2. 添加 ROS2 源
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# 3. 安装 ROS2 Humble 桌面版(推荐)
sudo apt update
sudo apt install ros-humble-desktop

# 4. 设置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
💡 小技巧: 装完记得运行 ros2 run turtlesim turtlesim_node 测试一下。如果看到一只小乌龟出现在窗口里,恭喜你,ROS2 装好了!我每次在新机器上装完 ROS2,都会先跑一下小乌龟,这已经成了我的仪式感。

1.6 Gazebo Ignition Fortress 安装

Gazebo Ignition Fortress 是 Gazebo 的下一代版本,比老版 Gazebo Classic 快很多。安装命令:

# 安装 Gazebo Ignition Fortress
sudo apt update
sudo apt install ignition-fortress

# 验证安装
ign gazebo --version

如果看到版本号输出,说明装好了。你可以运行一个空世界测试:

ign gazebo empty.sdf

这时候会弹出一个 3D 窗口,里面有一个地面网格。嗯,这就是你的仿真舞台了。

⚠️ 常见坑: 如果你在虚拟机里跑 Gazebo,大概率会遇到 OpenGL 渲染问题。表现为窗口黑屏或者闪退。解决办法:要么换双系统,要么在虚拟机设置里开启 3D 加速。我个人强烈建议——直接装双系统,省心。

1.7 验证所有组件

最后一步,咱们验证一下三个组件能不能协同工作:

  1. 打开终端,运行 ros2 run turtlesim turtlesim_node,确认小乌龟窗口出现
  2. 再开一个终端,运行 ign gazebo empty.sdf,确认 Gazebo 窗口出现
  3. 运行 ros2 topic list,确认能看到 ROS2 的话题列表

如果这三步都成功了,恭喜你——你的仿真环境已经搭建完毕。接下来咱们就可以正式开始写代码、做仿真了。

说实话,环境搭建这一步最枯燥,但也最重要。我见过太多人卡在这一步就放弃了。别急,慢慢来,每一步都验证通过再往下走。下一章咱们就开始玩真的——用 ROS2 控制 Gazebo 里的机器人模型。


可可精品资料库