संपूर्ण एसडीके इंस्टॉलेशन संदर्भ यहां है हार्डवेयर/dk1/सॉफ़्टवेयर. यह इकाई द्वि-मैनुअल-विशिष्ट कॉन्फ़िगरेशन चरणों को शामिल करती है जो आपके द्वारा ओपनआर्म के लिए किए गए सिंगल-आर्म एसडीके इंस्टॉल से आगे जाते हैं।
DK1 SDK स्थापित करें
DK1 SDK OpenArm SDK से अलग है। OpenArm पैकेज के साथ DK1 आर्म्स चलाने का प्रयास न करें - फ़र्मवेयर प्रोटोकॉल भिन्न है।
लीडर/फॉलोअर पेयरिंग को कॉन्फ़िगर करें
SDK एक YAML कॉन्फ़िगरेशन फ़ाइल को पढ़ता है जो यह बताता है कि कौन सा सीरियल डिवाइस लीडर है और कौन से डिवाइस दो अनुयायी हथियार हैं। आपको डिवाइस पथ को सही क्रम में निर्दिष्ट करना होगा - एसडीके भूमिका असाइनमेंट का स्वतः पता नहीं लगाता है।
में प्रमुख क्षेत्र dk1-config.yaml:
/dev/ttyUSBN यूएसबी पोर्ट ऑर्डर पर निर्भर करता है, जो रिबूट के बीच बदल सकता है। स्थिर उपनाम बनाने के लिए, उपयोग करें udev डिवाइस क्रमांक पर नियम अंकित हैं। दौड़ना udevadm info /dev/ttyUSB0 प्रत्येक हाथ के लिए क्रम ढूँढना और उसमें नियम बनाना /etc/udev/rules.d/99-dk1.rules. इस पर विस्तार से चर्चा की गई है हार्डवेयर/dk1/सॉफ़्टवेयर.
पायथन कनेक्शन टेस्ट - दोनों भुजाएँ
कॉन्फ़िगरेशन को संपादित करने के बाद, एक कनेक्शन परीक्षण चलाएं जो सभी तीन उपकरणों का एक साथ अभ्यास करता है:
एक सफल रन सुसंगत, स्थिर मानों के साथ संयुक्त राज्य सरणियों के 10 जोड़े प्रिंट करता है। यदि आपको NaN मान, एक टाइमआउट त्रुटि, या प्रति हाथ 6 से कम संयुक्त मान दिखाई देते हैं, तो अपनी कॉन्फ़िगरेशन फ़ाइल में डिवाइस पथ असाइनमेंट की जांच करें।
समन्वयन सत्यापन
इस इकाई में सबसे महत्वपूर्ण जाँच यह सत्यापित करना है कि नेता की गति बिना किसी स्पष्ट अंतराल के समकालिक अनुयायी प्रतिक्रिया उत्पन्न करती है:
लीडर के हाथ को एक जोड़ पर 30° चाप के माध्यम से धीरे-धीरे घुमाएँ। दोनों अनुयायी भुजाओं को बिना किसी देरी के एक साथ चलना चाहिए। यदि एक अनुयायी दूसरे से आधे सेकंड से अधिक पीछे रहता है, तो जाँच करें latency_tolerance_ms स्लो आर्म के USB कनेक्शन को सेट करना और सत्यापित करना।
सामान्य त्रुटियाँ और सुधार
| गलती | कारण | हल करना |
|---|---|---|
SerialException: device not found |
कॉन्फ़िगरेशन में गलत डिवाइस पथ, या यूएसबी कनेक्ट नहीं है | दौड़ना ls /dev/ttyUSB* और कॉन्फ़िगरेशन पथ अद्यतन करें। भौतिक USB कनेक्शन जांचें. |
SyncTimeoutError: follower_right |
दायां अनुयायी हाथ विलंबता सहनशीलता के भीतर प्रतिक्रिया नहीं दे रहा है | बढ़ोतरी latency_tolerance_ms 10 तक, या कोई भिन्न USB पोर्ट आज़माएँ। क्षति के लिए केबल की जाँच करें। |
| कनेक्ट होने के बाद संयुक्त सभी शून्य बताता है | सर्वो सक्षम नहीं है - आर्म स्टैंडबाय मोड में है | पुकारना robot.enable_servos() संयुक्त स्थिति पढ़ने से पहले, या पहले वेब यूआई के माध्यम से सक्षम करें। |
| एक अनुयायी दर्पण है, दूसरा स्थिर है | कॉन्फ़िगरेशन में लीडर को केवल एक फ़ॉलोअर के साथ जोड़ा जाता है | दोनों को सत्यापित करें follower_left और follower_right YAML कॉन्फ़िगरेशन में सेट हैं। |
इकाई 2 पूर्ण जब...
DK1 SDK स्थापित है और dk1.__version__ 0.4.0 या उच्चतर रिटर्न देता है। कनेक्शन परीक्षण 50Hz पर दोनों भुजाओं के लिए स्थिर संयुक्त स्थिति मान प्रिंट करता है। जब आप एक नेता/अनुयायी सत्र शुरू करते हैं और नेता की बांह को हिलाते हैं, तो दोनों अनुयायी भुजाएं बिना किसी स्पष्ट अंतराल के गति को प्रतिबिंबित करती हैं। आपने नेता की बांह पर कम से कम तीन अलग-अलग संयुक्त गतियों के साथ इसे सत्यापित किया है।