विषयसूची:
- चरण 1: चरण 1: आवश्यक सामग्री
- चरण 2: चरण 2: रूमबा के लिए कोड सेट करना/कोड प्राप्त करना
- चरण 3: चरण 3: क्लिफ सेंसर/एलईडी लाइट्स की स्थापना
- चरण 4: चरण 4: बाधाओं की जाँच
- चरण 5: चरण 5: प्लॉटिंग
वीडियो: Roomba MATLAB प्रोजेक्ट: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
मार्स रोवर के लिए नासा की वर्तमान योजना यह है कि वह एक डेटा कलेक्टर हो और मंगल के चारों ओर घूमे, मिट्टी के नमूने एकत्र करके पृथ्वी पर वापस लाए ताकि वैज्ञानिक यह देख सकें कि ग्रह पर कोई पिछले जीवन रूप थे या नहीं। इसके अतिरिक्त, रोवर वैज्ञानिकों को छवियों को वापस भेजता है, ताकि वे रोवर को नेविगेट करने में मदद कर सकें और किसी भी समस्या को ठीक कर सकें।
हमारी परियोजना के लिए हमारे समूह का विचार रोवर के लिए वही करना है जो नासा रोवर के रूप में है जो 2020 में पृथ्वी छोड़ देगा, लेकिन इसके लिए भूमि के भूगोल का मानचित्रण भी करना होगा। रूंबा चट्टानों को महसूस करने और गिरने से पहले खुद को रोकने में सक्षम होगा, और फिर बैक अप, मोड़ और अपना पाठ्यक्रम बदल देगा ताकि वह गिर न जाए और क्षतिग्रस्त न हो। हमारी परियोजना में एकीकृत हमारा अन्य विचार यह है कि रूमबा उन स्थलों को प्लॉट करने में सक्षम हो जो इसे देखता है, और हर बार लूप समाप्त होने पर एक प्लॉट दिखाता है और इसका कोर्स चलाया जाता है।
यह निर्देश किसी और के लिए है जो अपने रूमबा के लिए उसी प्रकार का कोड बनाना चाहते हैं।
चरण 1: चरण 1: आवश्यक सामग्री
आपको चाहिये होगा:
- एक रूमबा
- मतलब
- रूमबा चलाने के लिए यह फाइल
- एक सपाट सतह
- "चट्टान" के रूप में कार्य करने के लिए एक टेबल सतह
चरण 2: चरण 2: रूमबा के लिए कोड सेट करना/कोड प्राप्त करना
फाइलों को इनपुट करते ही आपकी स्क्रीन इस तरह दिखेगी।
चरण 3: चरण 3: क्लिफ सेंसर/एलईडी लाइट्स की स्थापना
यह कोड आपके रूमबा को बताएगा कि किस कोण से मुड़ना है, बैटरी की जानकारी की जांच करें, अपने रूमबा को बताएं कि कितनी तेजी से जाना है, और रूमबा के कैमरे के माध्यम से किसी व्यक्ति की जांच करने के लिए। यदि यह किसी व्यक्ति की पहचान करता है, तो यह बीप भी करेगा, और एक चट्टान पर जाने से पहले खुद को रोक देगा।
% रोब.सेटएलईडीडिजिट्स ('') x = 0 का प्रयास करें; वाई = 0; थीटा = 0; बाधा = ; चक्र = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; रोब.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go% चेक फॉर पर्सन अगर AA_checkperson(rob) rob.beep end% चेक क्लिफ सेंसर अगर AA_cliffcheck(rob)) रोब.स्टॉप रोब.सेटएलईडीडिजिट्स ('क्लिफ') पॉज (0.5) बाधा (चक्र) = 2; AA_cliffbeep(rob) % बैक अप एंड टर्न रोब.moveDistance(-.15) rob.turnAngle(30) end
चरण 4: चरण 4: बाधाओं की जाँच
यह कोड अपने आस-पास की वस्तुओं की जांच के लिए रूमबा प्राप्त करेगा, और यह सुनिश्चित करने के लिए टक्कर सेंसर की जांच करेगा कि इससे पहले कि वह खुद को नुकसान पहुंचाए।
% चेक लाइट सेंसर अगर AA_lightcheck(rob) rob.stop rob.setLEDDigits('Wall') पॉज़ (0.5) बाधा (चक्र) = 1; %Wall AA_wallbeep(rob)% बैक अप एंड टर्न रोब.moveDistance(-.15) rob.turnAngle(30) एंड% चेक बम्प सेंसर अगर AA_bumpcheck(rob) rob.stop rob.setLEDDigits('Wall') पॉज़ (0.5) बाधा (चक्र) = १; %Wall AA_wallbeep(rob) % बैक अप एंड टर्न रोब.moveDistance(-.15) rob.turnAngle(30) end % यदि कोई नहीं अगर खाली (बाधा) बाधा (चक्र) = 0; अन्य लंबाई (बाधा) <चक्र बाधा (चक्र) = 0; समाप्त
चरण 5: चरण 5: प्लॉटिंग
यह कोड आपके रूमबा को यह बताने के लिए कहेगा कि वह अपनी यात्रा के दौरान क्या सामना करता है। रूमबा के रुकने के बाद ऐसा प्लॉट दिखाई देगा।
% स्थिति प्राप्त करें d = rob.getDistance; अगर चक्र == 1 थीटा (चक्र) = 0; x(चक्र) = d.*cosd(थीटा(चक्र)); x y(साइकिल) = d.*sind(theta(cycle)) में यात्रा की गई कुल दूरी का %; y और थीटा (साइकिल) = थीटा (साइकिल -1) + rob.getAngle; x(चक्र) = d.*cosd(थीटा(चक्र)) + x(चक्र-1); x y(साइकिल) = d.*sind(theta(cycle)).*d + y(cycle-1) में यात्रा की गई कुल दूरी का %। y अंत में% कुल जिला यात्रा की %Break condition if rob.getButtons.clean break end %Increment cycle cycle = cycle + 1; एंड रोब.स्टॉप फॉर आई = 1: साइकिल अगर बाधा (i) == 1% वॉल प्लॉट (x(i), y(i), 'मार्कर', 'स्क्वायर', 'मार्करएजकलर', 'आर') अन्य बाधा (i) == 2% क्लिफ प्लॉट (x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') एंड टेक्स्ट (.9, 0.9, sprintf('Square = Wall \nसर्कल = क्लिफ'), 'इकाइयां', 'सामान्यीकृत') एंड% डिस्ट्रेस सिग्नल पर होल्ड करें जबकि ट्रू रोब.बीप पॉज (3) अगर rob.getButtons.clean ब्रेक एंड एंड% कैच% रोब.स्टॉप% एंड
सिफारिश की:
डोपामाइन बॉक्स - माइक बॉयड के समान एक प्रोजेक्ट - नॉट बीइंग माइक बॉयड: 9 कदम
डोपामाइन बॉक्स | माइक बॉयड के समान एक प्रोजेक्ट - नॉट बीइंग माइक बॉयड: मुझे एक चाहिए! मुझे एक की ज़रूरत है! मैं एक विलंबकर्ता हूँ! खैर, मुझे एक डोपामिन बॉक्स चाहिए… बिना प्रोग्राम के। कोई आवाज नहीं, सिर्फ शुद्ध इच्छा
Arduino 7 सेगमेंट डिस्प्ले प्रोजेक्ट के साथ डिजिटल लूडो डाइस: 3 कदम
Arduino 7 सेगमेंट डिस्प्ले प्रोजेक्ट के साथ डिजिटल लूडो डाइस: इस प्रोजेक्ट में, जब भी हम पुश बटन दबाते हैं, तो 1 से 6 तक की संख्या को यादृच्छिक रूप से प्रदर्शित करने के लिए 7 सेगमेंट डिस्प्ले का उपयोग किया जाता है। यह सबसे अच्छे प्रोजेक्ट्स में से एक है जिसे बनाने में हर कोई आनंद लेता है। 7 सेगमेंट डिस्प्ले के साथ काम करने का तरीका जानने के लिए यहां क्लिक करें: -7 सेगमेंट
Arduino+Blynk प्रोजेक्ट कंट्रोलिंग बजर: 8 कदम
Arduino+Blynk Project Controlling Buzzer: Blynk का उपयोग IoT को बहुत सुविधाजनक तरीके से संभव बनाने के लिए किया जाता है। इस परियोजना में, मैं वायरलेस संचार करने के लिए किसी ब्लूटूथ या वाईफाई मॉड्यूल का उपयोग नहीं कर रहा हूं। यह Blynk एप्लिकेशन का उपयोग करके संभव है जो आपको अपना स्वयं का एप्लिकेशन डिज़ाइन करने में मदद कर सकता है
साइड प्रोजेक्ट: जल शुद्धता परीक्षक: 5 कदम
साइड प्रोजेक्ट: वाटर प्योरिटी टेस्टर: यह प्रोजेक्ट मिस बर्बावी के साथ मेरे प्रिंसिपल्स ऑफ इंजीनियरिंग क्लास में मेरे पाठ्यक्रम का एक हिस्सा था। उसने हमें एक उचित परियोजना प्रस्ताव के साथ आने के लिए $ 50 के बजट के साथ आवंटित किया, कुछ ऐसा जो प्राप्त किया जा सकता है, फिर भी हमारी क्षमताओं को चुनौती देता है
MATLAB के साथ Roomba: 4 कदम (चित्रों के साथ)
MATLAB के साथ Roomba: यह प्रोजेक्ट MATLAB और एक iRobot Create2 प्रोग्राम योग्य रोबोट का उपयोग करता है। MATLAB के अपने ज्ञान का परीक्षण करके, हम छवियों की व्याख्या करने और संकेतों का पता लगाने के लिए Create2 को प्रोग्राम करने में सक्षम हैं। रोबोट की कार्यक्षमता मुख्य रूप से इस बात पर निर्भर करती है कि