control system desgin of robot arm by or hirshfeld - פרוייקט תכנון בקרה - אור...

64
הטכניון- מכון טכנולוגי ליש ראל הפקולטה להנדסה אזרחית וסביבתית ה מסלול להנדסה חקלאית טכניון מערכת קטיף תפוחים( פרוייקט במסגרת קורס במבוא לבקרה510510 ) אור הירשפלד תז000507003 3/24/2014

Upload: or-hirshfeld

Post on 08-Jul-2015

83 views

Category:

Engineering


5 download

DESCRIPTION

Control system design of robot arm by Or Hirshfeld Final report for university project תכנון בקרה לזרוע רובוטית פרוייקט במסגרת קורס בבקרה בטכניון אור הירשפלד

TRANSCRIPT

ראללישמכון טכנולוגי -הטכניון

הפקולטה להנדסה אזרחית וסביבתית

להנדסה חקלאית מסלולה

טכניון

מערכת קטיף תפוחים(510510פרוייקט במסגרת קורס במבוא לבקרה )

000507003תז –אור הירשפלד

3/24/2014

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

1 מערכת קטיף תפוחים מודל המערכת

תוכן עניינים

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 .......................................................................................... ספספיקציות לפי תיקון רשתות

PI ............................................................................................................. 31 בקר הוספת

31 .................................................................................................................. פאזה תיקון

31 .................................................................................................................. הגבר תיקון

33 ................................................................................................... בדרישות עמידה סיכום

33 ........................................................................................................... יציבות בדיקת

36 ....................................................................................................... המצב ומשוב משערך

36 .........................................................................................................מצב מרחב מערכת

36 ................................................................................................................... מצב משוב

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

1 מערכת קטיף תפוחים מודל המערכת

36 ......................................................................................................... רולביליותקונט

37 ..................................................................................... אקרמן בעזרת הבקרים מציאת

37 .............................................................................. סגור בחוג מצב משוב מערכת בניית

38 ...................................................... מצב משוב בקר עם סגור בחוג המערכת תגובת בדיקת

39 ....................................................................................................................... משערך

39 ............................................................................................................. אובסרבליות

11 ..................................................................................אקרמן י"ע המשערך בקר מציאת

11 ..............................................................................משערך עם המערכת תוצאות בדיקת

11 ....................................................................................................................ביבליוגרפיה

11 ..........................................................................................................התוכנה קוד – נספח

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

3 מערכת קטיף תפוחים מודל המערכת

מודל המערכת

X

m F

ma

Cv

X – ,מרחקC – ,חיכוך דינמיF- ,כוח המופעל ע"י המנועm – מסת הזרוע

0 xCxmF

מרחב המצב , מימוש בעזרתבקרתגובת המערכת ללא

: Xאת וקטור גדירנ

mFx

x

mCx

xx

xxx

m

Fx

m

C

m

Fx

m

Cxx

x

x

x

xx

0

0

10

2

1

2

1

21

22

2

1

1.1ניוטון, החיכוך הוא 11ק"ג, הכוח הוא המופעל הוא 1-נציב נתונים, נניח שמכלול הזרוע שוקל כ

ניוטון לכל מ/ש' לכן:

2

0

1.00

10

2

1

2

1

x

x

x

xx

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

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

1 מערכת קטיף תפוחים תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב

1בכדי לראות מה קורה עם מדרגת יחידה שעולה לאחר שנייה לגובה State-Spaceנשים במערכת

לא יציב כפי שצפוי האות יוצא

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

1 מערכת קטיף תפוחים תגובת המערכת ללא בקר, מימוש בעזרת מרחב המצב

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

6 מערכת קטיף תפוחים פונקציית תמסורת

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

FmSCS

xmxmSC

mSCSF

X

CxCSXxmmSxXmSF

xCxmf

