콘텐츠로 이동

OpenDRIVE란?

**OpenDRIVE**는 주행 시뮬레이션에서 정적 도로 네트워크를 기술하는 ASAM 개방 표준입니다. .xodr 확장자를 사용하며, OpenSCENARIO 파일이 참조하는 표준 도로 기하 컨테이너입니다.

.xodr 문서는 도로 네트워크를 분석적으로(analytically) 기술합니다. 폴리곤 집합이 아니라 매개변수 기하로 표현됩니다.

  • Road — 참조선을 s축을 따라 line, arc, spiral, poly3, paramPoly3 세그먼트로 표현합니다.
  • Lane section — 좌측, 중앙, 우측 차선으로 구성되며, 각 차선은 폭, 유형, 차선 간 후속/전임 링크를 갖습니다.
  • Junction — 진입 도로와 연결 도로 간의 명시적 매핑으로 교차점에서 도로들을 연결합니다.
  • Road object — 방호울타리, 교통 표지, 신호등, 횡단보도 등입니다.
  • Elevation / superelevation 프로파일 — 도로의 3D 형상을 정의합니다.

이런 분석적 표현 덕분에 시뮬레이터는 “도로 7의 s=42m 지점에서 차선 중심은 어디인가” 같은 질의를 저렴하게 처리할 수 있습니다. 그리고 바로 이 때문에 이 형식은 대체로 손으로 편집하기보다 전용 도구로 편집합니다.

  • OpenDRIVE 1.4 / 1.5 — 오랫동안 쓰인 안정 버전으로, 구형 도구에서 여전히 흔히 보입니다.
  • OpenDRIVE 1.6 / 1.7 — 점진적 개선과 명확화가 이루어진 버전입니다.
  • OpenDRIVE 1.8 — drawtonomy가 내보내기 대상으로 삼는 현재 버전입니다. RoadRunner는 1.4~1.8 전 범위의 가져오기·내보내기를 지원합니다.

도구들은 대체로 하위 호환은 되지만 상위 호환은 보장하지 않습니다. 사용하는 시뮬레이터가 어떤 버전을 기대하는지 먼저 확인하세요.

HD맵과 인접해 있어 자주 혼동되는 두 형식입니다.

항목OpenDRIVELanelet2
출처ASAM, 시뮬레이션 업계Autoware, FZI
기하분석적 (호, 나선, 다항식)폴리라인 (라인스트링으로 경계 지은 lanelet)
주요 소비처CARLA, esmini, RoadRunner, Cognata, SCANeRAutoware planning, 인식 ground truth
저장 형식XML .xodrOSM XML

두 형식 모두 비슷한 도로 네트워크를 표현할 수 있지만, 각자 다른 다운스트림 작업에 최적화되어 있습니다. 반대편 시각은 Lanelet2란?에서 다룹니다.

  • MathWorks RoadRunner — OpenDRIVE 1.4~1.8을 전 범위 지원하는, 널리 쓰이는 HD맵 편집기입니다. 상용 제품이며 많은 대학에 캠퍼스 라이선스가 제공됩니다.
  • Truevision Designer — 비상업적 용도로는 무료인 데스크톱 OpenDRIVE 편집기로, RoadRunner의 오픈 대안으로 자주 언급됩니다.
  • Blender Driving Scenario Creator — 삼중 클로소이드 도로 기하와 제대로 된 교차로 지원을 갖춘 오픈소스 Blender 애드온입니다.
  • LaneMaker — 내장 교통 시뮬레이션을 갖춘, 캐주얼 사용자를 겨냥한 무료 Apache-2.0 데스크톱 도로 네트워크 편집기입니다.
  • **odrviewer.io**와 odrplot — 편집 없이 브라우저에서 .xodr 파일을 확인만 하는 뷰어 도구입니다.
  • drawtonomy — OpenDRIVE를 가져오고 내보내는(최대 1.8), carry-through 라운드트립을 지원하는 브라우저 화이트보드입니다.

drawtonomy는 2D 브라우저 기반 OpenDRIVE 편집기입니다. 3D HD맵 저작에서 RoadRunner / Truevision / BDSC를 대체하는 도구는 아니지만, 2D 도로 네트워크 작업에서는 처음부터 끝까지 한 흐름을 커버합니다.

  • .xodr 가져오기 후 필요한 도로를 선택해 차선, 교차로, 연결 관계를 시각적으로 편집합니다.
  • 도로 레이아웃을 처음부터 그립니다 — 교차로, 차선 합류, 차선 기하 — 그리고 신호등, 교통 표지, 정지선, 통행우선권 관계를, 그것이 규율하는 차선과 연결된 편집 가능한 규제 요소로 배치합니다.
  • OpenDRIVE 1.8을 OpenSCENARIO 1.2 파일과 함께, 또는 esmini 대응 zip 하나로 묶어 내보냅니다. 익스포터는 <junction> / <connection> / <laneLink> 구조와 <signal> 항목을 단순히 그대로 넘기는 것을 넘어 실제로 합성해낼 수 있습니다.
  • 라운드트립: 편집하지 않은 도로, 신호, 표지는 carry-through를 통해 원본 .xodr에서 그대로(verbatim) 다시 내보내집니다. 그래서 분석적 기하, 교차로 소속 관계, <signal> 속성 전체가 그대로 유지됩니다(esmini의 RoadManagerLib으로 검증).
  • 가져오거나 직접 그린 네트워크를 2D 캔버스 옆에 3D 프리뷰(추격 / 조감 / 운전자 시점 카메라)로도 확인할 수 있습니다 — 눈으로 한 번 더 검산하기에는 유용하지만 뷰 전용이며, 전문 3D HD맵 도구를 대체하지는 않습니다.
  • 모든 작업이 브라우저에서 실행됩니다. 설치도 계정도 필요 없습니다.

2D 폴리라인 모델이 한계를 보이는 지점도 있습니다.

  • 3D 디테일 — 고도, 뱅킹, 교량, 입체교차. drawtonomy 캔버스는 2D이므로 가져올 때 수직 기하가 사라지고 내보낼 때도 저작되지 않습니다. 3D 프리뷰 역시 평면 위에 도로를 재생할 뿐, 지형이나 고도를 더해주지는 않습니다. 3D HD맵이 필요하다면 전용 HD맵 도구를 쓰세요.
  • 처음부터 그린 도로의 분석적 곡률. 이런 도로는 네이티브 클로소이드 계수로 편집되는 게 아니라, 샘플링한 점들로부터 OpenDRIVE 기하에 피팅됩니다. esmini / CARLA / Autoware 재생용으로는 충분하지만 도로 설계 CAD 용도로는 부족합니다. 가져온 뒤 모양을 바꾸지 않은 도로는 carry-through를 통해 원본 분석적 기하를 그대로 유지합니다.
  • 처음부터 그린 도로의 교차로 정확도. 가져온 .xodr에서 편집 없이 넘어온 교차로는 원본 위상을 높은 정확도로 유지합니다. 반면 손으로 그린 차선 네트워크에서 합성한 교차로는 아직 신뢰도가 충분하지 않습니다 — 주변 도로가 carry-through로 넘어온 경우라면 내보낸 교차로를 신뢰할 수 있지만, 새로 스케치한 경우라면 아직은 아닙니다.