第4章 开发环境搭建(上):安装Ubuntu 22.04、配置ROS2 Humble、安装必要的开发工具
说实话,搭建开发环境这件事,看着简单,但坑是真不少。我带过好几个项目组,新人来了第一周基本都在折腾环境。我自己也踩过不少雷,所以这一章我打算把最稳的路径告诉你。
咱们的目标很明确:一台能跑ROS2 Humble的Ubuntu 22.04系统,配上趁手的开发工具。别贪多,够用就行。
4.1 为什么选Ubuntu 22.04 + ROS2 Humble?
你可能要问:Ubuntu版本那么多,为什么非得是22.04?
原因很简单:ROS2 Humble是长期支持版(LTS),而它官方推荐的就是Ubuntu 22.04。我在项目里试过用20.04硬装Humble,结果依赖库各种打架,折腾了两天才搞定。后来老老实实换回22.04,半小时就完事了。
说白了,官方说啥你用啥,别自己找麻烦。
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| 操作系统 | Ubuntu 22.04 LTS | 官方支持最完善 |
| ROS2发行版 | Humble Hawksbill | 2024年5月前长期维护 |
| Python | 3.10(系统自带) | 不要手动升级 |
4.2 安装Ubuntu 22.04
这里我假设你用的是x86架构的电脑。如果你用的是树莓派或Jetson,安装方式略有不同,但核心思路一样。
4.2.1 制作启动U盘
我个人习惯用Rufus(Windows下)或者balenaEtcher(跨平台)。别用那种老旧的UltraISO了,我遇到过它做的启动盘在安装时卡在分区步骤,折腾了半小时才发现是工具的问题。
- 下载Ubuntu 22.04.3 LTS镜像(建议从清华镜像站,速度快)
- 用balenaEtcher写入U盘(8GB以上)
- 重启电脑,按F2/F12/Del进入BIOS,设置U盘启动
4.2.2 分区建议
嗯,这里要注意:千万别把整个硬盘都给根分区。我见过有人这么干,结果系统崩了想重装,数据全没了。
我的建议分区方案:
- /boot:1GB,足够了
- /:50-80GB,系统加ROS2够用
- /home:剩余全部,你的代码、数据都放这里
- swap:如果你的内存小于8GB,建议分8GB swap;内存16GB以上可以不分
4.3 配置ROS2 Humble
系统装好了,接下来就是重头戏。我建议你严格按照下面的步骤来,别跳步。
4.3.1 设置语言环境
ROS2对locale有要求。我曾经因为没设置好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
4.3.2 添加ROS2软件源
这一步很关键。别用Ubuntu自带的源,里面没有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
4.3.3 安装ROS2 Humble
这里有两个选择:桌面版(Desktop)和基础版(Base)。如果你只是做嵌入式开发,基础版就够了。但如果你要可视化调试,建议装桌面版。
# 桌面版(包含RViz、Gazebo等)
sudo apt install ros-humble-desktop
# 或者基础版(仅核心库)
sudo apt install ros-humble-ros-base
安装时间取决于你的网速。我建议你泡杯咖啡,大概15-20分钟。
4.3.4 配置环境变量
装完别忘了配置环境变量。不然每次打开终端都要手动source,烦得很。
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
验证一下是否安装成功:
ros2 run demo_nodes_cpp talker
如果看到类似「Publishing: 'Hello World'」的输出,恭喜你,环境搭好了。
4.4 安装必要的开发工具
环境跑起来了,但光有ROS2还不够。你还需要趁手的兵器。
4.4.1 VS Code
我个人强烈推荐VS Code。它插件生态好,对ROS2支持也不错。我试过用Vim写ROS2代码,说实话效率差不少。
安装方式:
sudo snap install --classic code
或者去官网下载.deb包安装。装完后建议安装这几个插件:
- ROS:官方插件,支持launch文件高亮、消息补全
- Python:微软官方,写Python节点必备
- C/C++:写C++节点必备
- CMake Tools:编译ROS2包时有用
4.4.2 Git
Git不用多说,版本控制是基本功。Ubuntu 22.04自带Git,但版本可能不是最新的。
sudo apt install git
git --version
配置一下你的信息:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
这里有个小建议:邮箱最好用GitHub注册的那个,不然提交记录里头像显示不出来,看着难受。
4.4.3 其他实用工具
这几个是我项目中常用的,顺手装上:
sudo apt install terminator # 分屏终端,调试时一个窗口看日志一个窗口发命令
sudo apt install htop # 系统资源监控,看CPU内存占用
sudo apt install net-tools # ifconfig等网络工具
sudo apt install vim # 应急编辑用
4.5 验证环境
最后,我们来个快速验证。写一个最简单的ROS2节点,确保整个链路是通的。
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build
source install/setup.bash
如果编译没有报错,说明你的环境已经可以正常工作了。
说实话,环境搭建这一步虽然枯燥,但基础打好了,后面写代码会顺畅很多。我见过太多人因为环境问题卡在第一步,最后放弃了ROS2。别急,慢慢来,稳一点。