डेटा संग्रहण

ओर्का हैंड के साथ कुशल हेरफेर डेटा रिकॉर्ड करना सरल ग्रिपर डेटा संग्रह से मौलिक रूप से अलग है - 17 उंगली जोड़ों, वैकल्पिक स्पर्श धाराओं और दस्ताने टेलीऑपरेशन सभी को सावधानीपूर्वक सिंक्रनाइज़ेशन की आवश्यकता होती है। यह मार्गदर्शिका संपूर्ण वर्कफ़्लो को कवर करती है.

रिकॉर्डिंग से पहले

निपुण डेटा संग्रहण के लिए हार्डवेयर सेटअप

ओर्का हैंड रिकॉर्डिंग सेटअप में एक साधारण ग्रिपर आर्म की तुलना में अधिक स्ट्रीम हैं - उंगलियों के जोड़, वैकल्पिक स्पर्श, कैमरे और आर्म जोड़ों को सिंक्रनाइज़ करने की आवश्यकता है।

🕐

ओर्का हैंड (यूएसबी सीरियल)

100 हर्ट्ज़ तक 17-डीओएफ फिंगर स्थिति। सत्यापित करें: python -c "from orca_core import OrcaHand; h=OrcaHand('/dev/ttyUSB0'); h.connect(); print(h.get_positions())"

🤸

टेलीऑपरेशन डिवाइस

जुकियाओ दस्ताने (अनुशंसित) या वीआर हैंड ट्रैकिंग। मैप्स ऑपरेटर वास्तविक समय में ओर्का हाथ के संयुक्त लक्ष्यों पर उंगली उठाता है।

📷

हथेली/कलाई कैमरा

हथेली के अंदर छोटा यूएसबी कैमरा उंगलियों और वस्तु की ओर इशारा करता है। संपर्क-समृद्ध कार्यों के लिए महत्वपूर्ण जहां उंगलियों-वस्तु संपर्क समझ की सफलता निर्धारित करता है।

📈

स्पर्श सेंसर (वैकल्पिक)

पैक्सिनी या संगत फिंगरटिप सेंसर। अलग यूएसबी कनेक्शन. संपर्क-निर्देशित नीति प्रशिक्षण के लिए अपने डेटासेट में संपर्क बल स्ट्रीम जोड़ें।

रिकॉर्डिंग वर्कफ़्लो

चरण-दर-चरण रिकॉर्डिंग वर्कफ़्लो

1

हाथ + हाथ + दस्ताना ऊपर लाएँ

# Terminal 1: Arm (if using OpenArm)
source ~/openarm_ws/install/setup.bash
ros2 launch openarm_ros2 openarm.launch.py use_fake_hardware:=false can_interface:=can0

# Terminal 2: Orca Hand
source ~/orca_ws/install/setup.bash
ros2 launch orca_ros2 orca_hand.launch.py port:=/dev/ttyUSB0 handedness:=right

# Terminal 3: Juqiao Glove (see Juqiao Glove software page)
python -m juqiao_glove.stream --port /dev/ttyUSB1
2

सत्यापित करें कि सभी स्ट्रीम लाइव हैं

# Check finger joint states
ros2 topic hz /orca_hand/joint_states   # expect ~100 Hz

# Check glove stream
ros2 topic hz /juqiao_glove/finger_angles   # expect ~100 Hz

# Check camera
python -c "import cv2; cap=cv2.VideoCapture(0); print('Camera OK:', cap.isOpened())"
3

ग्लव-टू-हैंड मैपिंग को कैलिब्रेट करें

अपनी उंगली के आयामों को ओर्का हैंड की संयुक्त सीमा तक मैप करने के लिए दस्ताने अंशांकन चलाएँ। यह कदम प्राकृतिक टेलीऑपरेशन सुनिश्चित करता है - आपका खुला हाथ = ओर्का खुला, आपकी मुट्ठी = ओर्का मुट्ठी।

python -m orca_core.scripts.calibrate_teleop \
  --hand_port /dev/ttyUSB0 \
  --glove_port /dev/ttyUSB1 \
  --handedness right
4

कार्य दृश्य सेट करें

वस्तुओं को लगातार प्रारंभिक स्थिति में रखें। निपुण पकड़ वस्तु मुद्रा के प्रति अत्यधिक संवेदनशील होती है - प्रकरणों में लगातार वस्तु स्थिति बनाए रखने के लिए फिक्स्चरिंग (टेप, पुट्टी) का उपयोग करें।

5

रिकॉर्डिंग सत्र प्रारंभ करें

python -m orca_core.scripts.record_episodes \
  --hand_port /dev/ttyUSB0 \
  --glove_port /dev/ttyUSB1 \
  --camera_id 0 \
  --fps 30 \
  --output_dir ~/datasets/orca-grasp-v1 \
  --num_episodes 50 \
  --task "Pick up the pen using a precision pinch grasp"

रिकॉर्डर समकालिक अंगुलियों के जोड़ की स्थिति, दस्ताने के कोण, कैमरा फ्रेम और (यदि जुड़ा हो) स्पर्श रीडिंग को एक Parquet डेटासेट में सहेजता है।

6

पकड़ गुणवत्ता की समीक्षा करें

