我希望能在我的应用程序中使用相对简单的跌倒检测算法。目前,在onSensorChanged()中,我获取当前x、y、z值的绝对值,并从中减去SensorManager.GRAVITY_EARTH(9.8 m/s)。结果值必须比一个阈值大10次才能设置一个标志,表示加速计检测到了跌倒,阈值约为8m/s。
同时,一旦通过了阈值,我会比较手机的方向和不再通过阈值时的方向,这会设置另一个标志,表示方向传感器检测到了跌倒。
当两个标志都设置完毕后,将发生一个事件来检查用户是否安全等等。我的问题在于阈值,当手机被竖直地握住时,加速度计的绝对值约为9.8 m/s,但当我将其静止放置在角度上时,它可以超过15m/s。这导致其他事件触发了跌倒检测,如果我增加阈值以避免这种情况,它就无法检测跌倒。请问有人可以给我一些建议,我应该使用哪些可能的值或如何改进我的方法呢?非常感谢。
同时,一旦通过了阈值,我会比较手机的方向和不再通过阈值时的方向,这会设置另一个标志,表示方向传感器检测到了跌倒。
当两个标志都设置完毕后,将发生一个事件来检查用户是否安全等等。我的问题在于阈值,当手机被竖直地握住时,加速度计的绝对值约为9.8 m/s,但当我将其静止放置在角度上时,它可以超过15m/s。这导致其他事件触发了跌倒检测,如果我增加阈值以避免这种情况,它就无法检测跌倒。请问有人可以给我一些建议,我应该使用哪些可能的值或如何改进我的方法呢?非常感谢。