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

יומן שינויים ומשוב לתוכנה

שלחו דיווחי בעיות ובקשות לתכונות חדשות באמצעות דוא"ל או למאגר המשוב של Limelight

Limelight OS 2024.10 (9/4/24)

תמיכה ב-Limelight 3A עבור FTC

  • Limelight3A נתמך באופן מלא
  • 3A ניתן לשימוש הן ב-FTC והן ב-FTC

עדכוני מפת AprilTag

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

תמיכה ב-Limelight USB על ControlHub ו-RoboRio

  • קבוצות FTC יכולות להשתמש ב-Limelight אחד בעל יכולת USB על ה-Control Hub
  • קבוצות FRC יכולות להשתמש בעד 16 Limelights בעלי יכולת USB על ה-RoboRio. Limelights בחיבור USB מאכלסים אוטומטית את networktables בדיוק כמו Limelights בחיבור אתרנט.
    • כדי להשתמש במספר Limelights בחיבור USB, תנו לכל LL אינדקס USB ייחודי ושם מארח ייחודי.

שדרוגי קישוריות USB

  • MacOS כבר לא משתמש בממשק ה-USB Ethernet של Limelight לגישה לאינטרנט
  • Windows כבר לא מנסה להשתמש בממשק ה-USB Ethernet של Limelight לגישה לאינטרנט

עדכוני REST API

  • תיקון בקשת POST של update-robotorientation
  • MT2 כעת נגיש באופן מלא ללא NetworkTables
  • ברגע שנעשה שימוש בנתיב update-robotorientation, עדכוני כיוון ב-NetworkTables מושבתים עד לאתחול מחדש.

Limelight OS 2024.9.1 (7/7/24)

  • כלי בניית המפה כעת מקבל/ממיר פריסות apriltag בפורמט .json של WPILib
  • הוספת AprilTag3 לסקריפטי Snap של Python (from apriltag import apriltag)
  • ראו דוגמה במאגר הדוגמאות ב-GitHub
  • תיקון בעיית שער קישוריות USB ב-Windows.

צילום מסך של פסיפס:

Limelight OS 2024.9 (7/5/24)

שדרוגי MegaTag

  • Limelight OS עבר ל-NetworkTables 4.0

  • MegaTag2 משתמש כעת ב-getAtomic() של NT4 כדי לאחזר עדכוני IMU מתוזמנים מה-roboRIO.

  • מסגרות התמונה המתוזמנות שלנו מותאמות לשתי דגימות ה-IMU הרלוונטיות ביותר לפני ביצוע אינטרפולציה.

  • NT4 flush() נוסף ל-LimelightLib. הוספת Flush() לגרסאות ישנות יותר של Limelight OS תקרב אותך מאוד לביצועי 2024.9, אך NT4 מבטיח דיוק גבוה תמיד.

  • לרובוט המדמה של MT2 יש כעת פגושים ירוקים, ולרובוט המדמה של MT1 יש פגושים צהובים.

  • המדדים ניתנים כעת לכיווץ, וניתן להסתיר את הרובוטים הווירטואליים.

  • הסרטון הבא מדגים כיצד MegaTag 2 של 2024.9 (רובוט ירוק) עם flush() בצד הרובוט הוא יותר חסין מ-MegaTag2 של 2024.5 ללא Flush() (רובוט אדום)

מזהה USB וכתובות IP חדשות ל-USB

  • הגדר את "מזהה USB" בדף ההגדרות כדי להשתמש במספר Limelight USB בכל מערכת.
  • ממשק ה-USB-Ethernet שמופיע במערכת שלך ישתמש בכתובת IP שנקבעת על ידי מזהה ה-USB
  • מערכות Linux/Android/Mac ישתמשו כעת ברשת המשנה 172.29.0.0/24 כברירת מחדל
  • מערכות Windows ישתמשו כעת ברשת המשנה 172.28.0.0/24 כברירת מחדל.
  • אם מוגדר USBID, רשת המשנה משתנה ל-172.29.(USBID).0/24 עבור Linux/Android/Mac ו-172.28.(USBID).0/24 עבור Windows.
  • כעת תוכל, לדוגמה, לחבר ארבעה מכשירי Limelight לרכזת USB אחת על ידי התאמת שמות המארח ומזהי ה-USB שלהם

מסווגים נוירונים ל-CPU

  • העלה מסווג .tflite ל-CPU כדי לאפשר סיווג נוירוני ללא Google Coral. תוכל לצפות ל-15-18 FPS בגרסאות LL3.
  • 2024.9 מגיע עם מסווג CPU כברירת מחדל.
  • הגדר את סביבת הריצה של המסווג ל-"CPU" כדי להפעיל תכונה זו

גלאים נוירונים ל-CPU

  • העלה גלאי .tflite ל-CPU כדי לאפשר זיהוי נוירוני ללא Google Coral. תוכל לצפות ל-10 FPS בגרסאות LL3.
  • 2024.9 מגיע עם גלאי CPU כברירת מחדל.
  • הגדר את סביבת הריצה של הגלאי ל-"CPU" כדי להפעיל תכונה זו

Limelight OS 2024.8 (7/3/24)

  • הוספת פלט פייתון (PythonOut), tx, ty, txnc, tync, ta לאובייקט תוצאות ה-JSON
  • שיפור נוסף בפיצוי על השהיה ב-MT2

Limelight OS 2024.7 (21/5/24)

  • שדרוג ל-Linux 6.6

תיקוני באגים

  • תיקון המרת צינור הראייה
  • תיקון העלאות כיול, העלאות תמונות מצב, והעלאות רשתות עצביות

Limelight OS 2024.6 (5/8/24)

LimelightLib Python

  • pip install limelightlib-python
  • הספרייה שלנו ב-Python מאפשרת לכם לתקשר עם Limelights בחיבור USB ואתרנט בכל פלטפורמה.
  • היא מאפשרת הגדרה מלאה של Limelight ללא צורך בממשק משתמש אינטרנטי.
  • העלאת צינורות (pipelines), רשתות נוירונים, מפות שדה, וכו'
  • ביצוע שינויים בזמן אמת לכל פרמטר של צינור עם אפשרות "שמירה לדיסק"
  • שליחת נתוני קלט Python מותאמים אישית, הגדרת כיוון הרובוט, ועוד.

שדרוגי MegaTag2

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

מדדי סטיית תקן

  • המדמה התלת-ממדי של השדה כולל כעת סטיות תקן של MegaTag1 ו-Megatag2 עבור x, y, ו-yaw.

סוג צינור חדש: "מיקוד"

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

סוג צינור חדש: "ברקודים"

  • זיהוי ופענוח של מספר קודי QR ב-50-60FPS ברזולוציה של 1280x800
  • זיהוי ופענוח של מספר DataMatrix ב-50-60FPS ברזולוציה של 1280x800
  • זיהוי ופענוח של מספר UPC, EAN, Code128, ו-PDF417 ב-30FPS ברזולוציה של 1280x800
  • מחרוזות נתוני הברקוד מפורסמות למערך nt "rawbarcodes".
  • צינור הברקודים ימלא את כל המדדים הדו-ממדיים כגון tx, ty, ta, tcornxy, וכו'.

ממשק REST API חדש לחלוטין

  • https://docs.limelightvision.io/docs/docs-limelight/apis/rest-http-api
  • ממשק ה-REST / HTTP API שלנו נבנה מחדש מהיסוד.
  • ממשק ה-REST API מאפשר הגדרה מלאה של Limelight ללא צורך בממשק משתמש אינטרנטי.
  • העלאת צינורות, רשתות נוירונים, מפות שדה, וכו'
  • ביצוע שינויים בזמן אמת לכל פרמטר של צינור עם אפשרות "שמירה לדיסק"
  • שליחת נתוני קלט Python, הגדרת כיוון הרובוט, ועוד.

הסרת הגדרת כיוון המצלמה מממשק המשתמש (שינוי שובר תאימות)

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

הסרת תמיכה ב-GRIP (שינוי שובר תאימות)

הסרת מצב "נהג" ללא עיבוד (שינוי שובר תאימות)

  • זה הוחלף בסוג הצינור "Viewfinder"

הוספת סוג צינור "Viewfinder"

  • צינור ה-Viewfinder מבטל את כל העיבוד לשהייה מינימלית
  • זה מאפשר לקבוצות לעצב צינורות "נהג" משלהן למצבי תצוגה בלבד

קבצי צינור משתמשים כעת בפורמט JSON (שינוי שובר תאימות)

  • צינורות עדיין משתמשים בסיומת קובץ .vpr
  • (שבור במקרים מסוימים ב-2024.6) הממשק ימיר אוטומטית צינורות ל-JSON כאשר תשתמשו בכפתור "העלאה".
  • (פועל באופן מלא) תוכלו גם להשתמש ב-https://tools.limelightvision.io/pipeline-upgrade כדי לשדרג את הצינורות שלכם

שיפור חוויית המשתמש בכיול

  • הגדרות הכיול נשמרות כעת במטמון. אינכם צריכים להזין את הגדרות הכיול שלכם בכל פעם שאתם רוצים לכייל.
  • מילון הכיול הדיפולטי עודכן כדי לעבוד עם לוח הכיול הגס המומלץ בגודל 800x600 מ"מ מ-Calib.io.

פסיפס כיול

  • בעבר, היה קשה לקבוע את איכות תמונות הכיול
  • בלשונית הכיול יש כעת כפתור "הורד פסיפס כיול". הפסיפס יראה לכם בדיוק מה כל תמונה תורמת לכיול שלכם.

צילום מסך של פסיפס:

אזור מיקוד "מרכז כובד"

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

קיזוז תלת-ממדי דינמי (NT: fiducial_offset_set)

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

