False acceleration readings from S-FUSION with K64F

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

False acceleration readings from S-FUSION with K64F

跳至解决方案
864 次查看
haneybriggs
Contributor II

Hello I am using the S-FUSION development kit with the K64F MCU. I am confused about the data I am receiving. I am reading the acceleration data while keeping the board still, and getting readings of around 0.7 m/s^2 in the Y direction and about 0.07 in the X direction. I am trying to use the acceleration to measure distance, but I can't even get close with the readings this way. Without moving the board, I am getting a displacement of almost 12 meters per 5 seconds. Any reason for this and is there a way I can fix it?

标签 (1)
0 项奖励
1 解答
601 次查看
markpedley
NXP Employee
NXP Employee

This is not unexpected and there are two explanations. I assume you're looking at the linear acceleration output in the global frame.

Consumer grade accelerometers are factory calibrated to (typically) 30mg to 50mg so your error of 0.7m/s2 = 70mg is not unreasonable particularly when any orientation error maps in an additional error of 17mg per deg orientation error.

Single integration of acceleration to obtain velocity and double integration to obtain displacement is simply not feasible with consumer grade sensors since integration errors increase steadily with time and cannot be controlled.

The raw acceleration output (global frame) is the limit of what's achievable.

在原帖中查看解决方案

0 项奖励
2 回复数
602 次查看
markpedley
NXP Employee
NXP Employee

This is not unexpected and there are two explanations. I assume you're looking at the linear acceleration output in the global frame.

Consumer grade accelerometers are factory calibrated to (typically) 30mg to 50mg so your error of 0.7m/s2 = 70mg is not unreasonable particularly when any orientation error maps in an additional error of 17mg per deg orientation error.

Single integration of acceleration to obtain velocity and double integration to obtain displacement is simply not feasible with consumer grade sensors since integration errors increase steadily with time and cannot be controlled.

The raw acceleration output (global frame) is the limit of what's achievable.

0 项奖励
601 次查看
michaelestanley
NXP Employee
NXP Employee

How are you reading the values?  Accelerometers measure the sum of gravity and linear acceleration.  So if you are looking at the raw accelerometer readings for an at-rest sensor, you should get X2+Y2+Z2 ~ 1g.  This is what I expect you are looking at.  What you want to look at is the linear acceleration output of the fusion algorithm.

That said, using a double integration to compute distance from linear acceleration is usually considered a non-starter.  Any noise in the accelerometer output will be integrated twice, and the result with explode with time.  This is a classic physics 101 mistake.  If you have other system inputs (like GPS or wireless beacons) to periodically (every few seconds) rebaseline position, then you can merge in IMU information to interpolate between points, but that is probably the best you are going to be able to do.

0 项奖励