使用 Limelight Lib 进行 FRC 编程 (WPILib Java & C++)
- https://github.com/LimelightVision/limelightlib-wpijava
- https://github.com/LimelightVision/limelightlib-wpicpp
JavaDocs: https://limelightlib-wpijava-reference.limelightvision.io
使用方法
这是一个单文件库。你只需要从最新版本 (https://github.com/LimelightVision/limelightlib-wpijava/releases) 中复制 LimelightHelpers.java 文件到你的 Java 项目的 "robot" 文件夹中。你不需要为你的 Limelight 创建任何对象 - 这个库简单且实用,最大限度地提高了易用性和可靠性。
成功技巧
- 从简单开始!许多成功的 FRC 团队有效地使用基本方法。例如,2056 队在 2024 年使用标准的 90FPS 颜色管道而不是神经网络来跟踪游戏部件。
- 思考你真正需要什么:你是需要完整的场地定位,还是简单的目标居中就足够了(例如,
driveSpeed = result.getTx() * 0.03
)?
关键概念
1. 基本用法
每个方法都接受一个Limelight名称参数。留空或设为null以使用"limelight":
// 基本目标数据
double tx = LimelightHelpers.getTX(""); // 从准星到目标的水平偏移(度)
double ty = LimelightHelpers.getTY(""); // 从准星到目标的垂直偏移(度)
double ta = LimelightHelpers.getTA(""); // 目标面积(图像的0%到100%)
boolean hasTarget = LimelightHelpers.getTV(""); // 是否有有效目标?
double txnc = LimelightHelpers.getTXNC(""); // 从主像素/点到目标的水平偏移(度)
double tync = LimelightHelpers.getTYNC(""); // 从主像素/点到目标的垂直偏移(度)