הוספת תמיכה ב-Modbus

  • ל-Limelight OS יש כעת שרת modbus פעיל תמיד עבור בדיקה, לוגיסטיקה ויישומים תעשייתיים
  • ראו את מפרט הרגיסטרים של modbus כאן: https://docs.limelightvision.io/docs/docs-limelight/apis/modbus
  • ניתן לשנות את פורט שרת ה-modbus הדיפולטי בלשונית ההגדרות בממשק המשתמש
  • באמצעות modbus וצינורות python של snapscript, כעת נתמכים יישומי ראייה מותאמים אישית לחלוטין עם תקשורת דו-כיוונית.

שרת NT מותאם אישית

  • לשונית ההגדרות מכילה כעת כניסה עבור שרת NT מותאם אישית.
  • זה מאפשר זרימת עבודה חדשה הכוללת שרת NT זכוכית הרץ על מחשב, ו-Limelight 3G מתקשר דרך USB.

שינויים ב-Rawfiducial

  • ערך ה"שטח" של raw fiducials הוא כעת ערך מכויל ומנורמל הנע בין ~0-1

כל השינויים ב-NetworkTables ו-JSON

  • הוספת NT getpipetype - קבלת מחרוזת סוג הצינור הנוכחי (למשל pipe_color, pipe_fiducial)

  • הוספת NT tcclass - שם המחלקה שזוהתה בצינור המסווג

  • הוספת NT tdclass - שם המחלקה שזוהתה בצינור הגלאי

  • הוספת NT t2d עבור מיקוד דו-ממדי אטומי מובטח - [valid,targetcount, targetlatency, capturelatency, tx, ty, txnc, tync, ta, targetid, classifierID, detectorID, tlong, tshort, thor, tvert, ts(skew)]

  • הסרת NT tlong, tshort, thor, tvert, ו-ts

  • הוספת מערך NT 'crosshairs' [cx0,cy0,cx1,cy1]

  • הסרת NT cx0, cy0, cx1, ו-cy1

  • הוספת NT rawbarcodes - מערך מחרוזות NT של נתוני ברקוד. עד 32 ערכים.

  • כל המערכים ה"גולמיים" מאפשרים עד 32 מטרות (במקום 8)

  • הוספת fiducial_offset_set מגדיר קיזוז תלת-ממדי דינמי

  • הוספת "pType" לתוצאה ברמה העליונה של json

  • הוספת "stdev_mt1" ו-"stdev_mt2" לתוצאה ברמה העליונה של json (x,y,z,roll,pitch,yaw) (מטרים, מעלות)

שינויים בפורמטים אחרים של קבצים ו-JSON Dumps

  • פורמט קובץ הכיול פושט. כיולים ישנים מומרים אוטומטית לפורמט החדש בעת העלאה
  • שכבה אחת של קינון הוסרה מ-JSON dumps של תוצאות וסטטוס

תיקוני באגים

  • בעבר, אם Google Coral נותק בזמן שצינור נוירוני היה פעיל, הצינור היה חוזר באופן קבוע למצב "צבע/רטרו"
    • כעת, "CHECK CORAL" או "CHECK MODEL" יודפס על התמונה. סוג הצינור לעולם לא ישתנה
  • בעבר, תגים שעברו בהצלחה את מסנן זיהוי ה-fiducial לפעמים צוירו עם מתאר אדום במקום מתאר ירוק. בעיית הויזואליזציה הזו תוקנה.
  • צינורות Apriltag ממלאים את מערך NT tcornxy
  • צינורות Apriltag כעת מכבדים באופן מלא את מחוון השטח המינימלי-מקסימלי. בעבר, צינורות AprilTag היו מסננים תוצאות דו-ממדיות על בסיס שטח התג, אך לא תוצאות תלת-ממדיות / מיקום.

Limelight OS 2024.5.0 (4/9/24)

  • שדרוג ל-Linux 6.1

עדכון מערך המצלמה

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

שינוי קנה מידה דינמי

  • קבוצות יכולות כעת להגדיר "fiducial_downscale_set" כדי לעקוף את הגדרת שינוי קנה המידה הנוכחית של הצינור
  • 0:שליטת ממשק משתמש, 1:1x, 2:1.5x, 3:2x, 4:3x, 5:4x
  • השתמשו בשיטת העזרים החדשה עם 0.0 (שליטת ממשק משתמש), 1.0, 1.5, 2.0, 3.0, 4.0
  • זוהי פעולה ללא תקורה.
  • על ידי שילוב של שינוי קנה מידה דינמי וחיתוך דינמי, קבוצות יכולות למקסם FPS מבלי לנהל מספר צינורות

שיפורים ב-MegaTag2

  • MT2 עובד כעת ללא קשר לכיוון ה-Limelight, כולל מצבי "דיוקן" עם גלגולים של 90 מעלות ו-90 מעלות שליליות

מערך "rawdetections" nt

  • [classID, txnc, tync, ta, corner0x, corner0y, corner1x, corner2y, corner3x, corner3y, corner4x, corner4y]
  • הפינות הן במרחב פיקסלים ללא כיול מיושם

עדכון Erode/Dilate

  • צינורות צבע תומכים כעת בעד 10 שלבים של הרחבה ו-10 שלבים של כרסום
  • לצינורות צבע יש כעת אפשרות "reverse morpho" להפוך את סדר שלבי ההרחבה והכרסום

LimelightLib 1.6 (9/4/24)

  • הוספת void SetFiducialDownscalingOverride(float downscale)

הגדר ל-0 עבור בקרת צינור, או אחד מהערכים הבאים כדי לעקוף את הגדרת הקטנת הקנה מידה של הצינור שלך: 1, 1.5, 2, 3, 4

  • הוספת RawFiducial[] GetRawFiducials()
  • הוספת RawDetection[] GetRawDetections()

Limelight OS 2024.4.0 (4/3/24)

תודה לכל הצוותים שתרמו רעיונות לעדכון זה.

Megatag 2

Megatag 2 הוא מאתר מיקום ללא עמימות. הוא בעל דיוק גבוה יותר ודיוק גבוה יותר מ-Megatag1, והוא נבנה עם הדרישות הבאות:

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

שימו לב להבדל בין MegaTag2 (רובוט אדום) ל-Megatag (רובוט כחול) במקרה של תג בודד זה עם עמימות גבוהה:

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

      LimelightHelpers.SetRobotOrientation("limelight", m_poseEstimator.getEstimatedPosition().getRotation().getDegrees(), 0, 0, 0, 0, 0);
LimelightHelpers.PoseEstimate mt2 = LimelightHelpers.getBotPoseEstimate_wpiBlue_MegaTag2("limelight");
if(Math.abs(m_gyro.getRate()) > 720) // אם המהירות הזוויתית שלנו גדולה מ-720 מעלות לשנייה, התעלם מעדכוני ראייה
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}
if(!doRejectUpdate)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.6,.6,9999999));
m_poseEstimator.addVisionMeasurement(
mt2.pose,
mt2.timestampSeconds);
}

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

סינון דינמי של Apriltag

  • מכיוון ש-MegaTag2 אינו נואש לצבור כמה שיותר AprilTags, אתה יכול לסנן בבטחה עבור תגים ממוקמים היטב ורלוונטיים:
int[] validIDs = {3,4};
LimelightHelpers.SetFiducialIDFiltersOverride("limelight", validIDs);

מעבר ל-MegaTag2

Megatag2 דורש את כיוון הרובוט שלך כדי לעבוד כראוי. כיוון של 0 מעלות, 360 מעלות, 720 מעלות וכו' משמעותו שהרובוט שלך פונה לקיר הברית האדומה. זוהי אותה מוסכמה המשמשת ב-PathPlanner, Chorero, Botpose, ו-Botpose_wpiblue.

לאחר שהוספת את SetRobotOrientation() לקוד שלך, בדוק את המדמה התלת-ממדי המובנה. בטווח קרוב, Megatag2 ו-Megatag1 צריכים להתאים בקירוב אם לא בדיוק. בטווח ארוך, Megatag 2 (רובוט אדום) צריך להיות מדויק יותר ויציב יותר מ-Megatag1 (רובוט כחול).

ברגע שהמדמה המובנה מראה תוצאות טובות, אתה יכול להשתמש בבטחה ב-Megatag2 כדי להנחות את הרובוט שלך במהלך תקופת האוטונומיה.

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

מאגר הדוגמאות כולל דוגמה של Megatag2 עם סינון זה.

    if(Math.abs(m_gyro.getRate()) > 720) // אם המהירות הזוויתית שלנו גדולה מ-720 מעלות לשנייה, התעלם מעדכוני ראייה
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}

LimelightLib 1.5 (4/3/24)

הוסף

getBotPoseEstimate_wpiRed_MegaTag2()
getBotPoseEstimate_wpiBlue_MegaTag2()
SetRobotOrientation()

Limelight OS 2024.3.4 (20/03/24)

תודה לכל הצוותים שתרמו רעיונות לעדכון זה.

פותר תג בודד בדיוק גבוה יותר

פותר התג הבודד התלת-ממדי של MegaTag שופר. הוא הרבה יותר יציב מבעבר בטווחים ארוכים.

JSON מושבת כברירת מחדל (שינוי משמעותי)

  • JSON הושבת כברירת מחדל כדי להפחית את השימוש ברוחב פס ובאופן גורף עבור צוותים המשתמשים בלוחות מחוונים עם מנוי אוטומטי כמו Shuffleboard.
  • זה אמור גם להפחית את העומס על NT של RoboRIO ואת השימוש ב-CPU.
  • הפעל מחדש json לכל צינור בכרטיסיית הפלט.
  • עדכון זה כולל שינויים שאמורים לאפשר ליותר צוותים לעבור מ-JSON לאומדן תנוחה.

שטח לא מעוות (שינוי משמעותי)

הפינות מיושרות לפני חישוב השטח של כל מטרה.

