SO-101 सेटअप गाइड

भागों से लेकर पहले डेटा संग्रह तक। अनुमानित समय: ~3-4 घंटे (3डी प्रिंट समय की गिनती नहीं)।

1

विधानसभा

~60 मिनट + प्रिंट समय

SO-101 पूरी तरह से ओपन-सोर्स आर्म है। सभी हिस्से या तो 3डी-प्रिंटेड हैं या हगिंगफेस पर लेरोबोट बीओएम में सूचीबद्ध ऑफ-द-शेल्फ हार्डवेयर के रूप में उपलब्ध हैं।

आपके लिए आवश्यक हिस्से

  • 6× फ़ीटेक STS3215 सर्वो मोटर्स
  • 3डी-मुद्रित संरचनात्मक भाग (SO-101 GitHub रेपो में STL फ़ाइलें)
  • यूएसबी-टू-सीरियल एडाप्टर केबल (CH340 या CP2102 चिप)
  • 12V विद्युत आपूर्ति (न्यूनतम 3A)
  • सर्वो केबल और कनेक्टर हार्डवेयर (प्रति बीओएम)

असेंबली चेकलिस्ट

  • सभी संरचनात्मक घटकों (आधार, लिंक, अंतिम-प्रभावक) को प्रिंट करें
  • STS3215 सर्वो को उनके संबंधित लिंक हाउसिंग में स्थापित करें
  • मुद्रित केबल चैनलों के माध्यम से सर्वो केबल को रूट करें
  • डेज़ी-चेन सर्वो सही क्रम में (आधार से सिरे तक आईडी 1-6)
  • बिजली चालू करने से पहले आधार को एक स्थिर सतह पर सुरक्षित करें
  • को पढ़िए सुरक्षा पृष्ठ शक्ति लगाने से पहले
बीओएम और एसटीएल फ़ाइलें कहां से प्राप्त करें: सामग्री और मुद्रण योग्य भागों का पूरा बिल हगिंगफेस लेरोबोट रिपॉजिटरी में रखा जाता है। पर "SO-101" खोजें लेरोबोट गिटहब.
1बी

भागों की 3डी प्रिंटिंग

~8-16 घंटे प्रिंट समय

SO-101 के सभी संरचनात्मक घटक मानक डेस्कटॉप प्रिंटर का उपयोग करके FDM-प्रिंट करने योग्य हैं। एसटीएल फाइलों को प्रत्येक हाथ के लिए एकल-फ़ाइल प्रिंट में व्यवस्थित किया जाता है, जिससे स्लाइस करना आसान हो जाता है।

अनुशंसित स्लाइसर सेटिंग्स

सेटिंग कीमत
सामग्री पीएलए+
नोजल व्यास 0.4 मिमी (या 0.6 मिमी)
परत की ऊंचाई 0.2 मिमी (0.6 मिमी नोजल के लिए 0.4 मिमी)
इन्फिल घनत्व 15%
समर्थन हर जगह; 45° से अधिक ढलानों पर ध्यान न दें
बिस्तर का आसंजन पीईआई या कांच पर मानक गोंद छड़ी
परीक्षण किए गए प्रिंटर प्रूसा मिनी+, क्रिएलिटी एंडर 3, बम्बू लैब ए/पी/एक्स-सीरीज़

एसटीएल फ़ाइलें - जिन्हें प्रिंट करना है

सामान्य बिस्तर आकारों के लिए पूर्व-व्यवस्थित सिंगल-फ़ाइल प्रिंट उपलब्ध हैं:

  • 220×220 मिमी बिस्तर (एंडर 3):
    • पालन ​​करने वाला: STL/SO101/Follower/Ender_Follower_SO101.stl
    • नेता: STL/SO101/Leader/Ender_Leader_SO101.stl
  • 205×250 मिमी बिस्तर (प्रूसा/यूपी):
    • पालन ​​करने वाला: STL/SO101/Follower/Prusa_Follower_SO101.stl
    • नेता: STL/SO101/Leader/Prusa_Leader_SO101.stl
पहले आयामी सटीकता सत्यापित करें. पूर्ण बांह को प्रिंट करने से पहले, गेज एसटीएल को प्रिंट करें STL/Gauges/ और उन्हें लेगो ईंट या STS3215 सर्वो के विरुद्ध परीक्षण करें। गेज पर सही फिट यह पुष्टि करता है कि आपका प्रिंटर अंशांकन सटीक है। पूर्ण प्रिंट करने से पहले यदि आवश्यक हो तो स्केलिंग समायोजित करें।
क्या आपके पास प्रिंटर नहीं है? देखें 3DPRINT.md गाइड प्रिंट सेवा विकल्पों के लिए SO-ARM100 रेपो में। प्री-प्रिंटेड किट भी यहां उपलब्ध हैं पार्टबॉट (हम), सीड स्टूडियो (अंतरराष्ट्रीय), और स्वतः खोज (यूरोपीय संघ)।
2

