בדיקת spoonBot#
spoonBot הוא רובוט הינע דיפרנציאלי פשוט עם כף המחוברת לסרוו המאפשר לו לבצע פנייה אופקית והטיה. עיינו בעמוד spoonBot-Construction לקבלת מידע על בניית spoonBot. תוכנית הדוגמה המגיעה עם ההפצה האחרונה של cc3 מכילה קוד דוגמה הממחיש כיצד להזיז את spoonBot וכן להריץ את מצב ההדגמה של spoonBot. מצב ההדגמה של spoonBot דומה למצב ההדגמה של CMUcam2 אלא שהוא משתמש ב-spoonBot כדי לבצע פנייה אופקית והטיה.
כיול spoonBot#
לפני השימוש ב-spoonBot, עליך לכייל את הגדרות הסרוו שלך. הדבר נעשה על ידי הגדרת מבנה הנתונים הבא בראש main:
// SpoonBot Calibration Points
// Assume Left = Servo 0
// Assume Right = Servo 1
// Assume Spoon = Servo 2
my_cal.left_mid = 71;
my_cal.right_mid = 77;
my_cal.spoon_down = 100;
my_cal.spoon_mid = 202;
my_cal.spoon_up = 255;
my_cal.left_dir = 1;
my_cal.right_dir = -1;
my_cal.spoon_dir = 1;
// Set the calibration points
spoonBot_calibrate (my_cal);
צרוב את קושחת אמולציית cmucam2 אל המצלמה
פתחו את ה-Frame Grabber של CMUcam3 או תוכנת מסוף (Terminal)
באמצעות ה-Frame Grabber, עבור ללוח ”Settings“ וגרור את סרגלי הסרוו כדי לשנות ערכים
במסוף, הקלד ”sv <servo-id> <servo-value>“ כדי להגדיר את הסרוואים לדוגמה:
:sv 0 77 ACK
מצא את המיקום האמצעי של Servo 0 ו-1 על ידי כיוונם עד שהגלגלים נעצרים
my_cal.left_mid = <ערך מסרוו 0>
my_cal.righ_mid = <ערך מסרוו 1>
עכשיו עליכם למצוא את הסימן של הכיוונים
בהבטה על spoonBot מהגב (הכף לעברך) נסה להוריד את מספר סרוו 0 שאמור להיות הגלגל השמאלי
אם הסרוו מסתובב עם כיוון השעון / אחורה (לעברך) אז left_dir צריך להיות מוגדר ל-1
אם הסרוו מסתובב נגד כיוון השעון, left_dir צריך להיות מוגדר ל-1-
חזרו עבור servo 1 (שאמור להיות הגלגל הימני מנקודת המבט של spoonBot)
אם הסרוו מסתובב עם כיוון השעון / אחורה (לעברך) אז right_dir צריך להיות מוגדר ל-1
אם הסרוו מסתובב נגד כיוון השעון, right_dir צריך להיות מוגדר ל-1-
בדרך כלל, סרוו אחד צריך להיות מוגדר לשלילי!
עכשיו מצאו את מיקומי הכף המינימלי, האמצעי והמקסימלי על ידי כוונון Servo 2
Min צריך להיות הערך הקטן ביותר שדוחף את הכף מטה ובכך מטה את spoonBot קדימה
הגדירו את spoon_down בהתאם
Max הוא בדרך כלל 255 ואמור למקם את spoonBot במבט גבוה ככל האפשר
הגדירו את spoon_up בהתאם
Middle הוא הערך שמיישר את הסרוו
הגדירו את spoon_mid בהתאם
אם Min ו-Max נראים הפוכים, שנה את spoon_dir ל-1-
לאחר שהכיול הושלם, הידרו מחדש את הפרויקט ובצעו FLASH ל-CMUcam3. spoonBot יעבור תחילה רצף של תנועות מתוסרטות כדי לוודא שהסרוו-מנועים מוגדרים כראוי. לאחר מכן spoonBot ימתין ללחיצת כפתור כדי להתחיל לעקוב אחר צבע. טקסט מוצג דרך היציאה הטורית ומודיע לכם על השלבים השונים של הפעולה.
התנועה המתוסרטת צריכה להיות כדלקמן:
עמדו במקום
הבט למטה
הבט למעלה
חזרה למיקום האמצעי
סובבו בכיוון השעון (במבט מלמעלה)
סובבו נגד כיוון השעון
נורית ה-Red-Led כבויה בזמן שהמצלמה מתכוננת
נורית ה-Red-Led נדלקת כאשר מוכן למעקב
אם זה נראה נכון, אז נסה להחזיק עצם בצבע בהיר כמה סנטימטרים מול המצלמה ואז לחץ על הלחצן. כשאתה מרחיק את העצם, spoonBot אמור להסתובב לעברו. השתמש בעצמים בצבע בהיר שאחידים בצבעם ככל האפשר. עצם כמו בד אדום בהיר יעבוד היטב מכיוון שהוא מחזיר מעט מאוד אור (מלבד האדום הטהור). ודא שיש מספיק תאורה בחדר. נסה ללכוד פריים כדי לראות כיצד נראים התנאים.
הערה: אם ברצונך להשבית סרוואים מבלי לנתקם, נתק את servo-power-jumper.