24
ררררר ררררררר רררררררר רררר ררר ררר רררר רררררררר ררררר ררררר ררררררר ררררררר ררררר ררררררר ררררר ררר רררר: ר"ר ררר ררררר

תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

  • Upload
    gavin

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים

מעורבים

יבגני מישאלוב •עמיחי פרי •מנחה: ד"ר מרק מולין •

Page 2: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

רקע

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

בשנים האחרונות נעשו מחקרים רבים בנושא של תכנון מסלולים אופטימלי •עבור מספר כטב"מים )"נחיל"(.

המטרה: לאפשר טיסה עצמאית של הנחיל להשגה אופטימלית של •המטרה.

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

. MILP)הפתרון – תכנות לינארי במשתנים מעורבים )•

Page 3: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מפת המשימה

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

:בסיס המראה: מטרה

:בסיס נחיתה: מכשול

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

010

2030

4050

6070

80

-30 -20 -10

0 10 20 30flight

x

y

Page 4: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

:הגדרת המשימה

כל כטב"מ מתחיל מעל בסיס המראה במהירות כלשהי•כיסוי מלא של המטרות – מעל כל מטרה עובר כטב"מ•כל כטב"מ נוחת באחד מבסיסי הנחיתה הפרושים•מחפשים מסלול עם זמן טיסה מינימלי •המסלול לא עובר מעל מכשולים•מסלול פיסיקלי: כפוף למהירות ותאוצה מרביות •אפשרות לעדכונים בזמן אמת•

Page 5: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

:המודל

דיסקרטיזציה של מסלול הטיסה לקטעי זמן •פתרון משוואות התנועה בכל קטע זמן:•

dt

2[ 1] [ ] [ ] [ ]

1

2t t t tx a dt v dt x

[ 1] [ ] [ ]t t tv a dt v

Page 6: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

המודל-מפרט כלי הטיס

מהירות טיסה מרבית-משתנה בהתאם לסוג •הכטב"מ:

קמ"ש100בערך

תאוצה מקסימלית•

לא לינארי

,a v

,a v max max,a v

אילוץ לינארי

ולכן מתאים לתכנות

לינארי

2 2 2maxx yv v v

Page 7: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

:הכלים לפתרון

:)MILP )Mixed Integer Linear Programmingבעיית אופטימיזציה •

היא פונקצית העלות, אותה ממזערים

