RaspberryPi
drone
raspberrypizero

Raspberry Pi Zero で自律飛行ドローンを作るぞ(第2回:姿勢制御は簡単にはできないぞ!!)


概要

前回のRaspberry Pi Zero で自律飛行ドローンを作るぞ(第1回:浮上まで) から約一か月、姿勢制御に挑戦してみて難しさが見えてきた。

ここらで一回整理することにしました。


やろうとしたこと

ジャイロセンサ(MPU-6050)出力の3軸(roll(ロール:進行方向に対し前後を軸にした回転)pitch(ピッチ:進行方向に対し左右を軸にした回転)Yaw(ヨー:進行方向に対し上下を軸にした回転))を制御して機体の水平維持を試みる。

そこで、まずはrollだけを制御することにした。


やったこと


ハード面


  • 機体前後を押さえる冶具を作った。

  • センサ配線をしっかりと作った

  • raspberrypi zeroはLipoバッテリ1セルで駆動することにした。(5vに昇圧しなくても動作しているのでOKとした)

  • プロペラガードを付けた。

  • プロペラを5030から5045に変えた。

  • モーター用Lipoバッテリを2セルから3セルに増やした。


ソフト面



  • roll角の制御した。


  • PID制御を追加した。

  • 重量バランスを吸収するため、モータ毎に回転数を設定した。


動作検証結果


  • 冶具ありの場合となしの場合で浮上させてみたが、納得のいくものにはらなかった。。

冶具あり動画(YouTube)

- 回転数を上げれば上昇することはわかった。

- ふらつきはまだまだ大きすぎる。

- roll制御は未完成。。

IMAGE ALT TEXT HERE

冶具なし動画(YouTube)

- roll制御だけなので、やはりどっかに行ってしまう。(機体の重い方とか)

- 飛んでいく方向が制御できないので出力を上げられない。

- roll制御どころではない。

IMAGE ALT TEXT HERE


わかったこと


  • 難しいことがわかった。(実感した)

  • PID制御の値を定めることができない。

  • 冶具ありとなしで同じ制御は使えなそう。

  • 回転するプロペラが危険。

  • 機体の重量バランスは大事

  • 加速度も取得できるので考慮したほうがよさそう。(下図はpitchと加速度aaWorld.xの測定結果)
    ピッチと加速度.PNG


次にやること


  • 冶具なしで検証できるようする方法を考える。

  • 加速度を計算に加える

  • 継続してPID制御を検証する

  • プロペラガードを強化する。

  • roll以外の制御も考えないと。。

この続きは、Raspberry Pi Zero で自律飛行ドローンを作るぞ(第3回:フライトコントローラを使いました...)


コード(GitHub)

https://github.com/shigeru-yokochi/drone