דלג לתוכן הראשי

מעקב אחר AprilTags

מעקב אחר AprilTags מתבצע באמצעות ערכי "tx", "ty", ו-"ta" הסטנדרטיים. לא נדרשים שינויי קוד כדי לשדרג רובוט עם מעקב צבע/רטרורפלקטיבי ל-AprilTags. ניתן להשתמש גם ב-"botpose" ו-"campose" למעקב תלת-ממדי במרחב השדה ובמרחב המטרה.

לשימוש מתקדם יותר עם תגים מרובים, ניתן להשתמש בפלט ה-JSON.

התחלה מהירה ל-AprilTags ב-FRC

  • לשונית Input - שנה את "Pipeline Type" ל-"Fiducial Markers"

  • לשונית Input - השתמש ברזולוציה הגבוהה ביותר הזמינה למעקב תלת-ממדי, או השתמש ב-640x480 למעקב דו-ממדי בלבד.

  • לשונית Standard - ודא ש-"family" מוגדר ל-"AprilTag Classic 36h11"

  • לשונית Input - הגדר את "Black Level" לאפס

  • לשונית Input - הגדר את "Gain" ל-15

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

  • לשונית Standard - אם ברצונך להגביר את קצב הפריימים, הגדל את "Detector Downscale"

  • אם ברצונך להשתמש במעקב תלת-ממדי ומעקב דו-ממדי tx/ty בו-זמנית, הגדר את תג ה-ID בעל העדיפות דרך networktables כדי להגדיר את התג המועדף למעקב דו-ממדי.

  • לחץ על סמל "גלגל השיניים", וודא שמספר הקבוצה שלך מוגדר ושכתובת IP סטטית מוגדרת.

  • לחץ על "Change Team Number" ו-"Change IP Settings" אם שינית את ההגדרות המתאימות. בצע מחזור הפעלה לרובוט שלך.

  • סיימת! השתמש ב-"tx" ו-"ty" מ-networktables. העתק את דוגמת הקוד בעמוד "getting started".

טיפים

למעקב אידיאלי, שקול את הדברים הבאים:

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

יש יחסי גומלין בין המשתנים הבאים למעקב AprilTag:

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

לשונית Input

לשונית Input מכילה בקרות לשינוי תמונת המצלמה הגולמית לפני שהיא מועברת דרך צינור העיבוד. ראה את העמוד "בניית צינור רטרורפלקטיבי/צבע" לפרטים נוספים.

למעקב אחר AprilTags:

  • שנה את "Pipeline Type" ל-"Fiducial Markers"
  • הגדר את "Black Level" לאפס

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

לשונית Standard

Family

בוחר את סוג משפחת ה-fiducial/AprilTag. עבור FRC, עליך לבחור "AprilTag Classic 36h11"

Marker Size

קובע את הגודל הצפוי של התגים שהרובוט שלך יפגוש במ"מ. עבור FRC, זה צריך להיות מוגדר ל-165.1 (152.4 עבור תגי 2023)

Detector Downscale

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

ID Filters

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

Cropping

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

Multi-Target Sorting and Grouping

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