ממשיים ושלמים ) הם וקטורי המשתנים בהתאמה(

מכילות את האילוצים

Branch and Boundפתרון בעזרת אלגוריתם •

min , ,p nMILPz c x h y A x G y b y R x Z

z c x h y

,x y

,A x G y

Page 8: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

AMPL תוכנה למידול ופתרון של בעיות אופטימיזציה -

ניסוח האילוצים ופונקצית המטרה בצורה •לינארית

צעדי זמן10בכל פעם מתכננים מסלול של •

לפעמים אין/ לא נמצא פתרון- מנסים לפתור •בעיה מצומצמת

מאפשרת פתרון בזמן אמת ע"י עדכון המודל •שמתקבל מהמטלב

Page 9: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

- פונקצית AMPLניסוח המודל ב העלות

• minimize tof: sum{t in 1..nts} t*finish[t]

• finish[t] הוא מערך של משתנים בינאריים •

בגלל האילוצים: subject to arrivallow{t in 1..nts, i in 1..2}: pos[i,t] >= target[i] - M*)1-finish[t](;

subject to arrivalhigh{t in 1..nts, i in 1..2}: pos[i,t] <= target[i+2] + M*)1-finish[t](;

. t של מיקום המטוס בזמן y ו x משתנה המכיל את ערכי pos[i,t] הוא מספר גדול מאוד )"אינסוף"( ו M כאשר

לכן הסכום כאשר הסכימה היא על צעדי הזמן שווה לזמן הטיסה המתוכנן •

לחפש פתרון עם זמן טיסה מינימלי AMPL מכאן שהשורה לעיל מורה ל•

כל הפונקציות לינאריות במשתני הפתרון.•

t אז המטוס נמצא מעל המטרה בזמן finish[t]=1 אם

[ ]t finish t

Page 10: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

- אילוצים AMPLניסוח המודל ב אילוצי משוואות התנועה:•

subject to movement1{t in 1..)nts-1(, i in 1..2}: vel[i,t+1] = vel[i,t] + acc[i,t]*dt;subject to movement2{t in 1..)nts-1(, i in 1..2}: pos[i,t+1] = pos[i,t] + vel[i,t]*dt + 0.5*acc[i,t]*dt*dt;

משתנים המייצגים את וקטורי התאוצה והמהירות בזמנים vel[i,t], acc[i,t] הוא אינטרוול הזמן )פרמטר( ו dtכאשר השונים.

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

אילוצי מכשולים:•subject to avoidancelow{k in 1..obsnum, t in 1..nts, i in 1..2}: pos[i,t] <= obs[k,i] + M*avoid[k,i,t];Subject to avoidance{k in 1..obsnum, t in 1..nts}: sum {i in 1..4} avoid[k,i,t] <=3

obs[k,i].מכיל את מיקומי הפינות של המכשולים השונים avoid[k,i,t] מימדי של משתנים בינאריים. 3 הוא מערך

)בצד ה"מותר"(.k של המכשולi המטוס נמצא מחוץ לצלע tהאילוץ הראשון מבטיח ש אם אז בזמן

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

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

avoid[k,i,t]=0

Number of time steps used2 2 ( )

avoid[k,i,t] 4i

Page 11: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

- אילוצים AMPLניסוח המודל ב מגבלות מהירות ותאוצה: •

היינו רוצים להשתמש בתנאי אך הוא אינו לינארי. לכן הוא מוחלף ב:

subject to maxvelocity{t in 1..nts, i in 1..nd}: vel[1,t]*cos)i*2*pi/nd( + vel[2,t]*sin)i*2*pi/nd( <= velmax;

subject to maxacc{t in 1..)nts-1(, i in 1..nd}: acc[1,t]*cos)i*2*pi/nd( + acc[2,t]*sin)i*2*pi/nd( <= accmax;

הם פרמטרי המהירות והתאוצה המקסימליים. accmax ו velmaxכאשר

צלעות שחוסם אותו – וזהו אילוץ לינארי.nd מוחלף בפוליגון בעל velmax\accmaxהמעגל ברדיוס

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

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

(. MILP לכן הבעיה היא אכן בעיית תכנות לינארי במשתנים מעורבים )

2 2 2maxx yv v v

Page 12: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

הממשק בין התוכנות השונות במהלך הפתרון

.AMPL. ע"י שימוש בשפת המידול modיצירת קובץ המודל מסוג •. runיצירת קובץ ההרצה של המודל מסוג • בקובץ ההרצה יוגדרו הפרמטרים של הריצה כגון שמו של קובץ המודל, קבצי •

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

ואת הקבצים אליהם נרצה לכתוב את תוצאות הפתרון. נעשה ע"י תוכנת ביניים ששמה CPLEX לבין הפותרן AMPLהממשק בין •

AMPL-CPLEX . שיכתוב את קבצי הקלט לקובץ MATLABמנהל הסימולציה במקרה שלנו יהיה •

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

Page 13: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

Allocation Problemאיך להקצות את המטרות למטוסים כדי לקבל זמן •

טיסה מינימלי ולשמור על זמן אמת?אנו בחרנו להשתמש במרחק האווירי הישיר כאומדן •

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

אליו שלא הוקצתה עדיין.

10 20 30 40 50 60 70 80 90 100 1100

10

20

30

40

50

60

70

80

90

100

Page 14: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

תרשים זרימהיצירת המפה ואתחול המודל

צעדי זמן או 10מחפש פתרון ב-פחות

בצע צעד ראשון של הפתרון

עדכון מפת ומצב המשימה

יוצר בעיה מצומצמת ומנסה לפתור אותה

הקצאת מטרות למל"טים

סימולציה למל"ט יחיד

הפחתת מהירות

למהירות מינימלית

? נמצא פתרון

כן

לא

? נמצא פתרוןכן

לא

-10 0 10 20 30 40 50 60 70-40

-30

-20

-10

0

10

20

30

flight

x

y

המל"ט הגיע ?למטרה

כן

לא

Page 15: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

:הבעיה המצומצמתיוצרת מסלול ביניים לצורך התחמקות ע"י פתרון בעיה מצומצמת:•

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

-60 -40 -20 0 20 40 60

-50

-40

-30

-20

-10

0

10

20

30

40

50

big problem

-20 -15 -10 -5 0 5 10 15

-15

-10

-5

0

5

10

15small problem

הבעיה המקורית הבעיה המצומצמת

0 10 20 30 40 50

-15

-10

-5

0

5

10

15

20

25

30

Page 16: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מכשולים(4 מטרות 4 מל"טים 2)תוצאות: Y

[hor

izon

tal

dist

ance

]

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

בסיס :המראה

:מטרה

:בסיס נחיתה

:מכשול

Flight Map

X [vertical distance]

Page 17: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מכשולים(4 מטרות 6 מל"טים 2)תוצאות:

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

בסיס :המראה

:מטרה

:בסיס נחיתה

:מכשול

X [vertical distance]

Flight Map

Y [h

oriz

onta

l di

stan

ce]

Page 18: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מכשולים(4 מטרות 6)מל"ט יחיד תוצאות:

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

בסיס :המראה

:מטרה

:בסיס נחיתה

:מכשול

Flight Map

Y [h

oriz

onta

l di

stan

ce]

X [vertical distance]

Page 19: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מכשולים(4 מטרות 7 מל"טים 2)תוצאות:

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

בסיס :המראה

:מטרה

:בסיס נחיתה

:מכשול

Flight Map

Y [h

oriz

onta

l di

stan

ce]

X [vertical distance]

Page 20: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

מכשולים(3 מטרות 6 מל"טים 3)תוצאות:

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

0 10 20 30 40 50 60 70 80

-20

-10

0

10

20

30

flight

x

y

בסיס :המראה

:מטרה

:בסיס נחיתה

:מכשול

Flight Map

Y [h

oriz

onta

l di

stan

ce]

X [vertical distance]

Page 21: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

דיון על ביצועי זמן אמת Networks Neural או shortest path Dijkstra'sאלגוריתמי פתרון אחרים דוגמת: •

הם בעלי סיבוכיות זמן גדולה בהרבה

לכן לא מתאפשר תכנון המסלול בזמן הטיסה.•

מכאן מתחייבת ידיעת מפת המשימה כולה עוד לפני העלייה לאוויר.•

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

בשנים האחרונות הושקעו מאמצים ותקציבים רבים בחיפוש אחר פתרון בזמן אמת•

נמצאה כעונה על הדרישות.MILPעד כה רק •

Page 22: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

חקר ביצועים הרצנו את הסימולציה עבור כטב"מ יחיד ומס' מטרות ומכשולים גדל )ממוקמים באקראי(.•בכל פעם בדקנו את את הזמן שלקח לפתרון מול זמן הטיסה הכולל שהתקבל מהסימולציה•קבלנו את הגרף הבא:•

שיפוע הגרף: זמן החישוב הממוצע שנדרש לכל צעד זמן והוא קטן מ שהוא אינטרוול •הזמן

dt

solve tim e vs tofy = 0.1108x + 0.2191

R2 = 0.8889

0

2

4

6

8

10

12

0 10 20 30 40 50 60 70 80 90

tof [time inte rvals]

ca

lcu

lati

on

tim

e[s

ec

]

Page 23: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

סיכום,מסקנות והעתיד

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

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

יותר עם בעיה מורכבת זו, אך הם גם דורשים משאבים רבים.

Page 24: תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים

תודה רבה!