×

ORIZURUの裏話 3回目「ORIZURUの姿勢制御」

2016-10-07

eyecatch

さて、今回はいよいよORIZURUの心臓部、姿勢制御について解説していきます。

姿勢制御を行うためには、まず正確に姿勢を把握する必要があります。それを実現するために、今回使用したKionix社のKXG03は非常に優位な点がありました。

ORIZURUが飛行している時にセンサーから位置情報を取得しようとすると、2種類のノイズによる影響を受けます。

その一つは、モーターの振動による比較的周波数が高いノイズです。そしてもう一つは、羽ばたきによるノイズです。こちらは1秒間に5回未満の周波数の低いノイズです。ORIZURUの飛行を成功させるためには、これらノイズの影響を最小限にする必要があります。

ORIZURUにとって周波数の高いノイズは無視することができます。なぜなら、推進力は羽ばたきによって得ているためにモーターのノイズのような周波数が機体に及ぼす影響がほとんど無いためです。機体がそこまで高速に動く事ができないためです。

そこで、周波数の高いノイズを除去するのは、LSIに内蔵されている平均回路を用いることにしました。

noise

KXG03の特徴である高速サンプリング、平均値計算の機能を使用しつつ、更にノイズの影響を最小限にするため、ジャイロ・加速度センサーからKALMANフィルタを用いてpitch角、yaw角を算出しています。KALMANフィルタは応答速度が早く、今回のORIZURU制御には最も良いフィルタでした。

まず、ORIZURUは、ロールピッチヨー角のピッチとヨーを用いて姿勢の制御を行っています。ロールピッチヨー角とは下の図のように機体を下のような3つの軸を角度で表したものになります。ORIZURUでは、この中でピッチとヨーを使用して姿勢制御を行っています。

orizuru_axis

ピッチの制御

ピッチはテールモーターで制御しています。取得した角度情報をもとにテールモータの速度を制御して機体全体の角度を制御しています。

pitch

ヨーの制御

ヨーは機体の角度や方向に応じて尾っぽの向きを変更して機体が意図した方向に向くように制御しています。

yaw

このように、CEATEC2016のORIZURUは、内蔵されたセンサーの情報をリアルタイムにモーターにフィードバックすることで、ORIZURU自身で機体の姿勢を維持しつつ、人による操作を反映することで、ゆっくりと飛行できるようになりました。商品化出来る日も近いかもしれません。