Electronic – Transient drop in accelerometer gravity reading when in motion

accelerometergravity

I am using Pololu AltIMU-10 v4's accelerometer to monitor the acceleration of my system.
I understand that when the sensor is placed upright on the table, it should measure 1g in the +ve z-axis. However, when I place it on the table and slide it on the table in x and y directions, I see that this measured 1g in z-axis drops during the motion and goes back to 1g after the motion ends. This change in the z-axis readings is always in form of a drop regardless of the actual motion being in +ve or -ve x or y directions.

In the graph below, I carried out the motion sequence below:

  1. Sliding motion in -ve x-axis on the table.
  2. Sliding motion in +ve y-axis on the table.
  3. Handheld upward motion in +ve z-axis in the air.
  4. Handheld downward motion in -ve z-axis in the air.
  5. Sliding motion in -ve y-axis on the table.
  6. Sliding motion in +ve x-axis on the table.
  7. Random rotations of the sensor to see the change in the measured gravity.

Accelerometer readings and the calculated magnitude (norm)

It is seen that although the expected acceleration in the axis of motion is measured, the measured gravity drops during the motion. Is this the expected behaviour for an accelerometer?

If yes, how can I remove this transient drop from my readings? I understand that the gravity component may be removed by referring the global [0 0 1] vector to the sensor frame and subtracting it from the sensor measurement. But that doesn't help with this transient drop.

Best Answer

It could be inherent to the sensor technology used. If they use spring-loaded mass for sensing, you might expect that the force vector is offset to a certain extent during lateral movement. If you assume, that total length of spring is limited, then it gets clipped on Z-axis to the remaining length allowed for movement.

E.g. sum of forces E is constant 1 (or something slightly above it). If you have only gravity working on it, it "consumes" most of it. If you introduce lateral movement on +X axis with magnitude > 1, then Z drops to 0, for it's "overpowered". If you introduce movement on +X axis with magnitude less than 1 (say, 0.5), then you get much lower dip in Z, but it's still present. Which seems to be the case.

Damn, it's difficult to explain, but I have it somewhere in my headspace :) This image should illustrate it somewhat: enter image description here except here springs are ideal, while in reality they have stiffness and elasticity coefficients, which limit the "ceiling"

I haven't used this particular STM sensor, but others by them (LIS2/3) don't seem to exhibit such properties.