首先,我将解释正在做的事情。我正在读取TYPE_ACCELEROMETER
,TYPE_MAGNETIC_FIELD
,TYPE_GRAVITY
传感器的值,以检测道路上的坑洼。
我使用getRotationMatrix
方法(Acceleration from device's coordinate system into absolute coordinate system)将加速度计的x,y和z轴设置为地球坐标系,并且如果智能手机没有TYPE_GRAVITY
传感器,重力值通过低通滤波器获得。到目前为止,一切都很好。
当我在其他手机(不同的传感器)上运行该应用程序时,我对坑洞的反应不同。在Android文档中,它对getRotationMatrix
说了以下内容:
仅当以下情况时,此函数返回的矩阵才有意义 设备不能自由下落,并且不靠近磁北。 如果设备正在加速或置于强磁场中, 返回的矩阵可能不正确。
我想知道,这是因为车辆通过小洞的瞬间,它可以自由下落吗? 0.2秒或更短的时间。 还是仅仅是传感器规格,例如供应商,最大范围...?