第2章:ROS2开发环境搭建

好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,环境搭建是很多新手放弃的第一道坎。我见过太多人卡在安装这一步,然后就开始怀疑人生。别担心,跟着我的节奏来,一步步走稳。

2.1 Ubuntu系统安装

ROS2对Windows的支持其实不太好。我个人习惯用Ubuntu,这也是ROS2的「亲爹」平台。目前ROS2 Humble官方推荐的是Ubuntu 22.04 LTS。嗯,别问为什么不是20.04,问就是Humble和22.04是同期发布的,兼容性最好。

⚠️ 注意: 如果你用的是Windows,建议装个虚拟机或者双系统。WSL2也能跑,但我在项目中遇到过一些奇怪的网络问题,所以还是推荐原生Ubuntu。

安装Ubuntu其实很简单:

  1. 去官网下载Ubuntu 22.04 LTS的ISO镜像
  2. 用Rufus或balenaEtcher制作启动U盘
  3. 重启电脑,从U盘启动
  4. 跟着安装向导走,分区时建议给根目录留至少50GB

我曾经帮一个学员远程调试,他装完Ubuntu发现磁盘只剩2GB了……后来一查,分区只给了10GB。你想想看,ROS2装完就快占一半了,后面编译个包直接爆盘。所以,磁盘空间别省。

2.2 ROS2 Humble安装

系统装好了,接下来装ROS2。这里我推荐用Debian包安装,简单稳定。源码编译虽然能定制,但新手没必要折腾。

打开终端,先设置好软件源:

sudo apt update
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
sudo apt update

然后安装ROS2 Humble桌面版:

sudo apt install ros-humble-desktop
💡 小提示: 如果你磁盘空间紧张,可以只装ros-humble-ros-base,但桌面版包含了可视化工具,我建议新手直接装桌面版。

安装过程大概10-20分钟,取决于你的网速。我记得第一次装的时候,等得都快睡着了。后来发现可以用apt--download-only参数先下载好,再离线安装。不过现在网速快了,直接装就行。

2.3 配置环境变量

装完了,但还不能直接用。你需要告诉系统「ROS2在哪」。说白了就是设置环境变量。

打开终端,编辑你的bash配置文件:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

为什么要加这行?因为每次打开新终端,系统都要知道ROS2的命令在哪。不加的话,你每次都得手动source一遍,烦不烦?

🔑 关键点: 如果你用的是zsh(比如Oh My Zsh),记得把.bashrc换成.zshrc。我有个同事折腾了半天,才发现自己用的是zsh,但配置写到了bashrc里……

2.4 安装依赖与测试

环境变量配好了,咱们来验证一下。先装几个常用工具:

sudo apt install python3-colcon-common-extensions
sudo apt install ros-humble-turtlesim

colcon是ROS2的编译工具,后面写代码全靠它。turtlesim是ROS2的「Hello World」,一个可爱的小乌龟模拟器。

测试一下:

ros2 run turtlesim turtlesim_node

如果弹出一个蓝色窗口,中间有只小乌龟,恭喜你,环境搭好了!

再开一个新终端,运行:

ros2 run turtlesim turtle_teleop_key

用键盘方向键控制小乌龟移动。嗯,这就是ROS2最基本的发布-订阅通信模型。你按键盘,它发消息,乌龟节点收到消息就动。是不是很直观?

⚠️ 常见问题: 如果运行ros2命令提示找不到,八成是环境变量没配好。检查一下~/.bashrc里有没有source /opt/ros/humble/setup.bash这行。我曾经遇到过一个人,他配了但没source ~/.bashrc,然后一直说「我明明配了啊」……

2.5 验证安装完整性

最后,咱们用个命令确认所有组件都正常:

ros2 doctor

这个命令会检查ROS2的各个组件状态。如果输出全是绿色OK,那就稳了。如果有红色FAIL,别慌,看它提示什么,一般是某个依赖没装。

你也可以用这个命令查看ROS2版本:

ros2 --version

正常会输出类似ros2 humble的信息。

💡 我的习惯: 每次装完新环境,我都会跑一遍ros2 doctorturtlesim测试。这就像开车前绕车一周检查,花不了1分钟,但能避免后面踩坑。

好了,环境搭建完成。下一章咱们开始写第一个ROS2节点。说实话,写代码比搭环境有意思多了。你准备好了吗?