डेटा संग्रहण
वीएलएआई एल1 को बड़े पैमाने पर टेलीऑपरेशन डेटा संग्रह के लिए बनाया गया है। इसकी वन-क्लिक रिकॉर्डिंग पाइपलाइन, डुअल-आर्म सिंक्रोनाइज़ेशन और बिल्ट-इन वीआर टेलीपॉप इसे रोबोट डिलीवरी से लेकर प्रशिक्षण-तैयार डेटासेट तक का सबसे तेज़ रास्ता बनाते हैं।
द्वि-मैनुअल वीआर टेलीऑपरेशन रिकॉर्डिंग
सभी सिस्टम कनेक्ट करें और सत्यापित करें
rc connect --device l1 --host 192.168.1.45
rc status # check: arms, base, cameras, battery all green
L1 को रिकॉर्डिंग स्थिति में ले जाएँ
ब्राउज़र पैनल में WASD का उपयोग करके L1 को कार्य कार्यक्षेत्र में ड्राइव करें। कार्य के लिए लिफ्ट की ऊंचाई निर्धारित करें (उदाहरण के लिए, टेबल-टॉप हेरफेर के लिए 130 सेमी)। इसे पार्क करें और पहियों को लॉक कर दें।
rc teleop --device l1 # open browser panel
# Drive to position, then lock:
python -c "from roboticscenter import L1; r=L1('192.168.1.45'); r.connect(); r.base.lock_wheels(); r.disconnect()"
कार्य दृश्य और कैमरे सेट करें
कार्य वस्तुओं को सुसंगत प्रारंभिक स्थिति में रखें। ब्राउज़र पैनल में कैमरा दृश्य सत्यापित करें - दोनों कलाई कैमरे (डेवलपर मैक्स) और किसी भी बाहरी कैमरे को कार्य कार्यक्षेत्र को कवर करना चाहिए।
सीएलआई के माध्यम से रिकॉर्डिंग सत्र प्रारंभ करें
rc record \
--device l1 \
--task "Pick up the bottle and pour into the glass" \
--num_episodes 50 \
--output ~/datasets/l1-pour-v1 \
--teleop_mode vr # or: browser, leader_arms
# Press ENTER in VR to start each episode, ENTER again to end
एपिसोड की समीक्षा करें
rc replay \
--dataset ~/datasets/l1-pour-v1 \
--episode 0
व्यूअर सभी कैमरा स्ट्रीम + संयुक्त स्थिति समय-श्रृंखला को सिंक्रनाइज़ दिखाता है। आगे बढ़ाने से पहले खराब एपिसोड हटा दें।
हगिंगफेस हब पर पुश करें
huggingface-cli login
rc push_dataset \
--dataset ~/datasets/l1-pour-v1 \
--repo_id your-username/l1-pour-v1
L1 डेटासेट स्कीम
L1 रिकॉर्डिंग पाइपलाइन दोनों हथियारों, मोबाइल बेस, सभी कैमरों और वैकल्पिक भाषा एनोटेशन के साथ एक मल्टी-मोडल डेटासेट तैयार करती है।
गुणवत्ता जांच सूची
L1 का VR टेलीओप विलंबता और द्वि-मैन्युअल समन्वय के आसपास अद्वितीय डेटा गुणवत्ता संबंधी समस्याएं पेश कर सकता है। हब पर जाने से पहले इसे चलाएं।
-
1रिकॉर्डिंग के दौरान VR विलंबता 50ms से कम थी रिकॉर्डिंग के दौरान ब्राउज़र पैनल में विलंबता मॉनिटर की जाँच करें। 50 एमएस से ऊपर, ऑपरेटर के हाथ की गति रोबोट की गतिविधियों से पिछड़ जाती है, जिससे डेटासेट में एक कारण बेमेल पैदा होता है। यदि आवश्यक हो तो कम-विलंबता वाले वाईफाई चैनल पर पुनः रिकॉर्ड करें।
-
2दोनों भुजाएँ इच्छानुसार हिलीं (कोई एक भुजा वाली घटना नहीं) द्वि-मैन्युअल कार्यों के लिए, सत्यापित करें कि दोनों भुजाएँ महत्वपूर्ण गति दिखाती हैं
observation.left_arm_stateऔरobservation.right_arm_state. एकल-हाथ-प्रमुख एपिसोड यह संकेत दे सकते हैं कि ऑपरेटर ने एक हाथ का पक्ष लिया। -
3हाथ में हेरफेर के दौरान मोबाइल बेस स्थिर था जब तक आप मोबाइल हेरफेर कार्यों को रिकॉर्ड नहीं कर रहे हैं,
observation.base_stateप्रत्येक एपिसोड में लगभग स्थिर रहना चाहिए। हेरफेर के दौरान बेस मूवमेंट के कारण कार्यस्थल कैमरे के सापेक्ष स्थानांतरित हो जाता है। -
4पूरे एपिसोड के लिए सभी कैमरा स्ट्रीम मौजूद हैं L1 का वाईफ़ाई बैंडविड्थ लोड के तहत फ़्रेम को गिरा सकता है। दौड़ना
rc validate_dataset --dataset ~/datasets/l1-pour-v1सभी कैमरा स्ट्रीम में गुम फ़्रेमों की जाँच करने के लिए। -
5भाषा निर्देश जो प्रदर्शित किया गया था उससे मेल खाता है रिकॉर्डिंग शुरू होने से पहले भाषा निर्देश सेट किया जाता है। यदि ऑपरेटर ने एक अलग दृष्टिकोण में सुधार किया है (उदाहरण के लिए, दो के बजाय एक हाथ का उपयोग किया है), तो निर्देश को अपडेट करें या एपिसोड को हटा दें।
अपने डेटासेट से वीएलए को प्रशिक्षित करना
एक बार जब आपका डेटासेट हगिंगफेस हब पर हो, तो L1 एक्शन स्पेस के साथ VLA को फाइन-ट्यून करें।
L1 डेटा पर OpenVLA को फाइन-ट्यून करें
pip install roboticscenter[vla]
python -m roboticscenter.scripts.finetune_vla \
--model openvla/openvla-7b \
--dataset your-username/l1-pour-v1 \
--action_space l1_bimanual \ # registers the 16-DOF bimanual action head
--epochs 50 \
--output_dir outputs/openvla-l1-pour
डिवाइस पर परिष्कृत वीएलए तैनात करें (डेवलपर प्रो/मैक्स)
आरसी परिनियोजन वीएलए \ --मॉडल आउटपुट/ओपनvla-l1-डालना \ - मात्रा निर्धारित करें int4 \ --डिवाइस एल1 \ --होस्ट 192.168.1.45 # नीति चलाएँ: आरसी रन नीति \ --कार्य "बोतल उठाओ और गिलास में डालो" \ --मैक्स_स्टेप्स 100