תוכן עניינים:
- שלב 1: אספקה
- שלב 2: הצהרת הבעיה
- שלב 3: שלט Bluetooth
- שלב 4: זיהוי השפעה
- שלב 5: זיהוי חיים
- שלב 6: הפעל אותו
וִידֵאוֹ: מאדים רומבה: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
מדריך זה ינחה אותך בכיוונים של הפעלת בוט ואקום Roomba הנשלט על ידי Raspberry Pi. מערכת ההפעלה בה נשתמש היא באמצעות MATLAB.
שלב 1: אספקה
מה תצטרך לאסוף כדי לבצע פרויקט זה:
- בוט שואב האבק של iRobot Create2 Roomba
- פאי פטל
- מצלמת פטל פי
- הגרסה האחרונה של MATLAB
- ארגז הכלים להתקנת Roomba עבור MATLAB
- יישום MATLAB למכשיר סלולרי
שלב 2: הצהרת הבעיה
הוטל עלינו להשתמש ב- MATLAB לפיתוח רובר שניתן להשתמש בו על מאדים על מנת לסייע למדענים באיסוף נתוני כוכבי הלכת. הפונקציות אליהם התייחסנו בפרויקט שלנו היו של שלט רחוק, זיהוי השפעות עצמים, זיהוי מים, זיהוי חיים ועיבוד תמונות. כדי להשיג הישגים אלה, קידדנו באמצעות פקודות ארגז הכלים של Roomba כדי לתפעל את הפונקציות הרבות של iRobot Create2 Roomba.
שלב 3: שלט Bluetooth
שקף זה יעבור בקוד כדי לשלוט בתנועת החדר באמצעות יכולות Bluetooth של מכשיר הטלפון החכם שלך. כדי להתחיל, הורד את אפליקציית MATLAB לסמארטפון שלך והיכנס לחשבון Mathworks שלך. לאחר הכניסה, עבור אל "עוד", "הגדרות", והתחבר למחשב שלך באמצעות כתובת ה- IP שלו. לאחר החיבור, חזור אל "עוד" ובחר "חיישנים". הקש על החיישן השלישי בסרגל הכלים העליון של המסך והקש על התחל. כעת, הסמארטפון שלכם הוא שלט רחוק!
הקוד הוא כדלקמן:
ואילו 0 == 0
השהה (.5)
PhoneData = M. Orientation;
Azi = PhoneData (1);
Pitch = PhoneData (2);
צד = PhoneData (3);
בליטות = r.getBumpers;
אם צד> 80 || צד <-80
r.stop
r.bep ('C, E, G, C^, G, E, C')
לשבור
צד אחר> 20 && צד <40
r.turnAngle (-5);
צד אחר> 40
r.turnAngle (-25);
elseif Side-40
r.turnAngle (5);
צד אחר <-40
r.turnAngle (25);
סוֹף
אם Pitch> 10 && Pitch <35
r.moveDistance (.03)
elseif Pitch> -35 && Pitch <-10
r.moveDistance (-. 03)
סוֹף
סוֹף
שלב 4: זיהוי השפעה
פונקציה נוספת שהטמענו הייתה לזהות את ההשפעה של הרומבה לאובייקט ולאחר מכן לתקן את הנתיב הנוכחי שלו. לשם כך, היינו צריכים להשתמש בתנאים עם הקריאות מחיישני הפגוש כדי לקבוע אם חפץ נפגע. אם הרובוט פוגע באובייקט, הוא יגבה.2 מטר ויסתובב בזווית שנקבעה על ידי איזו פגוש נפגע. לאחר שנפגע פריט, צץ תפריט המציג את המילה "אוף".
הקוד מוצג להלן:
ואילו 0 == 0
בליטות = r.getBumpers;
r.setDriveVelocity (.1)
אם bumps.left == 1
msgbox ('אוף!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.front == 1
msgbox ('אוף!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (90)
r.setDriveVelocity (.2)
elseif bumps.right == 1
msgbox ('אוף!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
elseif bumps.leftWheelDrop == 1
msgbox ('אוף!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.rightWheelDrop == 1
msgbox ('אוף!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
סוֹף
סוֹף
שלב 5: זיהוי חיים
קידנו מערכת לזיהוי חיים לקריאת צבעי האובייקטים שלפניה. שלושת סוגי החיים שאנו מקודדים להם הם צמחים, מים וחייזרים. לשם כך קידדנו את החיישנים לחישוב הערכים הממוצעים של אדום, כחול, ירוק או לבן. ערכים אלה הושוו לספים שהוגדרו באופן ידני כדי לקבוע את הצבע שהמצלמה מסתכלת עליו. הקוד גם ישרטט את הנתיב לאובייקט ויוצר מפה.
הקוד הוא כדלקמן:
t = 10;
i = 0;
בעוד t == 10
img = r.getImage; imshow (img)
השהה (0.167)
i = i + 1;
red_mean = ממוצע (ממוצע (img (:,:, 1)));
blue_mean = ממוצע (ממוצע (img (:,:, 3)));
green_mean = ממוצע (ממוצע (img (:,:, 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; %רוצים ערך זה בערך 100
nine_plus_ten = 21;
green_threshold = 125;
blue_threshold = 130;
white_threshold = 124;
red_threshold = 115;
בעוד nine_plus_ten == 21 %ירוק - חיים
אם green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('נמצא מקור חיים אפשרי, מיקום מפותל');
הפסקה (2)
מחק (א)
[y2, Fs2] = קריאת שמע ('z_speak2.wav');
צליל (y2, Fs2)
הפסקה (2)
%plant = r.getImage; %imshow (צמח);
%שמור ('plant_img.mat', plant ');
%מיקום החלקה בירוק
i = 5;
לשבור
אַחֵר
nine_plus_ten = 19;
סוֹף
סוֹף
nine_plus_ten = 21;
בעוד nine_plus_ten == 21 %כחול - woder
אם blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('נמצא מקור מים, מיקום משרטט');
הפסקה (2)
מחק (א)
[y3, Fs3] = קריאת שמע ('z_speak3.wav');
צליל (y3, Fs3);
%woder = r.getImage; %imshow (woder)
%שמור ('water_img.mat', woder)
מיקום החלקה בכחול
i = 5;
לשבור
אַחֵר
nine_plus_ten = 19;
סוֹף
סוֹף
nine_plus_ten = 21;
בעוד nine_plus_ten == 21 %לבנים - חייזרים monkaS
אם white_mean> white_threshold && blue_mean <blue_threshold && green_mean <green_threshold
[y5, Fs5] = קריאת שמע ('z_speak5.wav');
צליל (y5, Fs5);
הפסקה (3)
r.setDriveVelocity (0,.5)
[ys, Fss] = קריאת שמע ('z_scream.mp3');
צליל (ys, Fss);
הפסקה (3)
r.stop
% alien = r.getImage; %imshow (חייזרים);
% שמור ('alien_img.mat', alien);
i = 5;
לשבור
אַחֵר
nine_plus_ten = 19;
סוֹף
סוֹף
אם i == 5
a = 1; %מסובב את הזווית
t = 9; %מסיימים לולאה גדולה
i = 0;
סוֹף
סוֹף
שלב 6: הפעל אותו
אחרי שכל הקוד נכתב, שלבו את הכל לקובץ אחד וואלה! בוט Roomba שלך כעת יפעל באופן מלא ויפעל כפי שפורסם! עם זאת, פקד ה- Bluetooth צריך להיות בקובץ נפרד או להפריד משאר הקוד עם %%.
תהנה מהשימוש ברובוט שלך !!
מוּמלָץ:
מאדים רובר באמצעות פטל פטל: 5 שלבים
מאדים רובר באמצעות פטל פטל: יקיר כל הלומד הגדול, אני תמיד סקרן לדעת על מארס רובר, בעל 6 גלגלים שיכולים לעבור לכל שטח המאדים ולחקור דברים מכדור הארץ. אני גם רוצה לחקור את הדבר על ידי ישיבה על המחשב הנייד שלי. אז עכשיו אני חושב שהגיע הזמן הנכון לעשות את זה ו
Raspberry Pi - רובר מאדים אוטונומי עם מעקב אחר אובייקטים של OpenCV: 7 שלבים (עם תמונות)
Raspberry Pi - רובר מאדים אוטונומי עם מעקב אחר אובייקטים OpenCV: מופעל על ידי Raspberry Pi 3, זיהוי אובייקט CV פתוח, חיישנים אולטראסוניים ומנועי DC מכוונים. רובר זה יכול לעקוב אחר כל אובייקט שאליו הוא מאומן ולנוע בכל שטח
רובוט סיור של מאדים: 4 שלבים
רובוט סיור מאדים: מדריך זה הוא מדריך צעד אחר צעד לתכנות ולפיקוד על רובוט הסיור של מאדים. כדי להתחיל, יש להשיג את רשימת החומרים הבאים: iRobot טעון בהתאמה אישית של מכללת Tickle of Eningeering University of Ten
עשוי מאדים: 9 שלבים
עשוי ממאדים: פרויקט זה התחיל כאתגר עיצובי כאשר ידידי, ג'יי.אר סקוק (גיאולוג פלנטרי במכון SETI), סיפק לי חבורה של בדים בזלתיים כדי ליצור משהו אופנתי. בדים אלה היו עשויים מלבה וולקנית, שנכרה, נמסה
וויבו - בוט סיור מאדים: 7 שלבים (עם תמונות)
וויבו - בוט הסיור של מאדים: " וויבו " הוא שמו של ממשק בקרת הרובוט של דאסטן ורמט (משמאל) ואוסטין קלי (מימין) להצגת יריד פרויקט EF 230 רובוט