linear acceleration issue

Hello,

I’ve BNO080 connected to a RedBoard Arduino, and I’m trying to use the linear acceleration values, but I’m having some trouble.

To my understanding, linear acceleration values change when there is a movement in the linear axis.

Meaning, when the IMU is in the same place, and I’m changing only the angle in Roll and Pitch, I should expect to see 0 in linear acceleration signals(Ax, Ay, Az).

Doing that, the values in linear acceleration signals are not zero (or near zero).

I’ve attached a picture with all the linear acceleration signals.

Throughout the whole record, I didn’t move the IMU in linear axis, only in the Roll and Pitch (short intervals of a few seconds)

The IMU is calibrated, and the OS is ubuntu.

Any suggestions on why is it happening and how to fix it?

Thanks for the help

“Linear acceleration” is a misleading term. It is the acceleration vector remaining after subtracting the acceleration vector due to gravity (the “gravity vector”) from the total acceleration vector.

The gravity vector is estimated from the calculated 3D orientation, and unfortunately, small errors in the 3D orientation lead to large errors in the calculated values of the linear acceleration.

With consumer grade sensors like the BNO080, the errors in the 3D orientation are so large that the “linear acceleration” is essentially useless.

Thanks for the reply!