「無課金おじさんBetaflight-MCPを使う」の続きです。
Betaflight-MCPはAIとBetaflight Configuratorを接続する仕組みでした。そのBetaflight-MCPに同梱されているbb-tune-dekstop.zipはPIDチューニングするためのスキルです。その中身はログファイルを解析するPythonのプログラムとAIに対してチューニング手法を指示するための文章です。
opencodeに対してこのスキルを使えるようにしてと頼んでみました。


一見、ちゃんと出来たように見えましたが、opencodeを再立ち上げするとスキルの定義でエラーが発生しました。
導入ディレクトリー下の”.opencode/opencode.jsonc”というファイルの単純な書き間違いでした。この辺りはローカルLLMの能力の限界によるものです。もう一度頼んだりすれば直るでしょうが、簡単なことなので手で直しました。
正しい内容を下に書いておきます。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"betaflight": {
"type": "local",
"command": ["node", "server/server.js"]
}
},
"skills": {
"paths": [".opencode/skills/bb-tune"]
}
}
実際にドローンを接続してBlackBoxログを解析してみるとことにします。そのままでも大丈夫ですが、私はblackbox_decodeというプログラムを持っていましたので、それを使うようにSKILL.mdを少しだけ修正しました。
準備したのはわざとPIDを狂わせた65機を飛行させたものです。step responseを見ると次のような感じです。

このドローンをBetaflight-MCPに接続してopencodeでログの解析をお願いしました。自動的にログがダウンロードされ解析が始まりました。これはなかなか新しいです。

解析結果に基づいて対策が提案されます。このまま進めると提案されたPID値を機体に書き込んで、飛行テストに進むという流れです。
実際は全てのPIDを低くしたのですが、step responseを見ると分かるようにyawがかなり悪い状態です。そこはちゃんと指摘されましたが、推奨されたのはより小さなPI値でした。これは方向性が明らかに違うので、ここまでにしました。もしかするとClaude Desktopで行えば多少違うかもしれませんが、基本的にはSKILL.mdに記述された内容に従っているのだと思います。
自分でチューニングの評価をしながらSKILL.mdを更新していく仕組みが作れれば、基本的な枠組みはこのままで進化していく可能性もあります。
no comment untill now