chakokuのブログ(rev4)

テック・コミック・ごくまれにチャリ

9DoFによる回転判断と姿勢制御

ドローンの飛行制御プログラムをRustで書くのを目標にクオータニオンを勉強してきた。本に載ってる証明もなるべく追いかけて理解を積み上げたつもりで、そろそろ最後の証明になりつつある。で、クオータニオンが理解できたか?と言われると、腑に落ちてるとは到底言えず、ああそうなんですね、という程度にしか分かっていない。頭の中で幾何学的に分かっていない。式展開として回転なんですね・・という程度

まあそれはいいとして、クオータニオンで実装できるからといって、ドローンの制御はできず、次はジャイロセンサから得られたセンサ情報をXYZの軸の回転量に変換する計算が必要だ。この式はいろんなところに掲載されていて、回転の行列式風なのだが、なぜこの行列式で、回転して混ざった3軸の角速度が絶対座標のXYZにばらせるのか?が分からない。想定した回転(Θとかσとか)の逆回転をやってるのか??。。うーん。証明が理解できなくてもいいからどうやって算出されたのか、式展開を知りたい。

おまけ
さらには、角速度だけだとドリフトが検出できないので、加速度、地磁気のセンサの情報も組み合わせて、最終的な回転角を出すらしい。その方法が、カルマンフィルタを使う方法と、Madgwickフィルタを使う方法があるらしい。それ以外にも我流の方法があるかもしれない。

■ご参考URL

http://indoor-flight.com/uploads/tournament_file/file/00000/29/37fad1ec1df2c5a28602aeb7cce7253b.pdf

https://www.jstage.jst.go.jp/article/jje/50/4/50_182/_pdf
http://www.nilim.go.jp/lab/bcg/siryou/tnn/tnn0514pdf/ks051408.pdf
新入社員が制作実習でドローンの自作に挑戦した話。(1) | 組込み技術ラボ