ドローン制御の勉強をしてみようーその後
2019年3月に4回目の
「Arduino で ESC(Electronic Speed Controller)を使ってブラシレスモーターを制御する」
の話を書いてからドローンの勉強について書いてなかったので、その後について書いておきます。
その後、ドローンの制御プログラムの作成を試みてみました。
3軸「ピッチ(上下)」と「ロール(左右)」、「ヨー(回転)」をプロポからの操作値と3軸センサから姿勢値でPIDフィードバック制御を行ってみることにした。
先ずは1軸「ヨー(回転)」だけで試すことにしました。
ヨーは回転なので天井からドローンを吊るしてシリアルケーブルでドローンとPCを繋げて
・プログラムの書き込み
・トレースデータのリアルタイム表示
を出来る環境を構築して作業を行いました。
試行錯誤しながらどうにか指定角(プロポから操作された位置)に留まろうする動き(外力に対して元の位置に戻ろうとする動き)が出来るところまで行きました。
途中ハンチングを起こし、えらいことになったりしました。試行錯誤なのでしかたないのですが。。。。
使用しているドローンが結構大きくてモーターを回すと大きい音がするのでアパートということもありお隣さんに迷惑になるなぁと思うのとPIDフィードバック制御のパラメータをいじったり、ロジックをいじったりして動作確認を繰り返していると無限地獄に陥ってしまい、このままややり続けるとやばいなぁと思い、1年位前の時点でこの作業をやめています。
その際の作業の状況を撮影した動画が見つかったので載せておきます。
窓を開けて作業していたので小鳥の鳴き声が混じっていたり、映像が暗かったり、机の上・周辺が散らかっていたりと恥ずかしいのですが記載することにしました。
まぁ~!こんな開発環境でやっていたんだなぁということはわかって頂けると思います。
今回は「ドローン制御出来ました!」といかない結果となりました。
なお、センサー(加速度・角速度・磁気)の読み取りには Madgwickフィルタを使ってみました。