2. ROS2 环境搭建:在 Ubuntu 22.04 上安装 ROS2 Humble
说实话,搞机器人开发这么多年,我踩过最大的坑就是环境没搭好。有一次项目赶进度,我在一个没配好源的 Ubuntu 上硬装 ROS2,结果编译到半夜报了一堆依赖错误……嗯,从那以后我学乖了,环境搭建这事,真不能急。
这一章,咱们就把 ROS2 Humble 在 Ubuntu 22.04 上老老实实装好。你跟着我的步骤来,半小时内搞定。
2.1 安装前的准备工作
先确认你的系统版本。打开终端,敲下面这行:
lsb_release -a
如果显示的是 Ubuntu 22.04 LTS,那就对了。ROS2 Humble 是专门为这个版本设计的。我个人习惯在装任何软件前先更新一下系统:
sudo apt update
sudo apt upgrade -y
2.2 设置语言环境和软件源
ROS2 需要 UTF-8 支持。先检查你的 locale 设置:
locale
如果 LANG 不是 en_US.UTF-8,执行:
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
export LANG=en_US.UTF-8
接下来添加 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
sudo apt update
2.3 安装 ROS2 Humble
ROS2 有两种安装方式:桌面版(Desktop)和基础版(Base)。桌面版包含了 rviz2、rqt 等可视化工具,基础版只有核心库。我建议你直接装桌面版,省得后面再补:
sudo apt install ros-humble-desktop -y
这个过程大概需要 5-10 分钟,取决于你的网速。安装完成后,你可以验证一下:
ros2 --version
如果看到类似 ros-humble 的输出,说明安装成功了。
2.4 配置环境变量
安装完只是第一步。每次打开终端,你都得让系统知道 ROS2 在哪。我个人习惯把环境变量写进 .bashrc,这样一劳永逸:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
为什么这么做?你想想看,如果不加这行,每次新开终端都得手动敲 source /opt/ros/humble/setup.bash,多麻烦。而且我遇到过好几次,忘了 source 就直接跑 ros2 命令,报错说找不到命令……
echo $ROS_DISTRO,如果输出 humble,说明配置生效了。
2.5 验证安装:跑一个简单的例子
光说不练假把式。咱们跑一个 ROS2 自带的例子,看看能不能正常工作。
打开第一个终端,启动一个发布者节点:
ros2 run demo_nodes_cpp talker
再打开第二个终端,启动一个订阅者节点:
ros2 run demo_nodes_py listener
如果看到 talker 在发 "Hello World",listener 在收,那就说明 ROS2 的核心通信机制没问题。我第一次看到这个输出时还挺激动的——虽然只是几个字符串,但背后是 DDS 协议在跑。
2.6 安装常用工具
ROS2 生态里有些工具你几乎天天用。咱们一次性装好:
2.6.1 colcon:编译工具
colcon 是 ROS2 的官方编译工具,替代了 ROS1 的 catkin。安装很简单:
sudo apt install python3-colcon-common-extensions -y
验证一下:
colcon --version
2.6.2 rviz2:可视化工具
rviz2 是 ROS2 的 3D 可视化工具,看激光雷达点云、机器人模型都靠它。桌面版安装时已经带了,但如果你装的是基础版,需要单独装:
sudo apt install ros-humble-rviz2 -y
启动试试:
rviz2
如果看到一个 3D 界面弹出来,就说明装好了。我第一次用 rviz2 时,觉得它比 ROS1 的 rviz 启动快了不少。
2.6.3 rqt:图形化调试工具
rqt 是一组 GUI 工具,用来查看话题、服务、参数等。安装:
sudo apt install ros-humble-rqt -y
启动:
rqt
你会看到一个插件化的界面。我个人最常用的是 rqt_graph,它能画出节点之间的通信关系图,调试时特别好用。
2.7 本章知识体系
下面这张图帮你理清整个环境搭建的脉络:
2.8 常见问题与避坑指南
安装过程中你可能会遇到一些问题。我把常见的列出来:
| 问题 | 原因 | 解决方法 |
|---|---|---|
ros2: command not found |
没有 source 环境变量 | 执行 source /opt/ros/humble/setup.bash |
| 安装时提示依赖缺失 | 软件源未更新 | 先执行 sudo apt update |
| rviz2 启动后黑屏 | 显卡驱动或 OpenGL 问题 | 安装 sudo apt install mesa-utils |
| colcon 编译报错 | Python 版本或依赖问题 | 检查 python3 --version,确保 ≥ 3.8 |
2.9 小结
到这一步,你的 ROS2 Humble 环境就搭好了。我们做了这几件事:
- 更新系统并配置 UTF-8 语言环境
- 添加 ROS2 软件源并导入密钥
- 安装 ros-humble-desktop 桌面版
- 配置环境变量并写入 .bashrc
- 用 talker/listener 例子验证通信
- 安装 colcon、rviz2、rqt 三个常用工具