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

2_車両の自己位置推定と地図作成(SLAM)

実装方針

Gmapping アルゴリズムを用いて、シャーシ車両が置かれた未知の環境の地図作成と自己位置推定を同時に行い、最後にその地図を保存します。下図は屋内環境で地図を作成した実例です。(実際の状況に応じて、地図を作成する場所を選んでください)

操作手順

ヒント:まず車両にリモート接続し、接続後に車両の下位制御コードを起動します。

その後、ローカルでキーボード遠隔操作、地図作成、ナビゲーションなどの操作を行います。

ロボットへのリモート接続

ステップ 1:回路を接続します。

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

  1. 「Ctrl+T」でターミナルを開きます。

  2. 開いたターミナルから ssh で車両に接続します(パスワードは sunrise)。

ssh sunrise@192.168.xx.xx

シャーシと LiDAR の起動

  1. 下位ドライバをリモートで起動します。シャーシと LiDAR の起動が含まれます。

シャーシを起動するには、ターミナルで次のコマンドを入力します:

ros2 launch robot_driver robot_driver_launch.py

LiDAR を起動するには、ターミナルで次のコマンドを入力します:

ros2 launch ydlidar_ros2_driver ydlidar_launch.py

シャーシによる地図作成

  1. urdf 設定ファイルを起動します。ローカルの VScode で開いたターミナルで、次のコマンドを入力します:
ros2 launch fishbot_bringup bringup_quick.launch.py
  1. 地図作成サービス(map)を起動します。ローカルの VScode で開いたターミナルで、次のコマンドを入力します:
cd ~/unirobot_ws/src/ros2_humble_gmapping/slam_gmapping_altered/launch

続けてターミナルに次のように入力します:

ros2 launch pipeline_launch.py
  1. rviz を読み込みます。ローカルの VScode で開いたターミナルで、次のコマンドを入力します:
~/fishbot_nav/src/fishbot_navigation2/rviz

続けてターミナルに次のように入力します:

rviz2 -d slam_toolbox.rviz
  1. キーボードによる車両操作コマンドを起動します。ローカルの VScode で開いたターミナルで、次のコマンドを入力します:
ros2 run keyboard_control keyboard_control
  1. 車両を遠隔操作して会場内を一周させ、地図作成を開始します。

  2. 地図を保存します。ローカルの VScode で開いたターミナルで、次のコマンドを入力します:

cd ~/fishbot_nav/src/fishbot_navigation2/maps

続けてターミナルに次のように入力します:

ros2 run nav2_map_server map_saver_cli -t map -f your_map_name