שלום לכולם,
לפניכם התרגיל המסכם לקורס רובוטיקה. התרגיל משלב אלמנטים מהתרגילים שהוגשו במהלך הסמסטר יחד עם כללים נוספים. תוכלו למצוא את העולם שבו יתבצע התרגיל בGITHUB בלינק: https://github.com/shaigivati/ros-project-cs-2020a/
בתרגיל הרובוט צריך לנווט באופן אוטונומי ולעבור דרך הנקודות הצבועות על הכביש לפי סדר נתון מראש (לדוגמא- כחול, ירוק, ורוד, אדום). הסדר ינתן כקלט משתנה בתחילת ההרצה.
יש לשמור על הנתיב הימני תוך המנעות מהתנגשות במכשולים וקירות. אם יש מכשול בדרך יש לעקוף אותו ולחזור מיד לנתיב. שימו לב שמיקום המכשולים יכול להשתנות ועליכם לאתר אותם באמצעות חיישני הרובוט בזמן אמת ולא באמצעות המיקום במפה. עליכם לערוך את המפה כך שמיקום המכשולים שכרגע על הנתיב לא יופיע בה אחרת תהיה לכם בעיה לנווט כאשר המכשולים ישנו מיקום.
על הכביש מסומנים גם קווי עצירה. בעת נסיעה ישר אפשר להתעלם מהם. בעת פנייה יש לעצור לפני הקו ורק אז להמשיך בנסיעה. את קווי העצירה יש לזהות באמצעות אלגוריתם ראייה חישובית ולא באמצעות מיקום.
לצורך הפרוייקט תוכלו להיעזר בחבילת הניווט על מנת למפות את העולם, לטעון את המפה לזכרון ולקבל את המיקום שלכם בו (amcl). תוכלו להשתמש בmove base, אולם יתכן וחבילה זו תפריע לכם לשמור על הנתיב כי לפחות בקונפיגורציה הנוכחית החבילה לא "רואה" מה שלא מגיב עם הלייזר. תצטרכו לפתור את הבעיה (בכתיבת קוד מתאים ו/או שינוי קונפיגורציה של החבילה) או לחילופין - תצטרכו לממש קונטרולרים לנסיעה בנתיב, לנסיעה במסלול ולהימנעות ממכשולים.
אופן הניקוד: מעבר בנקודת ציון מוגדרת בסדר הנכון- 20 נקודות. עקיפת מכשול ללא התנגשות וחזרה תקינה לנתיב- 3 נקודות- עד 10 נקודות. עצירה בקו עצירה- נקודה 1- עד 5 נקודות. התנגשות בקיר או מכשול- מינוס 2 נקודות - עד 10 נקודות אי עצירה בקו עצירה או עצירה לאחר הקו- מינוס נקודה עד 5 נקודות. זמן הכי טוב- 10, 7 ו5 נקודות לשלושת המקומות הראשונים.
בתאריך 26/2/2020 תתקיים תחרות בה כל קבוצה תריץ בתורה את הרובוט במסלול. כל הרובוטים ירוצו על אותו מחשב באותו סדר של נקודות ציון.
בהצלחה.