1、Gazebo与ROS2环境搭建:Ubuntu系统安装、ROS2 Humble安装、Gazebo Fortress安装、工作空间创建与测试
各位同学,咱们正式开始这门课的第一个实战环节——环境搭建。
说实话,做机器人仿真这么多年,我见过太多人卡在环境配置这一步。明明代码逻辑没问题,结果因为某个依赖版本不对,折腾一整天。所以这一章,我会把每一步的关键细节都讲清楚,你跟着做就行。
1.1 Ubuntu系统安装——选对版本很重要
ROS2 Humble官方推荐的是Ubuntu 22.04 LTS。我个人习惯用LTS版本,稳定,社区支持时间长。你想想看,要是用个非LTS版本,过两年就得升级,到时候一堆兼容性问题,何必呢?
系统要求:
- Ubuntu 22.04 LTS(64位)
- 至少4GB内存(我建议8GB以上)
- 至少20GB空闲磁盘空间
- 支持OpenGL 3.3以上的显卡
安装方式有两种:双系统或者虚拟机。如果你有独立显卡,我建议直接装双系统,性能好很多。我在项目中遇到过用虚拟机跑Gazebo,结果渲染卡得不行,后来换成双系统就流畅了。
小技巧:安装时选择「最小安装」,省掉那些用不上的办公软件。后面需要什么再装什么,系统更干净。
1.2 ROS2 Humble安装——别用apt乱装
ROS2的安装其实不复杂,但有个坑——千万别用Ubuntu自带的apt源直接装,版本太旧了。一定要添加ROS官方的源。
打开终端,一行一行执行:
# 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
# 3. 添加GPG密钥
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
# 4. 添加源到sources.list
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
# 5. 安装ROS2 Humble桌面版
sudo apt update
sudo apt install ros-humble-desktop
# 6. 安装开发工具
sudo apt install ros-dev-tools
嗯,这里要注意:安装过程可能会比较慢,取决于你的网络。我曾经在客户那边用校园网装,等了快一个小时。建议换个好点的网络环境。
避坑指南:安装完成后,别忘了配置环境变量。把下面这行加到 ~/.bashrc 文件末尾:
source /opt/ros/humble/setup.bash
然后执行 source ~/.bashrc 让它生效。
1.3 Gazebo Fortress安装——和ROS2天生一对
Gazebo Fortress(也就是Gazebo Ignition)是ROS2 Humble官方推荐的仿真器。为什么选它?因为Gazebo Classic已经停止维护了,而Fortress和ROS2的集成做得最好。
安装命令很简单:
sudo apt install ros-humble-ros-gz
sudo apt install gz-fortress
装完之后,验证一下:
gz sim --version
如果看到版本号输出,就说明装好了。我记得第一次装的时候,忘了装 ros-gz 这个桥接包,结果ROS2和Gazebo之间通信不了,折腾了半天才发现。所以这两个包都要装。
核心知识点:ROS2和Gazebo之间通过 ros_gz_bridge 进行通信。这个桥接包负责把ROS2的话题转换成Gazebo能理解的消息格式。
1.4 工作空间创建与测试——搭建你的第一个ROS2项目
工作空间(workspace)说白了就是你的项目文件夹。ROS2用colcon来编译,和ROS1的catkin不太一样。
创建步骤:
# 创建工作空间目录
mkdir -p ~/robot_ws/src
cd ~/robot_ws
# 编译空工作空间(测试环境是否正常)
colcon build
编译成功后,你会看到 build、install、log 三个文件夹。别忘了配置环境变量:
echo "source ~/robot_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
然后跑个简单测试,看看ROS2能不能正常工作:
# 终端1:启动小海龟仿真
ros2 run turtlesim turtlesim_node
# 终端2:控制小海龟移动
ros2 run turtlesim turtle_teleop_key
如果你能看到一个小海龟窗口,并且能用键盘控制它移动,那恭喜你——环境搭建成功了!
个人经验:我建议你把这个测试跑通再往下走。很多同学急着学后面的内容,结果环境没配好,后面代码跑不起来,回头再排查更浪费时间。
1.5 本章知识体系总览
下面这张图帮你理清整个环境搭建的逻辑关系:
整个流程就是:先有操作系统,再装ROS2,然后装Gazebo,最后创建工作空间并测试。每一步都依赖上一步,所以别跳步。
本章核心要点:
- Ubuntu 22.04 LTS + ROS2 Humble + Gazebo Fortress 是黄金组合
- ROS2用colcon编译,不是catkin
- 环境变量配置别忘了
source - 小海龟测试通过,才算环境搭建成功
好了,这一章的内容就这些。环境搭好了,后面咱们才能开始真正的机械臂仿真。你先把这些步骤走一遍,有问题随时回来对照。
可可精品资料库