ข้ามไปยังเนื้อหา

OpenDRIVE คืออะไร?

OpenDRIVE คือมาตรฐานเปิดของ ASAM สำหรับอธิบายโครงข่ายถนนแบบ static ในการจำลองการขับขี่ ไฟล์ใช้นามสกุล .xodr และเป็น container หลักสำหรับ geometry ของถนนที่ไฟล์ OpenSCENARIO อ้างอิงถึง

เอกสาร .xodr อธิบายโครงข่ายถนนแบบ analytical — ไม่ใช่ชุด polygon แต่เป็น parametric geometry

  • Road ที่มี reference line แสดงด้วย segment line, arc, spiral, poly3 หรือ paramPoly3 ไล่ตามแกน s
  • Lane section ที่มีเลนซ้าย กลาง และขวา แต่ละเลนมีความกว้าง ประเภท และ link successor / predecessor ระหว่างเลนต่อเลน
  • Junction ที่เชื่อมถนนเข้าด้วยกันบริเวณทางแยก พร้อม mapping ชัดเจนระหว่างถนนขาเข้ากับถนนเชื่อมต่อ
  • Road object เช่น guardrail ป้ายจราจร สัญญาณไฟ และทางม้าลาย
  • โปรไฟล์ Elevation และ superelevation สำหรับรูปทรง 3D ของถนน

การแสดงผลแบบ analytical นี้เองที่ทำให้ซิมูเลเตอร์ query ได้อย่างรวดเร็วว่า “ศูนย์กลางเลนที่ s=42m บนถนนสาย 7 อยู่ตรงไหน” และก็เป็นเหตุผลที่รูปแบบนี้มักถูกแก้ไขผ่านเครื่องมือเฉพาะทางมากกว่าแก้ด้วยมือ

  • OpenDRIVE 1.4 / 1.5 — เวอร์ชันเสถียรมายาวนาน ยังพบในเครื่องมือรุ่นเก่า
  • OpenDRIVE 1.6 / 1.7 — ปรับปรุงและชี้แจงรายละเอียดเพิ่มเติม
  • OpenDRIVE 1.8 — เวอร์ชันปัจจุบันที่ drawtonomy ใช้เป็นเป้าหมายในการส่งออก RoadRunner รองรับทั้งการนำเข้าและส่งออกครบทั้งช่วง 1.4–1.8

เครื่องมือส่วนใหญ่มักรองรับย้อนหลัง (backward-compatible) แต่ไม่รองรับเวอร์ชันใหม่กว่า (forward-compatible) — ควรตรวจสอบก่อนว่าซิมูเลเตอร์ที่ใช้อยู่รองรับเวอร์ชันใด

สองรูปแบบที่เกี่ยวกับ HD map ซึ่งมักถูกเข้าใจสับสน

ด้านOpenDRIVELanelet2
ต้นกำเนิดASAM วงการ simulationAutoware, FZI
GeometryAnalytical (arc, spiral, polynomial)Polyline (lanelet ล้อมรอบด้วย linestring)
ผู้ใช้งานหลักCARLA, esmini, RoadRunner, Cognata, SCANeRการวางแผนของ Autoware, ground truth สำหรับ perception
การจัดเก็บXML .xodrOSM XML

ทั้งสองรูปแบบอธิบายโครงข่ายถนนที่คล้ายกันได้ แต่ถูกปรับแต่งมาเพื่องานปลายทางคนละแบบ ดูอีกด้านหนึ่งได้ที่ Lanelet2 คืออะไร?

  • MathWorks RoadRunner — โปรแกรมแก้ไข HD map ที่ใช้กันแพร่หลาย รองรับ OpenDRIVE 1.4–1.8 ครบถ้วน เป็นซอฟต์แวร์เชิงพาณิชย์ที่มี campus license ให้มหาวิทยาลัยหลายแห่งใช้งาน
  • Truevision Designer — โปรแกรมแก้ไข OpenDRIVE บนเดสก์ท็อป ใช้ฟรีสำหรับงานไม่เชิงพาณิชย์ มักถูกใช้เป็นทางเลือกแบบเปิดแทน RoadRunner
  • Blender Driving Scenario Creator — add-on โอเพนซอร์สของ Blender รองรับ road geometry แบบ triple clothoid และรองรับ junction อย่างถูกต้อง
  • LaneMaker — โปรแกรมแก้ไขเดสก์ท็อปฟรีสัญญาอนุญาต Apache-2.0 สำหรับโครงข่ายถนน พร้อม traffic simulation ในตัว เหมาะกับผู้ใช้ทั่วไป
  • odrviewer.io และ odrplot — เครื่องมือฝั่ง viewer สำหรับตรวจดูไฟล์ .xodr ในเบราว์เซอร์ โดยไม่มีการแก้ไข
  • drawtonomy — ไวท์บอร์ดบนเบราว์เซอร์ที่นำเข้าและส่งออก OpenDRIVE (สูงสุด 1.8) พร้อมการ round-trip แบบ carry-through

