ドローンのシミュレーションでは、「飛べるかどうか」だけでなく、どのようなセンサー条件で、制御がどう振る舞うかが重要です。
実際のドローンでは、GPSの情報は遅れて届き、気圧計やIMUは異なる周期で更新されます。センサーにはノイズや時間とともに生じるずれもあります。
箱庭ドローン v4.2.0では、こうしたセンサーの時間特性を、PX4・ArduPilotのSITLでより細かく再現できるようになりました。
さらに、箱庭ドローンPROでは、制御連携オプション(Control Link)の制御・状態推定を改良し、PX4・ArduPilot SITLとの定量的な比較検証を進めました。
v4.2.0のアップデート概要
| 対象 | 主なアップデート | 得られる価値 |
|---|---|---|
| 無償版 | センサー遅延・更新周期・精度・ノイズ等の設定を拡充 | SITLで、より現実的なセンサー条件を再現 |
| PRO+Control Link | 制御・状態推定の改良、SITLとの比較検証 | 高速な制御試験の結果を、フライトコントローラの標準的な環境で確認 |
| 共通基盤 | MuJoCo 3.16.0、設定バージョンの管理・検証 | 実験環境の違いを把握し、再現しやすくする |
Control Linkは、PRO基本ライセンスに追加する有償オプションです。
1. 無償版の目玉:センサーの「届くタイミング」まで再現する
SITL(Software-in-the-Loop)は、PX4やArduPilotなどのフライトコントローラのソフトウェアをPC上で動かし、仮想機体で飛行試験を行う方法です。
v4.2.0では、機体の物理計算と、センサーの更新・送信タイミングを分けて設定できるようになりました。
例えば、PX4 SITLでは次のような構成を扱えます。
物理計算:1ms → センサー送信:4ms → PX4の制御・状態推定
センサーごとに異なる周期や遅延を与え、実機に近い条件で制御・状態推定の振る舞いを確認できます。
無償版で追加・拡充した主な設定
- センサーの遅延: GPSや気圧計などの情報が届くまでの時間
- 更新周期: センサーごとの計測・送信間隔
- GPSの精度: 位置情報に付与する精度情報
- ノイズ・ドリフト: ジャイロなどの誤差や時間変化
- 乱数シード: 同一のノイズ条件を使った再実行
これらは無償版にも標準で含まれます。
一方、制御ソフトウェア側の遅延やEKFへの入力の扱いなど、制御処理との接続部分はPROのControl Linkで扱います。
2. PROの進化:速く試した結果を、SITLで確かめる
箱庭ドローンPROでは、制御連携オプション(Control Link)を使って、PX4・ArduPilotなどの制御処理を軽量なシミュレーション環境で動かせます。
制御パラメータや機体特性を変更しながら、多数の試験を繰り返せることが特徴です。
ただし、軽量な環境で安定して飛行したからといって、実際のフライトコントローラのソフトウェアでも同じ結果になるとは限りません。
そのため、Control Linkの高速な試験結果と、PX4・ArduPilot SITLの飛行結果を定量的に比較しています。
高速に試して候補を絞る。SITLで確認する。そして、HILや実機試験へ進む。
既存のSITLを置き換えるのではなく、そこへ至るまでの試行錯誤を効率化することが目的です。
今回改良した主な内容
Control Linkでは、SITLとの比較から見つかった差異をもとに、以下の項目を見直しました。
- 角速度や速度の微分に対するフィルタ処理
- EKFのパラメータとセンサー入力の扱い
- IMU加速度とセンサー遅延の反映
- 自動着陸における速度・加速度指令の扱い
これらの改善によって、Control LinkとSITLの応答の違いをさらに小さくすることを目指しています。
3. 数字で見る、PX4・ArduPilotとの比較検証
今回の開発では、公開仕様などを参考に構築したx500系の機体モデルを使用しました。
同じ機体モデルとミッション条件を使い、Control LinkとPX4・ArduPilot SITLをそれぞれ10回実行し、飛行経路、速度、姿勢、状態推定、制御応答などを比較しました。
| 検証項目 | PX4 | ArduPilot |
|---|---|---|
| 比較した指標 | 68項目 | 72項目 |
| OK | 63 | 66 |
| 要確認 | 5 | 6 |
| NG | 0 | 0 |
| Control Linkでの飛行計算時間 | 126秒分を約5.0秒 | 183秒分を約7.1秒 |
これらは2026年10月11〜12日の、v4.2.0開発途中の版による検証結果です。最終リリース版を再測定した結果ではありません。
「NG 0」は、事前に設定した許容差の範囲で不合格がなかったという意味です。
要確認として記録した項目には、許容差の内側に残る応答時間などの差異があります。例えばPX4との比較では、東方向への加速途中に約32ms、着陸時の接地に約89msの差が観測されました。
これらの違いも隠さず記録し、原因の調査と改善を続けています。
同一条件での再現性
特定の検証構成では、同じ条件で記録した13ログファイルがバイト単位で一致することも確認しています。
箱庭の共通時刻に基づく実行とログ記録により、同じ条件の試験結果を比較しやすくしています。
ただし、すべての機体設定、実行環境、並列構成でビット単位の一致を保証するものではありません。
比較の様子を動画で見る
Control LinkとPX4 SITLを使い、同じ機体・ミッションで離陸から着陸まで比較した動画です。
詳しい測定条件・グラフ・結果は、以下のページで公開しています。
4. その他の主なアップデート
MuJoCo 3.16.0への更新
物理エンジンをMuJoCo 3.13.0から3.16.0に更新しました。
MuJoCoのバージョンに依存する .mjb 形式のモデルは、元の .xml ファイルから作り直してください。
設定と検証環境の記録
機体設定に configVersion と validatedWith を追加しました。
設定ファイルのバージョンや検証に使った環境を記録し、互換性を確認しやすくしています。従来のv4.1.xの機体設定も読み込めますが、警告が表示される場合があります。
ArduPilot SITLの起動時の改善
起動直後に古いモーター指令が滞留し、制御の反応が遅れる問題を修正しました。
対応環境
macOS(Appleシリコン)、Ubuntu 22.04/24.04、Windows 11向けのバイナリを提供します。Dockerイメージも、対応するバージョンを配布します。
PRO版の更新時の注意
v4.2.0ではControl Linkのインタフェースが変更されています。
旧v4.1.2のDrone PROとPX4アダプターを混在させず、対応する構成一式で再ビルドしてください。制御の振る舞いが変わるため、PIDパラメータの再チューニングも推奨します。
5. 無償版で、まず試してみる
箱庭ドローンの無償版では、PX4・ArduPilot SITLと接続したドローンシミュレーションを利用できます。
今回、x500系機体モデルのPX4 SITL用設定と、Windows 11+WSL2で飛行させる手順も公開対象にしています。
モデルの設定から、離陸・移動・着陸までの再現を目指したサンプルです。
6. 入手方法・関連資料
無償版のソフトウェアと更新手順は、以下から確認できます。
旧バージョンのディレクトリへ上書きせず、新しい環境として展開することを推奨します。
PROの活用をご検討の方へ
箱庭ドローンPROでは、機体モデルの構築、制御パラメータの探索、高速な反復試験、SITLとの比較検証などを支援しています。
基本ライセンスではソースコードを提供し、研究開発の目的に合わせた改変・拡張にも対応します。
また、Control LinkやScenario Linkなど、検証目的に応じたオプションライセンスも用意しています。
