22
טטטטטט טטטטטטROBOCUP ROBOCUP טטטט טטטטט טטטט טטטטט טטטטטט טטטטטט: : טטטטט טטטט טטטטט טטטט טטטט טטטטט טטטט טטטטט

פרויקט ROBOCUP מצגת סופית

  • Upload
    ryu

  • View
    82

  • Download
    3

Embed Size (px)

DESCRIPTION

פרויקט ROBOCUP מצגת סופית. מגישים: אופיר יוסף רועי זיגלר. תכן עניינים. מטרת הפרויקט מהלך העבודה ייצוג תמונה זיהוי הרובוטים והמגרש אלגוריתמים קצת קוד על קצה המזלג שליחת הנתונים לרובוט. מטרת הפרויקט. מטרת הפרויקט היא זיהויים של רובוטים המשחקים בכדור על פני מגרש. - PowerPoint PPT Presentation

Citation preview

Page 1: פרויקט ROBOCUP מצגת סופית

פרויקטפרויקטROBOCUPROBOCUPמצגת סופיתמצגת סופית

::מגישיםמגישים

אופיר יוסףאופיר יוסף

רועי זיגלררועי זיגלר

Page 2: פרויקט ROBOCUP מצגת סופית

תכן ענייניםתכן עניינים

מטרת הפרויקטמטרת הפרויקט

מהלך העבודהמהלך העבודה

ייצוג תמונהייצוג תמונה

זיהוי הרובוטים והמגרשזיהוי הרובוטים והמגרש

אלגוריתמיםאלגוריתמים

קצת קוד על קצה המזלגקצת קוד על קצה המזלג

שליחת הנתונים לרובוטשליחת הנתונים לרובוט

Page 3: פרויקט ROBOCUP מצגת סופית

מטרת הפרויקטמטרת הפרויקט

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

אמצעים: מצלמה עילית המשדרת אמצעים: מצלמה עילית המשדרת עיבוד הנתונים עיבוד הנתונים FRAME GRABBERFRAME GRABBER , ,לכרטיסלכרטיס

..PCPCנעשה ע"ג מחשב נעשה ע"ג מחשב

Page 4: פרויקט ROBOCUP מצגת סופית

ייצוג תמונהייצוג תמונה

כרטיס לוכד התמונה שאיתו אנו עובדים ברזולוציה כרטיס לוכד התמונה שאיתו אנו עובדים ברזולוציה פיקסלים בפריים וזאת פיקסלים בפריים וזאת 44**768768**576576מקסימאלית של מקסימאלית של

..RGBRGBבפורמט בפורמט

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

לכל לכל BGRBGRשכל שלישית תאים סמוכים מייצגים את ה שכל שלישית תאים סמוכים מייצגים את ה פיקסל.פיקסל.

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

העבודה.העבודה.

Page 5: פרויקט ROBOCUP מצגת סופית

מהלך העבודהמהלך העבודה

TOOLBOXTOOLBOXכתיבת קוד בתוכנת מטלב תוך שימוש בכתיבת קוד בתוכנת מטלב תוך שימוש בשל עיבוד תמונה.של עיבוד תמונה.

בחירת הקודים המתאימים ביותר ומימושם בשפת בחירת הקודים המתאימים ביותר ומימושם בשפת CC++++

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

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

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

Page 6: פרויקט ROBOCUP מצגת סופית

MATLABMATLAB

Page 7: פרויקט ROBOCUP מצגת סופית

וסינון רעשי רקע וסינון רעשי רקעRGBRGBפירוק עפ"י פירוק עפ"י

Page 8: פרויקט ROBOCUP מצגת סופית

וסינון רעשי רקע וסינון רעשי רקעRGBRGBפירוק עפ"י פירוק עפ"י

אתחול המערכת ע"י שמירה תמונת המגרש אתחול המערכת ע"י שמירה תמונת המגרש לפני תחילת המשחק, ודגימת תנאי התאורה לפני תחילת המשחק, ודגימת תנאי התאורה

בסביבה.בסביבה.

הפחתת התמונה המקורית מהתמונה הנדגמת הפחתת התמונה המקורית מהתמונה הנדגמת FRAMEFRAMEבכל בכל

FRAMEFRAMEחיתוך עפ"י סף גמיש המחושב בכל חיתוך עפ"י סף גמיש המחושב בכל ..--RGBRGBלצבעי הלצבעי ה

Page 9: פרויקט ROBOCUP מצגת סופית

סינון רעשים ע"י פילטריםסינון רעשים ע"י פילטרים

Page 10: פרויקט ROBOCUP מצגת סופית

סינון נוסף ומציאת האובייקטים סינון נוסף ומציאת האובייקטים

..SOBELSOBELסינון בעזרת מסנן אופטימאלי סינון בעזרת מסנן אופטימאלי

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

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

מציאת מרכז המסה של כל אובייקט שנמצא.מציאת מרכז המסה של כל אובייקט שנמצא.

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

Page 11: פרויקט ROBOCUP מצגת סופית

רובוט ראשון חלק אחורי

רובוט ראשון חלק קדמי רובוט שני

חלק אחורי כדוררובוט שני חלק אחורי

תוצר סופיתוצר סופי

Page 12: פרויקט ROBOCUP מצגת סופית

HSVHSVניסיונות נוספים: מרחב ניסיונות נוספים: מרחב

ניתן לראות כי ניסיונות זיהוי ניתן לראות כי ניסיונות זיהוי במרחבים אחרים נכשלו.במרחבים אחרים נכשלו.

Page 13: פרויקט ROBOCUP מצגת סופית

CC++++

Page 14: פרויקט ROBOCUP מצגת סופית

