Uploaded by יורם איפראימוב

Anor Berman 04 (1)

advertisement
‫אוניברסיטת בן‪-‬גוריון בנגב‬
‫הפקולטה למדעי ההנדסה‬
‫המחלקה להנדסת מכונות‬
‫בקרת רכב אוטונומי‬
‫חיבור זה מהווה חלק מהדרישות לקבלת תואר‬
‫מגיסטר למדעים‬
‫בהנדסת מכונות‬
‫מאת‪:‬‬
‫אנור תומר‬
‫טבת תשס"ד‬
‫ינואר ‪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 + 0u 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 + 0u 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
Download