このリンクのようなアプリを実行するように案内してもらえますか
つまり、G-Force、Speed、Distance の計算方法。
g-force は、加速度計によって与えられるベクトルの長さとして計算できます (Core Motion フレームワーク、詳細CMAccelerometerData
については、を参照してください)。CLLocation
距離と速度については、GPS/GLONASS (Core Location フレームワーク、クラスを参照) から取得できます。
加速度から距離と速度を計算しようとしないでください - これを確実に行うことは不可能です。
たとえば、速度を計算するには、車の加速度を知る必要があります。加速度計からの測定値が与えられるAa
と、車自体の加速度は、車の座標の重力加速度ベクトルのAc = Aa - Ga
場所になります。Ga
この値を知るには、CoreMotion サービス (ジャイロが存在する場合) を使用するか、ローパス フィルターを適用して加速度計の測定値から重力ベクトルを抽出します。
iDevices で使用される加速度計はあまり正確ではありません。次の積分では、測定誤差が着実に蓄積されます。フィルターなどは、エラーの 2 番目の原因です。
これで、速度を計算できます。
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が言及したアプリのユーザーコメントを読むだけです.