- 本教程来自:Nav2中文网
- Nav2交流社区:https://fishros.org.cn/forum
- ROS2/Nav2千人交流群:(QQ)139707339
- 更多精彩教程请关注微信公众号:鱼香ROS
- 欢迎添加机器人小伊微信,解锁机器人学习特殊服务
- 概述
- 必要条件
- 教程指南
本教程展示了如何在物理Turtlebot 3机器人上使用ROS 2Nav2控制和导航Turtlebot 3。在完成本教程之前,强烈建议您完成 入门 ,尤其是如果您是ROS和Nav2的新手。 [待校准@1263]
本教程可能需要大约1小时才能完成。这取决于您对ROS,机器人的经验以及您拥有的计算机系统。 [待校准@1264]
要求你必须安装Nav2,turtlebot3。如果你没有安装它们,请遵循 入门 。 [待校准@1265]
Tutorial Steps 0-设置环境变量在本教程中,每当您打开新终端时,请先运行以下命令。 [待校准@1267]
source /opt/ros//setup.bash
[待校准@1268]export TURTLEBOT3_MODEL=waffle
[待校准@1269]
你需要启动你的机器人界面, [待校准@1271]
ros2 launch turtlebot3_bringup robot.launch.py use_sim_time:=False
[待校准@1272]
你需要地图环境要导航Turtlebot 3,或创建一个活带SLAM。 [待校准@1274]
如果你感兴趣,有一个用例教程,展示了如何在SLAM中使用Nav2。 Nav2 with SLAM [待校准@1275]
所需文件: [待校准@1276]
your-map.map
[待校准@1277]your-map.yaml
[待校准@1278]
参数.yaml
is配置文件地图我们想提供Nav2。在这种情况下,它具有地图分辨率值、障碍物和自由空间的阈值以及地图文件位置。您需要确保这些值是正确的。更多关于地图的信息。yaml可以在 here 找到。 [待校准@1279]
LaunchNav2如果设置autostart:= False,则需要单击RViz中的起动按钮来初始化节点。确保 use_sim time 设置为False,因为我们想使用系统时间而不是Gazebo的时间模拟时间。 [待校准@1280]
ros2 launch nav2_bringup bringup_launch.py use_sim_time:=False autostart:=False map:=/path/to/your-map.yaml
[待校准@1281]
注意: 不要忘记将your/ path/to/your-map.yaml change更改为your-map.yaml文件的实际路径。 [待校准@1282]
3-LaunchRVIZ [待校准@1283]使用预定义的配置文件启动RVIZ。 [待校准@1284]
ros2 run rviz2 rviz2 -d $(ros2 pkg prefix nav2_bringup)/share/nav2_bringup/launch/nav2_default_view.rviz
[待校准@1285]
现在,你应该在Rviz的情节中心看到一个Turtlebot 3机器人模型的影子。如果将auto_start参数设置为false,请单击起动按钮 (左下方)。然后,地图应该出现在RViz。 [待校准@1286]
首先,找到机器人在地图上的位置。检查你的机器人在房间里的位置。 [待校准@1288]
将机器人的姿势设置在RViz。点击2D姿势估计按钮并将机器人的位置指向地图上。绿色箭头的方向是Turtlebot的方向。 [待校准@1289]
现在,Turtlebot的3D模型应该移动到那个位置。估计位置的小误差是可以容忍的。 [待校准@1291]
5-发送一个进球姿势 [待校准@1292]选择一个目标位置Turtlebot地图上。你可以发送Turtlebot 3目标位置和目标取向使用Nav2目标或GoalTool按钮。 [待校准@1293]
注意: Nav2目标按钮使用ROS 2Action发送目标,并且目标工具将目标发布到主题。 [待校准@1294]
一旦你定义了目标姿势,Nav2将会找到一个全局路径,并开始在地图上导航机器人。 [待校准@1296]
现在,你可以看到Turtlebot3朝着房间里的目标位置移动。请看下面的视频。 [待校准@1298]
- 本文遵循知识共享协议,禁止未授权商用转载