כלול מדדים לכל סמן ב-botpose, botpose_wpiblue, ו-botpose_wpired

[tx, ty, tz, roll, pitch, yaw, tagCount, tagSpan (מטרים), averageDistance (מטרים), averageArea (אחוז מהתמונה), (תגים)]

עבור כל תג המשמש לאיתור MegaTag, המערכים לעיל כוללים כעת (tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)

עמימות היא מדד חדש הנע בין 0-1 המציין את העמימות של הפרספקטיבה הנוכחית של התג. כדאי כנראה לדחות עדכוני תג בודד עם עמימות תג > 0.9.

מערכי "rawtargets" ו-"rawfiducials" ב-NT (שינוי משמעותי)

  • rawtargets - (txnc,tync,ta) לכל מטרה
  • rawfiducials - (tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity) לכל מטרה
  • רשומות ה-NT הקודמות של rawtargets (tx0,ty0, וכו') הוסרו.

תיקוני באגים

  • איפוס כל המידע התלת-ממדי של תג בודד אם ה-priorityID לא נמצא. בעבר, רק Tx, Ta, Ty, ו-Tv אופסו כאשר תג העדיפות לא נמצא
  • איפוס botpose אם התג הנראה היחיד סונן על ידי תכונות "מסנני ID" של ממשק המשתמש. בעבר, botposes היו מתאפסים למרכז המגרש במקום ל-(0,0,0) אם התג הנראה היחיד היה תג מסונן
  • גרסה 2024.2 הייתה מפרסמת NANs לרשומות networktables מסוימות במקרים נדירים. זה לא יקרה יותר.

LimelightLib 1.4 (21/3/24)

  • הוספת תמיכה ב-Raw Fiducials של 2024.3.4. PoseEstimates כוללים כעת מערך של rawFiducials המכילים id, txnc, tync, ta, distanceToCamera, distanceToRobot, ו-ambiguity

מנהל החומרה של Limelight 1.4 (18/3/24)

תיקון באג

Limelight מסוג USB שהתגלו מוצגים כעת כרשומה בודדת במקום שתי רשומות חלקיות.


Limelight OS 2024.2.2 (17/3/24)

תיקון באג

TX ו-TY מכבדים כראוי את הצלב בכניסות NT.


Limelight OS 2024.2 (8/3/24)

כיוון ללא צלב (Zero-Crosshair) עם Json (tx_nocross, ty_nocross) ו-NT (txnc, tync)

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

שינוי שעלול לשבור פונקציונליות ב-tx/ty

באג הוכנס מוקדם יותר בעונה זו ששבר את הכיול המותאם אישית ספציפית עבור tx, ty, ו-tx + ty ב-json. Limelight OS חזרה לכיולי ברירת המחדל במספר מקרים.

שדרוגי כיול

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

אנו מקבלים באופן עקבי שגיאת הקרנה מחדש של כפיקסל אחד עם 15-20 תמונות של מטרות נייר, ושגיאה של 0.3 פיקסלים עם מטרות calib.io האיכותיות שלנו.

תיקון ממשק משתמש למסנני Fiducial

תיבת הטקסט של מסנן Fiducial מקבלת כעת כל מספר של מסננים.

שונות

מחולל Apriltag מוגדר כברירת מחדל ל"ללא גבול" כדי למנוע שינוי קנה מידה עם תגיות של 165.1 מ"מ.

Limelight OS 2024.1.1 (24/2/24)

  • תיקון priorityID

Limelight OS 2024.1 (24/2/24)

מדדי חומרה (מפתח hw ב-networktables, בקשת GET ל-/status)

שיפור כיול

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

שיפור מיקום רובוט (ספירת תגים ועוד)

  • כל מערכי botpose ב-networktables (botpose, botpose_wpiblue, ו-botpose_wpired) כוללים כעת ספירת תגים, מרווח תגים (מטרים), מרחק ממוצע (מטרים), ושטח ממוצע (אחוז מהתמונה)

  • מדדים אלה מחושבים עם תגים הכלולים במפת השדה שהועלתה. תגי AprilTag מותאמים אישית ו/או ניידים לא ישפיעו על מדדים אלה.

  • עם כיול המכשיר ושדרוג מערך botpose זה, אנו לא מאמינים ש-JSON נחוץ עבור הרוב המכריע של מקרי השימוש השנה.

  • הדפסת JSON כוללת כעת botpose_avgarea, botpose_avgdist, botpose_span, ו-botpose_tagcount לנוחות.

[tx,ty,tz,rx,ry,rz,latency,tagcount,tagspan,avgdist,avgarea]

תכונה חדשה: מזהה עדיפות (מפתח NT priorityid)

  • אם הרובוט שלך משתמש גם בתכונות מבוססות אודומטריה וגם בתכונות מבוססות tx/ty, כנראה נתקלת בבעיית UX הבאה:

  • לפני עדכון זה, לא הייתה דרך קלה להחליף את מזהה התג המועדף עבור מיקוד tx/ty.

  • בעוד שיש מסנן מזהה בממשק המשתמש, הוא

    • אינו דינמי
    • מסיר תגים ממיקום megaTag.
  • זה גרם לקבוצות ליצור מספר צינורות: אחד למיקום תלת-ממדי, ואחד לכל תג tx/ty (צינור אחד לירי בצד כחול עם תג 7, אחד להגברה בצד כחול עם תג 6, וכו').

  • תכונת מזהה העדיפות החדשה (מפתח NT priorityid) מאפשרת לך לומר ל-Limelight שלך "לאחר כל זיהוי, סינון ומיון של תגים, התמקד בתג שתואם את מזהה העדיפות."

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

  • אם מזהה העדיפות שלך אינו -1, tx/ty/ta יחזירו 0 אלא אם התג הנבחר גלוי.

שונות

  • תיקון ה-"x" על פני המסך בעת שימוש במצב מטרה כפולה בצינור apriltag תלת-ממדי
  • הרחבת ממשק REST API עם העלאות תוויות רשת עצבית (/uploadlabels)
  • הכללת כינוי המכשיר ב-JSON של /status

LimelightLib 1.3

  • LimelightLib (Java ו-CPP) עודכנו כדי להקל על המיקום יותר מאי פעם.
  LimelightHelpers.PoseEstimate limelightMeasurement = LimelightHelpers.getBotPoseEstimate_wpiBlue("limelight");
if(limelightMeasurement.tagCount >= 2)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.7,.7,9999999));
m_poseEstimator.addVisionMeasurement(
limelightMeasurement.pose,
limelightMeasurement.timestampSeconds);
}

משאבים חדשים לקבוצות

מעקב משוב ובעיות של Limelight: https://github.com/LimelightVision/limelight-feedback/issues

מאגר דוגמאות: https://github.com/LimelightVision/limelight-examples

דוגמה לכיוון וטווח עם Swerve: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-aiming-and-ranging

דוגמה למיקום MegaTag: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-pose-estimation

תודה לתורמים האחרונים jasondaming, Gold876, JosephTLockwood, Andrew Gasser, ו-virtuald


עדכוני Limelight 2024 (6/2/24)

שדרוג תיעוד Limelight

  • התיעוד נכתב מחדש כדי לייעל את תהליך ההתקנה

מחולל AprilTag של Limelight

  • https://tools.limelightvision.io/ מציג כעת את מחולל ה-AprilTag המקוון הראשון מסוגו.
  • בחר את גודל הנייר, גודל הסמן ומזהי התגים כדי ליצור קובץ PDF להדפסה.
  • ייתכן שדפדפן Safari לא יציג את התגים כראוי בשלב זה.

בונה מפות Limelight

  • https://tools.limelightvision.io/map-builder
  • כעת תוכלו לבנות מפות AprilTag מותאמות אישית עם ממשק משתמש אינטואיטיבי.
  • משפחת ברירת המחדל וגודל התג עודכנו כדי להתאים לשדה של 2024.

מנהל החומרה החדש

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

אמן את הרשתות העצביות שלך

צילום מסך של המחברת:

2024 גלאי מפה ופתקים של AprilTag

  • המפה ומודל הגלאי נוספו לדף ההורדות ולתמונת מערכת ההפעלה העדכנית ביותר של Limelight.

Limelight OS 2024.0 (6/2/24)

תיקוני כיול ChArUco

  • הדיוק התת-פיקסלי של גלאי ה-ChArUco שלנו שופר. כעת ניתן להשיג שגיאת הקרנה מחדש של 1-2 פיקסלים עם מטרות לוח כתיבה ו-20 תמונות.
  • באמצעות אותה מצלמה ואותה מטרה, 2023.6 השיג RPE של 20 פיקסלים, ו-2024.0 השיג RPE של 1.14 פיקסלים.
  • שדות הקלט אינם מקבלים יותר אותיות ותווים מיוחדים. זה מבטל את האפשרות לקריסה.

שיפור דיוק Megatag מחוץ לקופסה

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

שדרוגי ביצועים ותיקוני באגים

  • צינורות AprilTag עם FPS גבוה יותר
  • הביצועים של מדמה מרחב השדה שופרו משמעותית.

תיקוני באגים

  • תגי Apriltag במדמים תלת-ממדיים הוצגו לעתים עם תמונות תג שגויות או פגומות. התגים מוצגים כעת תמיד בצורה נכונה.
  • "v" / tv / "valid" יחזירו כעת "1" רק אם יש זיהויים תקפים. בעבר, tv היה תמיד "1"

2023.6 (18/04/23)

כיול ChArUco קל ומציגי כיול

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

