本文档由北京小芽科技翻译,原文来自于ROBOTIS官方技术文档。
6.3 Navigation 仿真
就像Gazebo模拟器中的SLAM一样,你可以在虚拟导航世界中选择或创建各种环境和机器人模型。然而,在运行导航之前,必须准备适当的地图。除了准备模拟环境而不是启动机器人外,导航模拟与Navigation 的模拟相当相似。
6.3.1 加载运行仿真环境
用Ctrl
+C
终止所有在前几节中启动的应用程序。
在前面的SLAM部分,TurtleBot3世界被用来创建一个地图。同样的Gazebo环境将被用于导航。
请在 TURTLEBOT3_MODEL
参数中使用burger
、waffle
、waffle_pi
中适当的关键字。
1 | $ export TURTLEBOT3_MODEL=burger |
Read more about How to load TurtleBot3 House
![](https://emanual.robotis.com/assets/images/icon_unfold.png)
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_house.launch
6.3.2 运行Navigation节点
用Ctrl
+Alt
+T
从远程电脑打开一个新的终端,并运行导航节点。
1 | $ export TURTLEBOT3_MODEL=burger |
6.3.3 估算初始位置
在运行导航之前必须进行初始姿势估计,因为这个过程初始化了导航中至关重要的AMCL参数。TurtleBot3必须用LDS传感器数据在地图上正确定位,并与显示的地图整齐地重叠起来。
在RViz 菜单中点击
2D Pose Estimate
按钮点击实际机器人所在的地图,将绿色的大箭头拖向机器人所面对的方向。
重复步骤1和2,直到LDS传感器数据叠加到保存的地图上。
启动键盘远程操作节点,在地图上精确定位机器人。
1
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
来回移动一下机器人,收集周围的环境信息,缩小TurtleBot3在地图上的估计位置,地图上有微小的绿色箭头显示。
通过在远程操作节点终端输入
Ctrl'+
C’终止键盘远程操作节点,以防止在导航过程中从多个节点发布不同的cmd_vel值。
6.3.4 设置 Navigation 目标
- 在RViz 菜单中点击
2D Nav Goal
按钮 - 在地图上点击设置机器人的目的地,并将绿色箭头拖向机器人将要面对的方向。
- 这个绿色箭头是一个标记,可以指定机器人的目的地。
- 箭头的根部是目的地的
x
、y
坐标,而角度θ
则由箭头的方向决定。 - 一旦设定了x、y、θ,TurtleBot3将立即开始向目的地移动。