++++CCהאלגוריתם הממומש ב האלגוריתם הממומש ב

דגימת המגרש לפני עליית השחקנים.דגימת המגרש לפני עליית השחקנים.

דגימת המגרש והפחתת התמונה המקורית.דגימת המגרש והפחתת התמונה המקורית.

סינון רעשי מצלמה והתאמת תאורה.סינון רעשי מצלמה והתאמת תאורה.

זיהוי גבולות המגרש.זיהוי גבולות המגרש.

של הצורות במגרש. של הצורות במגרש.RGBRGBחיתוך עפ"י סף חיתוך עפ"י סף

זיהוי שפות הצורות.זיהוי שפות הצורות.

Page 15: פרויקט ROBOCUP מצגת סופית

++++CCהאלגוריתם הממומש ב האלגוריתם הממומש ב )המשך()המשך(

לצורות כלומר שיוך לצורות כלומר שיוך LABELINGLABELINGביצוע ביצוע לאובייקטים.לאובייקטים.

חישוב גדלי האובייקטים.חישוב גדלי האובייקטים.

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

חישוב זוויות מרכזי מסה ומיקום יחסי למגרש.חישוב זוויות מרכזי מסה ומיקום יחסי למגרש.

שידור הנתונים.שידור הנתונים.

Page 16: פרויקט ROBOCUP מצגת סופית

--LABELINGLABELINGאלגוריתם האלגוריתם ה

הבעיה:הבעיה: לאחד את הפיקסלים לאובייקטים שונים תוך שימת דגש על לאחד את הפיקסלים לאובייקטים שונים תוך שימת דגש על

סיבוכיות מינימאלית לשם שמירה על עבודה בזמן אמת.סיבוכיות מינימאלית לשם שמירה על עבודה בזמן אמת.

פתרון:פתרון: )אלגוריתם בסיבוכיות ליניארית הסורק את המערך )התמונה( אלגוריתם בסיבוכיות ליניארית הסורק את המערך )התמונה

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

האם לשייכם לאובייקט הנוכחי.האם לשייכם לאובייקט הנוכחי.

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

על כל פריים.על כל פריים.

Page 17: פרויקט ROBOCUP מצגת סופית

צורת אובייקט אפשריתצורת אובייקט אפשרית

לאחר זיהוי שפת הצורה לאחר זיהוי שפת הצורה )מצויין בצהוב( יש לשייך )מצויין בצהוב( יש לשייך

את כל שפת הצורה את כל שפת הצורה לאובייקט יחיד בצורה לאובייקט יחיד בצורה

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

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

וצורה.וצורה.

Page 18: פרויקט ROBOCUP מצגת סופית

סינון רעשי סביבהסינון רעשי סביבה

הבעיה:הבעיה: בשל אופי המשחק בו יתכנו הפרעות במהלכו נדרש בשל אופי המשחק בו יתכנו הפרעות במהלכו נדרש

לסננן להמשכו התקין של המשחק.לסננן להמשכו התקין של המשחק.

פתרון:פתרון: אלגוריתם המסנן אובייקטים הנמצאים בחלקם בתוך אלגוריתם המסנן אובייקטים הנמצאים בחלקם בתוך

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

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

Page 19: פרויקט ROBOCUP מצגת סופית

שחקנים וסביבת משחקשחקנים וסביבת משחק

סוגי סוגי 22הפרויקט תומך ב-הפרויקט תומך ב-..22XX22 ו ו11XX11משחק, משחק,

צבעי השחקנים שבהם צבעי השחקנים שבהם השתמשו הינם כבאיור.השתמשו הינם כבאיור.

גמישות הקוד מאפשרת גמישות הקוד מאפשרת לבחור צורות )עיגול ריבוע לבחור צורות )עיגול ריבוע

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

אחד לפחות.אחד לפחות.

1X1

Page 20: פרויקט ROBOCUP מצגת סופית

קצת קוד על קצה המזלגקצת קוד על קצה המזלג

#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 מצגת סופית

שליחת הנתונים לרובוטשליחת הנתונים לרובוט

הנתונים על מיקום הרובוטים נכתבים לפורט הנתונים על מיקום הרובוטים נכתבים לפורט חיצוניחיצוני

פורמט כתיבת הנתונים הינו גמיש וניתן לשינוי פורמט כתיבת הנתונים הינו גמיש וניתן לשינוי בקלותבקלות

כרגע נשלח מערך חד מימדי המציין את כרגע נשלח מערך חד מימדי המציין את ( וימיני ( וימיני YYגבולות המגרש עליון תחתון )על ציר גבולות המגרש עליון תחתון )על ציר

( לאחריו מיקומי הרובוטים ( לאחריו מיקומי הרובוטים XXשמאלי )על ציר שמאלי )על ציר ( ולבסוף מיקום ( ולבסוף מיקום XYXY, חלק אחורי, חלק אחוריXYXY)חלק קדמי )חלק קדמי

(.(.XYXYהכדור )הכדור )

Page 22: פרויקט ROBOCUP מצגת סופית

תודותתודות

בהנחיית יוחנן בהנחיית יוחנן VISLVISLהפרויקט נעשה במעבדה להפרויקט נעשה במעבדה לארז.ארז.

חלקים מהעבודה על הפרויקט בוצעו במעבדה חלקים מהעבודה על הפרויקט בוצעו במעבדה לרובוטיקה שם נמצא המגרש והרובוטים לרובוטיקה שם נמצא המגרש והרובוטים

בתמיכתם של קובי כוחי ואורלי וינגרזון.בתמיכתם של קובי כוחי ואורלי וינגרזון.