Iphone 计算重力、速度和距离

Iphone 计算重力、速度和距离,iphone,Iphone,有人能指导我做这样的应用吗 i、 e如何计算重力、速度和距离。重力可以计算为加速度计给出的矢量长度(核心运动框架,有关详细信息,请参见CmaccelerMeterData)。 至于距离和速度,您可以从GPS/GLONASS(核心定位框架,请参见CLLocationclass)获得它们 不要试图用加速度来计算距离和速度——这是不可能可靠的 例如,要计算速度,你必须知道汽车的加速度。假设Aa是来自加速计的测量值,汽车自身的加速度将是Ac=Aa-Ga,其中Ga是汽车坐标中的重力加速度矢量。要知道该值,

有人能指导我做这样的应用吗


i、 e如何计算重力、速度和距离。

重力可以计算为加速度计给出的矢量长度(核心运动框架,有关详细信息,请参见
CmaccelerMeterData
)。 至于距离和速度,您可以从GPS/GLONASS(核心定位框架,请参见
CLLocation
class)获得它们

不要试图用加速度来计算距离和速度——这是不可能可靠的

例如,要计算速度,你必须知道汽车的加速度。假设
Aa
是来自加速计的测量值,汽车自身的加速度将是
Ac=Aa-Ga
,其中
Ga
是汽车坐标中的重力加速度矢量。要知道该值,可以使用CoreMotion服务(如果存在陀螺仪)或应用低通滤波器从加速度计测量值中提取重力矢量

IDEVICE中使用的加速度计不是很精确。后续积分将稳定累积测量误差。过滤器等是第二个错误源

现在我们可以计算我们的速度:

V(T[n])=Ac[n]*dt[n]+V(T[n-1])

其中,
V(T[n-1])
是车辆的先前速度。要确定第一个值(
V(T[0])
),我们必须强迫用户停车(以确保零速度,糟糕)或强迫用户输入该值(糟糕得难以置信)

通过相同的过程计算距离

S(T[n])=V(T[n])*dt[n]+S(T[n-1])


这意味着已经非常不精确的速度值现在随着时间的推移被整合。快乐,快乐,快乐,快乐。顺便说一句,你可以享受结果,而无需对所有这些进行编码——只需阅读OP提到的应用程序的用户评论。

你知道如何从iphone的传感器获取数据吗?你是说加速度?如果没有,请告诉我加速度
a
来自设备的加速计,因此速度
v
来自
v=d/t,加速度为
a=d/pow(t,2)
,因此距离
d
来自
d=a*pow(t,2)
d=v*t
,我想当前加速度的时间
t
从哪里来应该是显而易见的。这只是基础物理。这与Xcode有什么关系?@H2CO3,别担心,这是正确的,当前距离是
a*t^2
,这就是你在时间内以恒定加速度可以达到的距离。举一个简单的例子来理解这一点:重力是
9.81
,当你释放任何物体时,
1
秒后到起点的距离是
9.81
米,2秒后到起点的距离是
39.24
米。可以对每个间隔使用此公式,直到加速度相同。(如果百分之一秒的加速度是相同的,那么距离就是加速度
9.81*0.01^2=0.98 mm
,但告诉我这不是真的。1.这不是加速度计矢量-加速度计是一个电子装置,不是矢量。你的意思可能是加速度矢量。2.重力不是矢量的长度-它是物体的质量乘以重力加速度(平均9.806 m/s^2)。3.你知道速度=加速度*时间和距离=加速度/2*时间平方吗?高中物理…@H2CO3 1)我的错,我指的是加速度计的矢量(加速度计提供的矢量),不是母语人士,对不起。2) 在启发我们之前先阅读未清洗的质量-g力是一个标量(加速度标准化为9.81)3对于学校实验室来说是一个不错的尝试。但是我们谈论的是在现实生活条件下的实际应用。如果你真的感兴趣,我可以详细说明。好的。为什么你认为对于如此小的距离,岩芯定位比使用这些公式更准确?(顺便说一句,不是以英语为母语的人不是借口,对不起。我自己也会犯错误,但这就是为什么我通常会在发布之前和之后重新阅读我的问题和答案,并根据需要进行编辑。)因为它使用的是全球定位服务,它至少提供了一些准确性。在一段时间内(两次!)积分过滤出的汽车加速度甚至不值得用“准确性”这个词。至于英语,我甚至没有想到借口,只是说了声对不起。@srinaidu是的,静止物体的重力是1。