प्रत्येक एपिसोड दोबारा चलाएं. देखें: फिसलन की घटनाएँ (अचानक स्थिति में उछाल), अपूर्ण पकड़, कंडरा संतृप्ति (पकड़ के दौरान कठोर सीमा पर जोड़), असंगत दृष्टिकोण पथ।

python -m orca_core.scripts.visualize_episode \
  --dataset_dir ~/datasets/orca-grasp-v1 \
  --episode_index 0
7

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

python -m orca_core.scripts.push_dataset \
  --dataset_dir ~/datasets/orca-grasp-v1 \
  --repo_id your-username/orca-grasp-v1
डेटासेट प्रारूप

ओर्का हैंड डेटासेट स्कीमा

ओर्का हैंड डेटासेट प्रारूप अतिरिक्त उंगली-विशिष्ट और स्पर्श धाराओं के साथ मानक लेरोबोट स्कीमा का विस्तार करता है।

प्रत्येक एपिसोड Parquet फ़ाइल में फ़ील्ड
अवलोकन.हाथ_स्थिति फ्लोट32[17] सभी 17 अंगुलियों के जोड़ की स्थिति डिग्री में
अवलोकन.हाथ_वेग फ्लोट32[17] उंगली के जोड़ का वेग डिग्री/सेकेंड में
अवलोकन.स्पर्शीय फ्लोट32[5] एन में प्रति उंगली टिप पर संपर्क बल (यदि स्पर्श सेंसर जुड़े हुए हैं)
अवलोकन.छवियां.* वीडियो पथ कैमरा फ्रेम - हथेली का दृश्य, कलाई का दृश्य, कार्यस्थल का दृश्य
कार्रवाई फ्लोट32[17] ग्लव टेलीऑपरेशन से उंगली के जोड़ की स्थिति को लक्षित करें
समझ_प्रकार डोरी ग्रैस्प प्रिमिटिव के लिए लेबल का उपयोग किया गया (उदाहरण के लिए, "प्रिसिजन_पिंच", "पॉवर_ग्रैस्प")
TIMESTAMP फ्लोट64 सेकंड में यूनिक्स टाइमस्टैम्प
अगला.किया बूल प्रत्येक एपिसोड के अंतिम फ्रेम पर सच है
गुणवत्ता आश्वासन

निपुण डेटा गुणवत्ता चेकलिस्ट

निपुण हेरफेर डेटा में साधारण पिक-एंड-प्लेस की तुलना में अधिक विफलता मोड होते हैं। हब पर जाने से पहले इसे चलाएं।

  • 1
    पूरे प्रकरण में सभी 17 जोड़ों की वैध स्थिति रीडिंग है NaN या अटके हुए मान सर्वो ड्रॉपआउट का संकेत देते हैं। निरीक्षण करें observation.hand_state सभी फ़्रेमों में किसी भी जोड़ में स्थिर मानों के लिए।
  • 2
    दस्ताने-से-हाथ विलंबता 20ms से कम है के बीच टाइमस्टैम्प संरेखण की जाँच करें action (दस्ताने से) और observation.hand_state. उच्च विलंबता के कारण नीति को कारणात्मक रूप से असंगत जोड़ियों से सीखना पड़ता है।
  • 3
    किसी कार्य में पकड़ का प्रकार सुसंगत होता है यदि कुछ प्रदर्शनों में शक्ति पकड़ का उपयोग किया जाता है तो सटीक चुटकी की नीति सामान्यीकृत नहीं होगी। प्रत्येक डेटासेट को एक प्राथमिक समझ रणनीति पर रखें, या समझ प्रकार के अनुसार लेबल करें।
  • 4
    संपर्क घटनाएँ संयुक्त स्थितियों में दिखाई देती हैं जब हाथ किसी वस्तु से संपर्क बनाता है, तो उंगलियों के जोड़ों को स्पष्ट मंदी और अनुपालन विक्षेप दिखाना चाहिए। ऐसे प्रकरण जहां संपर्क विकृति के बिना उंगलियां अपनी स्थिति में आ जाती हैं, हो सकता है कि वे पकड़ से चूक गए हों।
  • 5
    पाम कैमरा पूरे हेरफेर चरण के दौरान वस्तु दिखाता है वस्तु को हथेली के कैमरे में पहुंचने से लेकर छोड़ने तक दिखाई देनी चाहिए। जांचें कि कैमरा माउंट टकराया नहीं है और FOV कार्य कार्यक्षेत्र को कवर करता है।
  • 6
    स्पर्शनीय धाराओं में जहां अपेक्षित हो वहां संपर्क घटनाएं होती हैं चुटकी पकड़ने के दौरान, अंगूठे और तर्जनी दोनों के स्पर्श में बल में वृद्धि दिखनी चाहिए। पुष्टि किए गए संपर्क के दौरान गुम बल संकेत एक डिस्कनेक्टेड या गलत कैलिब्रेटेड सेंसर का संकेत देते हैं।

डेटासेट तैयार है? प्रशिक्षण प्रारंभ करें.

अपने कुशल हेरफेर डेटासेट को हगिंगफेस पर पुश करें और संगत मॉडल का पता लगाएं।