सॉफ़्टवेयर इंस्टाल करें

~15 मिनट

SO-101 मूल रूप से HuggingFace 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

आवश्यक शर्तें

  • पायथन 3.10+
  • Linux (Ubuntu 22.04 अनुशंसित) या macOS
  • USB-टू-सीरियल ड्राइवर स्थापित (macOS पर CH340 ड्राइवर; आमतौर पर Linux पर पहले से इंस्टॉल)
3

पोर्ट डिटेक्शन एवं कैलिब्रेशन

~20 मिनट

बांह के लिए सही यूएसबी सीरियल पोर्ट ढूंढें, फिर सर्वो शून्य स्थिति सेट करने के लिए लेरोबोट कैलिब्रेशन स्क्रिप्ट चलाएं।

सीरियल पोर्ट ढूंढें

python lerobot/scripts/find_motors_bus_port.py

संकेत मिलने पर यूएसबी केबल को प्लग और अनप्लग करें। स्क्रिप्ट यह पहचानती है कि हाथ किस पोर्ट से जुड़ा है। विशिष्ट मान:

# 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
किसी भी पुनः संयोजन के बाद पुन: अंशांकन करें। अंशांकन डेटा स्थानीय रूप से संग्रहीत किया जाता है। यदि आप जोड़ों को अलग और पुनः जोड़ते हैं, तो सटीक शून्य स्थिति बहाल करने के लिए अंशांकन फिर से चलाएँ।
4

पहला मोशन टेस्ट

~15 मिनट

लीडर आर्म को जोड़ने से पहले यह सत्यापित करने के लिए कि सभी जोड़ सही ढंग से प्रतिक्रिया कर रहे हैं, टेलीऑपरेट स्क्रिप्ट को सिंगल-आर्म मोड में चलाएँ।

python lerobot/scripts/teleoperate.py \
  --robot.type=so101 \
  --robot.port=/dev/ttyACM0

क्या सत्यापित करें?

  • सभी 6 जोड़ बिना रुके आदेशों का जवाब देते हैं
  • टर्मिनल में कोई सर्वो स्टॉल या ओवरलोड चेतावनी नहीं
  • ग्रिपर पूरी रेंज में खुलता और बंद होता है
  • किसी भी जोड़ की स्थिति में केबल में कोई रुकावट नहीं
आपातकालीन रोक बांह से संचार तुरंत काटने के लिए यूएसबी केबल को डिस्कनेक्ट करें। संचालित संचालन के दौरान हाथों को कार्यस्थल से दूर रखें।
5

टेलीऑपरेशन

~30 मिनट

एसओ-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
द्वि-मैन्युअल सेटअप: SO-101 को DK1 लीडर आर्म के साथ फॉलोअर आर्म के रूप में इस्तेमाल किया जा सकता है। दोनों लेरोबोट-मूल निवासी हैं और यूएसबी सीरियल पर संचार करते हैं। देखें डीके1 पेज पूर्ण द्वि-मैन्युअल सेटअप विवरण के लिए।
6

डेटा संग्रहण

चल रहे

का उपयोग करके प्रदर्शन रिकॉर्ड करें record.py. डेटा को लेरोबोट प्रारूप में सहेजा गया है और प्रशिक्षण के लिए इसे सीधे हगिंगफेस हब पर भेजा जा सकता है।

बुनियादी रिकॉर्डिंग

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 कैमरे गहराई-सक्षम डेटा संग्रह के लिए अच्छा काम करते हैं
  • प्रत्येक सत्र के बाद हगिंगफेस हब पर अपलोड किए गए डेटासेट को सत्यापित करें

अगले कदम

एक बार जब आपके पास डेटा एकत्र हो जाए, तो LeRobot की प्रशिक्षण स्क्रिप्ट का उपयोग करके ACT या डिफ्यूजन पॉलिसी मॉडल को प्रशिक्षित करें। पूरा पढ़ें SO-101 सीखने का पथ सेटअप से मॉडल परिनियोजन तक संरचित प्रगति के लिए।

सेटअप पूरा हो गया?

परिणाम साझा करने और उन्नत कॉन्फ़िगरेशन में सहायता प्राप्त करने के लिए समुदाय में शामिल हों।