rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 2.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 dashing-devel
Last Updated 2020-09-03
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Package 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

ROS 2 package for USB Output 9-axis IMU sensor module.

industrial_ci

usb-9axisimu

Installation

$ cd ~/ros2_ws/src
# Clone package & checkout ROS 2 branch
$ git clone -b dashing-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

QuickStart

# 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

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 rt_usb_9axisimu_driver

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

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

2.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)

3. ROS 2 特有の使い方

3.1 Lifecycle

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

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

3.1.1 Unconfigured state

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

3.1.2 Configuring transition

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

3.1.3 Inactive state

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

3.1.4 Activating transition

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

3.1.5 Active state

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

3.1.6 Deactivating transition

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

3.1.7 CleaningUp transition

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

3.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.

3.2 Component

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

3.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.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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 1.0.0
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 2020-07-28
Dev Status DEVELOPED
CI status
Released RELEASED
Package 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

industrial_ci

rt_usb_9axisimu_driverは株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROSパッケージです。
株式会社アールティによって開発、メンテナンスがなされています。 - License: The 3-Clause BSD License - Source: https://github.com/rt-net/rt_usb_9axisimu_driver.git (branch: master)

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

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. インストール

現在、Debianパッケージの配布は行っておりません。ソースからインストールを行ってください。
catkinワークスペースを~/catkin_wsとすると、以下のような手順になります。

$ cd ~/catkin_ws/src
$ git clone 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.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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

rt_usb_9axisimu_driver package from rt_usb_9axisimu_driver repo

rt_usb_9axisimu_driver

Package Summary

Tags No category tags.
Version 1.0.0
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 master
Last Updated 2020-07-28
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Package 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

industrial_ci

rt_usb_9axisimu_driverは株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROSパッケージです。
株式会社アールティによって開発、メンテナンスがなされています。 - License: The 3-Clause BSD License - Source: https://github.com/rt-net/rt_usb_9axisimu_driver.git (branch: master)

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

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. インストール

現在、Debianパッケージの配布は行っておりません。ソースからインストールを行ってください。
catkinワークスペースを~/catkin_wsとすると、以下のような手順になります。

$ cd ~/catkin_ws/src
$ git clone 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.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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org