ROS与navigation教程-turtlebot-现有地图的自主导航

ROS与navigation教程-turtlebot-现有地图的自主导航

说明:

  • 介绍如何完成建图之后,实现自主导航

步骤:

  • 主机,新终端, 启动turtlebot
$ roslaunch turtlebot_bringup minimal.launch
  • 主机,新终端, 启动指定地图
$ export TURTLEBOT_MAP_FILE=/tmp/my_map.yaml 
  • 例如 export TURTLEBOT_MAP_FILE:=rospack find turtlebot_navigation/maps/willow-2010-02-18-0.10.yaml

  • 主机,新终端,启动amcl

$ roslaunch turtlebot_navigation amcl_demo.launch
  • 从机,新终端, 启动rviz
$ roslaunch turtlebot_rviz_launchers view_navigation.launch --screen

使用Remocon

  • 新终端,执行Remocon

  • 指定地图:

export TURTLEBOT_MAP_FILE=/tmp/my_map.yaml 
  • 选择PC Pairing/Navigation

  • 效果图:

请输入图片描述

在rviz中操作

(1)定位

  • 刚启动,turtlebot并不知道自己在地图的什么位置,所以需要先初始化定位:

    • 点击"2D Pose Estimate" 按钮
    • 然后观察turtlebot机器人在地图中的大概位置,在该位置按住鼠标左键,并拖出一个箭头,箭头代表turtlebot的方向,此方向应该跟turtlebot的前方方向一致。
  • 你会看到在turtlebot周边有很多小箭头围绕,这些小箭头就是评估机器人目前的相对位置,同时激光边缘应该跟墙面是重合的,如果不一致就重复定位操作,确保定位正确。

  • 注意:在rviz中要设置 global options 的 fixed frame为 "map",再使用"2D Pose Estimate"

(2) 遥控

  • 遥控可以与导航包一起使用,操控优先于自主导航命令。在进行自主导航之前,可以先进行遥控,可以让turtlebot的定位箭头进行聚合,让定位更加准确。

(3) 发送导航目标

  • 当做好定位,就可以开始进行导航

  • 发送目标:

    • 点击"2D Nav Goal" 按钮
    • 点住地图某点,并拖出一个箭头,再松开,即可指定目标点
  • 设置成功之后,机器人即自动导航到目标点,如果中间要停止,就发送当前位置给机器人。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与navigation教程