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

הוקינג בוט: 5 שלבים
הוקינג בוט: 5 שלבים

וִידֵאוֹ: הוקינג בוט: 5 שלבים

וִידֵאוֹ: הוקינג בוט: 5 שלבים
וִידֵאוֹ: ✅️ Cut and sew pants in🔥 [5] simplified steps ❤️ 2024, יולי
Anonim
Image
Image
בנה את בוט ההוקינג שלך
בנה את בוט ההוקינג שלך

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

שלב 1: בנה את בוק ההוקינג שלך

כל החלקים הנדרשים נמצאים במערך הבסיסי EV3 Lego MINDSTORMS למעט החיישן הקולי (עיניו) אשר יש לרכוש בנפרד.

שלב 2:

תמונה
תמונה

הקוד לבוט הוקינג נכתב כולו בפייתון 3. ניתן להוריד קובץ תמונה לאתחול להפעלת פייתון בתוך סביבת לינוקס דביאן ב- Hawking Bot מאתר ev3dev. ניתן להוריד את הקוד להפעלת בוט הוקינג מכאן. כל הקוד כלול בתוך קובץ מחלקה כך שתוכל להשתמש בשיטות הקיימות או אפילו לשנות אותן אם תרצה.

צפה בסרטון זה עם הוראות מפורטות כיצד להגדיר את Debian Linux ו- Python3 ברובוט שלך. למרות שזה מיועד במיוחד להתקנת Mac זה עדיין יהיה שימושי לקבל הבנה כללית של התהליך. זוהי עבודה בעיצומה. החיישן הקולי לפעמים אינו אמין וזה דורש קוד חכם יותר כדי לזהות 'חריגים'. הייתי רוצה לראות תרומות של אחרים כדי להפוך את הקוד ליעיל יותר ופחות מועד לשגיאות.

שלב 3: הכינו פאונד סאונד משלך

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

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

שמור את soundbite שלך כקובץ מונו wav כ- SH6, SH7, … SH11, SH12 וכן הלאה.

להלן מספר דוגמאות שיצרתי על פי השיטה לעיל.

שלב 4: טיפים וטריקים

טיפים וטריקים
טיפים וטריקים
טיפים וטריקים
טיפים וטריקים

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

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

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

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

שלב 5: הצעות לשיפורים, עדכונים ורעיונות עתידיים

עכשיו כשבנית בהצלחה את הרובוט שלך אתה רוצה לקחת אותו לשלב הבא. תוכל לשפר את שיטת MotionDetector. כרגע, לעתים קרובות כל כך הוא מקבל קריאה לא נכונה. אתה יכול לראות את הקריאות בפועל על ידי disA ו- disB (בחלק התחתון של בלוק השיטה). הקריאה הלא נכונה בדרך כלל בולטת מקריאות אחרות, כך שתוכל לכתוב אלגוריתם כדי לעצור את הרובוט להגיב לקריאה לא נכונה.

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

מה לגבי לגרום לרובוט ללמוד על הסביבה שלו? ניתן להשיג זאת בגישה של השכן הקרוב ביותר k או אולי ברשת עצבית. לבנת EV3 בעלת כוח עיבוד מוגבל למרות שהיא תומכת ב- Numpy. אלטרנטיבה תהיה BrickPi שתאפשר לך להפעיל ספריית AI כמו Tensorflow אך הכוונה במדריך זה הייתה להשתמש בערכת Lego EV3 MINDSTORMS ללא צורך ברכישת פריטים נוספים יקרים מלבד החיישן הקולי.

עם זאת, גישת למידה מחדש של השכנים הקרובים ביותר ל k- אמורה לפעול על לבני EV3 וזה האלגוריתם המוצע. אני משאיר לך למצוא יישום עובד או לזהות בעיות:

למידת חיזוק עבור בוק הוקינגס

הרעיון הוא ש -7 הקריאות USS מקודדות לווקטור ו -10 כפות הראש האחרונות משמשות ליצירת וקטור רציף של 70 ערכים. הקריאות הראשונות אינן שלמות ולכן יתמלאו באפסים. כל ערך מכיל את ערך המרחק מ- USS. זהו וקטור המדינה s. המערכת מאפשרת 1000 כניסות. לאחר מכן הערך הישן ביותר יוחלף וערכי הגיל עבור כל זוג s-r יופחתו באחד.

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

זה יוצר 3 טבלת מצב גדול-שכר (s-r) עבור כל שלוש הפעולות ימינה, ישר קדימה ושמאלה-ייתכן שיהיה מהירויות איטיות ומהירות לכל פעולה. לאחר מכן יהיו לנו 6 פעולות ו- 6 טבלאות s-r לחיפוש.

בכל פעם שנרשמת מצב חדש זה מושווה לטבלאות, מרחק אוקלידי (או מדד דומה) משמש לאיתור השכן הקרוב ביותר. זה לא ידורג אלא סף t מוגדר לקבל את המדינה כדומה מאוד, להחליף את המצב הקיים ולעדכן לקבלת הפרס הגבוה ביותר ולבצע את הפעולה הנלווית א. אם זה לא דומה (d> t) הזן זוג s-r חדש עבור כל פעולה א. אם יש קשר בין פעולות עבור s-r (לכולם יש אותו פרס) בחר באופן אקראי אך הדבר אינו נפוץ וניתן להשמיט אותו.

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

הטבלה נראית בערך כך: כניסה לא - וקטור מדינה - פרס על פעולה 1 - פרס על פעולה 2 - פרס על פעולה 3.

אני מניח שהיישום בפועל יהיה מסובך אבל צריך להיות המאמץ. בהצלחה!

מוּמלָץ: