3、开发环境搭建:Ubuntu系统安装、ROS2 Humble安装、工作空间创建、Colcon编译工具、VS Code配置

说实话,每次带新人入门,我最怕的就是环境搭建这一步。明明代码逻辑都懂,结果卡在装系统、配环境上,一折腾就是半天。我自己刚入行那会儿,也踩过不少坑——Ubuntu版本选错、ROS源没配好、编译报错看不懂……嗯,今天咱们就把这些坑一个个填平。

3.1 Ubuntu系统安装——选对版本,少走弯路

ROS2 Humble 官方推荐的是 Ubuntu 22.04 LTS。为什么是22.04?因为Humble的二进制包只支持这个版本。你非要用20.04或者23.10,那就得自己源码编译,麻烦得很。我在项目中遇到过有人用Ubuntu 20.04硬装Humble,结果依赖冲突搞了三天,最后乖乖重装了系统。

⚠️ 注意: 不要用Ubuntu 24.04或更老的18.04。ROS2 Humble的生命周期与Ubuntu 22.04绑定,换版本意味着你要自己处理一堆底层依赖。

安装步骤其实很简单:

  1. 去Ubuntu官网下载22.04 LTS的ISO镜像
  2. 用Rufus(Windows)或balenaEtcher(macOS)制作启动U盘
  3. BIOS里设置U盘启动,按提示安装就行
  4. 分区时建议:/ 给50GB,/home 给剩余空间,swap给8GB(如果你内存大于16GB,swap可以不要)
💡 我的习惯: 装系统时直接选「中文简体」,省得后面再装语言包。但终端里我建议保留英文,因为很多报错信息中文翻译后反而看不懂。

3.2 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

# 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. 添加仓库到源列表
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. 安装Humble桌面版(推荐)
sudo apt update
sudo apt install ros-humble-desktop

# 6. 安装开发工具
sudo apt install ros-dev-tools

安装完成后,记得配置环境变量:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
🔑 验证安装: 打开终端,输入 ros2 --version,如果显示 ros-humble 相关版本信息,就说明装好了。

我曾经帮一个同事排查问题,他装完Humble后 ros2 topic list 一直报错。最后发现是 ~/.bashrc 里 source 了两次不同版本的ROS,冲突了。所以,如果你之前装过ROS1或者其他ROS2版本,记得检查一下 ~/.bashrc 里有没有多余的环境变量。

3.3 工作空间创建——你的代码仓库

ROS2的工作空间,说白了就是一个文件夹,里面按固定结构放代码。我个人习惯叫它 ros2_ws:

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

就这么简单?对,第一次 colcon build 会生成 build、install、log 三个文件夹。你写的所有代码都放在 src 里。

💡 小技巧: 每次打开新终端,记得 cd ~/ros2_ws && source install/setup.bash。我一般把这个命令也加到 ~/.bashrc 里,省得每次手动敲。

3.4 Colcon编译工具——比catkin好用多了

用过ROS1的朋友可能熟悉 catkin_make。ROS2换成了 colcon,功能更强,编译速度也更快。常用命令就这几个:

命令 说明
colcon build 编译整个工作空间
colcon build --packages-select 包名 只编译指定包(省时间)
colcon build --symlink-install 使用符号链接安装(改Python代码不用重新编译)
colcon test 运行测试

我最常用的是 --symlink-install。你想想看,写Python节点时,每次改代码都要重新编译,多烦人。加上这个参数后,修改Python文件直接生效,C++代码才需要重新编译。

⚠️ 注意: 如果编译报错,先看看是不是依赖没装全。比如 colcon build 提示找不到某个包,就用 rosdep install --from-paths src --ignore-src -r -y 自动安装依赖。

3.5 VS Code配置——让写代码更顺手

编辑器嘛,各有所爱。我推荐VS Code,因为插件生态好,对ROS2支持也到位。装好VS Code后,建议安装这几个插件:

  • ROS:官方插件,支持ROS2的代码补全、launch文件高亮
  • C/C++:微软出品,C++代码提示和调试
  • Python:Python支持
  • CMake:CMakeLists.txt语法高亮
  • XML:package.xml文件编辑

配置 c_cpp_properties.json 时,记得把ROS2的头文件路径加进去:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/opt/ros/humble/include/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

这样写代码时,#include <rclcpp/rclcpp.hpp> 就不会报红了。我记得第一次配这个,漏了 /opt/ros/humble/include/**,结果所有ROS头文件都找不到,排查了半天才发现是路径没加全。

3.6 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你照着这个顺序走,环境搭建基本不会出问题:

开发环境搭建核心流程 Ubuntu 22.04 LTS ROS2 Humble 安装 创建 ros2_ws 工作空间 Colcon 编译工具 VS Code 配置 colcon build --symlink-install source install/setup.bash ROS插件 + 头文件路径

从Ubuntu系统开始,到ROS2安装,再到工作空间创建,最后用Colcon编译和VS Code写代码——每一步都是下一环的基础。你按这个顺序来,基本不会出大问题。

📌 总结一下:
  • Ubuntu 22.04 LTS 是基石,别换版本
  • ROS2 Humble 安装时注意源和密钥
  • 工作空间结构固定,src 放代码
  • Colcon 编译用 --symlink-install 省时间
  • VS Code 配好插件和头文件路径

环境搭好了,后面写代码才顺手。别急,慢慢来,每一步都验证通过再往下走。我曾经见过有人一口气装完所有东西,结果最后跑demo时各种报错,回头查发现是ROS2根本没装成功。嗯,所以每做完一步,都花10秒钟验证一下,比后面花一小时排查强得多。

可可精品资料库