ओर्का हैंड सेटअप गाइड

अनबॉक्सिंग से लेकर फर्स्ट ग्रैस्प तक चरण-दर-चरण पथ पूरा करें। अपने पहले निर्माण पर कुल 3-4 घंटे की योजना बनाएं।

1

संयोजन एवं निरीक्षण

शुरुआत से पहले सभी घटकों को तैयार करें: फिंगर मॉड्यूल (5×), हथेली/कलाई माउंट, टेंडन रूटिंग हार्डवेयर, फास्टनरों, और कोई वैकल्पिक फिंगरटिप सेंसर मॉड्यूल।

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

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

The orca_core पायथन पैकेज एकमात्र सॉफ्टवेयर निर्भरता है - इसमें कोई आरओएस आवश्यकता नहीं है। यह डायनामिक्सल प्रोटोकॉल का उपयोग करके 3 एमबीपीएस पर एक एकल यूएसबी सीरियल कनेक्शन पर सभी 17 फीटेक एसटीएस3215 मोटर्स के साथ संचार करता है। पायथन 3.9+ आवश्यक है.

विकल्प ए - कविता के माध्यम से स्थापित करें (अनुशंसित):

git clone https://github.com/orcahand/orca_core.git
cd orca_core
poetry install

विकल्प बी - पिप के माध्यम से स्थापित करें:

pip install orca_core

Linux पर USB सीरियल पोर्ट एक्सेस प्रदान करें:

# Add your user to the dialout group (requires logout/login to take effect)
sudo usermod -aG dialout $USER

# Or grant temporary access without logging out
sudo chmod 666 /dev/ttyUSB0
macOS पोर्ट नाम. MacOS पर USB सीरियल पोर्ट आमतौर पर होता है /dev/tty.usbserial-FT4TFV01. खुला orca_core/models/orcahand_v1/config.yaml और अद्यतन करें port कनेक्ट करने से पहले फ़ील्ड, या निर्माण करते समय पोर्ट स्ट्रिंग को स्पष्ट रूप से पास करें OrcaHand().

कनेक्ट करें और सत्यापित करें:

from orca_core import OrcaHand

hand = OrcaHand()
status = hand.connect()
print(status)  # (True, 'Connection successful')
3

कैलिब्रेशन

प्रति-मोटर शून्य ऑफसेट स्थापित करने के लिए कैलिब्रेशन 17 जोड़ों में से प्रत्येक को कम वर्तमान सीमा (450 कच्ची इकाइयों) पर अपने यांत्रिक हार्ड स्टॉप पर ले जाता है। स्थिति आदेश जारी करने से पहले हमेशा कैलिब्रेट करें - इस चरण को छोड़ने से बड़ी स्थिति त्रुटियां या अप्रत्याशित गति हो सकती है।

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()

# Drives all joints to hard stops at calib_current=450 to establish zero offsets
hand.calibrate()

# Calibration results are saved automatically to:
# models/orcahand_v1/calibration.yaml
अंशांकन स्वचालित है. The calibrate() विधि प्रत्येक जोड़ को 0.3° वृद्धि में उसके हार्ड स्टॉप की ओर पुनरावृत्त रूप से ले जाती है (इसके माध्यम से कॉन्फ़िगर करने योग्य)। calib_step_size), 0.01° (के माध्यम से कॉन्फ़िगर करने योग्य) के भीतर 10 लगातार स्थिर रीडिंग के बाद एक संयुक्त होम घोषित करता है calib_num_stable और calib_threshold), फिर ऑफसेट सहेजता है calibration.yaml. हार्डवेयर परिवर्तन के बाद ही पुनः चलाएँ।

अंशांकन के बाद, सभी जोड़ों को खुली/शून्य स्थिति में ले जाएँ:

# Command all 17 joints to 0° (open position)
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})
4

पहला पकड़ परीक्षण

का उपयोग करके संयुक्त नियंत्रण सत्यापित करें orca_core पायथन एपीआई। अलग-अलग जोड़ों को नाम से कमांड करें - एसडीके स्वचालित रूप से संयुक्त नामों को मोटर आईडी में अनुवादित करता है joint_to_motor_map में config.yaml.

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()
hand.calibrate()

# --- Read current joint positions (degrees) ---
positions = hand.get_joint_pos()
print(positions)
# e.g. {'thumb_mcp': 0.0, 'thumb_abd': 0.0, 'index_mcp': 0.0, ...}

# --- Make a fist: flex all MCP and PIP joints ---
hand.set_joint_pos({
    "index_mcp":  90, "index_pip":  110,
    "middle_mcp": 90, "middle_pip": 110,
    "ring_mcp":   90, "ring_pip":   110,
    "pinky_mcp":  90, "pinky_pip":  110,
    "thumb_mcp":  30, "thumb_pip":  100,
})

# --- Open hand back to zero ---
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})

# --- Torque control ---
hand.enable_torque()                    # Enable torque on all motors
hand.disable_torque(motor_ids=[1, 2])   # Disable specific motors (by ID)

# --- Disconnect (disables torque, closes serial port) ---
hand.disconnect()
संयुक्त ROM सीमाएँ. उंगलियों 2-5 पर एमसीपी और पीआईपी जोड़ -20° से +120° (एमसीपी) और -20° से +140° (पीआईपी) तक होते हैं। अंगूठे की अपहरण सीमा सबसे व्यापक है: ±65°। कलाई ±60° संचालित होती है। इन सीमाओं के बाहर कमांडिंग मान मोटर को उसके यांत्रिक स्टॉप पर रोक सकता है।

यदि कोई जोड़ निर्देशित कोण तक नहीं पहुंचता है, तो उस मोटर के लिए केबल रूटिंग और टेंडन तनाव की जांच करें। प्रत्येक उंगली एक समर्पित फ़ीटेक STS3215 सर्वो का उपयोग करती है; बाइंडिंग आमतौर पर एक रूटिंग या टेंशन समस्या है, सॉफ़्टवेयर नहीं।

5

रोबोट आर्म के साथ एकीकरण

मानक कलाई फ्लैंज एडाप्टर का उपयोग करके ओर्का हैंड को अपने रोबोट बांह पर माउंट करें। हाथ ओपनआर्म 101 के साथ संगत है, और अधिकांश हथियार मानक आईएसओ 9283 फ्लैंज पैटर्न के साथ संगत हैं।

  • दिए गए पैटर्न में M4 बोल्ट का उपयोग करके कलाई की प्लेट को बांह के अंतिम-प्रभावक निकला हुआ किनारा से जोड़ें।
  • बांह की संरचना के साथ सिग्नल और पावर केबल को रूट करें, गति के दौरान रुकावट को रोकने के लिए केबल संबंधों से सुरक्षित किया गया।
  • अपने हाथ के ROS2 कार्यक्षेत्र में, ओर्का हैंड को एंड-इफ़ेक्टर नोड के रूप में जोड़ें और हाथ और हाथ नियंत्रक दोनों को एक साथ लॉन्च करें।
ओपनआर्म 101 के साथ प्रयोग? देखें ओपनआर्म टेलीऑपरेशन सेटअप चरण एंड-इफ़ेक्टर को जोड़ने और अपना पहला डेटा संग्रह सत्र रिकॉर्ड करने के निर्देशों के लिए।

ओर्का हैंड के साथ कुशल हेरफेर अनुसंधान वर्कफ़्लो की पूरी जानकारी के लिए, देखें एसवीआरसी अनुसंधान गाइड.

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

पूर्ण विशिष्टताएँ जाँचें या अपने बिल्ड नोट्स साझा करने के लिए समुदाय में शामिल हों।