KUAMS (Kansai University Autonomous Measurement System) ROS 2パッケージ
ROS 2とNavigation2を用いてナビゲーションを行うためのパッケージを提供します。 実機には関西大学 計測システム研究室が制作する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 -b crystal-devel https://github.com/WHILL/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/rsasaki0109/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 --reload
WHILL 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.launch.py
ボタンの割当、速度調節のパラメータは
kuams_teleop/config/config_kuams_teleop.yaml
を編集してください。kuams_teleop: ros__parameters: axis_linear_x: 1 # 前後方向の速度を操作するジョイスティック軸 axis_angular: 0 # 回転速度を操作するジョイスティック軸 axis_deadman: 5 # デッドマンスイッチのボタン番号 scale_linear: 0.3 # 直線速度のスケール(最大速度) scale_angular: 0.9 # 回転速度のスケール(最大回転速度)
-
Navigation2を用いたウェイポイントナビゲーション:
⚠️ 事前準備: ホームディレクトリにnavigation_data
ディレクトリを作成し、ウェイポイントナビゲーションに必要なデータをその中に準備してください。navigation_data/ │ ├── rinpukan/ │ ├── rinpukan.pcd # 3次元地図 │ ├── rinpukan.pgm # 2次元地図 │ ├── rinpukan.yaml # 2次元地図情報設定ファイル │ ├── rinpukan_wp.csv # ウェイポイントデータ │ └── rinpukan_mc.csv # 地図切り替え設定ファイル (オプション) │ └── ... # 以降も同じ形式
必要なデータを準備したら、以下のコマンドで環境変数を設定してください。
echo 'export NAVIGATION_DATA_DIR=/home/$USER/navigation_data' >> ~/.bashrc echo 'export NAVIGATION_DATA_NAME=rinpukan' >> ~/.bashrc
ウェイポイントナビゲーションで使用するデータを指定:
以下のコマンドで環境変数NAVIGATION_DATA_NAME
変更してください。# Nav2・waypoint_managerの起動前に各ターミナルで実行してください。 export NAVIGATION_DATA_NAME=rinpukan
※
.bashrc
を編集することでも使用するデータを指定することができます。
その場合は.bashrc
を編集後、ターミナルを開き直してください。Nav2の起動:
KUAMSを起動後、以下のコマンドで Nav2 を起動しますcd ~/kuams_ws source install/setup.bash ros2 launch kuams_navigation kuams_3d_navigation.launch.py
waypoint_managerの起動:
Nav2の起動後、以下のコマンドでwaypoint_managerを起動しますcd ~/kuams_ws source install/setup.bash ros2 launch waypoint_manager waypoint_manager.launch.py