תכנות FRC עם Limelight Lib (WPILib Java & C++)
- https://github.com/LimelightVision/limelightlib-wpijava
- https://github.com/LimelightVision/limelightlib-wpicpp
JavaDocs: https://limelightlib-wpijava-reference.limelightvision.io
שימוש
זוהי ספריה המורכבת מקובץ בודד. כל שעליך לעשות הוא להעתיק את הקובץ LimelightHelpers.java מהגרסה האחרונה (https://github.com/LimelightVision/limelightlib-wpijava/releases) לתיקיית "robot" בפרויקט Java שלך. אין צורך ליצור אובייקטים עבור ה-Limelights שלך - הספריה פשוטה ופונקציונלית כדי למקסם את קלות השימוש והאמינות.
טיפים להצלחה
- התחילו בפשטות! הרבה קבוצות FRC מצליחות משתמשות בגישות בסיסיות באופן יעיל. לדוגמה, קבוצה 2056 בשנת 2024 השתמשה בצינור עיבוד צבע סטנדרטי של 90FPS במקום ברשתות נוירונים למעקב אחר חלקי המשחק.
- חשבו על מה שאתם באמת צריכים: האם אתם צריכים מיקום מלא בשדה, או שמספיק מ ירכוז מטרה פשוט (לדוגמה,
driveSpeed = result.getTx() * 0.03
)?
מושגי מפתח
1. שימוש בסיסי
כל מתודה מקבלת פרמטר שם Limelight. השאר ריק או null כדי להשתמש ב-"limelight":
// נתוני מיקוד בסיסיים
double tx = LimelightHelpers.getTX(""); // היסט אופקי מהצלב למטרה במעלות
double ty = LimelightHelpers.getTY(""); // היסט אנכי מהצלב למטרה במעלות
double ta = LimelightHelpers.getTA(""); // שטח המטרה (0% עד 100% מהתמונה)
boolean hasTarget = LimelightHelpers.getTV(""); // האם יש לך מטרה תקפה?
double txnc = LimelightHelpers.getTXNC(""); // היסט אופקי מהפיקסל/נקודה הראשית למטרה במעלות
double tync = LimelightHelpers.getTYNC(""); // היסט אנכי מהפיקסל/נקודה הראשית למטרה במעלות