drawtonomy คือโปรแกรมแก้ไข OpenDRIVE บนเบราว์เซอร์แบบ 2D ไม่ใช่ตัวทดแทน RoadRunner / Truevision / BDSC สำหรับการสร้าง HD map แบบ 3D แต่สำหรับงานโครงข่ายถนนแบบ 2D นั้นครอบคลุมลูปการทำงานได้ครบ

  • นำเข้าไฟล์ .xodr เลือกถนนที่ต้องการ แล้วแก้ไขเลน ทางแยก และการเชื่อมต่อแบบ visual
  • วาดผังถนนขึ้นใหม่ตั้งแต่ต้น — ทางแยก การรวมเลน geometry ของเลน — แล้ววางสัญญาณไฟ ป้ายจราจร เส้นหยุด และความสัมพันธ์สิทธิ์ในการไป (right-of-way) เป็นองค์ประกอบกำกับกฎที่แก้ไขได้และเชื่อมโยงกับเลนที่ควบคุมอยู่
  • ส่งออก OpenDRIVE 1.8 พร้อมไฟล์ OpenSCENARIO 1.2 หรือรวมกันเป็น zip พร้อมใช้กับ esmini ตัว exporter สามารถสังเคราะห์โครงสร้าง <junction> / <connection> / <laneLink> และรายการ <signal> ขึ้นมาเองได้ ไม่ใช่แค่ส่งต่อของเดิมอีกต่อไป
  • Round-trip: ถนน สัญญาณไฟ และป้ายที่ไม่ได้แก้ไข จะถูกส่งออกกลับจาก .xodr ต้นฉบับแบบคำต่อคำผ่านกลไก carry-through ทำให้ geometry แบบ analytical การเป็นสมาชิกของ junction และชุด attribute ของ <signal> ทั้งหมดยังคงอยู่ครบ (ตรวจสอบยืนยันกับ RoadManagerLib ของ esmini แล้ว)
  • ดูโครงข่ายที่นำเข้าหรือสร้างขึ้นในพรีวิว 3D (กล้อง Chase / มุมสูงแบบนก / คนขับ) ควบคู่กับแคนวาส 2D ได้ — มีประโยชน์สำหรับตรวจสอบคร่าว ๆ แม้จะเป็นแบบดูอย่างเดียว (view-only) และไม่ใช่ตัวทดแทนเครื่องมือทำ HD map แบบ 3D
  • ทำงานในเบราว์เซอร์ทั้งหมด ไม่ต้องติดตั้ง ไม่ต้องสร้างบัญชี

จุดที่โมเดล polyline แบบ 2D ยังมีข้อจำกัด

  • รายละเอียด 3D — ระดับความสูง การเอียงโค้ง สะพาน ทางแยกต่างระดับ แคนวาสของ drawtonomy เป็น 2D ดังนั้น geometry แนวตั้งจะถูกตัดทิ้งตอนนำเข้าและไม่ถูกสร้างขึ้นตอนส่งออก พรีวิว 3D จะเล่นถนนแบบราบบนระนาบเดียว ไม่ได้เพิ่มภูมิประเทศหรือระดับความสูงให้ สำหรับ HD map แบบ 3D ควรใช้เครื่องมือทำ HD map โดยเฉพาะ
  • ความโค้งแบบ analytical ของถนนที่วาดขึ้นใหม่เอง ถนนเหล่านี้จะถูก fit เข้ากับ geometry ของ OpenDRIVE จากจุดสุ่มตัวอย่าง แทนที่จะแก้ไขเป็นค่าสัมประสิทธิ์ clothoid แบบ native โดยตรง วิธีนี้ใช้ได้ดีสำหรับการเล่นใน esmini / CARLA / Autoware แต่ไม่เหมาะกับงาน CAD ออกแบบถนน ส่วนถนนที่นำเข้ามาแล้วไม่ได้ปรับรูปทรงจะยังคง geometry แบบ analytical ดั้งเดิมไว้ผ่าน carry-through
  • ความแม่นยำของ junction สำหรับถนนที่สร้างขึ้นใหม่ทั้งหมด ทางแยกที่นำเข้าจาก .xodr เดิมโดยไม่แก้ไขจะคงโทโพโลยีดั้งเดิมไว้ได้อย่างแม่นยำสูง ส่วนทางแยกที่สังเคราะห์ขึ้นจากโครงข่ายเลนที่วาดขึ้นเองยังไม่น่าเชื่อถือเท่า — ควรเชื่อ junction ที่ส่งออกมาเมื่อถนนรอบข้างมาจาก carry-through ไม่ใช่จากการวาดขึ้นใหม่