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

LEGO רובוט נוסע במבוך: 9 שלבים
LEGO רובוט נוסע במבוך: 9 שלבים

וִידֵאוֹ: LEGO רובוט נוסע במבוך: 9 שלבים

וִידֵאוֹ: LEGO רובוט נוסע במבוך: 9 שלבים
וִידֵאוֹ: צוות הצלה 8: מיילו ומלי מזעיקים את צוות הצלה | ניק ג'וניור 2024, יולי
Anonim
Image
Image
בסיס הרובוט
בסיס הרובוט

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

חלקים

  1. סט LEGO Mindstorms EV3
  2. חיישן קולי LEGO Mindstorms EV3. הוא אינו כלול במערך EV3.
  3. קרטון גלי למבוך. שתי קרטונים אמורים להספיק.
  4. פיסת קרטון דקה שתסייע לייצב כמה פינות וקירות.
  5. הדבק והדבק לחיבור חתיכות קרטון יחד.
  6. מעטפת כרטיס ברכה אדומה לזיהוי יציאת המבוך.

כלים

  1. סכין שירות לחיתוך הקרטון.
  2. סרגל פלדה המסייע לתהליך החיתוך.

שיטת פתרון מבוך

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

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

  1. אם אפשר לפנות שמאלה, עשה זאת.
  2. אחרת, לך ישר אם אפשר.
  3. אם זה לא יכול ללכת שמאלה או ישר, פנה ימינה, במידת האפשר.
  4. אם אף אחד מהאמור לעיל אינו אפשרי, זה חייב להיות מבוי סתום. תסתובב.

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

שלבים לבניית הרובוט

למרות ש LEGO Mindstorms EV3 הוא מאוד תכליתי, הוא מאפשר לא יותר מאחד מכל סוג של חיישן המחובר לבנה אחת. שני בריקים או יותר יכולים להיות כבולים כשרשרת חיננית, אך לא רציתי לקנות לבנה נוספת, ולכן השתמשתי בחיישנים הבאים (במקום שלושה חיישנים אולטראסוניים): חיישן אינפרא אדום, חיישן צבע וחיישן קולי. זה הסתדר היטב. זוגות התמונות להלן מראים כיצד לבנות את הרובוט. התמונה הראשונה של כל זוג מציגה את החלקים הדרושים, והתמונה השנייה מציגה את אותם החלקים המחוברים זה לזה.

שלב 1: בסיס הרובוט

בסיס הרובוט
בסיס הרובוט

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

שלב 2: החלק העליון של הבסיס

ראש הבסיס
ראש הבסיס
ראש הבסיס
ראש הבסיס
ראש הבסיס
ראש הבסיס

שלושת השלבים הבאים הם בחלקו העליון של בסיס הרובוט, חיישן הצבעים והכבלים, כולם כבלים בגודל 10 אינץ '(26 ס מ)

שלב 3: חיישנים אינפרא אדום ואולטרא סאונד

חיישנים אינפרא אדום ואולטרא סאונד
חיישנים אינפרא אדום ואולטרא סאונד
חיישנים אינפרא אדום ואולטרא סאונד
חיישנים אינפרא אדום ואולטרא סאונד

לאחר מכן, חיישן האינפרא אדום (בצד שמאל של הרובוט) והחיישן הקולי (מימין). כמו כן, 4 הפינים לחיבור הבריק למעלה.

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

שלב 4: כבלים

כבלים
כבלים

חבר את הבריק וחבר את הכבלים כדלקמן:

  • יציאה B: מנוע גדול שמאלי.
  • יציאה C: מנוע גדול ימני.
  • יציאה 2: חיישן קולי.
  • יציאה 3: חיישן צבע.
  • יציאה 4: חיישן אינפרא אדום.

שלב 5: השלב האחרון בבניית הרובוט: קישוט

השלב האחרון בבניית הרובוט: קישוט
השלב האחרון בבניית הרובוט: קישוט
השלב האחרון בבניית הרובוט: קישוט
השלב האחרון בבניית הרובוט: קישוט
השלב האחרון בבניית הרובוט: קישוט
השלב האחרון בבניית הרובוט: קישוט

