Limelight Lib (WPILib Java & C++)
- https://github.com/LimelightVision/limelightlib-wpijava
- https://github.com/LimelightVision/limelightlib-wpicpp
使用方法
这是一个单文件库。你只需要从最新版本(https://github.com/LimelightVision/limelightlib-wpijava/releases)复制 LimelightHelpers.java 文件到你的 Java 项目的 "robot" 文件夹中。你不需要为你的 Limelight 创建任何对象 - 该库设计为以函数式方式使用。
基本用法
Limelightlib 中的每个方法都接受一个字符串参数,指示要使用的正确 Limelight。如果留空或为 null,则假定名称为 "limelight"
LimelightHelpers.setLEDMode_PipelineControl("");
LimelightHelpers.setLEDMode_ForceBlink("")
LimelightHelpers.setCropWindow("",-1,1,-1,1);
double tx = LimelightHelpers.getTX("");
JSON 解析
getLatestResults() 将最新的 Limelight JSON 转储解析为 LimelightResults 对象。 在 RoboRIO 1.0 上最多需要 2.5ms。解析延迟记录在 results.targetingresults.latency_jsonParse 中,可能会添加到 latency_pipeline 和 latency_capture 中。
LimelightHelpers.LimelightResults llresults = LimelightHelpers.getLatestResults("");
每个 LimelightResults 实例包含一个 Results 对象。每个 Results 对象包含诸如 botpose、每种目标类型的数组等数据。使用 getLatestResults(),你现在可以轻松访问 Limelight 输出的 100% 内容。
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
(纯静态) 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()