1)0()0(][1

)0()0()0(

22

2

ה ונראה שניתן להתייחס רק לחלק ההומוגנינציב את תנאי ההתחל

2

2

22

1

01

100][1

mSCSF

X

mSCSF

X

FmSCS

mmSC

mSCSF

X

נציב את הנתונים של המערכת

255.0

1

SSF

X

לאב-נעביר את המערכת למאט

ונריץ עם כניסת מדרגה

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

7 מערכת קטיף תפוחים הורוביץ-בדיקת יציבות ע"פ קריטריון ראות'

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

את הפונקציה האופיניית של ונבדוק K-קודם נבדוק כי כל הקטבים יציבים בחוג הפתוח ואז נכפול ב .Xcl=1+H המערכת

.Routh לאב,-השתמשתי בקוד שהופץ בקהילת משתמשי מאט

התוצאה להלן

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

8 מערכת קטיף תפוחים הוספת השהייה

הם לא חיוביים בחלק הראשון נראה כי אכן הקטבים יציבים בחוג הפתוח כי

.בבדיקת ראות' נראה כי השורה השמאלית כולה בסימן אחד ולכן זה יציב עבור ההגבר חיובי

הוספת השהייה

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

להגיב לשינוי. השהייה שנייה 1.1לכל מערכת יש זמן תגובה מסוים, נניח שבמערכת שאנו ממדלים לוקח

זאת יכולה לבוא ממהירות תגובה של הפעלת המנוע המניע את הזרוע.

seSSF

X 1.0

255.0

1

לאב-נמשש בעזרת המאט

ונקבל

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

9 מערכת קטיף תפוחים לינראזציה

לינראזציהלמציאת נוסחה לינארית לפונקציות עם Padeבגלל ההשהייה הפונקציה אינה לינארית לכן נעזר בקירוב

.(Mathworks, 2014) השהייה.

להלן הקוד

והתוצאה

קטבים ואפסיםמציאת

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

.(Mathworks_ZPKdata, 2014)לאב -נשתמש בפונקציית של מאט

והתוצאה היא

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים לוקוס-רוט

בהגברים ייתכן כי ניתן לראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן

מסוימים הפונקציה תהיה לא יציבה.

נראה את זה בצורה גרפית בהצגה פולרית בעזרת פונקציה של מאטלאב (Mathworks-iopzmap, 2014)

ראות שהפונקציה יציבה בגלל שכל השורשים שלילים אבל האפס לא יציב לכן ייתכן כי שוב ניתן ל בהגברים מסוימים הפונקציה תהיה לא יציבה.

לוקוס-רוט

rlocusלאב -בפנוקציית מאטב תחום יציבות למערכת אשתמשלמציאת

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים לוקוס-רוט

בהגברים מסוימים הפונקציה אכן לא יציבהנראה כי

קטבים שחוצים לעזור החיובי כדי למצוא באיזה הגבר המערכת יוצא מיציבותאצור תקריב של האזור ה

1.7-ל 1המערכת יוצאת מיציבות לכן תחום ההגבר הוא בין 1.7נראה כי בערך בהגבר של

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים לוקוס-רוט

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

13 מערכת קטיף תפוחים ניקוויסט

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

בקורס

קיבלתי את התוצאה הבאה

המסומנת בירוק 1-נעשה זום כדי לראות מה קורה ליד הנקודה

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים ניקוויסט

N=0 לכן 1נראה כי אין הקפות מסביב למינוס

p=0 בחוג הפתוח אין קטבים לא יציבים לכן מתוך המשאווה נראה כי במערכת יציבה בחוג הסגור

מציאת גבול יציבות בעזרת ניקוויסט

נצא מיציבות. 1לכן אם נגביר בערך פי 0.2-נסגר בערך ב נראה כי מעגל

-2 -1.5 -1 -0.5 0

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

תכנון לפי זיגלר ניקולוסוסגירת חוג. 1.7נריץ את המערכת על גבול היציבות ע"י הוספת הגברה של

התוצאה היא להלן

1.7שניות וההגבר כבר מצאנו הוא 6.1נראה כי זמן המחזור הוא בערך

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

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

16 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

תכנון הבקרים בעזרת קוד

והמערכות

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

17 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

תוצאות המערכת

יציבים ומתכנסים לאות אמנם לבקר PID-וה P ניתן לראות כי בתכנון לפי טבלת זיגלר ניקולס רק בקרים

P לוקח הרבה זמן ובקר ובקר PI ל האות הרצויבכלל לא יציב ולא מתכנס א.

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

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

18 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

התוצאה

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

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

19 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

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

איטית לכן אנסה למטב

אגדיל את מקדם האינטגרציה כדי לקבל פחות אובר שוט

אגדיל את מקדם הגזירה בכדי לקבל התכנסות מהירה יותר

רגיל מול מתוקן לכניסת מדרגה PIDהשוואה בין בקר

ל ואשווה בינהםאכניס את שני הבקרים למוד

התוצאה להלן

H_lineared

planet1

H_lineared

planetStep

Scope

PI_fix

PI_fix

PI

PI

Defrinator_fix

D_fix

Defrinator

D

PID

r

r

Fixed PID

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

שוט טובים יותר בבקר המתוקן-נראה כי אכן ההתכנסות והאובר

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

רגיל מול מתוקן להפרעת מדרגה PIDהשוואה בין בקר

נראה כי גם עבור הפרעה הבקר המתוקן מגיב טוב יותר ומתכנס מהר יותר לאפס ועם סטייה קטנה יותר.

H_lineared

planet1

H_lineared

planet

distrubance

Step

Scope

PI_fix

PI_fix

PI

PI

Defrinator_fix

D_fix

Defrinator

D

PID

r

r

PID f ixed

d

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

מתוקן PIDעם בקר המקורית )ללא לינראזיציה( במערכת תגובה לכניסת מדרגה

להשמיית המערכת המקורית אשתמש במערכת מתוך החלק הראשון בו השתמשתי במרחב המצב ואיסף השהייה למערכת כפי שדרשתי.

מערכת סימולינק המשווה בין תגובה של המערכת המקורית למערכת המקורבת להלן:

תוצאת המערכת

רכת האמיתית מתנהגת קצת שונה אבל מתכנסת כמעט באותה מהירות ואף האובר נראה כי תגובת המע

יחסית נמוך.שוט

H_lineared

planet1

Transport

Delay

Step

x' = Ax+Bu

y = Cx+Du

State-Space

Scope

PI_fix

PI_fix

PI_fix

PI

Defrinator_fix

D_fix

Defrinator_fix

D

PID

r

r

Fixed PID

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

13 מערכת קטיף תפוחים תכנון לפי זיגלר ניקולוס

מתוקן PIDתגובה להפרעת מדרגה במערכת המקורית )ללא לינראזיציה( עם בקר

כעת נכניס הפרעה למערכת ונראה את תגובתה

נראה כי אכן המערכות מתכנסות לאפס.

H_lineared

planet1

distrubance

Transport

Delay

Step

x' = Ax+Bu

y = Cx+Du

State-Space

Scope

PI_fix

PI_fix

PI_fix

PI

Defrinator_fix

D_fix

Defrinator_fix

D

non-linear sy stem

r

r

r

linear sy stem

d

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים המרת ספיצפיקציות

ספיצפיקציותהמרת

מערכת מסדר שניבניית

:נגדיר את הספציפקציות הרצויות עבור פרוייקט זה בחוג פתוח

Ts=2s (settling time of 2%)שניות אל מקומה לכן 1-נרצה שהזרוע תגיע תוך כ (1נרצה כי הזרוע לא תעבור את מיקום התפוח בהרבה כדי שלא תתלוש אותו בכיוון הלא רצוי. (1

רוע יש כמטר לעבור עד הגעתה לנקודה לכן נרצה ס"מ ולז 1נרצה תזוזה מקסימלית של

M=5% (Over Shoot.)

.(1113)לינקר, למציאת מערכת מסדר שני העומדת בדרישות אשתמש בנוסחאות מתוך ההרצאות

כדי לעמוד בדרישה. 1.7-אמנם אעגל כלפי מעלה ל 1.69התוצאה היא

יה ע"י הנוסחא הבאהאמצא את התדירות הרצו

rad/sec 1.81לכן התדירות העצמית היא

מערכת מסדר שני תתואר ע"י המשוואה הבאה

והרצתי כניסת מדרגהמימשתי באמצעות המאטלאב

התוצאה

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים המרת ספיצפיקציות

מתאים. setting time -שיניתי קצת את התדירות העצמית כדי להתאים ל .נראה כי אכן המערכת עומדת בספיציפקציות

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

16 מערכת קטיף תפוחים המרת ספיצפיקציות

מציאת הספקציות במישור התדר בעזרת דיאגרמת בודה

נריץ את המערכת האקווילנטית בבודה כדי למצוא את הספספיקציות הרצויות.

התוצאה היא

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

17 מערכת קטיף תפוחים המרת ספיצפיקציות

קציות עבור חוג פתוח בעזרת דיאגרמת ניקולססהספמציאת

גבר המקסימלי הרצוי בחוג הסגור נמצא את הספסיפקציות עבור החוג הפתוחלפי הה

°

Mp

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

18 מערכת קטיף תפוחים ספיצפיקציות המרת

שגיאה במצב מתמיד

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

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

19 מערכת קטיף תפוחים רשתות תיקון לפי ספספיקציות

רשתות תיקון לפי ספספיקציות

הדרישות הם:

1)

1) ° 3) ⁄

