विषयसूची:

लीप मोशन नियंत्रित रिमोट सर्च एंड डिस्पोजल रोबोट: 5 कदम
लीप मोशन नियंत्रित रिमोट सर्च एंड डिस्पोजल रोबोट: 5 कदम

वीडियो: लीप मोशन नियंत्रित रिमोट सर्च एंड डिस्पोजल रोबोट: 5 कदम

वीडियो: लीप मोशन नियंत्रित रिमोट सर्च एंड डिस्पोजल रोबोट: 5 कदम
वीडियो: Human vs Robot | Artificial Intelligence 2024, दिसंबर
Anonim
Image
Image

लीप मोशन #3डी जैम के लिए अपनी प्रविष्टि के हिस्से के रूप में, मैं रास्पबेरी पाई पर आधारित इस वायरलेस जेस्चर नियंत्रित खोज/बचाव रोबोट को बनाने के लिए उत्साहित था। यह प्रोजेक्ट भौतिक सामग्री को नियंत्रित और इंटरैक्ट करने के लिए वायरलेस 3D हैंड जेस्चर का उपयोग कैसे किया जा सकता है, इसका एक न्यूनतम उदाहरण प्रदर्शित करता है और प्रदान करता है।

चूंकि यह परियोजना रास्पबेरी पाई पर लोकप्रिय वेबआईओपीआई आईओटी ढांचे का उपयोग करती है, इसलिए इसे रास्पबेरी पाई के साथ इंटरफेस किए जा सकने वाले किसी भी सेंसर/हार्डवेयर/इलेक्ट्रॉनिक्स को नियंत्रित करने और इंटरफ़ेस करने के लिए बहुत आसानी से विस्तारित किया जा सकता है।

कुछ संभावित परिदृश्य जिनकी मैं कल्पना करता हूं कि साथी निर्माता इस परियोजना का उपयोग अपने आधार ढांचे के रूप में कर सकते हैं:

1. रिमोट जेस्चर ऑपरेटेड बम डिस्पोजल रोबोट (शायद एक ओडब्ल्यूआई आर्म आदि का उपयोग करके)

2. एक डॉक्टर द्वारा रिमोट सर्जिकल ऑपरेशन

3. हावभाव नियंत्रित इंटरैक्टिव कला प्रदर्शन या शैक्षिक सामग्री

4. अनंत अन्य संभावनाएं/एकीकरण (मैं अपनी कल्पना से सीमित हूं:))

चरण 1: अवलोकन

वेबआईओपीआई फ्रेमवर्क को समझना
वेबआईओपीआई फ्रेमवर्क को समझना

यह परियोजना एक उपयोगकर्ता को एक पीसी से जुड़े लीप मोशन के माध्यम से 3 डी हाथ के इशारों का उपयोग करके एक रोबोट को अंतःक्रियात्मक रूप से नियंत्रित करने की अनुमति देती है।

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

रोबोट पर रास्पबेरी पाई को यूएसबी वाईफाई डोंगल की मदद से हॉटस्पॉट (एपी मोड) के रूप में कॉन्फ़िगर किया गया है। यह हमारे पीसी/डिवाइस को सीधे रास्पबेरी पाई से कनेक्ट करने और वेबपेज के माध्यम से नियंत्रित करने की अनुमति देता है। रास्पबेरी पाई को क्लाइंट मोड में संचालित करने के लिए भी कॉन्फ़िगर किया जा सकता है, जिसमें यह वायरलेस रूप से वाईफाई राउटर के एपी से जुड़ता है जिससे पीसी / डिवाइस पहले से जुड़े हुए हैं।

