अपने रोबोट को कनेक्ट करें या सिमुलेशन खोलें

यदि आप वास्तविक रोबोट का उपयोग कर रहे हैं, तो इसे अभी कनेक्ट करें और रिकॉर्ड कमांड चलाने से पहले पुष्टि करें कि यह आपके सिस्टम द्वारा पहचाना गया है। यदि आप सिमुलेशन में काम कर रहे हैं, तो रिकॉर्ड कमांड एक वर्चुअल रोबोट को चला सकता है gym_pusht या gym_aloha टेलीऑपरेशन स्रोत के रूप में कीबोर्ड या स्क्रिप्टेड नीति का उपयोग करने वाला वातावरण।

# Real robot — verify connection (replace so100 with your robot type) पायथन -एम लेरोबोट.स्क्रिप्ट्स.कंट्रोल_रोबोट \ --रोबोट-पथ लेरोबोट/कॉन्फ़िग्स/रोबोट/so100.yaml \ --कंट्रोल-मोड टेलीऑपरेट \ --टेलीओप-टाइम-एस 5 # Simulation — no hardware needed पायथन -एम लेरोबोट.स्क्रिप्ट्स.कंट्रोल_रोबोट \ --रोबोट-पथ लेरोबोट/कॉन्फ़िग्स/रोबोट/so100_sim.yaml \ --कंट्रोल-मोड टेलीऑपरेट \ --टेलीओप-टाइम-एस 5

आपको टर्मिनल आउटपुट में स्ट्रीमिंग के संयुक्त राज्य और (असली रोबोट के लिए) इनपुट पर प्रतिक्रिया करते हुए हाथ को देखना चाहिए। यदि नहीं, तो आगे बढ़ने से पहले कनेक्शन समस्या का समाधान करें - डिस्कनेक्ट किए गए रोबोट के साथ रिकॉर्डिंग चुपचाप दूषित डेटा उत्पन्न करती है।

रिकॉर्ड कमांड

कोर रिकॉर्डिंग कमांड. झंडों को अपने सेटअप में अनुकूलित करें:

पायथन -एम लेरोबोट.स्क्रिप्ट्स.कंट्रोल_रोबोट \ --रोबोट-पथ लेरोबोट/कॉन्फ़िग्स/रोबोट/so100.yaml \ --नियंत्रण-मोड रिकॉर्ड \ --dataset.repo-id $HF_USER/pick-place-v1 \ --dataset.num-एपिसोड 50 \ --dataset.single-task "लाल घन उठाएँ और इसे कटोरे में रखें" \ --डेटासेट.एफपीएस 30 \ --डेटासेट.पुश-टू-हब 1 \ --डिस्प्ले-कैमरे 1 # $HF_USER is your HuggingFace username (set via: export HF_USER=your_username) # --dataset.push-to-hub 1 uploads automatically after each episode # --display-cameras 1 shows live camera feeds during recording
सिमुलेशन रिकॉर्डिंग: प्रतिस्थापित करें --robot-path आपके सिम कॉन्फिगरेशन के साथ। जोड़ना --env-name gym_pusht/PushT-v0 और --policy-path lerobot/act_pusht_keypoints बेसलाइन डेटासेट के लिए स्क्रिप्टेड (मानव नहीं) प्रदर्शन रिकॉर्ड करने के लिए।

कितने प्रदर्शन?

सही संख्या आपके सेटअप पर निर्भर करती है:

  • अनुकरण: आधारभूत नीति के लिए 50 स्क्रिप्टेड एपिसोड पर्याप्त हैं। पर्यावरण नियतिवादी है, इसलिए विचरण कम है और ACT को अभिसरण करने के लिए 50 पर्याप्त है।
  • असली रोबोट, सरल कार्य: 50-80 मानव प्रदर्शन। यदि आपका डेमो सुसंगत है तो एक निश्चित ऑब्जेक्ट स्थिति वाला पिक-एंड-प्लेस इस सीमा के निचले सिरे पर अच्छी तरह से प्रशिक्षित हो सकता है।
  • वास्तविक रोबोट, परिवर्तनशील कार्य: 100-200 प्रदर्शन। यदि ऑब्जेक्ट की स्थिति अलग-अलग होती है, या यदि कार्य के लिए कई उप-चरणों की आवश्यकता होती है, तो आपको अधिक कवरेज की आवश्यकता होती है।

