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

רובוט הליכה עצמי: 7 שלבים
רובוט הליכה עצמי: 7 שלבים

וִידֵאוֹ: רובוט הליכה עצמי: 7 שלבים

וִידֵאוֹ: רובוט הליכה עצמי: 7 שלבים
וִידֵאוֹ: עשר הנשים הכי גבוהות בעולם┃טופטן 2024, נוֹבֶמבֶּר
Anonim
רובוט הליכה עצמית
רובוט הליכה עצמית

מה הכנתי?

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

למה זה משמש?

● הוא משמש בצורה הטובה ביותר להדמיה של דפוסי ההליכה עבור AI ROBOT.

שלב 1: תרשים הזרימה

תרשים הזרימה
תרשים הזרימה

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

שלב 2: מרכיבים עיקריים מעורבים:

מכשירי חשמל

ארדואינו UNO (!)

חיישן קולי

מנועי סרוו

מודול בלוטות '

סִמוּל

Arduino IDE

Teraterm

מחברת Jupyter

אלגוריתם Q- למידה

שלב 3: מודול V1:

מודול V1
מודול V1

למידת חיזוק: באמצעות ANN (רשת עצבית מלאכותית) תכננו לאמן את הרובוט שלנו והגענו לשתי שיטות אפשריות.

אילוצים: כל רגל (מנוע סרוו) מוגבלת לתפוס רק 3 עמדות אפשריות 60, 90 & 120 מעלות. הנחות: אנו סבורים שתנועת בוט תהווה 4 מצבים (מצב הוא אוריינטציה מסוימת של כל ארבעת הסרווואים), כלומר יהיו 4 מצבים שונים של הרובוט בהם נשקול כ -4 שלבים בהתאמה ונותנים לנו מחזור תנועה אחד, ב שהבוט יזיז מרחק קדימה. מחזור זה יחזור על עצמו עד אינסוף כדי לשמור על הבוט בתנועה.

אבל הבעיה היחידה הייתה מספר האיטרציות שיש להעריך - יש לנו 3 כיוון אפשרי לכל מנוע ויש 4 מנועים שונים שהופכים אותו ל 3^4 = 81 מצבים בהם הרובוט יכול להתקיים בשלב אחד או במצב אחד. עלינו לבצע 4 צעדים שונים כדי להשלים תנועה מורכבת אחת, כלומר 81^4 = 43, 046, 721 צירופים אפשריים שיש לבדוק את היעילות המרבית עבור מחזור תנועה אחד. נניח שלוקח 5 שניות להכשיר מדינה אחת זה ייקח 6.8250 שנה להשלים את ההכשרה!

שלב 4: מודול V2:

אלגוריתם Q-learning

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

מתמטיקה של אלגוריתם: ישנם 81 מצבים אפשריים לכל שלב בו בוט יכול להיות, אנו קוראים למצבים אלה כמספרים מ -1 עד 81 ועכשיו מה שברצוננו לדעת הוא ערך המעבר, כלומר השינוי במיקום הרובוט (המרחק הנע) בזמן שהוא עובר ממצב אקראי s1 למצב s2 אחר (s1, s2 מאותם 81 מצבים). אנו יכולים לראות זאת כמטריצה בעלת 81 שורות ו -81 עמודות שבהן אלמנט מטריצה יהיה שווה לערך המרחק שממנו עבר בהתאמה למספר השורה והעמודה שלו. ערכים אלה יכולים להיות חיוביים או שליליים בהתאם לפעולת הרובוט במילה אמיתית. כעת נמצא לולאה סגורה של מצבים שבהם המרחק שהוא נוסע הוא תמיד חיובי, נעריך ערכי מטריצה 81x81 שהם 81^2 = 6561, עכשיו אם ניקח 5 שניות לאחסן את הערך הזה במטריצה אז זה יהיה קח 9.1125 שעות רק כדי ליצור מטריצה שלמה ולאחר מכן ניתן להבין בקלות לולאה של צעדים למיקסום יעילות התנועה.

שלב 5: מעורבות בעיות -

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

שלב 6: מודול A1 ו- A2:

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

שלב 7: קישור לסרטונים:

קישור לסרטונים
קישור לסרטונים

צעדים לתינוק:

זריקת אימון:

כמעט ישר:

סרטון רובוט רוקד:

סרטון סופי 0:

מוּמלָץ: