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

Post on 09-Jan-2016

82 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MATLABMATLAB

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CC++++

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1X1

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

#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..

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

אפשרות לעבודה ברזולוציות אפשרות לעבודה ברזולוציות שונה כתלות בלוכד התמונה.שונה כתלות בלוכד התמונה.

אפשרות לסינון רעשים שונה אפשרות לסינון רעשים שונה במצבי תאורה קיצוניים.במצבי תאורה קיצוניים.

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

לגודל הרובוט הסופי.לגודל הרובוט הסופי.

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

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

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

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

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

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

תודותתודות

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

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

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

top related