陀螺仪包含在getOrientation中?

时间:2011-11-11 10:00:11

标签: android android-sensors

我正在尝试了解Android传感器管理。 我是对的,如果我想要包括陀螺仪获取电话方向,当我调用getOrientation(..)并且手机有陀螺仪传感器时会自动完成吗?

因此,如果手机有加速度和陀螺仪传感器,可能会有更好的定位结果,与只有加速度传感器的情况相反?

谢谢!

2 个答案:

答案 0 :(得分:2)

Android API中包含的用于获取方向的方法不包括陀螺仪传感器的读数。陀螺仪不提供有关方向的信息,因为它只有旋转速度的信息。

您可以使用此类信息从陀螺仪传感器读数中获益,以更好地估计方向:

  • 步骤1:您初步估计了方向。
  • 步骤2:您对陀螺仪传感器的方向和信息有了较新的估计。
    • 您可以获得有关步骤1和步骤2之间的时间增量(delta-t)的信息:因此,您可以在此期间对转速进行积分,以估算两种状态之间的旋转速度。
    • 你还有一个新的方向阅读状态2。
    • 您可以整合这两个信息来源([orientation @ step = 1 + rotation]和[orientation @ step = 2]),以便在步骤2中获得精确的方向估计。
    • 这可以使用互补过滤器
    • 以相当简单的方式完成

答案 1 :(得分:1)

如果您正在使用Api等级9及以上,并且您的设备配有陀螺仪,则可以从Sensor.TYPE_ROTATION_VECTOR中受益。

它负责从加速度计,磁传感器和陀螺仪中检索到的数据的“融合”。