3、开发环境搭建:Ubuntu 22.04安装、ROS2 Humble安装、Colcon构建工具、VS Code配置与调试环境
说实话,做机器人开发这么多年,我踩过最多的坑就是环境问题。有时候代码写得再好,环境搭不对,一编译全是红字。所以这一章,咱们把地基打牢。
我个人习惯用 Ubuntu 22.04 配 ROS2 Humble。为什么选这个组合?因为 Humble 是长期支持版,到 2027 年才结束维护。你想想看,做产品开发最怕什么?最怕系统还没上线,官方就不维护了。Humble 稳得很。
3.1 Ubuntu 22.04 安装要点
安装 Ubuntu 22.04 其实不难,但有几个细节我提醒你注意。
磁盘分区建议:
- /boot:1GB 就够了,别贪多
- /:至少 50GB,我建议给 100GB
- /home:剩下的全给它,你的代码、数据集都放这
- swap:如果你内存 16GB 以上,swap 可以设 8GB;内存小的话,设成内存的两倍
换源:装完系统第一件事,换国内源。我用的是清华源,速度稳。
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
嗯,这里要注意:如果你用的是阿里云服务器,换成阿里源更快。别问我怎么知道的,我曾经在阿里云上用清华源,慢到怀疑人生。
3.2 ROS2 Humble 安装
ROS2 Humble 的安装流程,我建议你严格按照官方文档来。但官方文档太啰嗦,我给你提炼一下核心步骤。
第一步:设置 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
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
第三步:安装 ROS2 Humble
我建议装桌面版,包含 RViz 和可视化工具。做传感器驱动开发,你肯定要用到这些。
sudo apt install ros-humble-desktop -y
装完大概要 10-15 分钟,去泡杯咖啡吧。
第四步:配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.3 Colcon 构建工具
ROS2 的构建工具从 catkin 换成了 colcon。说实话,colcon 比 catkin 好用太多了。编译速度快,输出信息清晰,还支持并行编译。
安装 colcon:
sudo apt install python3-colcon-common-extensions -y
常用命令:
| 命令 | 说明 |
|---|---|
colcon build |
编译整个工作空间 |
colcon build --packages-select 包名 |
只编译指定包 |
colcon build --symlink-install |
使用符号链接安装,修改 Python 文件不用重新编译 |
colcon test |
运行测试 |
我的习惯:每次编译都用 --symlink-install。做传感器驱动开发时,Python 节点经常要改,有了符号链接,改完直接运行,不用等编译。效率翻倍。
创建工作空间:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build
第一次编译会生成 build、install、log 三个目录。别手贱去删它们,除非你知道自己在干什么。
3.4 VS Code 配置与调试环境
编辑器这块,我推荐 VS Code。插件生态好,调试功能强,做 ROS2 开发再合适不过。
安装 VS Code:
sudo snap install code --classic
或者去官网下载 .deb 包安装。我个人喜欢用 snap 版,自动更新省心。
必装插件:
- C/C++:微软官方出品,代码补全、调试都靠它
- Python:同上,做 Python 节点必备
- ROS:支持 .msg、.srv 文件的语法高亮
- CMake Tools:CMake 语法高亮和配置
- GitLens:看代码历史变更,排查问题利器
配置调试环境:
做传感器驱动开发,调试是家常便饭。VS Code 的调试配置在 .vscode/launch.json 里。
{
"version": "0.2.0",
"configurations": [
{
"name": "ROS2: Python 节点调试",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/install/lib/你的包名/你的节点名",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}"
},
{
"name": "ROS2: C++ 节点调试",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/install/lib/你的包名/你的节点名",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
避坑指南:调试前一定要先 colcon build 编译,然后 source install/setup.bash。我曾经忘了 source,结果调试器一直说找不到节点,折腾了半小时才发现是环境变量没加载。
设置 CMake 配置:
在 .vscode/settings.json 里加上:
{
"cmake.configureArgs": [
"-DCMAKE_PREFIX_PATH=/opt/ros/humble"
],
"python.autoComplete.extraPaths": [
"/opt/ros/humble/lib/python3.10/site-packages"
]
}
这样 VS Code 就能正确识别 ROS2 的头文件和 Python 包了。代码补全、跳转定义都能用,写起来舒服很多。
3.5 验证环境
装完别急着写代码,先验证一下环境是否正常。
测试 ROS2 通信:
# 终端1:启动 talker
ros2 run demo_nodes_cpp talker
# 终端2:启动 listener
ros2 run demo_nodes_py listener
如果能看到 talker 在发消息,listener 在收消息,恭喜你,环境搭好了。
我的经验:第一次搭环境,难免会出问题。别慌,90% 的问题都是源没配好、环境变量没 source、或者依赖没装全。按步骤来,一步步排查,总能搞定。
好了,环境搭完了。下一章咱们开始写第一个传感器驱动——一个简单的温度传感器节点。到时候我会手把手带你走完整个流程,从消息定义到节点实现,再到调试测试。准备好了吗?