箱庭シナリオPRO|【第1回】道路とシナリオは、標準規格とOSSの上に


DEVELOPMENT NOTE / 2026.10.19

道路を作る。シナリオを流す。何度でも同じ結果で。

箱庭ラボでは、実在の都市の道路で、車の走行シナリオを試せる仕組み「箱庭シナリオPRO」を作っています。ここまでを、ほぼ4日で作りました。その記録を5回に分けて紹介します。第1回は、なぜ標準規格(OpenDRIVE、OpenSCENARIO)とオープンソースの上に組み立てたのか、です。

OpenSCENARIOのシナリオをesminiが進め、車はMuJoCoの物理で走る。信号のある交差点、交差点の右折と対向車、高速道路の割り込み、立体交差。

ここまで:試せる都市(オープンソース)

PLATEAU AWARDに向けて、Urban Mobilityを一般公開しました。PLATEAUの3D都市モデルとOpenStreetMap(OSM)の道路から実在の都市を作り、その中でドローン、車、人をシナリオで動かせます。ここまではオープンソースです。

次の壁:車が走る道路のシナリオ

車の走行を試そうとすると、2つの壁があります。

  1. 道路をどうするか。車線、標識、信号。「どこを、どちら向きに走れるか」が道路に書かれていないと、車線変更も右左折も表せません。
  2. シナリオの実行をどうするか。「前の車が車線変更して割り込む」「信号が赤になったら止まる」といった出来事を、決めた条件で起こす仕組みが要ります。

どちらも一から作ることはできますが、まず「標準規格で、オープンソースで、すでにあるものはないか」を調べました。

道路:OpenDRIVE

道路には、ASAMの標準規格 OpenDRIVE があります。車線、交差点のつながり、標識、信号を記述できます。そして、OSMの道路をOpenDRIVEに変換する道具(SUMOのnetconvert)が、すでにありました。

そこで、OpenDRIVEのデータをもとに、

  • 車が実際に走る MuJoCoの路面(物理計算に使う道路)
  • 見た目の 標識・信号(GLB)

を作る流れを組みました。PLATEAUのCityGMLから建物や地形を作ったのと同じ流れです(実在の街の道路の話は、第4回で)。

シナリオ:OpenSCENARIO と esmini

道路がOpenDRIVEなら、シナリオはセットで OpenSCENARIO(同じくASAMの標準規格)です。そのオープンソースの実行器を探すと、esmini がありました。esminiはOpenDRIVEとOpenSCENARIO XML 1.x系の規格の一部に対応しています。

esminiは、シミュレーションの中で使うことを想定した作りになっていて、外から決めた刻み(Δt)で1歩ずつ進められます。これが、箱庭のアセットの時刻同期と抜群に相性が良かった。箱庭の1刻みごとにesminiを1刻み進めれば、シナリオの出来事が箱庭の時刻にそろって起きます。

その結果、シナリオで動く車と、箱庭の他のアセット(ドローン、ロボット、人)とを、同じ時刻の上で協調して動かせるようになりました。

残る壁:何度回しても、同じ結果に

ただし、もう1つ壁が残っています。箱庭は、物理計算やシナリオを別々のプロセスで動かす分散シミュレーションです。検証に使うには、同じ条件なら何度回しても同じ結果になること(決定論)が要ります。この答えは、最終回で。

このシリーズ

  1. 道路とシナリオは、標準規格とOSSの上に(この回)
  2. 高速道路を走る車をつくった ― 箱庭カー2号機とトラック
  3. esminiの道路20本を、MuJoCoで走らせる ― 4つのレベル
  4. OpenStreetMapの道路に、PLATEAUの高さを足したら ― レインボーブリッジ
  5. CARLAと比べてみた ― 夜通しの計測と、決定論へのこだわり

次回は、この道路を走る車の話です。

※ 箱庭シナリオPROは開発中です。製品としての提供範囲・時期は未定です。シミュレーション結果は、実際の車両の走行性能・安全性を保証しません。
※ OpenDRIVE・OpenSCENARIOはASAM e.V.の標準規格です。esminiはオープンソース(MPL-2.0)です。地図データ © OpenStreetMap contributors(ODbL)。3D都市モデルはPLATEAUを使っています。

関連:Urban Mobility / Vehicle Studio

← Now Buildingに戻る


トップへ戻る