210 likes | 452 Views
עקיבת וידאו באמצעות בקר microchip. מגישים: ערן אשרוביץ ניר סנצ'ו. בהנחיית: קובי כוחיי. מטרת הפרוייקט. פלטפורמה: מונעת אוטונומית – המצלמה on-board גנרית ככל האפשר משימות: ניסויי גישות בקרה בדיקת יכולות המצלמה עקיבה בעזרת מצלמה. קונספציות בפתרון.
E N D
עקיבת וידאו באמצעות בקר microchip מגישים: ערן אשרוביץ ניר סנצ'ו בהנחיית: קובי כוחיי
מטרת הפרוייקט • פלטפורמה: • מונעת • אוטונומית – המצלמה on-board • גנרית ככל האפשר • משימות: • ניסויי גישות בקרה • בדיקת יכולות המצלמה • עקיבה בעזרת מצלמה
קונספציות בפתרון • בניית פלטפורמה קטנה וגנרית ככל האפשר. • הפלטפורמה יציבה מכאנית וחשמלית. • חלקי התוכנה השונים נבנו באופן מודולרי. גנריות, מודולריות ויציבות
תאור הפלטפורמה (הרובוט) • קומה ראשונה • מנועים • גלגלים • מצלמה • קומה שנייה • בקר
דיאגרמת בלוקים – חומרה / תוכנה Serial Camera Control PWM Encoder
תאור המצלמה - CMUcam2 • מצלמת וידאו צבעונית • רזולוציה מקסימלית 160 x 255 • עד 30 תמונות בשניה • 24bit לייצג צבע • תקשורת טורית (Rs-232) • יחידת עיבוד המנהלת את פעולות המצלמה.
יכולות המצלמה - CMUcam2 • תמונה שלמה • מיקום מרכז תחום צבעים מבוקש • תוחלת הצבע המצולם • פיקסלים שהשתנו • היסטוגרמה • מיסוך חלק מהפריים (חלון וירטואלי) • פעולות על מנועים ונוריות בקרה
ניסויים להערכת יכולת המצלמה • ניסויי 1: • מטרת הניסויי: לאפיין את יכולת המצלמה לזיהוי גוף נע במישור האופקי במרחקים שונים. • תוצאות: • ניסויי 2: • מטרת הניסויי: לבדוק האם ביכולתנו למדוד את מרחק הכדור מהמצלמה בהינתן שטח פני הכדור. • תוצאות:
מודול תקשורת למצלמה • ממומש בבקר הרובוט • מהווה הממשק לפעולות המצלמה IDLE typedef struct { BYTE mx; BYTE my; BYTE x1; BYTE y1; BYTE x2; BYTE y2; BYTE pixels; BYTE confidence; } T_Packet_Data_Type; typedef struct { BYTE Rmean; BYTE Gmean; BYTE Bmean; BYTE Rdev; BYTE Gdev; BYTE Bdev; } S_Packet_Data_Type; byte = ‘A’ byte = 0xFF byte = ‘N’ NCK PACK byte_count=0 ACK byte = 'T' byte = 'S' TPACK byte_count++ SPACK byte_count++ byte = ['C' | 'K'] byte_count < 8 byte_count < 6
עקיבה אחר כדור צבעוני • המשימה: לעקוב אחר כדור צבעוני במישור אופקי. • הרובוט יכול להסתובב על צירו, ולהתמרכז אל המטרה. • נגדיר את שגיאת המיקום: כהפרש בין מיקום הכדור בפריים לבין מרכז הפריים. • נבחן בקרים שונים לפתרון הבעיה: P, PD ו-PD-Fuzzy Logic
כדור צבעוני • פריים המצלמה מבט על בקר P • בקר פרופורציונאלי, המגיב באופן יחסי לשגיאת המיקום. • Kp הינו הגבר הבקר ונבחר באופן אמפירי.
בחינת בקר P • יתרונות: • פשטות • אינטואיטיבי • מהירות חישוב • תוצאות טובות בעקיבה בתחום מהירות מסויים (מצריך קביעת הגבר Kp שונה עבור כל תחום מהירות) • חסרונות: • יחסי למיקום אך לא למהירות ותאוצת העצם • לא מתאים למהירויות משתנות • מגיב לאט עבור Kp נמוך, וב"עצבנות" יתרה עבור Kp גבוה
כדור צבעוני • פריים המצלמה מבט על בקר PD • בקר פרופורציונאלי דיפרנציאלי, המגיב באופן יחסי לשגיאת המיקום והן לנגזרת שגיאת המיקום (מהירות הגוף). • Kp ו- Kd הינם הגברי האלמנטים הפרופורציונליים והדיפרנציאלים של הבקר בהתאמה ונבחרו באופן אמפירי.
D P בחינת בקר PD • יתרונות: • מאפשר גמישות גדולה יותר בתגובתו (שני פרמטרים) • מאפשר עקיבה אחר מהירויות שונות (במידה מסויימת) • חסרונות: • במקרים מסויימים קיים מאבק בין השפעות החלקים (P ו-D).
בקר PD-Fuzzy Logic • בקרה עמומה (Fuzzy Logic) מאפשרת מתן משקלים למספר מערכות בקרה שונות, והוצאת אות בקרה משוקלל. • מאפשרת קביעת קבועי הבקרה באופן דינאמי, כתלות בכניסות המערכת. • הפתרון האלגנטי: • בקר PD הוא פתרון טוב • נמנע את המאבק בין אלמנט P ל-D • נקבע את Kp ו-Kd כתלות במיקום הכדור
הדגמת ביצועי בקר PD-Fuzzy Logic wKp [%] Xerr [pix] wKd [%] Xerr [pix]
תוצאות הסימולציה X [cm] X [cm] X [cm]
סיכום • המטרות שהושגו • מומש פרוטוקול התקשורת עם המצלמה, ונבחנו יכולותיה. • ניתן לבצע משימות מונחות מצלמה on-board ע"י .microchip • נבחנו שיטות בקרה שונות לעקיבה אחר כדור בעזרת המצלמה. • מימוש של תוכנה מודולרית גנרית עבור פרוייקטים עתידיים. • אפשרויות לעתיד • לבצע משימות מורכבות תוך שימוש בעקיבת וידאו RT בעזרת המודולים שממשנו. • הוספת מודול RF לפלטפורמה ושליחת מידע אחורה אל תחנת בסיס (רובוט עוקב חשאי). • הדגמת סוגי הבקרות (P, PD ... ) לצורכי לימוד.
לצוות המעבדה על העזרה והתמיכה קובי ואורלי (וגם לאלון)