第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对这个版本支持最好,社区活跃,遇到问题也好搜到答案。

安装步骤我总结成三步走:

  1. 设置语言环境——确保系统支持UTF-8
  2. 添加ROS2源——把官方仓库加到apt源列表里
  3. 安装核心包——选择桌面版还是基础版

直接上代码:

# 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 知识体系总览

下面这张图把本章的核心逻辑串起来了,你可以对照着检查自己哪一步还没做:

ROS2开发环境搭建 · 知识体系 目标:可运行的ROS2开发环境 Ubuntu系统安装 • 22.04 LTS版本 • 双系统/虚拟机 • 分区与驱动 ROS2 Humble安装 • 设置locale • 添加软件源 • 安装桌面版 工作空间创建 • mkdir -p src • colcon build • 编译选项 环境变量配置 • source setup.bash • ~/.bashrc配置 • 验证ROS_DISTRO 四个步骤缺一不可,顺序执行才能搭建完整环境

这张图把四个步骤串起来了。你从Ubuntu系统开始,一步步往下走,最后配置好环境变量,整个开发环境就齐活了。记住,每一步都有它的意义,别跳步。

好了,环境搭好之后,你就可以开始写ROS2的代码了。下一章咱们会讲如何创建第一个ROS2节点,到时候你就能感受到这个环境带来的便利了。