我当时正在考虑为 Android 手机实现一个惯性导航系统,我意识到,考虑到加速度计的准确性和读数的不断波动,这很难实现。
首先,我把手机放在一个平面上,从 X 和 Y 两个方向采集了1000个加速度计读数(与桌子平行,所以这两个方向没有重力作用)。然后我对这些读数进行平均,并使用这个值来校准手机(从后续的每个读数中减去这个值)。
然后,我再次把它放在桌子上,从 X 和 Y 两个方向采样5000个加速度计读数,测试了这个系统。我希望,根据校准,这些加速度在每个方向上应该加起来为0(大致)。然而,情况并非如此,超过5000次迭代的总加速度远远不及0(每个轴上的平均加速度约为10)。
我意识到如果没有看到我的代码,这可能很难回答,但从更一般的意义上来说..。
这只是一个例子,如何不准确的加速度计读数在移动电话(HTC Desire S) ,还是更有可能是我在我的编码中有一些错误?