Apa itu esmini?
esmini adalah pemain OpenSCENARIO open-source yang dikembangkan oleh komunitas ADAS Swedia. Sifatnya sengaja dibuat minimal, dan karena itu banyak dipakai sebagai referensi ringan untuk OpenSCENARIO 1.x — cukup kecil untuk dibaca kodenya, cukup cepat untuk disematkan ke pipeline lain, dan cukup dapat diprediksi untuk dijadikan sanity check.
Apa yang dilakukan esmini
Section titled “Apa yang dilakukan esmini”esmini mem-parse file OpenSCENARIO 1.x (.xosc), memuat jaringan jalan OpenDRIVE (.xodr) yang direferensikan di dalamnya, lalu mengeksekusi storyboard-nya — menggerakkan entitas sepanjang lintasan atau kontroler sambil men-streaming status yang dihasilkan.
esmini bukan simulator berbasis fisika penuh seperti CARLA atau LGSVL, dan itu memang tujuannya: esmini adalah baseline open-source untuk pertanyaan “apakah skenario ini bisa di-parse dan diputar dengan benar?” — patokan yang jadi target sebagian besar tooling OpenSCENARIO.
Mengapa esmini penting bagi tooling
Section titled “Mengapa esmini penting bagi tooling”Karena esmini adalah konsumen OpenSCENARIO 1.x open-source yang paling banyak dipakai, pertanyaan “apakah ini berjalan di esmini?” menjadi sanity check standar untuk setiap pipeline ekspor OpenSCENARIO. Sebagian besar alat yang menghasilkan file ASAM memvalidasi hasilnya terhadap esmini sebelum mengklaim dukungan OpenSCENARIO — termasuk RoadRunner (yang mengekspor skenario “kompatibel dengan simulator dan player mana pun yang mendukung OpenSCENARIO, seperti CARLA, esmini, dan IPG CarMaker”) dan banyak lainnya.
Input khas untuk esmini
Section titled “Input khas untuk esmini”Minimal, esmini membutuhkan:
- Sebuah
.xosc(skenario OpenSCENARIO). - Sebuah
.xodr(jaringan jalan OpenDRIVE) yang direferensikan dari.xosctersebut. - Secara opsional, file
.osgbuntuk rendering viewer 3D, atau direktoriModels/berisi aset kendaraan.
Mengemas semuanya menjadi satu zip mandiri — yang kadang secara informal disebut “bundle esmini” — membuat skenario mudah dipindah antar mesin dan dipakai di CI.
Peran drawtonomy
Section titled “Peran drawtonomy”drawtonomy menjalankan esmini sendiri — dikompilasi ke WebAssembly — langsung di browser. Anda menulis storyboard (atau membuka .xosc yang sudah ada), menekan play, dan editor skenario mengeksekusinya di halaman: kontrol transport, seek, kamera follow, jejak ghost, hingga verdict PASS/FAIL dari kondisi END dan FAIL yang Anda tentukan — tanpa instalasi, tanpa player terpisah. Inti simulasinya memang esmini; drawtonomy menambahkan shell canvas-native di sekelilingnya.
Jika Anda ingin menjalankan skenario di instalasi esmini native (untuk viewer 3D OpenSceneGraph, sweep di CI, atau pipeline Python/C++), drawtonomy juga bisa mengekspor zip berisi .xosc, .xodr, dan invokasi run.sh:
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768Yang perlu diketahui:
- Player di browser membaca OpenSCENARIO 1.x, dan ekspor ASAM menulis OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — keduanya mencakup sebagian dari spesifikasi: action, trigger kondisional, phase, dan event berjalan, dan primitif junction OpenDRIVE beserta entri
<signal>juga ikut dihasilkan. Junction yang dibawa masuk tanpa diedit dari.xodryang diimpor punya fidelitas tinggi; junction yang disintesis dari jaringan jalur hasil gambar tangan belum sepenuhnya andal. Parameter sweep dan kontroler kustom atau berbasis ML belum dihasilkan saat ini. - Aset kendaraan memakai model bawaan esmini secara default, jadi tidak perlu file
.osgbtambahan. - Untuk skenario sweep berskala besar atau terparametrisasi, hasilkan armadanya dari DSL atau library Python — itu masih di luar cakupan editor visual ini.
Bacaan terkait
Section titled “Bacaan terkait”- Editor skenario — menulis dan menjalankan storyboard di browser di atas esmini-WASM.
- Buka dan putar .xosc yang sudah ada — jatuhkan file
.xoscdan tekan play. - Apa itu OpenSCENARIO?
- Apa itu OpenDRIVE?
- Ekspor ke ASAM OpenDRIVE / OpenSCENARIO