如何获得加速度计轴和运动矢量之间的旋转?

时间:2012-04-18 09:57:50

标签: android algorithm rotation orientation accelerometer

我正在开发Android上的行人导航系统。我目前正在尝试获得3轴加速度计参考和应用于设备的运动之间的旋转矩阵。

假设您手持设备直接向前行走,但加速度计的Y轴(因此设备的Y轴)的方向与您自己的方向不同(基本上就是您)以尴尬的方式重新拿着设备)。 然后,如果我想应用距离(基于步检测),将它们应用于加速度计参考(我知道方向)是错误的:它必须相应地旋转到运动方向。

这就是为什么我想知道你是否可以告诉我一个计算加速度计读数以将它们变成旋转角度(或矩阵)的方法。这种方法必须避免将加速度整合到一次,因为误差在廉价的加速度计上是深度的(否则我认为它很容易执行)。

编辑:磁力计和陀螺仪可以帮助您找到设备的方向,即使在固定时,也不会让您知道设备的移动方向。我有第一个,我正在寻找第二个。基本上:

人类参照(运动方向) - >设备参考(或加速度计参考) - >地球参考

我正在寻找旋转矩阵的方法,以计算从HR到DR的距离,然后我将其应用于我发现从DR到ER的旋转矩阵。

1 个答案:

答案 0 :(得分:1)

我找到了一篇可能有用的文章,这里是link 该想法基于在3轴上获取加速度计数据(这是n倍3 矩阵)并找到矩阵的PCA(主成分分析)。 PCA是具有最高能量矩阵的3个向量) 理想情况下,主矢量(具有最高能量)方向向上,第二个是航向。 您可以在文章中阅读所有内容。 我尝试在matlab中实现算法,结果是o.k. (不是很好) 希望你能做得更好(我希望听到好的结果)。

希望这有帮助

Ariel

相关问题