View
216
Download
1
Embed Size (px)
Citation preview
HuntingHuntingA Cooperative Hunting Behavior by
Mobile-robot Troops (by Hiroaki Yamaguchy)
מוגש ע"י רועי ואורן
מטרה
להגדיר מודל עבור קבוצת סוכנים, כך שקבוצה זו תוכל לנוע
במבנה מסודר, ובצורת התפרשות, לעבר פולש באזור מוגדר מראש.
נרצה שקבוצה זו תוכל להתמודד עם מכשולים שונים באזור,
ושלבסוף הקבוצה "תצוד" את הפולש.
"תצוד": קבוצת הסוכנים ייצרו מבנה חביקה מסביב לפולש כך שלא
תהיה לו אפשרות תנועה ובריחה.
איזה אופי נבחר לציידים ? מודלים לתכנות אופן פעולת רובוטים כציידים:2קיימים
Model Based Control תאור מפורט של תנועת הרובוטים והמשימות שלהם.
התנהגות הרובוטים נקבעת ע"י אלגוריתמים קבועים ומוגדרים , כך שניתן לחזות וליעל את פעולת הרובוטים.
Behavior Based Controlהרובוט יפעל על פי אלגוריתם המזכיר התנהגות אינסטינקטית של בע"ח,
למשל התקבצות, התבייתות שיטוט חופשי בשטח ועוד. בשיטה זו יהיה יותר קשה לנבא את התנהגות הרובוט. אך עם זאת שיטה
) . Model-Basedזאת פחות מסובכת מהמודל המדויק (
המודל משתמש קצת משניהם...
מצד אחד:על מנת שהרובוטים יצודו את הטרף בצורה הטובה ביותר ,
נשאף שהרובוטים ינועו במבנה משותף.
מבנה הרובוטים ינוע ללא שליט מרכזי , ללא התנגשויות של רובוטים
אחד בשני ובמכשולים . זאת נשיג ע"י שימוש במודל המדויק.מצד שני:
שיגדיר את אופן התנהגותFormation Vectorלכל רובוט יוגדר הרובוט , לפי המודל ההתנהגותי. כך תנועת הרובוט תהיה
מושפעת גם מסביבתו.מסקנה...
המערכת מורכבת מהכלאה של שני המודלים.
עולם דו ממדי סגור וסופי• רובוטים זהיםn המערכת מורכבת מקבוצה של • הרובוטים יכולים לנוע בכל כיוון• אין רובוט שולט או מערכת מרכזית ששולחת הוראות• כל רובוט חש/רואה לפחות רובוט אחד במערכת , •
אפשר לראות את מערכת הרובוטים כגרף קשיר היטב.
מכשולים.m במערכת קיימים • .Ri יסומן כ i כל רובוט מספר • כל רובוט יכול למדוד מרחק יחסי בינו לבין המטרה , •
מכשולים ושאר הרובוטים, רק כאשר הם נראים לרובוט.
לכל רובוט תהיה מערכת צירים יחסית למערכת צירים • סטטית במרחב
תאור המערכת:
רובוטים כציידים
.1ציור מס מערכת לדוגמה:
אלגוריתם תנועת הרובוט.אילו דברים צריכים להיכלל במשוואת תנועת הרובוט כדי
שהרובוטים ינוע במבנה , יתחמקו ממכשולים ויגיעו למטרה ?למטרה .משיכה •למבנה הכללי.משיכה •מרובוטים אחרים כשהם יותר מדי קרובים (למנוע התנגשות).דחייה •ממכשולים.דחייה • למטרה.מסביבמהמטרה , רוצים לשמור על מבנה מסוים דחייה •
עוד קצת הגדרות...Li קבוצת הרובוטים הקשורים לרובוט – Ri.לפיהם הרובוט מנסה להתייצב
Mi קבוצת כל הרובוטים שהרובוט עשוי להיתקל בהם . (לא כולל רובוטים מ – Li( Ni .קבוצת כל המכשולים שהרובוט חש –
(המשך)אלגוריתם תנועת הרובוט.
גורמים לינארים: 4משוואת תנועת הרובוט מורכבת מ
ij
ij
ij
ij
ij
ij
objectsj ij
ixi
ixi
it
it
iij
ij
Lij ijii
ii
y
x
y
xD
y
x
d
d
y
x
y
x
y
x
/
(המשך)אלגוריתם תנועת הרובוט.
חלק ראשון של המשוואה:
תרומת המשיכה של הרובוט לרובוטים אחרים שהוא חש.
Ri((קבוצת הרובוטים
i
j
ij
Lij ij y
x
ij מקדם המשיכה של רובוט - i אל רובוט j
במערכת הצירים , כלומר יחסית לרובוט j( , ) – מיקום רובוט i
ijx i
jy0i
(המשך)אלגוריתם תנועת הרובוט.
it
it
iy
x
חלק שני של המשוואה:
תרומת המשיכה של הרובוט
למטרה. רק כשהוא רואה אותה.
i מקדם משיכה של רובוט -i אל המטרה t
itx i
ty0i במערכת הצירים , כלומר יחסית t( , ) - מיקום המטרה
iלרובוט
(המשך)אלגוריתם תנועת הרובוט.
ixi
ixi
d
dחלק שלישי של המשוואה:
Formation Vectorייחודי לכל רובוט.
מאפיין את צורת המבנה הכללי של הקבוצה בתנועת הציד.
כאן מתבטא המודל ההתנהגותי . הוקטור המסוים הזה נקבע לפי
הסביבה ויכול להשתנות במהלך המרדף,
ובהתאםלמיקום הרובוטים יחסית לעצמם
ויחסית למטרה.
(המשך)אלגוריתם תנועת הרובוט.
i
j
ij
ij
ij
ij
ij
objectsj ij y
x
y
xD
y
x/
Dyx
Dyxij
ij
ij
ij
ij,0
,
חלק אחרון של המשוואה:
זהו גורם הריסון אשר יהווה כוח דחייה בניגוד לכוח המשיכה משני הגורמים הקודמים.
רובוטים, בין רובוט למטרה 2דחייה בין ובין רובוט לעצם.
הכוח יפעל רק כאשר הגורם נמצא במרחק
Dקטן או שווה ל
מרחק קבוע
מוגדר מראש
Rj
Ri
Ri
ij
ij
tyx ,
ij
ij
tyx ,
.2ציור מס
אלגוריתם תנועת הרובוט. (המשך).
המודלים אפשר להסתכל על2בשביל להבין יותר טוב את אופן פעולת פעולות עיקריות כדי 3להקת ציפורים. כל ציפור בלהקה מבצעת
לשמור על מבנה הלהקה:התאמת מהירות . 1.הימנעות מהתנגשויות. 2.הצמדות למרכז הלהקה. (ויצירת מבנה הלהקה )3.
שומר שהלהקה תישאר3 שומר שהלהקה לא תתפרק לגמרי וכלל 1כלל במבנה מרוכז מצומצם. החלק הרביעי במשוואה שהוצגה שומר שלא יהיו
התנגשויות , והחלק הראשון במשוואה שומר שהקבוצה תתרכז.למרות השוני בין להקת הציפורים לבין תנועת
הרובוטים (חופש תנועה מוגבל של הלהקה) ניתן ללמוד על מערכות רובוטים ) Control Lawלפי צפייה במערכות התנהגותיות של חיות (
יציבות המערכת.
נרצה להראות כי המערכת המוצגת היא יציבה כלומר:
הרובוטים לא "בורחים" מהמערכת.•
בזמן אין סופי הרובוטים יגיעו אל המטרה.•
בזמן אין סופי כל המערכת של הרובוטים והמטרה •למצב סופי וקבוע (שייקבע ע"י וקטורי יגיעו
הצורה).
יציבות המערכת. Stabilityאנליזת יציבות המערכת --
בשביל לדבר על יציבות המערכת עדיף להעביר בטרנספורמציה את כל הוקטורים של המשוואה שראינו
למערכת הסטטית .
0
ii
ii
i
i
i
y
x
y
x
-- טרנספורמציית ההיפוך . מעבירה וקטור למערכת צירים של
i
0
במערכת
0
במערכת 0i
ij
ij
ij
ij
ij
ij
objectsj iij
ixi
ixi
iii
ii
iiii
ii
Lij iijii
ii
i
y
x
y
xD
y
x
d
d
y
x
y
x
y
x
/
(המשך)יציבות המערכת.
0 משוואת התנועה לאחר טרנספורמציה למערכת האבסולוטית •
(המשך)יציבות המערכת.
OBJECTSj i
i
j
j
i
i
j
j
i
i
j
jij
yi
xi
i
i
t
ti
i
i
j
j
Lijiji
i
ii
i
i
i
y
x
y
x
y
x
y
xD
y
x
y
x
d
d
y
x
y
x
y
x
y
x
y
x
y
x
0
Dyxyx iit
xjt ,,
Dyxyx iit
xjt ,,
אחרי קצת פיתוחים...•
Y
X
d
d
vy
vx
y
x
CB
CB
y
x
y
x
t
t
i
i
1
1
0
0
0
0
(המשך)יציבות המערכת.
n
ijjijjiij
ijjiij
ijjiij
nxn
bb
Lib
Lib
RB
,1,
,
,
0
0
TARGETNj njTARGETNj j
n
diag
diag
11),(
),,(
1
21
n
ijjijii
ijjiij
ijjiij
nxn
cc
MiLic
MiLic
RC
,1
,
,
0
את המשוואה הקודמת נציג בצורתה הבאה:•
(המשך)יציבות המערכת.
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 =
|)()(|/)( yxyxxx iijjijijOBJECTSj
jijOBJECTSNij
Dx
|)()(|/)( yxyxyyiijjijij
OBJECTSjjij
OBJECTSNij
Dy
עוד על מרכיבי המשוואה:
ניתוח יציבות המערכת.
Y
X
d
d
vy
vx
y
x
t
t
1
1
0
0 ניתן לראות כי החלק האחרון של המשוואה –
הוא סופי וקבוע.
זאת כיוון שכל מרכיביו הם סופיים. כמו למשל:
לכן ניתן להסתכל על המשוואה כעל משוואה דיפרנציאלית:
x’=Ax+c
TARGETNjyx ijjt
ij ,, סכום• סכום וקטורים מנורמלים• סכום וקטורי הצורה שאנו קובעים•
Dij
x’=Ax+cניתוח יציבות המערכת.
Compartment Matrix – diagonal cells are negative and all the rest are non negative.
Compartment Matrix הן B,Cבמשוואה שקיבלנו המטריצות
על מנת לבצע ניתוח של יציבות המערכת נעבור לתחום הכימיה. Compartment היא A , כאשר dx/dt=Axבכימיה משוואה דיפרנציאלית מהצורה
Matrix, יא משוואה שמדמה מערכות דיפוזיה - ככל שריכוז החומר גדול יותר הבסביבה שלו כך הוא ישאף להגיע לריכוז נמוך יותר. הוכח כי מערכת דיפוזיה
שמתנהגת בהתאם למשוואה זו מגיעה כעבור זמן רב למצב סופי וקבוע של שיווי משקל בין ריכוזי החומרים השונים.
כך גם במערכת שלנו הרובוטים מושפעים מכוחות משיכה ודחייה המשתנים בהתאם למרחקים של הרובוטים מהאובייקטים השונים במערכת. וכיון שהתנהגות
הרובוטים נקבעת לפי המשוואה שראינו ניתן להסיק שהמערכת יציבה, כלומר שכעבור זמן רב הרובוטים יגיעו למצב סופי וקבוע שיקבע ע"פי ווקטורי הצורה
ומיקומם ההתחלתי של המטרה והמכשולים.
יצירת המבנה. כדי לתפוס באופן יעיל מטרה, קבוצת הרובוטים צריכה
לנוע יחסית למטרה, ולבסוף להתמקם מסביב במיקום ובמבנה
למטרה. הרובוטים ינוע במרחק סביר אחד מהשני , למנוע
התפזרות או התנגשויות ביניהם.
(המשך)יצירת המבנה.
הרובוטים יחסית למטרה בצורה הבאה: nנגדיר את מיקום
ni
yxyx ttiiyixi
,2,1
,,,
מכל עצם , כך שאיןDונניח לרגע שכל הרובוטים רחוקים לפחות במרחק גורם דחייה לאף רובוט.כמו כן נניח גם שכל הרובוטים חשים את המטרה
ולכן משוואת המרחק תהיה:
מרחק יחסי של כל רובוט מהמטרה
(המשך)יצירת המבנה.
Y
X
d
d
vy
vx
CB
CB
y
x
t
t
y
x
y
x
1
1
0
0
0
0
1
1
0
0
vy
vx
d
d
B
B
t
t
y
x
y
x
y
x
בהנחה שאין דחייה בין הרובוטים לבין עצמם ,
לבין המטרה ולבין מכשולים.
אין כוחות דחייה.
את הנוסחה , נקבל את הנוסחה הבאה:....."נאנטגרל" ואם
וכאשר כל הרובוטים יכולים לחוש את המטרה אפשר להגיד ש:
ואם נשתמש בשוויון
נקבל את המשוואה הבאה ....
(המשך)יצירת המבנה.
1
1
1
1
)(0
0)(
vy
vx
d
d
B
B
t
t
y
x
y
x
11 vvIB n nI
(המשך)יצירת המבנה. משוואת מרחקי וכיווני הרובוטים במרחב (מהמטרה).
1
11
1
1
)(0
0)(
vy
vx
d
d
IB
IB
t
t
y
x
n
n
y
x
אפשר לראות שהמרחק מהמטרה הוא כתלות במהירות המטרה. ככל
שהמטרה נעה מהר יותר כך מרחק כלהמבנה גדול יותר מהמטרה. כמו כן
הרובוטים רחוקים במידה שווה מהמטרה.
קובע את צורת
המבנה.לכל רובוט
יש את וקטור
הצורה האופיני שלו.
וקטורי כל הצורה
יקבעו את המבנה
הכללי
(המשך)יצירת המבנה..
לפי ההנחה שלפחות רובוט אחד רואה את המטרה בכל זמן , הוא ימשך למטרה ע"י הגורם השני בצד ימין של המשוואה. ויחד איתו
ימשכו כל הרובוטים לכיוון המטרה. בהנחה שהם לא מתנתקים )deadlock(מהקבוצה בגלל מכשולים שהם לא יכולים להתגבר עליהם.
.deadlockהמאמר הנוכחי משאיר לעתיד את חקירת מקרי ה-
1
11
1
1
)(0
0)(
vy
vx
d
d
IB
IB
y
x
t
t
y
x
n
n
(המשך)יצירת המבנה..
נדמה את קבוצת הרובוטים הרודפים שלנו כגרף קשיר היטב. צומת.רובוט
קשת בין צמתים.וקטור ביו רובוט לרובוט הוקטורים בין הרובוטים יוגדרו באופן הבא:
ijijt
ykxk yyxx ,,k=1,2,….,n-1 וקטוריםn-1 צמתים )רובוטים( מספיק nכדי לחבר
(המשך)יצירת המבנה..
של הוקטורים:y ווקטור של כל רכיבי xנבנה וקטור של כל רכיבי
,,.....,,
,,.....,,
121
121
ynyyt
y
xnxxt
x
הוא כדלקמן:x,y הוקטורים הנ"ל לצירים 2היחס של
y
x
P
P
y
x
0
0
Pמוגדר בשקף הבא –
(המשך)יצירת המבנה..
1
2
1
nf
f
f
P nifi ,,1,1,
Pהיא מטריצה בלתי תלויה לינארית , כי כל המרכיבים של וקטורי f. ונדאג שבהרכבת 1 או 1 הם -P וקטורים זהים.2 לא יהיו
כזאת :Pדוגמא למטריצה
1100
10
110
1001
P
(המשך)יצירת המבנה..
נגדיר את :ונקבל...
yyyxxx PPPP ,
y
x
n
n
y
x
d
d
IBP
IBP1
1
)(0
0)(
מהפיתוח האחרון ניתן לראות שגדלי וקטורי המרחק נקבעים P – n . מכיון שדרגת המטריצה dx dyרק כיחס ישיר לוקטורי הצורה
asymptotically stableוהמטריצה אפשר להגיד שהמבנה נשלט ע"י וקטורי הצורה.
1)( nIB
(המשך)יצירת המבנה..
בחירת וקטורי הצורה.•
לכל רובוט יש וקטור שעל פיו הוא מתנהג ונע במבנה הכללי . הוקטור נקבע על פי מיקומו בקבוצה ועל פי מיקומו בהשוואה לרובוטים אחרים, למטרה ולמכשולים. ברגע שנקבע
הוקטורהרובוט נע רק לפי הוקטור
יחסית. וכך בא לידי ביטוי שילוב שתי
השיטות.
(המשך)יצירת המבנה..
. הרובוט נע לאורך 1הוקטור שראשיתו במטרה ועובר דרך
הרובוט עצמו
דוגמאות וקטורים.
(המשך)יצירת המבנה..
. הרובוט נע לאורך 2הוקטור שמתחיל
ברובוט לידו ועד אליו
(המשך)יצירת המבנה..
. הרובוט נע לאורך קו 3מאונך לוקטור שבין שכנו לבין המטרה
שהוא רואה.
(המשך)יצירת המבנה..
אפשר לראות את אופן בניית המערכת כמיפוי כפול:
סביבת הרובוט
קובעת את וקטור הצורהשלו
וקטורי הצורה של
כל הרובוטים קובעים את צורת המבנה
הכללית
סימולציותדוגמא פרטית לסימולציות המתוארות במאמר
רובוטים 8 •
חלק מהרובוטים מאחורי מכשולים ולכן לא יכולים לראות •את המטרה , כל השאר כן רואים.
כל רובוט מזהה האם הוא רובוט קצה לפי מספר הרובוטים •>)1שהוא רואה.(
בקצה רובוט לארובוט קצה
מטרה רואה
)0,0(לא רואה
yixi dd ,
סימולציותמצב התחלתי
)0,0( yixi dd ,
סימולציותנתונים התחלתיים
נתונים :
1.7,,2,1,0.20
0.40,
iji
dd
jiij
yixit
0.1
,0.150,0.10
D
8.37,1.13,1.31,1.39,1.39,1.31,1.13,8.37
1.13,8.37,2.25,64.8,64.8,2.25,8.37,1.13
t
y
tx
d
d
וקטוריצורה
סימולציותאנימצית תנועה
סימולציותאפשר לראות
4שבהתחלה רובוטים לא רואים את
המטרה)R1,R2,R3,R4(
. הרובוטים שכן רואים את
המטרה מושכים את שאר
הרובוטים מעבר למכשול
סימולציות עוד דוגמא להרצת
סימולציה והתכנסות
מסביב למטרה.
סיכום
ראינו אלגוריתם יציב לציד של מערכת רובוטים . האלגוריתם משתמש בשתי מתודות עיקריות •
•Model Based Control •Behavior Based Control
למרות שאין בקרה מרכזית וכל רובוט מחשב את מיקומו •יחסית לרובוטים האחרים, המערכת היא יציבה.
והמבנים יכולים Formation Vector בפרט לכל רובוט יש •להיבנות לפי בחירת וקטור מסוים לכל רובוט.
כמו כן אפשר להשתכנע מהצלחת האלגוריתם לפי הרצת •הסימולציות בתנאי מעבדה.
סיכום Future WorkFuture Work– –
.DeadLock תקיפת בעיות • מספר מטרות, חלקות הרובוטים לכל מטרה.• הכלת האלגוריתם גם עבור רובוטים •
)non-holomonicעם דרגות חופש מוגבלות (
סוף