הפעלת מסקנות על הזרוע האמיתית

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

מקור ~/openarm-env/bin/activate # Make sure ROS 2 is running (real hardware mode, from Unit 1) python -m lerobot.scripts.eval \ --policy-checkpoint ~/openarm-policies/pick-and-place-v1/checkpoint_XXXXX \ --מכשיר קודה \ --num-eval-פרקים 10 \ --הקלט-וידאו \ --output-dir ~/openarm-evals/v1 # Replace XXXXX with your best checkpoint step number from Unit 5 # --record-video saves each episode as an mp4 for review

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

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

מתודולוגיית הערכה

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

פריט פרוטוקול מִפרָט
מספר פרקים לכל הערכה10 מינימום, 20 לתוצאות בעלות ביטחון גבוה
עמדת התחלה של אובייקטקָבוּעַ. השתמש בסימני קלטת. אותה עמדה בכל פרק.
סוג אובייקטאותו אובייקט כמו אימון. התאורה חייבת להתאים לתנאי האימון.
מה נחשב הצלחהחפץ ממוקם בטווח של 3 ס"מ מהמטרה. זרוע חוזרת הביתה. אין התערבות אנושית במהלך הפרק.
סיווג כשלסוג כשל ביומן: החמצה / אובייקט שנפל / יעד שגוי / פסק זמן. זה אומר לך מה לתקן.
מדד דוחשיעור הצלחה = פרקים מוצלחים / סה"כ פרקים. דיווח עם ספירת פרקים (למשל, "7/10 = 70%").

גלגל התנופה של הנתונים: איך להשתפר

מדיניות שמצליחה פי 7/10 היא התחלה טובה - אבל הדרך ל-9/10 או מעבר היא דרך גלגל התנופה. זוהי לולאת הליבה של למידת רובוטים בייצור:

1

לֶאֱסוֹף

הקלט הפגנות, כולל מקרי כישלון שהמדיניות הנוכחית שלך מתמודדת איתם

2

רַכֶּבֶת

אימון מחדש (או כוונן) במערך הנתונים המורחב שלך עם ההדגמות החדשות שנוספו

3

לְהַעֲרִיך

הפעל את פרוטוקול ההערכות המובנה. האם שיעור ההצלחה השתפר? אילו מצבי כשל נותרו?

4

לְנַתֵחַ

צפו בסרטוני הכישלון. זהה את המצב הספציפי שבו המדיניות מתפרקת. אסוף נתונים ממוקדים שם.

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

מצבי כשל נפוצים וכיצד לתקן אותם

  • הזרוע עוקפת את עמדת האחיזה: נתחי הפעולה של המדיניות גדולים מדי או שהנתונים שלך היו בעלי שונות מהירות גבוהה. הקלט 10 הדגמות נוספות במהירות איטית ליד נקודת האחיזה. או להפחית chunk_size מ-100 עד 50 בתצורת האימון.
  • הזרוע מצליחה באובייקט אימון אך נכשלת באובייקטים שונים במקצת: נתוני האימון שלך חסרו גיוון במיקום האובייקט. הקלט 20 הדגמות עם האובייקט ב-5 מיקומים שונים ברדיוס של 10 ס"מ. זה מלמד את המדיניות להכליל.
  • המדיניות קופאת או מייצרת תנועות חוזרות: משתנה סגנון CVAE מתמוטט. לעתים קרובות זה אומר שיש יותר מדי שונות של מערך הנתונים - המודל לא יכול למצוא סגנון עקבי. בדוק אם יש הדגמות מעורבות (אופרטורים שונים, מסגרות משימות שונות) ונקה את מערך הנתונים שלך.

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

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

עשית את זה.

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

מה הלאה

יש לך את הבסיס. הנה לאן להמשיך מכאן: