1 / 28

מערכות ובקרה

מערכות ובקרה. פרוייקט ברובוטיקה – סיכום ביניים 1/01/2003. מטרת הפרוייקט. בניית רובוט Behavior Based אשר נמשך למקור אור ועוקף מכשולים בדרכו למקור אור, תוך שימוש בחלקים של Lego Mindstorms . ביצוע תרגיל בקרה תוך מימוש בקר Fuzzy. שלבי הפרוייקט. בחירת מבנה פיזי של הרובוט.

Télécharger la présentation

מערכות ובקרה

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. מערכות ובקרה פרוייקט ברובוטיקה – סיכום ביניים 1/01/2003

  2. מטרת הפרוייקט • בניית רובוט Behavior Based אשר נמשך למקור אור ועוקף מכשולים בדרכו למקור אור, תוך שימוש בחלקים של Lego Mindstorms. • ביצוע תרגיל בקרה תוך מימוש בקר Fuzzy.

  3. שלבי הפרוייקט • בחירת מבנה פיזי של הרובוט. • בחירה והתקנה של מערכת ההפעלה ושפת תכנות. • בניית רובוט אשר נמשך למקור אור (ללא מכשולים בדרך). • בניית הרדאר - גלאי כיוון אור • כתיבת תוכנית ראשונית לבקרת הרובוט.

  4. שלבי הפרוייקט • מימוש בקרת הרדאר כתהליך נפרד • בניית Bumpers – חישנים שיגלו מכשולים • בחירת שיטות עקיפת המכשולים • מימוש עקיפת המכשולים בתוכנה (2 שיטות) • לימוד הסימולציה של TeamBots • הגדרת 3 התנהגויות ברובוט Lego, ועיצוב של Subsumption Architecture.

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

  6. מבנה הרובוט • רכיבי Lego: • RCX • 2 מנועי הנעה • חישן אור • חישן סיבוב • חישן מגע • חלקי בניה • רכיבים שאינם Lego: • מנוע CD-ROM • מראה אחורית של LCD

  7. מבנה הרובוט • 2 גלגלי הנעה – הנעה נפרדת ע"י שני מנועים • 2 גלגלי Pivot. • Bumper לגילוי מכשולים

  8. מבנה הרובוט • Pivot Wheel • דגש על קשיחות המבנה: שני צירים אנכיים ושני צירים אופקיים. • קלות סיבוב מסביב לציר כיוון – מושג ע"י הרחקת הציר של הגלגל מהציר האנכי.

  9. מבנה הרדאר • חישן אור מורכב מעל המראה המסתובבת • חישן סיבוב מורכת אל הציר של מראה. • תמסורת גומיות מהמנוע לציר המראה דרך שתי גלגלות. • יחס תמסורת 1:25

  10. מבנה הרובוט – מכלול של רדאר וחישן אור

  11. מבנה הרובוט תצורה סופית

  12. כתיבת תוכנית ראשונית לבקרת הרובוט while(1) { if (ROTATION_3>16) { ROTATION_3=1; if (direction<=7) right(); if (direction>=9) left(); if (direction==8) forward(); max=0; } if (LIGHT_2>max) { direction=ROTATION_3; max=LIGHT_2; } }

  13. void left() { motor_a_speed(off); motor_c_speed(off); motor_a_dir(fwd); motor_a_speed(100); msleep(300); motor_a_speed(off); } void forward() { motor_a_dir(fwd); motor_a_speed(100); motor_c_dir(fwd); motor_c_speed(100); } שגרות פנייה ונסיעה קדימה

  14. בעיות במימוש ראשוני • אילוץ הנובע ממימוש ראשוני – אי אפשר להעלות את מהירות הסיבוב של הרדאר. זמן מחזור הסיבוב חייב להיות קטן מזמנן שהייה בשגרות פנייה ימינה\שמאלה. • אם האילוץ מופר – מתפספס הרגע של איפוס חיישן הסיבוב, ואז הרובוט יוצא מהשליטה.

  15. פתרון הבעיה של מימוש ראשוני • מימוש שגרת בקרת הרדאר בעזרת תהליך נפרד void set_direction() { while(1) { if (ROTATION_3>16) { ROTATION_3=1; max=0; direction=temp_direction; } if (LIGHT_2>max) { temp_direction=ROTATION_3; max=LIGHT_2; } } }

  16. פתרון הבעיה של מימוש ראשוני • תהליך רץ בנפרד, לכן המונה של חישן סיבוב מתאפס בכל פעם שמגיע ל- 16. • מימוש זה מאפשר להעלות את מהירות הרדאר עד 3 סיבובים בשניה (ואולי אף יותר) • משמעות הדבר – זמן תגובה משופר, הרובוט מקבל תיקוני כיוון 3 פעמים בשניה.

  17. מימוש שגרת עקיפת המכשולים – שיטה 1 • בשיטה זו רובוט נסוג אחורה, מסתובב 90 מעלות ימינה, נוסע הצידה ואז ממשיך לכיוון האור void detour() { reverse(); msleep(1000); while (direction!=12) right(); forward(); msleep(2000); } • חיסרון השיטה – אין פיתרון למצב שבו יש מכשול גם מלפנים וגם מימין

  18. מימוש שגרת עקיפת המכשולים – שיטה 2 • הרובוט נסוג לכיוון ראנדומלי void detour() { reverse(); msleep(1000); i=random(); if (i<0) i=i*(-1); a=i/16; b=i-(a*16)+1; lcd_int(b); while (direction!=b) { if (b>=8) right(); if (b<8) left(); } forward(); msleep(2000); } • חיסרון השיטה – הרובוט עלול לבצע תנועות מיותרות.

  19. עבודה להמשך שיפור התוכנית • כיוון 1: • שיפור האינטליגנציה של רובוט ע"י הוספת זיכרון של מכשולים • כיוון 2: • הגדרת התנהגויות: הליכה לכיוון האור, נדידה, עקיפת מכשולים. • ניהול ההתנהגויות בשיטת Subsumption Architechture.

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

  21. תרגיל בקרה – הגדרת כניסות \ יציאות • כניסות לבקר: • זווית למקור אור • מהירות זוויתית של בפניות • יציאות: • אורך פקודת היגוי.

  22. הגדרת Membership Functions • עבור זווית: • עבור מהירות:

  23. הגדרת Membership Functions • עבור אורך היגוי:

  24. הגדרת Fuzzy Rules

  25. מבנה בקר Fuzzy

  26. בקר Fuzzy – משטח תגובה

  27. תרגיל בקרה – עבודה להמשך • מימוש הבקר ב- LegOS • כיול הבקר • הפעלה עם גלגלים שונים

  28. סוף

More Related