ספריית Limelight (WPILib Java & C++)
- https://github.com/LimelightVision/limelightlib-wpijava
- https://github.com/LimelightVision/limelightlib-wpicpp
שימ וש
זוהי ספרייה בקובץ יחיד. כל מה שעליך לעשות הוא להעתיק את הקובץ LimelightHelpers.java מהגרסה האחרונה (https://github.com/LimelightVision/limelightlib-wpijava/releases) לתיקיית "robot" בפרויקט Java שלך. אין צורך ליצור אובייקטים עבור ה-Limelights שלך - הספרייה מתוכננת לשימוש בצורה פונקציונלית.
שימוש בסיסי
כל שיטה ב-Limelightlib מקבלת פרמטר מחרוזת המציין את ה-Limelight הנכון לשימוש. אם הושאר ריק או null, השם מניח שהוא "limelight"
LimelightHelpers.setLEDMode_PipelineControl("");
LimelightHelpers.setLEDMode_ForceBlink("")
LimelightHelpers.setCropWindow("",-1,1,-1,1);
double tx = LimelightHelpers.getTX("");
ניתוח JSON
getLatestResults() מנתח את הדאמפ JSON האחרון של Limelight לאובייקט LimelightResults. לוקח עד 2.5 מילישניות על RoboRIO 1.0. זמן הניתוח מתועד ב-results.targetingresults.latency_jsonParse וניתן להוסיף אותו ל-latency_pipeline ו-latency_capture.
LimelightHelpers.LimelightResults llresults = LimelightHelpers.getLatestResults("");
כל מופע של LimelightResults מכיל אובייקט Results. כל אובייקט Results מכיל נתונים כמו botpose, מערך עבור כל סוג מטרה, וכו'. עם getLatestResults(), יש לך כעת גישה קלה ל-100% מהפלט של ה-Limelight שלך.
double[] botposeRed = llresults.results.botpose_wpired;
double pipelineLatency = llresults.results.latency_pipeline;
LimelightHelpers.LimelightTarget_Fiducial = llresults.results.targets_Fiducials;
צילום תמונות
LimelightHelpers.takeSnapshot("","snapshotname");
הערכת מיקום
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);
}
מחלקות
LimelightHelpers.LimelightTarget_Retro
LimelightHelpers.LimelightTarget_Fiducial
LimelightHelpers.LimelightTarget_Barcode
LimelightHelpers.LimelightTarget_Classifier
LimelightHelpers.LimelightTarget_Detector
LimelightHelpers.Results
LimelightHelpers.LimelightResults
LimelightHelpers.PoseEstimate
(Pure Static) LimelightHelpers
שיטות LimelightHelpers
getLimelightNTTable()
getLimelightNTTableEntry()
getLimelightNTDouble()
setLimelightNTDouble()
setLimelightNTDoubleArray()
getLimelightNTDouleArray()
getLimelightNTString()
getLimelightURLString()
getTX()
getTY()
getTA()
getLatency_Pipeline()
getLatency_Capture()
getCurrentPipelineIndex()
getJsonDump()
getBotpose()
getBotpose_wpiRed()
getBotpose_wpiBlue()
getBotPoseEstimate_wpiBlue()
getBotPoseEstimate_wpiRed()
getBotpose_TargetSpace()
getCameraPsoe_TargetSpace()
getTargetPose_CameraSpace()
getTargetPose_RobotSpace()
getTargetColor()
getFiducialID()
getNeuralClassID()
setPipelineIndex()
setPriorityID()
setLEDMode_PipelineControl()
setLEDMode_ForceOff()
setLEDMode_ForceBlink()
setLEDMode_ForceOn()
setStreamMode_Standard()
setStreamMode_PiPMain()
setStreamMode_PiPSecondary()
setCropWindow()
setPythonScriptData()
getPythonScriptData()