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

סינון וסידור קווי מתאר

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

מצבי מיון

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

בשנת 2019, נוסף מצב המיון "הקרוב ביותר". מצב זה יבחר את המטרה הקרובה ביותר לכוונת הניתנת להגדרה.

שטח מטרה

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

מחוון השטח אינו מדורג באופן לינארי, אלא בסקאלה רביעית. זה נעשה כדי לספק דיוק נוסף בקרבת הקצה התחתון של ערכי השטח, שם נמצאות מטרות FRC רבות. שטח של ריבוע גדל באופן ריבועי עם אורך הצלע שלו, אך סקאלה של x^4 מספקת דיוק גדול אף יותר במקום שבו הוא נדרש.

מלאות המטרה

מלאות היא האחוז של פיקסלים "דלוקים" במלבן העוטף של קו המתאר הנבחר. מטרת מלבן מלא תהיה בעלת מלאות קרובה ל-1.0, בעוד שמטרה בצורת U תהיה בעלת מלאות נמוכה.

יחס גובה-רוחב של המטרה

יחס גובה-רוחב מוגדר על ידי רוחב המלבן העוטף של קו המתאר הנבחר מחולק בגובהו. יחס גובה-רוחב נמוך מתאר מלבן "גבוה", בעוד שיחס גובה-רוחב גבוה מתאר מלבן "רחב".

מחוון יחס הגובה-רוחב מדורג גם באופן ריבועי.

מסנן כיוון

דוחה קווי מתאר על בסיס הכיוון שלהם.

דחיית כתמים חכמה

דוחה קווי מתאר קטנים יחסית (להבדיל מקטנים באופן מוחלט עם מסנן השטח) שעברו דרך כל שאר המסננים. זה חיוני אם מטרה חייבת להישאר ניתנת למעקב מטווח קצר וארוך. תכונה זו הוצגה בעונת 2019 כדי לדחות החזרי LED של Limelight כאשר רובוטים היו קרובים מאוד למטרות.

קיבוץ מטרות

שולט ב"קיבוץ" מטרות. הגדר למצב כפול כדי לחפש "מטרות" המורכבות משתי צורות, או למצב משולש כדי לחפש מטרות המורכבות משלוש צורות.

קיבוץ מטרות חכם יכול לקבץ מספר משתנה של מטרות ולדחות חריגים. הוא נוסף ב-2022 כדי לסייע במעקב אחר מטרת ההאב העליון.

מסנן הצטלבות (מטרות כפולות בלבד)

דוחה קבוצות של קווי מתאר על בסיס האופן שבו הם היו מצטלבים אם היו מוארכים לאינסוף.

קיבוץ מטרות חכם

מקבץ אוטומטית מטרות שעוברות את כל מסנני המטרה האינדיבידואליים.

  • יקבץ דינמית כל מספר של מטרות בין -מינימום מחוון גודל קבוצה- ל-מקסימום מחוון גודל קבוצה-

דחיית חריגים

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

פלט

לשונית זו שולטת במה שקורה במהלך השלב האחרון של צינור הראייה

אזור מיקוד

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

לשלוח פינות גולמיות?

הגדר בקרה זו ל"כן" כדי לכלול מיקומי פינות ב-JSON, NetworkTables, ותוצאות API. כוונן את מספר הפינות המוגשות על ידי התאמת ערך "פישוט קו מתאר" בדף "סינון קו מתאר".

לשלוח JSON דרך NT?

הגדר בקרה זו ל"כן" כדי להגיש JSON דרך NetworkTables.

כיול כוונת

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

תלת-ממד

התנסה באומדן תנוחה מבוסס נקודות PnP כאן.

חשב תלת-ממד

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

כפה קמירות

השתמש באפשרות זו כדי לבחור רק את הפינות ה"חיצוניות ביותר" של מטרה עבור SolvePnP.

פישוט קו מתאר

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

שגיאה מקובלת

Limelight יחזיר מטרה רק אם היא עוברת מבחן הקרנה מחדש עם ציון מסוים בפיקסלים.

היסט-Z של המטרה

מכוון אוטומטית את ערך העומק התלת-ממדי של המטרה שלך (ציר-Z).