用于检测iPhone上的移动(前进/后退)的算法?

时间:2012-01-29 04:35:45

标签: ios motion-detection

我想知道是否有可能编写代码让您知道用户是否正在行走(将他们的iPhone藏在口袋里)以及他们走向哪个方向。

更具体地说:

  • 我对计算行走距离不感兴趣
  • 我对计算步骤等不感兴趣。

我感兴趣的是检测运动和不动,区分两者,并区分向前和向后运动。

我知道在iPhone 4S中使用指南针可以检测方向,但是向后移动呢?

让我说我开始走路,然后我停下来,然后我开始向后走(没有转过360度......)

您是否认为可以操纵来自加速度计/陀螺仪/指南针的数据,以便能够相应地触发我的代码中的事件?

为您提供一个更具体的例子:

想象一下,我希望我的iPhone(放在口袋里)尽快开始播放音乐(响应的速度有多快?)我开始走路,然后一走路就停止。然后我开始向后走时播放视频(不转360)。

1 个答案:

答案 0 :(得分:0)

没有。无法保证iPhone面向哪个方向,加速度计中的噪音会阻止长期校准。您可以使用3向陀螺仪消除噪音,但需要使用极快的处理器来管理算法。

你当然可以通过获取加速度计的轴的总和并检查它是否大于阈值来确定人是否在移动,但是关于哪个方向,这不是一个可能的任务。当你走路的时候,你当然可以播放音乐,但是方向上没有自由裁量权。