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

ה- RADbot: 7 שלבים
ה- RADbot: 7 שלבים

וִידֵאוֹ: ה- RADbot: 7 שלבים

וִידֵאוֹ: ה- RADbot: 7 שלבים
וִידֵאוֹ: How to Make a Trading Bot Part 3 2024, אוֹקְטוֹבֶּר
Anonim
ה- RADbot
ה- RADbot

פרויקט של ג'קסון ברייק, טיילר מק'קובינס וג'ייקוב ת'אלר עבור EF 230

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

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

שלב 1: רכשו חלקים וחומרים נחוצים

רכשו חלקים וחומרים נחוצים
רכשו חלקים וחומרים נחוצים
רכשו חלקים וחומרים נחוצים
רכשו חלקים וחומרים נחוצים
רכשו חלקים וחומרים נחוצים
רכשו חלקים וחומרים נחוצים

מה אתה צריך כדי להתחיל (תמונות ממוקמות לפי סדר הרישום)

1. רומבה אחת (כל דגם חדש יותר)

2. מונה אחד של גייגר-מולר

3. פטל פטל אחד

4. מצלמת לוח אחת עם שקע USB

5. כבל מיקרו USB אחד ל- USB

6. כבל USB אחד ל- USB

7. מדגם אחד רדיואקטיבי של פעילות מספקת (~ 5μSv ומעלה)

8. מחשב אחד עם מותקן Matlab

9. דבק (עדיף סרט דביק להסרה קלה)

שלב 2: הגדרת המצלמה ומונה גייגר-מולר

הגדרת המצלמה ומונה גייגר-מולר
הגדרת המצלמה ומונה גייגר-מולר

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

שלב 3: התחבר ל- Roomba שלך וצור קוד חיישן אור

התחבר ל- Roomba שלך וצור קוד חיישן אור
התחבר ל- Roomba שלך וצור קוד חיישן אור

ראשית, הורד את ארגז הכלים Roomba של אתר EF 230, וודא להכניס אותו לתיקיות שצוינו. כדי להתחבר לרומבה שלך, פשוט התייחס למדבקה המצורפת ל- Raspberry Pi והזן "r = roomba (x)" בחלון הפקודה, ללא מרכאות, והיכן x מייצג את המספר של הרומבה. הרומבה צריך לנגן מנגינה, ולחצן הניקוי צריך להציג טבעת ירוקה סביבו. התחל את הקוד שלך במשפט "while", והתייחס לחיישני האור כפי שהם מופיעים ברשימת החיישנים. פתח את רשימת החיישנים על ידי הקלדת "r.testSensors" בחלון הפקודה.

בהתבסס על צבע האובייקט שלנו, הקובע כמה אור מוחזר, קבעו את הדרישות לביטוי ה- while שיבוצע כפונקציה>. במקרה שלנו, הגדרנו את חיישן האור הקדמי כדי להפעיל את הקוד בהצהרת ה- while אם הקריאה בחיישני התאורה השמאלית או הימנית הייתה> 25. עבור הצהרת ההפעלה, הגדר את מהירות הרומבה להאט על ידי הקלדת "r.setDriveVelocity (x, y)" כאשר x ו- y הם מהירות הגלגלים השמאליים והימניים בהתאמה. הכנס משפט "אחר", כך שהרומבה לא יאט עבור ערכים לא מוגדרים, והזן שוב את פקודת מהירות הכונן שנקבעה, למעט במהירות שונה. סיימו את הצהרת ה- while עם "סיום". קטע קוד זה יגרום לרומבה להתקרב לאובייקט, ולהאט ברגע שהוא יגיע לטווח מסוים כדי למזער את ההשפעה.

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

שלב 4: צור קוד באמפר

צור קוד באמפר
צור קוד באמפר

כשהרומבה מאט, הוא ימזער את ההשפעה שיש לו על האובייקט, אם כי לא עד כדי כך שהוא לא מפעיל את הפגוש הפיזי. עבור קטע קוד זה, התחל שוב בלולאת "while" והגדר את ביטויו כנכון. עבור המשפט, הגדר את המשתנה T שווה לפלט של הפגוש, או 0 או 1, עבור שקר ואמיתי. אתה יכול להשתמש ב- "T = r.getBumpers" לשם כך. T ייצא כמבנה. הזן משפט "אם", והגדר את הביטוי שלה לתשתית T.front שווה ל -1, והגדר את המשפט להגדיר את מהירות הכונן ב -0, באמצעות "r.setDriveVelocity (x, y)" או "r.stop ". הזן "הפסקה" כדי שהרומבה יוכל לזוז לאחר שהתנאי בקוד הבא מתקיים. הוסף "אחר", והגדר את הצהרתו כדי להגדיר את מהירות הנסיעה למהירות השיוט הרגילה של הרומבה.

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

