メインコンテンツまでスキップ

Limelight Lib (WPILib Java & C++)

使用方法

これは単一ファイルのライブラリです。最新リリース(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()