6

加速度計の読み取り値から重力を取り除く、この美しい簡単な方法を見つけました。ただし、私は 6dof IMU (xyz gyro、xyz accel、磁力計なし) を持っているので、このコードを使用できるかどうかはわかりません (試してみましたが、正しく動作しません)。

誰かが重力コンポーネントをどのように削除しますか? プロジェクトを進められないので大きな障害です。


編集:

私が持っているもの:

  • 航空機の位置を表す四元数 (拡張カルマン フィルターを使用して取得)
  • 加速度センサーの読み取り値 (フィルター処理なし。平面が整列するように軸が整列。重力もこれらの読み取り値に組み込まれます)

私が欲しいもの:

  • 重力を取り除く
  • 加速度計の読み取り値を修正(回転)して、軸が地球の座標系の軸と整列するようにします
  • 地球への加速度を読み取ります (現在は加速度計の Z 成分)

基本的に、飛行機の向きに関係なく、地球への加速度を読み取りたいです! しかし、最初のステップは重力を取り除くことだと思います。

4

1 に答える 1

3

更新:わかりました。必要なのは、四元数でベクトルを回転させることです。ここまたはここを参照してください。

測定された加速度ベクトルをクォータニオン (向きに対応) で回転させ、[0, 0, 9.81]結果から重力 (符号規則によっては -9.81 になる場合があります) を差し引きます。それで全部です。


この原稿に基づいて、 Shimmer 2デバイス用のセンサー フュージョンを実装しました。強くお勧めします。加速度計とジャイロスコープのみを使用し、磁力計は使用せず、探していることを正確に実行します。

質問でリンクしているリソースは誤解を招くものです。これは、センサー フュージョンに由来するクォータニオンに依存しています。言い換えれば、誰かがすでにあなたのために重労働をこなし、あなたのために重力補正を準備していたのです。

于 2012-09-27T08:59:20.170 に答える