iphone加速度计速度和距离

Posted

技术标签:

【中文标题】iphone加速度计速度和距离【英文标题】:iphone accelerometer speed and distance 【发布时间】:2010-07-05 04:16:38 【问题描述】:

我想从 加速计 事件中找到行进距离和速度。就像 iphone 的 gMeter 应用程序正在做的那样。

有什么建议,我应该使用哪个值或公式?

提前致谢。

【问题讨论】:

【参考方案1】:

您可以使用加速度计的加速度值来测量速度和距离。有一篇非常好的论文 (Implementing Positioning Algorithms Using Accelerometers) 解释了您从加速度计获得的误差以及从加速度值中获得速度和位置的技术。

一些伪代码:

velocity[i] = (acceleration[i] + acceleration[i-1])/2 * interval + velocity[i-1] distance[i] = (velocity[i] + velocity[i-1])/2 * interval + distance[i-1]

intervalacceleration/velocity[i]acceleration/velocity[i-1]之间的时间,与加速度计的更新频率有关。

为了提高准确性,您必须过滤正手的加速度值。我已经在 iPhone 3GS 上实现了这样的算法,效果非常好。加速度计可让您测量 30 厘米的距离,误差约为 1 厘米。我还没有测试更长的距离。

【讨论】:

如果我理解正确,您必须跟踪地球重力的静态加速度,因为设备的物理方向可能会改变。将它扔到空中会导致它翻滚,变成“向下”。我不确定我对此的解释是否正确,但我认为论文中描述的单一“校准”假设设备的方向不变。 没错,这种方法假设设备的方向在移动过程中不会改变。 @brutella 你能提供你的算法吗?

以上是关于iphone加速度计速度和距离的主要内容,如果未能解决你的问题,请参考以下文章

计算使用加速计步

如何使用陀螺仪和加速度计找到行进的距离?

如何从可变加速度计获得速度(在简单的线性运动中)?

使用加速度计计算距离

如何根据手机加速度计算距离

MMS-F-A01无线加速度传感器