KUAMS (Kansai University Autonomous Measurement System) ROS 2パッケージ
ROS 2 と Navigation2 を用いて Waypoint ナビゲーションを行うためのパッケージを提供します。
実機には関西大学 計測システム研究室が制作するKUAMSを使用します。
-
ハードウェア
- WHILL Model CR
- Livox Mid-360:
-
開発環境
- Ubuntu Linux - Jammy Jellyfish (22.04)
- ROS 2 Humble Hawksbill
kuams: KUAMSのメタパッケージkuams_bringup: KUAMS、各種センサの起動を行うためのlaunchファイルを提供するパッケージです。kuams_description: KUAMSの物理モデルやURDFモデル、Meshファイルを含むパッケージです。kuams_navigation: Nav2の起動を行うためのlaunchファイルを提供するパッケージです。kuams_slam: slam_toolboxを起動するためのlaunchファイルを提供するパッケージです。kuams_teleop: Joyコントローラを使用してKUAMS3を操作するためのコード、launchファイルを提供するパッケージです。
以下の手順に沿って各パッケージのインストールを行ってください
-
ROS 2 Humbleのセットアップ:
こちらの手順に従って、ROS 2 Humbleをインストールしてください。 -
kuams のセットアップ:
mkdir -p ~/kuams_ws/src cd ~/kuams_ws/src git clone https://github.com/kzm784/kuams.git cd ~/kuams_ws rosdep update && rosdep install --from-paths src --ignore-src -y colcon build
-
ros2_whill のセットアップ:
sudo apt install ros-humble-xacro cd ~/kuams_ws/src git clone https://github.com/whill-labs/ros2_whill_interfaces.git git clone https://github.com/kzm784/ros2_whill.git cd ~/kuams_ws rosdep update && rosdep install --from-paths src --ignore-src -y colcon build
-
Livox SDK2 のセットアップ:
git clone https://github.com/Livox-SDK/Livox-SDK2.git cd ~/Livox-SDK2/ mkdir build cd build cmake .. && make -j4 sudo make install -
livox_ros_driver2 のセットアップ:
cd ~/kuams_ws/src git clone https://github.com/Livox-SDK/livox_ros_driver2.git mv livox_ros_driver2/package_ROS2.xml livox_ros_driver2/package.xml cd ~/kuams_ws colcon build --packages-select livox_ros_driver2 --cmake-args -DROS_EDITION="ROS2" -DHUMBLE_ROS="humble" --symlink-install
-
waypoint_manager のセットアップ:
cd ~/kuams_ws/src git clone https://github.com/kzm784/waypoint_manager.git cd ~/kuams_ws rosdep update && rosdep install --from-paths src --ignore-src colcon build
-
lidar_localization_ros2 のセットアップ:
cd ~/kuams_ws/src git clone https://github.com/kzm784/lidar_localization_ros2.git git clone https://github.com/rsasaki0109/ndt_omp_ros2.git cd ~/kuams_ws rosdep update && rosdep install --from-paths src --ignore-src colcon build
-
KUAMSの起動:
⚠️ 注意: 初期セットアップ時にudevルールを編集し、USBデバイスのシンボリックリンクを作成してください。sudo mv ~/kuams_ws/src/kuams/docs/99-whill-serial.rules /etc/udev/rules.d/ sudo udevadm control --reloadWHILL Model CRとPCをシリアル接続し、以下のコマンドを実行して各種センサを含むkuamsの実機を起動します。
cd kuams_ws source install/setup.bash ros2 launch kuams_bringup kuams.launch.py
-
Joyコントローラーを用いたKUAMSの操縦: JoyコントローラーとPCを接続した後、以下のコマンドを実行しKUAMSを操縦することができます。
cd kuams_ws source install/setup.bash ros2 launch kuams_teleop kuams3_teleop_joy.launch.py
-
Navigation2を用いたウェイポイントナビゲーション:
-
事前準備:
ホームディレクトリにnavigation_dataディレクトリを作成し、ウェイポイントナビゲーションに必要なデータをその中に準備してください。navigation_data/ │ ├── rinpukan/ │ ├── rinpukan.pcd # 3次元地図 │ ├── rinpukan.pgm # 2次元地図 │ ├── rinpukan.yaml # 2次元地図情報設定ファイル │ ├── rinpukan_wp.csv # ウェイポイントデータ │ └── ... # 以降も同じ形式 -
lidar_localization_ros2の起動:
KUAMSを起動後、以下のコマンドで lidar_localization_ros2 を起動しますcd ~/kuams_ws source install/setup.bash ros2 launch kuams_navigation lidar_localization_ros2.launch.py
-
Nav2の起動:
KUAMS, lidar_localization_ros2 を起動後、以下のコマンドで Nav2 を起動しますmap:=以降にナビゲーションで使用する2D地図の.yamlファイルを指定してくださいcd ~/kuams_ws source install/setup.bash ros2 launch kuams_navigation navigation.launch.py map:=path/to/your/map.yaml
-
waypoint_managerの起動:
Nav2の起動後、以下のコマンドでwaypoint_managerを起動しますwaypionts:=以降にナビゲーションで使用するウェイポイントの.csvファイルを指定してくださいcd ~/kuams_ws source install/setup.bash ros2 launch waypoint_manager waypoint_manager.launch.py waypoints:=path/to/your/waypoints.csv
-
