HumansXドキュメントセンター 公式サイトへ ↗

2. 車体のナビゲーション

実現方法

前節で作成した実際のシーンにおいて、シャーシカーのナビゲーションを実現します。

具体的な方法:前節で作成した地図を読み込み、シャーシカーの初期位置と向きを設定したうえで、目標位置と向きを設定すると、シャーシカーがナビゲーションを行います。

操作手順

機器の準備:

ステップ1:(Raspberry Pi へのリモート接続)を参照して設定を完了します。設定済みの場合はこのステップを省略してください。

ステップ2:プログラムを実行して動作を確認します。具体的な操作手順は以下のとおりです。

  1. 作成した地図をナビゲーションプログラムに適用します。

ここでは launch ファイルを修正する必要があります。パスは以下のとおりです。

ros_ws\src\robot_navigation\launch\ robot_navigation.launch ファイルに、前節で作成した yaml ファイルを追加します。

ヒント:会場が狭いため、ここでナビゲーションを開始する前に、地図作成時の初期位置に車体を置いておくことをお勧めします。

  1. 車体をリモートで起動します。ターミナルで次のように入力します。
roslaunch device uni_car.launch

Enterキーを押します。

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

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

  1. 車体の初期位置と向きを指定します。

キーボード制御を起動するため、ターミナルで次のコマンドを入力します。

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

続いてEnterキーを押します。

キーボードで車体をリモート操作し、動かしてみてください。

車体を会場内でゆっくり前進させたり左右に旋回させたりすると、地図上の赤い矢印が少なくなっていくことがわかります。

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

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