SO-101 מדריך התקנה
מחלקים ועד לאיסוף נתונים ראשון. זמן משוער: ~3-4 שעות (לא סופר את זמן ההדפסה בתלת-ממד).
הַרכָּבָה
~60 דקות + זמן הדפסהה-SO-101 הוא זרוע קוד פתוח לחלוטין. כל החלקים מודפסים בתלת מימד או זמינים כחומרה מדף הרשומה ב-LeRobot BOM ב-HuggingFace.
חלקים שאתה צריך
- 6× מנועי סרוו Feetech STS3215
- חלקים מבניים מודפסים בתלת מימד (קבצי STL ב-SO-101 GitHub)
- כבל מתאם USB לטורי (שבב CH340 או CP2102)
- ספק כוח 12V (מינימום 3A)
- כבלי סרוו וחומרת מחברים (לכל BOM)
רשימת בדיקה להרכבה
- הדפס את כל הרכיבים המבניים (בסיס, קישורים, אפקטור קצה)
- התקן סרוו STS3215 לתוך בתי הקישור שלהם
- נתב כבלי סרוו דרך ערוצי הכבלים המודפסים
- סרוו שרשרת דייזי בסדר הנכון (מזהות 1-6 מהבסיס לקצה)
- אבטח את הבסיס למשטח יציב לפני ההפעלה
- קרא את דף בטיחות לפני הפעלת כוח
הדפסת החלקים בתלת מימד
זמן הדפסה של ~8-16 שעותכל הרכיבים המבניים של SO-101 ניתנים להדפסה באמצעות מדפסות שולחניות סטנדרטיות. קובצי STL מאורגנים להדפסות של קובץ בודד עבור כל זרוע, מה שהופך את החיתוך לפשוט.
הגדרות פריסה מומלצות
קבצי STL - אילו להדפיס
הדפסות מסודרות מראש של קובץ בודד זמינות עבור גדלי מיטה נפוצים:
- מיטה 220×220 מ"מ (אנדר 3):
- חָסִיד:
STL/SO101/Follower/Ender_Follower_SO101.stl - מַנהִיג:
STL/SO101/Leader/Ender_Leader_SO101.stl
- חָסִיד:
- מיטה 205×250 מ"מ (Prusa / UP):
- חָסִיד:
STL/SO101/Follower/Prusa_Follower_SO101.stl - מַנהִיג:
STL/SO101/Leader/Prusa_Leader_SO101.stl
- חָסִיד:
STL/Gauges/ ובדוק אותם מול לבנת לגו או סרוו STS3215. התאמה נכונה על המד מאשרת שכיול המדפסת שלך מדויק. התאם את קנה המידה במידת הצורך לפני התחייבות להדפסה המלאה.
התקנת תוכנה
~15 דקותה-SO-101 נתמך באופן מקורי על ידי HuggingFace LeRobot. אין צורך בתוסף נוסף - פשוט התקן את LeRobot.
התקן את LeRobot
# Using pip
pip install lerobot
# Or with uv (recommended)
uv pip install lerobot
הרשאות יציאה טורית של לינוקס
בלינוקס, יציאות טוריות תחת /dev/ttyACM* לדרוש מהמשתמש להיות ב- dialout קְבוּצָה. הפעל את זה פעם אחת והתנתק והיכנס חזרה:
sudo usermod -aG dialout $USER
# Then log out and back in, or run:
newgrp dialout
דרישות מוקדמות
- Python 3.10+
- לינוקס (מומלץ ב-Ubuntu 22.04) או macOS
- מנהל התקן USB לטורי מותקן (מנהל התקן CH340 ב-macOS; בדרך כלל מותקן מראש ב-Linux)
זיהוי יציאות וכיול
~20 דקותמצא את יציאת ה-USB הטורית הנכונה עבור הזרוע, ולאחר מכן הרץ את סקריפט הכיול של LeRobot כדי להגדיר עמדות אפס של סרוו.
מצא את היציאה הטורית
python lerobot/scripts/find_motors_bus_port.py
חבר ונתק את כבל ה-USB כאשר תתבקש. הסקריפט מזהה לאיזו יציאה הזרוע מחוברת. ערכים אופייניים:
# Linux: /dev/ttyACM0 (or ttyUSB0 for CH340 adapters)
# macOS: /dev/tty.usbmodem* or /dev/tty.usbserial-*
הפעל כיול
הזז את הזרוע בכל טווח התנועה שלה כאשר תתבקש:
python lerobot/scripts/calibrate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
מבחן תנועה ראשון
~15 דקותהפעל את סקריפט ה-Reloperate במצב זרוע אחת כדי לוודא שכל המפרקים מגיבים כהלכה לפני חיבור זרוע מובילה.
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
מה לאמת
- כל 6 המפרקים מגיבים לפקודות מבלי לדלג
- אין אזהרות על עצירת סרוו או עומס יתר בטרמינל
- תפס נפתח ונסגר בטווח מלא
- אין להיתקל בכבל בשום עמדת מפרקים
טלאופרציה
~30 דקותה-SO-101 פועל כזרוע עצמאית או כזרוע עוקבת עם זרוע מובילה להפעלה טלפונית. שימוש בזרוע שנייה כמנהיג מייצר הדגמות איכותיות יותר ללמידה חיקוי.
מצב עצמאי (מקלדת / פרוגרמטי)
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
עם זרוע מובילה (למשל מוביל DK1)
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--teleop.type=so101 \
--teleop.port=/dev/ttyACM1
איסוף נתונים
מתמשךהקלט הדגמות באמצעות record.py. הנתונים נשמרים בפורמט LeRobot וניתן לדחוף אותם ישירות אל HuggingFace Hub לצורך אימון.
הקלטה בסיסית
python lerobot/scripts/record.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--dataset.repo_id=your-org/so101-dataset \
--dataset.task="pick cube"
עם מצלמת USB
python lerobot/scripts/record.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--robot.cameras.top.type=opencv \
--robot.cameras.top.index=0 \
--dataset.repo_id=your-org/so101-dataset \
--dataset.task="pick cube"
הקלטת שיטות עבודה מומלצות
- הקלט לפחות 50 הדגמות לכל משימה לפני האימון
- שנה את מיקומי האובייקט ואת כיווני האובייקט על פני פרקים
- השתמש בתיאור
--dataset.taskשמות לסינון מאוחר יותר - מצלמות OAK-D או Intel RealSense פועלות היטב לאיסוף נתונים המאפשר עומק
- אמת את העלאות מערך הנתונים ל- HuggingFace Hub לאחר כל הפעלה
השלבים הבאים
לאחר שנאסף נתונים, אמן מודל ACT או Diffusion Policy באמצעות סקריפטי ההדרכה של LeRobot. קרא את המלא מסלול למידה SO-101 להתקדמות מובנית מההגדרה לפריסת המודל.