1

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

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

这就是为什么我想知道您是否可以告诉我一种计算加速度计读数以将其转换为旋转角度(或矩阵)的方法。这种方法必须避免对加速度进行一次积分,因为在廉价的加速度计上误差非常大(否则我认为它很容易执行)。

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

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

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

4

1 回答 1

1

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

希望这可以帮助

爱丽儿

于 2012-06-11T09:35:00.010 回答