Ask Your Question
1

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

Comments

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

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

1 Answer

Sort by » oldest newest most voted
3

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

Comments

2

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 imageMartin 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 imageTom Moore ( 2018-07-30 04:04:06 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

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

Seen: 1,083 times

Last updated: Jul 24 '18