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) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 2.1.0 |
README
日本語 | English |
rt_usb_9axisimu_driver
株式会社アールティが販売しているUSB出力9軸IMUセンサモジュール用のROS 2パッケージです。
現在、以下のROSのディストリビューションに対応しております。
- Melodic (
melodic-devel
) - Noetic (
noetic-devel
) - Foxy (
foxy-devel
) - Humble (
humble-devel
)
| | industrial_ci | source build | amd64 binary | arm64 binary |
|:—:|:—:|:—:|:—:|:—:|
| main develop
(master
) | | - | - | - | - |
| ROS 2 develop
(ros2-devel
) | | - | - | - | - |
| Bionic + Melodic
(melodic-devel
) | | | | |
| Focal + Noetic
(noetic-devel
) | | - | - | - | - |
| Focal + Foxy
(foxy-devel
) | | | | |
TODO: Add Jammy + Humble
1. 概要
rt_usb_9axisimu_driverは株式会社アールティが販売している USB出力9軸IMUセンサモジュール のROS 2パッケージです。
株式会社アールティによって開発、メンテナンスがなされています。
- License: The 3-Clause BSD License
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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
に遷移します
- 9軸IMUセンサの認識に失敗したら
4.1.3 Inactive state
- トピックをパブリッシュしません
4.1.4 Activating transition
- 9軸IMUセンサと定期通信を開始します
- 9軸IMUセンサとの通信に失敗したら
Unconfigured state
に遷移します
- 9軸IMUセンサとの通信に失敗したら
- トピックのパブリッシュを開始します
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.
CONTRIBUTING
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 | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 1.0.1 |
README
日本語 | English |
rt_usb_9axisimu_driver
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 (
kinetic-devel
) - Melodic (
melodic-devel
) - Noetic (
noetic-devel
) - Dashing (
dashing-devel
) - Foxy (
foxy-devel
)
industrial_ci | source build | amd64 binary | arm64 binary | ||
---|---|---|---|---|---|
main develop ( master ) |
- | - | - | - | |
ROS 2 develop ( ros2-devel ) |
- | - | - | - | |
Xenial + Kinetic ( kinetic-devel ) |
|||||
Bionic + Melodic ( melodic-devel ) |
|||||
Focal + Noetic ( noetic-devel ) |
- | - | - | - | |
Bionic + Dashing ( dashing-devel ) |
|||||
Focal + Foxy ( foxy-devel ) |
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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)
CONTRIBUTING
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 | 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) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 2.0.0 |
README
日本語 | English |
rt_usb_9axisimu_driver
ROS 2 package for USB Output 9-axis IMU sensor module.
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パッケージです。
株式会社アールティによって開発、メンテナンスがなされています。
- License: The 3-Clause BSD License
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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
に遷移します
- 9軸IMUセンサの認識に失敗したら
3.1.3 Inactive state
- トピックをパブリッシュしません
3.1.4 Activating transition
- 9軸IMUセンサと定期通信を開始します
- 9軸IMUセンサとの通信に失敗したら
Unconfigured state
に遷移します
- 9軸IMUセンサとの通信に失敗したら
- トピックのパブリッシュを開始します
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.
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/rt-net/rt_usb_9axisimu_driver.git |
VCS Type | git |
VCS Version | foxy-devel |
Last Updated | 2020-12-01 |
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) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 2.0.1 |
README
日本語 | English |
rt_usb_9axisimu_driver
ROS 2 package for USB Output 9-axis IMU sensor module.
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パッケージです。
株式会社アールティによって開発、メンテナンスがなされています。
- License: The 3-Clause BSD License
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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
に遷移します
- 9軸IMUセンサの認識に失敗したら
3.1.3 Inactive state
- トピックをパブリッシュしません
3.1.4 Activating transition
- 9軸IMUセンサと定期通信を開始します
- 9軸IMUセンサとの通信に失敗したら
Unconfigured state
に遷移します
- 9軸IMUセンサとの通信に失敗したら
- トピックのパブリッシュを開始します
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.
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/rt-net/rt_usb_9axisimu_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-05-19 |
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) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 1.0.1 |
README
日本語 | English |
rt_usb_9axisimu_driver
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 (
kinetic-devel
) - Melodic (
melodic-devel
) - Noetic (
noetic-devel
) - Dashing (
dashing-devel
) - Foxy (
foxy-devel
)
industrial_ci | source build | amd64 binary | arm64 binary | ||
---|---|---|---|---|---|
main develop ( master ) |
- | - | - | - | |
ROS 2 develop ( ros2-devel ) |
- | - | - | - | |
Xenial + Kinetic ( kinetic-devel ) |
|||||
Bionic + Melodic ( melodic-devel ) |
|||||
Focal + Noetic ( noetic-devel ) |
- | - | - | - | |
Bionic + Dashing ( dashing-devel ) |
|||||
Focal + Foxy ( foxy-devel ) |
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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)
CONTRIBUTING
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 | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
rt_usb_9axisimu_driver | 1.0.1 |
README
日本語 | English |
rt_usb_9axisimu_driver
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 (
kinetic-devel
) - Melodic (
melodic-devel
) - Noetic (
noetic-devel
) - Dashing (
dashing-devel
) - Foxy (
foxy-devel
)
industrial_ci | source build | amd64 binary | arm64 binary | ||
---|---|---|---|---|---|
main develop ( master ) |
- | - | - | - | |
ROS 2 develop ( ros2-devel ) |
- | - | - | - | |
Xenial + Kinetic ( kinetic-devel ) |
|||||
Bionic + Melodic ( melodic-devel ) |
|||||
Focal + Noetic ( noetic-devel ) |
- | - | - | - | |
Bionic + Dashing ( dashing-devel ) |
|||||
Focal + Foxy ( foxy-devel ) |
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 パブリッシュされるトピック
- /imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
- /imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
- /imu/temperature(std_msgs/Float64)
- センサの温度データ
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)