2012-04-18 51 views
1

我正在研究Android上的行人导航系统。我正在尝试获取3轴加速度计参考值和应用于设备的运动之间的旋转矩阵。假设你手中的设备直线前进,但加速度计的Y轴(因此设备的Y轴)不是与你正在前往的那个方向相同(基本上是你以尴尬的方式握住设备)。 然后,如果我想应用距离(基于步进检测),将它们应用于加速度计参考(我知道方向)将是错误的:它必须相应地旋转到运动标题。如何获得加速度计轴和运动矢量之间的旋转?

这就是为什么我想知道你是否可以启发我一种计算加速度计读数以将它们转换为旋转角度(或矩阵)的方法。这样的方法必须避免将加速度整合一次,因为在便宜的加速度计上的误差是深渊的(否则这将是我认为很容易执行的)。

编辑:磁力计和陀螺仪即使在静止时也能帮助您找到设备的方向,但不允许您知道设备在哪个方向移动。我有第一个,我正在寻找第二个。基本上:

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

和即时搜索以找到旋转矩阵来计算从HR距离DR,该方式这然后,我会应用到我发现从DR到ER的旋转矩阵。

+0

所以,你知道从计步器算法的速度和你想获得的标题?在那种情况下,你需要一个**指南针**,加速度计不知道北方的位置。 – Ali 2012-04-18 10:45:15

+1

我必须问......你有没有使用GPS的很好理由?加速度计不是用于计算长距离的非常好的传感器类型。 – Torben 2012-04-18 10:57:34

+0

阿里 - 我有加速计标题,正如在帖子中所说。只是持有该设备的人的动作不在加速度计轴的任何一个范围内。因此,如果您只是简单地将标题应用于这些距离(或者如果您愿意的话,可以选择速度),因为它目前正在实施,这是不对的。 – PeterGriffin 2012-04-18 11:54:07

回答

1

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

希望这有助于

阿里尔

+1

我会给它看一下,很遗憾我没有足够的时间来实现它:/谢谢。 – PeterGriffin 2012-06-11 09:53:16

相关问题