一、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快不少
1.3 知识体系一览
这一章的核心逻辑,我用一张图给你捋清楚:
这张图你看懂了吗?底层是操作系统,中间是ROS2和Gazebo两个核心引擎,上层才是你的机器人应用。这三层缺一不可,哪一层出问题,仿真就跑不起来。
1.4 Ubuntu 22.04 安装要点
装系统这事儿,说简单也简单,说坑也坑。我总结了几个关键点:
- 下载镜像:去 Ubuntu 官网下载 22.04 LTS 桌面版,别下成服务器版了
- 制作启动盘:用 Rufus(Windows)或者 dd 命令(Linux/Mac)
- 分区建议:至少分三个区——
/(根目录)50GB、/home(用户数据)剩余空间、swap(交换分区)等于内存大小 - 驱动安装:装完系统第一件事,打开「软件和更新」→「附加驱动」,把显卡驱动装上
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 窗口,里面有一个地面网格。嗯,这就是你的仿真舞台了。
1.7 验证所有组件
最后一步,咱们验证一下三个组件能不能协同工作:
- 打开终端,运行
ros2 run turtlesim turtlesim_node,确认小乌龟窗口出现 - 再开一个终端,运行
ign gazebo empty.sdf,确认 Gazebo 窗口出现 - 运行
ros2 topic list,确认能看到 ROS2 的话题列表
如果这三步都成功了,恭喜你——你的仿真环境已经搭建完毕。接下来咱们就可以正式开始写代码、做仿真了。
说实话,环境搭建这一步最枯燥,但也最重要。我见过太多人卡在这一步就放弃了。别急,慢慢来,每一步都验证通过再往下走。下一章咱们就开始玩真的——用 ROS2 控制 Gazebo 里的机器人模型。
可可精品资料库