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目录下(或者home\username)。

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按钮选择目标位置和方向,地图上将会出现规划的路径,机器人将会按照路径行进。如果你想在到达目的地之前,停止机器人,请重新设置起点。








posted @ 2019-12-13 21:19  PORTB  阅读(553)  评论(0编辑  收藏  举报