इस पथ के लिए, लक्ष्य न्यूनतम 50 प्रदर्शन. गुणवत्ता मात्रा को मात देती है - 50 लगातार प्रदर्शन हर बार 150 मैले प्रदर्शनों से बेहतर प्रदर्शन करते हैं।

अच्छे प्रदर्शन अभ्यास

लगातार कार्यस्थल सेटअप

प्रत्येक एपिसोड से पहले ऑब्जेक्ट को उसी स्थिति में रीसेट करें। प्रारंभिक स्थिति को चिह्नित करने के लिए टेबल पर टेप का उपयोग करें। नीति आपके डेमो में पदों के वितरण से सीखेगी - यदि वे सभी एक ही स्थान पर हैं, तो नीति को उस स्थान के लिए कैलिब्रेट किया जाएगा।

पूर्ण, संपूर्ण एपिसोड

प्रत्येक एपिसोड को उसी होम पोज़ से शुरू करना चाहिए और कार्य को पूरी तरह से पूरा करने के साथ समाप्त करना चाहिए। कार्य के बीच में रिकॉर्डिंग बंद न करें. एक अधूरा एपिसोड जहां ग्रिपर पकड़ के बीच में है, मॉडल को टूटा हुआ व्यवहार सिखाता है।

जानबूझकर, सहज गति

अधिकतम गति के 40-60% पर चलें। इतना धीमा कि सहज हो जाए, इतना तेज कि घबराए नहीं। मॉडल आपके प्रदर्शनों से समय सीखता है - अनियमित गति अनियमित नीतियों का निर्माण करती है।

आंशिक या निरस्त डेमो

यदि आप वस्तु को गिराते हैं, कार्यक्षेत्र से टकराते हैं, या कोई त्रुटि उत्पन्न करते हैं, तो दबाएँ Ctrl+C प्रकरण को निरस्त करने के लिए. प्रकरण निरस्त कर दिया जायेगा। किसी निरस्त प्रकरण को कभी भी आगे न बढ़ाएं - यह डेटासेट को विषाक्त कर देता है।

असंगत रणनीतियाँ

रणनीतियों को मिश्रित न करें: कुछ डेमो में बाईं ओर से और अन्य में दाईं ओर से न पकड़ें। एक दृष्टिकोण चुनें और प्रत्येक एपिसोड के लिए इसका उपयोग करें। ACT का CVAE एक एकल "शैली" सीखता है - असंगतता इसे औसत करने के लिए मजबूर करती है, न ही कोई रणनीति विश्वसनीय ढंग से तैयार करती है।

हगिंगफेस हब पर पुश करें

यदि आपने सेट नहीं किया है --dataset.push-to-hub 1 रिकॉर्डिंग के दौरान, सत्र के बाद मैन्युअल रूप से पुश करें:

# Push your completed dataset to HuggingFace Hub पायथन -एम लेरोबोट.स्क्रिप्ट्स.पुश_डेटासेट_टू_हब \ --डेटासेट-डीआईआर ~/लेरोबोट-डेटासेट/पिक-प्लेस-v1 \ --रेपो-आईडी $HF_USER/पिक-प्लेस-v1 # Verify it is live at: # https://huggingface.co/datasets/$HF_USER/pick-place-v1
डेटासेट दृश्यता: नए डेटासेट HuggingFace हब पर डिफ़ॉल्ट रूप से सार्वजनिक हो जाते हैं। यदि आपका कार्यक्षेत्र या कार्य संवेदनशील है, तो जोड़ें --private 1 पुश कमांड के लिए. सार्वजनिक डेटासेट रोबोटिक्स समुदाय में योगदान करते हैं और इन्हें इसमें प्रदर्शित किया जा सकता है एसवीआरसी डेटासेट लाइब्रेरी.

इकाई 3 पूर्ण जब...

हगिंगफेस हब पर लेरोबोट डेटासेट में आपके पास कम से कम 50 पूर्ण, अबाधित प्रदर्शन हैं। आप अपना डेटासेट इसके साथ लोड कर सकते हैं LeRobotDataset("your-username/pick-place-v1") और एपिसोड की अपेक्षित संख्या देखें। आपने अपने स्वयं के कम से कम 5 एपिसोड का उपयोग करके कल्पना की है lerobot.scripts.visualize_dataset और पुष्टि की गई कि संयुक्त प्रक्षेप पथ सुचारू दिखते हैं और ग्रिपर स्थिति में बदलाव साफ़ हैं। आप यूनिट 4 में प्रशिक्षण के लिए तैयार हैं।