OpenDRIVE คืออะไร?
OpenDRIVE คือมาตรฐานเปิดของ ASAM สำหรับอธิบายโครงข่ายถนนแบบ static ในการจำลองการขับขี่ ไฟล์ใช้นามสกุล .xodr และเป็น container หลักสำหรับ geometry ของถนนที่ไฟล์ OpenSCENARIO อ้างอิงถึง
เนื้อหาในไฟล์ OpenDRIVE
หัวข้อที่มีชื่อว่า “เนื้อหาในไฟล์ OpenDRIVE”เอกสาร .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 ที่ควรรู้จัก
หัวข้อที่มีชื่อว่า “เวอร์ชัน OpenDRIVE ที่ควรรู้จัก”- OpenDRIVE 1.4 / 1.5 — เวอร์ชันเสถียรมายาวนาน ยังพบในเครื่องมือรุ่นเก่า
- OpenDRIVE 1.6 / 1.7 — ปรับปรุงและชี้แจงรายละเอียดเพิ่มเติม
- OpenDRIVE 1.8 — เวอร์ชันปัจจุบันที่ drawtonomy ใช้เป็นเป้าหมายในการส่งออก RoadRunner รองรับทั้งการนำเข้าและส่งออกครบทั้งช่วง 1.4–1.8
เครื่องมือส่วนใหญ่มักรองรับย้อนหลัง (backward-compatible) แต่ไม่รองรับเวอร์ชันใหม่กว่า (forward-compatible) — ควรตรวจสอบก่อนว่าซิมูเลเตอร์ที่ใช้อยู่รองรับเวอร์ชันใด
OpenDRIVE เทียบกับ Lanelet2
หัวข้อที่มีชื่อว่า “OpenDRIVE เทียบกับ Lanelet2”สองรูปแบบที่เกี่ยวกับ HD map ซึ่งมักถูกเข้าใจสับสน
| ด้าน | OpenDRIVE | Lanelet2 |
|---|---|---|
| ต้นกำเนิด | ASAM วงการ simulation | Autoware, FZI |
| Geometry | Analytical (arc, spiral, polynomial) | Polyline (lanelet ล้อมรอบด้วย linestring) |
| ผู้ใช้งานหลัก | CARLA, esmini, RoadRunner, Cognata, SCANeR | การวางแผนของ Autoware, ground truth สำหรับ perception |
| การจัดเก็บ | XML .xodr | OSM 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
หัวข้อที่มีชื่อว่า “บทบาทของ drawtonomy”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 ไม่ใช่จากการวาดขึ้นใหม่