2023.5.1 & 2023.5.2 (22/3/23)

  • תוקנה רגרסיה שהוצגה ב-2023.5.0 - בעוד ש-2023.5 תיקן את ה-megatag עבור כל הפריסות הלא-מישוריות, הוא הפחית את הביצועים של הערכות תנוחה של תג בודד. זה תוקן. הערכות תנוחה של תג בודד משתמשות באותו פותר בדיוק שהיה בשימוש ב-2023.4.

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

  • Limelight Yaw מוצג כעת כראוי במדמים התלת-ממדיים. הוא חיובי נגד כיוון השעון במדמה ובאופן פנימי.

  • מציין אילו מטרות נעקבות כרגע במדמה של שטח המגרש.


2023.5.0 (21/03/23)

שינויים משמעותיים

  • תוקנה רגרסיה - "Yaw" במרחב הרובוט של Limelight היה הפוך בגרסאות קודמות. כעת ה-yaw בממשק המשתמש של האינטרנט הוא חיובי נגד כיוון השעון באופן פנימי.

עדכון בחירת אזור

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

ממשק REST API של "hwreport"

  • :5807/hwreport יחזיר תגובת JSON המפרטת מידע על מאפייני המצלמה הפנימיים ועיוות.

תיקון MegaTag

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

דיוק גבוה יותר של tx ו-ty

  • TX ו-TY מדויקים יותר מאי פעם. המטרות מתוקנות לחלוטין מעיוות, ושדה הראייה נקבע לחלוטין על ידי מאפייני המצלמה הפנימיים.

2023.4.0 (18/02/23)

מסנן סוגי מחלקות לגלאי העצבי

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

תמיכה מורחבת בגלאי העצבי

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


2023.3.1 (14/02/23)

שיפורים בדיוק AprilTag

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

העלאת גלאי

תוקנה בעיה בהעלאת גלאי.


2023.3 (13/02/23)

זמן לכידה (מפתח NT: "cl", תוצאות JSON: "cl")

ערך זמן הלכידה החדש מייצג את הזמן שבין סוף החשיפה של השורה האמצעית בחיישן התמונה של Limelight לבין תחילת צינור העיבוד.

סף איכות חדש עבור AprilTags

AprilTags מזויפים מסוננים כעת ביתר קלות באמצעות מחוון סף האיכות החדש. ערך ברירת המחדל שנקבע ב-2023.3 אמור להסיר את רוב הזיהויים המזויפים.

עקיפת תנוחת המצלמה במרחב הרובוט (מפתחות NT: "camerapose_robotspace_set", "camerapose_robotspace")

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

הנה דוגמה של Limelight על מעלית: Limelight על מעלית

זמן חשיפה מקסימלי מוגדל

זמן החשיפה המקסימלי הוא כעת 33 אלפיות שנייה (במקום 12.5 אלפיות שנייה). מצבי לכידה בקצב פריימים גבוה עדיין מוגבלים ל-(1/fps) שניות. צינורות של 90 הרץ, לדוגמה, לא יפיקו תמונות בהירות יותר מעבר לזמן חשיפה של 11 אלפיות שנייה.

עדכוני Botpose

לכל שלושת מערכי ה-botpose ב-networktables יש כעת ערך שביעי המייצג את הזמן הכולל (זמן לכידה + זמן מיקוד).

תיקוני באגים

  • תיקון זרמי MJPEG של LL3 ב-shuffleboard
  • תיקון camMode - מצב נהג מפיק כעת תמונות בהירות ושמישות
  • תווית החשיפה תוקנה - כל "תו" מייצג 0.01 אלפיות שנייה ולא 0.1 אלפיות שנייה
  • תיקון העלאת גלאי רשת עצבית

2023.2 (28/1/23)

הופכים את התלת-מימד לקל מתמיד.

Botposes תואמי WPILib

השימוש ב-Botpose כעת קל יותר מאי פעם.

אלה תואמים למערכות הקואורדינטות של WPILib. דוגמה ל-botpose של megatag:

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

גישה קלה יותר לנתוני תלת-מימד (שינויים שוברי תאימות)

RobotPose במרחב המטרה הוא כנראה הנתון השימושי ביותר שיוצא מ-Limelight בהקשר של AprilTags. באמצעות זה בלבד, ניתן ליישר בצורה מושלמת מערכת הנעה עם AprilTag בשדה.

  • מפתח NetworkTables "campose" הוא כעת "camerapose_targetspace"
  • מפתח NetworkTables "targetpose" הוא כעת "targetpose_cameraspace"
  • מפתח NetworkTables חדש - "targetpose_robotspace"
  • מפתח NetworkTables חדש - "botpose_targetspace"

העלאת רשת נוירונים

העלו מודלים של teachable machine למסלול המסווג של Limelight. ודאו שהם מודלים תואמי Tensorflow Lite EdgeTPU. העלו קבצי .tflite ו-.txt של תוויות בנפרד.


2023.1 (19/1/23)

MegaTag ושיפורי ביצועים

תיקון טעות

פרמטר גודל הסמן המוגדר כברירת מחדל בממשק המשתמש תוקן ל-152.4 מ"מ (במקום 203.2 מ"מ). זה היה המקור לרוב בעיות הדיוק.

יציבות מעקב משופרת

ישנן מספר דרכים לכוונן את זיהוי ופענוח AprilTag. שיפרנו את היציבות באופן כללי, במיוחד בסביבות עם תאורה נמוכה / חשיפה נמוכה.

המרה לגווני אפור במהירות גבוהה

ההמרה לגווני אפור מהירה פי 3-6 מבעבר. הקבוצות תמיד יראו זרם וידאו אפור בעת מעקב אחר AprilTags.

חיתוך לשיפור ביצועים

לצינורות AprilTag יש כעת מחוונים לחיתוך. חיתוך התמונה יביא לשיפור קצב הפריימים בכל רזולוציה.

סינון קל יותר

יש כעת שדה "מסנן ID" יחיד בצינורות AprilTag אשר מסנן פלט JSON, תגיות מאופשרות botpose, ותגיות מאופשרות tx/ty. ההגדרה הכפולה של המסננים הייתה בעייתית ומבלבלת.

שינוי משמעותי

מפתח NT "camtran" הוא כעת "campose"

עדכון JSON

"botpose" הוא כעת חלק מפלט ה-JSON

עדכון מדמה מרחב השדה

מדמה מרחב השדה מציג כעת את שדה FRC 2023. כעת צריך להיות קל יותר לשפוט את דיוק ה-botpose במבט חטוף.

Limelight MegaTag (botpose חדש)

העדיפות העליונה שלי הייתה לכתוב מחדש את botpose לדיוק גדול יותר, רעש מופחת, ועמידות לדו-משמעות. היישום החדש של botpose של Limelight נקרא MegaTag. במקום לחשב botpose עם ממוצע פשוט של מספר תנוחות מרחב שדה בודדות, MegaTag למעשה משלב את כל התגיות לתג 3D ענק אחד עם מספר נקודות מפתח. לכך יש יתרונות עצומים.

ה-GIF הבא מציג מצב שתוכנן לגרום להיפוך תגיות: גליל ירוק: תנוחת בוט לכל תג בנפרד גליל כחול: BotPose של 2023.0.1 גליל לבן: Botpose החדש של MegaTag

שימו לב כיצד ה-botpose החדש (גליל לבן) יציב מאוד בהשוואה ל-botpose הישן (גליל כחול). אתם יכולים לצפות גם בערכי tx ו-ty.

הנה המסך המלא, המציג את הדו-משמעות של התג:

הנה היתרונות:

Botpose כעת עמיד לדו-משמעויות (היפוך תגיות) אם יותר מתג אחד נראה (אלא אם הם קרובים ומישוריים. באופן אידיאלי נקודות המפתח אינן מישוריות). Botpose כעת עמיד יותר לרעש בפינות התגים אם יותר מתג אחד נראה. ככל שהתגים רחוקים יותר זה מזה, כך טוב יותר. זה לא מוגבל לתגים מישוריים. זה מתרחב לכל מספר של תגים ב-3D מלא ובכל כיוון. תגי רצפה ותגי תקרה יעבדו בצורה מושלמת.

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

העלאת הרשת העצבית נדחית ל-2023.2!

2023.0.0 ו-2023.0.1 (11/1/23)

מציג AprilTags, איתור רובוט, רשתות עצביות עמוקות, ממשק צילום מסך משוכתב, ועוד.

תכונות, שינויים ותיקוני באגים

  • צינור לכידת חיישן חדש ובקרת רווח
    • צינור הלכידה החדש שלנו מאפשר זמני חשיפה קצרים פי 100 ממה שהיו ב-2022. הצינור החדש מאפשר גם בקרת רווח. זה חשוב מאוד למעקב אחר AprilTags, וישמש להפוך את המיקוד הרטרו-רפלקטיבי לאמין יותר מאי פעם. לפני Limelight OS 2023, הרווח של חיישן Limelight היה לא דטרמיניסטי (יישמנו כמה טריקים כדי לגרום לזה לעבוד בכל זאת).
    • עם מחוון "רווח חיישן" החדש, קבוצות יכולות להפוך תמונות לכהות או בהירות יותר מאי פעם מבלי לגעת במחוון החשיפה. הגדלת הרווח תגדיל את הרעש בתמונה.
    • בשילוב רווח נמוך יותר עם זמני החשיפה הנמוכים החדשים, ניתן כעת ליצור תמונות כמעט שחורות לחלוטין עם נורות LED בבהירות מלאה ומטרות רטרו-רפלקטיביות. זה יעזור למתן השתקפויות LED ושמש בעת מעקב אחר מטרות רטרו-רפלקטיביות.
    • על ידי הגדלת רווח החיישן והפחתת החשיפה, קבוצות יוכלו למזער את ההשפעות של טשטוש תנועה בגלל זמני חשיפה גבוהים בעת מעקב אחר AprilTags.
    • הצלחנו לפתח את הצינור החדש הזה תוך שמירה על כל התכונות - 90fps, זום חומרה, וכו'.
  • אפשרויות רזולוציה נוספות
    • יש שתי רזולוציות לכידה חדשות עבור LL1, LL2, ו-LL2+: 640x480x90fps, ו-1280x960x22fps
  • ממשק אינטרנט מותאם
    • ממשק הגרפי של האינטרנט יטען ויאותחל עד פי 3 מהר יותר ברשתות רובוטים.
  • ממשק צילומי מסך משוכתב
    • תכונת צילומי המסך נכתבה מחדש לחלוטין כדי לאפשר העלאת תמונות, הורדת תמונות ומחיקת תמונות. יש גם ממשקי API חדשים ללכידת צילומי מסך המפורטים בתיעוד.
  • שיפורים ב-SolvePnP
    • לתכונת איתור המצלמה המבוססת על solvePnP שלנו היה באג מכוער שהגביל מאוד את הדיוק שלה בכל ארבע פריימים. זה טופל, וקנבס תלת-ממדי מלא חדש נבנה עבור ויזואליזציות SolvePNP רטרו-רפלקטיביות/צבעוניות.
  • תיקון באג בממשק האינטרנט
    • הייתה בעיה נדירה מאוד ב-2022 שגרמה לממשק האינטרנט להיפגע לצמיתות במהלך האתחול הראשון לאחר הפלאש, מה שהכריח את המשתמש לבצע פלאש מחדש. הסיבה השורשית נמצאה ותוקנה לטובה.
  • ממשקי API חדשים
    • Limelight כולל כעת ממשקי API של REST ו-Websocket. ממשקי REST, Websocket ו-NetworkTables תומכים כולם בתכונת ה-JSON dump החדשה, המפרטת את כל הנתונים עבור כל המטרות בפורמט קריא לאדם, קל לניתוח עבור FRC וכל היישומים האחרים.

