1. 从零开始:搭建你的 ROS2 避障机器人开发环境
在机器人领域摸爬滚打十几年,从 ROS1 过渡到 ROS2,调试过的避障机器人不在少数。今天不聊虚的理论,直接上手,带你把一个室内移动机器人的避障系统'跑'起来。对于刚入门的朋友,'传感器融合'、'动态窗口法'听起来门槛很高,其实只要按步骤来,理解每一步的作用并不难。
首先需要一个稳定的基础环境。强烈建议使用 Ubuntu 22.04 LTS 作为操作系统,这是目前 ROS2 Humble Hawksbill 最稳定、支持最好的平台。Windows 环境下折腾 ROS2 往往会有兼容性问题,建议直接使用 Linux。系统装好后,第一件事是设置软件源。打开终端,执行以下命令添加 ROS 官方密钥和仓库:
sudo apt update && sudo apt install curl gnupg lsb-release -y
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 $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
源设置好了,就可以安装 ROS2 Humble。如果是应用开发,安装桌面版(desktop)就足够了,它包含了 ROS、RViz、示例等核心工具。如果是深度玩家想编译底层包,再考虑基础版(base)。为了快速出效果,我们直接安装桌面版:
sudo apt update
sudo apt install ros-humble-desktop
安装过程可能需要几分钟。装完之后,最关键的一步是将 ROS2 的环境变量加到你的 bash 配置里。每次打开新终端,都需要'激活'这个环境,否则系统找不到 ROS2 的命令。将下面这行加到你的 ~/.bashrc 文件末尾:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
环境搭好,验证一下。打开两个终端窗口。在第一个窗口里,启动一个'说'话题的节点:ros2 run demo_nodes_cpp talker。在第二个窗口里,启动一个'听'话题的节点:ros2 run demo_nodes_py listener。如果你能看到 talker 在不停发送消息,而 listener 在同步接收并打印出来,恭喜你,ROS2 的核心通信机制工作正常,你的基础环境已经就绪!
但这只是个开始。我们的机器人需要'眼睛'和'大脑'。接下来,我们要安装今天的主角——Nav2(Navigation2)导航框架。它是 ROS2 里做路径规划和避障的'瑞士军刀',后续所有的避障算法都要集成到它里面。安装命令很简单,顺便把 TurtleBot3 的仿真包也装上:
sudo apt install ros-humble-navigation2 ros-humble-nav2-bringup ros-humble-turtlebot3*
TurtleBot3 是个非常经典的入门级机器人模型,用它来做仿真测试,成本为零,效果直观,是学习和调试的绝佳工具。没有实体机器人?完全没关系,在仿真环境里,我们一样可以玩转所有避障逻辑。

