Limelight Lib (WPILib Java & C++)
- https://github.com/LimelightVision/limelightlib-wpijava
- https://github.com/LimelightVision/limelightlib-wpicpp
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()