רובוט דמוי Segway המיוצב בשיטת Fuzzy Logic מצגת סוף

Preview:

DESCRIPTION

רובוט דמוי Segway המיוצב בשיטת Fuzzy Logic מצגת סוף. עמרי פפאו ושחר כהן מנחה: עידו כהן. מבנה המצגת. סקירת שלבי העבודה הקשיים שבדרך תיאור פרוייקט חלק ב פירוט משימות מהלך העבודה בעיות בייצוב תודות. תיאור הפרויקט מטרות הפרויקט פירוט משימות סכמת בלוקים מודל פיזיקלי - PowerPoint PPT Presentation

Citation preview

Segwayרובוט דמוי Fuzzy Logicהמיוצב בשיטת

מצגת סוף

עמרי פפאו ושחר כהן

מנחה:

עידו כהן

מבנה המצגתסקירת שלבי העבודה18.

הקשיים שבדרך20.

תיאור פרוייקט חלק ב22.

פירוט משימות23.

מהלך העבודה24.

בעיות בייצוב28.

תודות35.

תיאור הפרויקט4.

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

פירוט משימות6.

סכמת בלוקים8.

מודל פיזיקלי 9.

.12Fuzzy Control

יתרונות השיטה13.

סיבוכיות וסימולציה16.

-חלק א -

תיאור הפרויקט הינו רובוט העומד על שני segwayרובוט דמוי

גלגלים מקבילים ואינו יציב.

קומות. כיוון 3גוף הרובוט גלילי ובנוי מ-שהגלגלים קבועים במקומם הרובוט יכול

"ליפול" קדימה ואחורה בלבד.

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

החומרה המתאימה לביצוע המשימה.

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

Fuzzy Logic Controlייצוב של הרובוט בשיטת • ביחס לאנך.0סביב זווית

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

סיבובים.

פירוט משימותFuzzy Logic הכרה ומימוש של בקרת • .Membership Functions מימוש בניית טבלת מצבים הקושרת בין מצב הרובוט לכוח שניתן

למנועים.בניית סימולציות ובדיקת התכן.

השלמת בניית הרובוט• השולט על Pic( וכן בקר iNemoהתקנת כרטיס חיישנים )

