1 / 24

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

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

gavin
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 {iin 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 מכשולים) Flight Map בסיס המראה: מטרה: בסיס נחיתה: מכשול: Y [horizontal distance] X [vertical distance]

  17. תוצאות: (2 מל"טים 6 מטרות 4 מכשולים) Flight Map בסיס המראה: מטרה: בסיס נחיתה: מכשול: Y [horizontal distance] X [vertical 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 pathDijkstra's או Networks Neural הם בעלי סיבוכיות זמן גדולה בהרבה • לכן לא מתאפשר תכנון המסלול בזמן הטיסה. • מכאן מתחייבת ידיעת מפת המשימה כולה עוד לפני העלייה לאוויר. • לכן השיטות הללו לא מאפשרות עדכון מפת המשימה בזמן הביצוע, פעילות בסביבה לא ידועה או שימוש בטכניקה של "אופק נסוג" כאשר הכלי "רואה" רק אזור ברדיוס מסויים סביבו. • בשנים האחרונות הושקעו מאמצים ותקציבים רבים בחיפוש אחר פתרון בזמן אמת • עד כה רק MILP נמצאה כעונה על הדרישות.

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

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

  24. תודה רבה!

More Related