2012-02-12 1 views

答えて

2

まあ、一種のが、あなたは

はあなたが頻繁に加速度計の測定値と integrate the values once to get velocityを作ることができます。..処理の多くを行う必要があります。これはあなたに正確な開始速度を与えることはありませんが、しばらくしてから(電話機が車の中を走っているときから始まる場合を除いて)おそらく動作します。 this postも参照してください。今

、いくつかの擬似コード:

我々はt=0で開始し、すべての3つの軸の加速度を測定します。

a = get_acceleration() 

vx = vx + a.x - gravity.x; 
vy = vy + a.y - gravity.y; 
vz = vz + a.z - gravity.z; 

これを数秒間実行した後、すべての加速度値の合計(頻繁にサンプリングする場合、つまり50Hz)は速度でなければなりません。あなたはまた、あなたのデバイスのどちらの方法で解決する必要があり、したがって、あなたが読んでいる加速度コンポーネントのどれが重力に起因し、補償しているのでしょうか。

+0

いいですね。しかし、それは少し複雑です。たぶんGPSを使用することは、モバイルプラットフォームで速度を得るための最良の方法です。 – flypen

+1

また、完全にサンプリングできても(電話の向きは変わらない)基本フレームの問題はありますが、基準フレームの速度を知らない(つまり、あなたがサンプリングを開始したとき、あなたは一定の速度で動いていました)。 –

+0

もう一つの問題は、時間が経つにつれて誤差が大きくなっていくことです。小さな偏差は、毎時を正規化する方法がなければ大きな違いになります。 – johndodo

関連する問題