2017-03-03 13 views
0

私は加速度計とジャイロスコープのデータを組み合わせて、オブジェクトのピッチとヨー角を正確に測定しようとしています。補完的なフィルタを調べて実装しようとした後、どのように動作するかについていくつか質問があります。補完フィルタはどのように機能しますか?

私は、角運動が多い場合にフィルタが「信頼」し、オブジェクトが安定している場合に加速度計データを「信頼する」と読んだことがあります。私には角度= 0.98(角度+ gyrData * dt)は+ 0.02 *(accData)*

*

それは、と思わ:

http://www.pieter-jan.com/node/11 補色フィルタがこのように記述されているこの記事でジャイロスコープのデータが優先されている場合。次の画像http://www.pieter-jan.com/images/resize/Complementary_Filter.pngは、ページの下部にあり、ジャイロスコープのデータが漂っていても、フィルタリングされたデータは加速度計のデータに「近づいている」ように見えます。計算がジャイロスコープのデータが好まれていることが示唆されたときに、これがなぜ発生するのか分かりません。私は他の写真でもこれを観察しました。自分のテストでは、同様の結果を得るために、0.98と0.02を「スワップ」する必要がありました。このフィルタの仕組みを誤解していますか?加速度計のデータを「好む」のが普通ですか?

さらに、オブジェクトの角度を長時間監視する必要がある場合、ドリフトが大きすぎるため、ジャイロスコープのデータが無駄にならないように、フィルタはどのように補償しますか?

答えて

0

私はどこが間違っていたか分かりません。 私は本質的に、ジャイロスコープのデータだけを使って角度を計算し、それをフィルターで使用しました。すなわち

GyroAngle += d°/s * time_between_cycles 
FilteredAngle = 0.98*GyroAngle + 0.02*AccelerometerAngle 

は、代わりに私はこれをやってきたはずです。

FilteredAngle = 0.98*(FilteredAngle + d°/s * time_between_cycles) + 0.02*AccelerometerAngle 

これは非常に良い結果に

をもたらした行います
関連する問題