Turtlebot 3入門マニュアルの7:SLAMとナビゲーション


公式教程:http://turtlebot3.robotis.com/en/latest/slam.html
この教程に入る前に、前のブログが正しく動作するようにしてください.SLAMはSimultianeous 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]新しく端末をオープンしました.もしあなたがテストしたのがバグなら、運転してください.
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_slam turtlebot3_slam.launch
もしあなたがテストしたのがwaffleだったら実行してください.
export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_slam turtlebot3_slam.launch
[PC]RVizを使って3 Dモデルを可視化し、新たに端末をオープンして実行します.
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 ファイルはホームディレクトリに表示されます.
2.ナビゲーション
前のステップで作った地図の中で、スタート地点を設定すれば、ロボットが自分でナビゲーションできます.計画されたパスはDubinsの感じがします.実際の効果はあまり見られません.だからあなたのwaffleやburgerを見てください.壁に当たりやすいです.操作手順は以下の通りです.
[PC]同様に、先にロードコアを起動する:
roscore
[waffle]/[burger]はあなたのテスト対象によって開始されます.
roslaunch turtlebot3_bringup turtlebot3_robot.launch
[PC]前の地図の位置を変更していない場合:
もしあなたがテストしたバグがあれば:
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
すべてがうまくいけば、地図とロボットレーザーレーダでスキャンされた現在位置の地図が見られます.ロボットの現在位置と地図の中でどの位置が似ているかを自分で判断して、上の2 D Pose estimationボタンをクリックして、地図の中でクリックして方向を指定してください.2 D Nav Goalボタンをクリックして目標位置と方向を選択します.地図上に計画的なパスが現れます.ロボットは経路に沿って進みます.目的地に着く前にロボットを停止したいなら、出発点を設定し直してください.