0
\$\begingroup\$

I try to measure distances with the 3 axis accelerometer that is part of the lsm9ds1. therefore i measure the acceleration in x-axis and y-axis every 5ms and double integrate it over the time. I can already correctly measure the movement along the x- or y-axis with a precision +-1cm.

The problem is that, when i move the modul, in which the sensor is contained, along one axis, the data shows me that there is also an acceleration along the other axis. Because of this i get wrong distances when i move the module freely around the table. Has anyone experienced such behavior before and knows an answer? The data sheet of the lsm9ds1 Thanks in advance!

enter image description here

\$\endgroup\$
  • 1
    \$\begingroup\$ Have you constructed an appropriate and calibrated accelerometer response transform to deal with non-orthogonality? \$\endgroup\$ – jonk Sep 26 '17 at 22:11
1
\$\begingroup\$

Sensors will not always provide ideal behaviour. Each accelerometer that is manufactured would give slightly different results for the same scenario, due to the unique physical characteristics of each. To get accurate results you really need to calibrate each sensor individually. This requires testing under different conditions.

The issue you are facing is due to what is called cross-axis effect. This is the tendency of a value on one axis to effect the output of another. This is generally caused by an imperfect alignment of the sensor axes during manufacture. This is inevitable, as perfect orthogonality is nearly impossible to achieve. There is no way to correct this by modifying the sensor - the only way to compensate for this is to perform calibration testing to determine how much values on each axis impact one another and adjust the outputs accordingly.

You may also want to look at another method of obtaining displacement rather than simply double integrating, as this can produce extremely large errors over time and distance and can result in a large velocity and displacement drift.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.