日本語 | English
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 ) |
このパッケージは、USB出力9軸IMUセンサモジュールをROSから使用するためのドライバを提供するものです。
USB出力9軸IMUセンサモジュールは、センサとしてInvenSense社のMPU9250を使用しております。
このセンサの磁気センサの座標系はNED座標系(x-north, y-east, z-down)ですが、
モジュール内のマイコン(LPC1343)においてENU座標系(x-east, y-north, z-up)に変換され、
ジャイロセンサおよび加速度センサの座標系と揃えられております。
これはROSで使われる座標系のルールにも適合しています。詳しくは、REP-0103をご覧ください。
USB出力9軸IMUセンサモジュールはオープンハード・オープンソースのため、モジュール内のマイコンのファームウェアの変更が可能です。
このROSパッケージはデフォルトのファームウェアにのみ対応しております。ファームウェアを変更された場合、正常な動作ができなくなる恐れがございますので、ご了承ください。
2018年10月現在、販売されているUSB出力9軸IMUセンサモジュールはver2.0となります。
このバージョンのデフォルトのファームウェアには、ASCII出力とBinary出力の2つのデータ出力形式があります。
センサ出荷時点ではASCII出力に設定されています。出力形式の切り替え方法は、以下のリポジトリにあるマニュアルをご参照ください。
https://github.com/rt-net/RT-USB-9AXIS-00
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
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
と入力することにより、ドライバを起動できます。
ポートの権限を変更してください。
$ sudo chmod 666 /dev/ttyACM0
rt_usb_9axisimu_driverはUSB出力9軸IMUセンサモジュールの出力を受信し、角速度と並進加速度・磁束密度をパブリッシュします。
-
/imu/data_raw(sensor_msgs/Imu)
- 並進加速度と角速度の生データ
-
/imu/mag(sensor_msgs/MagneticField)
- 磁束密度の生データ
-
/imu/temperature(std_msgs/Float64)
- センサの温度データ
-
~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)