25
תתתתת תתתתתתת תת תתתתתתת תתתתתתתתתתתת תת תתתתתתתת- תSimulink תתתת תתתת תתתתת תתתת תתתתתת תתתתתתתתת: תתת2008 תתתת: תתתת תתתתת יייי יייייייי- ייייייי ייייייTECHNION - ISRAEL INSTITUTE OF TECHNOLOGY ייייייי יייייי יייי יייייי ייייי ייייייייי

מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

Embed Size (px)

DESCRIPTION

הטכניון - מכון טכנולוגי לישראל TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY הפקולטה להנדסת חשמל המעבדה לבקרה ורובוטיקה. מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink. אייל ברכה דורון פגוט פרויקט סמסטריאלי: מאי 2008 מנחה: אריה נחמני. תוכן ענייניים;. הצגת הבעיה - PowerPoint PPT Presentation

Citation preview

Page 1: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

מידול אוטומטי של משוואות דיפרנציאליות Simulinkלא לינאריות ב-

אייל ברכה

דורון פגוט

2008פרויקט סמסטריאלי: מאי

מנחה:

אריה נחמני

הטכניון - מכון טכנולוגי לישראל TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY

הפקולטה להנדסת חשמלהמעבדה לבקרה ורובוטיקה

Page 2: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

תוכן ענייניים;

הצגת הבעיה•מטרות הפרויקט•GUIחלונות לדוגמא ב- •תיאוריה•מבנה הקוד•סימולציות••Demoמבט בסרט ההדרכה + מסקנות•אפשרויות הרחבה לפרויקט•התייחסויות•

Page 3: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

רקע כללי

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

המתארת את המערכת הפיסיקלית.יש לבנות אוטומטית מימוש של המערכת •

.Simulinkב-מכיוון שמדובר שמשוואה שאינה ליניארית ואין הגבלה •

לרמת הסיבוך של המשוואה אזי יש קושי לפתור את .state spaceהבעיה בעזרת מימוש

הנחת הייסוד: יפתור את הבעיה באיטרציות בשגיאה Simulinkה- •

קטנה אשר תלויה בתדר הדגימה שבו אנו עובדים.

מבוא

Page 4: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

מטרות הפרויקט

פיתוח מודל תאורטי לפתרון איטרטיבי של משוואות.• אשר יוזן במשוואות דיפרנציאליות GUIבניית ממשק •

