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