重複の可能性:
Core Motion
Android 加速度計精度 (慣性航法)を使用して加速度計データから変位を取得する
コア モーション ユーザーの加速度値を使用し、それらを二重に統合して移動距離を導き出そうとしています。テーブル上の 30 cm のログ定規に対して、iPhone を Y 軸に沿って直線的に動かします。まず、デバイスを 10 秒間静止させ、それぞれのユーザーの加速度値を平均して、3 つの軸に沿ってオフセットを計算します。移動距離を計算しようとすると、X、Y、および Z オフセットが加速度値から差し引かれます。オフセット減算後、これらの値はもちろんローパス フィルターとメディアン フィルターを個別に通過します。フィルターは線形フィルターであり、カットオフ周波数は、ローパスで平均が取得され、メディアン フィルターで中央値が取得される隣接値の数によって指定されます。この数値を 1 から 100 までさまざまな値で実験しました。これらのフィルタリングされた値は、距離を取得するために台形規則を使用して二重積分されます。しかし、計算された距離は 30 cm に近いところはありません。私が得た最も近い値は-22cmでした(デバイスを正のY方向に動かしたのに、なぜ負の値が得られるのか疑問に思っています)。私もこれに出くわしました: http://ajnaware.wordpress.com/2008/09/05/accelerating-iphones/ 同じことについての古い投稿で、返された加速度計の読み取り値は約 0.18m/s^2 (つまり、約 0.018g) の量であると思われ、非常に大きな累積誤差がすぐに発生します。つまり、この誤差が問題にならないようにするには、デバイスをほぼ 1.8m/s^2 加速する必要がありますが、これは距離/長さの測定では事実上不可能です。小さな動きの場合、そのような非現実的な速度/加速度の制約なしで、最適なフィルターと高次の数値積分法を使用して距離を計算する可能性があるようには見えません。出来ますか?加速度とタイムスタンプのデータを使用して、時間の経過とともに増加する多項式を補間するのはどうでしょうか。これは、加速度と時間の曲線をほぼ表すモーションの更新が増えるにつれてです。この多項式の二重積分は簡単なことです。ただし、距離が短い場合、多項式には大きな誤差成分が含まれます。デバイスが受ける予測可能な既知の動きを使用して、膨大な数のスナップショット (計算された距離と実際の既知の距離) を取得して、同様の方法でエラー多項式を計算し、それを最初の多項式から減算したいと考えています。これは機能しますか?