AIに 『荷物を届けて』 って言ったら、ドローンが勝手に飛んで写真まで撮ってきた。
なんか、ちょっと面白そうじゃないですか?
この記事を読むとわかること
ぼくは、 仕組み を考えて 作る のが好きな人なので、できあがったものそのものにはあまり興味がわきません。
いわゆる 「変態エンジニア」 タイプです(笑)。
なので、この記事で本当に伝えたいことはこれだけです。
「MCPサーバーを使ってドローンシミュレーション連携するためのアーキテクチャ」
アーキテクチャ
これが答えです。以上。
...と言いたいところですが、これだけだと味気ないので、少しだけ補足します。
この図が示しているのは:
- MCP-Server は、ドローンシミュレータを外部に公開する窓口です
- MCPClient(Gemini/Claudeなど) が自然言語からMCPサーバーにRPCサーバーへお願いをします
- RPC-Serverは、そのお願いをくみ取って、ドローンシミュレータが持つAPIをコールします
- その結果、ドローンシミュレータ がリアルタイムに動き、カメラやLiDARの情報を返すというわけです
そして、細かいことを言うと、機能を分離して、シミュレータのライフサイクル管理部分とドローンの操作部分は分離して、継承関係でつないでます。
利用するドローン
で、利用するドローンシミュレータですが、はい、チョーマイナーな国産ドローンシミュレータである箱庭ドローンを使います!
どれくらいマイナーかというと、「いいね数」を見てい頂ければ一目瞭然ですな。
- Unity+Pythonでドローン制御:実習や授業にそのまま使える箱庭ドローンシミュレータ
- Windows×Unityで爆速ドローン訓練!PS4コントローラ握って箱庭シミュレータを飛ばす!
- PX4 SITLをWindowsで爆速セットアップ:国産シミュレータ「箱庭」でラクに可視化・制御する方法
- ArduPilot SITLをWindowsで爆速セットアップ:国産シミュレータ「箱庭」でラクに可視化・制御する方法
でもねー、これ、めっちゃすごいのよ。ここにその理由を書いてあります。
フライトコントローラの2大巨頭をWindowsで手軽にUnityと連携する国産シミュレータ「箱庭」の仕組みとは
たぶん、日本初で、世界レベルのドローンシミュレータなんじゃないかなっと一人で思っています。
そして今回の記事では、この 箱庭ドローンをMCPにのせてAIに操縦させる 動画をまお見せします。
動画
こんときに、AIに指示した命令はこれっす。
荷物が、x=1.0, y=0.0, z=0.0にあります。
荷物が存在するかどうかをカメラ撮影して証拠として残して欲しいです。
荷物を受け取って、配送先に届けて欲しいです。
以下、配送時の条件です。
1. 飛行高度は0.5mにしてください。
2. 配送先は、荷物受け取り場所から前方約5m先にあります。
3. 障害物があるので、気をつけてください。
4. 移動時には前方障害物を入念にチェックしてください。数回はLidarスキャンで障害物を確認してください。
5. 配送する場所はできるだけ障害物の前方壁際近くに静かに配置してください。
6. 壊さないように、配置する場合は、高度を0.2m近くにしてください。
7. 配送終わったら、荷物がちゃんと置かれたことを証拠写真残して欲しいです。
8. 最後に、写真撮影終わったら、元の位置に戻ってください。
これでちゃんと荷物配送できました!
証拠写真もほら!
おっと、あかんわー。カメラの角度下向きにしてなかった!!おーまいがー。
今度指示するときは、ちゃんとカメラ角度きーつけてーなって言います。
まとめ
MCPを使えば、AIエージェント(Gemini/Claudeなど)と箱庭ドローンを自然に接続できます。
今回のデモは「荷物配送+証拠写真」でしたが、同じ仕組みで他のタスクにも応用可能です 🚁✨
おしまい。
さいごに
まだ、おわってないんかい!
うるさい。ひとこと言わして。
本来なら、アーキテクチャをよりシンプルにするなら、RPCサーバーなんかイランと思いますが、あえて、わけた。なぜだかわかりますか。
「RPCライブラリ作って、使ってみたかったから」
以上。
つづき気になる方は、こちら。
興味ない?(><)