שלב 5: צור קוד לקריאת מסך מונה, פרש אותו ונסוג מהמקור

צור קוד לקריאת מסך מונה, פרש אותו ונסוג מהמקור
צור קוד לקריאת מסך מונה, פרש אותו ונסוג מהמקור

בלב הפרויקט שלנו עומד מונה Geiger-Muller וקטע הקודים הבא משמש לקביעת המשמעות של הנתונים על המסך באמצעות המצלמה. בהתחשב במסך הדלפק שלנו שמשנה את צבעו בהתאם לפעילות המקור, נגדיר את המצלמה לפרש את צבע המסך. התחל את הקוד שלך על ידי הגדרת משתנה השווה לפקודה "r.getImage". המשתנה יכיל מערך תלת מימד של ערכי צבע של התמונה שצילמה באדום, ירוק וכחול. הגדר משתנים השווים לממוצעים של מטריצות הצבעים המתאימות האלה באמצעות הפקודה "ממוצע (ממוצע (img1 (:,:, x)))" "כאשר x הוא מספר שלם מ -1 עד 3. 1, 2 ו -3 מייצגים אדום, ירוק ו כחול בהתאמה. כמו כל הפקודות שהוזכרו, אין לכלול מרכאות.

יש להשהות את התוכנית למשך 20 שניות באמצעות "השהה (20)", כך שהמונה יוכל לקבל קריאה מדויקת של המדגם ולאחר מכן להתחיל משפט "אם". צפצפנו Roomba מספר פעמים באמצעות "r.beep" לפני שהצגנו תפריט עם הטקסט "Radioisotope found! זהירות!" ניתן לבצע זאת באמצעות הפקודה "waitfor (helpdlg ({'texthere'})". לאחר לחיצה על אישור, Roomba ימשיך לעקוב אחר שאר הקוד בהצהרת "if". יש לסובב את Roomba סביב המדגם באמצעות שילוב של הפקודות "r.moveDistance" ו- "r.turnAngle". הקפד לסיים את משפט if שלך עם "end".

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

שלב 6: צור קוד חיישן צוק

צור קוד חיישן צוק
צור קוד חיישן צוק

כדי ליצור קוד לשימוש בחיישני המצוק המובנים של Roomba, התחל בלולאת "while" והגדר את הביטוי שלו כנכון. הגדר משתנה שיהיה שווה ל- "r.getCliffSensors", וזה יגרום למבנה. התחל משפט "אם", והגדר את המשתנים "X.leftFront" ו- "X.rightFront" מהמבנה להיות גדול מכמה ערך שנקבע מראש, כאשר "X" הוא המשתנה שבחרת בפקודה "r.getCliffSensors" ל- להיות שווה ל. במקרה שלנו, השתמשנו ב- 1000, כפי שפיסת נייר לבן שימשה לצוק, וככל שהחיישנים התקרבו, הנייר, הערכים גדלו עד הרבה יותר, והבטיחו שהקוד יבוצע רק כאשר יתגלה צוק.. הוסף את הפקודה "הפסקה" לאחר מכן, ולאחר מכן הכנס משפט "אחר". עבור הצהרת "אחר", שתבוצע אם לא יתגלה צוק, הגדר את מהירות ההנעה למהירות השיוט הנורמלית עבור כל גלגל. אם הרומבה אכן מזהה צוק, ה"הפסקה "תבוצע ואז הקוד מחוץ ללולאת ה- while יבוצע. לאחר הצבת "סוף" ללולאה "אם" ו- "בעוד", הגדר את הרומבה לנוע לאחור באמצעות הפקודה מרחק הזזה. על מנת להזהיר אסטרונאוטים כי צוק נמצא בסמוך, הגדר את מהירות ההנעה של כל גלגל, x ו- y בפקודת מהירות הנסיעה, להיות a ו- a, כאשר a הוא מספר ממשי. זה יגרום לרומבה להסתובב ולהתריע על האסטרונאוט על המצוק.

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

שלב 7: סיכום

סיכום
סיכום

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

-צוות EF230 RADbot

מוּמלָץ: