Skip to main content
Associate
December 4, 2023
Solved

Seeking Assistance: Overcoming Linear Acceleration Impact on Inclination data from LSM6DSO

  • December 4, 2023
  • 3 replies
  • 3023 views

Hello ST Community,

I'm currently evaluating a project that requires accurate roll and pitch measurements under light to medium acceleration, preferably in quaternions. I initially tried the BNO085 sensor with its integrated sensor fusion processor, but was unhappy with its accuracy and repeatability, falling short of my 0.1 degrees target.

To explore ST's offerings, I used a Nucleo-F401RE in conjunction with the IKS01A3. For data visualization, I relied on the Unicleo-GUI to display the Dynamic Inclination data from the board (using the X-CUBE-MEMS1 software package and MotionDI middleware -> DynamicInclinometer example). I tested this setup with both the magnetometer enabled and disabled, aiming to minimize reliance on the mag moving forward. However, I found both configurations delivered similar results, which suggests the magnetometer may not be a deciding factor for the sensor fusion algorithm to correct the shortcomings of the accelerometer and gyro.

The measurement accuracy and repeatability are great, but an issue arose that the BNO085 had effectively counteracted: Linear acceleration affecting the Pitch and Roll measurements. With light shaking along a flat surface,  the measurements are jumping by ± 5-10 degrees.

This Signalquest video from nine years ago concisely illustrates what I am trying to achieve. I was hoping for the Middle (green) indicator performance, but unfortunately, the end result mirrors the Right (orange) one when observing the Unicleo-GUI. Here's the link for reference:

https://youtu.be/g1q2Gat-yJo?si=sRHP5xYvyexavA26&t=58

Has anyone else tackled a similar issue or could point me towards useful resources? Any assistance would be greatly appreciated!

Thank you!

 

Something I noticed: The iPhone seems to do this very well too. I tested it using the “IMU Utility” app and the measurements are pretty precise and “acceleration proof”. Apple also seems to only rely on an off the shelf 6 axis IMU from Bosch to achieve this.

This topic has been closed for replies.
Best answer by Federica Bossi

Hi @alexwall ,

As the UM2724 suggests, you should increase ATime and decrease FRTime to have an algorhytm more reliant on the gyroscope.

You can also try to adjust (increase) the AccThr parameter to have a wider set of stable points, and the other parameters of the MDI_gyro_cal_knobs_t (described at page 4 of the UM can help).

3 replies

alexwallAuthor
Associate
December 5, 2023

I read through the MotionDI documentation again and found the ATime parameter. After setting it to its maximum value of 5, the output got a lot better (for my use case). I will evaluate if that is good enough later. If you have any other input, it is still highly appreciated.

Federica Bossi
Federica BossiBest answer
Technical Moderator
December 5, 2023

Hi @alexwall ,

As the UM2724 suggests, you should increase ATime and decrease FRTime to have an algorhytm more reliant on the gyroscope.

You can also try to adjust (increase) the AccThr parameter to have a wider set of stable points, and the other parameters of the MDI_gyro_cal_knobs_t (described at page 4 of the UM can help).

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
alexwallAuthor
Associate
December 5, 2023

Thank you. Sometimes carefully reading the manual can work wonders. I will play around with the parameters in the next days :)