לא ליניאריות )כולל תלות בין המשוואות( וייצור subsystem בעל כניסות ויציאות המתאר את המשוואות.

Simulinkבניית סביבת עבודה מקבילה ל- •המאפשרת למשתמש לבצע פעולות הזנת אותות

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

כתיבת חוברת הדרכה לשימוש בממשק.•הקלטת סרט וידאו להדרכה מהירה.•

מבוא

Page 5: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

קהל היעד

, 1סטודנטים בקורסי הבקרה השונים כגון בקרה •, מעבדה לבקרה לינארית ועוד2בקרה

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

simulinkמערכות לא לינאריות ב- מהנדס בקרה המעונין לבצע סימולציות על מערכות •

simulinkלא לינאריות ע"י

מבוא

Page 6: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

בחירת משוואה אחת או שתייםGUIחלונות לדוגמא ב-

Page 7: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

בניית מודל או הרצת סימולציהGUIחלונות לדוגמא ב-

Page 8: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

האלגוריתם הבסיסי

בחירת החלופה האופטימלית•בשלב הראשון בניית תבנית בעלת נכונות מתמטית• אשר לאחר מניפולציות fcnשימוש ברכיב ה- •

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

תיאוריה

( ) ( )( ,.. , ,.. , ) 0n mf f y y u u t ( ) ( ) ( ) ( )( ,.. , ,.. , )n m n nf y y u u t y y

( ) ( ) ( ) ( )( ,.. , ,.. , )n m n nfcn F f y y u u t y y

( ) ( )( ) ( 1)n ny k y k

Page 9: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

מערכת הפיתרון האיטרטיבית )משוואה בודדת(:

תיאוריה

BUS

1/S 1/S 1/SY’ Y

S S SU

t [sec]

Y(n)

fnc

U(m)

Page 10: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

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

( ) ( ) ( ) ( )1 1 1

( ) ( ) ( ) ( )1 1

( ) ( ) ( ) ( )1 1

( ,.. ,..., ,.. ,..., ,.. , ,.. , ) 0

( ,.. ,..., ,.. ,..., ,.. , ,.. , ) 0

( ,.. ,..., ,.. ,..., ,.. , ,.. , ) 0

n n n mk k K K

n n n mk k k K K

n n n mK k k K K

f y y y y y y u u t

f y y y y y y u u t

f y y y y y y u u t

תיאוריה

BUS

1/S 1/S 1/SY’ Y

S S SU

t [sec]

Y(n)

fncy

U(k)

1/S 1/S 1/SZ’ Z

fncz

Z(m)

עבור מספר משוואות •נתון:

הייצוג האיטרטיבי:•

( ) ( ) ( ) ( ) ( ) ( )1 1 1 1 1 1

( ) ( ) ( ) ( ) ( ) ( )1 1

( ) ( ) ( ) ( )1 1

( ,.. ,..., ,.. ,..., ,.. , ,.. , )

( ,.. ,..., ,.. ,..., ,.. , ,.. , )

( ,.. ,..., ,.. ,..., ,.. , ,

n n n m n nk k K K

n n n m n nk k k k K K k k

n n n mK K k k K K

FCN f y y y y y y u u t y y

FCN f y y y y y y u u t y y

FCN f y y y y y y u

( ) ( ).. , ) n n

K Ku t y y

Page 11: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

הקוד – הסבר כללי

מפעיל את GUIהקוד בנוי מודולארית כך שה- •הפונקציות השונות לפי דרישות המשתמש.

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

הפרויקט. החל מתוספות קטנות של פונקציות חיצוניות וכלה בהוספת מספר רב של משוואות.

נושא האסטטיקה נלקח בחשבון, לאור העובדה •שזהו פרויקט בעל מטרות מעשיות בטווח המיידי.

מבנה הקוד

Page 12: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

בניית תת מערכת ומודולים חיצוניים

יצירת תת מערכת•בניית אינטגרטורים ליציאות, נגזרות לכניסות )אידיאליות •

מרכזי המוזן בכל הכניסות והיציאות. Busומעשיות(, פונקציות חיצוניות כגון:30הפרויקט תומך בכ- •

•Sat, sin, floor , arctan, log'וכו

עבור תנאי ההתחלהmaskהגדרת ה- •בניית וקטור מצב לצורך בקרת מצב.•בניית מקור כניסה וכיולו, בניית המשוב )טורי או מקבילי(, •

. scopesבניית

מבנה הקוד

Page 13: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

מטרות הפרק

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

מהן המגבלות שעליהן יש לתת את הדעת, בכדישהמשתמש ידע לנצל את המערכת במלואה.

נקודות תורפה•נקודות חוזקה•

סימולציות

Page 14: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

השוואת המודל למודלstate space עבור המשוואה:

נבדוק את המודל בתנאי קיצון -תדר דגימה נמוךמאוד:

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

cos( ) sin( )y y y u u

0 1 2 3 4 5 6 7 8 9 10-1.6

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

Time

Out

put

Comparing our flow to state space

Our flow

State space

0 1 2 3 4 5 6 7 8 9 10-2

0

2

4

6

8

10

12

14

16

18x 10

-6 Diff between state space implementation and our flow

Time

Sta

te s

pace

- O

ur f

low

סימולציות

Page 15: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

גזירת הכניסה

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

במידה והכניסה מכילה רעש, הגזירה תגביר את •הרעש.

על מנת לפתור בעיה זו מומשה היכולת לבחור בין •שימוש בנגזרות אידיאליות לבין שימוש בנגזרות LPFמעשיות. נגזרות מעשיות אלו למעשה מוסיפות

לנגזרת האידיאלית.

סימולציות

Page 16: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

בדיקת היתכנות עבור משוואה אחת לא ליניארית )נגזרת אידיאלית לעומת מעשית(

התקבל כי כאשר קיים רעש שימוש בנגזרת מעשית •נותן תוצאות טובות משמעותית.

הסיבה טמונה בכך כי הנגזרת מגבירה את •התדרים הגבוהים ברעש. לעומת זאת שימוש

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

השגיאה.

סימולציות

Page 17: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

4בדיקות עבור משוואה ליניארית מסדר :המשוואה

y''''+3*y'''+4*y''+5*y'+2*y-u''-2*u'-3*u =0 הגרפים להלן מתארים את השגיאה בין המערכות •

לפניואחרי שיפור הנגזרת המעשית:•

0 1 2 3 4 5 6 7 8-7

-6

-5

-4

-3

-2

-1

0

1

2

3x 10

-3 Diff between state space implementation and our flow

Time

Our

flo

w -

Sta

te s

pace

0 1 2 3 4 5 6 7 8-7

-6

-5

-4

-3

-2

-1

0

1

2

3x 10

-5 Diff between state space implementation and our flow

Time

Our

flo

w -

Sta

te s

pace

סימולציות

Page 18: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

y’’+5y’+4yמערכת ליניארית ללא נגזרות בכניסה = u

להלן גרף המתאר את השגיאה בין המערכות עבור)sin)22tכניסה מסוג:

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