ראייה מבוססת למידה ללא קוד ותמיכה ב-Google Coral

  • Google Coral נתמך כעת על ידי כל דגמי Limelight. Google Coral הוא מאיץ חומרה USB של 4TOPs (טריליוני פעולות לשנייה) שנבנה במיוחד להסקה על רשתות עצביות 8-ביט.
  • בדיוק כמו מעקב רטרו-רפלקטיבי לפני כמה שנים, חסם הכניסה לראייה מבוססת למידה על רובוטים של FRC היה גבוה מדי עבור הקבוצה הממוצעת אפילו לנסות. פיתחנו את כל התשתית הנדרשת כדי להפוך ראייה מבוססת למידה לקלה כמו מטרות רטרו-רפלקטיביות עם Limelight.
  • יש לנו אשכול GPU בענן, סקריפטים לאימון, כלי לאיסוף מאגרי נתונים, וצוות תיוג אנושי מוכן לפעולה. אנחנו נרגשים להביא רשתות עצביות עמוקות לקהילת ה-FRC בפעם הראשונה.
  • אנחנו תומכים כרגע בשני סוגים של מודלים: מודלים לזיהוי אובייקטים ומודלים לסיווג תמונות.
    • מודלים לזיהוי אובייקטים יספקו "מזהי מחלקות" ותיבות תיחום (בדיוק כמו המטרות הרטרו-רפלקטיביות שלנו) עבור כל האובייקטים שזוהו. זה מושלם למעקב בזמן אמת אחר חלקי משחק.
      • אנא תרמו למודל זיהוי האובייקטים הראשון אי פעם של FRC על ידי שליחת תמונות כאן: https://datasets.limelightvision.io/frc2023
      • השתמשו במפתחות tx, ty, ta, ו-tclass של networktables או ב-JSON dump כדי להשתמש ברשתות זיהוי
    • מודלים לסיווג תמונות יקלטו תמונה ויפיקו תווית מחלקה יחידה.
      • כדי ללמוד עוד ולהתחיל לאמן את המודלים שלכם עבור Limelight, בדקו את Teachable Machine של גוגל.
      • https://www.youtube.com/watch?v=T2qQGqZxkD0
      • מודלים של Teachable machine תואמים ישירות ל-Limelight.
      • מסווגי תמונות יכולים לשמש לסיווג מצב פנימי של הרובוט, מצב של תכונות השדה, ועוד הרבה יותר.
      • השתמשו במפתח tclass של networktables כדי להשתמש במודלים אלה.
  • Limelight OS 2023.0 לא מספק את היכולת להעלות מודלים מותאמים אישית. זה יופעל בקרוב ב-2023.1

תמיכה ב-AprilTag ללא קוד

  • AprilTags הם קלים כמו מטרות רטרו-רפלקטיביות עם Limelight. מכיוון שיש להם מסנן קשה טבעי בצורת מזהה, יש אפילו פחות סיבה לגרום ל-roboRIO שלכם לבצע סינון כלשהו הקשור לראייה.
  • כדי להתחיל, השתמשו ב-tx, ty, ו-ta כרגיל. לא נדרשים שינויי קוד. מיינו לפי כל מאפיין מטרה, השתמשו בקבוצות מטרה, וכו'.
  • מכיוון ש-AprilTags הם תמיד מרובעים ותמיד ניתנים לזיהוי ייחודי, הם מספקים את הפלטפורמה המושלמת לחישובי תנוחה תלת-ממדיים מלאים.
  • המשוב שקיבלנו עבור תכונה זו בערוצי התמיכה שלנו היה חיובי מאוד. עשינו את AprilTags קלים ככל האפשר, ממעקב דו-ממדי ועד לאיתור רובוט תלת-ממדי מלא בשדה
  • בדקו את מפרט מפת השדה ומסמך מערכת הקואורדינטות למידע מפורט יותר.
  • יש ארבע דרכים להשתמש ב-AprilTags עם Limelight:
  • AprilTags בדו-ממד
    • השתמשו ב-tx, ty, ו-ta. הגדירו את הצינורות שלכם לחפש מזהה תג ספציפי.
    • <gif>
  • נקודת עניין תלת-ממדית של AprilTags
    • השתמשו במפתחות tx ו-ty, ta, ו-tid של networktables. היסט נקודת העניין הוא כל מה שרוב הקבוצות יצטרכו כדי לעקוב אחר מטרות שאין להן AprilTags מחוברים ישירות אליהן.
    • <gif>
  • תלת-ממד מלא
    • עקבו אחר ה-LL שלכם, הרובוט שלכם, או תגים בתלת-ממד מלא. השתמשו ב-campose או json כדי למשוך נתונים רלוונטיים לתוך ה-roboRio שלכם.
    • <gif>
  • איתור רובוט במרחב השדה
    • ספרו ל-Limelight שלכם איך הוא מותקן, העלו מפת שדה, וה-LL שלכם יספק את תנוחת השדה של הרובוט שלכם לשימוש עם מעריך התנוחה של WPILib.
    • מערכת הקואורדינטות של השדה שלנו ממקמת את (0,0) במרכז השדה במקום בפינה.
    • השתמשו במפתח botpose של networktables עבור תכונה זו.
    • <gif>

2022.3.0 (13/04/22)

תיקוני באגים ודופק לב.

תיקוני באגים

  • תיקון בעיות ביצועים, יציבות זרימה ופיגור זרימה הקשורות לזרימות מצלמת USB ומופעי זרימה מרובים.

תכונות ושינויים

  • מפתח NetworkTable "hb" לדופק לב
    • הערך "hb" גדל פעם אחת בכל מסגרת עיבוד, ומתאפס לאפס ב-2000000000.

2022.2.3 (16/03/22)

תיקוני באגים וסינון חיתוך מבוקר על ידי קוד רובוט.

תיקוני באגים

  • תיקון מפתח "stream" ב-networktables ומצבי תמונה בתוך תמונה
  • תיקון מפתח "snapshot" ב-networktables. משתמשים חייבים להגדיר את המפתח "snapshot" ל-"0" לפני הגדרתו ל-"1" כדי לצלם תמונה.
  • הסרת התראות מיותרות הקשורות ל-Python מממשק האינטרנט

תכונות ושינויים

  • סינון חיתוך ידני
    • באמצעות מערך "crop" ב-networktables, קבוצות יכולות כעת לשלוט במלבני חיתוך מקוד הרובוט.
    • כדי שהמפתח "crop" יעבוד, הצינור הנוכחי חייב להשתמש במלבן החיתוך הפתוח לרווחה כברירת מחדל (-1 עבור minX ו-minY, +1 עבור maxX ו-+1 maxY).
    • בנוסף, מערך "crop" ב-networktables חייב להכיל בדיוק 4 ערכים, ולפחות אחד מערכים אלה חייב להיות שונה מאפס.

2022.2.2 (23/02/22)

שדרוג חובה לכל הקבוצות בהתבסס על בדיקות אמינות של שבוע 0 ו-FMS.

תיקוני באגים

  • תיקון תקיעה / אובדן חיבור / אובדן מיקוד הקשורים לממשקי אינטרנט פתוחים, FMS, התקנות דמויות FMS, מכשירי צפייה מרובים וכו'.

תכונות ושינויים

  • סינון חיתוך

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

    • זה עבור הקבוצות שרוצות לבצע ראייה מותאמת אישית מתקדמת יותר על ה-RIO
    • מגבלת הפינות "tcornxy" הוגדלה ל-64 פינות
    • פישוט קווי מתאר ותכונות אילוץ קמירות כעת עובדים כראוי עם קיבוץ מטרות חכם ושליחת פינות
  • הערך המקסימלי של מסנן IQR הוגדל ל-3.0

  • קצב עדכון המטרות החיות בממשק האינטרנט הופחת מ-30fps ל-15fps כדי להפחית את רוחב הפס ועומס המעבד בזמן שממשק האינטרנט פתוח


2022.1 (25/1/22)

