こんにちは。
今回はクアッドコプターの姿勢制御について書いていけたらなと思います。

~姿勢制御の実験をする環境下において~

前回まではF350の機体でしたが、実験場所が室内と言う事もあり、一回り小さなF220フレームの機体に組み直しました。

image


しっかり画像処理もできている事も再確認しました…
image

image


さて本題に入りたいと思います。
まず当たり前かもしれませんが、姿勢制御を行うにあたっては機体自身の正確なロール、ピッチ、ヨーこの角を把握する必要があります。

私は今回これらの角度を求めるために9軸センサmpu9150を使用しました。

なお、今回はSPIでmpu9150を使用しました。

受信した角速度、加速度から四元数を算出し
オイラー角に変換します。
ここで求めたヨー角は時間の経過によりノイズの影響でどんどん増えて行ってしまうので、ヨー角は地磁気センサからの値から求めます。
方位を求める式は下記になります。
image

尚、
Vxyzはオフセット値
θ、φは予め求めたピッチ角とロール角です。

ここで求めたオイラー角を参照して4個のモータを制御する必要があります。
今回はとりあえずホバリングさせたいので
(0°からの偏差)*Kp+(偏差の累積値)*ki+(前回の角度と比べた変化量)*kd
=操作量
としてPID制御します。

~実験~

今回はまだ実験段階なので、無固定で飛ばすと楽しい事になるリスクが高いです。
なので今回は段ボールに紐を対になるようにクアッドコプターの脚に固定しました。

image


image

こうする事で、一本の紐で固定する時に比べて重心の偏りが軽減され、揚力同士が引き合ってくれるので割と再現性が高い固定方法なのではないかと思います。

実際に飛ばしてみた動画です

まだ多少ブレがありますが安定してきている気がします。
今後は高度制御のため張力が極力働からないように固定方法の改善を考えていきたいです。
また、モータの低周波ノイズの干渉を若干受けているようなのでセンサ自体を鉄板で覆うなどの対策を考えていきたいです。


もうすぐ応用情報処理技術者試験ですね…
皆様にとっては簡単なものかもしれませんが取れるよう精進します…