如何测量iPhone在自由落体过程中覆盖的距离?

9

在自由落体期间,iPhone 应该在所有三个轴上发送加速度值为0。那么如何检测 iPhone 覆盖的距离呢?


39
让我来说一句:我不会购买你的应用程序 :) - rein
10个回答

11
不要相信牛顿定律,它们忽略了空气阻力、iPhone旋转等因素。相反,使用经验法则。让设备从1米、2米、5米、10米、30米等不同高度自由落体。对于每个高度的自由落体重复多次,记录每次落地所需的时间。利用样条函数近似计算结果,计算反函数。

+1 我喜欢这个答案。使用不同高度和不同角度投放点云,慢速、快速旋转或不旋转。然后得出一个漂亮的近似样条线。 - Neil N
1
不要在我的iPhone上测试这个。 - David Thornley

3

2
如果您的加速计报告为零,则需要确定您的运动何时完成。因此,要确定碰撞时的减速度,然后确定减速开始时的最大速度,然后从这个速度往回倒推。假设是线性运动,不存在末速度和空气阻力,可能存在线性减速,并且您的手机仍在工作!

我认为从UIAcceleration报告的最大加速度对于这种方法来说太低了。1米的掉落可能会产生数十到数百G的加速度,这取决于iPhone停止运动时撞击表面的硬度。 - Mark Bessey

2

从静止开始

距离 = 0.5 x 加速度 x 时间2

重力加速度 = 9.81 m/s2

我假设您不会将手机掉落到达终端速度。如果是这样,当您找回手机时,我怀疑您的应用程序将没有太大用处 :)


1
如果您安装了加速度计测试应用程序并绘制输出图形,您可以玩得开心地把手机扔来扔去来测试它 :) - Paul Dixon
它不必达到终端速度,就可以使阻力变得显著。 - finnw
对于任何可能被手机“存活”的距离,这是一个很好的一阶近似值。阻力将是一个因素,但考虑到计算的难度(相对自由流速度、iPhone相对于入射自由流的方向等等),最好还是不要考虑它。 - Stan Graves
拖曳是什么因素?不会由加速度计测量到由于阻力引起的加速度吗? - Doug McClean

1

忽略空气阻力:

float t; // time since drop
float distance = 9.81f * 0.5f * t * t;

如果需要更长的距离(如从飞机上跳下),您还可以使用位置服务。CLLocation包含高度信息。


2
不,自由落体时已经达到了终端速度——加速度为零,不是g。 - David M
我理解这个问题是:“我掉落的 iPhone 跌落的有多深?” - Nikolai Ruhe
1
在自由落体中,当达到了终端速度时,加速度不为零,而是g。 - Nikolai Ruhe
2
你们两个都是对的:手机将以恒定的速度移动,因此不会加速,但是加速计将读取g,就像它放在桌子上一样。 - pjc50
1
如果你计算手机上报的加速度幅值,并从g中减去它,那应该就是实际的加速度。静止时,加速度计读数为9.8米/秒²,在自由落体时,为0.0。当你接近极限速度时,所报告的加速度应该缓慢增加到9.8米/秒²,因此积分所报告的加速度和g之间的差别应该可以给出适当的加速度。当然,你选择的滤波和积分公式会非常重要。 - Mark Bessey

1

考虑到风阻的问题,一个解决方案是使用重力加速度和您正在读取的实际加速度规范之间的差异:

d2x / dt2 = g - |a|

其中 g = 9.8,|a| = sqrt(a12 + a22 + a32),其中 an 是每个轴上加速度计的读数。

然后使用类似欧拉方法的数值解法解决微分方程。

您甚至可以聪明地使用 GPS 查找本地的 g 值。


0

距离 = 0.5 * 重力加速度 * 下落时间2

在最简单的形式中。

我们可以安全地忽略空气摩擦和风,考虑到 iPhone 的形状和重量以及硬件从中掉落时仍然有用的距离。 ;)

然而,如果您在打开降落伞之前让手机自由落体,那么有太多因素需要考虑,无法可靠地根据加速度计本身计算距离。它可能也不适用于这种应用,因为读数非常不稳定,其主要目的是确定设备的方向或检测潜在的自由落体(在类似加速度计芯片用于笔记本电脑的情况下)。


0

这很简单,因为你必须考虑空气摩擦力。空气摩擦力会导致设备达到“a”终端速度。只有在终端速度时,加速度计才会指示0。

这里给出的公式假定在真空中自由落体(没有摩擦)。

换句话说,计算行驶距离相当复杂(一个问题是终端速度取决于手机下落时的方向)。


1
加速度计在终端速度时不会指示0,而是重力加速度。 - Nikolai Ruhe
我不知道iPhone的加速度计是如何工作的(或者它是如何校准的)。如果它在完全静止时返回重力加速度,那么你是正确的。 - Philippe Leybaert

0

还要记住,在任何坠落场景中,手机非常有可能翻滚。随着手机侧面的变化,阻力也会发生变化,加速度计不会读取零。


-1

无论加速度计是自由落体还是放在桌子上,它都会在所有三个轴上读取0(或g)。因此,问题是无意义的,因为没有办法在不做自由落体假设的情况下确定距离。


4
错误。当加速度计放在桌子上时,它测量到1的向下加速度,自由落体时则为零。 - Rhythmic Fistman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接