Skip to content

f-wada/rt_usb_9axisimu_driver

 
 

Repository files navigation

日本語 | 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)

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.4%
  • CMake 6.6%