מדוע איסוף נתונים דו-מאני קשה יותר

באיסוף נתונים בזרוע אחת, הדגמה גרועה משפיעה רק על מסלול של זרוע אחת. אתה מקליט 50 הדגמות, משליך 5 גרועות ומתאמן על 45. באיסוף נתונים דו-ידני, טעות בנקודת המסירה מבטלת את התוקף שְׁנֵיהֶם מסלולי זרועות עבור ההדגמה בו זמנית. מצבי הכשל מחוברים.

לצימוד הזה יש שתי השלכות מעשיות. ראשית, אתה צריך יותר הדגמות - 100 במקום 50 - מכיוון שלמשימות דו-ידניות יש שונות גבוהה יותר והמדיניות צריכה יותר דוגמאות כדי ללמוד את מבנה התיאום. שנית, אתה צריך עקביות קפדנית יותר לכל הדגמה. הדגמה עם זרוע אחת שעקבית ב-80% מתאמנת בצורה סבירה. הדגמה דו-ידנית שבה זרוע אחת עקבית והשנייה משתנה לא מלמדת את המדיניות שום דבר מועיל לגבי תזמון התיאום.

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

תבנית ערכת נתונים דו-ידנית של LeRobot

שילוב DK1 עם LeRobot מרחיב את הפורמט החד-זרוע הסטנדרטי עם מערכי מצבי מפרקים כפולים. כל שלב זמן במערך הנתונים מכיל:

# Bimanual dataset observation keys per timestep: observation.joint_states.left # shape: (6,) — left follower joint angles in radians observation.joint_states.right # shape: (6,) — right follower joint angles in radians תצפית.גריפר.שמאל # shape: (1,) — left gripper position [0=open, 1=closed] תצפית.גריפר.ימין # shape: (1,) — right gripper position תצפית.תמונות.מרחב עבודה # shape: (H, W, 3) — workspace overhead/front camera תצפית.תמונות.פרק כף היד # shape: (H, W, 3) — primary wrist camera action.joint_states.left # shape: (6,) — target left joint angles action.joint_states.right # shape: (6,) — target right joint angles פעולה.גריפר.שמאל # shape: (1,) פעולה.גריפר.ימינה # shape: (1,)

ההבדל העיקרי מזרוע אחת: חלל הפעולה הוא 14 מימדי (6+6 מפרקים + 2 תפסנים). ACT מטפל בזה באופן מקורי - אתה מציין את ממד הפעולה בתצורת האימון ולא נדרשים שינויים אחרים.

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

מקור ~/dk1-env/bin/activate # Start a recording session — 100 episodes for the cube handoff task python -m lerobot.scripts.record \ --רובוט-נתיב ~/dk1-config.yaml \ --רובוט-סוג dk1_bimanual \ --fps 50 \ --root ~/dk1-datasets \ --repo-id cube-handoff-v1 \ --מספר פרקים 100 \ --זמן חימום-ים 3 \ --זמן פרק 30 \ --reset-time-s 5 # --warmup-time-s: time after pressing record before capture starts (use this to position the cube) # --episode-time-s: max demo length — cube handoff should complete in under 20s; 30s gives buffer # --reset-time-s: time between episodes to return arms to home and reposition the cube

הפעל 10-15 הדגמות תרגול לפני תחילת הפעלת ההקלטה כדי לחמם את הזיכרון המוטורי שלך למשימה. 5–10 ההדגמות הראשונות שהוקלטו יהיו הגרועים ביותר שלך - זה צפוי. אל תפסיק לסקור אותם במהלך הפגישה; בדוק וגורר הדגמות גרועות לאחר הקלטת 100 המלאים.

רשימת רשימת איכות לנתונים דו-ידניים

סקור כל הדגמה לאחר ההקלטה באמצעות מציג השידור החוזר של LeRobot. הסר כל הדגמה שנכשלה בשניים או יותר מהקריטריונים הבאים:

סנכרון זרוע בעת מסירה שתי הזרועות חייבות להיות בטווח של 3 ס"מ מנקודת המסירה המיועדת בו זמנית. מסירות א-סינכרון שבהן זרוע אחת מחכה לשנייה מלמדת את המדיניות להשהות - אשר עוברת בצורה גרועה.
עמדת התחלה עקבית הקוביה חייבת להתחיל בטווח של 2 ס"מ מאותו מיקום עבור כל הדגמה. השתמש בסימני הקלטת מיחידה 1. שונות בעמדת ההתחלה מאלצת את המדיניות להכליל לפני שהיא למדה את משימת הליבה.
אחיזה נקייה - שתי הזרועות כל זרוע חייבת להשיג אחיזה יציבה לפני המעבר לשלב הבא. אחיזה מחליקה באמצע ההעברה יוצרת מסלול שבלתי אפשרי לשכפל את הפוליסה בצורה מהימנה.
חזרה לתנוחת הבית שתי הזרועות חייבות לחזור בצורה נקייה לתנוחת הבית בסוף כל הדגמה. הדגמות המסתיימות באמצע התנועה יוצרות מערך נתונים שבו גבולות הפרקים אינם חד משמעיים.
כיסוי מצלמת סביבת עבודה רגע המסירה חייב להיות גלוי במסגרת מצלמת סביבת העבודה. אם גופי הרובוט חוסמים את התצוגה, כוונן את זווית המצלמה לפני שתמשיך.
תזמון עקבי משך הפרק לא צריך להשתנות ב-±5 שניות על פני הדגמות. שונות תזמון גדולה מצביעה על ביצוע לא עקבי ומייצרת מערך נתונים עם אנטרופיה גבוהה של מרחב פעולה.
גודל מערך יעד: 100 הדגמות הן המינימום המומלץ לאימון ACT דו-ידני. תוצאות מחקר מצביעות על כך שמשימות דו-ידניות דורשות בערך פי שניים מהנתונים של משימות דו-זרועיות דומות מכיוון שמבנה התיאום המשותף מורכב יותר ומרחב הפעולה גדול יותר. אם לאחר אימון ביחידה 5 אחוז ההצלחה שלך נמוך מ-40%, איסוף עוד 50 הדגמות ממוקדות הוא הדבר הראשון לנסות.

יחידה 4 השלם כאשר...

יש לך 100 הדגמות מוקלטות בפורמט LeRobot ב ~/dk1-datasets/cube-handoff-v1/. לאחר סקירה והשמדה, לפחות 90 הדגמות עוברות את רשימת הבדיקה האיכותית. שני מערכי המצב המשותפים קיימים בתדר 50Hz עבור כל פרק. שני עדכוני המצלמה קיימים ומציגים את רצף המשימות המלא כולל רגע המסירה. רצתם python -m lerobot.scripts.visualize_dataset --repo-id cube-handoff-v1 ואישר שמבנה מערך הנתונים חוקי.