המנועים )כיוון ומהירות סיבוב(. למנועים וסט נוסף DCהצבת בתי סוללות: סט אחד עבור מתח

שיהווה מתח אספקה לבקר, לחיישנים ולדרייברים.

המשך...

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

המחשב.שליחת פקודות בקרה מהמחשב לבקר. תרגום הפקודות ע"י הבקר ושליחתן למנועים.

סכמת בלוקים

iNemoחיישניםiNemoחיישנים

Picבקר Picבקר

כרטיס דרייבריםכרטיס דרייברים

DC מנועי 2 DC מנועי 2

12Vסוללות 12Vסוללות

5Vסוללות 5Vסוללות מחשבמחשב

Segwayרובוט Segwayרובוט

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

מודל המערכת מזכיר את המטוטלת ההפוכה הקווית.

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

"Segbot" By Grace Chi, Joshua Hausbach and Brian Hunter )May, 2005(

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

ממשוואות אלה מצאנו את הלגרנג'יאן

שמגזירתו לפי כל משתני המצב

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

u

dt

dqdt

d

q

L

()

L

, ,k system p systemL E E

...המשך

2

2 2

2

2

00 1 0 0

10 0 0

0 0 0 1 0

0 0 0

b

b

BBx xM gLB RA

x xB AD RA B AD

M gLA BA

B AD RB AD

נקודת שיווי המשקל סביבה ביצענו לינאריזציה היא .משוואות המצב שהתקבלו הן:

0

המשך...

הם:A,B,Dכאשר הקבועים

- מסת הגוף, - מסת הגלגלים

- מומנט אינרציה של המנוע , - מומנט אינרציה של הגוף, - מומנט אינרציה של הגלגלים

- Gear Ratio .מומנט הרובוט, נוצר ע"י המנוע - , L ,)רדיוס הגליל )גוף הרובוט - g ,קבוע הגרוויטציה - R רדיוס -

הגלגלים.

2

2

2

2 2

22

2

2

m w

b w

mb

b b m

J JA M M

R

JB M L

R

D M L J J

bMwM

mJbJ

wJ

Fuzzy Controlשיטת בקרה זו מתבססת על "לוגיקה עמומה".

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

ומצבה הרצוי.

מגדירים את מצבי המערכת עפ"י הכניסות האפשריות )מוצא החיישנים(.

.if – thenהבקרה ממומשת ע"י סט פקודות

עיבוד נתוני הכניסה מתבצע בשלושה שלבים: לכל מצב, עבור כל כניסה בנפרד.Membership functionהגדרת •חישוב מידת הוודאות להמצאות בכל מצב עבור שתי הכניסות יחד.•מתן משקול לכל אחד מהמצבים המשותפים ומציאת הכוח הנחוץ לייצוב.•

נשים לב!פשוט Fuzzy Logicמימוש בקרה באמצעות שיטת ה-

מהמימוש בעזרת שיטות בקרה שלמדנו בקורסי יותר הבסיס.

לא מצריכה ידיעה של המודל Fuzzy Controlשיטת של המערכת ובכך יתרונה הגדול על פני המתמטי המלא

שיטות אחרות.

שלבי עיבוד הנתונים

• Membership Function

- מבצעים דיסקריטיזציה של ציר הזוויות .

' 1שערכה הוא 'צורה קבועה מגדירים כל ערך בדיד- עבור ' בקצוות. הצורות נבנות על תחומים חופפים.0 במרכזה ו-'

בצורה מגדיר את מידת הוודאות כל זווית - הערך של להמצאות במצב מסויים.

עפ"י המשקל שהיא מהווה בכל צורה.מצב הזווית - נגדיר את

90,90

0

4

4

2

2

1

המשך...

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

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

משקול המצבים המשותפים ומציאת הכוח הנחוץ לייצוב•

.Mem. Func- חישוב השטח שמגדיר מוצא ה- ב-

- הכפלת כל שטח עם הכוח המתאים לכל מצב.

- סכימת כל המכפלות ונירמולן לפי סכום השטחים.

_ premise

_ premise

סיבוכיות קוד הבקרה וסימולציות לבדיקת התכן

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

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

פקודות בכל איטראציה.100– המעבד מבצע סדר גודל של

סימולציות:•

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

, כשבכל איטראציה שינינו את הכוח המייצב את Ode45האיטראטיבית

המערכת בהתאם למשתני המצב הזמניים על מנת להגיע למצב יציב.

המשך...

להלן תוצאה של אחת הסימולציות. תנאי התחלה:

מעלות12זווית הרובוט ביחס לציר האנכי:

מעלות לשניה.12מהירות זוויתית התחלתית של הרובוט:

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2

4

6

8

10

12

Time

Deg

rees

Teta

Teta dot

סקירת שלבי העבודהשלב ראשון•

בספר 2 והבנתה - קריאת פרק Fuzzy Logic- הכרת שיטת "Fuzzy Control“, K. M. Passino and S. Yurkovich, Ohio State Uni., 1998

ובניית סימולציות לבדיקת התכן.Matlab- כתיבת קוד הבקרה ב- שלב שני•

- למידה לעומק של עבודת הדרייברים והקישור שלהם עם המנועים.

- עבודה עם הרובוט, הוצאת רכיבים ישנים ותיקון קצרים.שלב שלישי•

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

המשך...

שלב רביעי•

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

.Pic באמצעות בקר PWM- הפקה של אות

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

שנוכל לייצבו כנדרש.הרכיבים שנבחרו לשם ביצוע המשימה לא מאפשרים ייצוב של •

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

-חלק ב -

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

נפעל על מנת לייצב את הרובוט.

פירוט משימותPIC באמצעות בקר PWMיצירת אות •

לשליטה בכיוון סיבוב הגלגלים MPLABכתיבת קוד ב- − שיקבע את מהירות סיבוב הגלגלים.duty cycleוב-

PIC בין המחשב לבקר ה-COMיצירת חיבור •

הפעלת התכן ופתרון בעיות שעלו תוך כדי עבודה )פירוט •בהמשך(

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

מענה: הכוחות שהמנועים אמורים לספק שליחת המידע וייצוג ספרות -•

לגלגלים מצויים בתחום הרציף . אולם, המידע עובר ביטים של מידע עם ביט התחלה 8 באופן סדרתי: PICמהמחשב ל-

וביט סיום. בנוסף ייצוג בינארי של מספר שלילי יצריך עוד ביט של מידע.

המרת הכוחות הרציפים לכוחות בדידים בתחום פתרון:- .

30,30

0,255

- בעיית נעילת הגלגלים בזווית אפס

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

לנעילה של הגלגלים.

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

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

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

:בעיית רכיבים קיימים

שהותקנו על הרובוט הינם מנועים חזקים DC מנועי ה- מנועים -.1במיוחד.

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

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

הסרת הקומה השלישית של הרובוט -. 2

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

הגלגלים שמורכבים על הרובוט הינם גלגלים בעלי רדיוס גלגלים - .3קטן מאוד יחסית לגוף.

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

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

מדוע הייצוב לא הצליח ?נסקור את הבעיות המרכזיות:

לפי דעתנו זו הבעיה המרכזית.חוג הבקרה הארוך –

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

הבקר נותן את הפקודות למנועים.

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

 

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

.0במצב שלא ניתן להגיע ממנו לזווית

 

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

או

PIC החלפת כרטיס החיישנים לכזה שניתן לחבר ישירות אל בקר ה- .PIC. במצב כזה כל הבקרה מתבצעת על ה- COMבאמצעות חיבור

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

בעייתFuzzy Logic .שיטת בקרה לא מדויקת–

ואינה מתבססת על מודל if-thenשיטת בקרה העובדת בשיטת ה- מתמטי מדויק.

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

- עבודה עם שיטת בקרה מדוייקת המשתמשת פתרון אפשרי לבעיה.PIDבמודל המערכת ופועלת על פי המידע מהמודל. למשל, בקר

-המידע המגיע מהחיישנים הינו רועש ואינו מידע רועש מהחיישניםמדויק לחלוטין.

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

מהמדידות הקודמות )קפיצות בזווית הנובעות מתזוזת הרובוט(.

מצורפים גרפים המראים את הזווית ואת הזווית המתקבלת לאחר הפילטר:

. 0 אך הזוויות שהחיישנים מציגים אינן 0בגרף זה הרובוט נמצא במצב

:0ניתן לראות שהזוויות שהתקבלו מהפילטר הינן

דף תודותברצוננו להביע תודות לאנשים חיצוניים שעזרו לנו רבות במהלך הפרויקט:

למהנדס המעבדה: קובי כוחיי

ויגדרזוןלהנדסאית המעבדה: אורלי

לרועי הרשקו

על ההכוונה, העצות המועילות ועל הרבה רצון טוב -

תודה!

segwayסוף מצגת פרויקט

שאלות?

תודה על ההקשבה!

Recommended