加速度计与重力传感器

时间:2014-02-28 17:55:08

标签: android accelerometer android-sensors gravity

如果设备处于运动状态,重力传感器是否会返回正确的值?我认为重力传感器使用加速度计来识别引力方向。这两个传感器是不同的硬件吗?

2 个答案:

答案 0 :(得分:1)

阿尔伯特·爱因斯坦于1911年回答了这个问题

稍微反思将表明惯性和引力质量相等的定律等同于由引力场赋予身体的加速度与身体的性质无关的断言。对于牛顿在引力场中的运动方程,完整地写出来,它是:

(惯性质量)\ cdot(加速度)=(重力场的强度)\ cdot(引力质量)。 只有当惯性质量和引力质量之间存在数值相等时,加速度才与身体的性质无关。

- 阿尔伯特爱因斯坦

我们无法将加速度测量与重力测量区分开来,因为它们与观察者相当。即使Android有两个传感器,它们也会测量相同的东西。

答案 1 :(得分:1)

Gravity 传感器是Android所谓的软件传感器'并使用多个硬件传感器计算其值。

软件重力传感器仅在设备具有陀螺仪时可用。 通过将加速度计数据与陀螺仪数据相结合,可以滤除由于移动设备而产生的加速度以留下纯重力信号。所以是的,它会在运动中返回正确的值。

因此,重力传感器为设备方向提供了比单独加速度计更好的信号。

组合传感器值称为sensor fusion,对于高质量测量值非常重要。

Android文档describes the Gravity Sensor

不幸的是,许多Android设备缺少陀螺仪,因此也没有重力传感器。这样,仅使用加速度计就可以获得次优信号,与使用这两种传感器的Android设备相比,用户体验更低,与iOS设备相比,质量体验更低。

您可以使用Google Play要求规范阻止不兼容设备上的安装,如下所示:

<uses-feature android:name="android.hardware.sensor.gyroscope" />