我正在使用Android上的行人导航系统。我目前正在尝试获取3轴加速度计参考值与应用于设备的运动之间的旋转矩阵。
假设您正用手拿着设备向前走,但是加速度计的Y轴(因此设备的Y轴)的方向与您要朝向自己的方向不同(基本上是握住装置)。然后,如果我要应用距离(基于步检测),将其应用于加速度计参考点(我知道其方向)将是错误的:必须根据运动方向旋转距离。
这就是为什么我想知道您是否可以启发我了解一种计算加速度计读数以将其转换为旋转角度(或矩阵)的方法。这种方法必须避免一次积分加速度,因为这种误差在廉价的加速度计上是很深的(否则我认为这很容易实现)。
编辑: 磁力计和陀螺仪即使在静止状态下也可以帮助您找到设备的方向,但不允许您知道设备向哪个方向移动。我有第一个,正在寻找第二个。基本上:
人体参考(运动方向)->设备参考(或加速度计参考)->地球参考
我正在寻找找到旋转矩阵以计算从HR到DR的距离的方法,然后将其应用于我发现从DR到ER的旋转矩阵。
我发现了一篇可能有用的文章,这里是 链接。 该想法基于获取3轴(n乘以3的矩阵)上的加速度计数据,并找到矩阵的PCA(原理成分分析)。PCA是矩阵中能量最高的3个向量。 从概念上讲,主矢量(具有最高的能量)方向是向上,第二个是航向。您可以在文章中阅读全部内容。我尝试在matlab中实现该算法,结果还可以(不是很好)希望您能做得更好(我想听到好的结果)。
希望这可以帮助
爱丽儿