Lewati ke konten

Klasifikasi skenario mengemudi — fungsional, logis, konkret

Pengujian berbasis skenario sistem ADAS (Advanced Driver Assistance) dan AD (Automated Driving) bersandar pada tiga tingkat abstraksi yang diwarisi dari proyek penelitian PEGASUS dan kini menjadi praktik standar di seluruh pipeline pengujian ADAS/AV:

  1. Skenario fungsional — kualitatif, dalam bahasa alami.
  2. Skenario logis — parametrik, dengan rentang untuk setiap parameter.
  3. Skenario konkret — sepenuhnya diinstansiasi, setiap parameter ditetapkan ke satu nilai.

Halaman ini adalah primer netral tentang apa yang dimaksud setiap tingkat, bagaimana hubungannya dengan ODD dan format seperti OpenSCENARIO, dan peran drawtonomy.

Skenario fungsional adalah deskripsi kualitatif dalam bahasa alami tentang situasi mengemudi. Ini menyebutkan aktor, tata letak jalan, dan manuver tetapi tidak berkomitmen pada angka.

Contoh: “Di jalan tol dua jalur, kendaraan yang lebih cepat di jalur kiri memotong di depan kendaraan ego dari jalur kanan setelah menyalipnya.”

Skenario fungsional ada dalam rencana pengujian, dokumen tinjauan desain, slide deck, gambar paper, dan narasi safety case. Inilah cara manusia berkomunikasi satu sama lain tentang skenario.

Skenario logis mengubah deskripsi fungsional menjadi bentuk terstruktur dengan rentang parameter. Setiap variabel (kecepatan awal, jarak, TTC, offset lateral, cuaca, kelengkungan jalan) diberi domain daripada satu nilai.

Contoh: “Kecepatan ego ∈ [70, 130] km/jam, kecepatan relatif kendaraan yang memotong ∈ [+10, +30] km/jam, time-to-collision saat mulai memotong ∈ [1,5, 4,0] d, …”

Skenario logis adalah yang di-sampel, di-sweep, atau dicari selama kampanye pengujian. Alat dan DSL yang menargetkan tingkat ini meliputi Scenic, scenariogeneration (pyoscx / pyodrx), dan OpenSCENARIO 2.0 / DSL.

Skenario konkret adalah satu instance spesifik — setiap parameter ditetapkan ke satu nilai. Ini yang dieksekusi dalam simulator atau uji lintasan tertutup.

Contoh: “Ego pada 90 km/jam, kendaraan yang memotong pada +20 km/jam relatif, TTC = 2,5 d saat mulai memotong, aspal kering, …”

Skenario konkret adalah tingkat di mana OpenSCENARIO 1.x XML, playback esmini, dan sebagian besar tooling replay beroperasi.

Operational Design Domain (ODD) adalah sekumpulan kondisi di mana fungsi mengemudi dimaksudkan untuk beroperasi (jenis jalan, cuaca, waktu hari, wilayah geografis, dll.). Klasifikasi skenario dan ODD berinteraksi di setiap tingkat:

  • Skenario fungsional ditulis dalam ODD (“mengemudi di jalan tol pada hari cerah”).
  • Skenario logis membatasi rentang parameter untuk menghormati ODD (misalnya rentang kecepatan yang sesuai dengan batasan jalan tol saja dalam ODD).
  • Skenario konkret adalah instance yang harus jatuh di dalam ODD, ditambah kasus tepi yang dipilih dengan sengaja yang menyelidiki batasannya.
  • PEGASUS — proyek penelitian Jerman yang mengkristalisasi kosakata fungsional/logis/konkret yang digunakan di sini.
  • ISO 21448 (SOTIF) — keselamatan fungsionalitas yang dimaksudkan; menggunakan klasifikasi skenario sebagai tulang punggung argumennya bahwa fungsi berperilaku benar di seluruh ODD.
  • ASAM OpenSCENARIO — 1.x menargetkan skenario konkret; 2.0/DSL menargetkan skenario logis.
  • ASAM OpenDRIVE — menyediakan lapisan dunia statis yang direferensikan oleh ketiga tingkat skenario.

drawtonomy bukan sampler skenario logis atau eksekutor skenario konkret. Ini adalah papan tulis browser yang disesuaikan untuk skenario mengemudi. Tempat sempit di mana ia berada dalam klasifikasi:

  • Gambar skenario fungsional. Diagram yang masuk dalam rencana pengujian, tinjauan desain, dokumen safety case, slide deck, dan gambar paper adalah skenario fungsional dalam bentuk visual. drawtonomy cukup layak untuk itu.
  • Ilustrasi skenario logis. “Bentuk” skenario logis (geometri, aktor, gerakan kasar) adalah yang sebenarnya perlu dipahami pembaca sebelum tabel parameter masuk akal. drawtonomy cukup layak untuk gambarnya; tabel parameter itu sendiri ada dalam DSL atau spreadsheet Anda.
  • Sketsa skenario konkret sebelum penulisan. Jika Anda akan menulis XML OpenSCENARIO 1.x spesifik secara tangan, drawtonomy dapat menghasilkan sketsa 2D dan .xosc awal yang dapat Anda iterasi. Lihat Kasus penggunaan: Membuat sketsa sebelum penulisan OpenSCENARIO.

Untuk penulisan skenario logis/konkret yang sesungguhnya pada skala — parameter sweep, pemicu kondisional, storyboard kompleks — gunakan Scenic, scenariogeneration, XML OpenSCENARIO yang ditulis tangan, atau OpenSCENARIO 2.0/DSL. drawtonomy untuk gambarnya, bukan logika pengujian.

Dalam ekosistem pengujian skenario yang sama

Section titled “Dalam ekosistem pengujian skenario yang sama”