איסוף נתונים

ה-VLAI L1 בנוי לאיסוף נתונים בקנה מידה גדול של פעולות טלפוניה. צינור ההקלטה בלחיצה אחת, סנכרון זרוע כפולה וטלאופ VR מובנה הופכים אותו לנתיב המהיר ביותר ממסירת רובוט למערך נתונים מוכן לאימון.

זרימת עבודה של הקלטה

הקלטת VR דו-ידנית

1

חבר ואמת את כל המערכות

rc connect --device l1 --host 192.168.1.45
rc status   # check: arms, base, cameras, battery all green
2

העבר את L1 למצב הקלטה

הסע את ה-L1 אל סביבת העבודה של המשימה באמצעות WASD בחלונית הדפדפן. הגדר את גובה ההרמה עבור המשימה (לדוגמה, 130 ס"מ עבור מניפולציה על השולחן). החנה אותו ונעל את הגלגלים.

rc teleop --device l1   # open browser panel
# Drive to position, then lock:
python -c "from roboticscenter import L1; r=L1('192.168.1.45'); r.connect(); r.base.lock_wheels(); r.disconnect()"
3

הגדר את סצנת המשימה ואת המצלמות

הצב אובייקטים של משימה בעמדות התחלה עקביות. אמת תצוגות מצלמה בחלונית הדפדפן - גם מצלמות שורש כף היד (מקס מפתחות) וכל מצלמות חיצוניות צריכות לכסות את סביבת העבודה של המשימה.

4

התחל את ההקלטה דרך CLI

rc record \
  --device l1 \
  --task "Pick up the bottle and pour into the glass" \
  --num_episodes 50 \
  --output ~/datasets/l1-pour-v1 \
  --teleop_mode vr   # or: browser, leader_arms
# Press ENTER in VR to start each episode, ENTER again to end
5

סקירת פרקים

rc replay \
  --dataset ~/datasets/l1-pour-v1 \
  --episode 0

הצופה מציג את כל זרמי המצלמה + סדרות זמן של מצבים משותפים מסונכרנים. מחק פרקים גרועים לפני הדחיפה.

6

דחף אל HuggingFace Hub

huggingface-cli login
rc push_dataset \
  --dataset ~/datasets/l1-pour-v1 \
  --repo_id your-username/l1-pour-v1
פורמט ערכת נתונים

סכימת ערכת נתונים L1

צינור ההקלטה L1 מייצר מערך נתונים רב-מודאלי עם שתי הזרועות, הבסיס הנייד, כל המצלמות והערות שפה אופציונליות.

שדות בכל פרק קובץ פרקט
observation.left_arm_state float32[8] מצבי מפרק זרוע שמאל ברדיאנים (8 DOF)
observation.right_arm_state float32[8] מצבי מפרק זרוע ימין ברדיאנים (8 DOF)
observation.base_state float32[3] בסיס נייד x, y, כיוון במטרים ורדיאנים
observation.lift_height לצוף32 גובה הרמה של הגו במטרים
תצפית.תמונות.* נתיב וידאו מצלמות פרק כף היד (שמאל, ימין), מצלמת ראש, מצלמת סביבת עבודה חיצונית
action.left_arm float32[8] כוון למנחי מפרק זרוע שמאל מ-VR teleop
action.right_arm float32[8] כוון למנחי מפרק זרוע ימין מ-VR teleop
הוראת_שפה חוּט תיאור משימת שפה טבעית להתניית VLA
חותמת זמן לצוף64 חותמת זמן של יוניקס בשניות
הבא.בוצע bool נכון בפריים האחרון של כל פרק
אבטחת איכות

רשימת רשימת איכות

ה-VR Teleop של ה-L1 יכול להציג בעיות ייחודיות של איכות נתונים סביב חביון ותיאום דו-ידני. רץ דרך זה לפני שאתה דוחף לרכזת.

  • 1
    זמן האחזור של VR היה מתחת ל-50ms במהלך ההקלטה בדוק את צג האחזור בלוח הדפדפן במהלך ההקלטה. מעל 50ms, תנועות היד של המפעיל מפגרות את פעולות הרובוט, מה שיוצר חוסר התאמה סיבתי במערך הנתונים. הקלט מחדש בערוץ WiFi עם זמן אחזור נמוך יותר במידת הצורך.
  • 2
    שתי הזרועות זזו כמתוכנן (ללא פרקים בזרוע אחת) עבור משימות דו-ידניות, ודא ששתי הזרועות מציגות תנועה משמעותית פנימה observation.left_arm_state ו observation.right_arm_state. אפיזודות דומיננטיות בזרוע אחת עשויות להצביע על יד אחת המועדפת על המפעיל.
  • 3
    הבסיס הנייד היה נייח במהלך מניפולציה בזרוע אלא אם כן אתה מקליט משימות מניפולציה ניידות, observation.base_state צריך להיות כמעט קבוע בכל פרק. תנועת בסיס במהלך מניפולציה גורמת לתזוזה של סביבת העבודה ביחס למצלמות.
  • 4
    כל זרמי המצלמה נוכחים לפרק המלא רוחב הפס של ה-WiFi של ה-L1 עלול להפיל מסגרות תחת עומס. לָרוּץ rc validate_dataset --dataset ~/datasets/l1-pour-v1 כדי לבדוק אם חסרים פריימים בכל זרמי המצלמה.
  • 5
    הוראת השפה תואמת את מה שהודגם הוראת השפה מוגדרת לפני תחילת ההקלטה. אם המפעיל אילתר גישה אחרת (למשל, השתמש בזרוע אחת במקום בשתיים), עדכן את ההוראה או מחק את הפרק.
השלב הבא

הכשרת VLA מתוך מערך הנתונים שלך

ברגע שמערך הנתונים שלך נמצא ב- HuggingFace Hub, כוונן עדין VLA עם מרחב הפעולה L1.

כוונן את OpenVLA בנתוני L1

pip install roboticscenter[vla]

python -m roboticscenter.scripts.finetune_vla \
  --model openvla/openvla-7b \
  --dataset your-username/l1-pour-v1 \
  --action_space l1_bimanual \   # registers the 16-DOF bimanual action head
  --epochs 50 \
  --output_dir outputs/openvla-l1-pour

פריס VLA מכוון במכשיר (Developer Pro/Max)

rc deploy vla \ --יציאות דגם/openvla-l1-pour \ --quantize int4 \ --מכשיר l1 \ --מארח 192.168.1.45 # הפעל את המדיניות: מדיניות הפעלת rc \ --משימה "להרים את הבקבוק ולמזוג לכוס" \ --max_steps 100

ערכת נתונים מוכנה? התחל אימון.

דחף אל HuggingFace Hub וכוון עדין מודל VLA על נתוני המניפולציה הדו-ידנית שלך.