Download presentation
Presentation is loading. Please wait.
1
תכנון מסלולים אופטימלי עבור כלי טיס בלתי מאויישים בעזרת תכנות במשתנים מעורבים יבגני מישאלוב עמיחי פרי מנחה: ד"ר מרק מולין
2
רקע כלי טיס בלתי מאויישים (כטב"מ) משמשים למגוון רחב של משימות בשדה המערכה המודרני: ריגול, הפצצה, תקשורת, סיור בשנים האחרונות נעשו מחקרים רבים בנושא של תכנון מסלולים אופטימלי עבור מספר כטב"מים ("נחיל"). המטרה: לאפשר טיסה עצמאית של הנחיל להשגה אופטימלית של המטרה. הבעיה: בגלל הסיבוכיות הגדולה הייתה התעלמות מפתרון של הבעיה בזמן אמת ומהאילוצים שנובעים מהמגבלות הפיסיקליות. הפתרון – תכנות לינארי במשתנים מעורבים ((MILP.
3
מפת המשימה בסיס המראה: מטרה: בסיס נחיתה: מכשול:
4
הגדרת המשימה: כל כטב"מ מתחיל מעל בסיס המראה במהירות כלשהי כיסוי מלא של המטרות – מעל כל מטרה עובר כטב"מ כל כטב"מ נוחת באחד מבסיסי הנחיתה הפרושים מחפשים מסלול עם זמן טיסה מינימלי המסלול לא עובר מעל מכשולים מסלול פיסיקלי: כפוף למהירות ותאוצה מרביות אפשרות לעדכונים בזמן אמת
5
המודל: דיסקרטיזציה של מסלול הטיסה לקטעי זמן פתרון משוואות התנועה בכל קטע זמן:
6
המודל-מפרט כלי הטיס מהירות טיסה מרבית-משתנה בהתאם לסוג הכטב"מ: בערך 100 קמ"ש תאוצה מקסימלית לא לינארי אילוץ לינארי ולכן מתאים לתכנות לינארי
7
הכלים לפתרון: בעיית אופטימיזציה MILP (Mixed Integer Linear Programming) : היא פונקצית העלות, אותה ממזערים הם וקטורי המשתנים ( ממשיים ושלמים בהתאמה) מכילות את האילוצים פתרון בעזרת אלגוריתם Branch and Bound
8
- תוכנה למידול ופתרון של בעיות אופטימיזציה AMPL ניסוח האילוצים ופונקצית המטרה בצורה לינארית בכל פעם מתכננים מסלול של 10 צעדי זמן לפעמים אין/ לא נמצא פתרון- מנסים לפתור בעיה מצומצמת מאפשרת פתרון בזמן אמת ע"י עדכון המודל שמתקבל מהמטלב
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]); כאשר M הוא מספר גדול מאוד ("אינסוף") ו pos[i,t] משתנה המכיל את ערכי x ו y של מיקום המטוס בזמן t. לכן הסכום כאשר הסכימה היא על צעדי הזמן שווה לזמן הטיסה המתוכנן מכאן שהשורה לעיל מורה לAMPL לחפש פתרון עם זמן טיסה מינימלי כל הפונקציות לינאריות במשתני הפתרון.
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; כאשר dt הוא אינטרוול הזמן (פרמטר) ו vel[i,t], acc[i,t] משתנים המייצגים את וקטורי התאוצה והמהירות בזמנים השונים. האילוצים הללו מתקיימים בכל צעד זמן לאורך הפתרון ולכן זהו סט של אילוצים. אילוצי מכשולים: 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 מימדי של משתנים בינאריים. האילוץ הראשון מבטיח ש אם אז בזמן t המטוס נמצא מחוץ לצלע i של המכשול k (בצד ה"מותר"). לכן אם עבור זמן כלשהו ומכשול כלשהו פרוש הדבר שהמטוס נמצא מחוץ למכשול. מכאן נובעת הדרישה על קיום התנאי השני.
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; כאשר velmax ו accmax הם פרמטרי המהירות והתאוצה המקסימליים. המעגל ברדיוס velmax\accmax מוחלף בפוליגון בעל nd צלעות שחוסם אותו – וזהו אילוץ לינארי. לסיכום, נשים לב שחלק מהמשתנים עליהם מבצעים אופטימזיציה הם בינאריים (ולכן מסוג Integer) וחלקם ראציונליים. כמו כן פונקצית העלות וכל הפונקציות המופיעות באילוצים הן לינאריות במשתנים אלה. לכן הבעיה היא אכן בעיית תכנות לינארי במשתנים מעורבים (MILP).
12
הממשק בין התוכנות השונות במהלך הפתרון יצירת קובץ המודל מסוג mod. ע"י שימוש בשפת המידול AMPL. יצירת קובץ ההרצה של המודל מסוג run. בקובץ ההרצה יוגדרו הפרמטרים של הריצה כגון שמו של קובץ המודל, קבצי הקלט (שמיוצרים ע"י מנהל הסימולציה), הגדרת הפותרן (במקרה שלנו cplex) ופרמטרים שונים עבור הפותרן כגון דיוק, הגדרת פרמטרי הפלט של הפותרן ואת הקבצים אליהם נרצה לכתוב את תוצאות הפתרון. הממשק בין AMPL לבין הפותרן CPLEX נעשה ע"י תוכנת ביניים ששמה AMPL-CPLEX. מנהל הסימולציה במקרה שלנו יהיה MATLAB שיכתוב את קבצי הקלט לקובץ ההרצה של המטוס ולאחר מכן יאסוף את תוצאות הפתרון מקבצי הפלט שהוגדרו בקובץ ההרצה וימשיך בהתאם.
13
Allocation Problem איך להקצות את המטרות למטוסים כדי לקבל זמן טיסה מינימלי ולשמור על זמן אמת? אנו בחרנו להשתמש במרחק האווירי הישיר כאומדן לזמן הטיסה. הקצאה ראשונית נעשית לכל המל"טים בו זמנית כאשר כטב"מ מגיע למטרה הוא טס למטרה הקרובה אליו שלא הוקצתה עדיין.
14
תרשים זרימה יצירת המפה ואתחול המודל מחפש פתרון ב-10 צעדי זמן או פחות בצע צעד ראשון של הפתרון עדכון מפת ומצב המשימה יוצר בעיה מצומצמת ומנסה לפתור אותה הקצאת מטרות למל"טים סימולציה למל"ט יחיד הפחתת מהירות למהירות מינימלית נמצא פתרון ? כן לא נמצא פתרון ? כן לא המל"ט הגיע למטרה? כן לא
15
הבעיה המצומצמת: יוצרת מסלול ביניים לצורך התחמקות ע"י פתרון בעיה מצומצמת: הפתרון אדפטיבי: אם עדיין אין פתרון הכטב"מ מפחית מהירות למהירות מינימלית כדי להעלות זמן תגובה ולאפשר יותר יכול תמרון עד שנמצא פתרון הבעיה המקורית הבעיה המצומצמת
16
תוצאות: (2 מל"טים 4 מטרות 4 מכשולים) Y [horizontal distance] בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map X [vertical distance]
17
תוצאות: (2 מל"טים 6 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: X [vertical distance] Flight Map Y [horizontal distance]
18
תוצאות: (מל"ט יחיד 6 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]
19
תוצאות: (2 מל"טים 7 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]
20
תוצאות: (3 מל"טים 6 מטרות 3 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]
21
דיון על ביצועי זמן אמת אלגוריתמי פתרון אחרים דוגמת: shortest path Dijkstra's או Networks Neural הם בעלי סיבוכיות זמן גדולה בהרבה לכן לא מתאפשר תכנון המסלול בזמן הטיסה. מכאן מתחייבת ידיעת מפת המשימה כולה עוד לפני העלייה לאוויר. לכן השיטות הללו לא מאפשרות עדכון מפת המשימה בזמן הביצוע, פעילות בסביבה לא ידועה או שימוש בטכניקה של "אופק נסוג" כאשר הכלי "רואה" רק אזור ברדיוס מסויים סביבו. בשנים האחרונות הושקעו מאמצים ותקציבים רבים בחיפוש אחר פתרון בזמן אמת עד כה רק MILP נמצאה כעונה על הדרישות.
22
חקר ביצועים הרצנו את הסימולציה עבור כטב"מ יחיד ומס' מטרות ומכשולים גדל (ממוקמים באקראי). בכל פעם בדקנו את את הזמן שלקח לפתרון מול זמן הטיסה הכולל שהתקבל מהסימולציה קבלנו את הגרף הבא: שיפוע הגרף: זמן החישוב הממוצע שנדרש לכל צעד זמן והוא קטן מ שהוא אינטרוול הזמן
23
סיכום,מסקנות והעתיד למדנו את הבעיה של תכנון מסלולים אופטימלי בעזרת תכנות לינארי במשתנים מעורבים. הרכבנו מודל לבעיה זו: פונקציות מטרה ואילוצים למדנו את השימוש בתוכנת AMPL לפתרון. הרכבנו סימולציית זמן אמת ב MATLAB. אלו כלים חזקים שמאפשרים התמודדות טובה יותר עם בעיה מורכבת זו, אך הם גם דורשים משאבים רבים.
24
תודה רבה!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.