AIエージェント Codex で ドローン

アバター画像 お父ちゃん  2026.5.22 
Home > 電子工作 > AIエージェント Codex で ドローン

本記事にはアフィリエイト広告が含まれます。

すき 0
うんこ 0

AIエージェント Codex を活用して車輪倒立振子の制御システム構築を成し遂げました。

AIエージェント Codex で 倒立振子3 ーモータモデルの同定手法を確立ー

現代技術の恩恵を十分に浴びることができたと感じました。

しかし倒立振子はいろいろなモータや構成で作りに作りまくっており、成熟した俺メソッドが確立しているので無意識的にもうまくいくようにAIエージェントを誘導してる可能性があります。
実際アイツ(この時点ではCodex先生呼びじゃなかった) ワークスペース内の俺のコードとかも読み込んでたし。。。

自身に知識がないところでCodex先生に教えていただいただき、その過程を記しておけば先生の真価がはっきりと分かると考えました。

テーマはドローンです。

 

AudiostockでBGM・効果音を販売中!

私とドローン

ドローンについては大昔に手を付けております。

姿勢制御検討2 ードローンへの道3ー

制御コードを検証していたのですが。。。

のちに暴走してすごく怖い思いをしたためプロジェクトを閉じました。

 

この時の機体を用いてCodex先生と学んでいこうと思います。

Makerfabsの ESP32 6- Axis IMU 基板にプロペラコアレスモータとLiPoバッテリを搭載しています。
3Dプリント品のプロペラガードも追加している。

コントローラESP32、IMUセンサMPU6050が搭載

回路図

 

IMU

まずはCodex先生にIMUセンサ動作のコーディングをしていただきます。
先生にいい仕事をしていただくために事前にMPU6050のオフセット値は伝えておいています。

 

MPU6050のセンサ値から機体姿勢を算出してブラウザに表示するコードを生成いただきました。

MPU6050による加速度から算出した機体角度θaccと角速度ωによるComplementary Filterを通して Roll角とPitch角を導出。

  θ = 0.98 (θ+ωΔt) + 0.02×θacc

先生が Complementary Filterが簡素で高速処理できるとおススメしてくれました。

 

モータ駆動

ESP32 6- Axis IMU ではMOSFETでモータを駆動します。
ESP32のGPIOのPWMでMOSをONOFFしてモータの回転スピードを制御します。

 

先生にモータをON/OFFするコードを生成いただきました。

 
回転方向は以下の通り

 

姿勢制御

IMUセンサによる機体角検知とモータ駆動の確認ができましたので、ドローンの姿勢制御についてCodex先生に教えていただきます。

Pitch角制御

PD制御によるPitch角制御コードを先生に生成いただきました。

Complementary Filterによる機体傾斜角とMPU6050の角速度のPD制御です。
各ゲインはブラウザアプリで動作をみながら手動調整しました。

Roll角制御

Pitch角と同様にRoll角のPD制御

Yaw角制御

Yaw軸制御コードも生成いただく

MPU6050のZ軸角速度のP制御です。

Pitch, Roll, Yaw角制御

Pitch, Roll, Yaw制御を融合していただきました。

所感

Codex先生のおかげで素晴らしい姿勢制御コードが一瞬で生成されました。

PDやP制御と簡易的なものを推奨されました。
もっとPIDや物の本にかいてあるカスケード制御がいいのではと聞いたのですが、IMUのフィルタも含めてまずはシンプルに進めて実機で確認せよとのことです。

先生がそうおっしゃるのですから従うのみです。

 

離陸

つづいてモータの出力を上げて離陸のテストを実施します。

 

モータの回転数を上げるとバッテリ電圧の降下でコントローラESP32がシャットダウンする現象が発生しました。
そこで470uFの大きいコンデンサを追加しました。

こういうのはAIにはできない人間がなせる真心の作業ですよね。

離陸テスト

離陸直後に機体が傾いているのでゲイン調整が必要です。

 

ゲイン調整によって機体の傾きは改善されました。

 

プロペラガードが重いので除去

機体は流れてしまいますが、平行を保って回転もありません。
姿勢制御は出来ているようなのでホバリングを目指します。

 

ホバリング

姿勢制御は概ね問題なさそうだけど、結構機体が流される。
姿勢制御を詰めれば位置もそれなりに落ち着くと思っていましたが甘かったです。

 

プロペラガードなしだと危ないので、新造 (AIコーディングで軽く流血させていただきました。)

 

ホバリングによる姿勢制御調整はこんなもんかな

 

位置制御

PSコントローラでPitch, Roll角やYaw角速度の目標値を指定して位置制御するコードを生成いただく

PS4コントローラ用のESP32ライブラリは以下を使用するよう指定
 https://github.com/aed3/PS4-esp32/tree/master

 

ものすごく操作が難しい。。。

 

ちょっとコレは厄介ですね
そもそも操縦が難しくてIMUのフィルタや姿勢制御の良し悪しを比較どころではありません。

 

おわりに

ここではCodex先生に教えていただきながらのドローンの制御学習を開始しました。

ホバリング動作まで確認できましたが、コントローラによる位置制御保持が難しく 制御手法の妥当性の評価まで至っておりません。

ちょっと実機で姿勢制御の比較改善検討は厳しいかな。。。

シミュレーションの導入が必要かもしれません。
ちょっとCodex先生に聞いてみましょう。

 

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください