תורת הבקרה/משתני מצב

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש

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

הגדרות[עריכה]

משתני קלט[עריכה]

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

שימו לב:

כאן u הוא וקטור הקלט ולא פונקצית מדרגה.

משתני פלט[עריכה]

בדומה למשתני קלט, תיתכן מערכת שבה יהיו יותר מפלט (יציאה) בודד. משתני הפלט הינם בלתי-תלויים זה בזה, ומהווים צירוף לינארי של וקטור הקלט ווקטור המצב. וקטור הפלט מסומן ב-y.

משתני מצב[עריכה]

משתני מצב מתארים את מצב המערכת "מבפנים". בקפיץ עם מסה לדוגמה, אם אות הכניסה הוא כוח חיצוני ואות היציאה הוא מיקום, משתני מצב אפשריים הם תאוצת המסה ומהירות המסה. וקטור משתני המצב מסומן ב-x.

באופן כללי:

כלומר, הפלט תלוי במערכת ובקלט.

אך משתני המצב יכולים להשתנות בזמן, ולכן:

כלומר קצב שינוי משתני המצב תלוי במערכת ובקלט.

משוואות מצב[עריכה]

בייצוג מערכת באמצעות משתני מצב, דרושות שתי משוואות: אחת לשם ייצוג מצב המערכת ואחת לשם ייצוג הפלט.

מצב המערכת הנוכחי תלוי במצב המערכת הקודם, במצב ההתחלתי, בזמן ובקלט:

הפלט תלוי בזמן, במצב המערכת הנוכחי ובקלט:

אם הפלט y וקצב שינוי משתני המצב x' הם צירוף לינארי של משתני המצב ושל וקטור הקלט, אז המערכת לינארית, מקיימת את עקרון הסופרפוזיציה, וניתן לכתיבה בצורה ווקטורית:

(משוואת מצב)
(משוואת פלט)

אם בנוסף לכך המערכת אינה משתנה בזמן, אז היא נקראת LTI (Linear-Time-Invariant) כך ש:

(משוואת מצב)
(משוואת פלט)

כאשר:

  • A היא מטריצת המערכת (system matrix), אשר מקשרת בין המצב הקודם למצב הנוכחי.
  • B היא מטריצת הבקרה (control matrix), אשר קובעת כיצד הקלט משפיע על משתני המצב.
  • C היא מטריצת הפלט (output matrix), אשר מקשרת בין מצב המערכת לפלט.
  • D היא מטריצת ההזנה (feed-forward matrix), אשר מקשרת ישירות בין הקלט לפלט. במערכות SISO הפשוטות אשר עסקנו עד כה לא היה קיים רכיב זה, ובכל מקרה לרוב D=0.

כל מערכת דינמית, הניתנת לתיאור (או לקירוב) על ידי n משוואת דיפרנציאליות או על ידי משוואה דיפרנציאלית מסדר n, ניתנת לייצוג באמצעות n משתני מצב.

וקטורים מטריצות


כדאי לדעת:

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

מציאת משוואות המצב[עריכה]

מתוך משוואה דיפרנציאלית[עריכה]

נניח כי נתונה מד"ר מסדר 3, כאשר u הוא הקלט ו-y הוא הפלט.

ניתן להגדיר את משתני המצב באופן הבא:

כך שנשארנו עם 3 משוואת מסדר ראשון:

בכתיב וקטורי:

כך שמשוואת המצב היא:

מתוך פונקצית תמסורת[עריכה]

שיטה זו, מן הסתם, אנלוגית לשיטה הקודמת. בהינתן פונקצית תמסורת

נבנה את מטריצות המקדמים באופן הבא:

שימו לב:

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

אי-יחידות של משתני מצב[עריכה]

משתני המצב x נבחרים שרירותית בידי פותר הבעיה, ולכן קיימות מספר אפשרויות לבחירת משתני מצב, וכל בחירה תביא למשוואת מצב אחרת.

נשכתב את הדוגמה הקודמת:

.

נגדיר את משתני המצב באופן הבא:

ואז:

כך שמשוואת המצב היא:


כדאי לדעת:

בעוד ש-x יכול להבחר שרירותית, האותות u,y הם חד משמעיים.

דוגמה: מד"ר מורכבת[עריכה]

Blue think.svg במערכת פיזיקלית n>m.

נניח כי המערכת הפיזיקלית תלויה בנגזרות פונקצית הפלט:

במקרה זה לא נוכל להחליט וגו', נכיוון שנישאר עם תלות בנגזרות של u. על מנת לא להשאר עם אף נגזרות, נבצע מניפולציה דיפרנציאלית[2]. תחילה נגדיר:

ואז:

כך שנגדיר את משתני המצב באופן הבא:

נסמן כך ש:

ובכתיב וקטורי:

דוגמה: ריבוי כניסות ויציאות[עריכה]

Mass-Spring-Damper (2 body system).png

שימו לב כי כאן יש שתי כניסות (u1,u2) ושתי יציאות (y1,y2).

המשוואות הדיפרנציאליות המתארות את המערכת הן:

נבודד את הנגזרת הגבוהה:

נגדיר את וקטור משתני המצב להיות:

כך שנקבל 4 משוואות מסדר ראשון:

נעביר לכתיב וקטורי:

והמשוואה עבור הפלט היא הביטוי הפשוט:

מטלאב[עריכה]

נניח כי ה-Workspace מכיל את מטריצות המקדמים A,B,C,D. ניתן להגדיר מערכת משוואות מצב באמצעות הפקודה:

ss(A,B,C,D);


בהינתן וקטור מונה (num) ווקטור מכנה (den) של פונקצית תמסורת, ניתן להמירו למערכת משתני מצב:

[A,B,C,D]=tf2ss(num,den);


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

[num,den]=ss2tf(A,B,C,D);


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

>> A=[1 2 3;3 5 8;2 1 4];
>> damp(eig(A))
                                           
 Eigenvalue     Damping     Freq. (rad/s)  
                                           
  8.99e+00     -1.00e+00       8.99e+00    
 -9.99e-02      1.00e+00       9.99e-02    
  1.11e+00     -1.00e+00       1.11e+00

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

סיכום: תאור מערכת דינמית במרחב המצב[עריכה]

  • משוואת הקלט (משוואת הדינמיקה):
  • משוואת הפלט (משוואת המדידה):
  • מטריצת התמסורת:

הערות[עריכה]

  1. ^ Multiple Input Multiple Output, לעומת SISO - Single Input Single Output.
  2. ^ מתוך: Warwick, K., An Introduction to Control Systems.

קישורים חיצוניים[עריכה]