第1章:ROS开发环境搭建

大家好,我是你们这门课的老朋友。做了这么多年机器人,我踩过的坑比你们走过的路还多(笑)。今天咱们就从最基础的开始——把ROS的开发环境搭起来。别小看这一步,我见过太多人卡在这里,最后连个节点都跑不起来。

1.1 Ubuntu系统安装

ROS官方支持最好的就是Ubuntu。说白了,你用Windows或者Mac也能折腾,但相信我,那是在给自己找麻烦。

版本选择:我个人习惯用LTS(长期支持)版本。目前推荐Ubuntu 20.04或22.04。为什么?因为ROS 2的Humble Hawksbill(22.04)和ROS Noetic(20.04)都对应这些版本。

小提示:如果你刚入门,我建议直接上Ubuntu 22.04 + ROS 2 Humble。这是目前最稳的组合。

安装方式

  • 双系统:性能最好,适合长期开发。我在项目中一直这么用。
  • 虚拟机:适合尝鲜,但3D加速和实时性差一些。
  • WSL2:Windows用户的好选择,但Gazebo跑起来有点吃力。

嗯,这里要注意:如果你打算用Gazebo做仿真,千万别用虚拟机。我曾经试过,卡得连个方块都拖不动。

1.2 ROS发行版选择

ROS的发行版就像手机系统,每年更新一次。但咱们搞工程,求的是稳定。

发行版 Ubuntu版本 支持状态 我的建议
ROS Noetic 20.04 维护中(2025年结束) 老项目用,新项目别碰
ROS 2 Foxy 20.04 已停止维护 别用了
ROS 2 Humble 22.04 长期支持 强烈推荐
ROS 2 Iron 22.04 最新版 尝鲜可以

你想想看,选ROS 2 Humble就像选了一辆皮实耐造的车。我在一个物流机器人项目里用了两年,没出过兼容性问题。

1.3 ROS安装步骤

好,咱们直接上手。以Ubuntu 22.04 + ROS 2 Humble为例。

第一步:设置软件源

sudo apt update
sudo apt install curl gnupg lsb-release
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 $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

第二步:安装ROS 2

sudo apt update
sudo apt install ros-humble-desktop

这里有个坑:ros-humble-desktop 包含了Gazebo、RViz等常用工具,大概2-3GB。如果你硬盘紧张,可以装 ros-humble-ros-base,但后面还得补装。

注意:安装过程中如果报错,八成是网络问题。我曾经在客户现场折腾了一下午,最后发现是公司防火墙把ROS的源给拦了。解决办法:换个网络,或者用国内的镜像源。

第三步:安装依赖工具

sudo apt install python3-colcon-common-extensions
sudo apt install python3-rosdep
sudo rosdep init
rosdep update

1.4 ROS环境配置

装完只是第一步。你得让系统知道「ROS在哪」。

配置环境变量

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

为什么这么做?因为每次打开终端,系统都要加载ROS的环境变量。不配置的话,你每次都得手动source一遍。我刚开始学的时候忘了这步,结果每次都要敲一遍,烦死了。

验证安装

ros2 run demo_nodes_cpp talker

如果看到类似 [INFO] [xxx] [talker]: Publishing: 'Hello World: 1' 的输出,恭喜你,装好了!

小技巧:我习惯在 ~/.bashrc 里加一行 export ROS_DOMAIN_ID=30。为什么?因为同一个网络里多个ROS系统会互相干扰。设个ID,各玩各的。

1.5 ROS工作空间创建

工作空间就是你的代码仓库。所有ROS项目都放在这里。

创建结构

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build

运行完 colcon build 后,你会看到三个新文件夹:

  • build:编译中间文件,别手贱去删
  • install:编译好的可执行文件
  • log:编译日志,出错了来这里查

配置工作空间

echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

嗯,这里要注意:每次你新增了功能包,都要重新 colcon build 一次。我有个同事忘了这步,改了半天代码发现没生效,急得满头大汗。

避坑指南:我曾经在 colcon build 时遇到 CMake Error,原因是工作空间路径里有中文。ROS对中文路径支持不好,建议全用英文。

测试工作空间

cd ~/ros2_ws
colcon build
source install/setup.bash
ros2 pkg list | grep your_package

如果能看到你的包名,说明一切正常。

好了,环境搭好了。下一章咱们就开始写第一个ROS节点。说实话,每次搭环境我都觉得烦,但这是必经之路。就像盖房子,地基打不好,后面全是麻烦。

有问题随时找我。咱们下章见!