Saltar al contenido principal

Limelight Lib (WPILib Java & C++)

Uso

Esta es una biblioteca de un solo archivo. Todo lo que necesitas hacer es copiar el archivo LimelightHelpers.java de la última versión (https://github.com/LimelightVision/limelightlib-wpijava/releases) en la carpeta "robot" de tu proyecto Java. No necesitas crear ningún objeto para tus Limelights - la biblioteca está diseñada para ser utilizada de manera funcional.

Uso básico

Cada método en Limelightlib acepta un parámetro de cadena que indica el Limelight correcto a usar. Si se deja en blanco o nulo, se asume que el nombre es "limelight"

LimelightHelpers.setLEDMode_PipelineControl("");
LimelightHelpers.setLEDMode_ForceBlink("")
LimelightHelpers.setCropWindow("",-1,1,-1,1);
double tx = LimelightHelpers.getTX("");

Análisis JSON

getLatestResults() analiza el último volcado JSON de Limelight en un objeto LimelightResults. Toma hasta 2.5ms en RoboRIO 1.0. La latencia de análisis se registra en results.targetingresults.latency_jsonParse y puede agregarse a latency_pipeline y latency_capture.

LimelightHelpers.LimelightResults llresults = LimelightHelpers.getLatestResults("");

Cada instancia de LimelightResults contiene un objeto Results. Cada objeto Results contiene datos como botpose, un array para cada tipo de objetivo, etc. Con getLatestResults(), ahora tienes fácil acceso al 100% de la salida de tu Limelight.

double[] botposeRed = llresults.results.botpose_wpired;
double pipelineLatency = llresults.results.latency_pipeline;
LimelightHelpers.LimelightTarget_Fiducial = llresults.results.targets_Fiducials;

Tomar instantáneas

LimelightHelpers.takeSnapshot("","nombredeinstantanea");

Estimación de pose

 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);
}

Clases

LimelightHelpers.LimelightTarget_Retro
LimelightHelpers.LimelightTarget_Fiducial
LimelightHelpers.LimelightTarget_Barcode
LimelightHelpers.LimelightTarget_Classifier
LimelightHelpers.LimelightTarget_Detector
LimelightHelpers.Results
LimelightHelpers.LimelightResults
LimelightHelpers.PoseEstimate
(Puramente estático) LimelightHelpers

Métodos de 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()