1 / 36

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

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

zinnia
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. רובוט דמוי Segway המיוצב בשיטת Fuzzy Logic מצגת סוף עמרי פפאו ושחר כהן מנחה: עידו כהן

  2. מבנה המצגת • סקירת שלבי העבודה • הקשיים שבדרך • תיאור פרוייקט חלק ב • פירוט משימות • מהלך העבודה • בעיות בייצוב • תודות • תיאור הפרויקט • מטרות הפרויקט • פירוט משימות • סכמת בלוקים • מודל פיזיקלי • Fuzzy Control • יתרונות השיטה • סיבוכיות וסימולציה

  3. - חלק א -

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

  5. מטרות הפרויקט • ייצוב של הרובוט בשיטת Fuzzy Logic Control סביב זווית 0 ביחס לאנך. • שליטה מרחוק על הרובוט: הרובוט יענה על פקודות שיכללו שינוי כיוון נסיעה, שינוי מהירות ואף סיבובים.

  6. פירוט משימות • הכרה ומימוש של בקרת Fuzzy Logic • מימוש Membership Functions . • בניית טבלת מצבים הקושרת בין מצב הרובוט לכוח שניתן למנועים. • בניית סימולציות ובדיקת התכן. • השלמת בניית הרובוט • התקנת כרטיס חיישנים (iNemo) וכן בקר Pic השולט על המנועים (כיוון ומהירות סיבוב). • הצבת בתי סוללות: סט אחד עבור מתח DC למנועים וסט נוסף שיהווה מתח אספקה לבקר, לחיישנים ולדרייברים.

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

  8. סכמת בלוקים רובוט Segway iNemo חיישנים סוללות 5V בקר Pic מחשב סוללות 12V כרטיס דרייברים 2 מנועי DC

  9. מודל פיזיקאלי של המערכתומשוואות מצב מודל המערכת מזכיר את המטוטלת ההפוכה הקווית. נעזרנו בויקיפדיה והשתמשנו במודל מתוך ספר פרויקט "Segbot" By Grace Chi, Joshua Hausbach and Brian Hunter (May, 2005) מהספר לקחנו את משוואות האנרגיה של הרובוט. ממשוואות אלה מצאנו את הלגרנג'יאן שמגזירתו לפי כל משתני המצב קיבלנו את משוואות המצב של המערכת.

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

  11. המשך... כאשר הקבועים A,B,Dהם: - מסת הגוף, - מסת הגלגלים - מומנט אינרציה של המנוע , - מומנט אינרציה של הגוף, - מומנט אינרציה של הגלגלים - Gear Ratio , - מומנט הרובוט, נוצר ע"י המנוע. L- רדיוס הגליל (גוף הרובוט), g- קבוע הגרוויטציה, R- רדיוס הגלגלים.

  12. Fuzzy Control שיטת בקרה זו מתבססת על "לוגיקה עמומה". מסתמכת על ידיעת מודל פיזיקלי מופשט של המערכת ועל ידיעת מצבה הנוכחי ומצבה הרצוי. מגדירים את מצבי המערכת עפ"י הכניסות האפשריות (מוצא החיישנים). הבקרה ממומשת ע"י סט פקודות if – then. עיבוד נתוני הכניסה מתבצע בשלושה שלבים: • הגדרת Membership function לכל מצב, עבור כל כניסה בנפרד. • חישוב מידת הוודאות להמצאות בכל מצב עבור שתי הכניסות יחד. • מתן משקול לכל אחד מהמצבים המשותפים ומציאת הכוח הנחוץ לייצוב.

  13. נשים לב! מימוש בקרה באמצעות שיטת ה- Fuzzy Logicפשוט יותר מהמימוש בעזרת שיטות בקרה שלמדנו בקורסי הבסיס. שיטת Fuzzy Control לא מצריכה ידיעה של המודל המתמטי המלא של המערכת ובכך יתרונה הגדול על פני שיטות אחרות.

  14. שלבי עיבוד הנתונים • Membership Function - מבצעים דיסקריטיזציה של ציר הזוויות . - עבור כל ערך בדיד מגדירים צורה קבועה שערכה הוא '1' במרכזה ו-'0' בקצוות. הצורות נבנות על תחומים חופפים. - הערך של כל זווית בצורה מגדיר את מידת הוודאות להמצאות במצב מסויים. - נגדיר את מצב הזווית עפ"י המשקל שהיא מהווה בכל צורה.

  15. המשך... • חישוב מידת הוודאות להמצאות בכל מצב עבור שתי הכניסות יחד - הגדרת : פונקציה המבטאת את מידת הודאות שהמערכת נמצאת במצב מסויים המגדיר את שתי הכניסות יחד. • משקול המצבים המשותפים ומציאת הכוח הנחוץ לייצוב - חישוב השטח שמגדיר מוצא ה- ב-Mem. Func. - הכפלת כל שטח עם הכוח המתאים לכל מצב. - סכימת כל המכפלות ונירמולן לפי סכום השטחים.

  16. סיבוכיות קוד הבקרה וסימולציות לבדיקת התכן • כיוון שבכל איטרציה יכולים להתקיים עד ארבעה תנאים, ספרנו ומצאנו שמתבצעות לכל היותר 117 פקודת בקוד שלנו בכל איטראציה. כלומר – המעבד מבצע סדר גודל של 100 פקודות בכל איטראציה. • סימולציות: בהסתמך על משוואות המצב של המערכת השתמשנו בפונקציה האיטראטיבית Ode45 , כשבכל איטראציה שינינו את הכוח המייצב את המערכת בהתאם למשתני המצב הזמניים על מנת להגיע למצב יציב.

  17. המשך... להלן תוצאה של אחת הסימולציות. תנאי התחלה: זווית הרובוט ביחס לציר האנכי: 12 מעלות מהירות זוויתית התחלתית של הרובוט: 12 מעלות לשניה.

  18. סקירת שלבי העבודה • שלב ראשון - הכרת שיטת Fuzzy Logic והבנתה - קריאת פרק 2 בספר "Fuzzy Control“, K. M. Passino and S. Yurkovich, Ohio State Uni., 1998 - כתיבת קוד הבקרה ב- Matlab ובניית סימולציות לבדיקת התכן. • שלב שני - למידה לעומק של עבודת הדרייברים והקישור שלהם עם המנועים. - עבודה עם הרובוט, הוצאת רכיבים ישנים ותיקון קצרים. • שלב שלישי - בחירה של כרטיס חיישנים ובקר מנועים מתאימים וסגירת חוג הבקרה באמצעות מחשב.

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

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

  21. - חלק ב -

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

  23. פירוט משימות • יצירת אות PWM באמצעות בקר PIC • כתיבת קוד ב- MPLAB לשליטה בכיוון סיבוב הגלגלים וב-duty cycle שיקבע את מהירות סיבוב הגלגלים. • יצירת חיבור COM בין המחשב לבקר ה-PIC • הפעלת התכן ופתרון בעיות שעלו תוך כדי עבודה (פירוט בהמשך)

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

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

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

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

  28. מדוע הייצוב לא הצליח ? נסקור את הבעיות המרכזיות: • חוג הבקרה הארוך – לפי דעתנו זו הבעיה המרכזית. כפי שהוסבר קודם, הבקרה נעשית באמצעות חיישנים הממוקמים על הרובוט, שמעבירים מידע למחשב באמצעות חיבור USB. לאחר מכן המחשב מעביר פקודות לבקר באמצעות חיבור COM ורק אז הבקר נותן את הפקודות למנועים. חוג זה מתבצע בלולאה אינסופית והיה אמור להיות מהיר מספיק על מנת לייצב את הרובוט אך לא כך הדבר.

  29. הסקנו ש"נפילת" הרובוט ממצב מאונך מתבצעת באופן מהיר מאוד, כך החוג לא יכול להיסגר בזמן והפקודות מגיעות מאוחר מדי, כשהרובוט במצב שלא ניתן להגיע ממנו לזווית 0. פתרונות אפשריים לבעיה- קיצור פיזי של חוג הבקרה ע"י סגירתו בעזרת מחשב כף יד העובד עם החיישנים הנוכחיים. או החלפת כרטיס החיישנים לכזה שניתן לחבר ישירות אל בקר ה-PIC באמצעות חיבור COM. במצב כזה כל הבקרה מתבצעת על ה- PIC. פתרונות אלו יקטינו משמעותית את ההשהיה בחוג ויקלו על הייצוב.

  30. בעייתFuzzy Logic –שיטת בקרה לא מדויקת. שיטת בקרה העובדת בשיטת ה- if-then ואינה מתבססת על מודל מתמטי מדויק. חוסר הדיוק במערכת מביא לאי דיוקים בפקודות הבקרה ומקשה על הייצוב. פתרון אפשרי לבעיה- עבודה עם שיטת בקרה מדוייקת המשתמשת במודל המערכת ופועלת על פי המידע מהמודל. למשל, בקר PID.

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

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

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

  34. הרובוט בפעולה

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

  36. סוף מצגת פרויקט segway שאלות? תודה על ההקשבה!

More Related