2026年3月13日に速報した
「1024台同時シミュレーション」に対応した
箱庭ドローンシミュレータ正式版 v3.6.1 をリリースしました。
v3.6.1 は、v3.6.0 で導入した fleets 基盤(複数ドローンを一括制御する実行基盤)を実運用向けに強化したリリースです。
今回の中心は、Python 制御の高速化、箱庭アセット実行、可視化パイプラインの改善です。
公開リポジトリ:https://github.com/toppers/hakoniwa-drone-core
主な変更点
1. Python fleets 制御の高速化
- 共有メモリベースの 非同期 RPC ランタイムを追加
- Python 側の初期化固定コストを大幅削減
(約10倍の高速化を達成) - ドローンショー向け実行ツール show_runner の async_shared 対応を追加
2. 箱庭アセットとしてのドローンショー実行
ドローンショー実行を想定した箱庭アセットとして、
show_asset_runner を Python プログラムとして実装しました。
本プログラムでは、ドローンショー向けのドローン配置情報
(目標位置)を事前に設定しておき、
それらを時系列に従って全ドローンへ一斉通知します。
これにより、複数ドローンが同期しながら飛行する
ドローンショーの実行をシミュレーション上で再現できます。
3. DroneVisualStatePublisher の分散可視化対応を強化
可視化向け状態配信コンポーネントとして、
DroneVisualStatePublisher の分散可視化対応を強化しました。
本コンポーネントは、分散シミュレーションで
バラバラに存在するドローン状態を、
ビジュアライズ用にパッキングして配信するためのものです。
本機能により、512台のドローンの状態データ
(位置・姿勢・PWMDuty)を
最大 32KB のデータとして圧縮転送することが可能になります。
この圧縮データ(packed visual state)は
PDU チャネル番号で分離して送信します。
1024台構成の場合は、
2つのチャネルを用いてデータ転送を行います。
4. three.js / bridge の可視化改善
three.js ビューアへドローン状態を転送する
bridge コンポーネントの可視化処理を改善しました。
DroneVisualStatePublisher が出力する
packed visual state の複数データソース(_0 / _1 / …)に対応しました。
また、可視化の安定性を向上させるため、
以下のパケットを無視するようにしました。
– sequence_id == 0 の初期パケット
– invalid packet
– index 範囲外データ
– NaN / inf を含むデータ
1024台構成に対応するため、
bridge 側では _0 / _1 の 2 チャネル配管に対応しています。
5. 配布バイナリ改善
- Mac / Linux の配布バイナリに DroneVisualStatePublisher を同梱
- launcher は既定で配布済み VSP バイナリを利用
- 必要に応じて HAKO_VISUAL_STATE_PUBLISHER_BIN で上書き可能
OSS 版で利用できる範囲
v3.6.1 で追加したうち、OSS 版で直接利用できる主な機能は以下です。
- async_shared による Python fleets 制御の高速化
- show_asset_runner
- DroneVisualStatePublisher の拡張
- three.js / bridge の _0 / _1 対応
- Mac / Linux 向け `DroneVisualStatePublisher` バイナリ同梱
公開範囲に関する補足
Hakoniwa Conductor(simple) を使った server/client 分散可視化構成は、
hakoniwa-conductor-pro を前提とするため、
OSS 版だけではそのまま再現できません。
分散 Sim 向けの商用版バイナリ配布については、将来的に検討予定です。
公開する場合は、Hakoniwa Drone PRO と同様のライセンス形態での提供を想定します。
本リリースにより、
Python制御・可視化パイプライン・箱庭アセット実行の基盤が整備され、
商用系構成を含めた検証環境では最大1024台の実運用を確認しました。
合同会社 箱庭ラボ
担当:森崇

コメントを残す