OpenSCENARIO คืออะไร?
OpenSCENARIO คือมาตรฐานเปิดของ ASAM ที่ใช้อธิบายสถานการณ์ขับขี่แบบไดนามิก โดยระบุพฤติกรรมของยานพาหนะหลักและผู้เข้าร่วมจราจรรายอื่นตามลำดับเวลา ในรูปแบบที่ซิมูเลเตอร์สามารถนำไปเล่นซ้ำได้ ปัจจุบัน OpenSCENARIO ถือเป็นรูปแบบการแลกเปลี่ยนข้อมูลมาตรฐานสำหรับการทดสอบระบบขับขี่อัตโนมัติบนฐานสถานการณ์
สองสายพันธุ์ของ OpenSCENARIO
หัวข้อที่มีชื่อว่า “สองสายพันธุ์ของ OpenSCENARIO”มีสเปกสองชุดที่ใช้ชื่อเดียวกัน แต่เป็นอิสระต่อกัน
- OpenSCENARIO 1.x — รูปแบบ XML ที่เสถียร รองรับอย่างกว้างขวาง เวอร์ชัน 1.3 คือเป้าหมายหลักสำหรับเครื่องมือส่วนใหญ่ในปัจจุบัน
- OpenSCENARIO 2.0 / DSL — ภาษาเฉพาะโดเมนสำหรับสถานการณ์แบบ abstract parametric และ probabilistic มีความสามารถสูงกว่า แต่เพิ่งเริ่มมีการรองรับจากเครื่องมือต่าง ๆ
ทั้งสองรูปแบบไม่สามารถใช้แทนกันได้ แต่ 1.x คือสิ่งที่ซิมูเลเตอร์และไปป์ไลน์ SOTIF / ISO 21448 ส่วนใหญ่ใช้ในปัจจุบัน
โครงสร้างของไฟล์ OpenSCENARIO 1.x
หัวข้อที่มีชื่อว่า “โครงสร้างของไฟล์ OpenSCENARIO 1.x”ไฟล์ 1.x มักประกอบด้วย
- RoadNetwork — โดยทั่วไปอ้างอิงไฟล์ OpenDRIVE
.xodrและอาจมีไฟล์ scene-graph เช่น.osgb - Entities — ยานพาหนะ คนเดินเท้า และวัตถุอื่น ๆ
- Storyboard — ลำดับ act maneuver และ event ที่ entities ดำเนินการตามเวลา
- Init — ตำแหน่งเริ่มต้น ความเร็ว และค่าพารามิเตอร์
XML อ่านง่ายสำหรับสถานการณ์เดียวที่สั้น แต่ยากต่อการดูแลเมื่อมีตัวแปรจำนวนมาก นั่นคือจุดที่เครื่องมือสร้างและ DSL ช่วยได้
วิธีสร้างสถานการณ์ที่พบบ่อย
หัวข้อที่มีชื่อว่า “วิธีสร้างสถานการณ์ที่พบบ่อย”- เขียน XML มือ เหมาะสำหรับทีมขนาดเล็กและ ground-truth fixture
- DSL / codegen ใช้ OpenSCENARIO 2.0 DSL Scenic หรือ generator ภายในองค์กรเพื่อสร้าง XML จาก description ระดับสูง
- Python library scenariogeneration ครอบคลุม OpenSCENARIO V1.0 ถึง V1.3.1
- Scenario engine ในซิมูเลเตอร์ CARLA ScenarioRunner สร้างและรันสถานการณ์สำหรับ CARLA รองรับ Python และ OpenSCENARIO 1.0 / 2.0
- Visual editor MathWorks RoadRunner Truevision Designer Blender Driving Scenario Creator และ drawtonomy
บทบาทของ drawtonomy
หัวข้อที่มีชื่อว่า “บทบาทของ drawtonomy”drawtonomy คือ ไวท์บอร์ดบนเบราว์เซอร์พร้อมตัวส่งออก OpenSCENARIO 1.3 / OpenDRIVE 1.8 บางส่วน ตาม เอกสาร exporter
- วางเลน ทางแยก ยานพาหนะ คนเดินเท้า สัญญาณไฟ และเครื่องหมายบนถนนบนแคนวาส 2D แบบ top-down
- ส่งออก
.xosc+.xodr+run.shเป็น zip สำหรับเล่นในฉากง่าย ๆ ด้วย esmini
สิ่งที่ exporter ยังไม่รองรับ ในปัจจุบัน
- OpenDRIVE junction primitives (
<junction>) - ป้ายจราจรในรูปแบบ
<signal>ของ OpenDRIVE - Acceleration profile event หยุด signal-aware path lane-change action และ storyboard ที่ซับซ้อน
- Conditional trigger parameter sweep และ custom controller
ให้มองการส่งออก OpenSCENARIO ของ drawtonomy เป็นจุดเริ่มต้นของ sketch ที่แก้ไขต่อได้ หรือใช้เป็นภาพประกอบสถานการณ์ ไม่ใช่เส้นทางสร้างสถานการณ์จริงในระดับ production