אוניברסיטת בן-גוריון בנגב הפקולטה למדעי ההנדסה המחלקה להנדסת מכונות בקרת רכב אוטונומי חיבור זה מהווה חלק מהדרישות לקבלת תואר מגיסטר למדעים בהנדסת מכונות מאת: אנור תומר טבת תשס"ד ינואר 2004 אוניברסיטת בן-גוריון בנגב הפקולטה למדעי ההנדסה המחלקה להנדסת מכונות בקרת רכב אוטונומי חיבור זה מהווה חלק מהדרישות לקבלת תואר מגיסטר למדעים בהנדסת מכונות מאת: אנור תומר מנחה: דר' נדב ברמן חתימת המחבר: תאריך: אישור המנחה: תאריך: אישור יו"ר ועדת מוסמכים מחלקתית: תאריך: טבת תשס"ד ינואר 2004 דף תודות ברצוני להודות לדר' נדב ברמן על מסירותו והשקעתו הרבים בהנחיית עבודת מחקר זו. תקציר בשנים אחרונות נכתב מספר רב של עבודות מחקר ומאמרים העוסקים בבעיית הבקרה של מערכות לא הולונומיות בכלל ובכלי רכב אוטונומיים בפרט .עבודה זו דנה בתכנון מערכות בקרה עבור שליטה ברכב אוטונומי הנע במישור אופקי ובשימוש בשיטות בקרה שונות לצורך השגת פתרון לשתי בעיות: .i עקיבה אחרי מסלול נתון – .Trajectory tracking .ii התכנסות לראשית ממצב התחלתי כלשהו – :Point stabilizationהרכב נדרש להגיע לנקודה רצויה במישור מכל מצב התחלתי נתון. הרכב הנדון מסוגל לבצע תנועה אוטונומית )ללא נהג( באמצעות מנועים המבוקרים ע"י מחשב מובנה בתוכו .המערכת מתוארת ע"י מודל קינמטי לא ליניארי המתקבל מאילוצים לא הולונומיים ולכן קיים קושי רב במציאת בקרים מתאימים אשר יספקו את הדרישות שצוינו למעלה .למערכת הנ"ל שתי כניסות :מהירות קווית ומהירות זוויתית של היגוי. למרות שהניסיון האנושי מלמד שרכב הוא מערכת קונטרולבילית ,קשה להוכיח זאת על בסיס מתמטי .בעבודה זו נוכיח טענה זו באמצעות שימוש בכלים מגיאומטריה דיפרנציאלית ונדון במבנה המיוחד של הבקרים הנדרשים לפתרון הבעיות שהוצגו למעלה אשר נובעים מהמבנה הייחודי של המודל הקינמטי. בבעיה iהמטרה היא לעקוב אחר מסלול שנקבע מראש .בגלל העובדה שמודל העקיבה הוא לא ליניארי אחת השיטות בבקרה לא ליניארית היא ביצוע ליניאריזציה ומציאת בקר מתאים למערכת ליניארית .לאחר ביצוע ליניאריזציה ביחס למסלול מתקבלת מערכת ליניארית תלויה בזמן .בהמשך נוכיח קונטרלביליות של המערכת הליניארית ולאחר מכן נציע בקרים אופטימאליים ובקרים המבוססים על בקרת ∞ . Hבשיטת ∞ Hנכיר בתור הפרעות את האיברים הלא- ליניאריים שהושמטו בעת ביצוע הליניאריזציה .נראה גם בסימולציות כי הבקר שנציע גורם להתכנסות די מהירה למסלול תוך שמירה על גודלן החסום של הכניסות .חשוב לזכור כי בקרים אלה מייצבים מקומית ולא גלובלית ,דהיינו מובטחת התכנסות מסביבה קרובה מספיק למסלול ,אך נראה בהמשך כיצד להתגבר גם על הבעיה הזו .שיטה נוספת בה נשתמש לצורך פתרון הבעיה הנ"ל היא LMIsבאמצעותה ניתן לקבל בקר קבוע בזמן – הדבר חוסך בחישובים וזיכרון הנדרשים לפתרון הבעיה בשיטות אחרות. לפתרון הבעיה iiהדרך הפשוטה והיעילה ביותר היא להשתמש בהתמרות לא רציפות לקבלת מערכת בעלת תת- מערכת ליניארית וקבועה בזמן וכך פיתוח חוק בקרה אשר משיג התכנסות אקספוננציאלית הופך לטריוויאלי .את אופן פעולתו ויעילותו של הבקר ניתן לראות בסימולציות מצורפות. I תוכן עניינים תקציר.......................................................................................................................... I תוכן עניינים.................................................................................................................. II רשימת איורים וטבלאות.................................................................................................. III מבוא וסקר ספרות.......................................................................................................... V פרק 1המודל הקינמטי..................................................................................................... 2 פרק 2קונטרולביליות )..........................................................................(Controllability 5 2.1קונטרולביליות של המודל הקינמטי................................................................... 5 2.2קונטרולביליות ביחס למסלול.......................................................................... 7 2.3צורות שרשרת – .................................................................Chained Forms 10 פרק 3עקיבה אחרי מסלול............................................................................................... 13 3.1קבלת משוואות ייחוס של המסלול.................................................................... 13 3.2.1תכנון בקר אופטימאלי........................................................................ 15 3.2.2בקרה אופטימאלית ושימוש במודל שרשרת............................................ 20 3.3.1בקרה באמצעות בקרת ∞ ................................................................ H 24 3.3.2בקרה באמצעות תורת הבקרה ∞ Hושימוש בצורות שרשרת..................... 29 3.4בקרה באמצעות (Linear Matrix Inequality) LMIsוצורות שרשרת................. 35 פרק 4התכנסות לנקודה רצויה.......................................................................................... 44 פרק 5סיכום ומסקנות..................................................................................................... 48 נספחים 49 נספח א – צורות שרשרת .......................................................................Chained forms 50 נספח ב -גיאומטריה דיפרנציאלית.................................................................................... 51 נספח ג -בקרה אופטימאלית........................................................................................... 53 נספח ד -בקרת ∞ .................................................................................................... H 57 נספח ה – פתרון אי – שוויונים מאטריציוניים ליניאריים............................................LMIs - 59 מקורות........................................................................................................................ 61 II רשימת איורים איור - Iקלסיפיקציית בעיות בקרת תנועה: ( a) Point to point motion (b) Path following (c) Trajectory tracking איור – 2קואורדינטות כלליות של unicycle איור - 3קואורדינטות כלליות של הרכב תוצאות סימולציה – עקיבה אחרי מסלול: בקרה אופטימאלית: איור – 4רכב בעל 4גלגלים איור – 5כניסות איור – 6שגיאות בקרה אופטימאלית ושימוש במודל שרשרת: איור – 6קואורדינטות של הרכב איור – 7כניסות איור – 8שגיאות בקרה באמצעות בקרת ∞ : H איור – 9קואורדינטות של הרכב איור – 10כניסות איור – 11שגיאות בקרה באמצעות תורת הבקרה ∞ Hושימוש בצורות שרשרת: איור – 12קואורדינטות של הרכב איור – 13כניסות איור – 14שגיאות בקרה באמצעות (Linear Matrix Inequality) LMIsוצורות שרשרת – אפשרות א': איור – 15קואורדינטות של הרכב איור – 16כניסות איור – 17שגיאות בקרה באמצעות (Linear Matrix Inequality) LMIsוצורות שרשרת – אפשרות ב' : איור – 18קואורדינטות של הרכב איור – 19כניסות איור – 20שגיאות תוצאות סימולציה – התכנסות לנקודה רצויה: III בקרה אופטימאלית: איור - 7משתני המצב איור -8כניסות IV מבוא וסקר ספרות לאחרונה התפרסמו עבודות מחקר ומאמרים רבים העוסקים בבעיית הבקרה של מערכות לא הולונומיות בכלל וברובוטים ניידים בפרט .עבודה זו עוסקת בפתרון בעיות הבקרה של רכב אוטונומי הנע במישור אופקי .ניתן להראות כי הקונפיגורציה של רכב זה מיוצגת ע"י מיקום x, yואוריינטציה θשל גוף הרכב במישור וזווית גלגלי ההיגוי . φ בקרת התנועה מתבצעת ע"י שתי כניסות מהירות – מהירות קווית של מרכז ציר הגלגלים האחורי υ1ומהירות סיבובית של גלגלי ההיגוי ) υ 2ראה למשל ]:([1 x& cosθ 0 y& sin θ = υ1 + 0 υ 2 . θ& tan φ / l 0 & φ 0 1 לרכב יש תכונת לא-הולונומיות ) (nonholonomityאשר נובעת מהנחה שגלגליו מתגלגלים ללא החלקה .תכונה זו גוררת מספר אילוצים דיפרנציאליים ולא אינטגרביליים מסדר ראשון על משתני הקונפיגורציה .האילוצים הללו מורידים את מספר התנועות אפשריות )דרגות חופש( אך בכל זאת מאפשרים קונטרולביליות של מרחב הקונפיגורציה. החלק השלישי של ] [2עוסק כולו ברובוטים ניידים .ניתן למצוא תיאור מפורט וענייני בקבלת מודלים קינמטיים וגם דינאמיים ומציע מספר חוקי בקרה עבור המודלים הקינמטיים של רובוטים ניידים שונים ולא רק .car-like robot בספר אף ניתן למצוא מידע רב על קלסיפיקציה של רובוטים לפי מאפיינים מבניים. כעת נציג קלסיפיקציה של בעיות בקרת תנועה של רכב אוטונומי ונדון בקשיים המתעוררים בזמן מציאת בקרים מתאימים לכל בעיה: • :Point to point motionהרכב צריך להגיע לנקודה רצויה במישור מכל מצב התחלתי. • :Path followingהרכב צריך להגיע ולעקוב אחרי עקום גיאומטרי במישור מכל מצב התחלתי )על העקום או מחוצה לו(. • :Trajectory trackingהרכב צריך להגיע ולעקוב אחרי מסלול במישור )ז"א עקום במישור עם חוקיות כלשהי בזמן – המהווה ציר נוסף( מכל מצב התחלתי )על המסלול או מחוצה לו(. שלושת הבעיות מיוצגות היטב באיור מס' .1 V איור - IXקלסיפיקציית בעיות בקרת תנועה( a) Point to point motion (b) Path following (c) Trajectory tracking: ניתן לנסח את בעעית ה Point to point motion-כבעיית התייצבות בנקודת שיווי משקל כלשהי .פתרון הבעיה מסובך כי למרות שהמודל הקינמטי קונטרולבילי )נוכיח זאת במהמשך( ,הוא איננו עונה על דרישות מספיקות לייצוב ע"י משוב חלק לא תלוי בזמן ) .(Brocket’s theoremמשמעות הדבר שהבקרים המתאימים לפתרון בעיה זו הם משובים לא חלקים ו/או תלויים בזמן. בגלל העובדה שמערכות לא הולונומיות אינן עומדות בקריטריון ,(Brockett 1983) Brockettלא ניתן לייצבן אסימפטוטית לנקודות שיווי משקל ) (Point to point motionע"י משוב מצב חלק ) .(Bloch et al. 1992הדרך המקובלת למציאת בקר הפותר את הבעיה היא להמיר את המודל הקינמטי ,תוך שימוש בהתמרות מתאימות של כניסות ויציאות ,לצורות קנוניות מקובלות ובעזרתן ניתן לתכנן את הבקר בקלות רבה יותר: ) Chained system (Murray and Sastry 1991ו Power system (M’Closkey and Murray 1992) -הן שתי צורות קנוניות של מערכות לא הולונומיות החשובות ביותר: VI x&1 = u1 x& 2 = u 2 = x 2 u1 = x n −1u1 . = u1 Chained Form . x& 3 M x& n 1 2 y& 4 = y1 u 2 2 M 1 n−2 = y& n y1 u 2 . !)(n − 2 y&1 y& 2 = u 2 y& 3 = y1u 2 Power Form . תוך שימוש בצורות אלגבריות של הצורות הקנוניות התפתחו מספר חוקי בקרה יעילים כגון משוב תלוי בזמן ,משוב לא רציף וכו' )ראה ] [1ובמקורותיו(. במאמר ] [8משיגים התייצבות הרכב למצב רצוי ע"י שימוש באוסצילטור לא ליניארי מהצורה ] − nW ] − ω z , [ = − µ z [z z&1 = − µ z1 z12 + z 22 − nW − ω z 2 1 2 2 +z 2 1 2 z& 2 כאשר W ≥ 0הנה פונקציה כלשהי של משתני המצב ,להשגת גמישות מרבית לעומת האוסצילטור הליניארי z&1 = −ω z 2 z& 2 = ω z1 . במאמר מוצעים שני בקרים שונים המבוססים על שני אוסצילטורים לא ליניאריים :הבקר הראשון הוא דינאמי ולפיכך פעולת הבקרה שהוא מציג חלקה ,לעומת זאת הבקר השני איננו חלק לחלוטין אך בלתי תלוי בזמן .הבקר הראשון מבטיח יציבות גלובלית ביחס למצב רצוי ואילו הבקר השני מבטיח יציבות ביחס למצב רצוי. לאחרונה התפרסם גם המאמר ] [3הפותר את הבעיה בשיטה חדישה והיא Extended non-holonomic .integratorsבשיטה זו ,תוך שימוש בטכניקה רקורסיבית לבניית בקרי משוב מצב ממירים מערכת לא הולונומית באופן רקורסיבי n − 2פעמים )כאשר nהנו המימד של וקטור משתני המצב( .את המערכת החדשה ניתן לייצב אקספוננציאלית ע"י קביעה בצורה מפורשת את קצב ההתכנסות של כל משתנה המצב. בבעיית ה Path following-ניתן לבקר תיאור גיאומטרי של עקום .המידע הזה בדרך כלל ניתן בצורה פרמטרית המבטא את התנועה הרצויה באמצעות פרמטר העקום , σאשר יכול להיות ,לדוגמא ,אורך הקשת לאורך העקום .לכן, התלות בזמן אינה רלוונטית מכיוון שאנו דנים בתזוזות גיאומטריות בין הרכב לעקום .בהרבה מקרים קובעים את כניסת המהירות הקווית של הרכב כקבועה או פונקציה כלשהי של הזמן ומבקרים את הרכב ע"י כניסת מהירות ההיגוי .כך ממירים את בבעיית ה Path following-לבעיית התייצבות לאפס של פונקצית שגיאה סקלארית מתאימה )המרחק d באיור ) (1 (bתוך שימוש בכניסת בקרה יחידה. VII בעיה זו דומה לבעיה לבעיית Trajectory trackingאך בבעיה זו אנו דורשים התכנסות לראשית של שלושה משתני מצב לאפס ועליה מונוטונית בערכו של משתנה המצב הרביעי אשר מייצג פרמטר אורך קשת המסלול .שתי הגישות אשר מוצגות ומוסברות ב [1]-ובמקורותיו לפתרון הבעיה והן Path following via input scaling :ו- .Skew-symmetric chained forms and Lyapunov control design בשיטה הראשונה ,בעזרת טרנספורמציה מתאימה של משתני המצב וכניסות: t χ~1 = x1 − ∫ x1 (τ )dτ ] x2 0 x3 Χ 2 = [x 4 מקבלים את המערכת הבאה: χ~& 1 = 0 0 u1 & Χ 2 = 0 0 0 0 0 0 u1 Χ 2 + 0u 2 , 1 0 ניתן להסיק כי כאשר ) u1 (tהיא פונקציה רציפה ,חסומה וחיובית תמיד )או שלילית( ,חלקה השני של המערכת הנ"ל בעל מבנה של מערכת ליניארית קונטרולבילית .לאחר קביעת ) u1 (tלפי התנאים שנקבעו נשאר רק לבחור את חוק הבקרה u 2שיגרום ל Χ 2 -להתכנס לראשית .ראוי להדגיש כי משתנה המצב χ 1מציין את פרמטר העקום שגדל מונוטונית בקצב המוכתב ע"י ) . u1 (t בשיטה השניה ,תוך התמרה מתאימה של משתני המצב וכניסות ,מקבלים את המערכת הבאה: z&1 = u1 z& 2 = u1 z 3 z& 3 = − k1u1 z 2 + u1 z 4 z& 4 = −k 2 u1 z 3 + w2 . המבנה ה skew symmetric-של המערכת הנ"ל נראה אם כותבים את המערכת באופן הבא: z&1 = u1 Z& 2 = diag{1, k1 , k1 k 2 }⋅ (S (u1 )Z 2 + bw2 ), כאשר 0 b = 0 . 1 (k1 k 2 ) 0 u1 k1 , 0 u1 0 − u1 k1 0 S (u1 ) = − u1 0 המערכת הנ"ל מותאמת לאנליזה באמצעות תיאוריה של Lyapunovוניתן למצוא בקלות חוק בקרה הפותר את בעיית ה. Path following-ההבדל העיקרי בין שני הבקרים שהוא מאפשר לכניסת המהירות הראשונה לעבור דרך אפס )או במלים אחרת לנסוע אחורה( ,מה שלא ניתן לעשות תוך שימוש בבקר הראשון. מאמר ] [9אף הוא פותר את בעיית ה Path following-של רובוט נייד ומציע שני חוקי בקרה באותן טכניקות כמו במאמר קודם ,אך הוא עסק במודל הקינמטי של Unicycleעם הרחבה דינאמית לשם הדמיית המצב האמיתי: VIII x& c υ c cos θ c y& c υ c sin θ c & = υ χ . θ c c c χ& u c c בבעיית ה Trajectory tracking-הרכב צריך לעקוב אחרי מסלול במישור עם חוקיות כלשהי בזמן )או מזווית ראיה אחרת אחרי רכב הייחוס( .בעיית היא הבאה לאפס של שגיאה קרטזית דו-ממדית ) eראה באיור ) (1 (cתוך שימוש בשתי כניסות הבקרה. עבור שתי הבעיות האחרונות המתכנן צריך לספק עקום קביל מבחינה קינמטית )ז"א העונה על דרישות האילוצים הלא הולונומיים של הרכב(. מנקודת המבט של אנשי בקרה ,הבעיות שהוגדרו הן עבור מערכת לא ליניארית , q& = G (q )υהמתארת את המודל הקינמטי של הרכב q .הנו וקטור - nמימדי υ ,הנו וקטור - mמימדי של כניסות המהירות ) (n > mוהעמודות ) g i (i = 1,K , mשל המטריצה Gהן שדות וקטוריים חלקים .עבור n = 4 car-like robotו . m = 2 -המודל הקינמטי מתקבל בפשטות מאילוצי הגלגול הלא-אינטגרביליים שהזכרנו. אנו נראה ,כי אם נבצע ליניאריזציה של המודל הקינמטי ביחס לקונפיגורציה קבועה ,המערכת הליניארית שתתקבל לא תהיה קונרולבלית .מצד שני ,אם נבצע ליניאריזציה ביחס למסלול חלק נקבל מערכת ליניארית תלויה בזמן וקונטרולבילית )בהנחה שהמסלול עונה על תנאים שנגדיר מאוחר יותר(. לפתרון בעיית Trajectory trackingיש שתי גישות עיקריות – מקומית וגלובלית .בגישה ראשונה עושים ליניאריזציה של המערכת יחסית למסלול הרצוי ומקבלים מערכת ליניארית קונטרולבילית ,אך תלויה בזמן .אם נגדיר ) q~ (t ) = q(t ) − q (tו , υ~ (t ) = υ (t ) − υ (t ) -הקרוב הליניארי של המערכת הקינמטית ביחס למסלול הרצוי מתקבל d d ע"י )]:([1 q~& = A(t )q~ + B(t )υ~, כאשר 0 0 . 0 1 ) cos θ d (t ) sin θ (t d B(t ) = tan θ d (t ) / l 0 ) 0 − sin θ d (t )υ d 1 (t 0 ) 0 cos θ d (t )υ d 1 (t 0 , 0 0 υ d 1 (t ) / l cos 2 θ d (t ) 0 0 0 0 0 A(t ) = 0 0 לכן ניתן לתכנן בקר בעזרת כלים של בקרה ליניארית ולקבל התכנסות למסלול בהנחה שהפעלנו אותו מספיק קרוב למסלול. בגישה השנייה משתמשים בטכניקה ידועה של input-output linearizationאו ) [1] full state linearizationעל הטכניקות האלה ניתן למצוא מקרות רבים בספרות ,לדוגמא ב ([4]-באמצעות משוב לא ליניארי סטטי או דינאמי. כתוצאה ,מקבלים מערכת ליניארית במובן input-outputאו :full state IX z&1 = r1 z& 2 = r2 θ& = sin φ [cos(θ + φ )r1 + sin (θ + φ )r2 ] l φ& = −[cos(θ + φ )sin φ l + sin (θ + φ ) ∆ ]r1 − [sin (θ + φ )sin φ l − cos (θ + φ ) ∆ ]r2 , .[1]- שתי הגישות מובאות ומוסברות ב.שניתן לייצבה ע"י בקר משוב פרופורציונלי X בעבודה זו אנו נפתח אלגוריתמים אופטימאליים לקבלת הפתרונות לבעיית העקיבה אחרי המסלול שנקבע מראש ובעיית ההתכנסות למצב נתון ממצב התחלתי כלשהו ונחקור את ביצועיהם על סמך תוצאות הסימולציות .בהמשך גם נראה עדיפות בשימוש בבקרים אופטימאליים להשגת מטרות הבעיות הנ"ל. העבודה מאורגנת באופן הבא: • פרק 1עוסק כולו בפיתוח המודל הקינמאטי של הרכב ובניתוח תכונותיו .נראה שהמודל שמתקבל מאילוץ non-holonomicוהוא לא ליניארי ,מה שמקשה על קבלת חוקי הבקרה שיפתרו את שלושת הבעיות .פרק זה מבוסס על ].[1 • בפרק השני נבחנת שאלת הקונטרולביליות של המודל שהתקבל בפרק הקודם .שוב ,העובדה שהמודל לא ליניארי מקשה לקבוע את הקונטרולביליות של המערכת .לשם כך נעזר בLie Algebra Rank Condition- )המושג יוסבר בהמשך( .בחלק האחרון של הפרק נדון גם בצורות שרשרת ) (Chained Formsשהן צורות קנונויות מאוד חשובות .ב [13]-ניתן למצוא תנאים הכרחיים ומספיקים להמרת המודל הקינמאטי של הרכב לצורת שרשרת .כפי שנראה בפרק הבא נוח יותר לעבוד עם צורות שרשרת בגלל צורתם המיוחדת .גם פרק זה מבוסס על ].[1 • בפרק השלישי נביא מספר פתרונות הפותרים את בעיית העקיבה אחרי מסלול שנקבע מראש – Trajectory .trackingבשלב הראשון נראה כיצד מקבלים מנתוני הבעיה )למעשה ,המסלול הרצוי אליו הרכב צריך להתכנס( את משוואות של רכב ייחוס אליו יתכנס הרכב האמיתי. בקר הראשון שנראה הנו בקר אופטימאלי ] [5שפותח על סמך הליניאריזציה של המודל הקינמטי .בגלל סיבה זו בקר זה אינו מייצב את המערכת האמיתית באופן גלובאלי אלא בסביבה מספיק קטנה של המסלול .ניתנת גם הוכחת היציבות של המודל הליניארי .גם הבקר השני הנו אופטימאלי ,רק הפעם הוא פותח עבור מודל המתקבל מליניאריזציה ביחס למסלול רצוי של המרה של המודל הקינמטי לצורת שרשרת . בבקרים השלישי והרביעי נשתמש בקרוב הליניארי של המודל הקינמטי ושל צורת שרשרת בהתאמה ,אך לא נתעלם מהאיברים הלא-ליניאריים שהושמטו בעת ביצוע הליניאריזציה אלא נתייחס אליהם כאל הפרעות חיצוניות .לשם כך נוח לעשות שימוש בבקרת ∞ . Hכפי שניתן לראות בתוצאות הסימולציה הביצועים של בקרים אלה טובים בהרבה משניים הקודמים ,אך שוב לא נוכל להוכיח יציבות גלובלית כי ההפרעה חסומה רק בסביבת המסלול. על מנת להתגבר על הבעיה של הפרעה לא חסומה ניתן לעשות מניפולאציה מתמטית על צורת שרשרת ולקבל מערכת ליניארית עם הפרעה חסומה ב . L2 -הדבר מאפשר לקבל בקר שייצב את המערכת באופן גלובאלי באמצעות תורת הבקרה ∞ . [14] Hבמקרה זה אנו נראה כי ניתן אף להשתמש ב LMIs-ולקבל בקר משוב פשוט ולא תלוי בזמן. • בפרק הרביעי נפתור את בעיית התכנסות לראשית ממצב התחלתי כלשהו – .Point Stabilizationלפתרון בעיה זו נשתמש בטרנספורמציה מיוחדת מצורת שרשרת ] [3בעזרתה מקבלים תת-מערכת ליניארית קבועה בזמן .גם כאן פותח בקר אופטימאלי. XI הפרקים ) 1המודל הקינמטי( והשני )אנליזת הקונטרולביליות( מבססים על עבודתו של ] [1שביצע אנליזה מתמטית של המודל הקינמטי של הרכב אשר כוללת את פיתוחו וניתוחו מנקודת מבט של בקרה )ליניאריות ,נק' סינגולאריות controllability ,וכו'( .פרקים אלה יסבירו את תהליך קבלת משוואות תנועה ולאחר מכן אנליזת בקרה בצורה מובנת גם לאנשים שלא נתקלו עדיין במערכות בעלות אילוצים מסוג ) nonholonomicהמושג יוסבר בפרק הראשון( בכלל ושל רכב בפרט. 1 .1המודל הקינמטי פרק זה מבוסס בעיקר על ].[1 תכונה חשובה של המודל הקינמטי של רכב היא נוכחות של אילוצים על מהירותו (nonholonomic ) constraintsהנובעים מתנאים של גלגול ללא החלקה .ראשית נדון במקרה של גלגל יחיד. הנחה :הגלגל מתגלגל במישור תוך שימור מצבו האנכי ביחס לקרקע ,כמוראה באיור .1סוג זה של מערכת ידוע בשם unicycleאו רכב - 3גלגלי .משתני המצב של המערכת מתוארים ע"י וקטור qתלת ממדי: x q = y , θ כאשר קואורדינטות המיקום של נקודת המגע עם הקרקע במערכת הצירים הנייחת מיוצגות באמצעות x, yוהזווית θהמתארת את כיוון הגלגל יחסית לציר . xרכיבי מהירויות המערכת & qתלויים בגלל העובדה שהם מקיימים את האילוץ הבא: )(1 x& 0] y& = 0 θ& − cosθ [sin θ אשר קובע כי המהירות הקווית של מרכז הגלגל נמצאת במישור "הגוף" של הגלגל כי המהירות הניצבת הינה אפס .המשוואה ) (1היא דוגמא אופיינית לאילוץ Pfaffianהנתון ע"י . C (q ) q& = 0לכן המודל הקינמטי המתקבל במקרה זה הנו: )(2 0 cos θ q& = sin θ υ1 + 0 υ 2 , 1 0 כאשר υ 2 , υ1הם המהירות הקווית של הגלגל והמהירות הזויתית של הגלגל סביב ציר אנכי בהתאמה. 2 איור – 1קואורדינטות כלליות של ) unicycleלקוח מ([1]- איור - 2רכב בעל 4גלגלים )לקוח מ([1]- נדון כעת ברובוט בעל קינמטיקה זהה לרכב ,כמוראה באיור .2לשם בהירות ההסבר נניח כי שני הגלגלים על כל ציר )קדמי ואחורי( מתלכדים לגלגל יחיד הממוקם בנקודה אמצעית של הציר ).( bicycle model הגלגל הקדמי הוא גלגל היגוי ואילו כיוונו הגלגל האחורי קבוע .הקואורדינטות הכלליות הן x y q = , θ φ כאשר x, yהן קואורדינטות קרטזיות של הגלגל האחורי θ ,הינה זווית גוף הרכב יחסית לציר , xוφ - היא זווית ההיגוי. המערכת נתונה לשני אילוצי מהירות ,אחד לכל גלגל: x& f sin (θ + φ ) − y& f cos(θ + φ ) = 0 x& sin θ − y& cos θ = 0, כאשר x f , y fמייצגים קואורדינטות קרטזיות של הגלגל הקדמי .ע"י שימוש באילוץ הנובע מקשיחות הגוף x f = x + l cos θ y f = y + l sin θ , וכאשר lהנו המרחק בין הגלגלים ,האילוץ הראשון הופך ל- x& sin (θ + φ ) − y& cos(θ + φ ) − θ& l cos φ = 0. מטריצת האילוץ Cתהיה נתונה ע"י 3 0 0 sin (θ + φ ) − cos(θ + φ ) − l cos φ C (q ) = 0 − cos θ sin θ והיא בעלת דרגה קבועה .2 אם הרכב מונע ע"י גלגל אחורי ,המודל הקינמטי שמתקבל הוא )(3 x& cosθ 0 y& sin θ = υ1 + 0 υ 2 , θ& tan φ / l 0 & φ 0 1 כאשר υ 2 , υ1הם כניסות מהירות ההנעה וההיגוי בהתאמה .במודל קיימת סינגולאריות ב. φ = ± π 2 - זה שקול למצב בו הרכב נתקע -הגלגל הקדמי ניצב לציר העובר לאורך הרכב .למרות זאת הסינגולאריות איננה באה לידי ביטוי אם מגבילים טווח ההיגוי . φ המודל של הרכב עם הנעה קדמית מיוצג ע"י: x& cosθ cos φ 0 y& sin θ cos φ = υ1 + 0 υ 2 , θ& sin φ / l 0 & 0 φ 1 כאשר כניסת המהירות υ1מתייחסת כעת לגלגל הקדמי .נשים לב ,כי הסינגולאריות שבמודל הקודם לא קיימת במודל זה; למעשה עבור φ = ± π 2הרכב מסתובב סביב הגלגל האחורי שלו. נוכל להגיע לייצוג נוח באמצעות משוואות קינמטיות של רכב בעל הנעה קדמית ע"י החלפת הקואורדינטות .לצורך העניין נגדיר קואורדינטות מוכללות ) , (x f , y f , δ , θכאשר δ = θ + φהיא זווית היגוי מוחלטת ביחס לציר ה) x -ראה איור .(2ע"י שימוש בטרנספורמציה ω1 = υ1 1 l ω 2 = sin (δ − θ )υ1 + υ 2 , קל להראות: 0 ω1 + 0 ω 2 . 1 l 0 cos δ sin δ = 0 ) sin (δ − θ x& f & y f & δ & θ נשים לב כי שלוש המשוואות הראשונות הן אלה של .unicycleלמעשה ,המודל הנ"ל שקול ל- unicycleבתוספת חלק נגרר ) (trailerהמוצמד למרכז הגלגל .הכניסה החדשה ω 2היא מהירות היגוי מוחלטת של הגלגל הקדמי )ז"א נמדדת ביחס לציר ה.( x - לכל אורך העבודה נעסוק במודל עם הנעה אחורית ).(3 4 .2קונטרולביליות )(Controllability תכונת הקונטרולביליות של מערכת תהיה חיונית בהמשך כאשר נפתח בקרים הפותרים את שתי הבעיות שהוגדרו: .i עקיבה אחרי מסלול נתון – .Trajectory tracking .ii התכנסות לראשית ממצב התחלתי כלשהו – :Point stabilizationהרכב נדרש להגיע לנקודה רצויה במישור מכל מצב התחלתי נתון. עבור הבעיה ) (iנחוץ לבדוק את הקונטרולביליות של הקרוב הליניארי של המודל הקינמטי ביחס למסלול רצוי כיוון שקונטרולביליות הנה תנאי הכרחי לקיום המטריצה Pבבקרים אופטימאליים .לעומת זאת בבעיה ) (iiנרצה התכנסות מכל מצב התחלתי לכל מצב סופי ולכן דרושה הקונטרולביליות של המודל הקינמטי. נכתוב את משוואה ) (3באופן הבא: )(4 0 0 g2 = . 0 1 cosθ sin θ , g1 = tan φ / l 0 q& = g1 (q )υ1 + g 2 (q )υ 2 , נדגיש כאן כי המערכת הנ"ל איננה ליניארית ,כמוכן היא מהסוג הנקרא ) driftlessלא מתרחשת תנועה עם כניסות בעלות גודל אפס( ומספר הכניסות קטן ממספר הקואורדינטות. למרות העובדה שניסיון של כל נהג מצביע על כך שרכב צריך להיות קונטרולבילי ,אין זה טריוויאלי להוכיח טענה זו על בסיס מתמטי. 2.1קונטרולביליות של המודל הקינמטי נתונה מערכת חלקה ,אפינית ולא-ליניארית u = (u1 , K , u m ) ∈ U ⊂ IR m , m x& = f ( x ) + ∑ g j ( x )u j , j =1 כאשר ) x = ( x1 , K, x nהם קואורדינטות מקומיות ביריעה דיפרנציאלית , Mואילו f , g1 ,K , g mהן שדות וקטוריים חלקים המוגדרים על , f . Mכאמור ,נקרא שדה וקטורי של סחף ו g j , j ∈ m -הם − שדות וקטוריים של הכניסות. הנחה :[17] 2.1א .שדה הכניסות Uמכיל בתוכו את הקבוצה של כל השדות הוקטוריים של נמערכת : f , g1 ,K, g m m F = f + ∑ g j u j | (u1 , K , u m ) ∈ U . j =1 ב U .מכיל פונקציות רציפות למקוטעין מימין. 5 הגדרה :[17] 2.1תהי הפונקציה f : A ⊂ IR n → IRויהיה k > 0מספר ממשי חיובי .הפונקציה f נקראת ) C kגזירה בצורה רציפה kפעמים( אם קיימות נגזרות חלקיות רציפות המוגרות על A מסדרים קטנים או שווים ל . k -אם fהינה C kכל kאזי fנקראת ∞ Cאו חלקה ).(smooth הגדרה :[17] 2.2המערכת הלא ליניארית הנ"ל קונטרולבילית אם לכל שתי נקודות x1 , x 2ב X -קיים זמן סופי Tופונקצית בקרה רציפה למקוטעין u : [0, T ] → Uכך ש. x(T ,0, x1 , u ) = x 2 - מכיוון שהמערכת ) (4הינה חסרת סחף ) ,(driftlessכל qeאפשרי הוא נקודת שיווי משקל עבור כניסות בעלות ערך אפס .תחילה ,נחקור קונטרולביליות של הקירוב ליניארי הבא q~& = g1 (q e )υ1 + g 2 (q e )υ 2 = G (q e )υ , כאשר . q~ = q − q eדרגת מטריצת הקונטרולביליות שמתקבלת ) G (q eהיא .2לכן ,הקרוב הליניארי אינו קונטרולבילי. על מנת לבחון קונטרולביליות של מערכת לא ליניארית ו driftless-נשתמש בהגדרות ובמשפטים הבאים: הגדרה :[17] 2.3עבור המערכת הנדונה אלגברת הנגישות ) C (accessibility algebraהנה תת- אלגברה הקטנה ביותר של ) Lie algebra) V ∞ (Mשל השדות הווקטוריים ב ( M -אשר מכילה את . f , g1 ,K, g m הגדרה :2.4עבור שני שדות וקטורים ) , g 2 ( x ), g1 ( xכאשר ) , x = ( x1 , K, x nנגדיר שדה וקטורי חדש הנקרא Lie Bracketומסומן ע"י ] [g1 , g 2באופן הבא: ) [g1 , g 2 ] = ∂g 2 g1 (x ) + ∂g1 g 2 (x ∂x ∂x טענה :[17] 2.1כל רכיב של Cהנו קומבינציה ליניארית של ה Lie brackets-הבאים: ]]][X k , [X k −1 , [L, [X 2 , X 1 ]L כאשר X i , i ∈ kהנו בקבוצה f , g1 ,K, g mוכן . k = 0,1,2,K את ההוכחה לטענה 2.1ניתן למצוא ב.[17]- הגדרה :[17] 2.5פיזור הנגישות ) C (x ) (accessibility distributionהנו פיזור המתקבל מאלגברת הנגישות ): C (accessibility algebra C ( x ) = span ( X ( x )), x ∈ M כאשר Xהנו שדה וקטורי בתוך . C טענה :[17] 2.3אם המערכת הלא ליניארית הנדונה חסרת סחף ,ז"א f = 0ותהי Fקבוצה סימטרית ז"א לכל X ∈ Fמתקיים ( − X ∈ Fשל שדות וקטורים השייכים למערכת אזי אם dim[C ( x )] = n לכל x ∈ Xו X -מקושרת ) (connectedאזי המערכת הלא ליניארית חסרת הסחף קונטרולבילית. את ההוכחה לטענה 2.3ניתן למצוא ב.[17]- 6 מסקנה :2.1בגלל שכל התנאים של טענה 2.3מתקיימים ,עבור המקרה של המודל הקינמטי של רכב, דרוש: ...] = 4. ]] [g1 , g 2 ] [g1 , [g1 , g 2 ]] [g 2 , [g1 , g 2 g2 rank [g 1 עבור מערכת ) ,(4שתי קבוצות Lieהראשונות ניתנות לחישוב ע"י − sin θ / l cos 2 φ cos θ / l cos 2 φ [g1 , [g1 , g 2 ]] = . 0 0 0 0 , [g1 , g 2 ] = − 1 / l cos 2 φ 0 ניתן להראות כי דרגת המטריצה הנ"ל היא 4חוץ מאשר במצבים בהם , φ = ± π 2כך שהרכב קונטרולבילי כל עוד זווית ההיגוי שונה מ . ± π 2 -אם נשתמש בעובדה שאת φנוכל לשנות כרצוננו ע"י כניסת הבקרה ) υ 2ראה את המשוואה האחרונה במודל הקינמטי ) ,((3אפשר להראות שהמערכת קונטרולבילית. באשר לתכונת stabilizabilityשל המערכת ) ,(4הכישלון של אנליזת הקרוב הליניארי הקודם מצביע על כך שלא נוכל להגיע ליציבות אקספוננציאלית במובן של Lyapunovע"י משוב חלק ).(smooth הדבר אף גרוע יותר :אין זה אפשרי לייצב בכלל את המערכת ב qe -ע"י שימוש במשוב חלק )למעשה, רציף( בלתי תלוי בזמן ) . υ = υ (qתוצאה שלילית זו מתבססת על משפטו של ,[12] Brockettשאומר כי התנאי ההכרחי להתייצבות חלקה של מערכת driftlessרגולרית )דהינו ,כזאת ששדות הכניסה הוקטוריים בלתי תלויים ליניארית ב ( q e -הוא שמספר הכניסות שווה למספר משתני המצב .במקרה שלנו זה לא כך ,לכן התנאי הנ"ל לא מתקיים. 2.2קונטרולביליות ביחס למסלול כעת נדון בתכונת הקונטרולביליות של המערכת המתקבלת מפתרון בעיית העקיבה אחרי מסלול .בהמשך נשתמש בהגרה הבאה :המערכת המתוארת ע"י ) (5או ע"י ) (8למטה נקראות קונטרולבליליות ביחס למסלול אם הן קונטרולביליות .יהיה )) q d (t ) = ( x d (t ), y d (t ), θ d (t ), φ d (tמסלול רצוי של הרכב .על מנת שיהיה ישים )מסלול ישים הינו מסלול שניתן לחשב עבורו כניסות מהירות υ d 2 , υ d1כאלה שיגרמו לרכב לבצע תנועה לאורך מסלול זה( ,מסלול זה חייב לקיים את אילוצי המהירות הנובעים מתנועת הרכב .בפרק הבא נדון בחישוב ובקבלת המסלולים הרצויים והכניסות הרצויות . υ d 1 , υ d2 אם נגדיר ) q~ (t ) = q(t ) − q d (tו , υ~ (t ) = υ (t ) − υ d (t ) -הקרוב הליניארי של המערכת ) (4ביחס למסלול הרצוי מתקבל ע"י )(5 q~& = A(t )q~ + B(t )υ~, 7 כאשר B(t ) = G (q d (t )). , ) q = q d (t ∂g i ∂q 2 ) A(t ) = ∑υ di (t i =1 חישוב פשוט נותן 0 0 . 0 1 ) 0 − sin θ d (t )υ d 1 (t 0 ) 0 cos θ d (t )υ d 1 (t 0 , 0 0 υ d 1 (t ) / l cos 2 φ d (t ) 0 0 0 ) cos θ d (t ) sin θ (t d B(t ) = tan φ d (t ) / l 0 0 0 A(t ) = 0 0 צריך לשים לב כי המערכת הליניארית משתנה בזמן ותלויה במסלול הרצוי. הגדרה :[7] 2.6נניח כי המטריצות )⋅( Aו B(⋅) -במשוואת המצב ה n -ממדי ) x& (t ) = A(t )x(t ) + B(t )u (t גזירות ) (n − 1פעמים .אזי משוואת המצב הנ"ל נקראת קונטרולבילית ב t 0 -אם קיים t1 > t 0סופי כך שלכל ) x(t 0ולכל x1קיימת כניסה ] u [t0 ,t1אשר תעתיק את ) x(t 0אל x1בזמן . t1 קריטריון לקונטרולביליות עבור מערכת ליניארית ותלויה בזמן ניתן מנוסח במשפט הבא: משפט :[7] 2.2נניח כי המטריצות )⋅( Aו B(⋅) -במשוואת המצב ה n -ממדי ) x& (t ) = A(t )x(t ) + B(t )u (t גזירות ) (n − 1פעמים .אזי משוואת המצב הנ"ל קונטרולבילית ב t 0 -אם קיים t1 > t 0סופי כך ש- rank [M 0 (t1 )M M 1 (t1 )MLM M n −1 (t1 )] = n, כאשר d M k (t ), dt k = 0,1, 2, K, n − 1 M k +1 (t ) = − A(t )M k (t ) + ו. M 0 (t ) = B(t ) - את ההוכחה למשפט ניתן למצוא ב.[7]- עבור המקרה הנדון, בגלל של המורכבות האיברים במטריצת הקונטרולביליות ]) [M 0 (t1 )M M 1 (t1 )MLM M n−1 (t1קשה להסיק אי תלות של שורותיה באופן כללי .לכן נציג כאן ניתוח הקונטרולביליות ביחס למסלול עבור המקרה הפרטי שם המסלול הוא קו ישר כאשר המהירות הקווית קבועה בזמן .במקרה זה נקבל υ d 1 (t ) = υ d 1 > 0ו . υ d 2 (t ) = 0 -יתרה מכך ) θ d (t ) = θ d (t 0ו- . φ d (t ) = 0כפי שניתן לראות המטריצות Aו B -בלתי תלויות בזמן ולכן תנאי הכרחי ומספיק לקונטרולביליות במקרה זה: ] A 3 B = 4. A2 B 8 AB [ rank B קל לבדוק כי המערכת הליניארית קונטרולבילית כל עוד θ d ≠ ± π 2ו) υ d 1 ≠ 0 -וזה צפוי כי עבור υ d 1 = 0המסלול מתכנס לנקודה( .זה אומר כי את המערכת ) (4ניתן לייצב מקומית ביחס למסלול הנדון ,אך מהסימולציות ניתן להסיק כי משפחת המסלולים אליהם ניתן להתכנס די גדולה. 9 2.3צורות שרשרת – Chained Forms נוח לתכנן בקרים עבור צורה קנונית מקובלת והיא צורת שרשרת ) .[13] (chained formמערכת driftlessבעלת שתי כניסות המיוצגת באמצעות צורת שרשרת נתונה ע"י: x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 )(6 M x& n = x n −1u1 יש להעיר כאן שכאשר u1היא פונקציה נתונה של הזמן מתקבלת מערכת ליניארית )תלויה בזמן(. נדון כעת במודל הרכב ) .(3ב [13]-ניתן למצוא תנאים הכרחיים ומספיקים להמרת מערכת בעלת שתי כניסות כגון ) (3לצורת שרשרת באמצעות ) (iהחלפת הקואורדינטות ) , x = φ (qו (ii)-טרנספורמציה הפיכה של הכניסות . υ = β (q )uע"י שימוש בתנאים אלה אפשר להראות כי את המערכות הלא הולונומית בעלות m = 2כניסות ו n = 3 -או 4קואורדינטות כלליות ניתן לייצג באמצעות צורות שרשרת. ע"י שימוש בהחלפת קואורדינטות x1 = x x 2 = tan φ l cos 3 θ )(7 x3 = tan θ x 4 = y, υ1 = u1 cos θ υ 2 = − 3 sin θ sin 2 φ u1 l cos 2 θ + l cos 3 θ cos 2 φ u 2 , מתקבלת צורת שרשרת כמו ב (6)-עבור : n = 4 x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 x& 4 = x3u1 . החלפת קואורדינטות זו מוגדרת בתחום פתוח , θ < π 2 − εכאשר. ניתן להראות כי צורת שרשרת הינה קונטרולבילית באמצעות התנאים המופיעים בפרק :2 טענה :2.4צורת השרשרת ) (6הינה קונטרולבילית. הוכחה :נראה כי מתקיים התנאי ...] = n. ]] [g1 , g 2 ] [g1 , [g1 , g 2 ]] [g 2 , [g1 , g 2 10 g2 rank [g 1כאשר 1 0 x2 g1 (x ) = , x3 M x n −1 0 1 0 g 2 (x ) = . 0 M 0 ניתן לראות שכל ה Lie brackets-המתקבלים הם מהצורה ad gk1 g 2כאשר ] [ ad g1 g 2 = ad 1g1 g 2 = [g1 , g 2 ], ad gk1 g 2 = g1 , ad gk1−1 g 2 . חישוב פשוט נותן 0 M k ad gk1 g 2 = (− 1) , M 0 1 ≤ k ≤ n − 2, כך שהאיבר השונה מאפס ממוקם בשורה ה . (k + 2 ) -כתוצאה מכך n ,השדות הוקטוריים } , ad g11 g 2 , K , ad gn1− 2 g 2 2 {g , g 1 ■ בלתי תלויים ליניארית ולכן התנאי לקונטרולביליות מתקיים. נבדוק קונטרולולביליות ביחס למסלול של צורת שרשרת בדומה למה שנעשה בתת-פרק .2.2גם כאן נגדיר וקטור ייחוס ישים של משתני המצבx 4,d ] : T ] u 2,d T x 3, d x 2,d , x d = [x1,dווקטור אותות הכניסה: [u1,dאשר יאלץ את צורת השרשרת לבצע את מסלול הייחוס . x dע"י ביצוע ליניאריזציה ביחס למסלול ייחוס בעזרת ) (5נקבל את המערכת התלויה בזמן: )(8 0 0 0 e1 1 0 e&1 0 e& 0 0 0 0 e 2 0 1 u1 + 2 = , ) e&3 0 u1,d (t 0 0 e3 x 2,d (t ) 0 u 2 { u1,d (t ) 0 e 4 x 3, d (t ) 0 u 0 e& 4 0 { 1444 424444 3 { 14243 ) B (t ) A (t e כאשר ei ≡ xi − xi ,dו. i = 1,2 , u i ≡ u i − u i ,d - טענה :2.5המערכת הליניארית ) (8היא קונטרולבילית. הוכחה :להוכחת הטענה נשתמש במשפט :2.2 11 &e = ]) ρ [M 0 (t1 )M M 1 (t1 )M M 2 (t1 )M M 3 (t1 0 0 0 0 0 0 0 1 K ) &x&2, d (t1 ) − u1, d (t1 0 ) x& 2, d (t1 ) − u&1, d (t1 )x 2, d (t1 ) − 2u1, d (t1 )x& 2, d (t1 ) + &x&2, d (t1 ) 0 − u1, d (t1 )x 2, d (t1 ) + x& 2, d (t1 0 0 = 4. − u&&1, d (t1 ) 3u1, d (t1 )u&1, d (t1 ) 0 1 0 ρ ) x 2, d (t1 ) x 2, d (t1 0 0 0 0 ) &x&&2, d (t1 ) − 3u&1, d (t1 )x& 2, d (t1 ) − u&&1, d (t1 )x 2, d (t1 ) − 3u1, d (t1 )&x&2, d (t1 ) + &x&&2, d (t1 ) − u&1, d (t1 ) (t1 2 1, d u כפי שנראה בהמשך בתת-פרק 3.1בו נקבל את משוואות הייחוס של המסלול ,אחת הדרישות ממשתני הייחוס היא גזירות בצורה רציפה שלוש פעמים .לכן צורת שרשרת קונטרולבילית ביחס למסלול. 12 L .3עקיבה אחרי מסלול 3.1קבלת משוואות ייחוס של המסלול תת-פרק זה מבוסס על ] .[1את בעיית העקיבה אחר מסלול שנקבע מראש ניתן לייצג כעקיבה אחר מודל ייחוס שנובע מנתוני הבעיה .נראה כיצד מתקבל מודל הייחוס הנ"ל ונדון בתכונותיו. יהיה נתון מסלול רצוי ,הניתן ליישום וחלק )(9 t ≥ t0 , y d = y d (t ), x d = x d (t ), כאשר x, yהנה מערכת קואורדינטות הממוקמת במרכז ציר הגלגלים האחורי. המסלול הרצוי ) (9ניתן ליישום כאשר הוא מתקבל כפלט של מערכת דמיונית הנתונה ע"י: )(10 x& d = cosθ dυ d 1 )(11 y& d = sin θ dυ d 1 )(12 θ&d = tan φdυ d 1/l )(13 φ&d = υ d 2 , עבור תנאי התחלה מתאימים )) (x d (t 0 ), y d (t 0 ), θ d (t 0 ), φ d (t 0ואותות כניסה גזירים בצורה רציפה שלוש פעמים ) , υ d (tלכל . t ≥ t 0 מ (10) -ו (11)-נקבל את אות הכניסה : υ d 1 υ d 1 (t ) = ± x& d2 (t ) + y& d2 (t ), )(14 כאשר הסימן תלוי בכיוון התנועה .נגביל את υ d 1להיות חיובית .יתרה מכך מתקבל כי υ d 1 (t ) > ε ∀t כיוון שעבור υ d 1 = 0המסלול הופך לנקודה. ע"י חילוק של ) (11ב (10)-מתקבל )(15 y& (t ) x& (t ) θ d (t ) = ATAN2 d , d , υ d 1 (t ) υ d 1 (t ) כאשר הפונקציה ) Atan2(x,yמחשבת את ה arc tangent -של y xתוך שימוש בסימנים של שני הארגומנטים לקביעת הרביע של התוצאה המוחזרת. נגזור את ) (10ו (11)-ונשלב את התוצאות כך ש υ& d1 (t ) -יצטמצם ומתקבל: ) &y&d (t )x& d (t ) − &x&d (t ) y& d (t . ) υ d21 (t הצבת תוצאה זו ב (12)-נותנת את זווית ההיגוי: 13 = ) θ&d (t l [&y&d (t )x& d (t ) − &x&d (t ) y& d (t )] , ) υ d31 (t φ d (t ) = arctan )(16 פונקציה זו מוגדרת היטב בתחום ) . (− π 2 , π 2 ולבסוף ,נגזור את ) (16לפי זמן ונציב את התוצאה ב (13)-ובכך נקבל את הכניסה השנייה )(17 , ) + y& d &y&d (&y&&d x& d − &x&&d y& d ) − 3( &y&d x& d − &x&d y& d )(x& d &x&d υ d61 + l 2 ( &y&d x& d − &x&d y& d )2 υ d 2 (t ) = lυ d 1 כאשר התלות בזמן איננה מצוינת במפורש בצד ימין של המשוואה מטעמים של בהירות ההצגה. המשוואות ) (14-17נותנות את המסלול היחיד של משתני המצב ואותות הכניסה עד כדי כיוון התנועה הנחוץ לשחזור המסלול הרצוי .ביטויים אלה תלויים אך ורק בערכים של המסלול הרצוי ) (9ובנגזרותיו עד לסדר שלישי .לכן ,על מנת להבטיח שחזור מדויק ,משתני מסלול הייחוס צריכים להיות גזירים בצורה רציפה שלוש פעמים. 14 3.2.1תכנון בקר אופטימאלי בחלק זה נציג בקר המבוסס על רגולציה אופטימאלית )ראה נספח ג'( .נשתמש כאן בקירוב הליניארי של משוואות המערכת שהצגנו קודם לכן: q~& = A(t )q~ + B(t )υ~, כאשר 0 0 . 0 1 נזכור ש- ) cos θ d (t ) sin θ (t d B(t ) = tan θ d (t ) / l 0 ) q~(t ) = q(t ) − q d (tו , υ~(t ) = υ (t ) − υ d (t ) -נראה כי נוח מאוד לנסח את בעיית העקיבה ) 0 − sin θ d (t )υ d 1 (t 0 ) 0 cos θ d (t )υ d 1 (t 0 , υ d 1 (t ) / l cos 2 θ d (t ) 0 0 0 0 0 0 0 A(t ) = 0 0 כבעיית הרגולציה ,כלומר לתכנן בקר ) υ~ (tאשר יביא למינימיזציה של פונקצית המחיר הבאה )(18 [ ] T V (q~(0 ),υ~(⋅)) = ∫ q~ T (t )Q q~ (t ) + υ~ T (t ) R υ~ (t ) dt , 0 כאשר R, Q > 0מטריצות סימטריות המייצגות את המשקלים היחסיים של ) υ~ (t ), q~(tבהתאמה ו- .T > 0 מתורת הבקרה האופטימאלית )ראה למשל ] ([10] ,[5ידוע כי בקר המביא לידי מינימיזציה של פונקצית המחיר הנ"ל בתחום הזמן ] [0, Tניתן ע"י )(19 υ~(t ) = − R −1 B T (t )P(t , T )q~ (t ), כאשר ) P(t , T ) = P T (t , T ) ≥ 0ראה למשל את ] ([10מתקבל ע"י פתרון משוואת Riccatiהבאה )(20 − P& (t , T ) = P(t , T )A(t ) + AT (t )P(t , T ) − P(t , T )B(t )R −1 B T (t )P(t , T ) + Q. כאשר P(T , T ) = 0. הערה :יש לזכור כי הכניסה האמיתית למערכת היא ) . υ (t ) = υ~ (t ) + υ d (t כעת נוכיח יציבות אסימפטוטית של המערכת .לשם כך נשתמש במשפט הבא: הגדרה :3.1נניח כי נתונה המערכת הבאה: x& = f (t , x ), x(t 0 ) = x0 . המערכת הנ"ל מקיימת את תנאי Lipschitzאם מתקיים האי שוויון f (t , x ) − f (t , y ) ≤ L x − y לכל ) (t, xו (t, y ) -בסיבה כלשהי של ) . (t , x 0 משפט ) : 3.1ראה לדוגמא ב :([4]-נניח כי x = 0היא נקודת שיווי משקל של המערכת הלא-ליניארית 15 ) x& = f (t , x } כאשר f : [0, ∞ ) × D → R nגזירה ב <r 2 { , D = x ∈ R n | xומטריצת היעקוביאן ] ∂x [∂f חסומה ומקיימת תנאי Lipschitzב D -בצורה אחידה ב) t -לא תלויה ב.( t - נגדיר ∂f (t , x ) | x =0 ∂x = ) A(t אזי הראשית היא נקודת שיווי משקל יציבה אקספוננציאלית מקומית עבור המערכת הלא-ליניארית אם היא נקודת שיווי משקל יציבה אקספוננציאלית עבור המערכת הליניארית x& = A(t )x משפט :3.2תהי נתונה פונקציית מחיר: ∞ )(21 ~ ~ ~ ~ ∫ (q (t )Q q (t ) + υ (t )Rυ (t )) dt. T T 0 הבקר ) υ~ (tהנתון ע"י ) (19מביא להתכנסות אקספוננציאלית מקומית של הרכב למסלול הייחוס ) q d (t בתנאי ש:- א .המערכת הליניארית קונטרולבילית. ב .קיים P (t ) ∀tהמקיים 2 2 ~≤ q~ T P (t )q~ ≤ c 2 q 2 2 ~ c1 qלכל . q~ ∈ R n הוכחה: ידוע כי הבקר האופטימאלי עבור מקרה בו Tסופי הוא ) υ~(t ) = − R −1 B T (t )P(t , T ) q~(tכאשר ) P(t , Tהנו פתרון למשוואת (20) Riccatiעם תנאי שפה . P(T , T ) = 0בגלל העובדה שהמערכת הינה קונטרולבילית ,הגבול ) lim P(t , T ) = P (t ) = P T (tקיים לכל tומקיים את משוואת Riccati ∞→ T )ראה למשל ב.([10]- נגדיר פונקצית V Lyapunovבאופן הבא: )(22 V (q~(t )) = q~ T (t )P (t )q~(t ) , בגלל הבחירה ש Q > 0 -וחסימות של ) Pאין לכך הוכחה אנליטית ,אך התוצאות הנומריות של המקרים שנתקבלו בעבודה זאת מראות כי ) P (tחסום( יוצא ש- 2 ≤ V (t , q~ ) ≤ c 2 q~ 2 . 2 2 ~. c1 q נחשב את הנגזרת של פונקצית Lyapunovלפי הזמן ולאורך המסלול של המערכת. )) ∂V (q~ (t = 2q~ T (t )P (t )q~& (t ) + q~ T (t )P& (t )q~(t ). )(23 ∂t ] [ T נשתמש בשוויון ) . q~ T (t )P (t )q~& (t ) = q~& T (t )P (t )q~ (t ) = q~ T (t )P (t )q~& (t 16 לכן את ) (23ניתן לרשום באופן הבא ∂V (q~ (t )) ~& T = q (t )P (t )q~ (t ) + q~ T (t )P (t )q~& (t ) + q~ T (t )P& (t )q~(t ). ∂t )(24 נציב כעת את משוואת המערכת ) (5ואת משוואת (20) Riccatiל(24)- )) ∂V (q~ (t T = [ A(t )q~ (t ) + B(t ) υ~(t )] P (t )q~ (t ) + q~ T (t )P (t )[ A(t )q~ (t ) + B(t ) υ~ (t )] − ∂t − q~ T (t ) P (t )A(t ) + AT (t )P (t ) − P (t )B(t )R −1 B T (t )P (t ) + Q q~ (t ). )(25 [ ] כעת נציב לתוך ) (25את חוק הבקרה ) (19ונפשט )(26 T ∂V (q~ (t )) ~ T = q (t ) A(t ) − B(t )R −1 B T (t )P (t ) P (t )q~ (t ) + q~ T (t )P (t ) A(t ) − B(t )R −1 B T (t )P (t ) q~ (t ) − ∂t T − q~ T (t )[ P (t )A(t ) + A(t ) P (t ) − P (t )B(t )R −1 B T (t )P (t ) + Q] q~ (t ). [ ] [ ] מכיוון ש B(t )R −1 B T (t ) -סימטרית נקבל: )(27 ∂V (q~(t )) ~ T T = q (t )[ A(t ) P (t ) + P (t )A(t ) − 2 P (t )B(t )R −1 B T (t )P (t ) − ∂t T = ) − A(t ) P (t ) − P (t )A(t ) + P (t )B(t )R −1 B T (t )P (t ) − Q ] q~ (t 2 = − q~ T (t ) P (t )B(t )R −1 B T (t )P (t ) + Q q~ (t ) ≤ −c q~ . 2 [ ] ולכן המערכת יציבה אקספוננציאלית. □ מסקנה :ניתן להראות כי מטריצת היעקוביאן חסומה בסביבת הראשית וכן הנגזרת שלה רציפה )ז"א היא מקיימת את תכונת Lipschitzבסביבת הראשית(. ולכן כל התנאים של משפט 3.1מתקיימים. הערה :עבור המקרים המעשיים הזמן Tסופי .צריך לבחור את ערכו של Tמספיק גדול כך ) P(t , T יהיה קרוב ככל הניתן ל P (t ) -בתחום הזמנים . 0 ≤ t ≤ Tלצורך ביצוע סימולציות פותרים את משוואת (20) Riccatiמהסוף להתחלה מספר פעמים עם ערכי Tשונים ,עד שמקבלים התכנסות של ) P(t , T בתחום הזמנים של הפעלת המערכת ולאחר מכן מציבים את הפתרון של המשוואה למערכת. 17 תוצאות סימולציה: להלן דוגמא של ביצועי הבקר: דרוש שהרכב יעקוב אחרי המסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה הבאים עבור הרכב . (x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 2, - 1, 0, 0 ). אזי אם נבחר 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 P(t ) |t =50 sec = 0 0 10 0 R= , 0 10 נקבל את התוצאות הבאות איור – 3קואורדינטות של הרכב 18 10 0 0 0 0 10 0 0 , Q= 0 0 10 0 0 0 0 10 איור – 4כניסות איור – 5שגיאות 19 3.2.2בקרה אופטימאלית ושימוש במודל שרשרת כפי שראינו בפרק 2.2מבנה צורת שרשרת קרוב למבנה ליניארי ולכן עדיף להשתמש בצורת שרשרת לשם ביצוע הליניאריזציה .נזכיר כי משוואות המצב של צורת שרשרת באופן כללי ושל רכב באופן מיוחד )עבור ( n = 4מיוצגות ע"י x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 M x& n = x n −1u1 כאשר מודל הייחוס מיוצג ע"י x&1,d = u1,d x& 2,d = u 2,d x& 3,d = x 2,d u1,d M x& n ,d = x n −1,d u1,d . נגדיר משתני מצב חדשים )השגיאות ביחס למסלול! הייחוס באופן הבא: e1 ≡ x1 − x1,d e2 ≡ x 2 − x 2,d M en ≡ x n − x n ,d u1 ≡ u1 − u1,d u 2 ≡ u 2 − u 2,d ולכן משוואות המצב שמתקבלות: e&1 = u1 e&2 = u 2 )(28 e&3 = u1,d e2 + x 2,d u1 + e2 u1 M e&n = u1,d en −1 + x n −1,d u1 + en −1u1 . ניתן לראות כי לקבלת המודל הליניארי דרוש להזניח את האיבר הלא ליניארי )האיבר האחרון( בשתי המשוואות האחרונות של מרחב המצב .כתוצאה מכך מתקבלת מערכת ליניארית קונטרולבילית )ראה את :(2.3 ) e&(t ) = A(t )e(t ) + B(t )u (t 20 כאשר נתונים וקטור המצב ]) e(t ) = [e1 (t ) e2 (t ) e3 (t ) L en (t T ,וקטור הכניסות ]) u (t ) = [u1 (t ) u 2 (tוכן המטריצות T 0 0 0 , M M 0 1 0 ) B(t ) = x 2,d (t M ) x n −1,d (t 0 1 0. M 0 0 L 0 L 0 L M O 0 O ) u1,d (t L L 0 0 L L ) 0 u1,d (t 0 A(t ) = O ) u1,d (t M M O L L 0 0 פונקצית המחיר הינה: [ ] T J (u ) = ∫ e T (t )Q e(t ) + u T (t ) R u (t ) dt , 0 כאשר Q, R > 0הן מטריצות המשקלים היחסיים של ) e(t ), u (tבהתאמה ו. T > 0 - מתורת הבקרה האופטימאלית ידוע כי בקר המבטיח את מינימיזציה של פונקצית המחיר הנ"ל ניתן ע"י u (t ) = − R −1 B T (t )P(t , T )e(t ), )(29 כאשר P(t , T ) = P T (t , T ) ≥ 0מתקבל ע"י פתרון משוואת :Riccati )(30 − P& (t , T ) = P(t , T )A(t ) + AT (t )P (t , T ) − P (t , T )B(t )R −1 B T (t )P (t , T ) + Q, P (T , T ) = 0. משפט :3.3הבקר ) , u (t ) = u (t ) + u d (tכאשר ) u (tנתון ע"י ) (29גורם להתכנסות אקספוננציאלית )לוקאלית( להתכנסות אקספוננציאלית של המערכת ) (28לראשית. הוכחה :קל לראות שכל התנאים של משפט 3.1מתקיימים ואם באופן דומה להוכחת המשפט ) 3.2נתייחס למקרה בו הזמן ∞ → ( Tנגדיר את פונקצית : V Lyapunov V (e(t )) = e T (t )P (t )e(t ) , אשר מקיימת 2 2 ≤ V (e ) ≤ c 2 e 2 2 . c1 e גם כאן פשוט להראות שהנגזרת לפי זמן של פונקצית V Lyapunovמקיימת: )) ∂V (e(t 2 ≤ −c e 2 . ∂t 21 תוצאות סימולציה: להלן דוגמא של ביצוע הבקר: דרוש שהרכב יעקוב אחרי המסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה הבאים עבור הרכב . (x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 2, - 1, 0, 0 ). אזי אם נבחר 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 P(t ) |t =50 sec = 0 0 10 0 R= , 0 10 נקבל את התוצאות הבאות איור –6קואורדינטות של הרכב 22 10 0 0 0 0 10 0 0 , Q= 0 0 10 0 0 0 0 10 איור -7כניסות איור –8שגיאות 23 3.3.1בקרה באמצעות בקרת ∞H בחלק זה של החיבור נציג גישה חדשה לפתרון בעיית העקיבה של המודל הקינמטי של רכב .שיטה זו מבוססת על התיאוריה של בקרת ∞ . Hבמסגרת זאת נרשום את המודל הלא ליניארי באופן הבא: q~& = A(t )q~ + B(t )υ~ + B1ω (t ), )(30 כאשר ) B(t ) A(tמייצגים את החלק הליניארי של המערכת כפי שהוא מיוצג ב (5)-ואילו ) B1ω (tהוא החלק הלא ליניארי .יש לציין שבמקרה זה ) ω (tתלוי ב . q~ (t ) -בהמשך נראה כי קיימת סביבה מספיק קטנה של מסלול הייחוס )או לחלופין סביבה קטנה של הראשית עבור המערכת ) ((30בו ) ω (tהוא בעל אנרגיה סופית במובן ש- dt < ∞, 2 ∞ ) ∫ ω (t 0 לכן ניתן להשתמש בעקרונות בקרת ∞ . Hאם נגדיר את טיב הביצוע באופן הבא ~ Q 12 ~ 0 z≡ q + 12 υ , R 0 אזי מטרתנו היא למצוא בקר ~ υ~ = k (t )qכזה כך שנורמת ה H ∞ -בתחום ] [0, Tשל האופרטור המחבר בין ωל z -תהיה קטנה מ γ -נתון .במלים אחרות דרוש להביא למינימום את פונקציית המחיר הבאה: ) ( T J = ∫ z (τ ) − γ 2 ω (τ ) dτ − γ 2 q~ (0 ) P0 q~ (0 ). T )(31 2 2 0 ברור ,כי ככל שנקטין את ערכו של γכך תקטן השפעת הפרעה על המערכת ולכן נחפש את הγ - המינימאלי )או קרוב לערך המינימאלי ע"מ למנוע הגברים גבוהים( עבורו קיים פתרון לבעיה. מתורת הבקרה ∞ ) Hראה נספח ד'( .ידוע כי הבקר האופטימאלי במובן ∞ Hנתון ע"י: υ~(t ) = − R −1 B T (t )P(t ) q~(t ), )(32 כאשר P(t ) = P T (t ) > 0מתקבל ע"י פתרון משוואת Riccatiדיפרנציאלית הבאה )(33 − P& (t ) = P(t )A(t ) + AT (t )P(t ) − P(t )B(t )R −1 B T (t )P(t ) + γ −2 P(t )B1 B1T P(t ) + Q. ל (33)-יש תנאי שפה P(T ) = 0. באפן דומה למקרה הקודם )בקרה אופטימאלית( ,גם את משוואת Riccatiזו יש לפתור מהסוף להתחלה, אך כעת שיטת הפתרון איטרטיבית – בוחרים γגדול מספיק עבורו קיים פתרון למשוואת Riccati ולאחר מכן מורידים את ערכו עד שמגיעים למצב בו אין פתרון .ערך מינימאלי של γעבורו קיים פתרון נקרא הפתרון המרכזי )ראה נספחים(. 24 משפט :3.4נתון ) P(t . γ > 0תהיה מטריצה סימטרית בעלת נגזרת רציפה וחסומה: α 1 I ≤ P(t ) ≤ α 2 Iלכל ] ∞ t ∈ [0,ומקיימת את משוואת , υ~ (t ) .(33) Riccatiהנתון ע"י ) (32פותר את בעיית ∞ Hומייצב את המערכת אקספוננציאלית )עבור .( ω = 0 הוכחה: נגדיר פונקצית V Lyapunovבאופן הבא: V (q~(t )) = q~ T (t )P (t )q~(t ) , )(34 אשר מקיימת 2 2 ~≤ V (q~ (t )) ≤ c 2 q 2 2 ~. c1 q נחשב את הנגזרת של פונקצית Lyapunovלפי הזמן ולאורך המסלול של המערכת. )) ∂V (q~ (t = 2q~ T (t )P (t )q~& (t ) + q~ T (t )P& (t )q~(t ). )(35 ∂t [ ] T נשתמש בשוויון ) . q~ T (t )P (t )q~& (t ) = q~& T (t )P (t )q~ (t ) = q~ T (t )P (t )q~& (t לכן את ) (35ניתן לרשום באופן הבא ∂V (q~ (t )) ~& T = q (t )P (t )q~ (t ) + q~ T (t )P (t )q~& (t ) + q~ T (t )P& (t )q~(t ). ∂t )(36 נציב כעת את משוואת המערכת הליניארית ) (5ואת משוואת (33) Riccatiל(36)- )(37 )) ∂V (q~ (t T = [ A(t )q~ (t ) + B(t ) υ~(t )] P (t )q~ (t ) + q~ T (t )P (t )[ A(t )q~(t ) + B(t ) υ~(t )] − ∂t ~ − q T (t ) P (t )A(t ) + AT (t )P (t ) − P (t )B(t )R −1 B T (t )P (t ) + γ − 2 P(t )B1 B1T P(t ) + Q q~ (t ). [ ] כעת נציב לתוך ) (37את חוק הבקרה ) (32ונפשט )(38 )) ∂V (q~ (t = ∂t T = q~ T (t ) A(t ) − B(t )R −1 B T (t )P (t ) P (t )q~ (t ) + q~ T (t )P (t ) A(t ) − B (t )R −1 B T (t )P (t ) q~ (t ) − T − q~ T (t )[ P (t )A(t ) + A(t ) P (t ) − P (t )B(t )R −1 B T (t )P (t ) + γ − 2 P(t )B B T P(t ) + Q] q~ (t ). [ ] 1 [ ] 1 מכיוון ש B(t )R −1 B T (t ) -סימטרית נקבל: )(39 ∂V (q~ (t )) ~ T T = q (t )[ A(t ) P (t ) + P (t )A(t ) − 2 P (t )B(t )R −1 B T (t )P (t ) − ∂t T = ) − A(t ) P (t ) − P (t )A(t ) + P (t )B(t )R −1 B T (t )P (t ) − γ − 2 P(t )B1 B1T P(t ) − Q] q~ (t 2 = −q~ T (t ) P (t )B (t )R −1 B T (t )P (t ) + γ − 2 P(t )B B T P(t ) + Q q~ (t ) ≤ −c q~ . 2 ] 1 [ 1 ומצד שני ניתן להראות כי מטריצת היעקוביאן חסומה בסביבת הראשית וכן הנגזרת שלה רציפה )ז"א היא מקיימת את תכונת Lipschitzבסביבת הראשית(. 25 ולכן כל התנאים של משפט 3.1מתקיימים. □ כתוצאה מכך ניתן להסיק כי קיימת סביבה מספיק קרובה למסלול ממנה מובטחת התכנסות אקספוננציאלית לוקאלית .פרוש הדבר כי בסביבה זו ההפרעה שמורכבת מאיברים לא ליניאריים דועכים אף הם בקצב אקספוננציאלי ולכן הם בעלי אנרגיה חסומה. 26 תוצאות הסימולציה: להלן דוגמא של ביצוע הבקר: דרוש כי הרכב יעקוב אחרי המסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה הבאים: . ( x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 2, - 1, 0, 0 ). אם נבחר 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 P(t ) |t =50 sec = 0 0 10 0 R= , 0 10 אזי עבור γ min = 7נקבל את התוצאות הבאות: איור – 9קואורדינטות של הרכב 27 10 0 0 0 0 10 0 0 , Q= 0 0 10 0 0 0 0 10 איור -10כניסות איור –11שגיאות 28 3.3.2בקרה באמצעות תורת הבקרה ∞H ושימוש בצורות שרשרת כפי שראינו בפרק ,3.2.1הייצוג במרחב המצב של צורת שרשרת ביחס למודל הייחוס הנו e&1 = u1 e&2 = u 2 e&3 = u1,d e2 + x 2,d u1 + e2 u1 )(40 M e&n = u1,d en −1 + x n −1,d u1 + en −1u1 . את המערכת הלא ליניארית הזו ניתן לרשם כמערכת ליניארית עם הפרעות חיצוניות ,כאשר ההפרעות החיצוניות מיוצגות ע"י החלק הלא ליניארי של המודל: e&(t ) = A(t ) e(t ) + B(t ) u (t ) + B1 d (t ), )(41 וקטור המצב ]) , e(t ) = [e1 (t ) e2 (t ) e3 (t ) L en (tוקטור הכניסות T ]) , u (t ) = [u1 (t ) u 2 (t T וקטור ההפרעות ]) d (t ) = [e2 (t ) u1 (t ) L en −1 (t ) u1 (tוכן המטריצות T 0 1 0 , M 0 Ο B1 = (2,n − 2 ) I n−2 0 0 0 , M M 0 1 0 ) B(t ) = x 2,d (t M ) x n −1,d (t 0 L 0 L 0 L M O 0 O ) u1,d (t 0 L L 0 0 L L ) 0 u1,d (t 0 A(t ) = O ) u1,d (t M M O L L 0 כך ש Ο ( 2,n − 2 ) -היא מטריצת אפסים במימדים ) 2 × (n − 2ואילו I n −2הנה מטריצת יחידה במימד ) . (n − 2) × (n − 2נגדיר את טיב הביצוע באופן הבא ~ Q 12 ~ 0 z≡ q + 12 υ , R 0 המטרה :תכנון בקר ) u (t ) = k (t ) e(tכך שנורמת ה H ∞ -בתחום ] [0, Tשל האופרטור המעתיק את d ל z -תהיה קטנה מ γ -נתון .במלים אחרות דרוש להביא למינימום את פונקציית המחיר הבאה: )(42 e(0 ) P0 e(0 ). T 2 )dτ − γ 2 ( T ) J = ∫ z (τ ) − γ 2 d (τ 2 0 ברור ,כי ככל שנקטין את ערכו של γכך תקטן השפעת הפרעה על המערכת ולכן נחפש את הγ - המינימאלי )או קרוב לערך המינימאלי ע"מ למנוע הגברים גבוהים( עבורו קיים פתרון לבעיה. מהתורה של בקרת ∞ Hידוע כי הבקר אשר מביא למינימיזציה של נורמת האופרטור שהגדרנו הנו: )(43 u (t ) = − R −1 B T (t )P(t )e(t ), 29 כאשר P(t ) = P T (t ) > 0מתקבל ע"י פתרון משוואת Riccatiהבאה )(44 − P& (t ) = P(t )A(t ) + AT (t )P(t ) − P(t )B(t )R −1 B T (t )P(t ) + γ −2 P(t )B1 B1T P(t ) + Q, P(t = T ) = 0. באפן דומה למקרה הקודם ,את משוואת Riccatiזו יש לפתור מהסוף להתחלה באופן איטרטיבי – בוחרים γגדול מספיק עבורו קיים פתרון למשוואת Riccatiולאחר מכן מורידים את ערכו עד שמגיעים למצב בו אין פתרון .ערך מינימאלי של γעבורו קיים פתרון נקרא הפתרון המרכזי )ראה נספחים(. משפט :3.5 עבור ) n = 4מודל הרכב(: )(45 0 0 e2 u1 . 0 e3 u1 1 0 0 1 u 1 0 .+ 0 u 2 1 0 0 0 e1 1 0 e 2 0 + ) 0 e3 x 2, d (t ) 0 e 4 x 3,d (t 0 0 e&1 0 e& 0 0 0 2 = 0 ) e&3 0 u1, d (t 0 ) u1, d (t e& 4 0 ועבור γ > 0נניח כי קיים ∞ < P (t ) = P T (t ) > 0 ∀ 0 ≤ tהמקיים את משוואת Riccatiהבאה: )(46 − P& (t ) = P (t )A(t ) + AT (t )P (t ) − P (t )B(t )R −1 B T (t )P (t ) + γ −2 P (t )B1 B1T P (t ) + Q. אזי הבקר ) u (t ) = − R −1 B T (t )P (t )e(tפותר את בעיית ∞ Hבסביבת הראשית ומייצב את המערכת אקספוננציאלית לוקאלית בסביבת הראשית. הוכחת הטענה :נגדיר פונקצית V Lyapunovבאופן הבא: V (t , e(t )) = e T (t )P (t )e(t ) , )(47 אשר מקיימת 2 2 ≤ V (t , e(t )) ≤ c 2 e 2 2 . c1 e נחשב את הנגזרת של פונקצית (47) Lyapunovלפי הזמן ולאורך המסלול של המערכת. )) ∂V (t , e(t = e& T (t )P (t )e(t ) + e T (t )P (t )e&(t ) + e T (t )P& (t )e(t ). ∂t )(48 נציב כעת ל (48)-את משוואת המערכת הלא ליניארית ) (45ונשתמש במשוואת :(46) Riccati )(50 )) ∂V (t , e(t T = [A(t )e(t ) + B(t )u (t ) + B1 d (t )] P (t )e(t ) + e T (t )P (t )[ A(t )e(t ) + B(t )u (t ) + B1 d (t )] − ∂t − e T (t ) P (t )A(t ) + AT (t )P (t ) − P (t )B(t )R −1 B T (t )P (t ) + γ − 2 P (t )B1 B1T P (t ) + Q e(t ). [ ] כעת נציב את חוק הבקרה ) (43ונפשט: )(51 30 ∂V (t , e(t )) = ∂t [ ] [ ] e T (t ) A(t ) − B(t )R −1 B T (t )P (t ) P (t )e(t ) + e T (t )P (t ) A(t ) − B(t )R −1 B T (t )P (t ) e(t ) − T [ ] − e T (t ) P (t )A(t ) + AT (t )P (t ) − P (t )B(t )R −1 B T (t )P (t ) + γ − 2 P (t )B1 B1T P (t ) + Q e(t ) + + d T (t )B1T P (t )e(t ) + e T (t )P (t )B1 d (t ). : סימטרית נקבלB(t )R −1 B T (t ) -מכיוון ש ∂V (t , e(t )) = −e T (t ) P (t )B(t )R −1 B T (t )P (t ) + Q + γ − 2 P (t )B1 B1T P (t ) e(t ) + ∂t + d T (t )B1T P (t )e(t ) + e T (t )P (t )B1 d (t ). [ ] (52) ,כידוע e (t )u1 (t ) e2 (t )(k11 (t )e1 (t ) + k12 (t )e2 (t ) + k13 (t )e3 (t ) + k14 (t )e4 (t )) d (t ) = 2 = , e3 (t )u1 (t ) e3 (t )(k11 (t )e1 (t ) + k12 (t )e2 (t ) + k13 (t )e3 (t ) + k14 (t )e4 (t )) . − R −1 B T (t )P(t ) [ היא השורה הראשונה של המטריצהk11 (t ) k12 (t ) k13 (t ) k14 (t )] כאשר : ניתן לרשום באופן הבאd (t ) מצד שני את k (t )e (t ) k12 (t )e2 (t ) k13 (t )e2 (t ) k14 (t )e2 (t ) d (t ) = 11 2 e(t ) ≡ ϕ (e2 (t ), e3 (t ))e(t ). k11 (t )e3 (t ) k12 (t )e3 (t ) k13 (t )e3 (t ) k14 (t )e3 (t ) : מתקיים הקשר הבא,לכן d T (t )B1T P (t )e(t ) + e T (t )P (t )B1 d (t ) = e T (t )ϕ T (e2 (t ), e3 (t ))B1T P (t )e(t ) + e T (t )P (t )B1ϕ (e2 (t ), e3 (t ))e(t ). שוויון-ע"י שימוש באי αβ + β T α T ≤ εαα T + ε −1 β T β קל להראות כי ( ) d T (t )B1T P (t )e(t ) + e T (t )P (t )B1 d (t ) ≤ e T (t ) γ 2ϕ T (e 2 (t ), e3 (t ))ϕ (e 2 (t ), e3 (t )) + γ −2 P (t )B1 B1T P (t ) e(t ). : ניתן לרשום בצורה הבאהϕ (e2 (t ), e3 (t )) את המטריצה e2 (t ) e2 (t ) e2 (t ) e2 (t ) K (t ), e3 (t ) e3 (t ) e3 (t ) e3 (t ) ϕ (e2 (t ), e3 (t )) = 0 0 0 k11 (t ) 0 0 0 k12 (t ) כאשר . K (t ) = 0 0 0 k13 (t ) 0 0 k14 (t ) 0 ניתן להראות כי ϕ T (e2 (t ), e3 (t ))ϕ (e2 (t ), e3 (t )) = (e22 (t ) + e32 (t )) K (t )IˆK (t ), 31 1 1 כאשר 1 1 1 1 1 1 1 1 1 1 1 1 . Iˆ = 1 1 אם נציב את כל התוצאות הללו חזרה ל (52)-נקבל: )) ∂V (t , e(t ) ≤ −e T (t ) P (t )B(t )R −1 B T (t )P (t ) + Q − γ 2 e22 (t ) + e32 (t ) K (t )IˆK (t ) e(t ∂t ≤ −e T (t ) P (t )B(t )R −1 B T (t )P (t ) + Q − γ 2 e(t ) 2 K (t )IˆK (t ) e(t ). ] ) [ ( [ ] נסמן m = sup K (t )IˆK (t ) , t λ = λ min (Q ). נגדיר את הסביבה הבאה: 1 . 2mγ 2 ≤λ 2 U = e : e אזי 1 2 − Q + γ 2 e K (t )IˆK (t ) ≤ − I λ. 2 למעשה 1 I λ .. 2 ≤Q− λ 2 1 2mγ 2 2 ≤ ⇒ mγ 2 e I ≤λ 2 e מתוך ההגדרה של mומתוך האי שוויון האחרון נובע: 1 2 γ 2 e K (t )IˆK (t ) ≤ Q − I λ. 2 מכאן מתקבל 2 )) ∂V (t , e(t 1 ≤− λ e ∂t 2 ומכאן עולה כי המערכת הינה יציבה אקספוננציאלית בסביבה Uשל הראשית. □ הערה :בדוגמאות מעשיות ניתן אף לאמוד את הסביבה ממנה מובטחת ההתכנסות של הרכב למסלול ע"י חישובים פשוטים: 1 . 2mγ 2 ≤λ 32 2 e תוצאות הסימולציה: להלן דוגמא של ביצועי הבקר: דרושה עקיבה אחרי המסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה הבאים: . ( x(0), y (0), θ (0), φ (0)) = (− 2, - 1, 0, 0 ). אם נבחר 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 P(t ) |t =50 = 0 0 10 0 R= , 0 10 אזי עבור γ min = 7נקבל את התוצאות הבאות: איור –12קואורדינטות של הרכב 33 10 0 0 0 0 10 0 0 , Q= 0 0 10 0 0 0 0 10 איור -13כניסות איור –14שגיאות 34 3.4בקרה באמצעות (Linear Matrix Inequality) LMIsוצורות שרשרת בפרק זה נראה כיצד ניתן לקבל בקר ליניארי קבוע בזמן בעזרת גישה חדשה לפתרון בעיית ∞ H באמצעות אי-שוויונים מטריציוניים – ) LMIsבנספח ה' ניתן למצוא הסבר בסיסי על ה LMIs-וכן את ה LMIs-שצריכים לפתור לקבלת הפתרון לבעיית משוב מצב( .הסיבה לכך ברורה – בקר כזה הרבה יותר פשוט לחישוב וחוסך בזיכרון )לא יהיה צורך לפתור משוואת Riccatiהדיפרנציאלית ולאגור את תוצאותיה בזיכרון(. אפשרות א' – ניתן להחליף את כל האיברים ,במשוואה ) ,(41התלויים בזמן במטריצות ) B(t ), A(t אפשר להחליף בפוליטופים אשר בקצוותיו יהיו ערכים מקסימאליים ומינימאליים של האיברים התלויים בזמן .המטרה כעת היא למצוא בקר משוב ליניארי ) u (e(t )) = Ke(tקבוע בזמן אשר ייצב את המערכת הקבועה בזמן עם אי וודאות תחומה ע"י גבולות הפוליטופ הנ"ל .ייצוג כזה של המערכת מאוד נוח לטיפול באמצעות ה - LMIs-לכל "קודקוד" כזה מגדירים LMIופותרים .הערה :בשיטה זו יש חיסרון של תכנון יתר. 35 תוצאות הסימולציה: להלן דוגמא של ביצוע הבקר: דרוש שהרכב יעקוב אחרי המסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה הבאים: . (x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 2, - 1, 0, 0 ). אזי אם נבחר γ = 4.5. 1 0 R= , 0 1 0 0 , 0 5 0 0 1 0 נקבל את התוצאות הבאות: איור –15קואורדינטות של הרכב 36 0 1 0 0 5 0 Q= 0 0 איור -16כניסות איור –17שגיאות 37 אפשרות ב' – בגלל שההפרעה באפשרות א' לא חסומה הבקר שהתקבל אינו מייצב את המערכת גלובלית. כעת נתגבר על הבעיה באמצעות הפעולה הבאה :נתבונן במשוואה הראשונה במערכת ) (40ונבחר את כניסת הבקרה הראשונה בצורה הבאה: u1 = −k1e1 . )(53 בכך גרמנו ל e1 -וכן ל u1 -להתכנס בקצב אקספוננציאלי לראשית .כעת נסדר את תת-המערכת של n − 1המשוואות שנותרו בצורה הבאה: e~& (t ) = A(t ) e~ (t ) + B(t ) u 2 (t ) + B1 d (t ), )(54 כאשר וקטור נתונים המצב ]) , e~ (t ) = [e2 (t ) e3 (t ) L en (t T וקטור ההפרעות ]) d (t ) = [− k1 x 2,d (t )e1 (t ) − k1e1 (t )e2 (t ) L − k1 x n −1,d (t )e1 (t ) − k1e1 (t )en −1 (tוכן המטריצות T 1 0 B = 0 , M 0 Ο B1 = (1,n − 2 ) . I n−2 0 M M , M 0 L L 0 u 1,d A(t ) = 0 M 0 L O O O O u1,d O u1,d 0 L כך ש Ο (1,n − 2 ) -היא מטריצת אפסים במימדים ) 1 × (n − 2ואילו I n −2הנה מטריצת יחידה במימד ) . (n − 2 ) × (n − 2 ייצוג כזה של תת-המערכת מאוד נוח לטיפול באמצעות ה:LMIs- נגדיר . a ≡ u1,dניתן לראות ש a -חסומה וגדולה תמיד מאפס .חסמים העליון והתחתון ידועים והם a maxו a min -בהתאמה ולכן גם המטריצה Aחסומה בפוליטופ בין 0 M M M 0 L L O L O a max O O O a max 0 L 0 0 a M max Amax = 0לבין M M M 0 0 L L L O O O O a min O a min 0 L 0 a min = 0 M 0 . Amin בגלל המבנה הייחודי של המטריצה Aועבור וקטור Bנתון תמיד יש פתרון ל LMIs-עבור בעיה זו של משוב מצב עם "אי-וודאות" במטריצה . Aהבקר הליניארי שיתקבל ייצב את המערכת גלובאלית – להוכחת טענה זו נשתמש במשפטים הבאים: הגדרה :3.2פונקציה רציפה ) ∞ α : [0, a ) → [0,הינה פונקציה השייכת לקבוצה Kאם היא מונוטונית עולה ומקיימת . α (0 ) = 0 הגדרה :3.3נתונה המערכת f (t ,0 ) = 0 ∀t ≥ 0 . x& = f (t , x ),המערכת הנ"ל נקראת יציבה גלובאלית -Kאקספוננציאלית אם קיים γ > 0ופונקציה )⋅( kהשייכת לקבוצה Kכך שמתקיים: 38 x(t ) ≤ k ( x(t 0 ) ) exp[− γ (t − t 0 )]. משפט :[18] 3.6נניח כי נתונה המערכת קסקדה ) z&1 = f1 (t , z1 ) + g (t , z1 , z 2 z& 2 = f 2 (t , z 2 ), כאשר f1 (t , z1 ) , z1 ∈ IR n , z 2 ∈ IR mבעלת נגזרת רציפה ב (t , z1 ) -ואילו ) g1 (t , z1 , z 2 ) , f 2 (t , z 2 רציפות בארגומנטים שלהן ומקיימות תכונת ” “locally Lipschitzב z 2 -ו (z1 , z 2 ) -בהתאמה. ניתן להתייחס למערכת הנ"ל כאל מערכת ) ∑1 : z&1 = f1 (t , z1 אשר מעורערת ע"י המצב של המערכת ∑ 2 : z& 2 = f 2 (t , z 2 ). המערכת קסקדה היא GUASאם מתקיימים שלושת התנאים הבאים: ) z&1 = f1 (t , z1היא GUASוקיימת פונקציה בעלת נגזרת רציפה הנחה :3.1המערכת V (t , z1 ) : IR+ × IR n → IRאשר מקיימת את W ( z1 ) ≤ V (t , z1 ), ∂V ∂V + ⋅ f1 (t , z1 ) ≤ 0, ∀ z1 ≥ η , ∂t ∂z1 ∀ z1 ≥ η , ∂V z1 ≤ cV (t , z1 ), ∂z1 כאשר ) W ( z1היא פונקציה מוגדרת חיובית ו c > 0,η > 0 -הם קבועים, הנחה :3.2הפונקציה ) g (t , z1 , z 2מקיימת לכל : t > t 0 , 1 )z g (t , z1 , z 2 ) ≤ θ 1 ( z 2 ) + θ 2 ( z 2 כאשר θ 1 ,θ 2 : IR+ → IR+הן פונקציות רציפות, הנחה :3.3המערכת ) z& 2 = f 2 (t , z 2היא GUASולכל t 0 ≥ 0מתקיים: , t , z 2 (t 0 )) dt ≤ κ ( z 2 (t 0 ) ), ∞ 0 ∫ z (t 2 t0 כאשר )⋅( κהיא פונקציה מסוג .K משפט עזר :[18] 3.7אם בנוסף להנחות במשפט הקודם שתי המערכות ) z&1 = f1 (t , z1ו- ) z& 2 = f 2 (t , z 2יציבות גלובאלית -Kאקספוננציאלית ,אזי מערכת הקסקדה יציבות גלובאלית -K אקספוננציאלית. כעת ניישם את המשפט עבור המערכת ):(54)-(53 39 : עבור המקרה הנדון נגדיר:הוכחה e&2 0 e& u 3 1,d ∑1 : e&4 = 0 M M e&n 0 ∑ 2 : e&1 = − k1e1 , L L L O u1,d O O O O L 0 u1,d 0 e 2 1 M e3 0 M e 4 + 0 u 2 , M M M 0 en 0 0 − k1 x 2 d e1 − k1e1e2 , g (t , e, e1 ) = M − k1 x n −1,d e1 − k1e1en −1 .LMIs- הבקר שמתקבל מחישוב ה- u 2 = K ⋅ e~ כאשר :3.1 קיום הנחה LMIs- קיים פתרון ל:3.4 הנחה PA + AT P − PBR −1 B T P + γ −2 PB1 B1T P + Q ≤ 0 . 0 > a min > a max לכל אי וודאות מתקייםAmin ≤ A ≤ Amax בתחוםA עבורה לכל מטריצהP = P T > 0 קיימת מטריצה,כלומר .האי שוויון הנ"ל . u 2 = − R −1 PB e~ (t ) = K ⋅ e~ (t ) הבקר המייצב נתון ע"י : V Lyapunov נגדיר את פונקצית V (e~(t )) = e~ T (t )P e~(t ) = W (e~ (t )). : V Lyapunov הנגזרת לפי זמן של פונקצית ∂V (t , e~(t )) ~& T = e (t )Pe(t ) + e~ T (t )P(t )e~& (t ). ∂t : את משוואת המערכת ואת כניסת הבקרהV נציב כעת לנגזרת של ∂V (t , e~ (t )) T = [ A(t )e~ + Bu 2 ] (t )Pe(t ) + e~ T (t )P(t )[ A(t )e~ + Bu 2 ] = ∂t T ~ e AT (t )P + PA(t ) − 2 PBR −1 B T P e~. [ ] : ניתן להראות כי מתקיים3.4 באמצעות הנחה ∂V (t , ~ e (t )) ~ T T < e A (t )P + PA(t ) − 2 PBR −1 B T P e~ + e~ T PBR −1 B T P + γ − 2 PB1 B1T P + Q e~ ≤ 0. ∂t ,כלומר ∂V (t , e~ (t )) 2 ≤ −c e~(t ) . ∂t [ ] [ 40 ] בדיקת התנאי ~∀ e ~ ∂V e ≤ c1V (e~ ), ~ ∂e ∂V חישוב פשוט נותן כי ~= 2 Pe ~ ∂e : ולכן התנאי מתקיים. מסקנה :הבקר u 2מייצב את המערכת ∑1גלובלית אקספוננציאלית ).(GES קיום הנחה :3.2 קיום הנחה :3.3ההנחה מתקיימת מתוך ההגדרה של : e1 ≤ c1 M + c1e. 0 0 x 2,d + e2 M M en −1 x n −1,d ≤ c1 ) . e1 = k 0 exp(− k1t ולכן כל התנאים של המשפטים 3.7 ,3.6מתקיימים. □ 41 ) g (t , e, e1 תוצאות הסימולציה: להלן דוגמא של ביצוע הבקר: דרוש כי הרכב יעקוב אחר מסלול הבא x d (t ) = t , y d (t ) = sin t , תוך פרק זמן של . T = 10 secנניח גם תנאי התחלה: . ( x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 2, - 1, 0, 0 ). אם נבחר R = [1], 1 0 0 Q = 0 1 0, 0 0 5 אזי עבור γ = 5.5נקבל את התוצאות הבאות: איור –18קואורדינטות של הרכב 42 k1 = 4, איור -19כניסות איור - 20שגיאות 43 . 4התכנסות לנקודה רצויה כפי שנאמר בפרק : 2.1אין זה אפשרי לייצב בכלל את המערכת ב qe -ביחס לראשית ע"י שימוש במשוב חלק )למעשה ,רציף( בלתי תלוי בזמן ) . υ = υ (qלכן ,תוך ניצול מבנים מיוחדים של צורות קנוניות )צורות שרשרת לדוגמא( פותחו חוקי בקרה יעילים שונים ,כגון משוב משתנה בזמן ,משוב לא רציף ,משוב hybridוכו'. אל בעיית ההתכנסות לנקודה רצויה ניתן להתייחס כאל בעיית ההתכנסות לראשית ע"י החלפת קואורדינטות פשוטה .נציג שיטה פשוטה ויעילה ביותר המסתמכת על החלפת קואורדינטות לא רציפה ].[3 נזכר בצורת שרשרת ):(6 . x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 x& 4 = x3u1 נגדיר את כניסת הבקרה u1באופן הבא u1 = −kx1 , )(55 כאשר . k > 0לכן משתנה המצב x1דועך לאפס בקצב אקצפוננציאלי של . k עבור שלושת משתני המצב שנותרו x 2 , x3 , x 4נגדיר החלפת קואורדינטות הבאה y1 = x 2 y 2 = x3 x1 )(56 y3 = x4 x . 2 1 לכן ע"י גזירה של ) (56והצבת ) (55לתוצאה נקבל y&1 = x& 2 = u 2 x1 x& 3 − x3 x&1 x1 x 2 u1 − x3 u1 − kx12 x 2 + kx1 x3 = = = − ky1 + ky 2 x12 x12 x12 = y& 2 x12 x& 4 − 2 x1 x&1 x 4 x12 x3u1 − 2 x1 x 4 u1 − kx13 x3 + 2kx12 x 4 = y& 3 = = = − ky 2 + 2ky3 . x14 x14 x14 כתוצאה התקבלה מערכת ליניארית קבועה בזמן עבור ] : y = [ y1 y 2 y 3 T )(57 0 1 0 y + 0u 2 . 0 2k 0 k −k 0 y& = − k 0 ניתן לבדוק בקלות כי למערכת ) (57מטריצת קונטרולביליות במימד שלוש ולכן המערכת קונטרולבילית. נבחר משוב ליניארי 44 ~ u 2 = k y, )(58 כאשר ] k 3 k2 ~ ~ . k = [k1אחת מהדרכים לבחור את kהיא להשתמש בשיקולים אופטימאליים. כידוע ,בקר u 2אופטימלי ניתן לחישוב ע"י ~ 1 u 2 = k y = − B T P y, r )(59 כאשר Pהיא מטריצה מוגדרת חיובית שמחושבת ממשוואת Riccatiאלגברית ARE 1 PA + AT P − PBB T P + Q = 0 r )(60 עם משקלים מתאימים r > 0ו Q ≥ 0 -לכניסה ולמצבים בהתאמה. כעת נחשב כניסות "אמיתיות" υ1ו υ 2 -למערכת ).(3 ראשית ,נציב את החלפות קואורדינטות ) (7ו (56)-ל (55)-ו:(58)- u1 = − kx1 = − kx tan φ l cos 3 θ y1 x2 ~ ~ ~ ~ u 2 = k y = k y 2 = k x3 x1 = k tan θ x . y 3 x 4 x12 y x2 )(61 כעת נציב את ) (61ל (8)-ולבסוף נקבל υ1 = − kx cosθ )(62 sin φ cos φ ~ 2 2 υ 2 = 3kx sin θ sin φ l cos θ − k l sin θ cos θ cos φ x . y l cos 3 θ cos 2 φ x 2 2 )(63 2 הערות: • בקר זה לא מוגדר עבור ) x = 0 (iו. θ = π 2 ± kπ , k ∈ IN ( ii)- ) (iנובע מ (56)-ואילו ) ( iiנובע מכך שצורת שרשרת לא מוגדרת עבור ערכי θאלה. • להגדרת הבקר צריכים לקבוע את . k , r , Q • הכניסה υ1שמחושבת מ (63)-תלויה באופן ישיר במקדם kולכן ככל שנבחר אותו גדול יותר כך נקבל התכנסות מהירה יותר ,אך גם גודלה של הכניסה υ1יגדל בהתאם – קיימת סכנה של רוויה. 45 תוצאות הסימולציה: להלן דוגמא של ביצועי הבקר: דרוש כי הרכב יתכנס לראשית מתנאי התחלה . (x(0 ), y (0 ), θ (0 ), φ (0 )) = (− 5, - 5, 0, 0 ). לשם כך נבחרו הפרמטרים השונים באופן k=2 הבא: 2 0 0 Q = 0 2 0 0 0 2 r = 1. איור - 21משתני המצב. 46 איור -22כניסות. ניתן לראות כי עם בחירה חכמה של פרמטרים ניתן להגיע לביצועים טובים של הבקר תוך שמירה על גודלן החסום של כניסות הבקרה. 47 .5סיכום ומסקנות בעבודה זו עסקנו בבעיית הבקרה של המודל הקינמטי של רכב אוטונומי .הראנו כיצד מקבלים את המודל הקינמטי .חקרנו את תכונותיו של המודל הקינמטי וכן את תכונותיה של צורה קנונית חשובה הנקראת צורת שרשרת .בעבודה התייחסנו לשתי בעיות בקרה שונות: .iii עקיבה אחרי מסלול שנקבע מראש – .Trajectory tracking .iv התכנסות לראשית ממצב התחלתי כלשהו – .Point Stabilization לפתרון הבעיה הראשונה בצענו ליניאריזציה של המודל הקינמטי ושל צורת שרשרת יחסית למסלול. כתוצאה מכך התקבלו מערכות ליניאריות קונטרולביליות תלויות בזמן .ראשית פיתחנו בקרים אופטימאליים עבור המודל הקינמטי וצורת שרשרת המבוססים על הליניאריזציה שלהם .הוכחנו יציבות אקספוננציאלית מקומית מסביבה קרובה של המסלול .לאחר מכן עבור אותן מערכות פיתחנו בקר באמצעות תורות הבקרה ∞ , Hכאשר בתור הפרעה הכרנו את האיברים הלא ליניאריים שהשמטנו בשלב ביצוע הלניאריזציה .הוכחנו כי המערכות יציבות אקספוננציאלית בסביבה מספיק קרובה מהמסלול וכן שההפרעות בסביבה זו חסומות ב - L2 -כלומר פתרנו את בעיית ∞ . Hהחיסרון בכל הבקרים הללו הוא שלקבלתם יש לפתור משוואות Riccatiתלויות בזמן ולאגור את תוצאותיהן בזיכרון והדבר דורש כוח חישובי וזיכרון רבים .עובדה זו עודדה חיפוש אחרי בקר בלתי תלוי בזמן .את הבעייתיות הנ"ל פתרנו ע"י שימוש באלגוריתמים נומריים לפתרון אי שיוויונים מטריציוניים ליניאריים – .LMIsהיתרון בשימוש ב- LMIsהוא שניתן לפתרון באמצעותם בעיות עם אי-ודאות בפרמטרים .כלומר ,אם נתייחס למערכת ליניארית תלויה בזמן כאל מערכת בלתי תלויה בזמן עם אי ודאות בפרמטרים נקבל בקר קבוע בזמן. באמצעות מניפולציה מתמטית ניתן אף לגרום להפרעות לדעוך בקצב אקספוננציאלי ולפתח בקר שייצב את מערכת באופן גלובאלי .תוצאות סימולציה מצורפות מעידות על עדיפות בביצועים של הבקרים אשר פותחו באמצעות ∞ Hו. LMIs- לפתרון הבעיה השנייה ניצלנו את המבנה המיוחד של צורת שרשרת ובעזרת המרת קואורדינטות נוספת קיבלנו תת-מערכת ליניארית קבועה בזמן .גם את הבעיה הזאת באמצעות בקרה אופטימאלית והסימולציות המצורפות מראות את טיב הביצועים של הבקר. 48 נספחים נספח א' Chained forms - ][13 לצורך הקלת על תכנון בקר ניתן להמיר את משוואות המערכת של רובוט נייד לצורה קנונית פשוטה יותר .לדוגמא, שינוי קואורדינטות x1 = x x 2 = tan φ l cos 3 θ x3 = tan θ x 4 = y, נשים לב כי החלפת קואורדינטות זו מוגדרת בתחום פתוח . θ = π 2 − ε , k ∈ IN בשילוב עם החלפת הכניסות υ1 = u1 cos θ υ 2 = − 3 sin θ sin 2 φ u1 l cos 2 θ + l cos 3 θ cos 2 φ u 2 , ממירים את המערכת } {1למערכת x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 x& 4 = x3u1 . המערכת החדשה שייכת למשפחה כללית יותר של צורות שרשרת המאופיינות ע"י המשוואות x&1 = u1 x& 2 = u 2 x& 3 = x 2 u1 M x& n = x n −1u1 . לצורות שרשרת יש חשיבות רבה בשטח של רובוטים ניידים מכיוון שניתן להמיר משוואות המודלים הקינמטיים של מערכות לא הולונומיות רבות )לדוגמא unicycle ,ורכבים בתוספת גרר אחד או יותר( לצורות אלה. 50 נספח ב' -גיאומטריה דיפרנציאלית ][17 מערכות לא ליניאריות רבות מתוארות ע"י המשוואות ) x& = f ( x, u y = h( x, u ). במרחב המצב שאינו , R nאלא בתת-קבוצה - nממדית של R mהנקראת יריעה .כתוצאה מכך ,המשוואות הנ"ל לעיתים קרובות אינן מתארות את המערכת בכל מרחב המצב אלא רק בחלקו ,ובחלק הנותר יש צורך בתיאור נוסף של המערכת .בשפת הגיאומטריה אפשר לומר כי המשוואות הנ"ל הן ייצוג בקואורדינטות מקומיות של המערכת ולצורך הצגת המערכת בשלמותה יש להיעזר ביותר מאשר מערכת קואורדינטות אחת. יריעה דיפרנציאלית נתון מרחב טופולוגי ) Mידוע כי תת הקבוצות U ⊂ Mנקראות פתוחות( .נניח כי לכל p ∈ Mקיימת קבוצה פתוחה Uהמכילה את pומיפוי ϕהממפה את Uלתת קבוצה פתוחה כלשהי של . R nב R n -מוגדרת פונקציות לייצוג במערכת קואורדינטות טבעיות ri (a1 ,K, a n ) = ai , i ∈ n = (1,K, n ) . בדרך זו הרשת שהוגדרה על ϕ (U ) ⊂ R nבאמצעות הפונקציות riמועתקת לרשת ב . U ⊂ M -קבוצה פתוחה U נקראת מפה ומסומנת גם באופן הבא: (U , x1 ,K, xn ) . ) ( לקיום גזירות הפונקציות על Mדרוש כי המיפויים ϕו ϕ −1 -רציפים וכן כל המפות חלקות ∞ . Cיריעה המקיימת דרישות אלה היא יריעה חלקה. וקטורים משיקים ,מרחב משיק נניח כי Mיריעה חלקה במימד . nנניח כי ) C ∞ ( pהיא קבוצה שלפונקציות חלקות המוגדרות בסיבת . p ∈ M הגדרה :שדה משיק T p Mהמשיק ל M -ב p -הוא שדה ליניארי של מיפויים X p : C ∞ ( p ) → Rהמקיימים לכל ) f , g ∈ C ∞ ( pאת: X p (α f + β g ) = α X p ( f ) + β X p (g ), α, β ∈ R X p ( f g ) = X p ( f )g ( p ) + f ( p )X p ( g ), כאשר הפעולות ב T p M -מוגדרות ע"י: ) (X + Y )( f ) = X ( f ) + Y ( f (α X )( f ) = α X ( f ), α ∈ R p p p p וקטור משיק ל M -ב p -הוא כל . X p ∈ T p M 51 p p ) (i ) (ii אלומה משיקה של יריעה חלקה Mמוגדרת כ . TM = ∪ T p M -מכאן נובע כיקיים מיפוי π : TM → Mהלוקח p∈M וקטור משיק X p ∈ T p M ⊂ TMל. p ∈ M - שדות וקטוריים הגדרה :שדה וקטורי חלק Xעל יריעה חלקה Mמוגדר כמיפוי X : M → TM וכן מתקיים יחידה על π o X = M כאשר πהנו מיפוי מ TM -חזרה ל . M -לכן ,שדה וקטורי הוא למעשה מיפוי אשר ממפה כל p ∈ Mלווקטור משיק X p ∈ T p Mבצורה חלקה. 52 נספח ג' -בקרה אופטימאלית ][5 משוואת :Hamilton-Jacobi-Bellman נניח כי המערכת מתוארת ע"י משוואת המצב ) x& (t ) = a ( x(t ), u (t ), t ומטרתנו היא למזער את פונקצית המחיר tf J = h(x(t f ), t f ) + ∫ g ( x(τ ), u (τ ),τ )dτ , t0 כאשר hו g -הן פונקציות ידועות t 0 ,ו t f -קבועים וידועים .ע"י שימוש בהכללה נשייך בעיה זו למשפחה גדולה של בעיות ע"י הגדרת פונקציית המחיר באופן הבא: t f J x(t ), t , u (τ ) = h(x (t f ), t f ) + ∫ g ( x(τ ), u (τ ),τ )dτ , t ≤τ ≤t f t0 כאשר tהנו בעל ערך כלשהו הקטן או שווה ל t f -ו x(t ) -בעל ערך קביל כלשהו .נשים לב כי פונקצית המחיר תלויה ] [ כעת בערכים נומריים של ) x(tו t -ובהיסטורית הבקרה האופטימאלית באינטרוול . t , t f ננסה כעת למצוא את הבקר אשר ימזער את פונקצית המחיר שהגדרנו לכל ) x(tקבילים ולכל . t ≤ t fלכן פונקצית המחיר היא ). t f J ( x(t ), t ) = min ∫ g ( x(τ ), u (τ ),τ )dτ + h(x(t f ), t f ) u (τ t ≤τ ≤t f t0 * נחלק את האינטגרל לשני חלקים: ). tf t + ∆t J ( x(t ), t ) = min ∫ gdτ + ∫ gdτ + h(x(t f ), t f ) u (τ t + ∆t t ≤τ ≤ t f t0 * על פי עקרון האופטימאליות t + ∆t J * ( x(t ), t ) = min ∫ gdτ + J * ( x(t + ∆t ), t + ∆t ), ) u (τ t ≤τ ≤t + ∆t t0 כאשר ) J * ( x(t + ∆t ), t + ∆tהנו "המחיר" המינימאלי באינטרוול t + ∆t ≤ τ ≤ t fו x(t + ∆t ) -הנו המצב ההתחלתי. בהנחה שנגזרות חלקיות מסדר שני של * Jקיימות וחסומות ,נפתח את ) J * ( x(t + ∆t ), t + ∆tבאמצעות טורי טיילור סביב הנקודה ) (x(t ), tונקבל T t + ∆t * ∂J * ∂J * ( ( J ( x(t ), t ) = min ∫ gdτ + J ( x(t ), t ) + x(t ), t ) ∆t + x(t ), t ) [x(t + ∆t ) − x(t )] + O ∆t 2 , ) u (τ ∂t ∂x t ≤τ ≤t + ∆t t0 2 2 כאשר O ∆tמציין את איברי השארית הכוללים את ∆tוסדרים גבוהים יותר של ∆tשנובעים מקירוב ) ( * ) ( האינטגרל ושגיאת הקיטוע של טור טיילור. 53 עבור ∆tקטן נקבל }) ( { J * (x(t ), t ) = min g ( x(t ), u (t ), t )∆t + J * (x(t ), t ) + J t* ( x(t ), t )∆t + J x* (x(t ), t )[a( x(t ), u (t ), t )]∆t + O ∆t 2 , T ) u (t כאשר * ∂J . ∂t T ∂J * L ; ∂x n ≡ *J t * ∂J ∂x 2 * ∂J * ∂J = ≡ J ∂x ∂x1 * x מאחר והאיברים הכוללים בתוכם ) J * ( x(t ), tו J t* ( x(t ), t ) -אינם תלויים ב u (t ) -נוציא אותם מהמינימיזציה ונקבל }) ( { 0 = J t* (x(t ), t )∆t + min g ( x(t ), u (t ), t )∆t + J x* (x(t ), t )[a( x(t ), u (t ), t )]∆t + O ∆t 2 . T ) ( ) u (t O ∆t 2 לאחר החלוקה ב ∆t -ולקיחת הגבול ) ∆t → 0נזכור כי = 0 ∆t →0 ∆t } ( limמתקבל השוויון { 0 = J t* (x(t ), t ) + min g ( x(t ), u (t ), t ) + J x* ( x(t ), t )[a( x(t ), u (t ), t )] . T ) u (t ניתן לראות כי עבור t = t fמתקבל תנאי שפה J * (x(t f ), t f ) = h(x(t f ), t f ). נגדיר H Hamiltonianבאופן הבא: ( ) ]) H x(t ), u (t ), J x* , t ≡ g ( x(t ), u (t ), t ) + J x* ( x(t ), t )[a( x(t ), u (t ), t T ) ( ) ) ( ( ו H x(t ), u * x(t ), J x* , t , J x* , t = min H x(t ), u (t ), J x* , t -מכיוון שהבקר הממזער את פונקצית המחיר יהיה תלוי ) u (t ב x, J x* -ו . t -תוך שימוש בהגדרות אלה מתקבלת משוואת :Hamilton-Jacobi ) ) ( ( 0 = J t* (x(t ), t ) + H x(t ), u * x(t ), J x* , t , J x* , t . בעיות רגולציה ליניארית רציפה: בבעיות רגולציה ליניארית רציפה עלינו לבקר תהליך המתואר ע"י משוואת המצב x& (t ) = A(t )x(t ) + B(t )u (t ), ואילו פונקצית המחיר שעלינו למזער הנה [ ] tf 1 1 J = x T (t f )Hx(t f ) + ∫ x T (t )Q(t )x(t ) + u T (t )R(t )u (t ) dt 2 2 t0 Hו Q -הן מטריצות ממשיות ,סימטריות ,מוגדרות חצי חיובית R ,הנה מטריצה ממשית ,סימטרית מוגדרת חיובית, הזמן ההתחלתי t 0והזמן הסופי t fמוגדרים וידועים ,ואין חסם על ) x(tו. u (t ) - על מנת להשתמש במשוואת Hamilton-Jacobi-Bellmanנחשב :Hamiltonian [ ] T 1 T x (t )Q(t )x(t ) + u T (t )R(t )u (t ) + J x* ( x(t ), t )[ A(t )x(t ) + B(t )u (t )]. 2 ) התנאי ההכרחי שעל ) u (tלקיים על מנת למזער את ה Hamiltonian-הוא ∂H ∂u = 0ולכן 54 ( = H x(t ), u (t ), J x* , t ∂H T x(t ), u (t ), J x* , t = R(t )u (t ) + B(t ) J x* ( x(t ), t ) = 0. ∂u ( ) מכיוון שהמטריצה ) ∂ 2 H ∂u 2 = R(tמוגדרת חיובית ו u -מופיע בתוך Hבצורה ריבועית ,הבקר שמקיים את המשוואה הנ"ל ממזער את ) Hגלובלית( .הפתרון של המשוואה ניתן ע"י u * (t ) = − R −1 (t )B(t ) J x* (x(t ), t ). T לאחר שנציב את הבקר לתוך ה Hamiltonian-נקבל T 1 T 1 T = *x Qx + J x* BR −1 B T J x* + J x* Ax − J x* BR −1 B T J x 2 2 1 1 T = x T Qx − J x* BR −1 B T J x* + J x* Ax. 2 2 ( ) = H x(t ), u (t ), J x* , t משוואת :Hamilton-Jacobi-Bellman 1 T 1 T x Qx − J x* BR −1 B T J x* + J x* Ax, 2 2 0 = J t* + כאשר תנאי שפה הוא 1 T x (t f )Hx(t f ). 2 = ) J * (x (t f ), t f נחפש פתרון בצורה של פונקציה ריבועית של המצב: 1 T x (t )P(t )x(t ), 2 = ) J * ( x(t ), t כאשר ) P(tמטריצה ממשית ,סימטרית ומוגדרת חיובית שעלינו לחשב .אם נציב את הפתרון משוואת Hamilton- Jacobi-Bellmanמקבלת את הצורה הבאה: & 1 T 1 1 x Px + x T Qx − x T PBR −1 B T Px + x T PAx. 2 2 2 =0 את המכפלה PAאשר מופיעה באיבר האחרון במשוואה נוכל לכתוב כסכום של חלק סימטרי וחלק אסימטרי: ] [ ] [ 1 1 T T PA + (PA) + PA − (PA) . 2 2 = PA נשתמש בתכונה (CD ) = D T C Tובידיעה שהשחלוף של סקלר שווה לאותו סקלר ולכן ניתן להראות שרק החלק T הסימטרי נלקח בחשבון והתוצאה היא 1 T & 1 T 1 1 1 x Px + x Qx − x T PBR −1 B T Px + x T PAx + x T A T Px. 2 2 2 2 2 =0 המשוואה הנ"ל חייבת להתקיים לכל ) , x(tלכן נקבל 0 = P& (t ) + Q(t ) − P(t )B(t )R −1 (t )B T (t )P(t ) + P(t )A(t ) + AT (t )P(t ), עם תנאי שפה P (t f ) = H . משוואה זו ידועה בשם משוואת .Riccati 55 יתרונות המשוואה: • משוואת H-J-Bהיא משוואה דיפרנציאלית חלקית ואילו משוואת Riccatiהנה משוואה דיפרנצילית רגילה. • ניתן לחשב את ) P(tבאמצעות אינטגרציה נומרית מ t = t f -ועד t = t 0תוך שימוש בתאי שפה . P(t f ) = H • מכיוון שהמטריצה ) P(tבעלת מימדים n × nסימטרית אנו צריכים לחשב רק n(n + 1) 2איברי המטריצה. • לאחר שחישבנו את ) P(tהבקר האופטימאלי ניתן ע"י ) . u * (t ) = − R −1 (t )B(t ) P(t )x(t T 56 נספח ד' -בקרת ∞ H ][14 הגדרת הבעיה: נתונה המערכת הבאה x& (t ) = A(t )x(t ) + B1 (t )ω (t ) + B2 (t )u (t ), כאשר ) x(tהנו וקטור משתני המצב u (t ) ,הנו וקטור כניסות הבקרה ו ω (t ) -הנו וקטור ההפרעות החיצוניות. המטרה היא למצוא את הבקר ) ) u ( xמשוב מצב( כך שנורמת ה H ∞ -בתחום ] [0 Tשל האופרטור המחבר את ) ω (t עם Q 12 0 z (t ) = )) x(t ) + 12 u ( x(t R 0 תהיה קטנה מ γ -נתון .את התנאי ניתן לרשום בצורה הבאה z (t ) 2 < γ, 0 ≤ t ≤T . sup ω (t ) 2 ω∈L2 ω ≠0 את התנאי הנ"ל ניתן לרשום בצורה אחרת – במובן של פונקצית מחיר: T T 0 0 J 1 = ∫ z T (τ )z (τ )dτ − γ 2 ∫ ω T (τ )ω (τ )dτ < 0. לכן מטרתנו היא למזער את J 1ולגרום לו להיות שלילי .רואים כי עבור ω (t ) = 0מקבלים פתרון פרטי שהוא .LQ להשלמת פונקצית המחיר נוסיף לה גם תלות בתנאי התחלה וסוף: J = J 1 + x T (T )PT x(T ) − γ 2 x T (0 )P0 x(0) < 0, כאשר . P0 , PT > 0 כדי למצוא פתרון נשתמש ב- ( ) d T x (τ )P(τ )x(τ ) dτ , dτ T ∫ = ) x (T )P(T )x(T ) − x (0 )P(0 )x(0 T T 0 כך ש P(t ) -היא מטריצה חלקה. נקבל ) ( d T x (τ )P(τ )x(τ ) = x& T Px + x T Px& + x T P& x. dτ נציב לביטוי את משוואת המערכת ונקבל ( ) d T T = x (τ )P(τ )x(τ ) = ( Ax + B1ω + B2 u ) Px + x T P( Ax + B1ω + B2 u ) + x T P& x dτ T = x T AT P + PA + P& x + (B1ω + B2 u ) Px + x T P(B1ω + B2 u ). ) 57 ( נרחיב את שני הרכיבים האחרונים בביטוי: () ) ( ) ( ) ( ) ( d T x (τ )P(τ )x(τ ) = x T AT P + PA + P& x + u T + x T PB2 R −1 R u + R −1 B2T Px − u T Ru − x T PB2 R −1 B2T Px − dτ = − ω T − γ − 2 x T PB1 γ 2 ω − B1T Pxγ − 2 + γ 2ω T ω + γ − 2 x T PB1 B1T Px = x T AT P + PA + P& − PB R −1 B T P + γ − 2 PB B T P + Q x − x T Qx − u T Ru + γ 2ω T ω − ) ) 1 2 1 2 B2T Px . 2 2 −1 2 1 ( ( 2 − γ 2 ω − γ − 2 B1T Px + R 2 u + R 2 נגדיר ψ = P& + AT P + PA − PB2 R −1 B2T P + γ −2 PB1 B1T P + Q, נציב את הביטויים שקיבלנו חזרה לפונקצית המחיר ,בצע אינטגרציה ונעביר אגפים .כתוצאה נקבל ) ( 2 B2T Px + x(0 ) P(0 ) − γ 2 P0 x(0 ) + x(T ) (PT − P(T ))x(T ). T T 2 −1 2 1 2 J = ∫ x Tψ xdτ − γ 2 ω − γ − 2 B1T Px + R 2 u + R 2 ולכן ברור כי ע"מ לקבל J ≤ 0נדרוש כי ψ = P& + AT P + PA − PB2 R −1 B2T P + γ −2 PB1 B1T P + Q ≤ 0, . P(T ) ≥ PT , P(0 ) ≤ γ 2 P0 . * −1 T ואז ברור כי עבור כניסת הבקרה u = − R B2 Pxנקבל J ≤ 0לכל הפרעה . ωלמעשה ,אם ניקח שוויון ,ψ = 0נבחר P(T ) = PTכך שיתקיים P(0 ) ≤ γ 2 P0ונקבל נקודת אוכף: ) ( ) ( ) ( J u * , ω , x0 ≤ J u * , ω * , x0* ≤ J u, ω * , x 0* , כאשר ω * = γ −2 B1 Px; x0* = 0מייצגת את ההפרעה "גרועה" ביותר ותנאי התחלה "גרוע ביותר" מכיוון שכל הפרעה אחרת ותנאי התחלה אחר יגרמו לפונקצית מחיר קטנה יותר. 58 T 0 נספח ה' – פתרון אי – שוויונים מאטריציוניים ליניארייםLMIs - ][14 לאחרונה מקובל להשתמש בפתרון של אי שוויונים ליניאריים .התיאוריה מבוססת על האי שוויון של Schurהטוען כי הדרישות P>0 Q>0 P − XQ −1 X T ≥ 0 אקוויוולנטיות ל- P>0 Q>0 P X T X ≥ 0. Q הוכחת הטענה: 0 . I 0 P − XQ −1 X T = I 0 T 0 P I X T X I −1 Q − Q X T I − Q −1 X T נשתמש כעת במשפט Schurלפתרון בעיית משוב מצב הבאה: נתונה המערכת הבאה x& (t ) = A(t )x(t ) + B1 (t )ω (t ) + B2 (t )u (t ), כאשר ) x(tהנו וקטור משתני המצב u (t ) ,הנו וקטור כניסות הבקרה ו ω (t ) -הנו וקטור ההפרעות החיצוניות. המטרה היא למצוא את הבקר ) ) u ( xמשוב מצב( כך שנורמת ה H ∞ -בתחום ] [0 Tשל האופרטור המחבר את ) ω (t עם Q 12 0 z (t ) = )) x(t ) + 12 u ( x(t R 0 תהיה קטנה מ γ -נתון .את התנאי ניתן לרשום בצורה הבאה < γ, 0 ≤ t ≤T . z (t ) 2 ω (t ) 2 sup ω∈L2 ω ≠0 את התנאי הנ"ל ניתן לרשום בצורה אחרת – במובן של פונקצית מחיר: T ∫ ω (τ )ω (τ )dτ < 0. T T 2 0 J 1 = ∫ z (τ )z (τ )dτ − γ T 0 ניתן להראות שהפתרון לבעיה זו ניתן ע"י הפתרון של ה LMIs-הבאים: Q>0 QC T + Y T D12T D11T ≤0 −I B1 − γ 2I * 59 QAT + AQ + B2Y + Y T B2T * * כאשר Y ≡ KQאו במלים אחרות הגבר משוב המצב מתקבל מ . K = YQ −1 -הערה :המטריצה המרכיבה את ה- LMIהשני סימטרית ולכן הצגנו את האיברים הסימטריים ע"י כוכביות. יתרונות בשימוש ב:LMIs- .Iהוא אפיני )ליניארי( במטריצות המערכת. γ 2 .IIיכול להיות פרמטר שפותרים ישירות עבורו – מחפשים מינימום ל. γ 2 - .IIIניתן לפתור את ה LMIs-כאשר המטריצות A, B, C1 , D11אינן ידועות במדויק וידוע שהן נמצאות בתחום תחום )לדוגמא פוליטופ(. 60 ביבליוגרפיה [1] A. De Luca and G. Oriolo, Planning robot motion, J.-P. Laumond Ed., Springler-Verlag, 1997. [2] C. Vanudas de Wit, B. Siciliano and G. Bastin, Theory of robot control, Springler-Verlag London Limited, 1996. [3] W.Huo and S.S. Ge, Exponential stabilization of non-holonomic systems: an ENI approach, INT. J. CONTROL, 2001, Vol. 74, No. 15, 1492-1500. [4] H.K. Khalil, Nonlinear systems, Prentice Hall, Inc., 1996. [5] D.E. Kirk, Optimal control theory an introduction, Prentice Hall, Inc., 1970. [6] M. Spong and M. Vidyasagar, Robot dynamics and control, John Wiley & Sons, Inc., 1989. [7] C. T. Chen, Introduction to Linear System Theory, Holt, Rinehart and Winston, Inc., 1970. [8] R. Mukherjee, D. Chen and G Song, Feedback Control Strategies for a Nonholonomic Mobile Robot Using a Nonlinear Oscilator, Journal of Robotic Systems 16(4), 237-248, 1999. [9] T. Hamel, P Soueres and D. Meizel, Path following with a security margin for mobile robots, International Journal of Systems Science, volume 32, number 8, pp. 989-1002, 2001. [10] B.D.O. Anderson and J. B. Moore, Linear Quadratic Methods, Prentice Hall Information and System Series, 1990. [11] A. Isidori, Nonlinear Control Systems, 3rd Edition, Springer-Verlag, London, UK, 1995. [12] R. W. Brockett, Asymptotic stability and feedback stabilization in Differential Geometric Control Theory, R. W. Brockett, R. S. Millman, H. J. Sussmann (Eds.), Birkhauser, Boston, MA, 181–191, 1983. [13] R. M. Murray and S. S. Sastry, “Nonholonomic motion planning: Steering using sinusoids,” IEEE Trans. on Automatic Control, vol. 38, no. 5, 700–716, 1993. [14] U. Shaked, Lecture Notes on H ∞ Control, Tel-Aviv University, 2002. [15] C. Samson, “Control of chained systems. Application to path following and time-varying point-stabilization of mobile robots”, IEEE Trans. On Automatic Control, vol. 40, np 1, pp. 6477, 1993. [16] C. Samson, “Path following and time-varying feedback stabilization of a wheeled mobile robot”, 2nd Int. Conf. on Automation, Robotics and Computer Vision, Singapore, 1992. [17] H. Nijmeijer, A. J. van der Schaft, “Nonlinear dynamical control systems”, Springer-Verlag, Inc., New York, 1990. [18] E. Panteley, A. Loria, “On global uniform asymptotic stability of nonlinear time-varying systems in cascade”, Systems & Control Letters, 33, 131-138, 1998. 61 Abstract In recent years much attention has been devoted to the problem of controlling nonholonomic systems in general and autonomous vehicles in particular. In this work, we investigate strategies for controlling a vehicle which is constrained to move in a plane. The control problems which are dealt with in this paper may be classified as follows: 1. Trajectory tracking – the vehicle is forced to reach and follow a trajectory in the plane (i.e., a geometric path, parameterized by time), starting at a given initial position. 2. Point stabilization - the vehicle is forced to reach a desired target starting at a given initial position. The vehicle is capable of producing an autonomous motion by controlling its actuators. The main feature of the kinematic model of the mobile robot is the presence of non-holonomic constraints, which make the kinematic model non-linear and the control problem more complex. This system has two velocity inputs: the first is responsible for driving and the other for steering. Although any driver’s experience indicates that a car-like robot should be completely controllable, it is not trivial to establish such a property on a mathematical basis. In this work we prove this statement and discuss the reasoning for using different types of controllers for carrying out each one of the two control tasks which have been defined above. The first task is to follow a given trajectory. Linearizating the system about the trajectory yields a linear time-varying system. Later we establish the controllability of the linear system and propose several H ∞ and optimal controllers. Computer simulations show a satisfactory rate of convergence to a given trajectory, while the input magnitude remains bounded. It should be stressed that these controllers stabilize the system only locally, meaning that the initial position should be close enough to the desired trajectory. However, this deficiency is removed later. To solve the second problem we use non-continuous transformations to yield a linear sub-system for which the design of a suitable controller becomes a trivial task. The effectiveness of the proposed controller is shown also by the simulations. Ben-Gurion University of the Negev Faculty of Engineering Science Department of Mechanical Engineering Autonomous Vehicle Control Thesis submitted in partial fulfillment of the requirements for the M.Sc. degree By: Anor Tomer Advisor: Dr. Berman Nadav January 2004 Ben-Gurion University of the Negev Faculty of Engineering Science Department of Mechanical Engineering Autonomous Vehicle Control Thesis submitted in partial fulfillment of the requirements for the M.Sc. degree By: Anor Tomer January 2004