विषयसूची:

हैप्टिक ड्राइंग रोबोट: 5 कदम (चित्रों के साथ)
हैप्टिक ड्राइंग रोबोट: 5 कदम (चित्रों के साथ)

वीडियो: हैप्टिक ड्राइंग रोबोट: 5 कदम (चित्रों के साथ)

वीडियो: हैप्टिक ड्राइंग रोबोट: 5 कदम (चित्रों के साथ)
वीडियो: Build Your Own Wearable Robot 2024, जुलाई
Anonim

डिपो में मेरे मास्टर ग्रेजुएशन के हिस्से के रूप में। आइंडहोवन विश्वविद्यालय में औद्योगिक डिजाइन, मैंने एक हैप्टिक ड्राइंग डिवाइस बनाया जिसका उपयोग यातायात के माध्यम से अर्ध-स्वायत्त कार को नेविगेट करने के लिए किया जा सकता है। इंटरफ़ेस को स्क्रिबल कहा जाता है और उपयोगकर्ता को एक चर बल और स्थान के माध्यम से 2D स्थान में हैप्टिक जुड़नार का अनुभव करने देता है। हालाँकि यह अवधारणा वह नहीं है जिसके बारे में यह निर्देश योग्य है, आप यहाँ स्क्रिबल के बारे में अधिक पढ़ सकते हैं:

स्क्रिबल 5 बार लिंकेज कॉन्फ़िगरेशन का उपयोग करता है जो इसे स्वतंत्रता के दो पार्श्व डिग्री (डीओएफ) को स्थानांतरित करने की अनुमति देता है। ड्राइंग रोबोट बनाने के लिए प्रोटोटाइपर्स के बीच यह सेटअप काफी लोकप्रिय है, यहां कुछ उदाहरण दिए गए हैं:

www.projehocam.com/arduino-saati-yazan-kol-…

blogs.sap.com/2015/09/17/plot-clock-weathe…

www.heise.de/make/meldung/Sanduhr-2-0-als-Bausatz-im-heise-shop-erhaeltlich-3744205.html

यंत्रवत् इन रोबोटों को बनाना आसान है। उन्हें केवल बुनियादी जोड़ों की आवश्यकता होती है और उनके पास दो एक्चुएटर होते हैं जो काफी तरल गति बना सकते हैं। यह संरचना उन डिजाइनरों के लिए आदर्श है जो चलती संरचना बनाने में रुचि रखते हैं हालांकि मैं एक यांत्रिक इंजीनियर नहीं होने के कारण, मुझे किनेमेटिक्स को कोड में अनुवाद करना काफी कठिन लगा। इसलिए मैं बुनियादी Arduino कोड प्रदान करूंगा जो आगे और उलटा कीनेमेटीक्स का पता लगाता है ताकि आप इसे अपने भविष्य के डिजाइनों में आसानी से उपयोग कर सकें!;-)

कृपया नीचे दिए गए कोड को डाउनलोड करें!

* संपादित करें: इसी तरह की परियोजना के लिए, https://haply.co पर एक नज़र डालें *

चरण 1: संरचना का निर्माण

संरचना का निर्माण
संरचना का निर्माण

आपके मन में उद्देश्य के आधार पर आपको पहले 5-लिंकेज संरचना तैयार करनी चाहिए। माप के बारे में सोचें, एक्चुएटर्स जिनका आप उपयोग करना चाहते हैं, और चिकनी आंदोलनों के लिए जोड़ों को कैसे संलग्न करें।

अपने प्रोटोटाइप के लिए, मैं अपना कोड Arduino DUE पर चलाता हूं जो मेरे मैक पर एक प्रोग्राम द्वारा सीरियल पर नियंत्रित होता है जो ओपन फ्रेमवर्क में बनाया गया था। यह प्रोग्राम यूनिटी 3डी आधारित ड्राइविंग सिम्युलेटर के साथ संचार करने के लिए यूडीपी कनेक्शन का उपयोग करता है।

स्क्रिबल प्रोटोटाइप 5 मिमी बियरिंग्स का उपयोग करता है और 5 मिमी लेजर-कट एक्रिलिक से बना है। एक्ट्यूएटर फ्रैंक वैन वेलेक्न्होफ के हैप्टिक इंजन हैं जो एक्चुएशन, स्थिति को पढ़ने और एक चर बल को आउटपुट करने की अनुमति देते हैं। इसने उन्हें स्क्रिबल के वांछित हैप्टिक गुणों के लिए आदर्श बना दिया। उनके एक्चुएटर्स के बारे में अधिक जानकारी यहां पाई जा सकती है:

चरण 2: अपने हार्डवेयर मूल्यों को जानें

अपने हार्डवेयर मूल्यों को जानें
अपने हार्डवेयर मूल्यों को जानें

फॉरवर्ड कीनेमेटिक्स SAP द्वारा प्लॉट क्लॉक वेदर स्टेशन पर आधारित हैं:

जैसा कि उनके विन्यास में दिखाया गया है कि हाथ खींचने के लिए मार्कर को पकड़ने के लिए बढ़ाया जाता है। इसे हटा दिया गया है क्योंकि इसने स्क्रिबल प्रोटोटाइप के लिए कोई उद्देश्य नहीं दिया है। यदि आप इस घटक को वापस जोड़ना चाहते हैं तो उनका कोड जांचें। चित्र में नाम मेरे विन्यास में समान रखे गए हैं।

