
AIエージェント Codex で ドローン
本記事にはアフィリエイト広告が含まれます。
AIエージェント Codex を活用して車輪倒立振子の制御システム構築を成し遂げました。
現代技術の恩恵を十分に浴びることができたと感じました。
しかし倒立振子はいろいろなモータや構成で作りに作りまくっており、成熟した俺メソッドが確立しているので無意識的にもうまくいくようにAIエージェントを誘導してる可能性があります。
実際アイツ(この時点ではCodex先生呼びじゃなかった) ワークスペース内の俺のコードとかも読み込んでたし。。。
自身に知識がないところでCodex先生に教えていただいただき、その過程を記しておけば先生の真価がはっきりと分かると考えました。
テーマはドローンです。
目次
私とドローン
ドローンについては大昔に手を付けております。
制御コードを検証していたのですが。。。
のちに暴走してすごく怖い思いをしたためプロジェクトを閉じました。
この時の機体を用いてCodex先生と学んでいこうと思います。
Makerfabsの ESP32 6- Axis IMU 基板にプロペラコアレスモータとLiPoバッテリを搭載しています。
3Dプリント品のプロペラガードも追加している。
コントローラESP32、IMUセンサMPU6050が搭載
IMU
まずはCodex先生にIMUセンサ動作のコーディングをしていただきます。
先生にいい仕事をしていただくために事前にMPU6050のオフセット値は伝えておいています。
MPU6050のセンサ値から機体姿勢を算出してブラウザに表示するコードを生成いただきました。
バイブコーディングでドローン
IMUで姿勢検知
カルマンではなくComplementary Filterを推奨された#Codex pic.twitter.com/7gOmcxbva4— HomeMadeGarbage (@H0meMadeGarbage) May 18, 2026
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するコードを生成いただきました。
バイブコーディングでドローン
モータ駆動味見#Codex pic.twitter.com/Qbmdb8xjNu— HomeMadeGarbage (@H0meMadeGarbage) May 18, 2026
回転方向は以下の通り
姿勢制御
IMUセンサによる機体角検知とモータ駆動の確認ができましたので、ドローンの姿勢制御についてCodex先生に教えていただきます。
Pitch角制御
PD制御によるPitch角制御コードを先生に生成いただきました。
バイブコーディングでドローン
ピッチ角追従
最初なのでPD制御を推奨された#Codex pic.twitter.com/2UTdU8uGSR— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
Complementary Filterによる機体傾斜角とMPU6050の角速度のPD制御です。
各ゲインはブラウザアプリで動作をみながら手動調整しました。
Roll角制御
Pitch角と同様にRoll角のPD制御
バイブコーディングでドローン
ピッチ角追従
最初なのでPD制御を推奨された#Codex pic.twitter.com/2UTdU8uGSR— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
Yaw角制御
Yaw軸制御コードも生成いただく
バイブコーディングでドローン
Yaw軸回転追従
IMUのZ軸の角速度を用いてる#Codex pic.twitter.com/xywrMpjTUy— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
MPU6050のZ軸角速度のP制御です。
Pitch, Roll, Yaw角制御
Pitch, Roll, Yaw制御を融合していただきました。
バイブコーディングでドローン
ピッチ・ロール姿勢制御 + Yaw角速度制御
姿勢制御はPD制御だけど先生がPIDはまだ早いと言うんや
さて空中飛行で耐えうる制御なのかどうかはどう評価するのかな?AIエージェントで急激におじの脳にインストールしてるから白目向いて鼻血出そうだぜ….
いったん休憩… pic.twitter.com/vkTmBNbfBL— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
所感
Codex先生のおかげで素晴らしい姿勢制御コードが一瞬で生成されました。
PDやP制御と簡易的なものを推奨されました。
もっとPIDや物の本にかいてあるカスケード制御がいいのではと聞いたのですが、IMUのフィルタも含めてまずはシンプルに進めて実機で確認せよとのことです。
先生がそうおっしゃるのですから従うのみです。
離陸
つづいてモータの出力を上げて離陸のテストを実施します。
バイブコーディングでドローン
怖いなぁ。。#Codex pic.twitter.com/lC37PEramn
— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
モータの回転数を上げるとバッテリ電圧の降下でコントローラESP32がシャットダウンする現象が発生しました。
そこで470uFの大きいコンデンサを追加しました。
こういうのはAIにはできない人間がなせる真心の作業ですよね。
離陸テスト
離陸直後に機体が傾いているのでゲイン調整が必要です。
バイブコーディングでドローン
一瞬離陸試験
これで横に流れているようでは#Codex pic.twitter.com/CTLXPqHZKx— HomeMadeGarbage (@H0meMadeGarbage) May 19, 2026
ゲイン調整によって機体の傾きは改善されました。
どうしても左右に流れる
PD制御だとキツいんとちゃいますか?Codex先生 pic.twitter.com/8qLu4tKqpe— HomeMadeGarbage (@H0meMadeGarbage) May 20, 2026
プロペラガードが重いので除去
バイブコーディングでドローン
一瞬離陸試験
ゲイン調整でそこそこ安定
モータが苦しそうだったのでプロペラガード除去
ちょっと怖いけど。。。一旦これでホバリングを目指しますか#Codex pic.twitter.com/jQp7vaInDR
— HomeMadeGarbage (@H0meMadeGarbage) May 20, 2026
機体は流れてしまいますが、平行を保って回転もありません。
姿勢制御は出来ているようなのでホバリングを目指します。
ホバリング
姿勢制御は概ね問題なさそうだけど、結構機体が流される。
姿勢制御を詰めれば位置もそれなりに落ち着くと思っていましたが甘かったです。
バイブコーディングでドローン
ホバリングテスト
流れるのですぐに緊急停止
先生本当にPDでいけるのでしょうか?#Codex pic.twitter.com/wMXnevWFO5— HomeMadeGarbage (@H0meMadeGarbage) May 20, 2026
プロペラガードなしだと危ないので、新造 (AIコーディングで軽く流血させていただきました。)
ホバリングによる姿勢制御調整はこんなもんかな
バイブコーディングでドローン
姿勢制御はこんなもんなんかな
位置制御コントローラ機能追加していただきますか#Codex pic.twitter.com/uG16qStodB— HomeMadeGarbage (@H0meMadeGarbage) May 20, 2026
位置制御
PSコントローラでPitch, Roll角やYaw角速度の目標値を指定して位置制御するコードを生成いただく
バイブコーディングでドローン
位置制御コントローラ機能追加
さてどうだろうね#Codex pic.twitter.com/Jl7ZkPfMiH— HomeMadeGarbage (@H0meMadeGarbage) May 21, 2026
PS4コントローラ用のESP32ライブラリは以下を使用するよう指定
https://github.com/aed3/PS4-esp32/tree/master
ものすごく操作が難しい。。。
バイブコーディングでドローン
位置制御
うん 単純にコントローラ操作がムズい#Codex pic.twitter.com/7wtq5xmRiu— HomeMadeGarbage (@H0meMadeGarbage) May 22, 2026
ちょっとコレは厄介ですね
そもそも操縦が難しくてIMUのフィルタや姿勢制御の良し悪しを比較どころではありません。
おわりに
ここではCodex先生に教えていただきながらのドローンの制御学習を開始しました。
ホバリング動作まで確認できましたが、コントローラによる位置制御保持が難しく 制御手法の妥当性の評価まで至っておりません。
ちょっと実機で姿勢制御の比較改善検討は厳しいかな。。。
シミュレーションの導入が必要かもしれません。
ちょっとCodex先生に聞いてみましょう。






