使用物理 Turtlebot 3 进行导航
概述
本教程介绍如何使用物理 Turtlebot 3 机器人上的 ROS 2 Nav2 控制和导航 Turtlebot 3。 在完成本教程之前,强烈建议您先完成 入门指南,特别是如果您是 ROS 和 Nav2 新手。
本教程可能需要大约 1 小时才能完成。 这取决于您对 ROS、机器人的经验以及您拥有的计算机系统。
要求
您必须安装 Nav2、Turtlebot3。 如果您尚未安装它们,请按照 入门指南 操作。
教程步骤
0- 设置环境变量
在本教程中,每当您打开新终端时,请先运行以下命令。
source /opt/ros/<ros2-distro>/setup.bash
export TURTLEBOT3_MODEL=waffle
1- 启动 Turtlebot 3
您需要启动机器人的界面,
ros2 launch turtlebot3_bringup robot.launch.py use_sim_time:=False
3- 启动 RVIZ
使用预定义的配置文件启动 RVIZ。
ros2 run rviz2 rviz2 -d $(ros2 pkg prefix nav2_bringup)/share/nav2_bringup/rviz/nav2_default_view.rviz
现在,您应该在 Rviz 中的绘图中心看到 Turtlebot 3 机器人模型的阴影。 如果将 auto_start 参数设置为 false,请单击“开始”按钮(左下角)。 然后,地图应该出现在 RViz 中。
首先,在地图上找到机器人的位置。检查您的机器人在房间中的位置。
在 RViz 中设置机器人的姿势。 单击 2D Pose Estimate 按钮并在地图上指向机器人的位置。 绿色箭头的方向是 Turtlebot 的方向。
现在,Turtlebot 的 3D 模型应该移动到该位置。 估计位置的小错误是可以容忍的。
5- 发送目标姿势
在地图上为 Turtlebot 选择一个目标位置。 您可以使用 Nav2 Goal 或 GoalTool 按钮向 Turtlebot 3 发送目标位置和目标方向。
注意:Nav2 目标按钮使用 ROS 2 Action 发送目标,GoalTool 将目标发布到主题。
一旦定义了目标姿势,Nav2 将找到一条全局路径并开始在地图上导航机器人。
现在,您可以看到 Turtlebot 3 向房间中的目标位置移动。请观看下面的视频。