विषयसूची:
वीडियो: रूमबा एक्सप्लोरर: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
MATLAB और iRobot के Create2 रोबोट का उपयोग करके, यह प्रोजेक्ट किसी अज्ञात स्थान के विभिन्न क्षेत्रों का पता लगाएगा। हमने खतरनाक इलाके में पैंतरेबाज़ी करने में मदद करने के लिए रोबोट पर सेंसर लगाए हैं। संलग्न रास्पबेरी पाई से तस्वीरें और वीडियो फीड प्राप्त करके, हम रोबोट के सामने आने वाली बाधाओं को निर्धारित करने में सक्षम थे, और उन्हें वर्गीकृत किया जाएगा।
भागों और सामग्री
इस परियोजना के लिए, आपको आवश्यकता होगी
-एक कंप्यूटर
MATLAB का नवीनतम संस्करण (इस परियोजना के लिए MATLAB R2018b का उपयोग किया गया था)
- रूमबाइंस्टॉल टूलबॉक्स
-iRobot का Create2 रोबोट
कैमरा के साथ रास्पबेरी पाई
चरण 1: आरंभीकरण और सेंसर
किसी भी प्रोग्रामिंग को शुरू करने से पहले, हमने रूमबा इंस्टाल टूलबॉक्स डाउनलोड किया, जिसने रोबोट के विभिन्न घटकों तक पहुंच की अनुमति दी।
प्रारंभ में, हमने किसी भी रोबोट को इनिशियलाइज़ करने के लिए एक GUI बनाया। ऐसा करने के लिए, आपको इनपुट के रूप में रोबोट की संख्या टाइप करनी होगी। यह हमारे प्रोग्राम को रोबोट तक चलाने की अनुमति देगा हमने रोबोट को कई इलाकों में युद्धाभ्यास करने के लिए काम किया है। हमने क्लिफ सेंसर्स, लाइट बम्प सेंसर्स और फिजिकल बम्प सेंसर्स को लागू किया, उनके आउटपुट का उपयोग करके रोबोट की गति और दिशा बदलने के लिए यात्रा की। जब छह लाइट बंप सेंसर में से कोई भी किसी वस्तु का पता लगा रहा है, तो उनके द्वारा आउटपुट मूल्य कम हो जाएगा, जिससे पूर्ण गति टकराव से बचने के लिए रोबोट की गति कम हो जाएगी। जब रोबोट अंत में एक बाधा से टकराता है, तो भौतिक बंप सेंसर शून्य से अधिक मान की रिपोर्ट करेगा; इस वजह से, रोबोट रुक जाएगा, इसलिए आगे कोई टकराव नहीं होगा और अधिक कार्यों को क्रियान्वित किया जा सकता है। क्लिफ सेंसर के लिए, वे अपने आसपास के क्षेत्र की चमक को पढ़ेंगे। यदि मान 2800 से अधिक है, तो हमने निर्धारित किया कि रोबोट स्थिर जमीन पर और सुरक्षित होगा। लेकिन, यदि मान ८०० से कम है, तो क्लिफ सेंसर तुरंत एक चट्टान का पता लगाएंगे, ताकि गिर न जाए। बीच में कोई भी मूल्य पानी का प्रतिनिधित्व करने के लिए निर्धारित किया गया था और इससे रोबोट अपनी कार्रवाई बंद कर देगा। उपरोक्त सेंसर का उपयोग करके, रोबोट की गति को बदल दिया जाता है जिससे हम बेहतर ढंग से यह निर्धारित कर सकते हैं कि कोई खतरा है या नहीं।
नीचे कोड है (MATLAB R2018b से)
%% आरंभीकरण
dlgPrompts = {'रूमबा नंबर'};
dlgTitle = 'अपना रूमबा चुनें';
dlgDefaults = {''};
ऑप्ट। आकार बदलें = 'चालू';
dlgout = inputdlg(dlgPrompts, dlgTitle, 1, dlgDefaults, opts) % विंडो बनाएं जो उपयोगकर्ता को अपना रूमबा नंबर इनपुट करने के लिए प्रेरित करे
n=str2double(dlgout{1});
आर = रूमबा (एन); % लाइट बम्प सेंसर से उपयोगकर्ता निर्दिष्ट रूमबा %% गति निर्धारण को प्रारंभ करता है जबकि सही s=r.getLightBumpers; % लाइट बम्प सेंसर प्राप्त करें
lbumpout_1=extractfield(s, 'बाएं'); % सेंसर के संख्यात्मक मान लेता है और उन्हें अधिक उपयोगी बनाता है lbumpout_2=extractfield(s, 'leftFront');
lbumpout_3=extractfield(s, 'leftCenter');
lbumpout_4=extractfield(s, 'rightCenter');
lbumpout_5=extractfield(s, 'rightFront');
lbumpout_6=extractfield(s, 'right');
lbout=[lbumpout_1, lbumpout_2, lbumpout_3, lbumpout_4, lbumpout_5, lbumpout_6] % मानों को मैट्रिक्स में बदलता है
sLbump = सॉर्ट (एलबाउट); % प्रकार मैट्रिक्स को निम्नतम मान से निकाला जा सकता है
LowLbump = sLbump (1); speed=.05+(lowLbump)*.005% न्यूनतम मान का उपयोग करते हुए, जो करीब बाधाओं का प्रतिनिधित्व करता है, गति निर्धारित करने के लिए, उच्च गति जब कुछ भी पता नहीं चला
r.setDriveVelocity (गति, गति)
समाप्त
% भौतिक बंपर
b=r.getBumpers; %आउटपुट सत्य, असत्य
bsen_1=extractfield(b, 'बाएं')
bsen_2=extractfield(b, 'दाएं')
bsen_3=extractfield(b, 'सामने')
bsen_4=extractfield(b, 'लेफ्टव्हीलड्रॉप')
bsen_5=extractfield(b, 'rightWheelDrop')
धक्कों=[bsen_1, bsen_2, bsen_3, bsen_4, bsen_5] tbump=sum(bums)
अगर tbump>0 r.setDriveVelocity(0, 0)
समाप्त
% चट्टान सेंसर
c=r.getCliffSensors %% 2800 सुरक्षित, अन्यथा पानी
csen_1=extractfield(c, 'बाएं')
csen_2=extractfield(c, 'दाएं')
csen_3=extractfield(c, 'लेफ्टफ्रंट')
csen_4=extractfield(c, 'राइटफ्रंट')
चट्टानें = [csen_1, csen_2, csen_3, csen_4]
ऑर्डक्लिफ = सॉर्ट (चट्टानें)
अगर ऑर्डक्लिफ(1) <2750
r.setDriveVelocity(0, 0)
अगर चट्टान<800
डिस्प 'क्लिफ'
अन्यथा
डिस्प 'पानी'
समाप्त
आर.टर्नएंगल(45)
समाप्त
चरण 2: डेटा प्राप्त करना
फिजिकल बम्प सेंसर के ट्रिप हो जाने के बाद, रोबोट बाधा की तस्वीर लेने के लिए अपने रास्पबेरी पाई को बोर्ड पर लागू करेगा। तस्वीर लेने के बाद, पाठ पहचान का उपयोग करके यदि चित्र में पाठ है, तो रोबोट यह निर्धारित करेगा कि बाधा क्या है और बाधा क्या कहती है।
img = r.getImage; आईएमशो (आईएमजी);
imwrite(img, 'imgfromcamera.jpg')
फोटो = इमरीड ('imgfromcamera.jpg')
ओसीआर परिणाम = ओसीआर (फोटो)
मान्यता प्राप्त टेक्स्ट = ocrResults. Text;
आकृति;
imshow(फोटो) टेक्स्ट (२२०, ०, मान्यता प्राप्त टेक्स्ट, 'बैकग्राउंड कलर', [१ १ १]);
चरण 3: मिशन खत्म करना
जब रोबोट निर्धारित करता है कि बाधा घर है, तो वह अपना मिशन पूरा करेगा और घर पर रहेगा। मिशन के पूरा होने के बाद, रोबोट एक ई-मेल अलर्ट भेजेगा कि वह घर लौट आया है, और यह उन छवियों को भेजेगा जो उसने अपनी यात्रा के दौरान ली थीं।
% ईमेल भेज रहा हूं
setpref ('इंटरनेट', 'SMTP_Server', 'smtp.gmail.com');
setpref ('इंटरनेट', 'ईमेल', '[email protected]'); % मेल खाता setpref से भेजने के लिए ('इंटरनेट', 'SMTP_Username', 'प्रेषक ईमेल दर्ज करें'); % प्रेषक उपयोगकर्ता नाम setpref ('इंटरनेट', 'SMTP_Password', 'प्रेषक पासवर्ड दर्ज करें'); % प्रेषक पासवर्ड
सहारा = java.lang. System.getProperties; props.setProperty('mail.smtp.auth', 'true'); props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');
Sendmail ('ईमेल प्राप्त करना दर्ज करें', 'Roomba', 'Roomba घर लौट आया है !!', 'imgfromcamera.jpg') % मेल खाता जिसे भेजना है
रोबोट तो समाप्त हो गया है।
चरण 4: निष्कर्ष
शामिल MATLAB प्रोग्राम को पूरी स्क्रिप्ट से अलग किया गया है जिसका उपयोग रोबोट के साथ किया गया था। अंतिम मसौदे में, यह सुनिश्चित करने के लिए कि बंपर लगातार चल रहे हैं, प्रारंभिक चरण को छोड़कर, सभी कोड को थोड़ी देर के लूप में रखना सुनिश्चित करें। इस कार्यक्रम को उपयोगकर्ता की आवश्यकताओं के अनुरूप संपादित किया जा सकता है। हमारे रोबोट का विन्यास दिखाया गया है।
*रिमाइंडर: यह मत भूलो कि रोबोट और ऑन बोर्ड रास्पबेरी पाई के साथ बातचीत करने के लिए MATLAB के लिए रूमबा इंस्टाल टूलबॉक्स की आवश्यकता है।
सिफारिश की:
रोबोट अरुडिनो एक्सप्लोरर "नुवे": 10 कदम
रोबोट अरुडिनो एक्सप्लोरडोर "न्यूवे": से सबे क्यू पैरा एल सेर ह्यूमनो अस्तित्व सीमाएं, एस्टो टैम्बिएन अबरका ला एक्सप्लोरैसिओन डे सीर्टोस टेरेनोस ओ ज़ोनस, एक्वेलस कैसी इम्पॉसिबल्स ओ इम्पॉसिबल।
रोबोट एक्सप्लोरर: १३ कदम
रोबोट एक्सप्लोरर: कोमो इंजेनिएरोस एन मेकाट्रोनिका से नोस पाइड क्यू सीमोस कैपेसेस डे पोडर रियलिज़र प्रोयेक्टोस क्यू कॉम्बिनेशन डिस्टिनटास फैकल्टेड्स कोमो ला मेकेनिका, ला इलेक्ट्रॉनिका वाई ला प्रोग्रामेशियन। ए कॉन्टिन्यूअसियन से एक्सप्लिकारा लॉस पासोस ए सेगुइर पैरा ला रियलिज़ेसियन डे अन
इंटरनेट एक्सप्लोरर के लिए कीबोर्ड शॉर्टकट !!: 4 कदम
इंटरनेट एक्सप्लोरर के लिए कीबोर्ड शॉर्टकट !!: यह निर्देश आपको इंटरनेट एक्सप्लोरर के लिए कुछ उपयोगी कीबोर्ड शॉर्टकट दिखाएगा, कृपया मेरे चैनल को सब्सक्राइब करें धन्यवाद
रूमबा स्काउट एक्सप्लोरर: 8 कदम
रूमबा स्काउट एक्सप्लोरर: सबसे बहुप्रतीक्षित और भारी शोध वाली अमेरिकी परियोजनाओं में से एक के रूप में, मार्स रोवर परियोजनाएं जांच के एकमात्र उद्देश्य के लिए उच्च-तकनीकी स्वायत्त प्रणालियों के निरंतर बढ़ते उत्पादन में मानवीय उपलब्धियां बन गई हैं
बस समुद्री डाकू 3EEPROM एक्सप्लोरर बोर्ड: 5 कदम
बस पाइरेट 3EEPROM एक्सप्लोरर बोर्ड: यदि आपके पास हैक ए डेज़ बस पाइरेट्स में से एक है, तो आप इसके साथ क्या करते हैं? 3EEPROM एक्सप्लोरर बोर्ड (हम इसे THR-EE-PROM कहते हैं) के साथ 1-वायर, I2C, और SPI EEPROM के बारे में जानें। EEPROM एक प्रकार की मेमोरी चिप है जो निरंतर शक्ति के बिना डेटा संग्रहीत करती है