プロトコル、API、実装
MAVLinkは機体などが情報や指令を交換するためのプロトコルで、MAVSDKは対応する機能を扱いやすくする開発用APIの集合じゃ。メッセージが規格にあること、ライブラリが送れること、接続先が実行できることは三つの別条件になる。公式のOffboard説明でも、対応する目標値や組み合わせは飛行スタックと機体に依存するとされとる。PX4のOffboardとArduPilotのGuidedを、名前だけ替えた同じ挙動として扱わんこと。使用版のAPI資料と接続先の文書を並べ、必要な操作を一行ずつ照合するんよ。 アプリの接続成功画面には、検出した飛行スタックや版を表示すると調査がしやすい。同じ通信口でも接続先が想定と違うことがあるけえね。未知の組み合わせは自動で実行へ進めず、対応確認が済んでいない状態として扱おう。
一度送って終わりにしない
外部制御では、接続、健全性確認、準備、実行、中止、終了という状態を明示すると扱いやすい。送信した指令を受け付けたという応答だけでは、狙った撮影区間を飛べた証拠にはならんのじゃ。テレメトリーでモード、位置、速度、カメラ状態を確認する。継続送信や生存信号の条件は接続先に合わせ、古い目標をいつ捨てるかを決めよう。外部アプリから制御が外れた場合も、送信関数が直ちに例外を返すとは限らん。制御権の変化を監視し、オペレーターへ分かる形で示す設計が必要なんよ。 状態が変わったときには、その理由を一つの文字列へ押し込めず、指令、応答、観測値を分けて保存する。後から通信障害と制御権の変更を区別しやすくなる。ログには同じ指令を追跡できるIDを付け、順番も分かるようにするんじゃ。
時刻と座標の契約を作る
独自の設計課題は、目標値に「座標系、単位、生成時刻、有効期限、指令ID」を持たせることじゃ。画像から推定した対象位置が古くなったとき、まだ最新として飛行へ使わんための仕組みになる。映像の受信時刻と露光時刻は同じとは限らんけえ、時間合わせも測定する。最初は保存済み映像とシミュレーターで、遅延や欠落を加えて動作を調べよう。誤差や遅延が増えたら撮影を継続せず、あらかじめ決めた安全側の状態へ移る。実機の運用判断は、通信ライブラリ任せにはできんのじゃ。 異なる時計を使う機器同士では、時刻のずれと処理の遅さが混ざって見える場合がある。時計を合わせる方法と、その精度を確認する方法を決めよう。ずれが分からないデータを、精密な同期撮影ができた証拠として扱わんことじゃ。
YOUR NEXT STEP
実践してみんさい。
- MAVLink対応を、全ての標準指令への完全対応と読まんこと。
- 公式サンプルの固定待ち時間を、そのまま本番の制御完了判定にせんこと。
出典と編集上の位置づけ
Sir Airffic Goの解説と練習課題は本ガイド独自の編集じゃ。製品固有の条件はリンク先の該当版を確認してつかあさい。
- MAVLink — Offboard Control Interface ↗
- MAVSDK — Offboard Control ↗
- MAVSDK — Offboard Velocity Example ↗
資料確認:2026年10月21日。製品の対応機種・版、制度の適用条件はリンク先で確認してつかあさい。出典には本文確認済みと公式検索索引での確認が含まれるで。
調査方法・未確認事項を見る →