מה זה esmini?
esmini הוא נגן OpenSCENARIO קוד-פתוח שפותח בידי קהילת ה-ADAS השוודית. זהו נגן מינימליסטי במכוון, שנמצא בשימוש נרחב כייחוס קל-משקל ל-OpenSCENARIO 1.x — קטן מספיק כדי לקרוא את הקוד שלו, מהיר מספיק כדי להטמיע, וצפוי מספיק כדי לשמש בדיקת תקינות.
מה esmini עושה
Section titled “מה esmini עושה”esmini מנתח קובץ .xosc של OpenSCENARIO 1.x, טוען את רשת הכבישים .xodr של OpenDRIVE שאליה הוא מפנה, ומריץ את ה-storyboard — מניע ישויות לאורך מסלולים או בקרים, ומשדר את המצב המתקבל.
זה לא סימולטור פיזיקלי מלא כמו CARLA או LGSVL, והמינימליות היא בדיוק העניין: esmini הוא הבסיס הקוד-פתוח שרוב כלי ה-OpenSCENARIO משתמשים בו כדי לענות על השאלה “האם התרחיש הזה נטען ורץ כמו שצריך?”.
למה esmini חשוב לכלי פיתוח
Section titled “למה esmini חשוב לכלי פיתוח”מכיוון ש-esmini הוא הצרכן הקוד-פתוח הנפוץ ביותר של OpenSCENARIO 1.x, השאלה “האם זה רץ ב-esmini?” היא בדיקת התקינות המקובלת לכל צינור ייצוא של OpenSCENARIO. רוב הכלים שמייצרים קבצי ASAM מאמתים אותם מול esmini לפני שהם מכריזים על תמיכה ב-OpenSCENARIO — כולל RoadRunner (שמייצא תרחישים “תואמים לכל סימולטור או נגן תואם-OpenSCENARIO, כמו CARLA, esmini ו-IPG CarMaker”) וכלים רבים נוספים.
קלטים טיפוסיים ל-esmini
Section titled “קלטים טיפוסיים ל-esmini”esmini דורש, במינימום:
- קובץ
.xosc(תרחיש OpenSCENARIO). - קובץ
.xodr(רשת כבישים OpenDRIVE) שאליו מפנה ה-.xosc. - אופציונלית, קובץ
.osgbלרינדור בצופה תלת-ממדי, או תיקייתModels/של נכסי רכב.
אריזת כל אלה יחד כ-zip עצמאי — שנקרא לעיתים באופן לא רשמי “חבילת esmini” — הופכת תרחישים לניידים בין מכונות ומערכות CI.
איפה drawtonomy נכנס לתמונה
Section titled “איפה drawtonomy נכנס לתמונה”drawtonomy מריץ את esmini עצמו — מקומפל ל-WebAssembly — ישירות בדפדפן. כותבים storyboard (או פותחים .xosc קיים), לוחצים על “הפעל”, ועורך התרחישים מריץ אותו בתוך הדף: פקדי הפעלה, דילוג בזמן, מצלמת מעקב, שובלי רפאים (ghost trails), ופסיקת PASS / FAIL לפי תנאי הסיום וההיכשלות שהגדרת — בלי התקנה ובלי נגן נפרד. ליבת ההדמיה היא esmini; drawtonomy מוסיפה סביבה מבוססת-קנבס מסביבה.
אם עדיפה לך הרצה בהתקנת esmini רגילה (לצופה התלת-ממדי המבוסס OpenSceneGraph, למקצי CI, או לצינור עבודה ב-Python/C++), drawtonomy גם מייצאת zip עם .xosc, .xodr וקובץ run.sh מוכן להרצה:
unzip <name>.zipesmini --osc <name>/<name>.xosc --window 60 60 1024 768דברים שכדאי לדעת:
- הנגן בדפדפן קורא OpenSCENARIO 1.x, והייצוא ל-ASAM כותב OpenSCENARIO 1.0–1.2 / OpenDRIVE 1.8 — שניהם מכסים תת-קבוצה של המפרט: פעולות, תנאי הפעלה מותנים, שלבים ואירועים רצים, וגם פרימיטיבים של צמתי OpenDRIVE ורשומות
<signal>נפלטים. צמתים שעוברים ללא עריכה מקובץ.xodrמיובא הם ברמת דיוק גבוהה; צמתים שנוצרים מרשת נתיבים שרישמת ידנית עדיין לא אמינים דיים. מעבר פרמטרים (parameter sweep) ובקרים מותאמים אישית או מבוססי-ML אינם נפלטים כיום. - נכסי הרכב כברירת מחדל הם המודלים המובנים של esmini, כך שלא נדרש
.osgbנוסף. - לצי תרחישים גדול או פרמטרי, מפיקים את התרחישים מ-DSL או מספריית Python — זה נשאר מחוץ לטווח של העורך הוויזואלי.
קריאה נוספת
Section titled “קריאה נוספת”- עורך התרחישים — כתיבה והרצה של storyboard בדפדפן על esmini-WASM.
- פתיחה והרצה של xosc. קיים — גוררים
.xoscולוחצים “הפעל”. - מה זה OpenSCENARIO?
- מה זה OpenDRIVE?
- ייצוא ל-ASAM OpenDRIVE / OpenSCENARIO