460 likes | 586 Views
Hunting. A Cooperative Hunting Behavior by Mobile-robot Troops (by Hiroaki Yamaguchy). מוגש ע"י רועי ואורן. מטרה. להגדיר מודל עבור קבוצת סוכנים, כך שקבוצה זו תוכל לנוע במבנה מסודר, ובצורת התפרשות, לעבר פולש באזור מוגדר מראש. נרצה שקבוצה זו תוכל להתמודד עם מכשולים שונים באזור,
E N D
Hunting A Cooperative Hunting Behavior by Mobile-robot Troops (by Hiroaki Yamaguchy) מוגש ע"י רועי ואורן
מטרה להגדיר מודל עבור קבוצת סוכנים, כך שקבוצה זו תוכל לנוע במבנה מסודר, ובצורת התפרשות, לעבר פולש באזור מוגדר מראש. נרצה שקבוצה זו תוכל להתמודד עם מכשולים שונים באזור, ושלבסוף הקבוצה "תצוד" את הפולש. "תצוד": קבוצת הסוכנים ייצרו מבנה חביקה מסביב לפולש כך שלא תהיה לו אפשרות תנועה ובריחה.
איזה אופי נבחר לציידים ? קיימים 2 מודלים לתכנות אופן פעולת רובוטים כציידים: Model Based Control תאור מפורט של תנועת הרובוטים והמשימות שלהם. התנהגות הרובוטים נקבעת ע"י אלגוריתמים קבועים ומוגדרים , כך שניתן לחזות וליעל את פעולת הרובוטים. Behavior Based Control הרובוט יפעל על פי אלגוריתם המזכיר התנהגות אינסטינקטית של בע"ח, למשל התקבצות, התבייתות שיטוט חופשי בשטח ועוד. בשיטה זו יהיה יותר קשה לנבא את התנהגות הרובוט. אך עם זאת שיטה זאת פחות מסובכת מהמודל המדויק ( Model-Based ) .
המודל משתמש קצת משניהם... מצד אחד: על מנת שהרובוטים יצודו את הטרף בצורה הטובה ביותר , נשאף שהרובוטים ינועו במבנה משותף. מבנה הרובוטים ינוע ללא שליט מרכזי , ללא התנגשויות של רובוטים אחד בשני ובמכשולים . זאת נשיג ע"י שימוש במודל המדויק.מצד שני: לכל רובוט יוגדר Formation Vector שיגדיר את אופן התנהגות הרובוט , לפי המודל ההתנהגותי. כך תנועת הרובוט תהיה מושפעת גם מסביבתו. מסקנה... המערכת מורכבת מהכלאה של שני המודלים.
רובוטים כציידים תאור המערכת: • עולם דו ממדי סגור וסופי • המערכת מורכבת מקבוצה של n רובוטים זהים • הרובוטים יכולים לנוע בכל כיוון • אין רובוט שולט או מערכת מרכזית ששולחת הוראות • כל רובוט חש/רואה לפחות רובוט אחד במערכת , אפשר לראות את מערכת הרובוטים כגרף קשיר היטב. • במערכת קיימים m מכשולים. • כל רובוט מספר i יסומן כ Ri . • כל רובוט יכול למדוד מרחק יחסי בינו לבין המטרה , מכשולים ושאר הרובוטים, רק כאשר הם נראים לרובוט. • לכל רובוט תהיה מערכת צירים יחסית למערכת צירים סטטית במרחב
ציור מס 1. מערכת לדוגמה:
אלגוריתם תנועת הרובוט. • אילו דברים צריכים להיכלל במשוואת תנועת הרובוט כדי • שהרובוטים ינוע במבנה , יתחמקו ממכשולים ויגיעו למטרה ? • משיכה למטרה . • משיכה למבנה הכללי. • דחייה מרובוטים אחרים כשהם יותר מדי קרובים (למנוע התנגשות). • דחייה ממכשולים. • דחייה מהמטרה , רוצים לשמור על מבנה מסוים מסביב למטרה. • עוד קצת הגדרות... • Li – קבוצת הרובוטים הקשורים לרובוט Ri לפיהם הרובוט מנסה להתייצב. • Mi – קבוצת כל הרובוטים שהרובוט עשוי להיתקל בהם . (לא כולל רובוטים מ Li ) • Ni – קבוצת כל המכשולים שהרובוט חש.
אלגוריתם תנועת הרובוט. (המשך) משוואת תנועת הרובוט מורכבת מ 4 גורמים לינארים:
אלגוריתם תנועת הרובוט. (המשך) חלק ראשון של המשוואה: תרומת המשיכה של הרובוט לרובוטים אחרים שהוא חש.(קבוצת הרובוטים Ri) - מקדם המשיכה של רובוט i אל רובוט j ( , ) – מיקום רובוט j במערכת הצירים , כלומר יחסית לרובוט i
אלגוריתם תנועת הרובוט. (המשך) חלק שני של המשוואה: תרומת המשיכה של הרובוט למטרה. רק כשהוא רואה אותה. - מקדם משיכה של רובוט i אל המטרה t ( , ) - מיקום המטרה t במערכת הצירים , כלומר יחסית לרובוט i
אלגוריתם תנועת הרובוט. (המשך) חלק שלישי של המשוואה: Formation Vector ייחודי לכל רובוט.מאפיין את צורת המבנה הכללי של הקבוצה בתנועת הציד. כאן מתבטא המודל ההתנהגותי . הוקטור המסוים הזה נקבע לפי הסביבה ויכול להשתנות במהלך המרדף, ובהתאם למיקום הרובוטים יחסית לעצמם ויחסית למטרה.
אלגוריתם תנועת הרובוט. (המשך) חלק אחרון של המשוואה: זהו גורם הריסון אשר יהווה כוח דחייה בניגוד לכוח המשיכה משני הגורמים הקודמים. דחייה בין 2 רובוטים, בין רובוט למטרה ובין רובוט לעצם. הכוח יפעל רק כאשר הגורם נמצא במרחק קטן או שווה ל D מרחק קבוע מוגדר מראש
ציור מס 2. Ri Rj Ri
אלגוריתם תנועת הרובוט. (המשך). • בשביל להבין יותר טוב את אופן פעולת 2 המודלים אפשר להסתכל על • להקת ציפורים. כל ציפור בלהקה מבצעת 3 פעולות עיקריות כדי • לשמור על מבנה הלהקה: • התאמת מהירות . • הימנעות מהתנגשויות. • הצמדות למרכז הלהקה. (ויצירת מבנה הלהקה ) • כלל 1 שומר שהלהקה לא תתפרק לגמרי וכלל 3 שומר שהלהקה תישאר • במבנה מרוכז מצומצם. החלק הרביעי במשוואה שהוצגה שומר שלא יהיו • התנגשויות , והחלק הראשון במשוואה שומר שהקבוצה תתרכז. • למרות השוני בין להקת הציפורים לבין תנועת • הרובוטים (חופש תנועה מוגבל של הלהקה) ניתן ללמוד על מערכות רובוטים • לפי צפייה במערכות התנהגותיות של חיות (Control Law)
יציבות המערכת. • נרצה להראות כי המערכת המוצגת היא יציבה כלומר: • הרובוטים לא "בורחים" מהמערכת. • בזמן אין סופי הרובוטים יגיעו אל המטרה. • בזמן אין סופי כל המערכת של הרובוטים והמטרה יגיעו למצב סופי וקבוע (שייקבע ע"י וקטורי הצורה).
יציבות המערכת. אנליזת יציבות המערכת -- Stability בשביל לדבר על יציבות המערכת עדיף להעביר בטרנספורמציה את כל הוקטורים של המשוואה שראינו למערכת הסטטית . במערכת במערכת -- טרנספורמציית ההיפוך . מעבירה וקטור למערכת צירים של
יציבות המערכת. (המשך) • משוואת התנועה לאחר טרנספורמציה למערכת האבסולוטית
יציבות המערכת. (המשך) • אחרי קצת פיתוחים...
יציבות המערכת. (המשך) • את המשוואה הקודמת נציג בצורתה הבאה:
יציבות המערכת. (המשך) x = (x1,x2,…,xn) y = (y1,y2,…,yn) dx = (dx1, dx2,…, dxn) dy = (dy1, dy2,…, dyn) X = (X1,X2,…,Xn) Xi = Y = (Y1,Y2,…,Yn) Yi = עוד על מרכיבי המשוואה:
ניתוח יציבות המערכת. ניתן לראות כי החלק האחרון של המשוואה – הוא סופי וקבוע. זאת כיוון שכל מרכיביו הם סופיים. כמו למשל: • סכום • סכום וקטורים מנורמלים • סכום וקטורי הצורה שאנו קובעים לכן ניתן להסתכל על המשוואה כעל משוואה דיפרנציאלית: x’=Ax+c
ניתוח יציבות המערכת. x’=Ax+c במשוואה שקיבלנו המטריצות B,C הן Compartment Matrix Compartment Matrix – diagonal cells are negative and all the rest are non negative. על מנת לבצע ניתוח של יציבות המערכת נעבור לתחום הכימיה. בכימיה משוואה דיפרנציאלית מהצורה dx/dt=Ax , כאשר A היא Compartment Matrix,היא משוואה שמדמה מערכות דיפוזיה - ככל שריכוז החומר גדול יותר בסביבה שלו כך הוא ישאף להגיע לריכוז נמוך יותר. הוכח כי מערכת דיפוזיה שמתנהגת בהתאם למשוואה זו מגיעה כעבור זמן רב למצב סופי וקבוע של שיווי משקל בין ריכוזי החומרים השונים. כך גם במערכת שלנו הרובוטים מושפעים מכוחות משיכה ודחייה המשתנים בהתאם למרחקים של הרובוטים מהאובייקטים השונים במערכת. וכיון שהתנהגות הרובוטים נקבעת לפי המשוואה שראינו ניתן להסיק שהמערכת יציבה, כלומר שכעבור זמן רב הרובוטים יגיעו למצב סופי וקבוע שיקבע ע"פי ווקטורי הצורה ומיקומם ההתחלתי של המטרה והמכשולים.
יצירת המבנה. כדי לתפוס באופן יעיל מטרה, קבוצת הרובוטים צריכה לנוע במבנה ובמיקום יחסית למטרה, ולבסוף להתמקם מסביב למטרה. הרובוטים ינוע במרחק סביר אחד מהשני , למנוע התפזרות או התנגשויות ביניהם.
יצירת המבנה. (המשך) מרחק יחסי של כל רובוט מהמטרה נגדיר את מיקום n הרובוטים יחסית למטרה בצורה הבאה: ונניח לרגע שכל הרובוטים רחוקים לפחות במרחק D מכל עצם , כך שאין גורם דחייה לאף רובוט.כמו כן נניח גם שכל הרובוטים חשים את המטרה ולכן משוואת המרחק תהיה:
יצירת המבנה. (המשך) בהנחה שאין דחייה בין הרובוטים לבין עצמם , לבין המטרה ולבין מכשולים. אין כוחות דחייה. ואם "נאנטגרל" את הנוסחה , נקבל את הנוסחה הבאה:.....
יצירת המבנה. (המשך) וכאשר כל הרובוטים יכולים לחוש את המטרה אפשר להגיד ש: ואם נשתמש בשוויון נקבל את המשוואה הבאה ....
יצירת המבנה. (המשך)משוואת מרחקי וכיווני הרובוטים במרחב (מהמטרה). קובע אתצורת המבנה.לכל רובוט יש את וקטור הצורה האופיני שלו. כל וקטורי הצורה יקבעו את המבנה הכללי אפשר לראות שהמרחק מהמטרה הוא כתלות במהירות המטרה. ככל שהמטרה נעה מהר יותר כך מרחק המבנה גדול יותר מהמטרה. כמו כן כל הרובוטים רחוקים במידה שווה מהמטרה.
יצירת המבנה.. (המשך) לפי ההנחה שלפחות רובוט אחד רואה את המטרה בכל זמן , הוא ימשך למטרה ע"י הגורם השני בצד ימין של המשוואה. ויחד איתו ימשכו כל הרובוטים לכיוון המטרה. בהנחה שהם לא מתנתקים מהקבוצה בגלל מכשולים שהם לא יכולים להתגבר עליהם. (deadlock) המאמר הנוכחי משאיר לעתיד את חקירת מקרי ה-deadlock.
יצירת המבנה.. (המשך) נדמה את קבוצת הרובוטים הרודפים שלנו כגרף קשיר היטב. רובוט צומת. וקטור ביו רובוט לרובוט קשת בין צמתים. הוקטורים בין הרובוטים יוגדרו באופן הבא: k=1,2,….,n-1 כדי לחבר n צמתים (רובוטים) מספיק n-1 וקטורים
יצירת המבנה.. (המשך) נבנה וקטור של כל רכיבי x ווקטור של כל רכיבי y של הוקטורים: היחס של 2 הוקטורים הנ"ל לצירים x,y הוא כדלקמן: P – מוגדר בשקף הבא
יצירת המבנה.. (המשך) P היא מטריצה בלתי תלויה לינארית , כי כל המרכיבים של וקטורי f. הם 1 או 1- ונדאג שבהרכבת P לא יהיו 2 וקטורים זהים. דוגמא למטריצה P כזאת :
יצירת המבנה.. (המשך) נגדיר את : ונקבל... מהפיתוח האחרון ניתן לראות שגדלי וקטורי המרחק נקבעים רק כיחס ישיר לוקטורי הצורה dx dy . מכיון שדרגת המטריצה P – n והמטריצה asymptotically stable אפשר להגיד שהמבנה נשלט ע"י וקטורי הצורה.
יצירת המבנה.. (המשך) • בחירת וקטורי הצורה. • לכל רובוט יש וקטור שעל פיו הוא מתנהג ונע במבנה הכללי . הוקטור נקבע על פי מיקומו בקבוצה ועל פי מיקומו בהשוואה לרובוטים אחרים, למטרה ולמכשולים. ברגע שנקבע הוקטורהרובוט נע רק לפי הוקטור יחסית. וכך בא לידי ביטוי שילוב שתי השיטות.
יצירת המבנה.. (המשך) דוגמאות וקטורים. 1. הרובוט נע לאורך הוקטור שראשיתו במטרה ועובר דרך הרובוט עצמו
יצירת המבנה.. (המשך) 2. הרובוט נע לאורך הוקטור שמתחיל ברובוט לידו ועד אליו
יצירת המבנה.. (המשך) 3. הרובוט נע לאורך קו מאונך לוקטור שבין שכנו לבין המטרה שהוא רואה.
יצירת המבנה.. (המשך) אפשר לראות את אופן בניית המערכת כמיפוי כפול: וקטורי הצורה של כל הרובוטים קובעים את צורת המבנה הכללית סביבת הרובוט קובעת את וקטור הצורה שלו
סימולציותדוגמא פרטית לסימולציות המתוארות במאמר • 8 רובוטים • חלק מהרובוטים מאחורי מכשולים ולכן לא יכולים לראות את המטרה , כל השאר כן רואים. • כל רובוט מזהה האם הוא רובוט קצה לפי מספר הרובוטים שהוא רואה.(1<)
סימולציותמצב התחלתי (0,0)
סימולציותנתונים התחלתיים נתונים : וקטורי צורה
סימולציות אפשר לראות שבהתחלה 4 רובוטים לא רואים את המטרה (R1,R2,R3,R4) . הרובוטים שכן רואים את המטרה מושכים את שאר הרובוטים מעבר למכשול
סימולציות עוד דוגמא להרצת סימולציה והתכנסות מסביב למטרה.
סיכום • ראינו אלגוריתם יציב לציד של מערכת רובוטים . • האלגוריתם משתמש בשתי מתודות עיקריות • Model Based Control • Behavior Based Control • למרות שאין בקרה מרכזית וכל רובוט מחשב את מיקומו יחסית לרובוטים האחרים, המערכת היא יציבה. • בפרט לכל רובוט יש Formation Vector והמבנים יכולים להיבנות לפי בחירת וקטור מסוים לכל רובוט. • כמו כן אפשר להשתכנע מהצלחת האלגוריתם לפי הרצת הסימולציות בתנאי מעבדה.
סיכום • Future Work – • תקיפת בעיות DeadLock . • מספר מטרות, חלקות הרובוטים לכל מטרה. • הכלת האלגוריתם גם עבור רובוטים עם דרגות חופש מוגבלות (non-holomonic)
סוף סוף