OpenDRIVE とは
OpenDRIVE は ASAM が策定した標準仕様で、運転シミュレーションにおける静的な道路ネットワークを記述します。拡張子は .xodr で、OpenSCENARIO ファイルが参照する道路データの本体です。
.xodr ファイルの中身
Section titled “.xodr ファイルの中身”.xodr は道路をポリゴンの集合ではなく、解析的なパラメトリックジオメトリとして表現します。
- Road — 参照線を持ち、その線は
line/arc/spiral/poly3/paramPoly3を s 軸方向につなげた形で記述されます。 - Lane section — 左・中央・右のレーンに分かれ、それぞれが幅・種類・前後レーンとの接続情報を持ちます。
- Junction — 交差点を表現し、流入路と接続路の対応を明示します。
- Road object — ガードレール、標識、信号、横断歩道などのオブジェクトです。
- Elevation / superelevation — 道路の 3D 形状を定義する高さ・横勾配プロファイルです。
この解析的な表現のおかげで、シミュレータは「road 7 の s=42m におけるレーン中心はどこか」といった問い合わせを効率よく処理できます。一方でファイルを手編集するのは難しく、専用ツールを使うのが一般的です。
- OpenDRIVE 1.4 / 1.5 — 長く使われてきた安定バージョンで、古いツールでも見かけます。
- OpenDRIVE 1.6 / 1.7 — 段階的な改善と仕様の明確化が加わったバージョンです。
- OpenDRIVE 1.8 — drawtonomy のエクスポーターが対象とする現行バージョン。RoadRunner は 1.4〜1.8 を一通りサポートしています。
基本的に下位互換は保たれますが、上位互換は期待できません。利用するシミュレータが要求するバージョンを事前に確認してください。
OpenDRIVE と Lanelet2 の違い
Section titled “OpenDRIVE と Lanelet2 の違い”混同されやすい 2 つの HD map フォーマットをまとめます。
| 観点 | OpenDRIVE | Lanelet2 |
|---|---|---|
| 由来 | ASAM、シミュレーション業界 | Autoware、FZI |
| 道路の表現 | 解析的 (arc / spiral / 多項式) | ポリライン (lanelet を境界の linestring で囲む) |
| 主な利用先 | CARLA、esmini、RoadRunner、Cognata、SCANeR | Autoware の Planning モジュール、Perception の ground truth |
| ファイル形式 | XML (.xodr) | OSM XML |
どちらも同様の道路ネットワークを表現できますが、得意とする用途が異なります。詳しくは Lanelet2 とは を参照してください。
主な作成ツール
Section titled “主な作成ツール”- MathWorks RoadRunner — OpenDRIVE 1.4〜1.8 にフル対応した業界標準の HD マップエディタ。商用ですが、多くの大学で キャンパスライセンス が利用可能です。
- Truevision Designer — デスクトップ向けの OpenDRIVE エディタ。非商用利用は無料で、RoadRunner のオープンな代替としてよく参照されます。
- Blender Driving Scenario Creator — Blender 上で動くオープンソースのアドオン。三重クロソイドの道路ジオメトリと junction に対応しています。
- LaneMaker — Apache-2.0 のデスクトップエディタ。交通シミュレーションを内蔵し、気軽に道路ネットワークを作れる無料ツールです。
- odrviewer.io と odrplot — ブラウザで
.xodrファイルを閲覧・検査するためのビューアツール。編集機能はありません。 - drawtonomy — ブラウザで動くホワイトボードで、OpenDRIVE をインポートし、1.8 までをエクスポートできます。carry-through によるラウンドトリップにも対応しています。
drawtonomy の位置づけ
Section titled “drawtonomy の位置づけ”drawtonomy はブラウザベースの 2D OpenDRIVE エディタです。RoadRunner・Truevision Designer・Blender Driving Scenario Creator のような 3D HD マップ専用ツールの代替ではありませんが、2D の道路ネットワーク作業については一通りのループをカバーしています。
.xodrをインポートして必要な道路を選択し、レーン・ジャンクション・接続を視覚的に編集できます。- 交差点・レーン合流・道路レイアウトをゼロからスケッチし、信号機・道路標識・停止線・優先関係を、対象レーンに紐付けた編集可能な regulatory element として配置できます。
- OpenDRIVE 1.8 を OpenSCENARIO 1.2 とセットで、あるいは esmini 対応の zip としてまとめてエクスポートできます。エクスポーターは
<junction>/<connection>/<laneLink>構造と<signal>エントリを、単に持ち越すだけでなく合成することもできます。 - ラウンドトリップ対応: 編集しなかった道路・信号・標識は元の
.xodrからそのまま再出力 (carry-through) されるため、解析的ジオメトリ・junction の所属関係・<signal>属性セットまで完全に保持されます (esmini の RoadManagerLib と突合して検証済み)。 - インポートまたは作成した道路ネットワークを、2D キャンバスと並行して 3D プレビュー (Chase / 俯瞰 / ドライバー視点) で確認できます。動作確認としては便利ですが、あくまで view-only で、3D HD マップ制作ツールの代わりにはなりません。
- すべてブラウザ内で完結するため、インストールもアカウント登録も不要です。
2D ポリラインモデルには、次のような限界があります。
- 3D 詳細 — 高さ・横勾配・橋梁・立体交差。drawtonomy のキャンバスは 2D のため、インポート時に縦方向のジオメトリは破棄され、エクスポート時にも作成されません。3D プレビューも平面上に道路を再生するだけで、地形や高さを追加するものではありません。3D HD マップが必要な場合は専用ツールを使用してください。
- ゼロから描いた道路の解析的な曲率。 サンプリングした点から OpenDRIVE ジオメトリに近似するのであって、ネイティブのクロソイド係数として編集しているわけではありません。esmini・CARLA・Autoware での再生には十分ですが、道路設計 CAD 用途には向きません。インポートして形状を変えていない道路は、carry-through によって元の解析的ジオメトリを保持します。
- ゼロから作った junction の精度。 インポートした
.xodrから未編集のまま持ち越された junction は、元のトポロジーを高い忠実度で再現します。一方、手描きのレーンネットワークから合成した junction はまだ十分に信頼できません。周囲の道路が carry-through 由来であれば出力された junction を信頼できますが、新規スケッチから合成した場合は注意が必要です。