תוכן עניינים:

רובוט סיור של מאדים: 4 שלבים
רובוט סיור של מאדים: 4 שלבים

וִידֵאוֹ: רובוט סיור של מאדים: 4 שלבים

וִידֵאוֹ: רובוט סיור של מאדים: 4 שלבים
וִידֵאוֹ: אתגר - אל תדברו עם סירי ב-3 בלילה 2024, יולי
Anonim
רובוט סיור של מאדים
רובוט סיור של מאדים

מדריך זה הוא מדריך צעד אחר צעד לתכנות ולפיקוד על רובוט הסיור של מאדים.

כדי להתחיל, יש להשיג את רשימת החומרים הבאים: יצירת iRobot טעונה בהתאמה אישית על ידי מכללת Tickle of Eningeering University of Tennessee, רשת אלחוטית המחוברת ל- Raspberry Pi ב- iRobot, UTK iRobot מטען, מסוג Wifi מחשב עם גישה ל- MATLAB והאינטרנט.

שלב 1: ארגז הכלים של Roomba

ארגז כלים Roomba
ארגז כלים Roomba

פתח את MATLAB וצור תיקייה חדשה לקבצי הקוד שישמרו מהפרויקט שלך. ב- MATLAB, פתח סקריפט חדש והפעל את הקוד שלהלן. לאחר הפעלת התסריט, הוסף את התיקיה החדשה לספרייה שבה MATLAB מחפש קבצים.

קוד:

function roombaInstallclc; רשימת קבצים % להתקנת קבצים = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % מיקום להתקנה מתוך options = weboptions ('CertificateFilename', ''); % אמרו לו להתעלם מדרישות אישורים שרת = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'התקנת/עדכון Roomba'; % תכלית תצוגה וקבלת הודעת אישור = {'תוכנית זו תוריד את קבצי EF 230 Roomba האלה:' '' strjoin (files, '') '' 'לתיקייה זו:' '' cd '' 'האם ברצונך להמשיך? '}; ביפ; yn = questdlg (הנחיה, … dlgTitle, … 'כן', 'לא', 'כן');

אם ~ strcmp (yn, 'כן'), חזור; סוֹף

% get רשימת הקבצים הקיימים existent_files = files (cellfun (@exist, files)> 0); אם ~ isempty (eksisterende_קבצים) % ודא שזה באמת בסדר להחליף אותם בקשה = {'אתה מחליף את הקבצים האלה:' '' strjoin (קיים_קבצים, '') '' 'אישור להחליף?' }; ביפ; yn = questdlg (הנחיה, … dlgTitle, … 'כן', 'לא', 'כן'); אם ~ strcmp (yn, 'כן'), חזור; סוף סוף

% הורד את הקבצים cnt = 0; עבור i = 1: אורך (קבצים) f = קבצים {i}; disp (['הורדה' ו]); נסה url = [שרת f]; websave (f, url, אופציות); % הוסיפו אפשרויות למניעת טעויות אבטחה cnt = cnt + 1; catch disp (['שגיאה בהורדה' f]); דמה = [f '.html']; אם קיים (דמה, 'קובץ') == 2 מחק (דמה) סוף סוף

if cnt == length (files) msg = 'ההתקנה הצליחה'; waitfor (msgbox (msg, dlgTitle)); else msg = 'שגיאת התקנה - ראה חלון פקודה לפרטים'; waitfor (errordlg (msg, dlgTitle)); סוֹף

סוף %roombaInstall

שלב 2: הכנה לחיבור

מתכונן להתחבר
מתכונן להתחבר
מתכונן להתחבר
מתכונן להתחבר

חבר את המיקרו- USB הבולט מהרובוט ליציאה התחתונה של ה- Raspberry Pi. ואז בחלק העליון של הרומבה, לחץ בו זמנית על לחצני העגינה והנקודה עד שהנורה ברומבה מתעמעמת. אתה אמור לשמוע סולם אלקטרוני מהרומבה ברגע שאתה משחרר.

שלב 3: התחברות לרובוט

מתחבר לרובוט
מתחבר לרובוט

פתח את הרשתות הזמינות במחשב שלך ובחר את הרשת הקיימת בין המחשב ל- Raspberry Pi. בתיקייה הנוכחית של MATLAB, לחץ באמצעות לחצן העכבר הימני על תיקיית הפרויקט הנוכחית שלך ובחר את ארגז הכלים של roomba שהורד בשלב 1 והוסף לנתיב. ברשת המיועדת לחיבורי Pi מרובים, ציין את הרובוט שלך על ידי יצירת אובייקט מסוג Roomba. ראה דוגמה למטה

אם יש לך Roomba שהוקצה למספר 7, הזן את הדברים הבאים:

r = roomba (7)

זכור כי משתנה זה מוקצה כעת לרומבה, כל פקודה הניתנת לרובוט חייבת להיות מובלת על ידי המשתנה שהוקצה.

שלב 4: קוד

קוד
קוד

drive.google.com/drive/folders/1OVR5oTHUsn…

שמור את כל קבצי ה- m באמצעות הקישור שלמעלה בתיקייה הנתונה שבה התוכנית הראשית תופעל. הקישור צריך להיות פתוח לכל מי שיש לו את הקישור. פתח סקריפט חדש בתיקייה הנוכחית והפעל את mycontrolprogram.m כפי שניתן לראות להלן:

תכנית mycontrolprogram (r) גלובלית m m = mobiledev; emailInit (); ריצה = 1; ספירת הגלובלית העולמית f = 0; f = r; direc direc גלובלי = 0; r.getAngle; r.getDistance; curLoc גלובלי curLoc = [0, 0]; pts גלובלי pts = אפסים (1, 2, 2); ידני = נכון; graphObs (1); v = 0.15; בעוד הספירה <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); אחרת direc = direc + r.getAngle; manualDrive (); סוף סוף figSend (); סוֹף

כעת על הרובוט לבצע את עבודתו המעוצבת.

מוּמלָץ: