haya_imu_ros2は、9軸IMU/AHRS haya_imu v3の専用ROS2パッケージです。haya_imuはCortex-M4、ICM-42688、MMC5983MAを搭載しています。主なフィーチャとして、通常出力モード、デモンストレーションモード、キャリブレーションモード、6軸回転ベクトルクォータニオン、9軸回転ベクトルクォータニオン、オイラー角を同時にパブリッシュ(Max1000Hz Best Effort)することと、RVIZにてのデモンストレーションが可能となります。ROSパッケージはリポジトリhaya_imu_rosとして公開しています。
- Ubuntu 22.04 / ROS2 humble 推奨
$cd ~/ros2_ws/src
$git clone https://github.com/soarbear/haya_imu_msgs.git
$git clone https://github.com/soarbear/haya_imu_ros2.git
$cd ~/ros2_ws
$colcon build --packages-select haya_imu_msgs haya_imu_ros2
haya_imuを対向装置へUSBで接続できた場合、赤LEDが常時点灯することを確認できます。
- 以下ルールの作成によって、ttyACM_hayaに固定します。
$chmod +x ~/ros2_ws/src/haya_imu_ros2/script/create_rules.sh
$~/ros2_ws/src/haya_imu_ros2/script/create_rules.sh
$sudo udevadm control --reload-rules && udevadm trigger
- また、以下ルールの削除によって、固定したUSBシリアルポート番号を解除します。
$chmod +x ~/ros2_ws/src/haya_imu_ros2/script/delete_rules.sh
$~/ros2_ws/src/haya_imu_ros2/script/delete_rules.sh
$sudo udevadm control --reload-rules && udevadm trigger
params.yamlに載ってあるパラメータの値を確認して、目的、必要に応じて変更してください。
- 通常出力モード、キャリブレーションモードの場合
$source ~/ros2_ws/install/setup.bash
$ros2 launch haya_imu_ros2 haya_imu_launch.py
- デモンストレーションモードの場合
$source ~/ros2_ws/install/setup.bash
ros2 launch haya_imu_ros2 haya_imu_demo_launch.py
- メッセージのタイプ
imu_data(Message: haya_imu_msgs/msg/ImuData), 通常出力モード、キャリブレーションモード用
tf(Message: geometry_msgs/msg/TransformStamped), デモンストレーションモード用
- Topicのデータを確認する例
$source ~/ros2_ws/install/setup.bash
$ros2 launch haya_imu_ros2 haya_topic_echo_launch.py
もしくは、$ros2 topic echo /imu_data
- Topicの出力レートを確認する例
$source ~/ros2_ws/install/setup.bash
$ros2 launch haya_imu_ros2 haya_topic_hz_launch.py
もしくは、$ros2 topic hz -w 1000 /imu_data
製品マニュアルを参照してください。
以下の手順より、Fast DDS(デフォルト)をCyclone DDS(例)あるいは他のDDSへ切り替えます。
- Fast DDS(デフォルト) → Cyclone DDS
$export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
$printenv RMW_IMPLEMENTATION
$source ~/ros2_ws/install/setup.bash
$ros2 launch haya_imu_ros2 haya_imu_launch.py
- Cyclone DDS → Fast DDS(デフォルト)
$export -n RMW_IMPLEMENTATION
$printenv RMW_IMPLEMENTATION
$source ~/ros2_ws/install/setup.bash
$ros2 launch haya_imu_ros2 haya_imu_launch.py
- v3.2 April 2023 新規リリース
- 本ROSパッケージ(haya_imu_ros2)に対して、BSD-3-Clauseが適用されます。
9軸センサー6軸&9軸回転ベクトル 3軸オイラー角 MAX1000Hz同時出力 ROS/ROS2対応 USB接続 | ROBOT翔