1

我正在尝试了解 Android 传感器管理。如果我希望包含陀螺仪来获取手机方向,我是否正确,当我调用 getOrientation(..) 并且手机有陀螺仪传感器时它会自动完成?

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

谢谢!

4

2 回答 2

2

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

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

  • 第 1 步:您对方向进行了初步估计。
  • 第 2 步:您对来自陀螺仪传感器的方向和一些信息有了更新的估计。
    • 您有关于第 1 步和第 2 步之间的时间增加 (delta-t) 的信息:因此,您可以整合这段时间内的旋转速度,以估计两种状态之间的旋转。
    • 您在状态 2 中还有一个新的方向读数。
    • 您可以整合这两个信息源([orientation @step=1 + 旋转] 和 [orientation @step=2]),以在步骤 2 中获得精确的方向估计。
    • 这可以使用互补滤波器以相当简单的方式完成
于 2011-12-05T18:17:21.563 回答
1

如果您使用的是 Api Level 9 及更高版本,并且您的设备具有陀螺仪,则可以从Sensor.TYPE_ROTATION_VECTOR.

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

于 2013-03-26T16:46:50.047 回答