הכנפיים והסנפירים מיועדים לקישוט בלבד.

שלב 6: פסאודוקוד לתוכנית

  1. המתן 3 שניות ואמר "לך".
  2. הפעל את הרובוט נע ישר קדימה.
  3. אם אפשר לפנות שמאלה (כלומר, אם החיישן האינפרא אדום אינו מרגיש אובייקט בקרבת מקום), אמור "שמאלה" ולך שמאלה.
  4. המשך קדימה כ -15 סנטימטר (6 אינץ ') כדי להימנע מפנייה שמאלה. הסיבה היא שאחרי שהרובוט הסתובב, החיישן יראה את החלל הארוך שממנו הגיע הרגע, והרובוט יחשוב שהוא צריך לפנות שמאלה, וזה לא הדבר הנכון לעשות. חזור לשלב 2.
  5. אם לא ניתן לפנות שמאלה, בדוק מה רואה חיישן הצבע לפני הרובוט.
  6. אם אין צבע (כלומר אין אובייקט), חזור לשלב 2.
  7. אם הצבע אדום, זוהי היציאה. עצרו את הרובוט, הפעלו מהומות ועצרו את התוכנית.
  8. אם הצבע חום (כלומר קרטון חום קדימה), עצור את הרובוט.

    1. אם אפשר לפנות ימינה (כלומר, אם החיישן האולטראסוני אינו מרגיש אובייקט בקרבת מקום), אמור "ימינה" ופנה ימינה. חזור לשלב 2.
    2. אם לא ניתן לפנות ימינה, אמור "אה-אה", גבה כ -12 אינץ '(5 אינץ') והפוך. חזור לשלב 2.

שלב 7: תכנית

תכנית
תכנית

ל- LEGO Mindstorms EV3 יש שיטת תכנות מאוד נוחה מבוססת אייקונים. בלוקים מוצגים בתחתית מסך התצוגה במחשב וניתן לגרור ולשחרר אותם לחלון התכנות כדי לבנות תוכנית. צילום המסך מציג את התוכנית לפרויקט זה. הבלוקים מתוארים בשלב הבא.

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

ניתן לחבר את EV3 בריק למחשב באמצעות כבל USB, Wi-Fi או Bluetooth. כאשר הוא מחובר ומופעל, הדבר מצוין בחלון קטן בפינה הימנית התחתונה של חלון EV3 במחשב. "EV3" בצד הימני ביותר הופך לאדום. כאשר תצוגה זו מוגדרת ל- Port View, היא מראה בזמן אמת מה כל חיישן מזהה. זה שימושי לניסויים.

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

