Control system design of robot arm by Or Hirshfeld
Final report for university project
תכנון בקרה לזרוע רובוטית
פרוייקט במסגרת קורס בבקרה בטכניון
אור הירשפלד
flow and drag force around boat - finite element project - Or Hirshfeld - Tec...Or Hirshfeld
Mais conteúdo relacionado
Control system desgin of robot arm by Or Hirshfeld - פרוייקט תכנון בקרה - אור הירשפלד
1. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
טכניון
מערכת קטיף תפוחים
) פרוייקט במסגרת קורס במבוא לבקרה ) 510510
אור הירשפלד – תז 000507003
3/24/2014
2. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תוכן עניינים
תוכן עניינים....................................................................................................................... 1
מודל המערכת ................................................................................................................... 3
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב ............................................................. 3
פונקציית תמסורת .............................................................................................................. 6
בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ ........................................................................ 7
הוספת השהייה.................................................................................................................. 8
לינראזציה ........................................................................................................................ 9
מציאת קטבים ואפסים ........................................................................................................ 9
רוט-לוקוס....................................................................................................................... 11
ניקוויסט ......................................................................................................................... 13
מציאת גבול יציבות בעזרת ניקוויסט ................................................................................. 11
תכנון לפי זיגלר ניקולוס.................................................................................................... 11
שיפור הבקר הנבחר לפי זיגלר ניקולס ............................................................................... 19
רגיל מול מתוקן לכניסת מדרגה .................................................... 19 PID השוואה בין בקר
רגיל מול מתוקן להפרעת מדרגה ................................................... 11 PID השוואה בין בקר
מתוקן ...................... 11 PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר
מתוקן .................... 13 PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר
המרת ספיצפיקציות ......................................................................................................... 11
בניית מערכת מסדר שני ................................................................................................. 11
מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה ........................................................ 16
מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס ................................................... 17
שגיאה במצב מתמיד ...................................................................................................... 18
רשתות תיקון לפי ספספיקציות .......................................................................................... 19
31 ............................................................................................................. PI הוספת בקר
תיקון פאזה .................................................................................................................. 31
תיקון הגבר .................................................................................................................. 31
סיכום עמידה בדרישות ................................................................................................... 33
בדיקת יציבות ........................................................................................................... 33
משערך ומשוב המצב ....................................................................................................... 36
מערכת מרחב מצב......................................................................................................... 36
משוב מצב ................................................................................................................... 36
מודל המערכת 1 מערכת קטיף תפוחים
3. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
קונטרולביליות ......................................................................................................... 36
מציאת הבקרים בעזרת אקרמן ..................................................................................... 37
בניית מערכת משוב מצב בחוג סגור .............................................................................. 37
בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב ...................................................... 38
משערך ....................................................................................................................... 39
אובסרבליות ............................................................................................................. 39
מציאת בקר המשערך ע"י אקרמן.................................................................................. 11
בדיקת תוצאות המערכת עם משערך.............................................................................. 11
ביבליוגרפיה.................................................................................................................... 11
נספח – קוד התוכנה.......................................................................................................... 11
מודל המערכת 1 מערכת קטיף תפוחים
4. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מודל המערכת
X
ma
F m
Cv
מסת הזרוע – m , כוח המופעל ע"י המנוע -F , חיכוך דינמי –C , מרחק – X
F m x Cx 0
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב
: X נגדיר את וקטור
x
1
2
2 2
F
m
C
x
m
0
1
x F m
x
x
C
m
F
x
x
x
x x
x x x
1 2
x
m
x
0 1
1
x
C m
x
0
2
2
נציב נתונים, נניח שמכלול הזרוע שוקל כ 1- ק"ג, הכוח הוא המופעל הוא 11 ניוטון, החיכוך הוא 1.1
ניוטון לכל מ/ש' לכן:
0 1
0
0.1
0
2
x
1
2
x
1
2
x
x
x
נניח מצב התחלתי של מרחק מטר מן התפוח, לכן הגדרתי בצורה הבאה:
מודל המערכת 3 מערכת קטיף תפוחים
5. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
בכדי לראות מה קורה עם מדרגת יחידה שעולה לאחר שנייה לגובה 1 State-Space נשים במערכת
האות יוצא לא יציב כפי שצפוי
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
6. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצ 1ב מערכת קטיף תפוחים
7. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
פונקציית תמסורת
כעת נבנה פונקציית תמסורת של המערכת
f m x
Cx
2
F mS X mSx mx CSX
Cx
(0) (0) (0)
C mS x mx
1 [ ] (0)
(0) 1
2 2
CS mS F
X
F CS mS
נציב את תנאי ההתחלה ונראה שניתן להתייחס רק לחלק ההומוגני
C mS m
1 [ ]0
0 1
2 2
2
2
X
F CS
mS
1
X
F CS
mS
1
0
X
F CS mS
CS mS F
נציב את הנתונים של המערכת
1
2 0.5 5
X
F S
S
נעביר את המערכת למאט-לאב
ונריץ עם כניסת מדרגה
פונקציית תמסורת 6 מערכת קטיף תפוחים
8. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
בדיקת יציבות ע"פ קריטריון ראות'-הורוביץ
נרצה לבדוק באיזה תחום הפונקציה יציבה בחוג הסגור לכן נשתמש בקריטריון ראות' -הורוביץ.
ונבדוק את הפונקציה האופיניית של -K קודם נבדוק כי כל הקטבים יציבים בחוג הפתוח ואז נכפול ב
Xcl=1+H. המערכת
Routh., השתמשתי בקוד שהופץ בקהילת משתמשי מאט-לאב
התוצאה להלן
בדיקת יציבות ע"פ קריטריון ראות' -הורוביץ 7 מערכת קטיף תפוחים
9. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
בחלק הראשון נראה כי אכן הקטבים יציבים בחוג הפתוח כי הם לא חיוביים
בבדיקת ראות' נראה כי השורה השמאלית כולה בסימן אחד ולכן זה יציב עבור ההגבר חיובי.
הוספת השהייה
ראינו כי קיבלנו אותה תוצאה כמו במרחב המצב לכן העברנו נכון לפונקציית תמסורת
לכל מערכת יש זמן תגובה מסוים, נניח שבמערכת שאנו ממדלים לוקח 1.1 שנייה להגיב לשינוי. השהייה
זאת יכולה לבוא ממהירות תגובה של הפעלת המנוע המניע את הזרוע.
X 0.1
1
s e
2 0.5 5
F S S
נמשש בעזרת המאט-לאב
ונקבל
הוספת השהייה 8 מערכת קטיף תפוחים
10. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
לינראזציה
למציאת נוסחה לינארית לפונקציות עם Pade בגלל ההשהייה הפונקציה אינה לינארית לכן נעזר בקירוב
.(Mathworks, 2014) . השהייה
להלן הקוד
והתוצאה
מציאת קטבים ואפסים
ע"י מציאת השורשים של המחנה והמונה של הפונקציית תמסורת נוכל לאפיין את המערכת.
.(Mathworks_ZPKdata, 2014) נשתמש בפונקציית של מאט-לאב
והתוצאה היא
לינראזציה 9 מערכת קטיף תפוחים
11. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי בהגברים
מסוימים הפונקציה תהיה לא יציבה.
נראה את זה בצורה גרפית בהצגה פולרית בעזרת פונקציה של מאטלאב
(Mathworks-iopzmap, 2014)
שוב ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי
בהגברים מסוימים הפונקציה תהיה לא יציבה.
רוט-לוקוס
rlocus למציאת תחום יציבות למערכת אשתמש בפנוקציית מאטב-לאב
רוט-לוקוס 11 מערכת קטיף תפוחים
12. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
נראה כי בהגברים מסוימים הפונקציה אכן לא יציבה
אצור תקריב של האזור הקטבים שחוצים לעזור החיובי כדי למצוא באיזה הגבר המערכת יוצא מיציבות
נראה כי בערך בהגבר של 1.7 המערכת יוצאת מיציבות לכן תחום ההגבר הוא בין 1 ל 1.7-
רוט-לוקוס 11 מערכת קטיף תפוחים
14. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
ניקוויסט
הנייקוויסט של מאטלאב לא עובד טוב עבור פונקציה זו לכן נשתמש בקוד מתוקן מתוך התירגולים של
בקורס
קיבלתי את התוצאה הבאה
נעשה זום כדי לראות מה קורה ליד הנקודה 1- המסומנת בירוק
ניקוויסט 13 מערכת קטיף תפוחים
15. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
N=0 נראה כי אין הקפות מסביב למינוס 1 לכן
p=0 בחוג הפתוח אין קטבים לא יציבים לכן
מתוך המשאווה נראה כי במערכת יציבה בחוג הסגור
מציאת גבול יציבות בעזרת ניקוויסט
נראה כי מעגל נסגר בערך ב -0.2 לכן אם נגביר בערך פי 1 נצא מיציבות.
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-2 -1.5 -1 -0.5 0
ניקוויסט 11 מערכת קטיף תפוחים
-0.2
16. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תכנון לפי זיגלר ניקולוס
נריץ את המערכת על גבול היציבות ע"י הוספת הגברה של 1.7 וסגירת חוג.
התוצאה היא להלן
נראה כי זמן המחזור הוא בערך 6.1 שניות וההגבר כבר מצאנו הוא 1.7
לפי טבלת ערכים של זיגלר ניקולוס נתכנן את בקרים ונשווה בינהם
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
17. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תכנון הבקרים בעזרת קוד
והמערכות
תכנון לפי זיגלר ניקולוס 16 מערכת קטיף תפוחים
18. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תוצאות המערכת
יציבים ומתכנסים לאות אמנם לבקר -PID וה P ניתן לראות כי בתכנון לפי טבלת זיגלר ניקולס רק בקרים
בכלל לא יציב ולא מתכנס אל האות הרצוי. PI לוקח הרבה זמן ובקר ובקר P
נבדוק התגובה לכניסת הפרעה עבור הבקרים השונים, נוסיף כניסת הפרעה בגובה יחידת מדרגה, הקלט
הורד לאפס
תכנון לפי זיגלר ניקולוס 17 מערכת קטיף תפוחים
19. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
התוצאה
מגיב בצורה טובה יותר להפרעות מן הבקרים האחרים. -PID נראה שבקר ה
תכנון לפי זיגלר ניקולוס 18 מערכת קטיף תפוחים
20. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
שיפור הבקר הנבחר לפי זיגלר ניקולס
כי הוא הבקר היחידי שנותן תגובה סבירה אמנם יש לו קצת אובר שוט גבוה וההתכנסות PID - בחרתי ב
איטית לכן אנסה למטב
אגדיל את מקדם האינטגרציה כדי לקבל פחות אובר שוט
אגדיל את מקדם הגזירה בכדי לקבל התכנסות מהירה יותר
רגיל מול מתוקן לכניסת מדרגה PID השוואה בין בקר
אכניס את שני הבקרים למודל ואשווה בינהם
התוצאה להלן
H_lineared
planet
D
Defrinator
H_lineared
planet1
PI
PI
D_fix
תכנון לפי זיגלר ניקולוס 19 מערכת קטיף תפוחים
Step
Scope
PI_fix
PI_fix
Defrinator_fix
PID
r
r
Fixed PID
21. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
נראה כי אכן ההתכנסות והאובר-שוט טובים יותר בבקר המתוקן
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
22. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
רגיל מול מתוקן להפרעת מדרגה PID השוואה בין בקר
H_lineared
planet
D
Defrinator
H_lineared
planet1
distrubance
PI
PI
D_fix
נראה כי גם עבור הפרעה הבקר המתוקן מגיב טוב יותר ומתכנס מהר יותר לאפס ועם סטייה קטנה יותר.
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
Step
Scope
PI_fix
PI_fix
Defrinator_fix
PID
r
r
PID f ixed
d
23. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מתוקן PID תגובה לכניסת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר
להשמיית המערכת המקורית אשתמש במערכת מתוך החלק הראשון בו השתמשתי במרחב המצב ואיסף
השהייה למערכת כפי שדרשתי.
מערכת סימולינק המשווה בין תגובה של המערכת המקורית למערכת המקורבת להלן:
תוצאת המערכת
Transport
Delay
D
Defrinator_fix
H_lineared
planet1
PI_fix
PI
D_fix
נראה כי תגובת המערכת האמיתית מתנהגת קצת שונה אבל מתכנסת כמעט באותה מהירות ואף האובר
שוט יחסית נמוך.
תכנון לפי זיגלר ניקולוס 11 מערכת קטיף תפוחים
Step
x' = Ax+Bu
y = Cx+Du
State-Space
Scope
PI_fix
PI_fix
Defrinator_fix
PID
r
r
Fixed PID
24. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מתוקן PID תגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר
כעת נכניס הפרעה למערכת ונראה את תגובתה
Transport
Delay
D
Defrinator_fix
H_lineared
planet1
D_fix
נראה כי אכן המערכות מתכנסות לאפס.
distrubance
PI_fix
PI
תכנון לפי זיגלר ניקולוס 13 מערכת קטיף תפוחים
Step
x' = Ax+Bu
y = Cx+Du
State-Space
Scope
PI_fix
PI_fix
Defrinator_fix
non-linear sy stem
r
r
r
linear sy stem
d
25. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
המרת ספיצפיקציות
בניית מערכת מסדר שני
נגדיר את הספציפקציות הרצויות עבור פרוייקט זה בחוג פתוח:
)settling time of 2%( Ts=2s 1( נרצה שהזרוע תגיע תוך כ 1- שניות אל מקומה לכן
1( נרצה כי הזרוע לא תעבור את מיקום התפוח בהרבה כדי שלא תתלוש אותו בכיוון הלא רצוי.
נרצה תזוזה מקסימלית של 1 ס"מ ולזרוע יש כמטר לעבור עד הגעתה לנקודה לכן נרצה
.)Over Shoot( M=5%
.) אשתמש בנוסחאות מתוך ההרצאות למציאת מערכת מסדר שני העומדת בדרישות )לינקר, 1113
התוצאה היא 1.69 אמנם אעגל כלפי מעלה ל 1.7- כדי לעמוד בדרישה.
אמצא את התדירות הרצויה ע"י הנוסחא הבאה
rad/sec 1.81 לכן התדירות העצמית היא
מערכת מסדר שני תתואר ע"י המשוואה הבאה
מימשתי באמצעות המאטלאב והרצתי כניסת מדרגה
התוצאה
המרת ספיצפיקציות 11 מערכת קטיף תפוחים
26. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מתאים. setting time - שיניתי קצת את התדירות העצמית כדי להתאים ל
נראה כי אכן המערכת עומדת בספיציפקציות.
המרת ספיצפיקציות 11 מערכת קטיף תפוחים
27. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה
נריץ את המערכת האקווילנטית בבודה כדי למצוא את הספספיקציות הרצויות.
התוצאה היא
⁄
המרת ספיצפיקציות 16 מערכת קטיף תפוחים
28. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מציאת הספסקציות עבור חוג פתוח בעזרת דיאגרמת ניקולס
לפי ההגבר המקסימלי הרצוי בחוג הסגור נמצא את הספסיפקציות עבור החוג הפתוח
°
Mp
המרת ספיצפיקציות 17 מערכת קטיף תפוחים
29. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
שגיאה במצב מתמיד
ארצה שהשגיאה במצב מתמיד לכניסה והפרעה תהיה אפס לכן צריך אינטגרטור בבקר.
זאת לפי הטבלאות הבאות.
המרת ספיצפיקציות 18 מערכת קטיף תפוחים
30. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
רשתות תיקון לפי ספספיקציות
הדרישות הם:
)1
° )1
)3
⁄
1( צריך אינטגטור
נריץ את המערכת בבודה כדי לבדוק מה צריך לתקן
רשתות תיקון לפי ספספיקציות 19 מערכת קטיף תפוחים
31. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
PI הוספת בקר
PI קודם ארצה להוסיף אינטגרטור לכן אשתמש בבקר
אגדיר אותו לפי הנוסחה מההרצאות ולפי כלל האצבע
>= >=
מימוש במאטלאב
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
32. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תיקון פאזה
בגלל שהבודה לא חוצה את ה 181- מעלות לכן אוסיף פאזה לכל אורך Gain Margin נראה כי אין
בעזרת אפס בראשית.
הדרישה היא 61 מעלות להגבר פאזה ב-
. בנקודה זאת כרגע ההפרש הוא 73 וזה יותר
מהנדרש לכן אשאיר את זה כך.
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
33. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
תיקון הגבר
0.26 , הוא לא לפי הדרישה, rad/sec , נראה כי תדר החצייה
40 , הוא הרבה יותר ממה שצריך, db , ועודף ההגבר
את האות להגעה לתדר חצייה רצוי. ,P לכן אנסה להגביר, עם בקר
-21.5 לכן ההגבר יהיה לפי הנוסחה db נראה כי בתדר הרצוי ההגבר הוא
>=
נעגל את זה מעלה ל 11-
bode w ith PI,zero and P conrollers
Frequency (rad/s)
2
3
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
100
50
0
-50
-100
System: H_p
Frequency (rad/s): 2.41
Magnitude (dB): 0.00379
System: H_p
Gain Margin (dB): 18.4
At f requency (rad/s): 19.9
Closed loop stable? No
Magnitude (dB)
-3
270
225
180
135
10
10
-2
10
-1
10
0
10
1
10
10
90
System: H_p
Phase Margin (deg): 72.9
Delay Margin (sec): 0.528
At f requency (rad/s): 2.41
Closed loop stable? No
System: H_p
Frequency (rad/s): 19.8
Phase (deg): 180
Phase (deg)
34. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
סיכום עמידה בדרישות
נראה כי המערכת עומדת בכל הדרישות:
1( עבור עודף הגבר נדרש ובמערכת זאת עודף ההגבר יותר גדול ועומד
18.4 לכן זה עומד בדירשה זו. db על
1( עבור עודף פאזה נדרש ° ובמערכת זאת עודף הפאזה יותר גדול
ועמוד על ערך של 73 מעלות לכן זה עומד בדרישה זו.
3( תדר חצייה נדרש
ובמערכת התדר קרוב מאוד לתדר זה.
PI 1( הדרישה היא שחייב להיות אינטגטור כדי ליצור שגיאה אפסית במצב מתמיד ואכן קיים בקר
הכולל אינטגרטור.
בדיקת יציבות
קודם כל נבדוק את יציבות הקטבים בחוג הפתוח.
נראה כי כל הקטבים יציבים בחוג הפתוח
כעת נבדוק מה קורה בחוג הסגור בעזרת ניקוויסט
אעשה זום על האזור של -1 כדי לראות מה קורה שם
רשתות תיקון לפי ספספיקציות 33 מערכת קטיף תפוחים
35. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
N=0 נראה כי אין הקפות מסביב למינוס 1 לכן
p=0 בחוג הפתוח אין קטבים לא יציבים לכן
z=0 מתוך המשאווה נראה כי המערכת יציבה בחוג הסגור בגלל שאין קטבים לא יציבים בחוג הסגור
אבל ניתן לראות כי אם נגביר את המערכת פי בערך 11 היא תצא מיציבות
גם כאשר ניתן השהייה מספיק גובה היא תצא מיציבות.
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
36. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
כעת אריץ את המערכת בחוג סגור עם פונקציית מדרגה ונראה כי המערכת אכן מתכנסת במהירות ללא
גדול. overshoot
רשתות תיקון לפי ספספיקציות 31 מערכת קטיף תפוחים
37. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
משערך ומשוב המצב
מערכת מרחב מצב
אשתמש במטריצות שפיתחתי עבור מרחב המצב
0 1
0
0.1
0
2
x
1
2
x
1
2
x
x
x
משוב מצב
קונטרולביליות
אבדוק קונטרלביליות של מערכת זאת בכדי לדעת אם ניתן לבקר אותה ע"י משוב מצב
בדיקה במאטלאב
תוצאה
משערך ומשוב המצב 36 מערכת קטיף תפוחים
38. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
נראה כי אכן המערכת קונקטרולבילית בגלל לכן
מציאת הבקרים בעזרת אקרמן
נמצא את הבקרים הדרושים ע"י נוסחת אקרמן
K ומציאת בקר
. קוד מאטלאב, נקבע שני קטבים ב -1
תוצאה
בניית מערכת משוב מצב בחוג סגור
נבנה מערכת לפי המודל הבא
בסימולינק השתשמתי במודל המקביל
משערך ומשוב המצב 37 מערכת קטיף תפוחים
39. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
u x y
x' = Ax+Bu
y = Cx+Du
K*u
C
State-Space Scope
K*u
Gain
F* u
F
כאשר המדרגה בנויה אם השהייה של 1.1 שניות כפי שדרשתי עבור המודל.
בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב
Overshoot התוצאה מאוד יציבה ומתכנסת אל אות הבקרה ללא
Step
משערך ומשוב המצב 38 מערכת קטיף תפוחים
40. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
משערך
אובסרבליות
כעת נבדוק אם המערכת יכולה לעבוד עם משערך
נבנה מטריצה ונבדוק אם הדטרמננטה שלה שונה מאפס לפי הנוסחאות הבאות מן התרגול
קוד במאטלאב לבדיקה זו
תוצאה
נראה כי הדטרמננטה היא אכן לא אפס לכן ניתן לעבוד עם משערך במערכת זו
משערך ומשוב המצב 39 מערכת קטיף תפוחים
41. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
מציאת בקר המשערך ע"י אקרמן
) אעבוד לפי הנוסחה הבאה )טכניון, 1113
הקטבים צריכים להיות פי 1 לכן נכתוב במאטלאב
תוצאה
מודל המערכת
x' = Ax+Bu
y = Cx+Du
K*u
Step output
x bar
y
x vector
Plant
L* u
L
F* u
F
B2
משערך ומשוב המצב 11 מערכת קטיף תפוחים
K*u
B1
B* u
B
x' = Ax+Bu
y = Cx+Du
(sI-(A-LC))^(-1)
real
real
observ er
42. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
בדיקת תוצאות המערכת עם משערך
יציאת המערכת
ומהירות ההתכנסות סבירה, יותר מהירה מממערכת ללא משערך. overshoot נראה כי למערכת אין
מצב המערכת האמיתי והמשוערך
נראה כי השיערוך טוב מאוד.
משערך ומשוב המצב 11 מערכת קטיף תפוחים
43. הטכניון-מכון טכנולוגי לישראל
הפקולטה להנדסה אזרחית וסביבתית
המסלול להנדסה חקלאית
ביבליוגרפיה
אוחזר מתוך .Pade function .)1111( .Mathworks
http://www.mathworks.com/help/control/ref/pade.html
אוחזר מתוך .ZPKdata .)1111( .Mathworks_ZPKdata
http://www.mathworks.com/help/control/ref/zpkdata.html
אוחזר מתוך .iopzmap .)1111( .Mathworks-iopzmap
http://www.mathworks.com/help/control/ref/iopzmap.html
טכניון. ) 1113 (. תירגולים בקורס מבוא לבקרה. חיפה: טכניון.
לינקר, ר'. ) 1113 (. מצגות בקורס מבוא לבקרה.
נספח – קוד התוכנה
ביבליוגרפיה 11 מערכת קטיף תפוחים
44. Control system project - Or Hirshfeld
Table of Contents
State spcae model ............................................................................................................... 1
transfer function step respone ............................................................................................... 2
adding delay ...................................................................................................................... 3
routh - horowitz ................................................................................................................. 3
lineartizion ........................................................................................................................ 4
finds poles and zeros .......................................................................................................... 4
plot poles and zeros ............................................................................................................ 5
root locus .......................................................................................................................... 5
finding T0 ......................................................................................................................... 6
zigler-nicholas .................................................................................................................... 6
Improving PID ................................................................................................................... 8
fixed nyquist - no error ....................................................................................................... 8
fixed nyquist for unstable open loop with P conroller .............................................................. 10
2nd order system .............................................................................................................. 11
converting specifciations .................................................................................................... 12
network controler .............................................................................................................. 14
cheking stabilty with fixed nyquist ....................................................................................... 17
chekcing step respone in close loop ..................................................................................... 19
state conroller and observer ................................................................................................ 19
1
State spcae model
clear all
clc
close all
A=[0 1; 0 -0.1]
B=[0;2]
C=[1 0]
D=0
X=[0;0] %inital condtions
A =
0 1.0000
0 -0.1000
B =
0
2
45. Control system project - Or Hirshfeld
2
C =
1 0
D =
0
X =
0
0
transfer function step respone
num1=1
den1=[5 0.5 0]
H=tf(num1,den1)
sample_time=10 %smapling time
step(H,sample_time)
num1 =
1
den1 =
5.0000 0.5000 0
Transfer function:
1
-------------
5 s^2 + 0.5 s
sample_time =
10
46. Control system project - Or Hirshfeld
3
adding delay
t_d=0.1 %time delay in sec
H_delayed=tf(num1,den1,'IODelay',0.1)
t_d =
0.1000
Transfer function:
1
exp(-0.1*s) * -------------
5 s^2 + 0.5 s
routh - horowitz
[z,p,k] = zpkdata(H);
p{1,1} %show poles - cheking all stable poles in open loop
syms Kr EPS
ra=routh([5 0.5 Kr],EPS) % polynomial reprrstation of 1+H
47. Control system project - Or Hirshfeld
4
ans =
0
-0.1000
ra =
[ 5 Kr]
[ ]
[0.500000000000000000 0 ]
[ ]
[ 1.000000000 Kr 0 ]
lineartizion
N_order=1 %Nth-order Pad? approximation, 1 for linear
H_lineared=pade(H_delayed,N_order)
N_order =
1
Transfer function:
-s + 20
------------------------
5 s^3 + 100.5 s^2 + 10 s
finds poles and zeros
[z,p,k] = zpkdata(H_lineared);
p{1,1} %show poles
z{1,1} %show Zeros
k %show k
ans =
0
-20.0000
-0.1000
ans =
20
k =
48. Control system project - Or Hirshfeld
5
-0.2000
plot poles and zeros
figure
iopzmap(H_lineared)
title('plot poles and zeros')
root locus
figure
rlocus(H_lineared)
title('root locus of lineared function')
49. Control system project - Or Hirshfeld
6
finding T0
[num,den]=tfdata(H_lineared)
k_gain=5
num =
[1x4 double]
den =
[1x4 double]
k_gain =
5
zigler-nicholas
T0=6.2 % in sec unit
k0=k_gain % 4.7
51. Control system project - Or Hirshfeld
8
Improving PID
PI=tf([k_pid*Ti_pid k_pid],[Ti_pid 0])
Defrinator=tf([k_pid*Td_pid 0],[1/100 1])
PI_fix=tf([k_pid*(2*Ti_pid) k_pid],[(2*Ti_pid) 0])
Defrinator_fix=tf([k_pid*(2*Td_pid) 0],[1/100 1])
Transfer function:
9.3 s + 3
---------
3.1 s
Transfer function:
2.325 s
----------
0.01 s + 1
Transfer function:
18.6 s + 3
----------
6.2 s
Transfer function:
4.65 s
----------
0.01 s + 1
fixed nyquist - no error
%Define gamma
s0=100*exp(j*[0:1:90]*(pi/180));
s1=j*[100:-0.03:0.03];
s2=0.03*exp(j*[90:-1:0]*(pi/180));
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))];
% Chose few points
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2)
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2
% Compute and draw L0
[num1,den1]=tfdata(H_lineared,'v')
L=polyval(num1,gamma)./polyval(den1,gamma);
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4
figure;
title('fixed nyquist for lineared function')
52. Control system project - Or Hirshfeld
set(gca,'FontSize',14);
plot(L,'b','LineWidth',2), grid; hold on;
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on;
% L(jw) direction: from large point to small one:
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on;
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on;
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on;
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2);
9
p2 =
0.0000 + 1.0000i
num1 =
0 0 -1 20
den1 =
5.0000 100.5000 10.0000 0
53. Control system project - Or Hirshfeld
fixed nyquist for unstable open loop with P
conroller
%Define gamma
s0=100*exp(j*[0:1:90]*(pi/180));
s1=j*[100:-0.03:0.03];
s2=0.03*exp(j*[90:-1:0]*(pi/180));
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))];
% Chose few points
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2)
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2
% Compute and draw L0
[num1,den1]=tfdata(5*H_lineared,'v')
L=polyval(num1,gamma)./polyval(den1,gamma);
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4
figure;
title('fixed nyquist for lineared function')
set(gca,'FontSize',14);
plot(L,'b','LineWidth',2), grid; hold on;
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on;
% L(jw) direction: from large point to small one:
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on;
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on;
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on;
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2);
10
p2 =
0.0000 + 1.0000i
num1 =
0 0 -5 100
den1 =
5.0000 100.5000 10.0000 0
54. Control system project - Or Hirshfeld
11
2nd order system
k_dc = 1; %K_dc=1/k
w_n = 3;
zeta = 0.7;
figure
s = tf('s');
G_2nd_order = k_dc*w_n^2/(s^2 + 2*zeta*w_n*s + w_n^2);
step(G_2nd_order)
grid on
title('equivelent 2nd order system')
55. Control system project - Or Hirshfeld
converting specifciations
12
figure
bode(G_2nd_order)
figure
nichols(G_2nd_order)
57. Control system project - Or Hirshfeld
14
network controler
bode(H_lineared)
% addding pi
G_pi=tf([1 0.24],[1 0])
H_pi=G_pi*H_lineared
figure
bode(H_pi)
title('bode with PI conroller')
% adding zero to fix phase
G_zero=tf([1 0],[1])
H_zero=G_zero*H_pi
figure
bode(H_zero)
title('bode with PI and zero conrollers')
% adding P controller
G_p=12
H_p=G_p*H_zero
figure
bode(H_p)
title('bode with PI,zero and P conrollers')
G_tot=G_p*G_zero*G_pi
[num_G,den_G]=tfdata(G_tot)
Transfer function:
s + 0.24
--------
s
Transfer function:
-s^2 + 19.76 s + 4.8
--------------------------
5 s^4 + 100.5 s^3 + 10 s^2
Transfer function:
s
Transfer function:
-s^3 + 19.76 s^2 + 4.8 s
--------------------------
5 s^4 + 100.5 s^3 + 10 s^2
G_p =
58. Control system project - Or Hirshfeld
15
12
Transfer function:
-12 s^3 + 237.1 s^2 + 57.6 s
----------------------------
5 s^4 + 100.5 s^3 + 10 s^2
Transfer function:
12 s^2 + 2.88 s
---------------
s
num_G =
[1x3 double]
den_G =
[1x3 double]
60. Control system project - Or Hirshfeld
cheking stabilty with fixed nyquist
pole(H_p)
%Define gamma
s0=100*exp(j*[0:1:90]*(pi/180));
s1=j*[100:-0.03:0.03];
s2=0.03*exp(j*[90:-1:0]*(pi/180));
gamma=[s0 s1 s2 conj(fliplr([s0 s1 s2]))];
% Chose few points
p1= 1000*exp(j*pi/2); p2= 1*exp(j*pi/2)
p3= 0.1*exp(j*pi/2); p4= 0.001*exp(j*pi/2); %with delay pi/2
% Compute and draw L0
[num1,den1]=tfdata(H_p,'v')
L=polyval(num1,gamma)./polyval(den1,gamma);
Lp1=polyval(num1,p1)./polyval(den1,p1); %drawing ponit p1
Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2
Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3
Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4
figure;
title('fixed nyquist for system and controllers')
set(gca,'FontSize',14);
plot(L,'b','LineWidth',2), grid; hold on;
plot(-1,0,'rd','MarkerFaceColor','g','MarkerSize',8); hold on;
% L(jw) direction: from large point to small one:
plot(Lp1,'ro','MarkerFaceColor','r','MarkerSize',8); hold on;
17
61. Control system project - Or Hirshfeld
plot(Lp2,'ro','MarkerFaceColor','r','MarkerSize',6); hold on;
plot(Lp3,'ro','MarkerFaceColor','r','MarkerSize',4); hold on;
plot(Lp4,'ro','MarkerFaceColor','r','MarkerSize',2);
18
ans =
0
0
-20.0000
-0.1000
p2 =
0.0000 + 1.0000i
num1 =
0 -12.0000 237.1200 57.6000 0
den1 =
5.0000 100.5000 10.0000 0 0
62. Control system project - Or Hirshfeld
chekcing step respone in close loop
19
[num_f,den_f]=tfdata(H_p)
num_f =
[1x5 double]
den_f =
[1x5 double]
state conroller and observer
A=[0 1; 0 -0.1]
B=[0;2]
C=[1 0]
D=[0;0]
X0=[0;0] %inital condtions
% checking controllability
CO=ctrb(A,B)
det_CO=det(CO)
% checking size
size_of_A=size(A)
size_of_B=size(B)
% Ackerman fucntion
F=acker(A,B,[-1 -1])
K=1/(C*(B*F-A)^(-1)*B)
% observer
OB=obsv(A,C)
det_OB=det(OB)
L=(acker(A',C',[-5 -5]))'
A =
0 1.0000
0 -0.1000
B =
0
2
63. Control system project - Or Hirshfeld
20
C =
1 0
D =
0
0
X0 =
0
0
CO =
0 2.0000
2.0000 -0.2000
det_CO =
-4
size_of_A =
2 2
size_of_B =
2 1
F =
0.5000 0.9500
K =
0.5000
OB =
1 0
0 1
64. Control system project - Or Hirshfeld
21
det_OB =
1
L =
9.9000
24.0100
Published with MATLAB® 7.13