आपके हार्डवेयर के आधार पर एल्गोरिदम को आपके हार्डवेयर गुणों को जानने की आवश्यकता है:

इंट लेफ्ट एक्चुएटर, राइट एक्चुएटर; // एक्ट्यूएटर को डिग्री में लिखने के लिए कोण, यदि आप अधिक सटीकता चाहते हैं तो फ्लोट में बदलें

इंट पॉज़एक्स, पॉज़ी; // सूचक के स्थान के निर्देशांक

अपने इनपुट मूल्यों का संकल्प सेट करें

int posStepsX = 2000;

int posStepsY = १०००;

आपके सेटअप के आयाम, मान मिमी में हैं (एसएपी चित्र देखें)

#define L1 73 // लंबाई मोटर आर्म, SAP चित्र देखें (बाएं और दाएं समान हैं)

#define L2 95 // लंबाई विस्तार भुजा, SAP चित्र देखें (बाएं और दाएं समान हैं)

#define rangeX 250 // बिंदु को स्थानांतरित करने के लिए X दिशा में अधिकतम सीमा (बाएं से दाएं, 0 - maxVal)

#define rangeY 165 // बिंदु को स्थानांतरित करने के लिए Y दिशा में अधिकतम सीमा (0 से केंद्र में रहते हुए अधिकतम पहुंच तक)

#define OriginL 90 // अधिकांश न्यूनतम X मान से एक्चुएटर केंद्र स्थिति तक ऑफसेट दूरी

#define उत्पत्तिआर 145 // अधिकांश न्यूनतम एक्स मान से एक्चुएटर केंद्र की स्थिति के लिए ऑफसेट दूरी, इस मामले में दो मोटर्स के बीच की दूरी है

चरण 3: फॉरवर्ड किनेमेटिक्स

फॉरवर्ड किनेमेटिक्स
फॉरवर्ड किनेमेटिक्स

जैसा कि पिछले चरण में बताया गया है, फॉरवर्ड कीनेमेटीक्स एसएपी के एल्गोरिथम पर आधारित हैं।

शून्य पहले परिभाषित बाएँ और दाएँ एक्चुएटर के वांछित कोण मानों को अद्यतन करता है। इसमें प्लग किए गए X और Y मानों के आधार पर पॉइंटर को इस स्थिति में लाने के लिए समकोण की गणना की जाएगी।

शून्य सेट_एक्सवाई (डबल टीएक्स, डबल टाय) // अपना एक्स और वाई मान इनपुट करें {// कुछ वैल जो हमें चाहिए लेकिन लंबे डबल डीएक्स, डीई, सी, ए 1, ए 2, एचएक्स, हाय के लिए सहेजना नहीं चाहते हैं; // वास्तविक दुनिया में अपने कॉन्फ़िगरेशन की सीमा के लिए मानचित्र इनपिट रिज़ॉल्यूशन int realX = map (Tx, 0, posStepsX, 0, रेंजX); // स्वैप अगर मैपिंग अगर उलटा इंट रियलवाई = मैप (Ty, posStepsX, 0, 0, रेंजवाई); // स्वैप अगर मैपिंग अगर उलटा है // बाएं एक्ट्यूएटर के लिए कैल्क कोण // कार्टेशियन डीएक्स / डीई डीएक्स = रीयलएक्स - ओरिजिनल; // ऑफसेट डाई = realY शामिल करें; // ध्रुवीय लंबाई (c) और कोण (a1) c = sqrt(dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = रिटर्न_एंगल (L1, L2, c); लेफ्टएक्ट्यूएटर = फ्लोर (((M_PI - (a2 + a1)) * 4068) / 71); // अंतिम कोण और रेड से डिग्री में कनवर्ट करें // सही एक्ट्यूएटर के लिए कैल्क कोण dx = realX - उत्पत्तिआर; // ऑफसेट डाई = realY शामिल करें; सी = वर्ग (डीएक्स * डीएक्स + डीई * डीई); a1 = atan2 (dy, dx); a2 = रिटर्न_एंगल (L1, L2, c); राइटएक्ट्यूएटर = फ्लोर (((ए 1 - ए 2) * 4068) / 71); // अंतिम कोण और रेड से डिग्री में कनवर्ट करें}

कोण गणना के लिए अतिरिक्त शून्य:

डबल रिटर्न_एंगल (डबल ए, डबल बी, डबल सी) {// सी और रिटर्न एकोस के बीच कोण के लिए कोसाइन नियम ((ए * ए + सी * सी - बी * बी) / (2 * ए * सी)); }

चरण 4: उलटा किनेमेटिक्स

उलटा किनेमेटिक्स
उलटा किनेमेटिक्स

उलटा कीनेमेटीक्स दूसरी तरह से काम करता है। आप अपने एक्ट्यूएटर्स के रोटेशन को डिग्री में प्लग करते हैं और शून्य पहले परिभाषित स्थिति को अपडेट कर देगा।

कृपया ध्यान दें कि आपको एक्चुएटर्स या एक अलग सेंसर की आवश्यकता होगी जो हाथ के कोण को पढ़ सके। मेरे मामले में, मैंने एक्चुएटर्स का उपयोग किया जो एक साथ अपनी स्थिति को पढ़ और लिख सकते हैं। इसके साथ प्रयोग करने के लिए स्वतंत्र महसूस करें और किसी प्रकार का अंशांकन जोड़ने पर विचार करें ताकि आप सुनिश्चित हों कि आपका कोण सही ढंग से पढ़ा गया है।

सिफारिश की: