第2章:ROS2开发环境搭建
说实话,搭建开发环境这件事,看着简单,但坑是真不少。我见过太多同学卡在这一步,后面学得再好也跑不起来。咱们今天就把这事彻底搞定。
2.1 Ubuntu系统安装
ROS2 Humble官方推荐的是Ubuntu 22.04 LTS。我个人习惯用LTS版本,稳定,社区支持也久。你想想看,要是系统隔两年就得重装一次,那多折腾。
系统要求速查
- 操作系统:Ubuntu 22.04 LTS(64位)
- 内存:至少4GB,建议8GB以上
- 磁盘:至少25GB空闲空间
- 网络:能正常访问GitHub和ROS官方源
安装方式有两种:双系统或者虚拟机。我建议初学者先用虚拟机,比如VMware或VirtualBox。为什么呢?因为万一搞崩了,删掉重来就行,不影响你原来的系统。我在项目中就吃过这个亏——直接在主力机上装,结果驱动冲突,折腾了一整天。
安装过程其实很简单:下载镜像、制作启动盘、按向导走。唯一要注意的是分区那一步,记得给/根目录分够空间,至少20GB。嗯,这里要注意,/home目录可以单独分,方便以后重装系统时保留个人文件。
2.2 ROS2 Humble安装
ROS2的版本命名很有意思,Humble是2022年的版本,对应Ubuntu 22.04。为什么选它?因为Nav2对这个版本支持最好,社区活跃,遇到问题也好搜到答案。
安装步骤我总结成三步走:
- 设置语言环境——确保系统支持UTF-8
- 添加ROS2源——把官方仓库加到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
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 $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
# 3. 安装ROS2 Humble桌面版
sudo apt update
sudo apt install ros-humble-desktop
我曾经踩过的坑:安装过程中网络超时。解决办法是换国内镜像源,比如清华或中科大的源,速度能快好几倍。另外,千万别跳过sudo apt update这一步,否则会报依赖缺失。
安装完成后,验证一下:
ros2 --version
# 输出类似:ros2 humble
如果能看到版本号,恭喜你,ROS2已经装好了。
2.3 工作空间创建与编译
工作空间(Workspace)说白了就是你放代码的地方。ROS2里最常用的是colcon工作空间。我习惯把它建在~/ros2_ws下面,清晰好记。
创建步骤:
# 创建目录结构
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
# 编译空工作空间(测试环境是否正常)
colcon build
第一次编译时,colcon会下载一些依赖包。如果网络慢,可以提前安装python3-colcon-common-extensions。我记得有一次在客户现场,网络特别差,colcon build跑了快半小时才完成。后来我学乖了,提前把依赖包都下好。
小技巧:编译时加上--symlink-install参数,这样修改Python文件后不用重新编译,直接就能生效。对于调试阶段特别有用。
编译成功后,你会看到build、install、log三个目录。其中install目录里放着编译好的可执行文件和库文件。
2.4 环境变量配置
环境变量配置是新手最容易忽略的一步。你想想看,ROS2装好了,工作空间也建了,但每次打开终端都要手动source一下,多麻烦。
正确的做法是把source命令加到~/.bashrc里:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
这里有两个source:
- 第一个是系统级的,让系统能找到ROS2的命令
- 第二个是工作空间级的,让你自己写的包能被找到
注意顺序:一定要先source系统级的,再source工作空间级的。否则工作空间里的包可能会覆盖系统包,导致一些奇怪的问题。我曾经因为这个顺序搞反了,调试了整整一个下午才发现。
验证环境变量是否生效:
echo $ROS_DISTRO
# 输出:humble
如果能看到humble,说明环境变量配置成功了。
2.5 知识体系总览
下面这张图把本章的核心逻辑串起来了,你可以对照着检查自己哪一步还没做:
这张图把四个步骤串起来了。你从Ubuntu系统开始,一步步往下走,最后配置好环境变量,整个开发环境就齐活了。记住,每一步都有它的意义,别跳步。
好了,环境搭好之后,你就可以开始写ROS2的代码了。下一章咱们会讲如何创建第一个ROS2节点,到时候你就能感受到这个环境带来的便利了。