改变传感器坐标Android系统(Changing sensor coordinate system

2019-09-17 13:18发布

Android提供坐标系统中设备的传感器数据不管它是如何定向。 有没有什么办法在“重心”坐标系中的传感器数据? 我的意思是无论设备的方向如何我想加速度计数据和方位坐标系中,其中y轴指向朝着在对南极东部和Z轴的天空,x轴。

我看了看remapCoordinateSystem但似乎仅限于交换轴。 我想为我的方向将不得不做一些低级别的旋转矩阵变换(或有没有更好的解决办法吗?)。 但如何对加速度数据? 有什么办法有数据有关的坐标系统,是固定的(排序的世界坐标系)。

我需要的,这是我想要做一些简单的运动姿态,当手机在口袋里,它会更容易对我来说,有相当设备坐标系与用户坐标系统中的所有数据的原因(这将有一点点在不同的用户的口袋中不同方位)

Answer 1:

嗯,你开始的时候基本上得到北方向 - 为此,你使用加速度计和磁场传感器来计算方向(或已经过时的方向传感器)。

一旦有了它可以计算从这些方位角,俯仰和滚动角的旋转矩阵(方向余弦矩阵)。 由该矩阵乘以你的加速度矢量将改变你的设备帧运动转换成地球帧的。

由于随着时间的推移您的设备将改变它的方向,你需要更新它。 要做到这一点,陀螺仪获取的数据,并更新你的方向余弦矩阵为每个新的价值。 你也可以得到定向真正价值,就像是第一次,但它是不准确的。

我的解决方案包括DCM,但你也可以使用四元数,这只是一个选择的问题。 随意如果需要问。 我希望这是你想知道是什么!



文章来源: Changing sensor coordinate system in android