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

IMU sensor coordinates for EKF

Hi, I am using ekf to fuse multiple IMU. I was reading this portion

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.


1.Assume my robot is going 90 degrees vertically UPslope at 9.81m/s^2, my linear_accel.x will be 9.81x2? (gravity (+9.81) + forward acceleration (+9.81))?

2.Assume my robot is going 90 degrees vertically DOWNslope at 9.81m/s^2, my linear_accel.x will be 0? (gravity (-9.81) + forward acceleration (+9.81))?

edit retag close merge delete

Sort by ยป oldest newest most voted

I believe the answer to (1) is yes. Some flight simulators tilt the users backward (so +X is facing up) to simulate forward acceleration.

(2) is trickier intuitively (at least for me), but that must still be correct.

But to test this, I have an IMU whose spec sheet shows its coordinate frames as such. It's right-handed with +Z facing up.

If I point the IMU such that +X is facing down into the ground, I get this:

linear_acceleration:
x: -10.0343017578125
y: -0.4091726839542389
z: -0.002991028130054474


Note that x is negative.

more