यह परियोजना WebIOPi (https://webiopi.trouch.com/) पर आधारित है जो कि रास्पबेरी पाई के लिए एक लोकप्रिय IoT ढांचा है। बंडल किए गए वीव्ड आईओटी किट (या राउटर पर पोर्ट फ़ॉरवर्डिंग के माध्यम से) का उपयोग करके, इस रोबोट को दूर से नियंत्रित किया जा सकता है और/या दुनिया के किसी भी हिस्से से डेटा प्राप्त किया जा सकता है।

परियोजना के निर्माण के लिए निम्नलिखित घटकों का उपयोग किया गया था:

  1. रास्पबेरी पाई बी (रास्पबेरी पाई बी + के साथ संगत 100% आगे)
  2. लॉजिटेक यूएसबी वेब कैमरा (मामूली 1.3 मेगापिक्सेल)
  3. L293D मोटर चालक आईसी और ब्रेकआउट शील्ड
  4. रास्पबेरी पाई के लिए यूएसबी वाईफाई डोंगल
  5. रास्पबेरी पाई के लिए यूएसबी पावर बैंक
  6. रोबोट मोटर्स को चलाने के लिए बाहरी 4V/1.5A बैटरी

चरण 2: प्रोजेक्ट बिल्ड

WebIOPi स्थापित करना, कस्टम कोड लिखना और वेबकैम को कॉन्फ़िगर करना:

WebIoPi इंस्टॉलेशन निर्देश, फ्रेमवर्क की मूल बातें और कई उदाहरण यहां प्रोजेक्ट पेज पर उपलब्ध हैं:

वेब पेज पर लीपमोशन फ़ंक्शंस एम्बेड करने के लिए रास्पबेरी पाई पर जीपीआईओ क्रियाओं को ट्रिगर करने के लिए, हमने मैक्रोज़ का उपयोग किया है, जिसका विवरण यहां पाया गया है:

मैंने उपरोक्त प्रक्रिया के बारे में कुछ आरंभिक नोट्स भी लिखे हैं जिन्हें संलग्न पाया जा सकता है।

वेबकैम स्थापित करना और कॉन्फ़िगर करना

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

रास्पबेरी पाई को एपी/हॉटस्पॉट के रूप में कॉन्फ़िगर करना

रास्पबेरी पाई को होस्टपॉट के रूप में सेटअप करने के लिए, कृपया यहां दिए गए निर्देशों का पालन करें: https://elinux.org/RPI-Wireless-Hotspot। मैंने रास्पबेरी पाई के स्थिर आईपी को 192.168.42.1 के रूप में कॉन्फ़िगर किया है जो कि एपी मोड में पीआई बूट होने के बाद हम ब्राउज़र में टाइप करेंगे।

वेबआईओपीआई, एमजेपीजी-स्ट्रीमर और वाईफाई हॉटस्पॉट सेवा को बूट पर ऑटो चलाने के लिए कॉन्फ़िगर किया गया है और यह हमें सीधे वेब ब्राउज़र खोलने और बूट होने के बाद रोबोट से कनेक्ट करने की अनुमति देता है। रेपो में उपलब्ध rc.local फ़ाइल का उपयोग वेबकैम को बूट पर चलाने के लिए किया जाता है।

चरण 3: निर्माण/वायरिंग निर्देश

रास्पबेरी पाई के 4 GPIO अर्थात् GPIO 9, 11, 23 और 24 L293D मोटर ड्राइवर IC से जुड़े हुए हैं जो Webiopi फ्रेमवर्क द्वारा प्रदान किए गए वेबपेज से मैक्रो अनुरोध प्राप्त करने के बाद तदनुसार मोटर्स को चलाते हैं। यूएसबी वाईफाई डोंगल और यूएसबी लॉजिटेक वेबकैम रास्पबेरी पाई पर उपलब्ध 2 यूएसबी पोर्ट से जुड़े हैं। एक 5वी 4000 एमएएच पावर बैंक पाई को मुख्य बिजली की आपूर्ति करता है। मोटर्स को चलाने के लिए 4V 1.5A लीड एसिड बैटरी का उपयोग किया जाता है।

नोट: चूंकि मेरे द्वारा उपयोग किए जाने वाले पावर बैंक का अधिकतम आउटपुट करंट मात्र १००० Mah था, इसलिए मुझे मोटरों को चलाने के लिए बाहरी लीड एसिड बैटरी का उपयोग करना पड़ा। यदि आपके पास एक पावर बैंक है जो> = 2000 एमएएच देता है, तो आप सीधे 5 वी रेल से पीआई पर मोटर चला सकते हैं (हालांकि मैं बिजली की भूख वाली मोटरों के लिए इसकी अनुशंसा नहीं करता)

लीपमोशन जावास्क्रिप्ट एपीआई, वेबआईओपीआई और एमजेपीजी-स्ट्रीमर परियोजना के 3 प्रमुख उपखंड और उनके मूल कार्य/सेटअप को संक्षेप में नीचे उल्लिखित किया गया है।

चरण 4: वेबआईओपीआई फ्रेमवर्क को समझना

ब्राउज़र पर दिखाया जाने वाला फ़्रंटएंड HTML (Filename:index.html) और Javascript में लिखा गया है, जबकि GPIO को चलाने वाले बैकएंड को Python (Filename: script.py) में लिखा गया है। WebIOPi ढांचे के आधार पर एक कस्टम वेबएप बनाने पर विस्तृत नोट्स बिटबकेट रेपो में नोट्स के रूप में संलग्न हैं।

पायथन लिपि में परिभाषित कस्टम मैक्रोज़ को HTML फ़ाइल से ट्रिगर किया जा सकता है।

उदाहरण: webiopi().callMacro("go_forward"); यह पाइथन लिपि में परिभाषित मैक्रो go_forward के लिए एक कस्टम कॉल है जो दोनों मोटर्स को आगे की दिशा में चलाने की प्रक्रिया को संभालती है।

निर्देशिका पदानुक्रम जहां फ़ाइलें पाई पर संग्रहीत की जाती हैं, संलग्न छवि में दिखाई जाती हैं।

रोबोट फ़ोल्डर में ये उप-फ़ोल्डर हैं:

  • html: index.html युक्त
  • अजगर: युक्त script.py
  • एमजेपीजी-स्ट्रीमर-आर 63: वेब कैमरा चलाने के लिए बिल्ड फाइलें और निष्पादन योग्य शामिल हैं

एमजेपीजी-स्ट्रीमर: यूएसबी वेबकैम से लाइव वीडियो स्ट्रीम डिफ़ॉल्ट रूप से पीआई के पोर्ट 8080 पर चलता है। स्ट्रीम को मैन्युअल रूप से देखने के लिए, वेबकैम चालू करने के बाद ब्राउज़र पर RASPERRYPI_IP:8080 पर नेविगेट करें।

लीपमोशन कोड:

LeapMotion SDK में दिए गए उदाहरणों के कोड स्निपेट index.html फ़ाइल में एम्बेड किए गए थे। लीपमोशन की लीप.जेएस फाइल को रास्पबेरी पाई पर प्रोजेक्ट डायरेक्टरी में एचटीएमएल फ़ोल्डर में जोड़ा जाना है।

लीपमोशन द्वारा भेजे गए पामपोजिशन पैरामीटर का उपयोग यह निर्धारित करने के लिए किया जाता है कि रास्पबेरी पाई पर कौन सा मैक्रो ट्रिगर करना है।

चरण 5: परियोजना चलाना

बस रास्पबेरी पाई को चालू करें और लगभग एक मिनट तक प्रतीक्षा करें। आपको एक नया हॉटस्पॉट रास्पबेरीपी शो दिखाई देगा। इस हॉटस्पॉट से कनेक्ट करें और इस स्थिर आईपी पते को ब्राउज़र में खोलें: 192.168.42.1:8000। 8000 WebIOPi का डिफ़ॉल्ट पोर्ट है।

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

यदि आपको किसी सहायता की आवश्यकता है या परियोजना के बारे में कोई प्रश्न हैं, तो आप एक टिप्पणी छोड़ सकते हैं। हैप्पी लीपिंग!

संपूर्ण स्रोत कोड संलग्न किए गए हैं। आप एक टिप्पणी छोड़ सकते हैं यदि आपको परियोजना के निर्माण के किसी भी हिस्से के लिए किसी भी सहायता की आवश्यकता है। हैप्पी लीपिंग!

सिफारिश की: