2. 車体のナビゲーション
実現方法
前節で作成した実際のシーンにおいて、シャーシカーのナビゲーションを実現します。
具体的な方法:前節で作成した地図を読み込み、シャーシカーの初期位置と向きを設定したうえで、目標位置と向きを設定すると、シャーシカーがナビゲーションを行います。
操作手順
機器の準備:
ステップ1:(Raspberry Pi へのリモート接続)を参照して設定を完了します。設定済みの場合はこのステップを省略してください。
ステップ2:プログラムを実行して動作を確認します。具体的な操作手順は以下のとおりです。
- 作成した地図をナビゲーションプログラムに適用します。
ここでは launch ファイルを修正する必要があります。パスは以下のとおりです。
ros_ws\src\robot_navigation\launch\ robot_navigation.launch ファイルに、前節で作成した yaml ファイルを追加します。
ヒント:会場が狭いため、ここでナビゲーションを開始する前に、地図作成時の初期位置に車体を置いておくことをお勧めします。
- 車体をリモートで起動します。ターミナルで次のように入力します。
roslaunch device uni_car.launch

Enterキーを押します。

- ナビゲーションを起動します。ターミナルで次のように入力します。
roslaunch navi uni_car_navigation_gmapping.launch

Enterキーを押すと、下図のように表示されます。

- 車体の初期位置と向きを指定します。
キーボード制御を起動するため、ターミナルで次のコマンドを入力します。
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
続いてEnterキーを押します。

キーボードで車体をリモート操作し、動かしてみてください。
車体を会場内でゆっくり前進させたり左右に旋回させたりすると、地図上の赤い矢印が少なくなっていくことがわかります。

または、下図の 2D Pose Estimate を使ってまず車体の初期の向きと位置を指定し、その後キーボードで車体をリモート操作します。

- ナビゲーション目標を設定します。「2D Nav Goal」をクリックして車体の到達目標地点を設定し、車体が目標地点に到達したかどうかを確認します。具体的な動作は付属の動画を参照してください。

ドキュメント