विषयसूची:

Roomba MATLAB प्रोजेक्ट: 5 कदम
Roomba MATLAB प्रोजेक्ट: 5 कदम

वीडियो: Roomba MATLAB प्रोजेक्ट: 5 कदम

वीडियो: Roomba MATLAB प्रोजेक्ट: 5 कदम
वीडियो: TOP 5: Best Robot Vacuum 2023 2024, जुलाई
Anonim
रूमबा MATLAB प्रोजेक्ट
रूमबा MATLAB प्रोजेक्ट

मार्स रोवर के लिए नासा की वर्तमान योजना यह है कि वह एक डेटा कलेक्टर हो और मंगल के चारों ओर घूमे, मिट्टी के नमूने एकत्र करके पृथ्वी पर वापस लाए ताकि वैज्ञानिक यह देख सकें कि ग्रह पर कोई पिछले जीवन रूप थे या नहीं। इसके अतिरिक्त, रोवर वैज्ञानिकों को छवियों को वापस भेजता है, ताकि वे रोवर को नेविगेट करने में मदद कर सकें और किसी भी समस्या को ठीक कर सकें।

हमारी परियोजना के लिए हमारे समूह का विचार रोवर के लिए वही करना है जो नासा रोवर के रूप में है जो 2020 में पृथ्वी छोड़ देगा, लेकिन इसके लिए भूमि के भूगोल का मानचित्रण भी करना होगा। रूंबा चट्टानों को महसूस करने और गिरने से पहले खुद को रोकने में सक्षम होगा, और फिर बैक अप, मोड़ और अपना पाठ्यक्रम बदल देगा ताकि वह गिर न जाए और क्षतिग्रस्त न हो। हमारी परियोजना में एकीकृत हमारा अन्य विचार यह है कि रूमबा उन स्थलों को प्लॉट करने में सक्षम हो जो इसे देखता है, और हर बार लूप समाप्त होने पर एक प्लॉट दिखाता है और इसका कोर्स चलाया जाता है।

यह निर्देश किसी और के लिए है जो अपने रूमबा के लिए उसी प्रकार का कोड बनाना चाहते हैं।

चरण 1: चरण 1: आवश्यक सामग्री

चरण 1: आवश्यक सामग्री
चरण 1: आवश्यक सामग्री
चरण 1: आवश्यक सामग्री
चरण 1: आवश्यक सामग्री

आपको चाहिये होगा:

  1. एक रूमबा
  2. मतलब
  3. रूमबा चलाने के लिए यह फाइल
  4. एक सपाट सतह
  5. "चट्टान" के रूप में कार्य करने के लिए एक टेबल सतह

चरण 2: चरण 2: रूमबा के लिए कोड सेट करना/कोड प्राप्त करना

चरण 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: प्लॉटिंग

चरण 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 ब्रेक एंड एंड% कैच% रोब.स्टॉप% एंड

सिफारिश की: