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

מעקב אחר 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", שיאפשר לך לסנן תגים קטנים.