תיקוני באגים

  • קיבלנו מידע מאחד הספקים שלנו לגבי בעיה (ופתרון!) שמשפיעה על בערך 1/75 מהמעבדים המשמשים ספציפית ב-Limelight 2 (ייתכן שזה קשור לאצווה מסוימת). זה הגיוני, וזה היה אחד ההבדלים האחרונים שנותרו באתחול בין תמונת 2022 לתמונת 2020.
  • תיקון כפתורי ההעלאה עבור קלטי GRIP ומודלי SolvePNP

תכונות חדשות

  • קשת גוונים

    • קשת הגוונים החדשה מקלה על הגדרת סף הגוון.
  • היפוך גוון

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

    • הוספנו את scipy, scikit-image, pywavelets, pillow, ו-pyserial לסביבת Python שלנו.

2022.0 ו-2022.0.3 (15/1/22)

זהו עדכון משמעותי. הנה ארבעת השינויים העיקריים:

תכונות

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

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

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

    • גודל תמונה דחוסה: 1.3 GB ב-2020 → 76MB ל-2022 (הופחת פי 17!)
    • זמן הורדה: עשרות דקות ב-2020 → שניות ל-2022
    • זמן צריבה: 5+ דקות ב-2020 → שניות ל-2022
    • זמן אתחול: 35+ שניות ב-2020 → 14 שניות ל-2022 (10 שניות עד הדלקת נוריות LED)
  • תכנות Python מלא

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

  • בעיות ידועות: שימוש בזום חומרה עם Python יפיק תוצאות בלתי צפויות.

  • 2022.0.3 משחזר את זרם ה-GRIP 5802, ומטפל בבעיות אתחול בחלק מיחידות LL2 על ידי ביטול חלק מאופטימיזציות זמן האתחול. זמן האתחול גדל ל-16 שניות.

2020.4 (11/3/20)

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


2020.3 (25/02/20)

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


2020.2 (30/1/20)

2020.2 דוחפת את החומרה של Limelight עוד יותר על ידי הוספת היכולת לסובב ולהתקרב לכל נקודה. היא גם מוסיפה מצב וידאו חדש לגמרי ותיקוני באגים חשובים. ספרו לנו אילו תכונות הייתם רוצים לראות בעדכונים עתידיים!

תכונות

  • זום חומרה פי 3 ב-60 פריימים לשנייה

    • העדכון האחרון שלנו הוסיף זום חומרה פי 2 לכל דגמי Limelight ללא עלות כלשהי. הצלחנו לדחוף את זום החומרה שלנו עוד יותר עם זום חומרה פי 3. כל דגמי Limelight מסוגלים כעת לזום חומרה פי 3 ב-60 פריימים לשנייה. זה הופך את המעקב במגרש מלא לקל עוד יותר עבור כל קבוצה.
  • סיבוב חומרה

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

תיקוני באגים

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

2020.1 (16/1/20)

2020.1 מוסיפה אחת מהתכונות המגניבות ביותר של Limelight עד כה: זום חומרה 2x. זה לא זום דיגיטלי, והוא מופעל כעת עבור כל גרסאות Limelight.

תכונות

  • זום חומרה 2x

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

    • התאם ידנית מיקומי כוונת יחידה וכפולה עם מחוונים בממשק האינטרנט
  • תכונות SolvePNP / 3D חדשות (עדיין ניסיוניות)

    • הוספנו את האפשרות "Force Convex" כדי להשתמש רק בנקודות החיצוניות ביותר של מטרה - זה הכרחי ב-2020 בגלל הסרט הדק המשמש למטרה המשושה.
    • האפשרות "bind target" נוספה. תכונה זו קושרת את "tx" ו-"ty" למטרה התלת-ממדית. זה נדרש כדי להנחות רובוטים לקלוע באמצעות מטרות תלת-ממדיות.
    • לבסוף, הוסף את האפשרות "Goal Z-Offset" כדי להזיז אוטומטית את מיקום המטרה הרצוי במרחב התלת-ממדי על ציר ה-Z.
    • ב-Infinite Recharge, ה-"Goal Z-Offset" היה משמש למעקב אחר מרכז המטרה העגולה הקטנה מאחורי המטרה המשושה.
  • חישת צבע עם "tc"

    • קרא את המערך החדש "tc" ב-Network Tables כדי לקבל ערכי אדום, ירוק וכחול במיקום הכוונת. התאם את "Blue Balance" ו-"Red Balance" בכרטיסיית הקלט כדי להשיג חישת צבע מושלמת.

תיקוני באגים

  • פונקציונליות מצלמת USB שנשברה ב-2020.0 תוקנה כעת ב-2020.1
  • פונקציונליות SolvePnP שנשברה ב-2020.0 תוקנה כעת ב-2020.1
  • SolvePnP משתמש כראוי במרכז המודל כמרכז הויזואליזציה של הציר

2019.7 (4/5/19)

גרסה 2019.7 מוסיפה שתי תכונות חדשות.

תכונות

  • הזרמת וידאו 160x120 ב-30 פריימים לשנייה
    • הזרמת וידאו חלקה יותר ובפס רוחב נמוך יותר עבור קבוצות המשתמשות במצלמות USB רחבות זווית. פס הרוחב של הזרמת הווידאו ממצלמה ברוחב 180 מעלות ירד מ-~3.7mbps ל-~1.8 mbps.
    • ניתן לשנות את רזולוציית ההזרמה בלשונית ההגדרות.
    • שינוי רזולוציית ההזרמה ב-Limelight עם מצלמת USB רחבת זווית מחוברת. ללא תמונה בתוך תמונה, וקצב הזרמה רגיל.
  • דחיית כתמים חכמה (Smart Speckle Rejection)
    • קבוצות שהרכיבו את המצלמות שלהן בקו ישר עם המטרה השנה נאלצו להתמודד עם החזרי אור LED לא רצויים.
    • מחוון השטח לא תמיד פותר בעיה זו, מכיוון שהקבוצות רוצות לעקוב אחר מטרות ראייה קטנות במרחקים גדולים.
    • תכונה חדשה זו תדחה אוטומטית קונטורים קטנים יחסית שעברו את כל המסננים האחרים.
    • כאשר רובוט מתרחק ממטרת ראייה (מקטין את גודלה), SSR יתאים את עצמו אוטומטית כדי לדחות רק קונטורים קטנים יחסית.

שינויים

  • חלוניות עזרה (Tooltips)
    • חלוניות עזרה זמינות כעת בחלק מהבקרים של Limelight

2019.6.1 תיקון חם (14/3/19)

2019.6.1 מתקן העלאות Grip.


2019.6 (3/12/19)

2019.6 עוסקת כולה באמינות.

