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

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

תרגילי חזרה. General Things to Remember Be careful to identify if we’re talking about gains or costs (because the search cost is always negative) Check.
חיפוש בינה מלאכותית אבי רוזנפלד. סוגי חיפוש כלליים UNINFORMED SEARCH -- חיפושים לא מיודעים במרחי מצבים – BFS – DFS INFORMED SEARCH – חיפושים מיודעים –
פרוייקט מסכם-עיבוד מקבילי
מטרות בבניית התנורמטרות בבניית התנור שהתנור יהיה כמה שיותר קרוב לעיגול, אך שיהיה נוח לבנות אותו. לא נאבד את החום בפינות התנור לא לאבד חום בדפנות התנור.
היכרות עם אקסל 1. 2 נושאי המפגש היכרות עם אקסל – אלכסוני הקסם שימושים בהוראה: מחשבון סודי ופעילות לחנוכה שימושים נוספים: ממוצע.
מכונת מצבים תרגול מס' 4 Moshe Malka.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
Inverse kinematics (Craig ch.4) ב"ה. Pieper’s solution נתבונן ברובוט עם 6 מפרקי סיבוב כאשר שלושת הצירים של המפרקים האחרונים נחתכים. נקודת החיתוך נתונה.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מטרות הפרויקט הבנת בעיית העקיבה לימוד בעיית העקיבה החד ממדית לימוד השימוש במסנן קלמן לפתרונה שימוש בלוגיקה עמומה לשיפור הפתרון לימוד בעיית העקיבה הדו.
Power Consumption Awareness by using a Pedometer המעבדה לרשתות מחשבים המעבדה לרשתות מחשבים סמסטר אביב תשס " ח סמסטר אביב תשס " ח מנחים: איתי דברן – המעבדה.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
המעבדה לבקרה ורובוטיקה 1 חקירה אמפירית של ניתוב תחרותי ברשתות תקשורת מגישים : דרור עמר & איתי ג ' ורג ' י מנחה : ישי מנשה סמסטר : חורף תשס "
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
The Solar Wind And its consequences. dx dA משוואות בסיסיות בהידרו דינמיקה הכח הפועל כתוצאה מגרדיאנט בלחץ על אלמנט מסה - dm.
מבוא להנדסת חשמל מעגל מסדר שני.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
1 מבוא למדעי המחשב מבנה של תכנית. 2 מבנה של תכנית – חלוקה לקבצים  תכנית בשפת C הינה אוסף של הגדרות של:  משתנים (חיצוניים)  פונקציות  ניתן לפרוש תכנית.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
בעיות חיפוש – informed search בינה מלאכותית יעל נצר.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
הרחבות המודל הבסיסי של היצע העבודה ד"ר אנליה שלוסר.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
01/01/01 אמיר ווינשטוק עירן חוף שקופית מס ’ 1 מימוש ובדיקת אלגוריתם ללמידה ע"י חיזוקים עבור רובוט המשחק הוקי - אויר : מגישים עירן חוף אמיר ווינשטוק : מנחה.
Motion planning via potential fields תומר באום Based on ch. 4 in “Principles of robot motion” By Choset et al. ב"הב"ה.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
1 חקירת טרנזיסטור קוונטי הנשלט על ידי שינויי תדר Frequency Controlled Quantum Transistor מבצע : חן טרדונסקי מנחה : ד " ר אראל גרנות.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
אלכסנדר ברנגולץ דואר אלקטרוני: אלכסנדר ברנגולץ דואר אלקטרוני: פעולות מורפולוגיות.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
Particle Filter תומר באום ב"ה. מוטיבציה אנו רוצים להעריך מצב של מערכת (מיקום,מהירות טמפרטורה וכו') בעזרת מדידות שנעשות בזמנים שונים. ( כמו טווח לנקודות.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
בקרה תומר באום ב"הב"ה. סוגי בקרה חוג פתוח Open-loop control : אנו מכוונים את הרובוט למצב הבא שהוא אמור להיות בו לפי מודל מסוים, כמו שעשינו בקינמטיקה הפוכה.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
חיפוש לוקלי Local Search.
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
השוואה בין אלגוריתמים של ניווט רובוט דרך מכשולים
משימת חקר מכוון ללמידה משמעותית
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
הנעה חשמלית.
סוגי משתנים קרן כליף.
NG Interpolation: Divided Differences
Presentation transcript:

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

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

מפת המשימה בסיס המראה: מטרה: בסיס נחיתה: מכשול:

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

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

המודל-מפרט כלי הטיס מהירות טיסה מרבית-משתנה בהתאם לסוג הכטב"מ: בערך 100 קמ"ש תאוצה מקסימלית לא לינארי אילוץ לינארי ולכן מתאים לתכנות לינארי

