Control LinkとArduPilot SITLの比較検証


箱庭ドローンPROのControl LinkArduPilot編

ArduPilotでも、同じ入力で、ほぼ同じ出力を。

ArduCopter 4.6.3 の制御と状態推定(EKF3)を使う Control Link を、PX4編と同じミッションで ArduPilot SITL と比べました。Control Link の仕組みはPX4編をご覧ください。

ArduPilot SITLに近い飛行応答を、
1回あたり約8〜25倍速く出す。
PX4でもArduPilotでも、実機の前にもっと試せる。
66 / 72
72指標のうち66項目OK(6項目は要確認)
要確認も許容差の内側(理由を下の表に記録)
NG 0
一致しなかった項目
Control Link 10回(ノイズの乱数を変える)対 ArduPilot SITL 10回の中央値で判定
7.1 秒
Control Link で183秒の飛行を計算
ArduPilot SITL は1回 約60〜170秒(4倍速〜等速、起動を含む)。1回あたり約8〜25倍
73 ms
指令から機体が動き出すまで(ArduPilot SITLの中央値)
Control Link は71〜73 ms(区間ごとの中央値)。各段の遅れを箱庭の時刻で直接測定

同じ動きを、左右に並べて 実測 左:Control Link、右:ArduPilot SITL(各指令の時刻で揃えた記録の再生)

比較動画:x500の同じミッションを、左にControl Link、右にArduPilot SITLとして再生しています。

経路と速さ 実測 同じミッションの結果(x500)

上から見た経路と区間ごとの速さ
上から見た経路と各区間の速さ。Control Link 10回とArduPilot SITL 10回がほぼ重なる。

機体の傾き 実測

機体の傾き
ピッチ角・ロール角。加速・巡航・減速の傾き方が一致。

指令の直後 実測 箱庭コアの時刻で揃えた

指令の直後の角速度
指令を受け取った瞬間からの回転の速さ。動き出すまでの遅れが一致。

状態推定(EKF3)の誤差 実測 推定 − 真値

状態推定の誤差
ピッチ角・ロール角の推定のずれは0.2度以下で、ずれ方の傾向が同じ。Control Link は加速の切り替わりで一瞬へこむ(差は0.1度以下)。ArduPilot SITL の階段状の線は記録の桁数(0.01度)によるもの。高さは両方とも±5 cm以内。

ばらつきごと比べる 実測 1回ずつの値(点)と中央値(横線)

代表6指標
10回ずつの結果とばらつきを比較。灰色の帯は許容差。

残っているズレと、その理由 NG ではないが記録しているもの

ズレ理由扱い
静止中の高さの推定のばらつきが ArduPilot SITL で約5倍SITL は気圧計が2個で、ノイズが一様分布(標準偏差はそろえた)。Control Link は1個・正規分布中央値の差は許容差の内側
戻り(向きを反転)で速さが半分に達するのが約20 ms遅い向きを反転しながら加速する間、速さの立ち上がりが約2%違う許容差50 ms以内
着陸の接地の時刻が ArduPilot SITL で回ごとにばらつく(1回だけ0.3秒早い)着陸を始めるときの高さの推定が回ごとに違う中央値の差95 ms(許容差150 ms)
受け渡しの往復の遅れの見え方が違う(3 ms 対 1 ms)測り方による見え方の違い。指令から動き出すまでの合計は一致許容差5 ms以内
角速度の追従・動き出しに1〜2 msの差制御の1刻み(3 ms)より小さい差許容差10 ms以内
姿勢の推定が加速の切り替わりで一瞬へこむ推定の内部の細かな違い(0.1度以下)判定はすべてOK

合わせるために直したこと ArduPilot SITL と同じにするまでに分かったこと

見つかった違い原因対応
指令が常に9 ms遅れて効いていたSITLの起動時に送り直された指令が受信の箱に9個溜まっていた最新だけを使う
機首の向きの推定が0.7度ずれていた起動時の偏角が0、SITLだけにジャイロのずれがあった偏角を最初から設定し、Control Linkにもジャイロのずれを入れた
GPSと気圧計の遅れが二重機体側とArduPilotの両方で遅らせていたArduPilot側だけに
離陸・着陸のタイミングが違ったアーム後2秒の待ち、スロットルの上げ方、降下の形同じ手順を再現
速さが4.8 m/sで頭打ち速度の上限のかけ方の違いArduPilotと同じに
結果直す前 OK 51 / 要確認 19 / NG 2直した後 OK 66 / 要確認 6 / NG 0

この検証で示したのは、軽量な制御シミュレーションを ArduPilot SITL で照合できるという可能性です。制御の安全性や実機適用には、別途SITL・HIL・実機による検証が必要です。

データ:2026年10月12日。機体 x500、ArduCopter 4.6.3。北へ30 m → 向きを反転して戻る → 東へ30 m の自動ミッション(PX4編と同じ)。Control Link はセンサーのノイズの乱数を10通りに変えて10回、ArduPilot SITL は10回(1 msの物理、3 msの制御)。各指標は中央値の差が許容差の内側かで判定。所要時間はこの試験の1回あたりの実測(ArduPilot SITLは起動を含む)。 検証結果は指定条件での実測であり、実機との一致や全条件での等価性を保証するものではありません。

PX4編を見る Control Link製品紹介に戻る

トップへ戻る