תיקוני באגים

  • מצלמות USB
    • טיפול בבעיה שעלולה הייתה לגרום לכשל בהפעלה של חלק ממצלמות ה-USB.
  • FMS
    • הפיכת Limelight לעמידה יותר (אם לא לחלוטין) בפני הפעלות מחדש של FMS ושינויי רשת בשדה / במחשב הנייד.
    • Limelight לא תיתקע יותר לאחר שינוי פתאומי ברשת הלקוח.
  • מיון קווי מתאר גולמיים (שינוי שובר תאימות)
    • מסנני הצטלבות אינם משפיעים יותר על מיון קווי מתאר גולמיים.
  • פרסום אוטומטי ב-Smartdashboard
    • LL מפרסמת אוטומטית מידע מסוים ל-SmartDashboard (כתובת IP, כתובת ממשק, וכו'). שמות ערכים אלה כוללים כעת את שם המארח.

תכונות ושינויים

  • הגדלה משמעותית של הדיוק והיציבות של תכונת compute3d. מדידות התרגום והסיבוב יציבות במרחקים גדולים יותר.
  • הגדלת ההיסט המקסימלי של רמת השחור ל-40 (מ-25) לתמונות כהות אף יותר.
  • אפשרויות מיון "הקרוב ביותר" חדשות בלשונית "פלט" כאשר מצב "כוונת כפולה" מופעל.
    • סטנדרטי - יישום המיון "הקרוב ביותר" הנוכחי עם מצב "כוונת כפולה".
    • סטנדרטי V2 - יישום מיון "הקרוב ביותר" חכם וניסיוני עם מצב "כוונת כפולה".
    • ממוצע של כוונות - מקור המיון "הקרוב ביותר" עם מצב "כוונת כפולה" הוא הממוצע של שתי הכוונות.
    • כוונת A - מקור המיון "הקרוב ביותר" עם מצב "כוונת כפולה" הוא כוונת A.
    • כוונת B - מקור המיון "הקרוב ביותר" עם מצב "כוונת כפולה" הוא כוונת B.
  • אפשרויות צינור "מצב LED" חדשות: "חצי שמאלי", "חצי ימני"
  • ערכי פינה גולמיים בנקודה צפה כאשר compute3D מופעל.
  • הסתרת קישוטי תמונה בעת שימוש במטות הקסם
  • הגדלת הזרם בממשק האינטרנט

2019.5 (2/9/19)

עם 2019.5 אנו מציגים את תכונת מיקום המצלמה compute3D החדשה לחלוטין. רק מספר קטן של קבוצות ניסו אי פעם להוסיף תכונה זו למערכות הראייה שלהן, וכעת היא זמינה לכל משתמשי Limelight 1 ו-Limelight 2.

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

תכונות

  • מצב דיוק גבוה ו-PnP
    • בגיף הבא, Limelight 2 הוצב 37 אינץ' מאחורי המטרה ו-14.5 אינץ' לימינה.
    • מאוחר יותר ה-Limelight סובב ביד. שימו לב כיצד המרחקים נשארים ברובם ללא שינוי.
    • עם 2019.4, הצגנו שליחת פינות. זה אפשר לקבוצות מתקדמות לכתוב את האלגוריתמים שלהן באמצעות solvePNP() של OpenCV. עם 2019.5, כל זה נעשה על הלוח.
    • העלו קובץ csv בטקסט רגיל עם מודל של המטרה שלכם. יש לנו מודלים מוכנים מראש של מטרות 2019 המאוחסנים באתר שלנו. כל המודלים חייבים להיות עם מקור ממורכז, ולהשתמש בסדר נקודות נגד כיוון השעון עם קנה מידה באינצ'ים.
    • הפעילו את המצב החדש ברזולוציה גבוהה של 960x720, ואז הפעילו "Solve 3D" כדי לרכוש את המיקום והסיבוב של ה-Limelight שלכם ביחס למטרה שלכם.
    • מספרי הפינות מוצגים כעת על התמונה לצורך יצירת מודל קלה יותר וכוונון סף.
    • קראו את כל 6 הממדים של הטרנספורמציה של המצלמה שלכם (x,y,z,pitch,yaw,roll) על ידי קריאת מערך המספרים "camtran" ב-networktable.
  • רמת שחור
    • עם מחוון רמת השחור החדש, הגדרת הסף היא אפילו קלה יותר. הגדילו את היסט רמת השחור כדי להכהות עוד יותר את התמונות שלכם.

שינויים שוברים

  • ה-FOV האנכי המדווח עבור LL2 תוקן כדי להתאים לערך הרשום של 49.7 מעלות. זה ישנה את ערכי "ty" שלכם

תיקוני באגים

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

2019.4 (26/1/19)

אנו מאמינים שכל דיווחי הבאגים הקריטיים מכוסים בגרסה זו.

תכונות

  • פינות
    • שלח את הפינות של המטרה שלך כשני מערכים (tcornx, tcorny) *כעת tcornxy על ידי הפעלת "שלח פינות" בלשונית "פלט". זה יאפשר עוד יותר לקבוצות המעוניינות בצינורות מתקדמים עם שיטות כמו solvePNP().
    • התאם את קירוב הפינות עם המחוון "קירוב פינות" בלשונית "פלט".

תיקוני באגים

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

2019.3 (19/1/19)

גרסה 2019.3 מטפלת במספר באגים ובקשות תכונות.

תכונות

  • קצב זרימה (הפחתת רוחב פס)
    • הגדר את קצב הזרימה ל"נמוך" בדף ההגדרות לקבלת זרם וידאו ברוחב פס נמוך יותר של 15 פריימים לשנייה.
  • קונטורים גולמיים מושבתים ב-NetworkTables (הפחתת רוחב פס)
    • קונטורים גולמיים מושבתים כעת כברירת מחדל. זה יפחית עוד יותר את רוחב הפס הכולל של Limelight.
    • כעת יש כ-180 פחות ערכי NetworkTables המוגשים בשנייה כברירת מחדל.
    • ראה את האפשרות החדשה "קונטורים גולמיים" בלשונית "פלט" כדי להפעיל מחדש קונטורים גולמיים.
  • אינדקס צינור פעיל
    • קרא את מפתח NetworkTables "getpipe" כדי לקבל את האינדקס האמיתי של הצינור הפעיל של המצלמה. זה מתעדכן ב-90 הרץ.
    • האינדקס של הצינור הפעיל נכתב כעת לזרם הווידאו מתחת לתצוגת ה-FPS.
  • מסנני הצטלבות שמאל וימין
    • קבוצות יכולות כעת לבחור בין מסנני הצטלבות דו-קונטור "שמאל" ו"ימין". מסנני ההצטלבות "מעל" ו"מתחת" נוספו ב-2019.2.

תיקוני באגים

  • תיקון באג הזרמת לוח המחוונים של LabView שהוצג ב-2019.2
  • דף האינטרנט כבר לא מבקש גופני סמלים מהאינטרנט. כל הגופנים מאוחסנים באופן מקומי. זה אמור להאיץ את טעינת הממשק.
  • הפחתת החשיפה ב"מצב נהג".
  • תיקון יישום "טרנספורמציית מרחק" ב-GRIP
  • תיקון עיכובי תקשורת של 20 שניות שנגרמו משינוי שם המארח.

2019.2 (1/7/19)

גרסה 2019.2 מוסיפה תכונות חדשות כדי לצייד טוב יותר את הקבוצות לעונת 2019.

  • מסנן הצטלבות
  • מסנן כיוון

שינויים ותיקונים נוספים

  • כתובת ה-IP מפורסמת אוטומטית ל-SmartDashboard/Shuffleboard לפתרון בעיות קל יותר באירועים. כמעט ולא קיבלנו דיווחים על בעיה זו, אך זה משמש כתכונת גיבוי נוספת.
  • שם הצינור (Pipeline) מפורסם אוטומטית ל-SmartDashboard/Shuffleboard
  • גישה לרוחב ולגובה של תיבת הגבול הגסה בפיקסלים עם מפתחות networktables חדשים.
  • גישה לצד הארוך ביותר ולצד הקצר ביותר של תיבת הגבול המושלמת בפיקסלים עם מפתחות networktables חדשים.
  • "מצב מיון" חל כעת גם על קונטורים כפולים
  • "מצב מיון" תוקן כעת
  • זרם 5802 פחות מכביד על המצלמה

2019.1 (18/12/18)

2019.1 מתקנת את כל הבאגים העיקריים שדווחו במהלך הבטא

  • הביצועים חזרו ל-90fps יציבים. בעיה במנהל ההתקן הייתה הסיבה העיקרית לבעיות הביצועים שלנו במהלך הבטא
  • הגדרות IP ושם מארח מיושמות כעת ו"נשארות" כראוי
  • שרביטי הקסם סודרו מחדש כדי להתאים לאלה של תוכנת Limelight 2018
  • אנחנו תומכים כעת בקלטי Grip כמו מסכות דרך ממשק האינטרנט
  • תוקנה הקפאת NetworkTables

2019.0 (10/12/18)

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

  • תמיכה ב-Grip

    • בנה צינורות עיבוד עם GRIP עבור Limelight, וייצא קבצי "LL Script" להעלאה למצלמה שלך.
    • תמיכה במסכות ו-NetworkTables תתווסף בעדכון עתידי
    • חשוף זרם וידאו גולמי בכתובת http://limelighturl:5802 לבדיקה ב-grip
  • ממשק אינטרנט חדש לחלוטין

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

    • עברנו ל-"Balena Etcher"
    • Etcher מהיר פי שניים ועובד על כל הפלטפורמות
    • חלונות קופצים של הבזקה תוקנו עם המעבר.
  • אחר

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

2018.5 (28/3/18)

גרסה 2018.5 מתקנת בעיה קריטית שמנעה ממשתמשים לכוונן צינורות על תמונות מצב.


2018.4 (19/03/18)

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

תכונות

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

2018.3 (28/02/18)

2018.3 מתקנת באג חיבור מחדש משמעותי ב-networktables אשר גרם לשינויי הגדרות NetworkTables לא להתפשט ל-Limelight. תודה לפיטר ג'ונסון ולצוות WPILib על איתור ותיקון הבאג הבסיסי ב-NT. זה היה (ככל הידוע לנו) הבאג האחרון בעדיפות גבוהה שעמד בפני Limelight.

שינויי הגדרות כמו ledMode, pipeline, ו-camMode אמורים תמיד לחול על Limelight. לא תצטרכו יותר פתרונות עוקפים כדי לשנות הגדרות Limelight בזמן ניפוי באגים, לאחר הפעלה מחדש של קוד הרובוט, ולאחר אתחול ה-roborio.

שינויים

  • תיקון בעיית סנכרון NT משמעותית ששברה שינויי הגדרות (ledMode, pipeline, ו-camMode) במהלך ניפוי באגים ב-LabView, ולאחר איפוס/אתחול של ה-roborio.
  • כלי טפטפת:
    • כלי הטפטפת משתמש באותו חלון של 10 יחידות עבור גוון, אך כעת משתמש בחלון של 30 יחידות עבור רוויה וערך. המשמעות היא שסף הוא לעתים קרובות יותר פעולה בלחיצה אחת, במקום תהליך רב-שלבי.
  • צילומי מסך
    • הגדרת ערך הצילום ל-"1" תיקח רק צילום בודד ותאפס את הערך ל-0. צילום מסך מוגבל ל-2 צילומים לשנייה.
    • מגבלת צילומי המסך הוגדלה ל-100 תמונות.
    • אזור בורר צילומי המסך הוא כעת בעל גלילה כדי לתמוך ב-100 תמונות.

2018.2 (10/2/18)

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

תכונות

  • שרביטי סף
    • הגדרת פרמטרי סף HSV במספר קליקים
    • השרביט "הגדר" ממרכז את פרמטרי HSV סביב הפיקסל הנבחר
    • השרביט "הוסף" מתאים את פרמטרי HSV כדי לכלול את הפיקסל הנבחר
    • השרביט "הפחת" מתאים את פרמטרי HSV כדי להתעלם מהפיקסל הנבחר
  • צילומי מסך
    • צילומי מסך מאפשרים למשתמשים לשמור את מה ש-Limelight רואה במהלך משחקים או כיול אירועים, ולכוון צינורות בזמן שהם רחוקים מהשדה.
    • שמור צילום מסך באמצעות ממשק האינטרנט, או על ידי פרסום "1" למפתח "snapshot" ב-NetworkTables
    • כדי לצפות בצילומי מסך, שנה את תיבת הבחירה "Image Source" בכרטיסיית הקלט. זה יאפשר לך לבדוק את הצינורות שלך על צילומי מסך במקום על הזנת המצלמה של Limelight
    • Limelight תאחסן עד 32 צילומי מסך. היא תמחק אוטומטית צילומי מסך ישנים אם תחרוג ממגבלה זו.
  • אפשרויות סטרימינג חדשות
    • הצגנו את מפתח ה-NetworkTables "stream" כדי לשלוט במצב הסטרימינג של Limelight. קיבלנו בקשות למצבי PiP (תמונה בתוך תמונה) כדי להתאים טוב יותר ללוחות מחוונים מסוימים.
    • 0 - סטנדרטי - זרמים זה לצד זה אם מצלמת אינטרנט מחוברת ל-Limelight
    • 1 - PiP ראשי - זרם המצלמה המשנית ממוקם בפינה הימנית התחתונה של זרם המצלמה הראשית.
    • 2 - PiP משני - זרם המצלמה הראשית ממוקם בפינה הימנית התחתונה של זרם המצלמה המשנית.
  • הגדלת קצב הפריימים בסטרימינג ל-22fps
  • ארוזיה והרחבה
    • אפשר עד איטרציה אחת של ארוזיה והרחבה.
    • ארוזיה תשחק מעט את התוצאה של סף HSV. זה שימושי אם אובייקטים רבים עוברים דרך סף HSV מכוון.
    • הרחבה תנפח מעט את התוצאה של סף HSV. השתמש בזה כדי לתקן חורים בתוצאות הסף.
  • כפתור הפעלה מחדש
    • הפעל מחדש את מעקב הראייה של Limelight מממשק האינטרנט. זה שימושי רק לקבוצות שחוות בעיות לסירוגין בעת ניפוי באגים בקוד LabView.

אופטימיזציות

  • הורדת זמן הביצוע של הצינור במצב יציב ל-3.5-4 אלפיות שנייה.

תיקוני באגים

  • תיקון בעיות סטרימינג ב-Shuffleboard
  • תיקון בעיות סטרימינג בלוח המחוונים של LabView

2018.1 (8/1/18)

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

2018.0 (1/3/18)

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

תכונות

  • ממשק חדש לצינור ראייה
    • הוסף עד 10 צינורות ראייה ייחודיים, כל אחד עם כוונות מותאמות אישית, אפשרויות סף, חשיפה, אפשרויות סינון וכו'.
    • תן שם לכל צינור ראייה.
    • סמן כל צינור כצינור "ברירת המחדל".
    • החלף מיידית בין צינורות במהלך משחק עם ערך ה-NetworkTables החדש "pipeline". זה שימושי למשחקים עם מספר מטרות ראייה (למשל, יתד הגיר והדוד מ-2017). זה גם שימושי לקבוצות שצריכות להשתמש באפשרויות כוונת מעט שונות לכל רובוט, שדה, ברית וכו'.
    • הורד צינורות ראייה מ-Limelight לגיבוי או שיתוף עם קבוצות אחרות.
    • העלה צינורות ראייה לכל "חריץ" כדי להשתמש בצינורות שהורדו.
  • אפשרות "קיבוץ" מטרות
    • העדף מיידית מטרות המורכבות משתי צורות עם מצב הקיבוץ "dual". אפשרויות "Single" ו-"Tri" זמינות גם כן
  • ממשק כיול כוונת חדש
    • מצבי כוונת "Single" ו-"Dual".
    • מצב "Single" הוא מה ש-Limelight השתמש בו לפני עדכון זה. קבוצות מיישרות את הרובוטים שלהן ידנית, ו"מכיילות" כדי לאפס מחדש את ערכי הכיוון סביב הכוונת.
    • מצב "Dual" הוא תכונה מתקדמת לרובוטים שזקוקים לכוונת דינמית שמתכווננת אוטומטית כאשר השטח של המטרה / המרחק למטרה משתנה. השתמשנו בתכונה זו בחלק מרובוטי הירי שלנו, מכיוון שחלקם ירו בעקומה קלה. תכונה זו תהיה שימושית גם לרובוטים עם התקנות Limelight לא ממורכזות ו/או לא מיושרות.
    • כיול X ו-Y נפרד.
  • הוסף מפתח מטרה תקפה "tv" ל-Network Tables.
  • הוסף מפתח השהיית כיוון "tl" ל-Network Tables. "tl" מודד את זמן הביצוע של צינור הראייה. הוסף לפחות 11 מילישניות לזמן הלכידה.
  • צייר מלבן נוסף כדי לעזור להסביר את חישוב יחס הגובה-רוחב.
  • הסר את תכונת הוויסות, ונעל את Limelight ל-90fps.
  • השבת התמקדות ברוב כפתורי ממשק האינטרנט. מתקן בעיית זרימת עבודה שדווחה על ידי קבוצות שהיו מכיילות את הכוונות שלהן, ואז לוחצות על "enter" כדי להפעיל את הרובוטים שלהן.
  • פרסם שלושה קווי מתאר "גולמיים" ושתי כוונות ל-Network Tables.
    • גש לקו מתאר גולמי עם tx0, tx1, ta0, ta1, וכו'.
    • גש לשתי הכוונות הגולמיות עם cx0, cy0, cx1, cy1.
    • כל ערכי x/y הם במרחב מסך מנורמל (-1.0 עד 1.0)
  • הוסף אפשרות "סיומת" לממשק האינטרנט. מאפשר למשתמשים להוסיף סיומת לשמות המארח וה-NetworkTables של ה-Limelights שלהם (למשל limelight-boiler). יש להשתמש בתכונה זו רק אם קבוצות מתכוונות להשתמש במספר Limelights על רובוט יחיד.
  • הצג גרסת תמונה בממשק האינטרנט

אופטימיזציות

  • הקטן את ההשהיה הקשורה לרשת ל-~0.2 מילישניות מ-~10 מילישניות (תודה לThad House)
  • העבר קידוד זרם ודחיסת jpg לליבה השלישית, מבטל עיכוב של 10 מילישניות (עיכוב של 25 - 30 מילישניות עם שתי מצלמות) שנראה כל שישה פריימים.
  • הורד את זמן ביצוע הצינור במצב יציב ל-5 מילישניות עם אופטימיזציות SIMD.

תיקוני באגים

  • תקן אי-דיוק קטן בערך השטח שמנע מהערך להגיע ל-100% (מקסימום ~99%).
  • תקן היסט של חצי פיקסל בכל חישובי הכיוון
  • תקן מידע על זרם המצלמה שלא מתמלא עבור שרתי NT שהופעלו לאחר רצף האתחול של Limelight. רענן באופן קבוע את מידע זרם המצלמה.
  • תקן באג שגרם ליחס הגובה-רוחב "להתהפך" מדי פעם.
  • אכוף פלט זרם סטנדרטי (במקום פלט עם סף) במצב נהג.
  • תקן באג שמנע מהנורות LED להבהב לאחר איפוס מידע הרשת

2017.7 (21/11/17)

  • שיפור מיון קווי המתאר. העדיף קווי מתאר קטנים על פני קווי מתאר גדולים יותר.
  • מערכת קואורדינטות חדשה: המרכז הוא (0,0). ty עולה ככל שהמטרה נעה "למעלה" בציר ה-y, ו-tx עולה ככל שהמטרה נעה "ימינה" לאורך ציר ה-x.
  • חישובי זוויות מדויקים יותר (מודל מצלמת חור סיכה).
  • הצגת מידע על כיוון (tx, ty, ta, ו-ts) בדף האינטרנט.
  • ערכי כיוון ברירת המחדל הם אפסים. משמעות הדבר היא שאפסים מוחזרים אם אין מטרה בשדה הראייה.
  • פריסת דף אינטרנט חדשה זה לצד זה. עדיין מתכווצת לעמודה אחת במכשירים קטנים.
  • עדכוני מחוון רציפים אינם פוגעים בביצועי לוח התצורה.
  • השטח נשלח ל-NT כאחוז (0-100).
  • גודל התמונה ירד ל-700MB מ-2.1GB

2017.6 (13/11/17)

  • כלי הדמיה חדש. נבדק על Win7, Win8 ו-Win10.
  • שידור זרם המצלמה ל-cameraserver streams. עובד עם זרמי מצלמה של smart dashboard, אך ל-shuffleboard יש באגים ידועים בנושא זה
  • סקלה רביעית על מחווני השטח, סקלה ריבועית על מחווני יחס הגובה-רוחב. זה הופך את הכיוון לקל הרבה יותר
  • ארגון הבקרים בלשוניות "קלט", "סף", "סינון" ו"פלט"
  • עדכונים רציפים בעת גרירת המחוונים
  • השטח נשלח ל-NT כאחוז (0-100)
  • הצגת גודל התמונה ירד ל-700MB מ-2.1GB

2017.5 (11/9/17)

  • גודל התמונה ירד ל-2.1GB מ-3.9GB
  • הוספת ממשקי API למצב נהג ומצב LED
  • הגדרת ledMode ל-0, 1, או 2 בטבלת limelight
  • הגדרת camMode ל-0 או 1 בטבלת limelight
  • הוספת יכולת להחליף בין תמונת סף לתמונה גולמית דרך ממשק האינטרנט (ישופר בגרסה מאוחרת יותר)
  • פרסום זרם המצלמה לטבלאות הרשת תחת CameraPublishing/limelight/streams (יידרש תיקון חם)
  • הוספת הטיה למידע על מיקוד ("ts" בטבלת limelight)
  • הוספת "CommInterface" בסיסי בציפייה לפרוטוקולים נוספים

2017.4 (30/10/17)

  • הרבה שיפורים באתחול ובכיבוי המערכת

2017.3 (25/10/17)

  • טווח גוון הוא 0-179 במקום 0-255
  • הקטנת גודל הלוג המקסימלי, ניקוי לוגים, ניקוי מטמון apt

2017.2 (23/10/17)

  • רגישות ISO ידנית
  • זמן חשיפה מינימלי הוגדל ל-2

2017.1 (21/10/17)

  • אופטימיזציות
  • "קמירות" שונה ל"מלאות"
  • טווח החשיפה הוגדר ל-0-128 אלפיות שנייה במקום 0-255 אלפיות שנייה
  • תמיכה בשתי מצלמות
  • תמיכה מלאה בכיול נקודה בודדת