שלב 8: חסימת תכניות

  1. החל מהצד השמאלי של התוכנית, בלוק ההתחלה קיים באופן אוטומטי בעת פיתוח תוכנית.
  2. הבא הוא בלוק המתנה, שייתן לנו 3 שניות למקם את הרובוט בכניסה למבוך, לאחר שיזם את התוכנית.
  3. בלוק קול גורם לרובוט להגיד "לך".
  4. בלוק לולאה מכיל את רוב התוכנית. יש להגדיל את התצוגה 4 או 5 פעמים ולהגדיל את בלוק הלולאה הזה כמעט עד לקצה הימני של קנבס התכנות לפני שתתחיל להכניס בלוקים. אפשר להקטין אותו אחר כך.
  5. הבלוק הראשון בתוך הלולאה הוא בלוק היגוי הזזה עם ההיגוי המוגדר לאפס וההספק ל 20. זה מתחיל את המנועים רצים ישר קדימה במהירות נמוכה. מהירות מהירה יותר תגרום לרובוט לזוז רחוק מדי כשהוא ממשיך קדימה תוך שהוא מדבר בשלבים הבאים.
  6. בלוק מתג במצב סמיכות חיישן אינפרא אדום בודק אם יש אובייקט רחוק יותר משווי 30. זה שווה ערך לכ -23 אינץ '(23 ס"מ) לקרטון חום. אם הערך גדול מ -30, אז הבלוקים 7, 8 ו -9 מבוצעים, אחרת התוכנית עוברת לגוש 10 להלן.
  7. בלוק קול גורם לרובוט לומר "שמאל".
  8. בלוק היגוי Move עם ערכת ההיגוי ל -45, הספק ל -20, סיבובים ל -1.26 ובלם בסוף מוגדר ל- True. זה גורם לרובוט לפנות שמאלה.
  9. בלוק היגוי העברה עם הגה לאפס, הספק מוגדר ל- 20, סיבובים מוגדרים ל -1.2, ובלם בסוף מוגדר כ- True. זה גורם לרובוט ללכת קדימה כ -15 סנטימטר (6 אינץ ') כדי להימנע מפנייה שמאלה.
  10. בלוק מתג במצב חיישן הצבע מודד מצב צבע בודק איזה צבע לפני הרובוט. אם אין צבע (כלומר אין אובייקט), אז התוכנית עוברת לסוף הלולאה. אם הצבע אדום, אז הבלוקים 11, 12 ו -13 מבוצעים. אם הצבע חום, התוכנית עוברת לגוש 14 להלן.
  11. בלוק היגוי הזזה במצב כיבוי להפסקת המנועים.
  12. בלוק סאונד משמיע מעריץ.
  13. בלוק הפסקת לולאה יוצא מהלולאה.
  14. בלוק היגוי הזזה במצב כיבוי להפסקת המנועים.
  15. בלוק מתג בחיישן האולטרסאונד השווה את מצב אינצ'ים למרחקים בודק אם יש אובייקט רחוק יותר מ -20 אינץ '(8 אינץ'). אם זה יותר מ 8 אינץ ', אז Blocks16 ו- 17 מבוצעים, אחרת התוכנית עוברת לבלוק 18 להלן.
  16. בלוק קול גורם לרובוט להגיד "נכון".
  17. בלוק היגוי Move עם ערכת ההיגוי ל -55, הספק ל -20, סיבובים ל -1.1 ובלם בסוף מוגדר ל- True. זה גורם לרובוט לפנות ימינה.
  18. בלוק קול גורם לרובוט להגיד "אה-אה".
  19. בלוק טנק Move עם Power Left מוגדר ל- -20, Power Right מוגדר ל- -20, סיבובים מוגדרים ל- 1, ובלם בסוף מוגדר ל- True. זה גורם לרובוט לגבות כ- 12.5 סנטימטר (5 אינץ ') כדי לפנות מקום להסתובב.
  20. בלוק טנק Move עם Power Left מוגדר ל- -20, Power Right מוגדר ל- 20, סיבובים מוגדרים ל- 1.14, ובלם בסוף מוגדר ל- True. זה גורם לרובוט להסתובב.
  21. ביציאה מהלולאה נמצא בלוק תוכנית עצירה.

שלב 9: בנה מבוך

בנה מבוך
בנה מבוך
בנה מבוך
בנה מבוך
בנה מבוך
בנה מבוך

שתי קרטוני גלי גלי אמורים להספיק למבוך. הכנתי את קירות המבוך בגובה 5 אינץ '(12.5 ס מ), אך 10 אינץ' (10 אינץ ') אמורים לעבוד לא פחות אם חסר לך קרטון גלי.

ראשית, חתכתי מסביב לדפנות הקרטונים, 10 אינץ '(25 ס מ) מהתחתית. אחר כך חתכתי מסביב לקירות 5 סנטימטרים מהתחתית. זה מספק מספר קירות בגודל 5 אינץ '. כמו כן, חתכתי את תחתיות הקרטונים והשארתי כ- 2.5 סנטימטר מחובר לקירות ליציבות.

את החלקים השונים ניתן לחתוך ולהדביק או להדביק בכל מקום שצריך כדי ליצור את המבוך. צריך להיות מרווח של 12 אינץ '(30 ס מ) בין הקירות בכל שביל עם מבוי סתום. המרחק הזה נחוץ כדי שהרובוט יסתובב.

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

ביציאה יש מחסום אדום המורכב מחצי מעטפת כרטיס ברכה אדומה ובסיס עשוי 2 חתיכות קרטון דק, כפי שמוצג.

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

שיפורים עתידיים

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

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

סיכום לסיכום

זה היה פרויקט מהנה. אני מקווה שגם אתה מוצא את זה מעניין.

מוּמלָץ: