入门指南

本文将引导您安装 Nav2 二进制文件,并在 Gazebo 模拟器中导航模拟的 Turtlebot 3。

Note

如果您需要构建源码或处理其他类型的机器人,请参阅 构建与安装

Warning

这是Turtlebot 3指南的简化版本。如果您打算继续使用此机器人,建议遵循 official Turtlebot 3 manual

安装步骤

  1. 按照官方文档安装 ROS 2 binary packages

  2. 使用操作系统的包管理器安装 Nav2 包:

    sudo apt install ros-<ros2-distro>-navigation2
    sudo apt install ros-<ros2-distro>-nav2-bringup
    
  3. 安装 Turtlebot 3 包(Humble 及更早版本):

    sudo apt install ros-<ros2-distro>-turtlebot3-gazebo
    

运行示例

  1. 在 GUI 中打开一个终端。

  2. 设置关键的环境变量:

    source /opt/ros/<ros2-distro>/setup.bash
    export TURTLEBOT3_MODEL=waffle
    export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/<ros2-distro>/share/turtlebot3_gazebo/models
    
  3. 在同一个终端中运行:

    ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False
    

    Note

    对于 ROS 2 Dashing Diademata 或更早版本, 使用 nav2_simulation_launch.py. 建议使用最新的 ROS 2 LTS distribution 以提高稳定性和功能完备性。

    headless 默认为 true;如果不设置为 false,则不会启动 gzclient(3D 视图)。

    该启动文件将在 turtlebot3_world world中启动 Nav2 并使用 AMCL 定位器。同时启动机器人状态发布器提供变换信息,Gazebo 会加载 Turtlebot3 的 URDF 模型,并启动 RVIZ。

    如果一切顺利启动,您将看到 RViz 和 Gazebo 界面,如下图所示:

    ../_images/rviz-not-started.png ../_images/gazebo_turtlebot1.png
  4. 如果未自动启动,请点击 RViz 左下角的 “Startup” 按钮。这会使 Nav2 进入 Active 状态,并显示地图。

导航

启动后,机器人最初不知道自己的位置。默认情况下,Nav2 等待您提供一个大概的起始位置。观察机器人在 Gazebo 世界中的位置,并在地图上找到相应的点。点击 RViz 中的 “2D Pose Estimate” 按钮,然后在该位置单击地图。您可以通过单击并向前拖动来设置方向。

如果您使用的是默认配置,机器人应类似如下图所示。

即使起始位置不完全正确,也没关系。Nav2 会在导航过程中调整位置。如果您愿意,也可以再次点击 “2D Pose Estimate” 按钮重新设置位置。

一旦设置了初始位置,变换树将会完整,Nav2 将完全激活并准备就绪。您现在应该能看到机器人和粒子云。

接下来,点击 “Navigation2 Goal” 按钮并选择一个目的地。此操作将通过操作服务器调用 BT 导航器前往该目标。您可以暂停(取消)或重置操作。

现在观看机器人行动吧!

Navigation2 with Turtlebot 3 Demo