Giter Site home page Giter Site logo

soarbear / haya_imu_ros2 Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 1.0 265 KB

ROS2(humble) Package for 9-axis IMU/AHRS haya_imu v3. With Normal Output Mode, Demonstration Mode, Calibration Mode, simultaneous output (Max1000Hz BE) of 6-axis rotation vector quaternion, 9-axis rotation vector quaternion, 3-axis Euler angle.haya_imu carries ICM-42688 and MMC5983MA.

Home Page: https://memo.soarcloud.com/9axis-imu-icm42688mmc5983-ros-ros2-usb/

License: BSD 3-Clause "New" or "Revised" License

CMake 1.31% C++ 78.27% Python 18.97% Shell 1.45%
9axis ahrs ros2-humble imu ros-package usb icm-42688 mmc5983ma

haya_imu_ros2's Introduction

haya_imu_ros2

icm-42688+mmc5983ma=9軸センサー

0. はじめに

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として公開しています。

1. 対向環境

  • Ubuntu 22.04 / ROS2 humble 推奨

2. 使用手順

2.1 haya_imu_ros2のインストール

$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

2.2 USBでの接続

haya_imuを対向装置へUSBで接続できた場合、赤LEDが常時点灯することを確認できます。

2.3 USBシリアルポート番号の固定

  • 以下ルールの作成によって、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

2.4 パラメータの確認

params.yamlに載ってあるパラメータの値を確認して、目的、必要に応じて変更してください。

2.5 ROS2 LAUNCH

  • 通常出力モード、キャリブレーションモードの場合

$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

9軸IMU=icm-42688+mmc5983maデータシュージョンデモ

2.6 Topic、tfの確認

  • メッセージのタイプ

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

2.7 キャリブレーション

製品マニュアルを参照してください。

2.8 (オプション)DDSの切り替え

以下の手順より、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

3. リリース

  • v3.2 April 2023 新規リリース

4. ライセンス

  • 本ROSパッケージ(haya_imu_ros2)に対して、BSD-3-Clauseが適用されます。

5. 詳細情報

9軸センサー6軸&9軸回転ベクトル 3軸オイラー角 MAX1000Hz同時出力 ROS/ROS2対応 USB接続 | ROBOT翔

haya_imu_ros2's People

Contributors

soarbear avatar

Stargazers

 avatar

Forkers

motii8128

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.