0 10 20 30 40 50 60 70 80 90 100-2

-1

0

1

2x 10

-17

סימולציות

Page 19: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

שימוש באיטרציות

סימולציות

היתרון ברור והוא היכולת לפתור משוואות בעלות •רמות סיבוך גבוהות וכן היכולת לפתור מספר

משוואות משולבות. Simulinkהחיסרון הינו התלות בתדר הדגימה של ה- •

עקב שימוש בקירוב .לפתרון המוצע ישנה השהיה מובנת של דגימה אחת, •

שלא מופיעה במשוואות המקוריות.

( ) ( )( ) ( 1)n ny k y k

Page 20: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

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

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

השגיאה משמאל עבור גודל צעד 0.2מימין עבור גודל צעד ,

1e-5:

0 5 10-0.5

0

0.5our result

0 5 10-0.5

0

0.5the real result

0 1 2 3 4 5 6 7 8 9 10-0.02

-0.01

0

0.01

0.02error

0 5 10-0.5

0

0.5our result

0 5 10-0.5

0

0.5the real result

0 1 2 3 4 5 6 7 8 9 10-1

-0.5

0

0.5

1x 10

-6 error

סימולציות

Page 21: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

שתי משוואות לא ליניאריות: מערכת רחיפה מגנטית

בשלב זה ביצענו בדיקהמקיפה עבור זוג

משוואות לא ליניאריות. :המימוש שלנו

20 0

1 0 0

2

( )

L X ix g

m x

xi v RiL x L X

סימולציות

Page 22: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

שתי משוואת לא ליניאריות: השוואה בין המערכות

והשוואה GUI ל- DEMOביצוע •בין המערכות

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

מסתובבת. בבדיקות אלו אף קיבלנו כי נקודת ש"מ של שתי

המערכות זהה.הבדיקות כללו הכנסת כניסות •

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

sin)t(

0 0.5 1-1

0

1

2our system output

t[sec]

Vol

tage

[vo

lt]

0 0.5 1-1

0

1

2Original model output

t[sec]

Vol

tage

[vo

lt]

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4

-2

0

2x 10

-11 Error between the systems

t[sec]

Vol

tage

[vo

lt]סימולציות

Page 23: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

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

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

מדרגה ורעש מכיוון שהמערכת פותרת בשיטת האיטרציות, אזי

יקטין את השגיאה בין simulinkקצב דגימה גבוה ב- שתי המערכות

-השימוש בGUI הינו פשוט יחסית וניתן לשלוט בו ע"י או User Guideצפייה בסרט ההדגמה, קריאה של ה-

GUIקריאת דף ההסבר המהיר. כולם נגישים מה- עצמו

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

ניתן לבצע הרחבות בקוד

310

1010

Page 24: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

אפשרויות הרחבה לפרויקט

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

הסבת המערכת לזמן בדיד•התמודדות טובה יותר עם נגזרות בכניסה•

ע"י השהיית תגובת הזמן.•פיתרון ישיר אשר אינו דורש גוזר•

Page 25: מידול אוטומטי של משוואות דיפרנציאליות לא לינאריות ב- Simulink

התייחסויות