箱庭ドローンシミュレータにおいて、1024台のドローンの同時シミュレーションに成功しました。
今回の実験では、以下の条件でシミュレーションを実施しています。
実験条件
- 機体数:1024台
- 物理モデル:6DOF
- 制御:PID制御
- PIDブロック数:12
- シミュレーション構成:分散構成(2ノード)
- 時刻同期:箱庭の分散時刻同期機構を使用
- WSL2/Ubuntu:
- Intel Core Ultra 7 155H(16コア / 22スレッド)
- MacBookPro:
- Apple M2 Pro(12コア/12スレッド)
つまり、
1024機のドローンが同時に物理計算+制御ループを回している状態です。
デモ動画
箱庭の分散シミュレーション
今回のポイントは、単なる大規模シミュレーションではありません。
分散ノード間で時刻同期を取りながら実行していること
が大きな特徴です。
今回のアーキテクチャ

(今回のアーキテクチャ)
この図は、今回の1024台ドローン分散シミュレーションの構成を示しています。
ポイントは主に3つあります。
1. プロセス並列によるスケール
今回のシミュレーションでは、
複数プロセスによる並列実行
を行っています。
| ノード | プロセス数 |
|---|---|
| PC#2 (WSL2 / Ubuntu) | 12プロセス |
| PC#1 (MacBookPro) | 4プロセス |
合計
16プロセス並列
でシミュレーションを実行しています。
各プロセスが複数のドローンを担当することで、
CPUコアの性能を最大限に引き出す構成
になっています。
2. PDUによるデータ集約
箱庭では、各機体の状態を
PDU (Protocol Data Unit)
という形式でまとめて通信します。
今回の構成では
- 1つのPDUに512台分の状態を格納
- データサイズ
約32KB / 20ms
この方式により、
1024台の状態を効率よく集約して送信
しています。
3. 共有メモリによる軽量通信
同一PC内のコンポーネント間通信には
共有メモリ (Shared Memory)
を使用しています。
これにより
- ソケット通信より低オーバーヘッド
- コピー回数の削減
- 高スループット
を実現しています。
結果として、
大規模シミュレーションでもリアルタイム性を維持
できています。
今回の構成のポイント
まとめると、このシステムは
CPU並列性 × 軽量通信 × PDU集約
によって
1024台のドローン同時シミュレーション
を実現しています。
シミュレーションを水平スケールさせることができます。
箱庭の設計思想
箱庭では
- PDUベース通信
- 分散時刻同期
- 物理エンジン非依存
という設計になっているため、
シミュレーションを水平スケールさせることができます。
合同会社 箱庭ラボ
担当:森崇

コメントを残す