ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

IMU Sensor

asked 2013-10-17 14:22:31 -0600

Dereck gravatar image

I have a cheap 10-DoF IMU and would like to bring this data into ROS for use in the best way possible. I have it publishing the raw values from the device as an Imu message, but would like to be able to calibrate the biases and convert the data to SI units per the Imu message definition. What is the best way to go about this, are there existing nodes and or libraries for this task? It seems that many IMU's produce an orientation output whereas I need to calculate this on my own but I'd much rather use a library than re-invent the wheel if possible.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-10-18 20:03:32 -0600

Chad Rockey gravatar image

updated 2013-10-18 20:06:03 -0600

Sounds like you most know of what you need to do. I take it you have an /imu_raw topics (composed of raw sensor byte outputs), you should also publish an /imu that's scaled into SI units.

The right messages are:

Some available attitude filters:

(Maybe one day once I have enough free time/consistent schedule to finish my overhaul of ROS sensor fusion package, graft:)

One implementation that I know works well is Androids, it wouldn't be too difficult to wrap the AOSP source in a thin ROS wrapper:

Video of Android's algorithm:

As for elevation, for my ROSCon talk, I just implemented a quick accumulator that smoothed the altitude offset from where I started the node. The algorithm for altitude from barometric pressure is here:

One of these days, I'd like to see a ROS node that polls local barometric pressure references from airports using GPS.

Oh, and there are also a few miscellaneous tools here:

edit flag offensive delete link more


This is exactly what I was looking for, thank you!

Dereck gravatar image Dereck  ( 2013-10-19 05:39:44 -0600 )edit

Question Tools



Asked: 2013-10-17 14:22:31 -0600

Seen: 2,927 times

Last updated: Oct 18 '13