מדוע פורמט סטנדרטי חשוב
למידת רובוטים סבלה היסטורית מכך שכל מעבדה משתמשת בפורמט נתונים שונה - מה שהופך את זה לבלתי אפשרי לשתף מערכי נתונים, לשלב נתונים מרובוטים שונים או להשתמש במדיניות מיומנת מראש במערכות שונות. פורמט הנתונים של LeRobot פותר זאת על ידי הגדרת סכימה אחת הפועלת בכל החומרה הנתמכת. ניתן להשתמש במערך נתונים שהוקלט ב-SO-100 כדי להכשיר מדיניות עבור OpenArm ללא כל המרה - כל עוד ממדי מרחב הפעולה תואמים.
הבנת הפורמט לפני ההקלטה פירושה שלא תגלה בעיה מבנית בנתונים שלך במהלך האימון. זה גם מקל הרבה יותר על ניפוי הבאגים: כאשר האימון נכשל, המקום הראשון לחפש בו הוא מערך הנתונים.
מבנה מערך הנתונים: פרקט + MP4
כל מערך נתונים של LeRobot חי בספרייה עם המבנה הזה:
הפיצול בין Parquet (לסדרות זמן מספריות) ל-MP4 (עבור וידאו) הוא מכוון. פרקט דוחס מצבים ופעולות מפרקים ביעילות ותומך בגישה אקראית מהירה לפי אינדקס פרק. MP4 משתמש ב-codec וידאו המיועדים לרצפי תמונות, ומניב קבצים קטנים פי 10-30 מאשר אחסון תמונות גולמיות כטנסור.
שדות מפתח בכל פרק
| שָׂדֶה | צוּרָה | תֵאוּר |
|---|---|---|
| תצפית.מצב | [ת, ד] | עמדות משותפות (ואופציונלי מהירויות) בכל צעד זמן. D הוא מספר המפרקים (למשל, 7 עבור SO-100: 6 מפרקים + תפסן אחד). |
| פְּעוּלָה | [ת, ד] | כוון לתפקידים משותפים שנפקדו בכל שלב בזמן. אותה ממדיות כמו תצפית.מצב. |
| חותמת זמן | [T] | זמן בשניות מאז תחילת הפרק, ב-50Hz כברירת מחדל (0.02 שניות לכל צעד). |
| episode_index | סקלרי | אינדקס מספר שלם של פרק זה בתוך מערך הנתונים. משמש על ידי טוען הנתונים לקיבוץ שלבי זמן לפרקים. |
| frame_index | [T] | מספר פריים בתוך הפרק (0 עד T-1). מתאים למספר המסגרת ב-MP4 המתאים. |
| הבא.בוצע | [T] | דגל בוליאני - נכון בשלב הזמן האחרון של פרק. משמש לאותת גבולות פרק במהלך אימון. |
| task_index | סקלרי | אינדקס לתוך tasks.jsonl. מאפשר מערכי נתונים מרובי משימות שבהם פרקים שונים תואמים להוראות שונות. |
observation.images.cam_high כהפניה לנתיב (אינדקס מסגרת + אינדקס פרק) במקום נתוני פיקסל גולמיים. טוען הנתונים של LeRobot מטפל בפענוח ובסנכרון בשקיפות.
טען ודמיין מערך נתונים קיים
טען את lerobot-raw/aloha_sim_insertion_scripted מערך נתונים מ- HuggingFace Hub והצג 3 פרקים. מערך נתונים זה מכיל הדגמות תסריטאיות של רובוט דו-מנוי המכניס יתד - דוגמה נקייה לאיך נראה מערך נתונים מובנה היטב.
הוויזואליזר מייצר דף HTML עם השמעת וידאו של כל פרק לצד עלילות מצב משותף מסונכרנות. לְחַפֵּשׂ:
- מסלולי מפרקים חלקים - קוצים חדים מצביעים על חפצי תיעוד או התרסקות זרוע
- אורך פרק עקבי - פרקים שאורכם משתנים מאוד (לדוגמה, 50 לעומת 400 פריימים) מצביעים לעתים קרובות על הדגמות מסוימות שנתפסו בתנועות חלקיות או ביטול
- מצב התפסן משתנה - הממד המשותף האחרון צריך להראות מעברים בינאריים ברורים (פתוח → סגור → פתוח) עבור משימות מניפולציה
חקור את אוסף ערכות הנתונים של SVRC
ספריית הנתונים של SVRC כוללת מערכי נתונים של לימוד רובוטים בפורמט LeRobot. עיין בהם כדי להבין כיצד נראות משימות וחומרה שונות לפני הקלטת משלך. עיין במערכי נתונים ←
יחידה 2 השלם כאשר...
ראית בהצלחה 3 פרקים מתוך lerobot-raw/aloha_sim_insertion_scripted ופלט ה-HTML נפתח בדפדפן שלך. אתה יכול לזהות את השדות observation.state, action ו-timestamp בקובץ Parquet שנטען עם Python. אתה מבין את ההבדל בין מה שמאוחסן בפרקט לעומת MP4. אתה מוכן להקליט את מערך הנתונים שלך ביחידה 3.