विषयसूची:
- चरण 1: आपूर्ति
- चरण 2: समस्या विवरण
- चरण 3: ब्लूटूथ रिमोट कंट्रोल
- चरण 4: प्रभाव पहचान
- चरण 5: जीवन पहचान
- चरण 6: इसे चलाएं
वीडियो: मार्स रूंबा: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
यह निर्देश आपको रास्पबेरी पाई नियंत्रित रूमबा वैक्यूम बॉट के संचालन की दिशा में मार्गदर्शन करेगा। हम जिस ऑपरेटिंग सिस्टम का उपयोग करेंगे वह MATLAB के माध्यम से होगा।
चरण 1: आपूर्ति
इस परियोजना को पूरा करने के लिए आपको क्या इकट्ठा करना होगा:
- iRobot's Create2 Roomba वैक्यूम क्लीनर बॉट
- रास्पबेरी पाई
- रास्पबेरी पाई कैमरा
- MATLAB का नवीनतम संस्करण
- MATLAB के लिए Roomba इंस्टाल टूलबॉक्स
- सेलुलर डिवाइस के लिए MATLAB एप्लिकेशन
चरण 2: समस्या विवरण
हमें एक रोवर विकसित करने के लिए MATLAB का उपयोग करने का काम सौंपा गया था जिसका उपयोग मंगल ग्रह पर वैज्ञानिकों की सहायता के लिए ग्रह डेटा एकत्र करने में किया जा सकता है। हमने अपनी परियोजना में जिन कार्यों को संबोधित किया, वे रिमोट कंट्रोल, ऑब्जेक्ट इम्पैक्ट रिकग्निशन, वाटर रिकग्निशन, लाइफ रिकग्निशन और इमेज प्रोसेसिंग के थे। इन उपलब्धियों को प्राप्त करने के लिए, हमने iRobot के Create2 Roomba के कई कार्यों में हेरफेर करने के लिए Roomba टूलबॉक्स कमांड का उपयोग करके कोड किया।
चरण 3: ब्लूटूथ रिमोट कंट्रोल
यह स्लाइड आपके स्मार्टफोन डिवाइस की ब्लूटूथ क्षमताओं का उपयोग करके रूमबा की गति को नियंत्रित करने के लिए कोड के माध्यम से चलेगी। शुरू करने के लिए, अपने स्मार्टफोन में MATLAB एप्लिकेशन डाउनलोड करें और अपने Mathworks खाते में लॉग इन करें। एक बार लॉग इन करने के बाद, "अधिक", "सेटिंग्स" पर जाएं, और इसके आईपी पते का उपयोग करके अपने कंप्यूटर से कनेक्ट करें। एक बार कनेक्ट होने के बाद, "अधिक" पर वापस जाएं और "सेंसर" चुनें। स्क्रीन के टॉप टूलबार पर तीसरे सेंसर पर टैप करें और स्टार्ट पर टैप करें। अब, आपका स्मार्टफोन रिमोट कंट्रोल है!
कोड इस प्रकार है:
जबकि 0 == 0
विराम (.5)
फोनडाटा = एम.ओरिएंटेशन;
अज़ी = फोनडाटा (1);
पिच = फोनडाटा (2);
साइड = फोनडाटा (3);
धक्कों = r.getBumpers;
अगर साइड>80 || साइड<-80
आर.स्टॉप
आर.बीप ('सी, ई, जी, सी^, जी, ई, सी')
टूटना
अन्य साइड>20 && साइड<40
r.turnAngle(-5);
एल्सिफ साइड>40
आर.टर्नएंगल (-25);
एल्सिफ साइड-40
आर.टर्नएंगल(५);
अन्य साइड<-40
आर.टर्नएंगल(25);
समाप्त
अगर पिच >10 && पिच<35
r.moveDistance(.03)
एल्सिफ़ पिच>-35 && पिच<-10
r.moveDistance(-.03)
समाप्त
समाप्त
चरण 4: प्रभाव पहचान
एक अन्य कार्य जिसे हमने लागू किया वह था किसी वस्तु में रूंबा के प्रभाव का पता लगाना और फिर उसके वर्तमान पथ को ठीक करना। ऐसा करने के लिए, हमें यह निर्धारित करने के लिए बम्पर सेंसर से रीडिंग के साथ सशर्त उपयोग करना पड़ा कि क्या कोई वस्तु टकरा गई है। यदि रोबोट किसी वस्तु से टकराता है, तो वह.2 मीटर का बैक अप लेगा, और उस कोण पर घूमेगा, जिसके द्वारा बम्पर मारा गया था। एक बार जब कोई आइटम हिट हो जाता है, तो "ऊफ़" शब्द प्रदर्शित करने वाला एक मेनू पॉप अप होता है।
कोड नीचे दिखाया गया है:
जबकि 0 == 0
धक्कों = r.getBumpers;
r.setDriveVelocity(.1)
अगर धक्कों.बाएं == 1
संदेश बॉक्स ('ओफ!');
r.moveDistance(-0.2)
r.setTurnVelocity(.2)
आर.टर्नएंगल(-35)
r.setDriveVelocity(.2)
एल्सिफ़ बम्प्स.फ्रंट == 1
संदेश बॉक्स ('ओफ!');
r.moveDistance(-0.2)
r.setTurnVelocity(.2)
आर.टर्नएंगल(90)
r.setDriveVelocity(.2)
एल्सिफ़ बम्प्स। राइट == 1
संदेश बॉक्स ('ओफ!');
r.moveDistance(-0.2)
r.setTurnVelocity(.2)
आर.टर्नएंगल(35)
r.setDriveVelocity(.2)
बाकीफ बम्प्स। लेफ्टव्हीलड्रॉप ==1
संदेश बॉक्स ('ओफ!');
r.moveDistance(-0.2)
r.setTurnVelocity(.2)
आर.टर्नएंगल(-35)
r.setDriveVelocity(.2)
एल्सिफ़ बम्प्स।राइटव्हीलड्रॉप ==1
संदेश बॉक्स ('ओफ!');
r.moveDistance(-0.2)
r.setTurnVelocity(.2)
आर.टर्नएंगल(35)
r.setDriveVelocity(.2)
समाप्त
समाप्त
चरण 5: जीवन पहचान
हमने इसके सामने वस्तुओं के रंगों को पढ़ने के लिए एक जीवन पहचान प्रणाली को कोडित किया। हमने जिन तीन प्रकार के जीवन को कोडित किया है वे हैं पौधे, पानी और एलियन। ऐसा करने के लिए, हमने लाल, नीले, हरे या सफेद के औसत मूल्यों की गणना करने के लिए सेंसर को कोडित किया। इन मानों की तुलना उन थ्रेसहोल्ड से की गई थी जो कैमरे द्वारा देखे जा रहे रंग को निर्धारित करने के लिए मैन्युअल रूप से सेट किए गए थे। कोड भी वस्तु के लिए पथ और एक नक्शा बनाने की साजिश करेगा।
कोड इस प्रकार है:
टी = 10;
मैं = 0;
जबकि टी == 10
img = r.getImage; आईएमशो (आईएमजी)
विराम (0.167)
मैं = मैं + 1;
red_mean = माध्य (माध्य (img (:,:, 1)));
blue_mean = माध्य (माध्य (img (:,:, 3)));
ग्रीन_मीन = माध्य (माध्य (आईएमजी (:,:, 2)));
सफेद_मीन = (नीला_मीन + हरा_मीन + लाल_मीन) / 3; % इस वैल को लगभग 100 चाहते हैं
नौ_प्लस_टेन = 21;
हरा_दहलीज = 125;
नीला_दहलीज = १३०;
सफेद सीमा = १२४;
लाल_दहलीज = ११५;
जबकि नौ_प्लस_टेन == 21% हरा - जीवन
अगर हरा_माध्य> हरा_दहलीज && नीला_मीन < नीला_दहलीज && लाल_माध्य < लाल_दहलीज
r.moveDistance(-.1)
a = msgbox ('संभावित जीवन स्रोत मिला, स्थान प्लॉट किया गया');
विराम(2)
हटाएं (ए)
[y2, Fs2] =ऑडियोरेड ('z_speak2.wav');
ध्वनि (y2, Fs2)
विराम(2)
% संयंत्र = r.getImage; % imshow (पौधे);
%save('plant_img.mat', plant');
हरे रंग में% प्लॉट स्थान
मैं = 5;
टूटना
अन्यथा
नौ_प्लस_टेन = 19;
समाप्त
समाप्त
नौ_प्लस_टेन = 21;
जबकि नौ_प्लस_टेन == 21% नीला - वोडर
अगर नीला_माध्य> नीला_दहलीज && हरा_माध्य < हरा_दहलीज && सफेद_माध्य < सफेद_दहलीज && लाल_माध्य < लाल_दहलीज
r.moveDistance(-.1)
a = msgbox ('पानी का एक स्रोत मिल गया है, स्थान प्लॉट किया गया है');
विराम(2)
हटाएं (ए)
[y3, Fs3] =ऑडियोरेड ('z_speak3.wav');
ध्वनि (y3, Fs3);
%woder = r.getImage; %imshow(वोडर)
%save('water_img.mat', वोडर)
%प्लॉट स्थान नीले रंग में
मैं = 5;
टूटना
अन्यथा
नौ_प्लस_टेन = 19;
समाप्त
समाप्त
नौ_प्लस_टेन = 21;
जबकि नौ_प्लस_टेन == 21% सफेद - एलियंस मोनकाएस
अगर सफेद_माध्य> सफेद_दहलीज && नीला_मीन < नीला_दहलीज && हरा_मीन < हरा_दहलीज
[y5, Fs5] =ऑडियोरेड ('z_speak5.wav');
ध्वनि (y5, Fs5);
विराम(3)
r.setDriveVelocity(0,.5)
[ys, Fss] = audioread('z_scream.mp3');
ध्वनि (वाईएस, एफएसएस);
विराम(3)
आर.स्टॉप
% एलियन = r.getImage; % imshow (विदेशी);
% सेव ('एलियन_आईएमजी.मैट', एलियन);
मैं = 5;
टूटना
अन्यथा
नौ_प्लस_टेन = 19;
समाप्त
समाप्त
अगर मैं == 5
ए = 1; %कोण घुमाता है
टी = 9; % बड़े लूप को समाप्त करें
मैं = 0;
समाप्त
समाप्त
चरण 6: इसे चलाएं
सभी कोड लिखे जाने के बाद, सभी को एक फ़ाइल और वॉइला में संयोजित करें! आपका रूंबा बॉट अब पूरी तरह कार्यात्मक होगा और विज्ञापन के अनुसार काम करेगा! हालाँकि, ब्लूटूथ नियंत्रण या तो एक अलग फ़ाइल में होना चाहिए या %% के साथ शेष कोड से अलग होना चाहिए।
अपने रोबोट का उपयोग करके आनंद लें !!
सिफारिश की:
रास्पबेरी पाई का उपयोग कर मार्स रोवर: 5 कदम
रास्पबेरी पाई का उपयोग कर मार्स रोवर: प्रिय सभी महान शिक्षार्थी, मैं मार्स रोवर के बारे में जानने के लिए हमेशा उत्सुक रहता हूं, जिसमें 6 पहिए होते हैं जो मंगल की सभी सतह पर जा सकते हैं और पृथ्वी से चीजों का पता लगा सकते हैं। मैं भी अपने लैपटॉप पर बैठकर चीजों को एक्सप्लोर करना चाहता हूं। तो अब मैं इसे बनाने का सही समय बताता हूँ और
रास्पबेरी पाई - ओपनसीवी ऑब्जेक्ट ट्रैकिंग के साथ स्वायत्त मार्स रोवर: 7 कदम (चित्रों के साथ)
रास्पबेरी पाई - ओपनसीवी ऑब्जेक्ट ट्रैकिंग के साथ ऑटोनॉमस मार्स रोवर: रास्पबेरी पाई 3 द्वारा संचालित, ओपन सीवी ऑब्जेक्ट रिकग्निशन, अल्ट्रासोनिक सेंसर और गियर डीसी मोटर्स। यह रोवर किसी भी ऐसी वस्तु को ट्रैक कर सकता है जिसके लिए उसे प्रशिक्षित किया गया है और किसी भी इलाके में आगे बढ़ सकता है
रूंबा बॉट द बुलिडर: 5 कदम (चित्रों के साथ)
रूंबा बॉट द बुलिडर: बॉट द बिल्डर एक रूमबा है, जिसमें "ग्रैबर्स" सामने से जुड़ी वस्तुओं को इधर-उधर करने में सक्षम होगी। इसके साथ कोड एक जीयूआई बॉक्स के साथ पहला आंदोलन रिकॉर्ड करने के लिए सेट है जिसे आप अपने माउस के क्लिक से नियंत्रित कर सकते हैं। आफ्टर
मार्स रूंबा प्रोजेक्ट UTK: 4 चरण
मार्स रूंबा प्रोजेक्ट यूटीके: अस्वीकरण: यह केवल तभी काम करेगा जब रूमबा को हर विशिष्ट तरीके से स्थापित किया गया हो, यह निर्देशयोग्य टेनेसी छात्रों के विश्वविद्यालय द्वारा उपयोग किए जाने के लिए बनाया गया था और स्थानीय स्तर पर रूमबा स्थापित करने के लिए इस कोड का उपयोग किया जाता है। लिखा है और
अंतरिक्ष यात्री-सहायक रूंबा: 4 कदम
एस्ट्रोनॉट-असिस्टिंग रूम्बा: यह प्रोजेक्ट iRobot क्रिएट वर्जन 2 पर रास्पबेरी पाई 3 का उपयोग करके बनाया गया है। MATLAB का उपयोग रोबोट को इसके सेंसर और कैमरे का उपयोग करके विशिष्ट निर्देशों का पालन करने के लिए प्रोग्राम करने के लिए किया जाता है। सेंसर और कैमरों का उपयोग विशिष्ट कार्यों को करने के लिए किया जाता है