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

IMU data to be used with robot_localization

asked 2018-07-24 09:21:05 -0600

Subodh Malgonde gravatar image

updated 2018-07-24 11:33:37 -0600

I am using the package robot_localization with an IMU. In the docs, the Preparing Your Data for Use with robot_localization, it says

Adherence to specifications: As with odometry, be sure your data adheres to REP-103 and the sensor_msgs/Imu specification. Double-check the signs of your data, and make sure the frame_id values are correct.

REP-103 says the axes should be oriented in the following fashion:

  • x forward
  • y left
  • z up

Which means when an IMU is placed in its neutral position (flat on the surface), the axes should look like this:

So for acceleration due to gravity, it should measure - (minus) 9.8 meters per second squared for the Z axis. However the docs say:

Acceleration: Be careful with acceleration data. The state estimation nodes in robot_localization assume that an IMU that is placed in its neutral right-side-up position on a flat surface will:

  • Measure +9.81 meters per second squared for the Z axis.
  • If the sensor is rolled +90 degrees (left side up), the acceleration should be +9.81 meters per second squared for the Y axis.
  • If the sensor is pitched +90 degrees (front side down), it should read -9.81 meters per second squared for the X axis.

This would mean the axes are oriented in the following manner, implying left handed coordinate system:

I am definitely missing something here. Can anyone help?

edit retag flag offensive close merge delete


@Tom Moore I avoided posting an issue in the robot_localization repository since most recent issues have been directed towards . Please help.

Subodh Malgonde gravatar image Subodh Malgonde  ( 2018-07-24 09:23:46 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2018-07-24 11:38:37 -0600

Subodh Malgonde gravatar image

updated 2018-07-24 11:39:34 -0600

I found the answer to my question. See these 2 posts:

  1. IMU convention for robot_localization
  2. Why do 3-axis accelerometers seemingly have a left-handed coordinate system?

To summarize, in static condition the IMU measures the opposite of gravity acceleration.

edit flag offensive delete link more



That's the perfect answer to the question. Thanks for taking the time to answer your own question and helping others! :)

Martin Günther gravatar image Martin Günther  ( 2018-07-24 14:52:49 -0600 )edit

Apologies for not responding in a timely fashion, but I'm glad you were able to track down the correct answer!

Tom Moore gravatar image Tom Moore  ( 2018-07-30 04:04:06 -0600 )edit

Question Tools



Asked: 2018-07-24 09:21:05 -0600

Seen: 2,161 times

Last updated: Jul 24 '18