06-3-Navigation仿真

小芽科技 2022-07-26 11:47:01
Categories: Tags:

本文档由北京小芽科技翻译,原文来自于ROBOTIS官方技术文档

6.3 Navigation 仿真

就像Gazebo模拟器中的SLAM一样,你可以在虚拟导航世界中选择或创建各种环境和机器人模型。然而,在运行导航之前,必须准备适当的地图。除了准备模拟环境而不是启动机器人外,导航模拟与Navigation 的模拟相当相似。

6.3.1 加载运行仿真环境

Ctrl+C终止所有在前几节中启动的应用程序。

在前面的SLAM部分,TurtleBot3世界被用来创建一个地图。同样的Gazebo环境将被用于导航。

请在 TURTLEBOT3_MODEL 参数中使用burgerwafflewaffle_pi中适当的关键字。

1
2
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

 Read more about How to load TurtleBot3 House

$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_house.launch

6.3.2 运行Navigation节点

Ctrl+Alt+T从远程电脑打开一个新的终端,并运行导航节点。

1
2
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

6.3.3 估算初始位置

在运行导航之前必须进行初始姿势估计,因为这个过程初始化了导航中至关重要的AMCL参数。TurtleBot3必须用LDS传感器数据在地图上正确定位,并与显示的地图整齐地重叠起来。

  1. 在RViz 菜单中点击 2D Pose Estimate 按钮
    img

  2. 点击实际机器人所在的地图,将绿色的大箭头拖向机器人所面对的方向。

  3. 重复步骤1和2,直到LDS传感器数据叠加到保存的地图上。

  4. 启动键盘远程操作节点,在地图上精确定位机器人。

    1
    $ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
  5. 来回移动一下机器人,收集周围的环境信息,缩小TurtleBot3在地图上的估计位置,地图上有微小的绿色箭头显示。
    img img

  6. 通过在远程操作节点终端输入Ctrl'+C’终止键盘远程操作节点,以防止在导航过程中从多个节点发布不同的cmd_vel值。

6.3.4 设置 Navigation 目标

  1. 在RViz 菜单中点击 2D Nav Goal 按钮
    img
  2. 在地图上点击设置机器人的目的地,并将绿色箭头拖向机器人将要面对的方向。
    • 这个绿色箭头是一个标记,可以指定机器人的目的地。
    • 箭头的根部是目的地的xy坐标,而角度θ则由箭头的方向决定。
    • 一旦设定了x、y、θ,TurtleBot3将立即开始向目的地移动。img