צריך אינטגטור (1

ת המערכת בבודה כדי לבדוק מה צריך לתקןנריץ א

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

31 מערכת קטיף תפוחים רשתות תיקון לפי ספספיקציות

PIהוספת בקר

PIקודם ארצה להוסיף אינטגרטור לכן אשתמש בבקר

אגדיר אותו לפי הנוסחה מההרצאות ולפי כלל האצבע

>= >=

מימוש במאטלאב

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

31 מערכת קטיף תפוחים ספיקציותרשתות תיקון לפי ספ

תיקון פאזה

מעלות לכן אוסיף פאזה לכל אורך 181-בגלל שהבודה לא חוצה את ה Gain Marginנראה כי אין

ראשית.בעזרת אפס ב

-מעלות להגבר פאזה ב 61הדרישה היא

וזה יותר 73ההפרש הוא . בנקודה זאת כרגע

.מהנדרש לכן אשאיר את זה כך

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

31 מערכת קטיף תפוחים רשתות תיקון לפי ספספיקציות

תיקון הגבר

, הוא לא לפי הדרישה, rad/sec 0.26נראה כי תדר החצייה,

, הוא הרבה יותר ממה שצריך, 40dbבר, ועודף ההג

האות להגעה לתדר חצייה רצוי. , אתP, עם בקר לכן אנסה להגביר

לכן ההגבר יהיה לפי הנוסחה db 21.5-נראה כי בתדר הרצוי ההגבר הוא

>= 11-נעגל את זה מעלה ל

bode w ith PI,zero and P conrollers

Frequency (rad/s)

-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 frequency (rad/s): 19.9

Closed loop stable? No

Magnitu

de (

dB

)

10-3

10-2

10-1

100

101

102

103

90

135

180

225

270

System: H_p

Phase Margin (deg): 72.9

Delay Margin (sec): 0.528

At frequency (rad/s): 2.41

Closed loop stable? No

System: H_p

Frequency (rad/s): 19.8

Phase (deg): 180

Phase (

deg)

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

33 מערכת קטיף תפוחים רשתות תיקון לפי ספספיקציות

סיכום עמידה בדרישות כל הדרישות:נראה כי המערכת עומדת ב

ובמערכת זאת עודף ההגבר יותר גדול ועומד עבור עודף הגבר נדרש (1 לכן זה עומד בדירשה זו. 18.4dbעל

° עבור עודף פאזה נדרש (1 ובמערכת זאת עודף הפאזה יותר גדול

ישה זו.מעלות לכן זה עומד בדר 73ועמוד על ערך של תדר חצייה נדרש (3

ובמערכת התדר קרוב מאוד לתדר זה.

PIהדרישה היא שחייב להיות אינטגטור כדי ליצור שגיאה אפסית במצב מתמיד ואכן קיים בקר (1

הכולל אינטגרטור.

בדיקת יציבות

בחוג הפתוח. קודם כל נבדוק את יציבות הקטבים

הקטבים יציבים בחוג הפתוח כל כי נראה

כעת נבדוק מה קורה בחוג הסגור בעזרת ניקוויסט

כדי לראות מה קורה שם 1-אעשה זום על האזור של

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

31 מערכת קטיף תפוחים ציותרשתות תיקון לפי ספספיק

N=0 לכן 1נראה כי אין הקפות מסביב למינוס

p=0 בחוג הפתוח אין קטבים לא יציבים לכן z=0קטבים לא יציבים בחוג הסגור בגלל שאין מערכת יציבה בחוג הסגורהנראה כי מתוך המשאווה

מיציבות אהיא תצ 11אבל ניתן לראות כי אם נגביר את המערכת פי בערך

מספיק גובה היא תצא מיציבות. ניתן השהייהגם כאשר

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

31 מערכת קטיף תפוחים רשתות תיקון לפי ספספיקציות

במהירות ללא ונראה כי המערכת אכן מתכנסת ריץ את המערכת בחוג סגור עם פונקציית מדרגהאכעת

overshoot גדול.

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

36 מערכת קטיף תפוחים משערך ומשוב המצב

ומשוב המצב משערך

מערכת מרחב מצב

אשתמש במטריצות שפיתחתי עבור מרחב המצב

2

0

1.00

10

2

1

2

1

x

x

x

xx

משוב מצב

קונטרולביליות

אבדוק קונטרלביליות של מערכת זאת בכדי לדעת אם ניתן לבקר אותה ע"י משוב מצב

בדיקה במאטלאב

תוצאה

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

37 מערכת קטיף תפוחים משערך ומשוב המצב

לכן בגלל יליתנראה כי אכן המערכת קונקטרולב

מציאת הבקרים בעזרת אקרמן

הדרושים ע"י נוסחת אקרמן בקריםנמצא את ה

Kומציאת בקר

.1-, נקבע שני קטבים ב קוד מאטלאב

תוצאה

בניית מערכת משוב מצב בחוג סגור

נבנה מערכת לפי המודל הבא

בסימולינק השתשמתי במודל המקביל

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

38 מערכת קטיף תפוחים משערך ומשוב המצב

שניות כפי שדרשתי עבור המודל. 1.1ם השהייה של כאשר המדרגה בנויה א

בדיקת תגובת המערכת בחוג סגור עם בקר משוב מצב

Overshootללא ומתכנסת אל אות הבקרה התוצאה מאוד יציבה

x yu

Step

x' = Ax+Bu

y = Cx+Du

State-Space Scope

K*u

Gain

F* u

F

K*u

C

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

39 מערכת קטיף תפוחים משערך ומשוב המצב

משערך

אובסרבליות

כעת נבדוק אם המערכת יכולה לעבוד עם משערך

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

קוד במאטלאב לבדיקה זו

תוצאה

נראה כי הדטרמננטה היא אכן לא אפס לכן ניתן לעבוד עם משערך במערכת זו

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים משערך ומשוב המצב

מציאת בקר המשערך ע"י אקרמן

(1113)טכניון, אעבוד לפי הנוסחה הבאה

לכן נכתוב במאטלאב 1הקטבים צריכים להיות פי

תוצאה

מודל המערכת

x bar

y

x vector

outputStep

x' = Ax+Bu

y = Cx+Du

Plant

L* u

L

F* u

F

K*u

B2

K*u

B1

B* u

B

x' = Ax+Bu

y = Cx+Du

(sI-(A-LC))^(-1)

real

real

observ er

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים משערך ומשוב המצב

בדיקת תוצאות המערכת עם משערך

יציאת המערכת

, יותר מהירה מממערכת ללא משערך.ומהירות ההתכנסות סבירה overshootלמערכת אין נראה כי

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

השיערוך טוב מאוד.נראה כי

ראללישמכון טכנולוגי -הטכניון

טה להנדסה אזרחית וסביבתיתהפקול

להנדסה חקלאית מסלולה

11 מערכת קטיף תפוחים ביבליוגרפיה

ביבליוגרפיה

Mathworks( .1111 .)Pade function אוחזר מתוך .

http://www.mathworks.com/help/control/ref/pade.html

Mathworks_ZPKdata( .1111 .)ZPKdata אוחזר מתוך .http://www.mathworks.com/help/control/ref/zpkdata.html

Mathworks-iopzmap( .1111 .)iopzmap אוחזר מתוך .http://www.mathworks.com/help/control/ref/iopzmap.html

חיפה: טכניון. תירגולים בקורס מבוא לבקרה.(. 1113טכניון. )

מצגות בקורס מבוא לבקרה.(. 1113לינקר, ר'. )

קוד התוכנה – נספח

1

Control system project - Or Hirshfeld

Table of ContentsState spcae model ............................................................................................................... 1transfer function step respone ............................................................................................... 2adding delay ...................................................................................................................... 3routh - horowitz ................................................................................................................. 3lineartizion ........................................................................................................................ 4finds poles and zeros .......................................................................................................... 4plot poles and zeros ............................................................................................................ 5root locus .......................................................................................................................... 5finding T0 ......................................................................................................................... 6zigler-nicholas .................................................................................................................... 6Improving PID ................................................................................................................... 8fixed nyquist - no error ....................................................................................................... 8fixed nyquist for unstable open loop with P conroller .............................................................. 102nd order system .............................................................................................................. 11converting specifciations .................................................................................................... 12network controler .............................................................................................................. 14cheking stabilty with fixed nyquist ....................................................................................... 17chekcing step respone in close loop ..................................................................................... 19state conroller and observer ................................................................................................ 19

State spcae modelclear allclcclose all

A=[0 1; 0 -0.1]B=[0;2]C=[1 0]D=0X=[0;0] %inital condtions

A =

0 1.0000 0 -0.1000

B =

0 2

Control system project - Or Hirshfeld

2

C =

1 0

D =

0

X =

0 0

transfer function step responenum1=1den1=[5 0.5 0]H=tf(num1,den1)sample_time=10 %smapling timestep(H,sample_time)

num1 =

1

den1 =

5.0000 0.5000 0

Transfer function: 1-------------5 s^2 + 0.5 s

sample_time =

10

Control system project - Or Hirshfeld

3

adding delayt_d=0.1 %time delay in secH_delayed=tf(num1,den1,'IODelay',0.1)

t_d =

0.1000

Transfer function: 1exp(-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 loopsyms Kr EPSra=routh([5 0.5 Kr],EPS) % polynomial reprrstation of 1+H

Control system project - Or Hirshfeld

4

ans =

0 -0.1000

ra = [ 5 Kr] [ ] [0.500000000000000000 0 ] [ ] [ 1.000000000 Kr 0 ]

lineartizionN_order=1 %Nth-order Pad? approximation, 1 for linearH_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 polesz{1,1} %show Zerosk %show k

ans =

0 -20.0000 -0.1000

ans =

20

k =

Control system project - Or Hirshfeld

5

-0.2000

plot poles and zerosfigureiopzmap(H_lineared)title('plot poles and zeros')

root locusfigurerlocus(H_lineared)title('root locus of lineared function')

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-nicholasT0=6.2 % in sec unitk0=k_gain % 4.7

Control system project - Or Hirshfeld

7

k_p=0.5*k0

k_pi=0.45*k0Ti_pi=T0/1.2

k_pid=0.6*k0Ti_pid=T0/2Td_pid=T0/8

T0 =

6.2000

k0 =

5

k_p =

2.5000

k_pi =

2.2500

Ti_pi =

5.1667

k_pid =

3

Ti_pid =

3.1000

Td_pid =

0.7750

Control system project - Or Hirshfeld

8

Improving PIDPI=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 gammas0=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 pointsp1= 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 p1Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4figure;title('fixed nyquist for lineared function')

Control system project - Or Hirshfeld

9

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);

p2 =

0.0000 + 1.0000i

num1 =

0 0 -1 20

den1 =

5.0000 100.5000 10.0000 0

Control system project - Or Hirshfeld

10

fixed nyquist for unstable open loop with Pconroller

%Define gammas0=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 pointsp1= 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 p1Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4figure;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);

p2 =

0.0000 + 1.0000i

num1 =

0 0 -5 100

den1 =

5.0000 100.5000 10.0000 0

Control system project - Or Hirshfeld

11

2nd order systemk_dc = 1; %K_dc=1/kw_n = 3;zeta = 0.7;figures = 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 ontitle('equivelent 2nd order system')

Control system project - Or Hirshfeld

12

converting specifciationsfigurebode(G_2nd_order)figurenichols(G_2nd_order)

Control system project - Or Hirshfeld

13

Control system project - Or Hirshfeld

14

network controlerbode(H_lineared)

% addding piG_pi=tf([1 0.24],[1 0])H_pi=G_pi*H_linearedfigurebode(H_pi)title('bode with PI conroller')

% adding zero to fix phaseG_zero=tf([1 0],[1])H_zero=G_zero*H_pifigurebode(H_zero)title('bode with PI and zero conrollers')

% adding P controllerG_p=12H_p=G_p*H_zerofigurebode(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 =

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]

Control system project - Or Hirshfeld

16

Control system project - Or Hirshfeld

17

cheking stabilty with fixed nyquistpole(H_p)%Define gammas0=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 pointsp1= 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 p1Lp2=polyval(num1,p2)./polyval(den1,p2); %drawing point p2Lp3=polyval(num1,p3)./polyval(den1,p3); %drawing point p3Lp4=polyval(num1,p4)./polyval(den1,p4); %drawing point p4figure;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;

Control system project - Or Hirshfeld

18

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);

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

Control system project - Or Hirshfeld

19

chekcing step respone in close loop[num_f,den_f]=tfdata(H_p)

num_f =

[1x5 double]

den_f =

[1x5 double]

state conroller and observerA=[0 1; 0 -0.1]B=[0;2]C=[1 0]D=[0;0]X0=[0;0] %inital condtions

% checking controllabilityCO=ctrb(A,B)det_CO=det(CO)

% checking sizesize_of_A=size(A)size_of_B=size(B)

% Ackerman fucntionF=acker(A,B,[-1 -1])K=1/(C*(B*F-A)^(-1)*B)

% observerOB=obsv(A,C)det_OB=det(OB)

L=(acker(A',C',[-5 -5]))'

A =

0 1.0000 0 -0.1000

B =

0 2

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

Control system project - Or Hirshfeld

21

det_OB =

1

L =

9.9000 24.0100

Published with MATLAB® 7.13