3 軸加速度計と 3 軸ジャイロスコープをセンサーとして使用して、カルマン フィルターを実装してオブジェクトの向きを取得しようとしています。
このフィルターの予測フェーズの動的モデルの選択は簡単です。
new_angle = angle + angular_velocity * time
new_angular_velocity = angular_velocity
しかし、私は手元に浮動小数点のサポートがなく、角度をモデル化するためにあらゆる精度が必要です。したがって、私の計画では、角度を 32 ビットの整数データとして表し、2 pi
2^32 の小さなステップとして 1 回転を表すことにしました。結果として、整数オーバーフローはラップ (2 pi
と同じ向き0
) を無料で処理します。
しかし、これはフィルターにも問題をもたらします。たとえば、推定角度が で、359°
私の測定値が0°
である場合、フィルターは大きな革新を想定しており、不確実性と奇数値につながります。
この可能なラップをフィルターに認識させる方法はありますか? 上記の場合のみの革新を与える1°
?
この問題を回避するために、角度の代わりに角度差を使用することを考えましたが、適切なモデルが見つかりません。