“与”的区别是什么;重力“;及;“加速”;Android中的传感器?

“与”的区别是什么;重力“;及;“加速”;Android中的传感器?,android,accelerometer,android-sensors,gravity,Android,Accelerometer,Android Sensors,Gravity,Android中重力和加速度传感器的区别是什么?在我看来,这两种情况下的物理值是相同的 哪一个测量作用在装置内部单位质量上的力 添加 问题是:这些传感器测量的物理量是多少?根据这一点,加速度和重力是不可区分的,测量两者的唯一方法是使用普通(但3d)弹簧天平。加速度传感器返回应用于设备的所有力的总和,而重力传感器仅返回重力的影响。如果你想从加速度中排除重力,你可以使用高通滤波器,或者只是从加速度传感器值中减去重力传感器值——不确定哪种方法可以提供更好的精度 另一种方法是使用Sensor.TYPE_

Android中重力和加速度传感器的区别是什么?在我看来,这两种情况下的物理值是相同的

哪一个测量作用在装置内部单位质量上的力

添加


问题是:这些传感器测量的物理量是多少?根据这一点,加速度和重力是不可区分的,测量两者的唯一方法是使用普通(但3d)弹簧天平。

加速度传感器返回应用于设备的所有力的总和,而重力传感器仅返回重力的影响。如果你想从加速度中排除重力,你可以使用高通滤波器,或者只是从加速度传感器值中减去重力传感器值——不确定哪种方法可以提供更好的精度


另一种方法是使用Sensor.TYPE_LINEAR_ACCELERATION,它精确地给出(加速度-重力),但是您应该检查设备上是否有可用的加速度。我发现有一些设备的加速度传感器工作,但重力或线性加速度传感器没有响应。

此链接可能会有帮助:

以下摘录总结了您问题的答案:

“列表…包括物理传感器和传感器类型,其值来自物理传感器,有时称为虚拟传感器…虚拟传感器类型(重力、线性加速度和旋转矢量)提供通过智能组合物理传感器结果得出的值…旋转矢量是加速计、磁强计,有时还有陀螺仪的组合,用于确定Android设备相对于地球坐标系的三维角度。通过了解作为一种装置,加速计数据可分为重力和线加速度。”


这个链接还说重力值是使用巴特沃斯过滤器计算的。

那么你的意思是重力传感器只是通过低通过滤器传递的加速度传感器?很可能,因为重力是从API版本9开始提供的,我认为我的手机升级后没有任何硬件变化=)好吧,我刚刚测试过,我的旧手机没有返回任何重力更新,尽管它运行的代码没有抱怨。也许重力是一个独立的传感器,但如果你计划支持Android 2.1,也许加速度传感器上的高通滤波器是你最好的选择。顺便说一句,你为什么不使用sensor.TYPE\u LINEAR\u加速度来代替呢?它给出了精确的(加速度-重力),一定很容易使用。回答得很好。仅供参考,使用卡尔曼滤波器从加速计、磁强计和陀螺仪数据计算线性加速度和重力,参见源代码