Back to Top
robot image

קבוצת RoBIU

קבוצת RoBIU (ר"ת: Robotics team of Bar Ilan University) היא קבוצה שבה השתתפתי במסגרת הרובוקאפ.

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

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

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

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

קטע קול מתוך התחרות, במשחק נגד קבוצת TH-MOS מסין-
קטע הקול הוא בחלק שהרובוט של קבוצת RoBIU בדרך להבקיע שער:


המסע בדרך לתחרות במקסיקו:

קבוצת Team RoBIU התחלקה ל-6 תת קבוצות, כל אחת אחראית על תת תחום אחר ברובוט:

ראייה

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

הרובוט עצמו מצוייד במצלמה, ותהליך עיבוד התמונה נעשה על פני השקופיות (פריימים) שמתקבלות מהמצלמה.

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

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

לוקליזציה

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

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

הליכה

מטרת ההליכה הייתה בהינתן (x,y) מסויים של מיקום הרובוט ללכת ל-(x,y) אחר על פני המגרש. ההליכה של הרובוט נעשתה ע"י הנעת המנועים בצירי x,y,z.

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

התנהגות חלוץ

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

התנהגות השוער

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

האלגוריתם היה מבוסס על רגרסיה ליניארית פשוטה (שיטת ה-Least Squares) לחיזוי תנועת הכדור עבור 2 משתנים בלתי תלויים (x,y) כפונקציה של הזמן.

תקשורת בין רובוטים

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

העברת המידע נעשתה ע"י שימוש בפרוטוקול UDP, שמתאים לאפליקציות זמן אמת, לשם העברת המידע בין הרובוטים.