速報:箱庭ドローンシミュレータで1024台の同時シミュレーション達成!


箱庭ドローンシミュレータにおいて、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ベース通信
  • 分散時刻同期
  • 物理エンジン非依存

という設計になっているため、

シミュレーションを水平スケールさせることができます。

合同会社 箱庭ラボ
担当:森崇


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP