如何使用加速度计测量iPhone的行进距离?

时间:2010-09-14 09:43:06

标签: iphone

虽然GPS适用于长距离更换,但我想使用iPhone的加速度计测量更短的距离。

假设我想使用iPhone应用程序测量盒子的高度。您可以启动应用程序,按一个按钮在框底部开始测量,将iPhone移动到框顶部,然后按一个按钮停止测量。然后,应用程序将计算并显示框的高度。

我如何使用加速计进行这种测量?

5 个答案:

答案 0 :(得分:14)

可以这样做,因为我在sparkfun IMU上实现了一个更复杂的系统。

有一些组件可以准确地完成您的操作。

1)您需要使用低通滤波器过滤accellerometers信号。这样可以消除任何不是由慢速移动的手臂引起的噪音。

2)将3个单独的加速度值积分两次,从加速到速度,然后从速度到距离。

3)当您将手机从盒子底部移到顶部时,必须通过将手机放在同一平面上来执行上述方法。任何俯仰/滚转/偏航都会破坏测量(提示)

4)从上面,为了补偿俯仰/滚转/偏航,你可以包括内置陀螺仪=]。使用它将从accellerometer获得的矢量映射到起始点。使用这种方法,您可以通过走动来测量“穿过和对象”的距离。 (记住这个陀螺仪也需要过滤)。

最终结果取决于许多因素,例如滤波器的有效性,您的测量仪和陀螺仪的准确度和采样率,以及您的数学和线性代数技能的绝佳性。

答案 1 :(得分:5)

尝试在感兴趣的距离拍摄已知大小的物体。

答案 2 :(得分:3)

根据应用程序和所需的精度,您可以在iPhone 4和iPod Touch第4代中使用新的6轴陀螺仪加速度计。您可以通过积分加速度矢量来获得总位移。

当积分加速度以获得位移时,任何错误都将是累积的,因此这可能不合适,但可能值得考虑。

答案 3 :(得分:0)

毕达哥拉斯定理:c ^ 2 = a ^ 2 + b ^ 2(http://en.wikipedia.org/wiki/Pythagorean_theorem

在你的情况下,如果点A =(Ax,Ay)和B =(Bx,By),那么你可以通过以下方式计算距离C:

C = sqrt( (Bx-Ax)^2 + (By-Ay)^2 )

答案 4 :(得分:0)

GPS目前还不够准确无法测量一个盒子。考虑到可能存在大约10米到1英里的误差。您可以使用CLLocation获取度量的准确性。