iOS:Core Motion 用于检测远距离较大的运动?

Posted

技术标签:

【中文标题】iOS:Core Motion 用于检测远距离较大的运动?【英文标题】:iOS: Core Motion used to detect larger movements over distance? 【发布时间】:2011-11-16 17:46:03 【问题描述】:

我有一个 GPS 应用程序,我想检测用户是否静止不动而不移动。使用核心位置可以解决这个问题,但有时并不准确,因为新的更新会移动并产生速度和运动的错觉。

所以,我想知道除此之外,我是否还可以使用 Core Motion。这是检测某人走路、跑步、驾驶等运动并知道他们何时不再做该运动的好主意吗?或者,Core Motion 是否仅适用于诸如倾斜设备或将设备举到耳边之类的小动作?

【问题讨论】:

【参考方案1】:

我想告诉其他访问这个问题的人我学到了什么以及我对这种方法的看法。

我一直在做自己的一些研究,以了解这是否可能,更重要的是,即使是电池消耗和检测到的位置变化的准确性是多少。不过,对于 android,this question 很早就被问到了。 The answer 提供指向 this Google Tech Talk 的链接。在 23:20,演讲者谈到了实现这一目标的难度以及您将在结果中实现的准确性。

尽管我必须意识到 iPhone 上传感器的电池消耗比大多数 Android 手机要少一些,但我仍然认为这在准确性和电池消耗方面是一个代价高昂的事情。

【讨论】:

【参考方案2】:

如果结合倾斜角度频率变化和 GPS 速度信息,您可以使用带有传感器读数的 GPS 来区分步行、跑步等(当然,您需要做一些工作才能获得其中的一些信息,但这就是这样做的方法)。

【讨论】:

是的,我已经掌握了所有 GPS 信息。但我想把它与核心运动的数据结合起来。我的问题是 Core Motion 是否能够感知向前运动?但是有某种阈值,所以它不仅仅是感知用户从背包中取出设备。 就像我提到的,您将需要使用航向信息来感知用户前进的方向以及倾斜角频率随时间的变化,以了解用户正在进行什么样的活动。【参考方案3】:

您说的是来自 4 个不同传感器的 4 个不同测量值(技术上超过 4 个,但是..)-

    纬度和经度 - 来自 CoreLocation。它混合使用 GPS + 蜂窝塔三角测量。 加速度计 - 设备在 3D 空间中的当前方向。 陀螺仪 - 设备在其自身轴上的方向。 磁力计 - 告诉您设备指向南、北、东、西的方向

在所有这些中,我认为只有纬度和经度对您有用。基本上你所做的就是让灵敏度(即传感器的更新率)更放松一些。通过对此进行一些调整,您应该能够准确地判断一个人是站立还是移动。

【讨论】:

是的,所以正如您所说,只是从包中取出设备不应该告诉您您正在移动。 虽然这听起来是个好主意,但我已经进行了大量过滤,目前我不确定如何按照您提到的方式过滤它。 抱歉,不是,不确定我是如何点击它作为答案的。如果不需要的话,我个人不想使用另一个传感器(加速度计),因为我担心电池。我只是想能够找到一种算法,可以在静止不动时过滤掉 GPS 的“gitter”。到目前为止,我只有建议,没有代码帮助。我已经尝试了所有我能想到的,但到目前为止没有任何效果。

以上是关于iOS:Core Motion 用于检测远距离较大的运动?的主要内容,如果未能解决你的问题,请参考以下文章

IOS 传感器

IOS Core MotionUIAccelerometer(加速计使用)

在 iOS Core Motion 中暂停、恢复和重置步数

使用 Core Motion 构建计步器

Core Motion 陀螺仪旋转有问题

如何在 Leap Motion 上检测用于相机校准的棋盘?