פרויקט robocup מצגת סופית
DESCRIPTION
פרויקט ROBOCUP מצגת סופית. מגישים: אופיר יוסף רועי זיגלר. תכן עניינים. מטרת הפרויקט מהלך העבודה ייצוג תמונה זיהוי הרובוטים והמגרש אלגוריתמים קצת קוד על קצה המזלג שליחת הנתונים לרובוט. מטרת הפרויקט. מטרת הפרויקט היא זיהויים של רובוטים המשחקים בכדור על פני מגרש. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/1.jpg)
פרויקטפרויקטROBOCUPROBOCUPמצגת סופיתמצגת סופית
::מגישיםמגישים
אופיר יוסףאופיר יוסף
רועי זיגלררועי זיגלר
![Page 2: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/2.jpg)
תכן ענייניםתכן עניינים
מטרת הפרויקטמטרת הפרויקט
מהלך העבודהמהלך העבודה
ייצוג תמונהייצוג תמונה
זיהוי הרובוטים והמגרשזיהוי הרובוטים והמגרש
אלגוריתמיםאלגוריתמים
קצת קוד על קצה המזלגקצת קוד על קצה המזלג
שליחת הנתונים לרובוטשליחת הנתונים לרובוט
![Page 3: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/3.jpg)
מטרת הפרויקטמטרת הפרויקט
מטרת הפרויקט היא זיהויים של רובוטים מטרת הפרויקט היא זיהויים של רובוטים המשחקים בכדור על פני מגרש.המשחקים בכדור על פני מגרש.
אמצעים: מצלמה עילית המשדרת אמצעים: מצלמה עילית המשדרת עיבוד הנתונים עיבוד הנתונים FRAME GRABBERFRAME GRABBER , ,לכרטיסלכרטיס
..PCPCנעשה ע"ג מחשב נעשה ע"ג מחשב
![Page 4: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/4.jpg)
ייצוג תמונהייצוג תמונה
כרטיס לוכד התמונה שאיתו אנו עובדים ברזולוציה כרטיס לוכד התמונה שאיתו אנו עובדים ברזולוציה פיקסלים בפריים וזאת פיקסלים בפריים וזאת 44**768768**576576מקסימאלית של מקסימאלית של
..RGBRGBבפורמט בפורמט
ייצוג הנתונים מתבצע בצורת מערך חד מימדי של ייצוג הנתונים מתבצע בצורת מערך חד מימדי של כאשר הסידור הפנימי במערך הינו כזה כאשר הסידור הפנימי במערך הינו כזה BYTEBYTEטיפוסי טיפוסי
לכל לכל BGRBGRשכל שלישית תאים סמוכים מייצגים את ה שכל שלישית תאים סמוכים מייצגים את ה פיקסל.פיקסל.
נוח לעבוד בפורמט זה מאחר ואנו שואפים לעבודה נוח לעבוד בפורמט זה מאחר ואנו שואפים לעבודה בזמן אמת וכל התמרה של המרחב תפגום במהירות בזמן אמת וכל התמרה של המרחב תפגום במהירות
העבודה.העבודה.
![Page 5: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/5.jpg)
מהלך העבודהמהלך העבודה
TOOLBOXTOOLBOXכתיבת קוד בתוכנת מטלב תוך שימוש בכתיבת קוד בתוכנת מטלב תוך שימוש בשל עיבוד תמונה.של עיבוד תמונה.
בחירת הקודים המתאימים ביותר ומימושם בשפת בחירת הקודים המתאימים ביותר ומימושם בשפת CC++++
שיפור ביצועי התוכנה ע"י אלגוריתמים ייעודים שיפור ביצועי התוכנה ע"י אלגוריתמים ייעודים המתאימים לחומרת הפרויקט הממומש.המתאימים לחומרת הפרויקט הממומש.
הרחבת התוכנה לתמיכה בריבוי שחקנים, סינון הרחבת התוכנה לתמיכה בריבוי שחקנים, סינון רעשים ברמה גבוהה.רעשים ברמה גבוהה.
מתן דגש על גמישות הקוד לשינוי מאפייני שחקנים מתן דגש על גמישות הקוד לשינוי מאפייני שחקנים וסביבת משחק.וסביבת משחק.
![Page 6: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/6.jpg)
MATLABMATLAB
![Page 7: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/7.jpg)
וסינון רעשי רקע וסינון רעשי רקעRGBRGBפירוק עפ"י פירוק עפ"י
![Page 8: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/8.jpg)
וסינון רעשי רקע וסינון רעשי רקעRGBRGBפירוק עפ"י פירוק עפ"י
אתחול המערכת ע"י שמירה תמונת המגרש אתחול המערכת ע"י שמירה תמונת המגרש לפני תחילת המשחק, ודגימת תנאי התאורה לפני תחילת המשחק, ודגימת תנאי התאורה
בסביבה.בסביבה.
הפחתת התמונה המקורית מהתמונה הנדגמת הפחתת התמונה המקורית מהתמונה הנדגמת FRAMEFRAMEבכל בכל
FRAMEFRAMEחיתוך עפ"י סף גמיש המחושב בכל חיתוך עפ"י סף גמיש המחושב בכל ..--RGBRGBלצבעי הלצבעי ה
![Page 9: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/9.jpg)
סינון רעשים ע"י פילטריםסינון רעשים ע"י פילטרים
![Page 10: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/10.jpg)
סינון נוסף ומציאת האובייקטים סינון נוסף ומציאת האובייקטים
..SOBELSOBELסינון בעזרת מסנן אופטימאלי סינון בעזרת מסנן אופטימאלי
וזיהוי אובייקטים וזיהוי אובייקטים labelinglabelingשימוש בפונקצית השימוש בפונקצית הע"פ גודל,צורה וצבע.ע"פ גודל,צורה וצבע.
שיוך האובייקטים שזוהו לשחקנים השונים , שיוך האובייקטים שזוהו לשחקנים השונים , לכדור ולגבולות המגרש.לכדור ולגבולות המגרש.
מציאת מרכז המסה של כל אובייקט שנמצא.מציאת מרכז המסה של כל אובייקט שנמצא.
בתמונה ניתן לראות את האובייקטים שזוהו ע"י בתמונה ניתן לראות את האובייקטים שזוהו ע"י נקודה במרכזם.נקודה במרכזם.
![Page 11: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/11.jpg)
רובוט ראשון חלק אחורי
רובוט ראשון חלק קדמי רובוט שני
חלק אחורי כדוררובוט שני חלק אחורי
תוצר סופיתוצר סופי
![Page 12: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/12.jpg)
HSVHSVניסיונות נוספים: מרחב ניסיונות נוספים: מרחב
ניתן לראות כי ניסיונות זיהוי ניתן לראות כי ניסיונות זיהוי במרחבים אחרים נכשלו.במרחבים אחרים נכשלו.
![Page 13: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/13.jpg)
CC++++
![Page 14: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/14.jpg)
++++CCהאלגוריתם הממומש ב האלגוריתם הממומש ב
דגימת המגרש לפני עליית השחקנים.דגימת המגרש לפני עליית השחקנים.
דגימת המגרש והפחתת התמונה המקורית.דגימת המגרש והפחתת התמונה המקורית.
סינון רעשי מצלמה והתאמת תאורה.סינון רעשי מצלמה והתאמת תאורה.
זיהוי גבולות המגרש.זיהוי גבולות המגרש.
של הצורות במגרש. של הצורות במגרש.RGBRGBחיתוך עפ"י סף חיתוך עפ"י סף
זיהוי שפות הצורות.זיהוי שפות הצורות.
![Page 15: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/15.jpg)
++++CCהאלגוריתם הממומש ב האלגוריתם הממומש ב )המשך()המשך(
לצורות כלומר שיוך לצורות כלומר שיוך LABELINGLABELINGביצוע ביצוע לאובייקטים.לאובייקטים.
חישוב גדלי האובייקטים.חישוב גדלי האובייקטים.
זיהוי השחקנים והכדור עפ"י הפרמטרים זיהוי השחקנים והכדור עפ"י הפרמטרים שחושבו לעיל ונתוני המשתמש לגבי השחקנים.שחושבו לעיל ונתוני המשתמש לגבי השחקנים.
חישוב זוויות מרכזי מסה ומיקום יחסי למגרש.חישוב זוויות מרכזי מסה ומיקום יחסי למגרש.
שידור הנתונים.שידור הנתונים.
![Page 16: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/16.jpg)
--LABELINGLABELINGאלגוריתם האלגוריתם ה
הבעיה:הבעיה: לאחד את הפיקסלים לאובייקטים שונים תוך שימת דגש על לאחד את הפיקסלים לאובייקטים שונים תוך שימת דגש על
סיבוכיות מינימאלית לשם שמירה על עבודה בזמן אמת.סיבוכיות מינימאלית לשם שמירה על עבודה בזמן אמת.
פתרון:פתרון: )אלגוריתם בסיבוכיות ליניארית הסורק את המערך )התמונה( אלגוריתם בסיבוכיות ליניארית הסורק את המערך )התמונה
לאחר זיהוי השפות, עד למציאת פיקסל שאינו משויך עדיין לאחר זיהוי השפות, עד למציאת פיקסל שאינו משויך עדיין לאובייקט, עובר על פיקסלים סמוכים, ומחליט בזמן אמת לאובייקט, עובר על פיקסלים סמוכים, ומחליט בזמן אמת
האם לשייכם לאובייקט הנוכחי.האם לשייכם לאובייקט הנוכחי.
קיימים אלגוריתמים רקורסיביים פשוטים לכתיבה אך הם אינם יעילים קיימים אלגוריתמים רקורסיביים פשוטים לכתיבה אך הם אינם יעילים )סיבוכיות ריבועית לכל הפחות( ומביאים למצב בו הקוד לא עובד בזמן אמת )סיבוכיות ריבועית לכל הפחות( ומביאים למצב בו הקוד לא עובד בזמן אמת
על כל פריים.על כל פריים.
![Page 17: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/17.jpg)
צורת אובייקט אפשריתצורת אובייקט אפשרית
לאחר זיהוי שפת הצורה לאחר זיהוי שפת הצורה )מצויין בצהוב( יש לשייך )מצויין בצהוב( יש לשייך
את כל שפת הצורה את כל שפת הצורה לאובייקט יחיד בצורה לאובייקט יחיד בצורה
יעילה ומהירה.יעילה ומהירה.בגוף הקוד מצוין הסבר בגוף הקוד מצוין הסבר מפורט של האלגוריתם.מפורט של האלגוריתם.
"צביעת" )שיוך( חלקו "צביעת" )שיוך( חלקו הפנימי של האובייקט הפנימי של האובייקט לצורכי חישוב גדלים לצורכי חישוב גדלים
וצורה.וצורה.
![Page 18: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/18.jpg)
סינון רעשי סביבהסינון רעשי סביבה
הבעיה:הבעיה: בשל אופי המשחק בו יתכנו הפרעות במהלכו נדרש בשל אופי המשחק בו יתכנו הפרעות במהלכו נדרש
לסננן להמשכו התקין של המשחק.לסננן להמשכו התקין של המשחק.
פתרון:פתרון: אלגוריתם המסנן אובייקטים הנמצאים בחלקם בתוך אלגוריתם המסנן אובייקטים הנמצאים בחלקם בתוך
המגרש ובחלקם מחוצה לו )כגון גפיים, מקלות וכו'(. המגרש ובחלקם מחוצה לו )כגון גפיים, מקלות וכו'(. אלגוריתם זה מאפשר למשתמש להיות במגע עם אלגוריתם זה מאפשר למשתמש להיות במגע עם
הרובוטים בזמן המשחק בלי לפגוע במהלכו כל עוד הרובוטים בזמן המשחק בלי לפגוע במהלכו כל עוד אינו מסתיר למצלמה העילית את השחקנים עצמם.אינו מסתיר למצלמה העילית את השחקנים עצמם.
![Page 19: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/19.jpg)
שחקנים וסביבת משחקשחקנים וסביבת משחק
סוגי סוגי 22הפרויקט תומך ב-הפרויקט תומך ב-..22XX22 ו ו11XX11משחק, משחק,
צבעי השחקנים שבהם צבעי השחקנים שבהם השתמשו הינם כבאיור.השתמשו הינם כבאיור.
גמישות הקוד מאפשרת גמישות הקוד מאפשרת לבחור צורות )עיגול ריבוע לבחור צורות )עיגול ריבוע
מתומן( וקונפיגורציות מתומן( וקונפיגורציות צבעים בקלות, כל עוד כל צבעים בקלות, כל עוד כל שחקן הינו שונה בפרמטר שחקן הינו שונה בפרמטר
אחד לפחות.אחד לפחות.
1X1
![Page 20: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/20.jpg)
קצת קוד על קצה המזלגקצת קוד על קצה המזלג
#define GAME2X2 #define GAME2X2 1 1
#define MAX_CAPTURE_SIZE #define MAX_CAPTURE_SIZE 768*576*4768*576*4
#define GLOB_THRESHOLD 400#define GLOB_THRESHOLD 400
#define OUTCOURT_COLOR 0#define OUTCOURT_COLOR 0
#define DIFF_COLOR#define DIFF_COLOR 2020
#define ROBOT_NUM#define ROBOT_NUM 1010
#define REAL_ROB 4#define REAL_ROB 4
#define MAX_DIST_SQR 64#define MAX_DIST_SQR 64
או או 11XX11קביעת סוג המשחק קביעת סוג המשחק 22XX22..
אפשרות לעבודה עם או בלי אפשרות לעבודה עם או בלי סינון רעשי סביבה.סינון רעשי סביבה.
אפשרות לעבודה ברזולוציות אפשרות לעבודה ברזולוציות שונה כתלות בלוכד התמונה.שונה כתלות בלוכד התמונה.
אפשרות לסינון רעשים שונה אפשרות לסינון רעשים שונה במצבי תאורה קיצוניים.במצבי תאורה קיצוניים.
אפשרות לשינוי גדלי אפשרות לשינוי גדלי האובייקטים בכדי שיתאימו האובייקטים בכדי שיתאימו
לגודל הרובוט הסופי.לגודל הרובוט הסופי.
![Page 21: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/21.jpg)
שליחת הנתונים לרובוטשליחת הנתונים לרובוט
הנתונים על מיקום הרובוטים נכתבים לפורט הנתונים על מיקום הרובוטים נכתבים לפורט חיצוניחיצוני
פורמט כתיבת הנתונים הינו גמיש וניתן לשינוי פורמט כתיבת הנתונים הינו גמיש וניתן לשינוי בקלותבקלות
כרגע נשלח מערך חד מימדי המציין את כרגע נשלח מערך חד מימדי המציין את ( וימיני ( וימיני YYגבולות המגרש עליון תחתון )על ציר גבולות המגרש עליון תחתון )על ציר
( לאחריו מיקומי הרובוטים ( לאחריו מיקומי הרובוטים XXשמאלי )על ציר שמאלי )על ציר ( ולבסוף מיקום ( ולבסוף מיקום XYXY, חלק אחורי, חלק אחוריXYXY)חלק קדמי )חלק קדמי
(.(.XYXYהכדור )הכדור )
![Page 22: פרויקט ROBOCUP מצגת סופית](https://reader035.vdocuments.mx/reader035/viewer/2022081420/568140be550346895dac8282/html5/thumbnails/22.jpg)
תודותתודות
בהנחיית יוחנן בהנחיית יוחנן VISLVISLהפרויקט נעשה במעבדה להפרויקט נעשה במעבדה לארז.ארז.
חלקים מהעבודה על הפרויקט בוצעו במעבדה חלקים מהעבודה על הפרויקט בוצעו במעבדה לרובוטיקה שם נמצא המגרש והרובוטים לרובוטיקה שם נמצא המגרש והרובוטים
בתמיכתם של קובי כוחי ואורלי וינגרזון.בתמיכתם של קובי כוחי ואורלי וינגרזון.