Documentation Status

Cannot load information on name: myahrs_driver, distro: electric, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: myahrs_driver, distro: fuerte, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: myahrs_driver, distro: groovy, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: myahrs_driver, distro: hydro, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

Package Summary

Released Continuous integration Documented

myahrs_driver is a driver package for the WITHROBOT's myAHRS+. The myAHRS+ is a low cost high performance AHRS(Attitude Heading Reference System) with USB/UART/I2C interface. The myAHRS+ board contains a 3-axis 16-bit gyroscope, a 3-axis 16-bit accelerometer and a 3-axis 13-bit magnetometer. The driver should also work with USB port.

Cannot load information on name: myahrs_driver, distro: jade, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

Package Summary

Released Continuous integration Documented

myahrs_driver is a driver package for the WITHROBOT's myAHRS+. The myAHRS+ is a low cost high performance AHRS(Attitude Heading Reference System) with USB/UART/I2C interface. The myAHRS+ board contains a 3-axis 16-bit gyroscope, a 3-axis 16-bit accelerometer and a 3-axis 13-bit magnetometer. The driver should also work with USB port.

Cannot load information on name: myahrs_driver, distro: lunar, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

Overview

This is a driver package for the WITHROBOT's myAHRS+ from lilliputdirect and hardkernel . The myAHRS+ is a low cost high performance AHRS(Attitude Heading Reference System) with USB/UART/I2C interface. The myAHRS+ board contains a 3-axis 16-bit gyroscope, a 3-axis 16-bit accelerometer and a 3-axis 13-bit magnetometer. The driver should also work with USB port.

Axes Convention

myahrs_plus_axes.png

The myAHRS+ board used NED type. The myahrs_driver contained in this package converts to the frame conventions of ROS (use the east north up (ENU) convention and right hand rule) before publishing the msgs. The driver use the coordinate frame below. Please see REP-0103 for more information.

  • x forward
  • y left
  • z up
  • NED type IMU: x-north, y-east, z-down, relative to magnetic north.
  • ENU type IMU: x-east, y-north, z-up, relative to magnetic north.

Original Source

The original source (not support ROS) is maintained github below and tutorials are on the corresponding wiki page. A 3D visualization test like 3D-box is included in this original source. This package used the myAHRS+ SDK below.

https://github.com/withrobot/myAHRS_plus

Video

This is a visualization demonstration using RViz.

Installation

Install the package:

sudo apt-get install ros-indigo-myahrs-driver

Install the package from the github:

cd ~/catkin_ws/src
git clone https://github.com/robotpilot/myahrs_driver.git
cd ~/catkin_ws && catkin_make

Run

Run the driver like so:

rosrun myahrs_driver myahrs_driver _port:=/dev/ttyACM0

or

roslaunch myahrs_driver myahrs_driver.launch

Nodes

myahrs_driver

myahrs_driver node is a driver for the myAHRS+ Inertial Measurement Unit(IMU). It publishes orientation, angular velocity and linear acceleration as well as their covariances, and complies with the REP103 and REP145 (draft) about conventions for IMU sensor drivers.

Published Topics

imu/data_raw (sensor_msgs/Imu)
  • raw data of linear_acceleration and angular_velocity from device.
imu/data (sensor_msgs/Imu)
  • orientation, linear_acceleration, and angular_velocity data from device.
imu/mag (sensor_msgs/MagneticField)
  • magnetic_field data from device.
imu/temperature (std_msgs/Float64)
  • Temperature sensed from device, in degrees centigrade.

Parameters

~port (string, default: /dev/ttyACM0)
  • The port the imu is running on.
~baud_rate (int, default: 115200)
  • Baud rate of serial device.
~frame_id (string, default: imu_link)
  • The frame ID to set in outgoing messages.
~parent_frame_id_ (string, default: base_link)
  • The parent frame ID of frame_id(imu_link) to use the tf.
~linear_acceleration_stddev (double, default: 0.026831)
  • Square root of the linear_acceleration_covariance diagonal elements in m/s^2.
~angular_velocity_stddev (double, default: 0.002428)
  • Square root of the angular_velocity_covariance diagonal elements in rad/s.
~magnetic_field_stddev (double, default: 0.00000327486)
  • Square root of the magnetic_field_covariance diagonal elements in Tesla.
~orientation_stddev (double, default: 0.002143)
  • Square root of the orientation_covariance diagonal elements in rad.

Communication Protocol Manual and Forum

The myAHRS+ protocol can be found here. The Forum for myAHRS+ user can be found here.

Report a bug

https://github.com/robotpilot/myahrs_driver/issues

Wiki: myahrs_driver (last edited 2015-03-11 08:01:16 by GvdHoorn)