コンテンツにスキップ

Lanelet2 から OpenSCENARIO へのつなぎ方

Lanelet2 マップをベースに簡単な運転シナリオを作りたい — drawtonomy はこのケースで視覚的な橋渡しとして機能しますが、用途は意図的に絞っています。

Lanelet2 OSM → drawtonomy のキャンバス → シンプルな OpenSCENARIO + OpenDRIVE バンドル

具体的には次の手順です。

  1. Lanelet2 マップを取り込む。
  2. 必要に応じてジオメトリを整える・トリミングする。
  3. シナリオの登場物を少数追加する。
  4. Path 矢印で意図する挙動を示す。
  5. esmini バンドル (.xosc + .xodr + run.sh) を書き出す。
  • 既存の Lanelet2 マップをベースにした、論文や社内議論向けシナリオ図を素早く用意できる。
  • 単純なケースであれば esmini でそのまま再生できる小さなシーン。
  • 後から少しずつ手直しできる .drawtonomy.svg ソースファイル。
  • 本格的な Lanelet2 → OpenDRIVE 変換器ではありません。 drawtonomy のエクスポーターは解析的なジオメトリを再構築しません。lanelet を視覚的に解釈し直した OpenDRIVE を出力するだけで、産業グレードの変換とは別物です。本格的な変換には専用ツールを使ってください。たとえば CommonRoad Scenario Designer は CommonRoad を中間表現にして Lanelet2 と OpenDRIVE をつなぐ機能を持っています。
  • 本番品質のシナリオ。 drawtonomy は OpenSCENARIO 1.3 の一部のみをカバーします。条件付きトリガ、パラメータ走査、カスタムコントローラ、複雑な Storyboard は出力されません。
  • 行き先側への Lanelet2 規制要素の伝播。 取り込み時の規制要素は sidecar 機構で再エクスポート時に保持されますが、OpenSCENARIO 側に <signal> や Storyboard エントリとして伝播するわけではありません。
  • Autoware との緊密な連携。 drawtonomy は OpenSCENARIO + OpenDRIVE のペアを書き出すところまでです。Autoware の中でシナリオを動かすには Autoware 自身のシナリオツールが必要になります。
  • 書き出し前にトリミングする。 Lanelet2 マップは必要範囲よりずっと広いことが多いので、関係する範囲だけに絞ってから登場物を追加します。
  • レーン方向を確認する。 取り込んだ lanelet の向きが OpenDRIVE 側のレーン方向に対応します。歩道や逆方向のレーンが走行可能として残っていないか確認しておくと安全です。
  • まず esmini で動かしてみる。 単純な軌跡で動くか確認して、必要な部分だけ後から XML で拡張するのが現実的です。
  • 都市規模・本番品質の Lanelet2 → OpenDRIVE 変換 → 専用の変換ツールを使う。
  • 本番シナリオ群の生成 → 既知の正しい OpenDRIVE をベースに、コードや DSL からシナリオを生成する。
  • Autoware 内部で動かすシナリオ → Autoware 自身のシナリオツールを使う。