3、ROS2开发环境搭建:Ubuntu系统安装、ROS2 Humble安装、工作空间配置

说实话,环境搭建这件事,看着简单,但坑是真不少。我见过太多同学卡在这一步,折腾一整天装不上,最后心态崩了。别急,咱们一步步来,我把自己踩过的坑都告诉你。

3.1 Ubuntu系统安装:选对版本很重要

ROS2 Humble 官方推荐的是 Ubuntu 22.04 LTS。为什么是它?因为 Humble 是 2022 年发布的长期支持版本,和 Ubuntu 22.04 的软件源、内核版本完全匹配。你想想看,要是装了个 Ubuntu 20.04,很多依赖包版本对不上,编译时各种报错,那叫一个头疼。

系统要求速查表

项目推荐配置最低配置
操作系统Ubuntu 22.04 LTSUbuntu 20.04 LTS
CPU4核以上2核
内存8GB4GB
硬盘64GB SSD32GB

我个人习惯用 双系统 或者 虚拟机。如果你只是学习,虚拟机(VMware 或 VirtualBox)完全够用。但如果你要做实车调试,我建议直接装双系统——虚拟机在访问硬件时会有延迟,尤其是串口和 CAN 总线,我曾经因为这个排查了整整两天。

安装小技巧:制作启动盘时用 Rufus(Windows)或 balenaEtcher(macOS),写入模式选「DD 模式」。我遇到过用「ISO 模式」写入后,安装界面卡在 grub 引导的坑。

3.2 ROS2 Humble 安装:两种方式,我推荐第二种

ROS2 Humble 的安装方式主要有两种:apt 安装 和 源码编译。说白了,apt 安装就像去超市买现成的菜,省事;源码编译就像自己种菜,灵活但费时。

方式一:apt 安装(推荐新手)

# 1. 设置 locale
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. 添加 ROS2 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 $(lsb_release -cs) 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

注意:安装过程中如果提示「无法定位软件包」,八成是源没加对。检查一下 /etc/apt/sources.list.d/ros2.list 文件是否存在,内容是否正确。我曾经因为手抖把「humble」拼成了「humbe」,折腾了半小时才发现。

方式二:源码编译(适合需要定制的人)

如果你像我一样,需要修改 ROS2 核心代码或者调试底层通信,那就得走源码编译。不过说实话,第一次编译要 2-3 小时,建议你泡杯咖啡,或者直接去睡一觉。

# 1. 安装依赖
sudo apt install python3-pip
pip3 install -U colcon-common-extensions vcstool

# 2. 创建工作空间
mkdir -p ~/ros2_humble/src
cd ~/ros2_humble

# 3. 下载源码
wget https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos
vcs import src < ros2.repos

# 4. 编译
colcon build --symlink-install

避坑指南:编译时如果内存不够(低于 8GB),可以加参数 --parallel-workers 2 限制并行任务数。我曾经在 4GB 的虚拟机上编译,直接卡死,强制关机后文件系统都坏了。

3.3 工作空间配置:让系统认识 ROS2

装完 ROS2 之后,最重要的一步就是配置环境变量。说白了,就是告诉系统:「嘿,ROS2 装在这里,你以后找它的时候别迷路。」

配置 .bashrc 文件

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

嗯,这里要注意:如果你用的是 zsh(现在很多人用 Oh My Zsh),记得把 .bashrc 换成 .zshrc。我有个同事就是没注意这个,每次打开终端都要手动 source,烦了整整一周。

验证安装是否成功

# 检查 ROS2 版本
ros2 --version

# 运行一个简单的测试
ros2 run demo_nodes_cpp talker

如果能看到「Hello World: 1, 2, 3...」这样的输出,恭喜你,环境搭好了!

3.4 创建你的第一个工作空间

工作空间(workspace)是 ROS2 开发的核心。我习惯把它想象成一个「项目文件夹」,里面放着你的代码、依赖和编译产物。

# 创建工作空间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws

# 编译空工作空间(测试环境)
colcon build

# 配置环境变量
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

工作空间目录结构

目录作用
src存放源代码(你的包和第三方包)
build编译中间文件(可以删,但别手动改)
install编译产物(可执行文件、库、配置文件)
log编译日志(排查错误时很有用)

我个人习惯在 src 目录下再建一个 my_packages 文件夹,专门放自己写的代码。这样和第三方包分开,管理起来清爽很多。

3.5 核心知识体系一览

下面这张图是我自己总结的,把整个环境搭建的脉络理清楚了。你跟着这个流程走,基本不会迷路。

ROS2 开发环境搭建核心流程 第一步:Ubuntu 系统安装 推荐 Ubuntu 22.04 LTS | 双系统或虚拟机 | 确保网络畅通 第二步:ROS2 Humble 安装 apt 安装(推荐)或 源码编译 | 注意添加正确的软件源 第三步:环境变量配置 source setup.bash | 配置 .bashrc 或 .zshrc | 验证安装 第四步:创建工作空间 mkdir -p ~/ros2_ws/src | colcon build | 再次 source 避坑指南 版本匹配 源的正确性 内存不足

我的经验:环境搭建这件事,一次成功是运气,两次成功是常态。如果你遇到问题,别慌,先看错误日志(log 目录下),然后去 ROS2 官方论坛或者 GitHub Issues 搜一下。我 90% 的问题都是这么解决的。

好了,环境搭好了,接下来就可以真正开始写代码了。记住,环境是基础,基础打牢了,后面才能跑得快。

可可精品资料库