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按鈕選擇目標位置和方向,地圖上將會出現規劃的路徑,機器人將會按照路徑行進。如果你想在到達目的地之前,停止機器人,請重新設置起點。








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章