आप क्या हासिल करेंगे

इस इकाई के अंत में आपके पास ओपनआर्म एसडीके स्थापित होने के साथ एक पायथन वर्चुअल वातावरण होगा, और 5-लाइन परीक्षण स्क्रिप्ट चलाने पर वापस आ जाएगा True से arm.ping(). उस पुष्टिकरण का मतलब है कि आपके पायथन कोड में बांह तक एक लाइव संचार चैनल है - जो कि इकाइयों 3-6 में सब कुछ का आधार है।

संपूर्ण एसडीके इंस्टालेशन और कॉन्फ़िगरेशन दस्तावेज़ यहाँ है हार्डवेयर/ओपनआर्म/सॉफ्टवेयर. यह इकाई उस प्रक्रिया को आपके आवश्यक संदर्भ के साथ फ्रेम करती है और सबसे आम विफलता मोड को कवर करती है।

एसडीके स्थापित करें

के माध्यम से कार्य करें सॉफ़्टवेयर सेटअप गाइड पूर्ण SDK स्थापना के लिए. संक्षिप्त संस्करण:

# Create an isolated environment for this path Python3 -m venv ~/openarm-env स्रोत ~/ओपनआर्म-एनवी/बिन/सक्रिय करें # Install the SDK and its dependencies पिप इंस्टाल ओपनआर्म-एसडीके लेरोबोट टॉर्च टॉर्चविजन

आपके इंटरनेट कनेक्शन के आधार पर इंस्टॉलेशन में 5-15 मिनट लगते हैं। torch और lerobot पैकेज बड़े हैं लेकिन आपको यूनिट 4 और 5 में उनकी आवश्यकता होगी, इसलिए उन्हें अभी इंस्टॉल करें।

त्वरित पायथन कनेक्शन परीक्षण

ROS 2 चालू होने पर (यूनिट 1 से) और आपका वर्चुअल वातावरण सक्रिय होने पर, यह परीक्षण चलाएँ। यह पुष्टि करने का सबसे तेज़ तरीका है कि आपका पूरा स्टैक शुरू से अंत तक काम कर रहा है:

# Make sure ROS 2 is running first (from a separate terminal) # source ~/openarm_ws/install/setup.bash && ros2 launch openarm_bringup real.launch.py ओपनआर्म से ओपनआर्म आयात करें भुजा = ओपनआर्म() # connects via ROS 2 action server प्रिंट(आर्म.पिंग()) # should print: True प्रिंट(arm.get_joints()) # should print: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] बांह.बंद करें()

अगर arm.ping() रिटर्न True और arm.get_joints() वर्तमान संयुक्त कोण लौटाता है, आपका काम हो गया। यदि आपको त्रुटियाँ दिखाई दें तो ही समस्या निवारण अनुभाग पर जाएँ।

समस्या निवारण: 3 सबसे आम कनेक्शन त्रुटियाँ

त्रुटि 1: ConnectionRefusedError या टाइमआउट चालू OpenArm()

ROS 2 नहीं चल रहा है या एक्शन सर्वर अभी तक प्रारंभ नहीं हुआ है। जाँच करें कि ros2 node list दिखाता है /openarm_controller. यदि नहीं, तो अपने ROS 2 टर्मिनल पर वापस जाएं और त्रुटियों के बिना लॉन्च पूरा होने की पुष्टि करें। एक सामान्य उप-कारण: आप लॉन्च करने से पहले अपने कार्यक्षेत्र का स्रोत बनाना भूल गए - इकाई 1, महत्वपूर्ण चरण 2 देखें।

त्रुटि 2: can0: Network is down आरओएस 2 टर्मिनल में

सॉकेटकैन इंटरफ़ेस गिरा दिया गया। ऐसा तब होता है जब आपने यूएसबी-कैन एडॉप्टर को दोबारा चलाए बिना अनप्लग और दोबारा प्लग किया हो ip link set आज्ञा। दौड़ना sudo ip link set can0 up type can bitrate 1000000, फिर ROS 2 लॉन्च को पुनरारंभ करें। इस कमांड को स्टार्टअप स्क्रिप्ट में जोड़ें ताकि यह बूट पर स्वचालित रूप से चले: sudo nano /etc/network/interfaces.d/can0.

त्रुटि 3: arm.get_joints() आर्म होम नहीं होने पर भी सभी शून्य लौटाता है

यह कोई त्रुटि नहीं है - इसका मतलब भुजा है है इसकी संयुक्त स्थिति की रिपोर्ट करना, लेकिन अंशांकन पूरा नहीं हो सकता है। यदि आपकी बांह शारीरिक रूप से शून्य मुद्रा में है, तो शून्य सही हैं। यदि आपका हाथ एक अलग कोण पर है लेकिन फिर भी शून्य की रिपोर्ट कर रहा है, तो वेब यूआई (यूनिट 1, महत्वपूर्ण चरण 4) से अंशांकन फिर से चलाएँ। संयुक्त एन्कोडर्स को पूर्ण स्थिति स्थापित करने के लिए होमिंग अनुक्रम की आवश्यकता होती है।

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

arm.ping() रिटर्न True आपके पायथन टर्मिनल में। परीक्षण स्क्रिप्ट प्रारंभ से अंत तक त्रुटियों के बिना चलती है। जब आप शारीरिक रूप से हाथ हिलाते हैं तो आप वास्तविक समय में संयुक्त कोण मानों में बदलाव देख सकते हैं arm.get_joints() एक लूप में मतदान किया जाता है। आप यूनिट 3 के लिए तैयार हैं।