第2章:ROS2开发环境搭建
好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,环境搭建是很多新手放弃的第一道坎。我见过太多人卡在安装这一步,然后就开始怀疑人生。别担心,跟着我的节奏来,一步步走稳。
2.1 Ubuntu系统安装
ROS2对Windows的支持其实不太好。我个人习惯用Ubuntu,这也是ROS2的「亲爹」平台。目前ROS2 Humble官方推荐的是Ubuntu 22.04 LTS。嗯,别问为什么不是20.04,问就是Humble和22.04是同期发布的,兼容性最好。
安装Ubuntu其实很简单:
- 去官网下载Ubuntu 22.04 LTS的ISO镜像
- 用Rufus或balenaEtcher制作启动U盘
- 重启电脑,从U盘启动
- 跟着安装向导走,分区时建议给根目录留至少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一遍,烦不烦?
.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 doctor和turtlesim测试。这就像开车前绕车一周检查,花不了1分钟,但能避免后面踩坑。
好了,环境搭建完成。下一章咱们开始写第一个ROS2节点。说实话,写代码比搭环境有意思多了。你准备好了吗?