【问题标题】:Changing sensor coordinate system in android在android中更改传感器坐标系
【发布时间】:2012-05-25 22:42:54
【问题描述】:

Android 提供设备坐标系中的传感器数据,无论其方向如何。有什么方法可以在“重力”坐标系中获取传感器数据?我的意思是无论设备的方向如何,我都需要加速度计数据和坐标系中的方向,其中 y 轴指向天空,x 轴指向东方,z 轴指向南极。

我查看了remapCoordinateSystem,但似乎仅限于交换轴。我想对于方向,我将不得不做一些低级的旋转矩阵变换(或者有更好的解决方案吗?)。但是加速度数据呢?有没有办法获得与固定坐标系(某种世界坐标系)相关的数据。

我需要这个的原因是我试图在手机放在口袋里时做一些简单的动作手势,我更容易将所有数据放在与用户相关的坐标系而不是设备坐标系中(这将有不同用户口袋的方向略有不同)

【问题讨论】:

    标签: android sensors android-sensors coordinate-systems


    【解决方案1】:

    好吧,您在启动时基本上会获得北方向 - 为此,您使用加速度计和磁场传感器来计算方向(或已弃用的方向传感器)。

    一旦拥有它,您就可以根据这些方位角、俯仰角和滚动角计算旋转矩阵(方向余弦矩阵)。将您的加速度矢量乘以该矩阵会将您的设备框架运动转换为地球框架运动。

    随着时间的推移,您的设备会改变其方向,因此您需要对其进行更新。为此,请检索陀螺仪的数据并为每个新值更新您的方向余弦矩阵。您也可以像第一次一样获得方向真实值,但它不太准确。

    我的解决方案涉及 DCM,但您也可以使用四元数,这只是一个选择问题。如果需要,请随时询问更多信息。我希望这是你想知道的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      相关资源
      最近更新 更多