cancel
Showing results for 
Search instead for 
Did you mean: 

LSM6DSV16X pitch / roll angle heavily influenced by longitudinal / lateral acceleration

Shuai
Associate II

Hello ST Community,

Test Environment

HW:

STEVAL-MKI227KA

STEVAL-MKI109V3

 

SW:

Unico-GUI or MEMS-Studio

 

Phenomenon

The pitch/roll angle generated by LSM6DSV16X SFLP is heavily influenced by longitudinal / lateral acceleration. E.g., if I mount the MEMS board in a car, the pitch angle can varied more than ±15° while the car is accelerating or decelerating. The problem is quite similar with this post: Solved: Re: Seeking Assistance: Overcoming Linear Accelera... - STMicroelectronics Community I tried adjusting the ODR and FS parameters but it didn't help. Disabling the gyro will make the situation even worse (pitch angle varied more than ±30°).

 

Analysis

My goal is to measure the pitch / roll angle on a moving vehicle. However, the sensor fusion output of LSM6DSV16X SFLP does not seem to be able to support this kind of dynamic inclinometer application. And I do not know whether and how can I adjust SFLP configurations to make the algorithm rely more on the gyro instead of acc.

 

Questions

  1. LSM6DSV16X spec shows it has 1.6deg pitch angle accuracy in high dynamic situations. Does my application fits in this scenario? And why is the error violates the spec so much?
  2. As mentioned, are there any configurations of SFLP to support this dynamic inclinometer application?
  3. I noticed there is a MotionDI library in X-CUBE-MEMS1 SW package. But I did not find it in MEMS-Studio (while other MotionXX libs are in it). Will MotionDI library solve my problem? And can I try this lib on my HW (STEVAL-MKI227KA + STEVAL-MKI109V3)? It seems running this lib will require STM32 Nucleo board.
  4. Generally, are there any documents like user guide or application note to help me understand how to configure my IMU for my applications?

 

Thanks in advance!

8 REPLIES 8
Federica Bossi
ST Employee

Hi @Shuai ,

Using MEMS_Studio in default mode (in the quick setup page), only allows the inclinometer to use accelerometer data only, that in dynamic situations can leads to inaccurate angle estimation.

Instead by selecting the sensor fusion mode, when using the inclinometer application, gyroscope data are also used, in order to obtain a more accurate pitch and roll angle estimation.

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.

Hi Federica,

 

Thanks for your reply.

I understand that I should apply sensor fusion mode in this inclinometer application (especially in dynamic scenarios). The problem is the error is still too large in sensor fusion mode. I suppose the SFLP can be somehow configured for this scenario but I've no idea how to do it.

 

Shuai

Hi @Shuai ,

Are you using the latest version of MEMS Studio? If not, can you please try again with it?

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.

Hi Federica,

 

We are using V1.3.0, which is already the latest version.

 

Thanks!

Shuai

Hi @Shuai ,

That's strange, we did the same test, and no issue found. 

Can you send me some pictures of your setup and some logs? Thanks

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.

Hi Federica,

We mounted the IMU device on the car front console and drove the car to perform linear acceleration and deceleration movements on a flat road surface (the acceleration is <0.4g according to the accelerator, and the acceleration/deceleration lasts for several seconds).

Tests were conducted separately in default mode and fusion mode. Data logs obtained by MEMS studio and the screen recording with Inclinometer GUI can be found in the attached file.

In fusion mode, the Inclinometer reading shows pitch angle is -5°~-6° (which is because the front console is not horizontal) and roll angle is 0°~-0.5 ° in static state. As can be seen from the video, acceleration begins at approximately 7s and lasts for several seconds, followed by deceleration between 12s~13s. The pitch angle changes a lot (>10°) during acceleration, which is obviously not the fact since the road is flat and the car pitch angle caused by car movement should be quite small.

In default mode, the phenomenon is similar, except that the error is much larger, since gyro is not used and the result is more sensitive to acceleration movements.

I suppose you may need to perform a high enough and long enough acceleration movement (similar with the car acceleration) to reproduce the issue.

Thanks!

Shuai

 

Hi @Shuai ,

 

Unfortunately, we cannot replicate the problem, everything seems to work correctly but we have no way of testing it in the car under the same conditions as you. If you want such support you can contact our online support system at this link.

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.

Hi Federica,

 

OK. I'll submit a ticket in the system.

 

Thanks!

Shuai