-
 

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 2.1.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/rt_usb_9axisimu_driver.git
VCS Type git
VCS Version humble-devel
Last Updated 2024-08-23
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rt_usb_9axisimu_driver package

Additional Links

Maintainers

  • RT Corporation

Authors

  • RT Corporation
日本語 English

rt_usb_9axisimu_driver

株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROS 2パッケージです。

usb-9axisimu

現在、以下のROSのディストリビューションに対応しております。

| | industrial_ci | source build | amd64 binary | arm64 binary | |:—:|:—:|:—:|:—:|:—:| | main develop
(master) | industrial_ci | - | - | - | - | | ROS 2 develop
(ros2-devel) | industrial_ci | - | - | - | - | | Bionic + Melodic
(melodic-devel) | industrial_ci | Build Status | Build Status | Build Status | | Focal + Noetic
(noetic-devel) | industrial_ci | - | - | - | - | | Focal + Foxy
(foxy-devel) | industrial_ci | Build Status |Build Status | Build Status | TODO: Add Jammy + Humble

1. 概要

rt_usb_9axisimu_driverは株式会社アールティが販売している USB出力9軸IMUセンサモジュール のROS 2パッケージです。

株式会社アールティによって開発、メンテナンスがなされています。

1.1 座標軸について

USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。
このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、 モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、 ジャイロセンサおよび加速度センサの座標系と揃えられております。
これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。

1.2 ファームウェア開発について

USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。
このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。

1.3 ver2.0でのご利用について

2020年8月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。
このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。
センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。
https://github.com/rt-net/RT-USB-9AXIS-00

[ERROR] Error opening sensor device, please re-check your devices. が発生する場合

ポートの権限を変更してください。

$ sudo chmod 666 /dev/ttyACM0

2. インストール

ROS Melodic等ROS 1のパッケージについてはmasterブランチのREADMEをご覧ください。

2.1 バイナリをインストールする場合

# ROS 2 Foxy
$ sudo apt install ros-foxy-rt-usb-9axisimu-driver
# ROS 2 Humble 
$ sudo apt install ros-humble-rt-usb-9axisimu-driver

2.2 ソースからインストールする場合

$ cd ~/ros2_ws/src
# Clone package & checkout ROS 2 branch
$ git clone -b $ROS_DISTRO-devel https://github.com/rt-net/rt_usb_9axisimu_driver

# Install dependencies
$ rosdep install -r -y -i --from-paths .

# Build & Install
$ cd ~/ros2_ws
$ colcon build --symlink-install
$ source ~/ros2_ws/install/setup.bash

2.3 クイックスタート

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# Echo topics (Press Ctrl+C for exit)
$ ros2 topic echo /imu/data_raw
$ ros2 topic echo /imu/mag
$ ros2 topic echo /imu/temperature

3. ノード

3.1 rt_usb_9axisimu_driver

rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。

3.1.1 パブリッシュされるトピック

3.1.2 パラメータ

  • ~frame_id (string, default: imu_link)
    • IMUデータのヘッダーにセットされるフレーム名
  • ~port (string, default: /dev/ttyACM0)
    • モジュールが接続されているポート名
  • ~linear_acceleration_stddev (double, default: 0.023145)
    • 並進加速度の共分散行列の対角成分の平方根(m/s^2)
  • ~angular_velocity_stddev (double, default: 0.0010621)
    • 角速度の共分散行列の対角成分の平方根(rad/s)
  • ~magnetic_field_stddev (double, default: 0.00000080786)
    • 磁束密度の共分散行列の対角成分の平方根(T)

4. ROS 2 特有の使い方

4.1 Lifecycle

Lifecycle 機能を使うことで、ノード実行中にUSBの抜き差しや、 トピックのパブリッシュを稼働/停止できます。

各状態での動作内容は次のとおりです。

4.1.1 Unconfigured state

  • USBポート(~port)にアクセスしません
  • トピックをパブリッシュしません

4.1.2 Configuring transition

  • パラメータを反映します
  • USBポート(~port)をオープンし9軸IMUセンサと通信します
    • 9軸IMUセンサの認識に失敗したらUnconfigured stateに遷移します

4.1.3 Inactive state

  • トピックをパブリッシュしません

4.1.4 Activating transition

  • 9軸IMUセンサと定期通信を開始します
    • 9軸IMUセンサとの通信に失敗したらUnconfigured stateに遷移します
  • トピックのパブリッシュを開始します

4.1.5 Active state

  • トピックをパブリッシュします
  • 9軸IMUセンサとの通信に失敗しても状態遷移しません