הכלים לפתרון: בעיית אופטימיזציה MILP (Mixed Integer Linear Programming) : היא פונקצית העלות, אותה ממזערים הם וקטורי המשתנים ( ממשיים ושלמים בהתאמה) מכילות את האילוצים פתרון בעזרת אלגוריתם Branch and Bound

- תוכנה למידול ופתרון של בעיות אופטימיזציה AMPL ניסוח האילוצים ופונקצית המטרה בצורה לינארית בכל פעם מתכננים מסלול של 10 צעדי זמן לפעמים אין/ לא נמצא פתרון- מנסים לפתור בעיה מצומצמת מאפשרת פתרון בזמן אמת ע"י עדכון המודל שמתקבל מהמטלב

ניסוח המודל ב 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 לחפש פתרון עם זמן טיסה מינימלי כל הפונקציות לינאריות במשתני הפתרון.

ניסוח המודל ב 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 (בצד ה"מותר"). לכן אם עבור זמן כלשהו ומכשול כלשהו פרוש הדבר שהמטוס נמצא מחוץ למכשול. מכאן נובעת הדרישה על קיום התנאי השני.

ניסוח המודל ב 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).

הממשק בין התוכנות השונות במהלך הפתרון יצירת קובץ המודל מסוג mod. ע"י שימוש בשפת המידול AMPL. יצירת קובץ ההרצה של המודל מסוג run. בקובץ ההרצה יוגדרו הפרמטרים של הריצה כגון שמו של קובץ המודל, קבצי הקלט (שמיוצרים ע"י מנהל הסימולציה), הגדרת הפותרן (במקרה שלנו cplex) ופרמטרים שונים עבור הפותרן כגון דיוק, הגדרת פרמטרי הפלט של הפותרן ואת הקבצים אליהם נרצה לכתוב את תוצאות הפתרון. הממשק בין AMPL לבין הפותרן CPLEX נעשה ע"י תוכנת ביניים ששמה AMPL-CPLEX. מנהל הסימולציה במקרה שלנו יהיה MATLAB שיכתוב את קבצי הקלט לקובץ ההרצה של המטוס ולאחר מכן יאסוף את תוצאות הפתרון מקבצי הפלט שהוגדרו בקובץ ההרצה וימשיך בהתאם.

Allocation Problem איך להקצות את המטרות למטוסים כדי לקבל זמן טיסה מינימלי ולשמור על זמן אמת? אנו בחרנו להשתמש במרחק האווירי הישיר כאומדן לזמן הטיסה. הקצאה ראשונית נעשית לכל המל"טים בו זמנית כאשר כטב"מ מגיע למטרה הוא טס למטרה הקרובה אליו שלא הוקצתה עדיין.

תרשים זרימה יצירת המפה ואתחול המודל מחפש פתרון ב-10 צעדי זמן או פחות בצע צעד ראשון של הפתרון עדכון מפת ומצב המשימה יוצר בעיה מצומצמת ומנסה לפתור אותה הקצאת מטרות למל"טים סימולציה למל"ט יחיד הפחתת מהירות למהירות מינימלית נמצא פתרון ? כן לא נמצא פתרון ? כן לא המל"ט הגיע למטרה? כן לא

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

תוצאות: (2 מל"טים 4 מטרות 4 מכשולים) Y [horizontal distance] בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map X [vertical distance]

תוצאות: (2 מל"טים 6 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: X [vertical distance] Flight Map Y [horizontal distance]

תוצאות: (מל"ט יחיד 6 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]

תוצאות: (2 מל"טים 7 מטרות 4 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]

תוצאות: (3 מל"טים 6 מטרות 3 מכשולים) בסיס המראה: מטרה: בסיס נחיתה: מכשול: Flight Map Y [horizontal distance] X [vertical distance]

דיון על ביצועי זמן אמת אלגוריתמי פתרון אחרים דוגמת: shortest path Dijkstra's או Networks Neural הם בעלי סיבוכיות זמן גדולה בהרבה לכן לא מתאפשר תכנון המסלול בזמן הטיסה. מכאן מתחייבת ידיעת מפת המשימה כולה עוד לפני העלייה לאוויר. לכן השיטות הללו לא מאפשרות עדכון מפת המשימה בזמן הביצוע, פעילות בסביבה לא ידועה או שימוש בטכניקה של "אופק נסוג" כאשר הכלי "רואה" רק אזור ברדיוס מסויים סביבו. בשנים האחרונות הושקעו מאמצים ותקציבים רבים בחיפוש אחר פתרון בזמן אמת עד כה רק MILP נמצאה כעונה על הדרישות.

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

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

תודה רבה!