zoukankan      html  css  js  c++  java
  • Turtlebot3入门手册之七:SLAM和导航

    官方教程:http://turtlebot3.robotis.com/en/latest/slam.html

    在进入此教程之前,请确保上一篇博客开始使用的正确运行。SLAM是Simultaneous Localization and Mapping的缩写。具体的介绍,自行google。这里就是为了测试机器人整体的软硬件。

    1.使用远程操作建立地图

    waffle和burger请使用电池供电,因为需要到处移动:

    [PC]启动ROScore

    roscore
    [waffle]/[burger](取决于你要测试哪一台)启动waffle或者burger,之后不会再在burger或者waffle上操作,可以断开显示器,键盘,鼠标,将waffle或者burger,放在地上,不管是waffle还是burger命令都如下

    roslaunch turtlebot3_bringup turtlebot3_robot.launch
    [PC]新开一个终端,如果你测试的是burger请运行:

    export TURTLEBOT3_MODEL=burger
    roslaunch turtlebot3_slam turtlebot3_slam.launch
    如果你测试的是waffle请运行:

    export TURTLEBOT3_MODEL=waffle
    roslaunch turtlebot3_slam turtlebot3_slam.launch

    [PC]使用RViz可视化3D模型,新开一个终端运行:

    rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz
    [PC]使用键盘远程控制机器人到处扫描房间,新开一个终端运行:

    roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
    [PC]现在就操作机器人到处走动扫描出一幅完整的地图,扫描结束后在PC上新开终端运行:

    rosrun map_server map_saver -f ~/map
    保存地图。一个map.pgm 和 map.yaml 文件将会出现在home目录下(或者homeusername)。

    2.导航

    在上一步建立的地图中,设置起点终点就可以让机器人自己导航了,看规划出来的路径有点Dubins的感觉,实际效果惨不忍睹,所以请看好你的waffle或者burger,容易撞墙。操作步骤如下:

    [PC]同样,先启动roscore:

    roscore
    [waffle]/[burger]取决于你的测试对象,启动:

    roslaunch turtlebot3_bringup turtlebot3_robot.launch
    [PC]如果你没有修改上一步地图的位置的话:

    如果你测试的burger:

    export TURTLEBOT3_MODEL=burger
    roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
    如果你测试的waffle:

    export TURTLEBOT3_MODEL=waffle
    roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
    [PC]运行RViz:

    rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/turtlebot3_nav.rviz
    如果一切顺利的话,你可以看到地图和机器人激光雷达扫描出来的当前位置的地图,请自行判断机器人当前的位置和地图中哪一个位置近似,点击上面2D Pose estimation按钮,在地图中单击,并指定方向。然后单击2D Nav Goal按钮选择目标位置和方向,地图上将会出现规划的路径,机器人将会按照路径行进。如果你想在到达目的地之前,停止机器人,请重新设置起点。








  • 相关阅读:
    centos7安装zabbix4.2
    python3.x 基础三:文件IO
    python3.x 基础三:字符集问题
    python3.x 基础三:set集合
    python3.x 基础二:内置函数
    python3.x 基础一:dict字典
    python3.x 基础一:str字符串方法
    python3.x 基础一
    [leetcode]Path Sum
    [leetcode]Balanced Binary Tree
  • 原文地址:https://www.cnblogs.com/portb/p/12037329.html
Copyright © 2011-2022 走看看