Ana içeriğe geç

Limelight Lib (WPILib Java & C++)

Kullanım

Bu tek dosyalı bir kütüphanedir. Yapmanız gereken tek şey, en son sürümdeki (https://github.com/LimelightVision/limelightlib-wpijava/releases) LimelightHelpers.java dosyasını Java projenizin "robot" klasörüne kopyalamaktır. Limelightlarınız için herhangi bir nesne oluşturmanıza gerek yok - kütüphane fonksiyonel bir şekilde kullanılmak üzere tasarlanmıştır.

Temel Kullanım

Limelightlib'deki her metod, kullanılacak doğru Limelight'ı belirten bir string parametresi kabul eder. Boş bırakılırsa veya null ise, ismin "limelight" olduğu varsayılır.

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

JSON Ayrıştırma

getLatestResults() en son Limelight JSON dökümünü bir LimelightResults nesnesine ayrıştırır. RoboRIO 1.0'da 2.5ms'ye kadar sürer. Ayrıştırma gecikmesi results.targetingresults.latency_jsonParse'da kaydedilir ve latency_pipeline ve latency_capture'a eklenebilir.

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

Her LimelightResults örneği bir Results nesnesi içerir. Her Results nesnesi botpose, her hedef türü için bir dizi vb. gibi verileri içerir. getLatestResults() ile artık Limelight'ınızın çıktısının %100'üne kolay erişiminiz var.

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

Anlık Görüntü Alma

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

Poz Tahmini

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

Sınıflar

LimelightHelpers.LimelightTarget_Retro
LimelightHelpers.LimelightTarget_Fiducial
LimelightHelpers.LimelightTarget_Barcode
LimelightHelpers.LimelightTarget_Classifier
LimelightHelpers.LimelightTarget_Detector
LimelightHelpers.Results
LimelightHelpers.LimelightResults
LimelightHelpers.PoseEstimate
(Saf Statik) LimelightHelpers

LimelightHelpers Metodları

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()