esmini とは
esmini はスウェーデンの ADAS コミュニティが開発したオープンソースの OpenSCENARIO プレイヤーです。OpenSCENARIO 1.x の軽量なリファレンス実装として広く使われていて、コードが読めるサイズで、組み込みやすく、挙動が予測しやすいため、動作確認用の基準として定番の位置づけにあります。
esmini の動作
Section titled “esmini の動作”esmini は OpenSCENARIO 1.x の .xosc を解析し、参照先の OpenDRIVE .xodr 道路ネットワークを読み込んで Storyboard を実行します。エンティティを軌跡やコントローラに沿って動かしながら、その状態をストリーミング出力します。
CARLA や LGSVL のような物理エンジン込みのフルシミュレータとは性格が異なります。「シナリオが正しく解析・再生されるか」を確かめる軽量プレイヤーとして割り切っているところが、OpenSCENARIO ツールチェーンに広く採用されている理由です。
esmini がツール開発で重要な理由
Section titled “esmini がツール開発で重要な理由”esmini はオープンソースの OpenSCENARIO 1.x 対応プレイヤーとして最も普及しており、「esmini で動くか」が OpenSCENARIO エクスポート機能の動作確認の事実上の基準になっています。ASAM ファイルを出力するツールの多くは OpenSCENARIO 対応を名乗る前に esmini での検証を行っていて、たとえば RoadRunner のドキュメント にも「CARLA・esmini・IPG CarMaker など、OpenSCENARIO 準拠の任意のシミュレータ / プレイヤーに互換」という記述があります。
esmini に渡すファイル
Section titled “esmini に渡すファイル”最低限必要なのは次の組み合わせです。
.xosc(OpenSCENARIO シナリオ本体).xodr(.xoscが参照する OpenDRIVE 道路ネットワーク)- 任意で
.osgb(3D ビューア用) や、車両アセットを置いたModels/ディレクトリ
これらを zip にまとめておくと、別マシンや CI でも同じシナリオを再生できます。よく「esmini バンドル」と呼ばれる構成です。
drawtonomy との関係
Section titled “drawtonomy との関係”drawtonomy は .xosc + .xodr + run.sh をまとめた zip を書き出せます。標準的な esmini がインストールされていれば、解凍してすぐ再生できます。エクスポーターのドキュメント には次のような使い方が記載されています。
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768押さえておきたい点は次のとおりです。
- エクスポーターは OpenSCENARIO 1.3 / OpenDRIVE 1.8 の一部のみカバーしています。シンプルなシーンは再生できますが、条件付きトリガ、パラメータ走査、複雑な Storyboard、OpenDRIVE の junction は現時点では出力されません。
- 車両モデルは esmini の組み込みモデルを使うため、
.osgbを別途用意する必要はありません。 - 出力はあくまで出発点として設計されています。下書きや教育用途、デモ、最小再現ケースに適しています。大規模なシナリオやパラメータを変えた検証には、XML を手で書くか DSL で生成するアプローチが向いています。