4.1.6 Deactivating transition

  • 9軸IMUセンサとの定期通信を停止します
  • トピックのパブリッシュを停止します

4.1.7 CleaningUp transition

  • USBポート(~port)をクローズし9軸IMUセンサと通信を終了します

4.1.8 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash

# User can plug-in/out the IMU module at unconfigure state.

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

# Stop publishing
$ ros2 lifecycle set rt_usb_9axisimu_driver deactivate
$ ros2 lifecycle set rt_usb_9axisimu_driver cleanup

# User can plug-in/out the IMU module at unconfigure state.
# User can set parameters of the node.
$ ros2 param set /rt_usb_9axisimu_driver frame_id "imu2-link"
$ ros2 param set /rt_usb_9axisimu_driver port "/dev/ttyACM1"

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

4.2 Component

rt_usb_9axisimu_driver::Driverは Component として実装されているため、共有ライブラリとして実行できます。

4.2.1 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rclcpp_components component_container

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 component load /ComponentManager rt_usb_9axisimu_driver rt_usb_9axisimu_driver::Driver

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

CHANGELOG

Changelog for package rt_usb_9axisimu_driver

2.1.0 (2024-08-23)

  • Fix to get the latest data (#58)
  • Add test for readSensorData() (#57)
  • checkDataFormat() and unit test updates (#54)
  • Add unit tests (#52) Co-authored-by: ShotaAk <<s.aoki@rt-net.jp>>
  • Contributors: YusukeKato

2.0.2 (2023-01-26)

  • Support Humble (#42)
  • Update README to add Foxy support (ROS 2 branch) (#33)
  • Contributors: Daisuke Sato, Shuhei Kozasa

2.0.1 (2020-12-01)

  • Update for foxy (#29)
  • Contributors: Shota Aoki

2.0.0 (2020-09-03)

  • Migrate to ROS 2 Dashing (#26)
  • Contributors: Shota Aoki

1.0.0 (2020-07-21)

  • Contributors: Daisuke Sato, Shota Aoki

Feature updates

  • Rename files (#24)
  • Refactor (#22)
  • Merge binary mode and ascii mode into one node (#19)
  • Support ASCII Mode (#18)
  • Refactor (#17)

Documentation updates

  • Update README.md (#23)
  • docs: Copy contents from wiki page (#16)

CI updates

  • Migrate to GitHub Actions (#14)
  • Merge pull request #11 from rt-net/#7_support_melodic
    • Merge branch 'master' into #7_support_melodic
    • Update TravisCI settings to require test for Melodic
  • Merge pull request #9 from rt-net/#8_fix_travis
    • Update industrial_ci settings
    • Update TravisCI status badge
    • Fix TravisCI settings

Minor updates for ROS Package information \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ * Merge pull request #12 from rt-net/update_packagexml

  • Update package.xml

0.2.0 (2019-12-21)

  • Close node & port at device plugout
  • Fix wrong data output
  • Fix serial port attributes
  • Add serial port settings after port open()
  • Add required attribute to launch file
  • Fix CMake Warnings
  • Add a port argument to launch file
  • Merge pull request #5 from pazeshun/secure-read-bytes Continue reading until all data comes
  • Continue reading until all data comes
  • Don't use travis-python
  • Fix typo in stddev
  • Merge pull request #2 from pazeshun/add-travis-test Add travis test
  • Add build status to README.md
  • Add .travis.yml
  • Contributors: RT Corp, Shota Aoki, ShotaAk, Shun Hasegawa, pazeshun

0.1.2 (2016-03-10) -----------

0.1.1 (2015-09-30) -----------* update to manage different firmware versions

0.1.0 (2015-09-26) -----------* first release for ROS indigo

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rt_usb_9axisimu_driver at Robotics Stack Exchange

No version for distro iron. Known supported distros are highlighted in the buttons above.

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 3.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/rt_usb_9axisimu_driver.git
VCS Type git
VCS Version jazzy
Last Updated 2024-11-07
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rt_usb_9axisimu_driver package

Additional Links

Maintainers

  • RT Corporation

Authors

  • RT Corporation
  • Yusuke Kato
  • Kazushi Kurasawa
日本語 English

rt_usb_9axisimu_driver

industrial_ci

株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROS 2パッケージです。

usb-9axisimu

現在、以下のROSのディストリビューションに対応しております。

1. 概要

rt_usb_9axisimu_driverは株式会社アールティが販売している USB出力9軸IMUセンサモジュール のROS 2パッケージです。

株式会社アールティによって開発、メンテナンスがなされています。

1.1 座標軸について

USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。 このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、 モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、 ジャイロセンサおよび加速度センサの座標系と揃えられております。 これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。

1.2 ファームウェア開発について

USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。 このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。

1.3 ver2.0でのご利用について

2020年8月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。 このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。 センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。 https://github.com/rt-net/RT-USB-9AXIS-00

[ERROR] Error opening sensor device, please re-check your devices. が発生する場合

ポートの権限を変更してください。

$ sudo chmod 666 /dev/ttyACM0

2. インストール

2.1 バイナリをインストールする場合

# ROS 2 Humble
$ sudo apt install ros-humble-rt-usb-9axisimu-driver
# ROS 2 Jazzy (ToDo)
$

2.2 ソースからインストールする場合

$ cd ~/ros2_ws/src
# Clone package & checkout ROS 2 branch
$ git clone -b $ROS_DISTRO https://github.com/rt-net/rt_usb_9axisimu_driver

# Install dependencies
$ rosdep install -r -y -i --from-paths .

# Build & Install
$ cd ~/ros2_ws
$ colcon build --symlink-install
$ source ~/ros2_ws/install/setup.bash

2.3 クイックスタート

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# Echo topics (Press Ctrl+C for exit)
$ ros2 topic echo /imu/data_raw
$ ros2 topic echo /imu/mag
$ ros2 topic echo /imu/temperature

3. ノード

3.1 rt_usb_9axisimu_driver

rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。

3.1.1 パブリッシュされるトピック

3.1.2 パラメータ

  • ~frame_id (string, default: imu_link)
    • IMUデータのヘッダーにセットされるフレーム名
  • ~port (string, default: /dev/ttyACM0)
    • モジュールが接続されているポート名
  • ~linear_acceleration_stddev (double, default: 0.023145)
    • 並進加速度の共分散行列の対角成分の平方根(m/s^2)
  • ~angular_velocity_stddev (double, default: 0.0010621)
    • 角速度の共分散行列の対角成分の平方根(rad/s)
  • ~magnetic_field_stddev (double, default: 0.00000080786)
    • 磁束密度の共分散行列の対角成分の平方根(T)

4. ROS 2 特有の使い方

4.1 Lifecycle

Lifecycle 機能を使うことで、ノード実行中にUSBの抜き差しや、 トピックのパブリッシュを稼働/停止できます。

各状態での動作内容は次のとおりです。

4.1.1 Unconfigured state

  • USBポート(~port)にアクセスしません
  • トピックをパブリッシュしません

4.1.2 Configuring transition

  • パラメータを反映します
  • USBポート(~port)をオープンし9軸IMUセンサと通信します
    • 9軸IMUセンサの認識に失敗したらUnconfigured stateに遷移します

4.1.3 Inactive state

  • トピックをパブリッシュしません

4.1.4 Activating transition

  • 9軸IMUセンサと定期通信を開始します
    • 9軸IMUセンサとの通信に失敗したらUnconfigured stateに遷移します
  • トピックのパブリッシュを開始します

4.1.5 Active state

  • トピックをパブリッシュします
  • 9軸IMUセンサとの通信に失敗しても状態遷移しません

4.1.6 Deactivating transition

  • 9軸IMUセンサとの定期通信を停止します
  • トピックのパブリッシュを停止します

4.1.7 CleaningUp transition

  • USBポート(~port)をクローズし9軸IMUセンサと通信を終了します

4.1.8 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash

# User can plug-in/out the IMU module at unconfigure state.

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

# Stop publishing
$ ros2 lifecycle set rt_usb_9axisimu_driver deactivate
$ ros2 lifecycle set rt_usb_9axisimu_driver cleanup

# User can plug-in/out the IMU module at unconfigure state.
# User can set parameters of the node.
$ ros2 param set /rt_usb_9axisimu_driver frame_id "imu2-link"
$ ros2 param set /rt_usb_9axisimu_driver port "/dev/ttyACM1"

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

4.2 Component

rt_usb_9axisimu_driver::Driverは Component として実装されているため、共有ライブラリとして実行できます。

4.2.1 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rclcpp_components component_container

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 component load /ComponentManager rt_usb_9axisimu_driver rt_usb_9axisimu_driver::Driver

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

CHANGELOG

Changelog for package rt_usb_9axisimu_driver

3.0.0 (2024-11-07)

  • Update CI for ROS 2 Rolling ([https://github.com/rt-net/rt_usb_9axisimu_driver/pull/62]{.title-ref})
  • Support for ROS 2 Jazzy ([https://github.com/rt-net/rt_usb_9axisimu_driver/pull/61]{.title-ref})
  • Fix undefined behavior by storing [std::string]{.title-ref} objects instead of [const char*]{.title-ref} pointers
  • Contributors: Kazushi Kurasawa, YusukeKato

2.1.0 (2024-08-23)

  • Fix to get the latest data (#58)
  • Add test for readSensorData() (#57)
  • checkDataFormat() and unit test updates (#54)
  • Add unit tests (#52) Co-authored-by: ShotaAk <<s.aoki@rt-net.jp>>
  • Contributors: YusukeKato

2.0.2 (2023-01-26)

  • Support Humble (#42)
  • Update README to add Foxy support (ROS 2 branch) (#33)
  • Contributors: Daisuke Sato, Shuhei Kozasa

2.0.1 (2020-12-01)

  • Update for foxy (#29)
  • Contributors: Shota Aoki

2.0.0 (2020-09-03)

  • Migrate to ROS 2 Dashing (#26)
  • Contributors: Shota Aoki

1.0.0 (2020-07-21)

  • Contributors: Daisuke Sato, Shota Aoki

Feature updates

  • Rename files (#24)
  • Refactor (#22)
  • Merge binary mode and ascii mode into one node (#19)
  • Support ASCII Mode (#18)
  • Refactor (#17)

Documentation updates

  • Update README.md (#23)
  • docs: Copy contents from wiki page (#16)

CI updates

  • Migrate to GitHub Actions (#14)
  • Merge pull request #11 from rt-net/#7_support_melodic
    • Merge branch 'master' into #7_support_melodic
    • Update TravisCI settings to require test for Melodic
  • Merge pull request #9 from rt-net/#8_fix_travis
    • Update industrial_ci settings
    • Update TravisCI status badge
    • Fix TravisCI settings

Minor updates for ROS Package information \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ * Merge pull request #12 from rt-net/update_packagexml

  • Update package.xml

0.2.0 (2019-12-21)

  • Close node & port at device plugout
  • Fix wrong data output
  • Fix serial port attributes
  • Add serial port settings after port open()
  • Add required attribute to launch file
  • Fix CMake Warnings
  • Add a port argument to launch file
  • Merge pull request #5 from pazeshun/secure-read-bytes Continue reading until all data comes
  • Continue reading until all data comes
  • Don't use travis-python
  • Fix typo in stddev
  • Merge pull request #2 from pazeshun/add-travis-test Add travis test
  • Add build status to README.md
  • Add .travis.yml
  • Contributors: RT Corp, Shota Aoki, ShotaAk, Shun Hasegawa, pazeshun

0.1.2 (2016-03-10) -----------

0.1.1 (2015-09-30) -----------* update to manage different firmware versions

0.1.0 (2015-09-26) -----------* first release for ROS indigo

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rt_usb_9axisimu_driver at Robotics Stack Exchange

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 3.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/rt_usb_9axisimu_driver.git
VCS Type git
VCS Version jazzy
Last Updated 2024-11-07
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rt_usb_9axisimu_driver package

Additional Links

Maintainers

  • RT Corporation

Authors

  • RT Corporation
  • Yusuke Kato
  • Kazushi Kurasawa
日本語 English

rt_usb_9axisimu_driver

industrial_ci

株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROS 2パッケージです。

usb-9axisimu

現在、以下のROSのディストリビューションに対応しております。

1. 概要

rt_usb_9axisimu_driverは株式会社アールティが販売している USB出力9軸IMUセンサモジュール のROS 2パッケージです。

株式会社アールティによって開発、メンテナンスがなされています。

1.1 座標軸について

USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。 このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、 モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、 ジャイロセンサおよび加速度センサの座標系と揃えられております。 これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。

1.2 ファームウェア開発について

USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。 このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。

1.3 ver2.0でのご利用について

2020年8月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。 このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。 センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。 https://github.com/rt-net/RT-USB-9AXIS-00

[ERROR] Error opening sensor device, please re-check your devices. が発生する場合

ポートの権限を変更してください。

$ sudo chmod 666 /dev/ttyACM0

2. インストール

2.1 バイナリをインストールする場合

# ROS 2 Humble
$ sudo apt install ros-humble-rt-usb-9axisimu-driver
# ROS 2 Jazzy (ToDo)
$

2.2 ソースからインストールする場合

$ cd ~/ros2_ws/src
# Clone package & checkout ROS 2 branch
$ git clone -b $ROS_DISTRO https://github.com/rt-net/rt_usb_9axisimu_driver

# Install dependencies
$ rosdep install -r -y -i --from-paths .

# Build & Install
$ cd ~/ros2_ws
$ colcon build --symlink-install
$ source ~/ros2_ws/install/setup.bash

2.3 クイックスタート

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# Echo topics (Press Ctrl+C for exit)
$ ros2 topic echo /imu/data_raw
$ ros2 topic echo /imu/mag
$ ros2 topic echo /imu/temperature

3. ノード

3.1 rt_usb_9axisimu_driver

rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。

3.1.1 パブリッシュされるトピック

3.1.2 パラメータ

  • ~frame_id (string, default: imu_link)
    • IMUデータのヘッダーにセットされるフレーム名
  • ~port (string, default: /dev/ttyACM0)
    • モジュールが接続されているポート名
  • ~linear_acceleration_stddev (double, default: 0.023145)
    • 並進加速度の共分散行列の対角成分の平方根(m/s^2)
  • ~angular_velocity_stddev (double, default: 0.0010621)
    • 角速度の共分散行列の対角成分の平方根(rad/s)
  • ~magnetic_field_stddev (double, default: 0.00000080786)
    • 磁束密度の共分散行列の対角成分の平方根(T)

4. ROS 2 特有の使い方

4.1 Lifecycle

Lifecycle 機能を使うことで、ノード実行中にUSBの抜き差しや、 トピックのパブリッシュを稼働/停止できます。

各状態での動作内容は次のとおりです。

4.1.1 Unconfigured state

  • USBポート(~port)にアクセスしません
  • トピックをパブリッシュしません

4.1.2 Configuring transition

  • パラメータを反映します
  • USBポート(~port)をオープンし9軸IMUセンサと通信します
    • 9軸IMUセンサの認識に失敗したらUnconfigured stateに遷移します

4.1.3 Inactive state

  • トピックをパブリッシュしません

4.1.4 Activating transition

  • 9軸IMUセンサと定期通信を開始します
    • 9軸IMUセンサとの通信に失敗したらUnconfigured stateに遷移します
  • トピックのパブリッシュを開始します

4.1.5 Active state

  • トピックをパブリッシュします
  • 9軸IMUセンサとの通信に失敗しても状態遷移しません

4.1.6 Deactivating transition

  • 9軸IMUセンサとの定期通信を停止します
  • トピックのパブリッシュを停止します

4.1.7 CleaningUp transition

  • USBポート(~port)をクローズし9軸IMUセンサと通信を終了します

4.1.8 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rt_usb_9axisimu_driver rt_usb_9axisimu_driver

# Terminal 2
$ source ~/ros2_ws/install/setup.bash

# User can plug-in/out the IMU module at unconfigure state.

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

# Stop publishing
$ ros2 lifecycle set rt_usb_9axisimu_driver deactivate
$ ros2 lifecycle set rt_usb_9axisimu_driver cleanup

# User can plug-in/out the IMU module at unconfigure state.
# User can set parameters of the node.
$ ros2 param set /rt_usb_9axisimu_driver frame_id "imu2-link"
$ ros2 param set /rt_usb_9axisimu_driver port "/dev/ttyACM1"

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

4.2 Component

rt_usb_9axisimu_driver::Driverは Component として実装されているため、共有ライブラリとして実行できます。

4.2.1 Example

# Terminal 1
$ source ~/ros2_ws/install/setup.bash
$ ros2 run rclcpp_components component_container

# Terminal 2
$ source ~/ros2_ws/install/setup.bash
$ ros2 component load /ComponentManager rt_usb_9axisimu_driver rt_usb_9axisimu_driver::Driver

$ ros2 lifecycle set rt_usb_9axisimu_driver configure
$ ros2 lifecycle set rt_usb_9axisimu_driver activate
# The node start publishing the topics.

CHANGELOG

Changelog for package rt_usb_9axisimu_driver

3.0.0 (2024-11-07)

  • Update CI for ROS 2 Rolling ([https://github.com/rt-net/rt_usb_9axisimu_driver/pull/62]{.title-ref})
  • Support for ROS 2 Jazzy ([https://github.com/rt-net/rt_usb_9axisimu_driver/pull/61]{.title-ref})
  • Fix undefined behavior by storing [std::string]{.title-ref} objects instead of [const char*]{.title-ref} pointers
  • Contributors: Kazushi Kurasawa, YusukeKato

2.1.0 (2024-08-23)

  • Fix to get the latest data (#58)
  • Add test for readSensorData() (#57)
  • checkDataFormat() and unit test updates (#54)
  • Add unit tests (#52) Co-authored-by: ShotaAk <<s.aoki@rt-net.jp>>
  • Contributors: YusukeKato

2.0.2 (2023-01-26)

  • Support Humble (#42)
  • Update README to add Foxy support (ROS 2 branch) (#33)
  • Contributors: Daisuke Sato, Shuhei Kozasa

2.0.1 (2020-12-01)

  • Update for foxy (#29)
  • Contributors: Shota Aoki

2.0.0 (2020-09-03)

  • Migrate to ROS 2 Dashing (#26)
  • Contributors: Shota Aoki

1.0.0 (2020-07-21)

  • Contributors: Daisuke Sato, Shota Aoki

Feature updates

  • Rename files (#24)
  • Refactor (#22)
  • Merge binary mode and ascii mode into one node (#19)
  • Support ASCII Mode (#18)
  • Refactor (#17)

Documentation updates

  • Update README.md (#23)
  • docs: Copy contents from wiki page (#16)

CI updates

  • Migrate to GitHub Actions (#14)
  • Merge pull request #11 from rt-net/#7_support_melodic
    • Merge branch 'master' into #7_support_melodic
    • Update TravisCI settings to require test for Melodic
  • Merge pull request #9 from rt-net/#8_fix_travis
    • Update industrial_ci settings
    • Update TravisCI status badge
    • Fix TravisCI settings

Minor updates for ROS Package information \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ * Merge pull request #12 from rt-net/update_packagexml

  • Update package.xml

0.2.0 (2019-12-21)

  • Close node & port at device plugout
  • Fix wrong data output
  • Fix serial port attributes
  • Add serial port settings after port open()
  • Add required attribute to launch file
  • Fix CMake Warnings
  • Add a port argument to launch file
  • Merge pull request #5 from pazeshun/secure-read-bytes Continue reading until all data comes
  • Continue reading until all data comes
  • Don't use travis-python
  • Fix typo in stddev
  • Merge pull request #2 from pazeshun/add-travis-test Add travis test
  • Add build status to README.md
  • Add .travis.yml
  • Contributors: RT Corp, Shota Aoki, ShotaAk, Shun Hasegawa, pazeshun

0.1.2 (2016-03-10) -----------

0.1.1 (2015-09-30) -----------* update to manage different firmware versions

0.1.0 (2015-09-26) -----------* first release for ROS indigo

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rt_usb_9axisimu_driver at Robotics Stack Exchange

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 1.0.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/rt_usb_9axisimu_driver.git
VCS Type git
VCS Version noetic-devel
Last Updated 2021-05-19
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rt_usb_9axisimu_driver package

Additional Links

Maintainers

  • RT Corporation

Authors

  • RT Corporation
日本語 English

rt_usb_9axisimu_driver

rt_usb_9axisimu_driverは株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROSパッケージです。
株式会社アールティによって開発、メンテナンスがなされています。

usb-9axisimu

現在、以下のROSのディストリビューションに対応しております。

  industrial_ci source build amd64 binary arm64 binary  
main develop
(master)
industrial_ci - - - -
ROS 2 develop
(ros2-devel)
industrial_ci - - - -
Xenial + Kinetic
(kinetic-devel)
industrial_ci Build Status Build Status Build Status  
Bionic + Melodic
(melodic-devel)
industrial_ci Build Status Build Status Build Status  
Focal + Noetic
(noetic-devel)
industrial_ci - - - -
Bionic + Dashing
(dashing-devel)
industrial_ci Build Status Build Status Build Status  
Focal + Foxy
(foxy-devel)
industrial_ci Build Status Build Status Build Status  

1. 概要

このパッケージは、USB出力9軸IMUセンサモジュールをROSから使用するためのドライバを提供するものです。

1.1 座標軸について

USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。
このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、 モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、 ジャイロセンサおよび加速度センサの座標系と揃えられております。
これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。

1.2 ファームウェア開発について

USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。
このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。

1.3 ver2.0でのご利用について

2018年10月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。
このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。
センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。
https://github.com/rt-net/RT-USB-9AXIS-00

2. インストール

ROS 2のパッケージについてはros2-develのREADMEをご覧ください。

バイナリをインストール

# ROS Kineticの場合
$ sudo apt install ros-kinetic-rt-usb-9axisimu-driver
# ROS Melodicの場合
$ sudo apt install ros-melodic-rt-usb-9axisimu-driver

ソースからインストール

catkinワークスペースを~/catkin_wsとすると、以下のような手順になります。

$ cd ~/catkin_ws/src
$ git clone -b $ROS_DISTRO-devel https://github.com/rt-net/rt_usb_9axisimu_driver.git
$ cd ~/catkin_ws
$ catkin build

3. 使用方法

2のようにインストールを行った場合、ドライバを起動しようとする端末(Terminal)で、

$ source ~/catkin_ws/devel/setup.bash

と入力してください。その後、

$ roscore

# 別の端末で
$ rosrun rt_usb_9axisimu_driver rt_usb_9axisimu_driver

または、

$ roslaunch rt_usb_9axisimu_driver rt_usb_9axisimu_driver.launch

と入力することにより、ドライバを起動できます。

[ERROR] Error opening sensor device, please re-check your devices. が発生する場合

ポートの権限を変更してください。

$ sudo chmod 666 /dev/ttyACM0

4. ノード

4.1 rt_usb_9axisimu_driver

rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。

4.1.1 パブリッシュされるトピック

4.1.2 パラメータ

  • ~frame_id (string, default: imu_link)
    • IMUデータのヘッダーにセットされるフレーム名
  • ~port (string, default: /dev/ttyACM0)
    • モジュールが接続されているポート名
  • ~linear_acceleration_stddev (double, default: 0.023145)
    • 並進加速度の共分散行列の対角成分の平方根(m/s^2)
  • ~angular_velocity_stddev (double, default: 0.0010621)
    • 角速度の共分散行列の対角成分の平方根(rad/s)
  • ~magnetic_field_stddev (double, default: 0.00000080786)
    • 磁束密度の共分散行列の対角成分の平方根(T)
CHANGELOG

Changelog for package rt_usb_9axisimu_driver

1.0.1 (2021-05-13)

  • Contributors: Daisuke Sato, Shota Aoki

Bug fix

  • Fix launch file install path (#36)

Documentation updates

  • Support ROS 1 Noetic (#37)
  • Update README to add Foxy support (ROS 1 branch) (#32)
  • Add build status to README (#28)

1.0.0 (2020-07-21)

  • Contributors: Daisuke Sato, Shota Aoki

Feature updates

  • Rename files (#24)
  • Refactor (#22)
  • Merge binary mode and ascii mode into one node (#19)
  • Support ASCII Mode (#18)
  • Refactor (#17)

Documentation updates

  • Update README.md (#23)
  • docs: Copy contents from wiki page (#16)

CI updates

  • Migrate to GitHub Actions (#14)
  • Merge pull request #11 from rt-net/#7_support_melodic
    • Merge branch 'master' into #7_support_melodic
    • Update TravisCI settings to require test for Melodic
  • Merge pull request #9 from rt-net/#8_fix_travis
    • Update industrial_ci settings
    • Update TravisCI status badge
    • Fix TravisCI settings

Minor updates for ROS Package information

  • Merge pull request #12 from rt-net/update_packagexml
    • Update package.xml

0.2.0 (2019-12-21)

  • Close node & port at device plugout
  • Fix wrong data output
  • Fix serial port attributes
  • Add serial port settings after port open()
  • Add required attribute to launch file
  • Fix CMake Warnings
  • Add a port argument to launch file
  • Merge pull request #5 from pazeshun/secure-read-bytes Continue reading until all data comes
  • Continue reading until all data comes
  • Don't use travis-python
  • Fix typo in stddev
  • Merge pull request #2 from pazeshun/add-travis-test Add travis test
  • Add build status to README.md
  • Add .travis.yml
  • Contributors: RT Corp, Shota Aoki, ShotaAk, Shun Hasegawa, pazeshun

0.1.2 (2016-03-10)

0.1.1 (2015-09-30)

  • update to manage different firmware versions

0.1.0 (2015-09-26)

  • first release for ROS indigo

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rt_usb_9axisimu_driver at Robotics Stack Exchange

No version for distro galactic. Known supported distros are highlighted in the buttons above.

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 1.0.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rt-net/rt_usb_9axisimu_driver.git
VCS Type git
VCS Version melodic-devel
Last Updated 2021-05-19
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rt_usb_9axisimu_driver package

Additional Links

Maintainers

  • RT Corporation

Authors

  • RT Corporation
日本語 English

rt_usb_9axisimu_driver

rt_usb_9axisimu_driverは株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROSパッケージです。
株式会社アールティによって開発、メンテナンスがなされています。

usb-9axisimu

現在、以下のROSのディストリビューションに対応しております。

  industrial_ci source build amd64 binary arm64 binary  
main develop
(master)
industrial_ci - - - -
ROS 2 develop
(ros2-devel)
industrial_ci - - - -
Xenial + Kinetic
(kinetic-devel)
industrial_ci Build Status Build Status Build Status  
Bionic + Melodic
(melodic-devel)
industrial_ci Build Status Build Status Build Status  
Focal + Noetic
(noetic-devel)
industrial_ci - - - -
Bionic + Dashing
(dashing-devel)
industrial_ci Build Status Build Status Build Status  
Focal + Foxy
(foxy-devel)
industrial_ci Build Status Build Status Build Status  

1. 概要

このパッケージは、USB出力9軸IMUセンサモジュールをROSから使用するためのドライバを提供するものです。

1.1 座標軸について

USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。
このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、 モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、 ジャイロセンサおよび加速度センサの座標系と揃えられております。
これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。

1.2 ファームウェア開発について

USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。
このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。

1.3 ver2.0でのご利用について

2018年10月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。
このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。
センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。
https://github.com/rt-net/RT-USB-9AXIS-00

2. インストール

ROS 2のパッケージについてはros2-develのREADMEをご覧ください。

バイナリをインストール

# ROS Kineticの場合
$ sudo apt install ros-kinetic-rt-usb-9axisimu-driver
# ROS Melodicの場合
$ sudo apt install ros-melodic-rt-usb-9axisimu-driver

ソースからインストール

catkinワークスペースを~/catkin_wsとすると、以下のような手順になります。

$ cd ~/catkin_ws/src
$ git clone -b $ROS_DISTRO-devel https://github.com/rt-net/rt_usb_9axisimu_driver.git
$ cd ~/catkin_ws
$ catkin build

3. 使用方法

2のようにインストールを行った場合、ドライバを起動しようとする端末(Terminal)で、

$ source ~/catkin_ws/devel/setup.bash

と入力してください。その後、

$ roscore

# 別の端末で
$ rosrun rt_usb_9axisimu_driver rt_usb_9axisimu_driver

または、

$ roslaunch rt_usb_9axisimu_driver rt_usb_9axisimu_driver.launch

と入力することにより、ドライバを起動できます。

[ERROR] Error opening sensor device, please re-check your devices. が発生する場合

ポートの権限を変更してください。

$ sudo chmod 666 /dev/ttyACM0

4. ノード

4.1 rt_usb_9axisimu_driver

rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。

4.1.1 パブリッシュされるトピック

4.1.2 パラメータ

  • ~frame_id (string, default: imu_link)
    • IMUデータのヘッダーにセットされるフレーム名
  • ~port (string, default: /dev/ttyACM0)
    • モジュールが接続されているポート名
  • ~linear_acceleration_stddev (double, default: 0.023145)
    • 並進加速度の共分散行列の対角成分の平方根(m/s^2)
  • ~angular_velocity_stddev (double, default: 0.0010621)
    • 角速度の共分散行列の対角成分の平方根(rad/s)
  • ~magnetic_field_stddev (double, default: 0.00000080786)
    • 磁束密度の共分散行列の対角成分の平方根(T)
CHANGELOG

Changelog for package rt_usb_9axisimu_driver

1.0.1 (2021-05-13)

  • Contributors: Daisuke Sato, Shota Aoki

Bug fix

  • Fix launch file install path (#36)

Documentation updates

  • Support ROS 1 Noetic (#37)
  • Update README to add Foxy support (ROS 1 branch) (#32)
  • Add build status to README (#28)

1.0.0 (2020-07-21)

  • Contributors: Daisuke Sato, Shota Aoki

Feature updates

  • Rename files (#24)
  • Refactor (#22)
  • Merge binary mode and ascii mode into one node (#19)
  • Support ASCII Mode (#18)
  • Refactor (#17)

Documentation updates

  • Update README.md (#23)
  • docs: Copy contents from wiki page (#16)

CI updates

  • Migrate to GitHub Actions (#14)
  • Merge pull request #11 from rt-net/#7_support_melodic
    • Merge branch 'master' into #7_support_melodic
    • Update TravisCI settings to require test for Melodic
  • Merge pull request #9 from rt-net/#8_fix_travis
    • Update industrial_ci settings
    • Update TravisCI status badge
    • Fix TravisCI settings

Minor updates for ROS Package information

  • Merge pull request #12 from rt-net/update_packagexml
    • Update package.xml

0.2.0 (2019-12-21)

  • Close node & port at device plugout
  • Fix wrong data output
  • Fix serial port attributes
  • Add serial port settings after port open()
  • Add required attribute to launch file
  • Fix CMake Warnings
  • Add a port argument to launch file
  • Merge pull request #5 from pazeshun/secure-read-bytes Continue reading until all data comes
  • Continue reading until all data comes
  • Don't use travis-python
  • Fix typo in stddev
  • Merge pull request #2 from pazeshun/add-travis-test Add travis test
  • Add build status to README.md
  • Add .travis.yml
  • Contributors: RT Corp, Shota Aoki, ShotaAk, Shun Hasegawa, pazeshun

0.1.2 (2016-03-10)

0.1.1 (2015-09-30)

  • update to manage different firmware versions

0.1.0 (2015-09-26)

  • first release for ROS indigo

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rt_usb_9axisimu_driver at Robotics Stack Exchange