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官网下载22.04 LTS的ISO镜像
- 用Rufus(Windows)或balenaEtcher(macOS)制作启动U盘
- BIOS里设置U盘启动,按提示安装就行
- 分区时建议:
/给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系统开始,到ROS2安装,再到工作空间创建,最后用Colcon编译和VS Code写代码——每一步都是下一环的基础。你按这个顺序来,基本不会出大问题。
- Ubuntu 22.04 LTS 是基石,别换版本
- ROS2 Humble 安装时注意源和密钥
- 工作空间结构固定,
src放代码 - Colcon 编译用
--symlink-install省时间 - VS Code 配好插件和头文件路径
环境搭好了,后面写代码才顺手。别急,慢慢来,每一步都验证通过再往下走。我曾经见过有人一口气装完所有东西,结果最后跑demo时各种报错,回头查发现是ROS2根本没装成功。嗯,所以每做完一步,都花10秒钟验证一下,比后面花一小时排查强得多。