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

1. 移動ロボットの自己位置推定と地図作成(SLAM)

実現方法

Hector アルゴリズムを使用して、シャーシカーが置かれた未知の環境の地図を作成しながら同時に自己位置推定を行い、最後にこの地図を保存します。この地図は次節のシャーシカーのナビゲーションで使用できます。

シーンマップ(60*60cm)

操作手順

ステップ1:第8章(Raspberry Pi へのリモート接続)(ナビゲーション開始の基本操作)を参照して設定を完了します。設定済みの場合はこのステップを省略してください。

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

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

Enterキーを押すと次の画面が表示され、車体の下位層が正常に起動したことを示します。

Enterキーを押すと、次の画面が表示されます。

(2) 下図の空白部分をマウスで左クリックします。

「Ctrl」+「’」を押します。

次の画面が表示されます。

または、下図のように操作します。

最終的に次の画面が表示されます。

  1. Hector 地図作成サービスを起動します。ローカルの VScode で開いたターミナルで次のように入力します。
roslaunch slam uni_slam_gmapping.launch

Enterキーを押すと、次の画面が表示されます。

  1. キーボード制御を起動します。新しく開いたターミナルで次のように入力します。
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

(キーボードによる車体の移動制御)を参照して、会場内で車体を動かします。参考までに、動作の様子を下図に示します。

  1. 地図を保存します。新しいターミナルを開き、次のように入力します。
roslaunch slam save_hector_map.launch

Enterキーを押すと、次の画面が表示されます。

  1. 保存した地図を確認します。

それまでに開いた各ターミナルを「Ctrl」+「C」でそれぞれ終了します。その後、ローカルのターミナルで次のように入力します。

cd src/slam/maps/hector_maps/

Enterキーを押すと、次の画面が表示されます。

ls と入力してEnterキーを押すと、次の画面が表示されます。下図は保存された地図ファイルです。