跳到主要内容

软件更新日志与反馈

通过电子邮件或Limelight反馈仓库提交问题和功能请求

Limelight OS 2025.1(最终版本 - 2025年2月24日 测试版本 - 2025年2月18日)

2025年2月24日 - 修复2025.1测试版本中引入的连接问题。

LL4 IMU更新

  • 改进IMU传感器融合
    • 在振动和FRC级别冲击下性能显著提升。融合方法有重大变化。
IMU Updates 2025.1

上图显示了FRC机器人在相当剧烈的约5分钟练习过程中的结果。在此过程中,我们测量了以下设备的朝向:

  1. 运行2025.0的Limelight 4(llyawOLD)
  2. 运行2025.1的Limelight 4(llyaw)
  3. Pigeon 2.0

两个LL4以相同方式安装。注意运行2025.1的LL4在整体精度上有巨大提升

  • IMU模式3 - IMU_ASSIST_MT1 - 内部IMU将利用过滤后的MT1偏航估计进行连续朝向校正

  • IMU模式4 - IMU_ASSIST_EXTERNALIMU - 内部IMU将利用外部IMU进行连续朝向校正

  • 添加imuassistalpha_set NT键(默认0.001)- 互补滤波器alpha/强度。较高的值将使内部IMU更快地收敛到辅助源

  • 默认值设为较低的0.001,因为我们现在比以前更信任内部IMU。辅助模式旨在非常轻柔地将内部IMU"拉向"所选辅助源,而不影响内部IMU在快速移动期间的响应性。

LL4热性能更新

  • 添加'throttle_set'。每N个跳过的帧后处理一帧。示例模式:

    • throttle_set=1: [跳过, 处理, 跳过, 处理]
    • throttle_set=2: [跳过, 跳过, 处理, 跳过, 跳过, 处理]
  • 在跳过的帧期间,输出不会被清零/重置。

  • 在禁用状态下将此值设置为较高数字(50-200)以管理LL4的温度。

  • 或者,您可以将管道配置为取景器,并在禁用时切换到此管道。

LL4和LL3G的新FPS选项

  • 添加1280x800分辨率,支持60FPS、55FPS、45FPS和30FPS。
  • 使用较低的捕获率将允许您增加曝光时间,以避免由于交流照明导致的图像过度曝光/呼吸效应。

REST API更新

  • 添加IMU模式REST API - 'update-imumode'
  • 添加节流REST API - 'update-throttle'
  • 添加IMU辅助ALPHA REST API - 'update-imuassistalpha'

FMap更新

  • FMap Json文件现在可以选择性地嵌入base64编码的SVG
  • FMap Json文件现在可以选择性地嵌入base64编码的PNG

ReefScape神经网络上传

  • B2 Hailo模型是我们针对FRC2025表现最佳的模型。它在单色图像上训练,以更好地适应LL4。
Coral Model

LL3A更新

  • 3A完全支持2025更新

错误修复

  • 没有内部IMU的Limelight会忽略imumode_set
  • 升级到Limelight 3G的Limelight 3将正确使用内置风扇
  • 修复基于Hailo的神经检测器管道中的裁剪问题
  • 修复基于Hailo的AprilTag管道中的裁剪问题

Limelight OS 2025.0(2024年1月15日)

LL4支持

  • 添加对Hailo对象检测和Hailo加速AprilTags的支持
  • 添加对LL4内部IMU的支持
  • 添加"imumode_set" NT键
    • 0 - 使用外部IMU,不为内部IMU提供初始值
    • 1 - 使用外部IMU,为内部IMU提供初始值
    • 2 - 使用内部IMU

2025场地更新

  • 场地宽度和场地高度现在是.fmap文件的一部分
  • 更新默认.fmap以匹配2025场地
  • 更新默认场地图像
  • 在线地图构建器现在允许您配置场地宽度和场地高度
  • 下载页面上的2025 fmap链接已更新。

错误修复

  • 修复"删除所有快照"按钮

Limelight OS 2024.10.2(2024年10月28日)

Python快照脚本修复(感谢 - FTC团队23251 TRIPLE FAULT)

  • 使用Control Hub和Limelight3A时,Python输出将不再冻结
  • 在Python管道之间切换时,Python输出将不再冻结

MT2边缘情况

https://github.com/LimelightVision/limelight-feedback/issues/23

  • 在没有机器人的情况下测试MT2时,很容易产生几何上的不可能性。
  • 这种边缘情况不会将mt2 botpose清零 - 它会将相机姿态清零。
  • 现在,当检测到这种边缘情况时,机器人将被放置在(0,0,0)位置

静态IP寻址

https://github.com/LimelightVision/limelight-feedback/issues/25

  • 如果地址以.1-.10或.20-.255结尾,则向IP地址设置器添加警告,因为这些地址可能会干扰FMS或其他设备
  • 在2024.10.1中,当寻址方案设置为"自动"时,UI有时会建议配置静态IP

STDDevs NetworkTables

https://github.com/LimelightVision/limelight-feedback/issues/24

  • NetworkTables中的"stddevs"包含mt1和mt2的所有标准差(双精度数组,12个元素)

模型上传边缘情况

  • 如果将分类器模型上传到检测器管道,图像上将显示"check model"
  • 如果将检测器模型上传到分类器管道,图像上将显示"check model"

Limelight OS 2024.10.1(2024年9月15日)

Limelight 3A更新

  • 更新默认色彩平衡值
  • 更新默认AprilTag尺寸配置为101.6毫米
  • 将默认视频流帧率降低到30FPS
  • 略微增加视频流压缩以减少流比特率

AprilTag尺寸警告

  • 如果配置的AprilTag尺寸与上传的场地地图中的尺寸不匹配,则向场地空间可视化器添加警告。
Example banner

CameraPose_RobotSpace错误修复

  • 从NetworkTables/LimelightLib/REST覆盖UI配置的相机姿态再次正常工作。

Limelight OS 2024.10(2024年9月4日)

支持FTC的Limelight 3A

  • 完全支持Limelight3A
  • 3A可在FTC和FRC中使用

AprilTag地图更新

  • 地图编辑器现在支持标准和菱形FTC地图生成
  • LLOS网络界面将根据上传的地图自动显示正确的场地类型
  • 所有工具和界面中的场地可视化器都显示联盟区域和ftc瓷砖网格。
  • 3D可视化器性能已得到改进。

Control Hub和RoboRio上的USB Limelight支持

  • FTC团队可以在Control Hub上使用单个支持USB的Limelight
  • FRC团队可以在RoboRio上使用多达16个支持USB的Limelight。USB Limelight会像以太网Limelight一样自动填充networktables。
    • 要使用多个USB Limelight,请为每个LL提供唯一的USB索引和唯一的主机名。

USB连接升级

  • MacOS不再使用USB以太网Limelight接口访问互联网
  • Windows不再尝试使用USB以太网Limelight接口访问互联网

REST API更新

  • 修复update-robotorientation POST请求。
  • 现在可以在没有NetworkTables的情况下完全访问MT2。
  • 一旦使用update-robotorientation路由,NetworkTables方向更新将被禁用,直到重新启动。

Limelight OS 2024.9.1(2024年7月7日)

  • 地图构建工具现在接受/转换WPILib .json apriltag布局
  • 向Python快照脚本添加AprilTag3(from apriltag import apriltag)
  • 请参阅examples github仓库中的示例
  • 修复Windows上的USB连接网关问题。

mosaic screenshot:

Limelight OS 2024.9 (7/5/24)

MegaTag 升级

  • Limelight OS 已转换到 NetworkTables 4.0

  • MegaTag2 现在使用 NT4 的 getAtomic() 从 roboRIO 获取带时间戳的 IMU 更新。

  • 我们的带时间戳图像帧会与两个最相关的 IMU 样本匹配,然后进行插值。

  • NT4 flush() 已添加到 LimelightLib。将 Flush() 添加到旧版本的 Limelight OS 将使性能接近 2024.9,但 NT4 确保准确性始终保持高水平。

  • MT2 可视化机器人现在有绿色保险杠,而 MT1 的可视化机器人使用黄色保险杠。

  • 指标现在可折叠,虚拟机器人可以隐藏。

  • 以下视频演示了 2024.9 的 MegaTag 2(绿色机器人)使用机器人端 flush() 比没有 Flush() 的 2024.5 MegaTag2(红色机器人)更稳健

USB ID 和新的 USB IP 地址

  • 在设置页面中设置"USB ID",以在任何系统上使用多个 USB Limelight。
  • 出现在系统上的 USB-以太网接口将使用由 USB ID 确定的 IP 地址
  • Linux/Android/Mac 系统现在默认使用 172.29.0.0/24 子网
  • Windows 系统现在默认使用 172.28.0.0/24 子网。
  • 如果设置了 USBID,子网将更改为 Linux/Android/Mac 的 172.29.(USBID).0/24 和 Windows 的 172.28.(USBID).0/24。
  • 现在,您可以通过调整主机名和 USB ID,将四个 Limelight 设备连接到单个 USB 集线器

CPU 神经分类器

  • 上传 CPU .tflite 分类器,无需 Google Coral 即可启用神经分类。在 LL3 变体上可以预期 15-18 FPS。
  • 2024.9 附带默认 CPU 分类器。
  • 将分类器运行时设置为"CPU"以启用此功能

CPU 神经检测器

  • 上传 CPU .tflite 检测器,无需 Google Coral 即可启用神经检测。在 LL3 变体上可以预期 10 FPS。
  • 2024.9 附带默认 CPU 检测器。
  • 将检测器运行时设置为"CPU"以启用此功能

Limelight OS 2024.8 (7/3/24)

  • 添加 python 输出 (PythonOut)、tx、ty、txnc、tync、ta 到 json 结果对象
  • 进一步改进 MT2 延迟补偿

Limelight OS 2024.7 (5/21/24)

  • 升级到 Linux 6.6

错误修复

  • 修复视觉管道转换
  • 修复校准上传、快照上传和神经网络上传

Limelight OS 2024.6 (5/8/24)

LimelightLib Python

  • pip install limelightlib-python
  • 我们的Python库允许您在任何平台上与USB和以太网Limelight进行交互。
  • 它允许在不使用Web UI的情况下完成Limelight配置。
  • 上传管道、神经网络、场地地图等
  • 对任何管道参数进行实时更改,并可选择"写入磁盘"选项
  • 发布自定义Python输入数据,设置机器人方向等。

MegaTag2 升级

  • MegaTag2陀螺仪延迟补偿已得到改进。更多改进即将推出!
  • 在UI中添加了"陀螺仪延迟调整"滑块。要手动调整MegaTag 2延迟补偿,您可以旋转机器人并调整滑块,直到旋转时定位结果完美。

标准差指标

  • 3D场地可视化器现在包括MegaTag1和Megatag2的x、y和偏航角标准差。

新的"对焦"管道类型

  • 在"对焦"模式下,您将可以使用流质量滑块和裁剪框滑块
  • 旋转镜头以最大化"对焦"分数。
  • 如果您的相机位于固定位置,这将花费不到一分钟的时间。我们建议使用固定/安装的Limelight进行对焦。

新的"条形码"管道类型

  • 在1280x800分辨率下以50-60FPS进行多QR码检测和解码
  • 在1280x800分辨率下以50-60FPS进行多DataMatrix检测和解码
  • 在1280x800分辨率下以30FPS进行多UPC、EAN、Code128和PDF417检测
  • 条形码数据字符串发布到"rawbarcodes" NT数组。
  • 条形码管道将填充所有2D指标,如tx、ty、ta、tcornxy等。

全新REST API

  • https://docs.limelightvision.io/docs/docs-limelight/apis/rest-http-api
  • 我们的REST / HTTP API已经从头开始重建。
  • REST API允许在不使用Web UI的情况下完成Limelight配置。
  • 上传管道、神经网络、场地地图等
  • 对任何管道参数进行实时更改,并可选择"写入磁盘"选项
  • 发布Python输入数据,设置机器人方向等。

从UI中移除相机方向设置(重大变更)

  • 这已被"流方向"选项所取代。校准和目标瞄准永远不会受到此选项的影响。
  • 新选项仅影响视频流。倒置、顺时针90度、逆时针90度、水平镜像和垂直镜像
  • 团队现在需要在使用旋转相机时手动反转tx和ty。

移除GRIP支持(重大变更)

移除"驾驶员"零处理模式(重大变更)

  • 这已被"取景器"管道类型所取代

添加"取景器"管道类型

  • 取景器管道禁用所有处理以实现最小延迟
  • 这允许团队为仅查看模式设计自己的"驾驶员"管道

管道文件现在使用JSON格式(重大变更)

校准用户体验改进

  • 校准设置现在已缓存。您不再需要每次校准时都输入校准设置。
  • 默认校准字典已更新,可与Calib.io推荐的800x600mm粗糙板配合使用。

校准马赛克

  • 以前,很难确定校准图像的质量
  • 校准选项卡现在有一个"下载校准马赛克"按钮。马赛克将准确显示每张图像对校准的贡献。

马赛克截图:

"质心"目标区域

  • 在"输出"选项卡中添加了质心目标模式,以改善使用颜色管道的对象跟踪

动态3D偏移(NT: fiducial_offset_set)

  • 现在可以在不更改管道的情况下调整3D偏移。这对于"瞄准点"需要根据距离或其他属性变化的情况非常有用。

添加Modbus支持

  • Limelight OS现在有一个始终开启的modbus服务器,用于检查、物流和工业应用
  • 在此处查看modbus寄存器规范:https://docs.limelightvision.io/docs/docs-limelight/apis/modbus
  • 默认modbus服务器端口可以在UI的设置选项卡中更改
  • 通过modbus和snapscript python管道,现在支持具有双向通信的完全自定义视觉应用。

自定义NT服务器

  • 设置选项卡现在包含自定义NT服务器的条目。
  • 这启用了一个新的工作流程,包括在PC上运行的glass NT服务器,以及通过USB通信的Limelight 3G。

Rawfiducial更改

  • 原始基准标记的"面积"值现在是一个校准过的、标准化的值,范围约为0-1

所有NetworkTables和JSON更改

  • 添加NT getpipetype - 获取当前管道类型字符串(例如pipe_color, pipe_fiducial)

  • 添加NT tcclass - 分类器管道检测到的类名

  • 添加NT tdclass - 检测器管道检测到的类名

  • 添加NT t2d用于保证原子2d目标 - [valid,targetcount, targetlatency, capturelatency, tx, ty, txnc, tync, ta, targetid, classifierID, detectorID, tlong, tshort, thor, tvert, ts(skew)]

  • 移除NT tlong, tshort, thor, tvert和ts

  • 添加NT 'crosshairs'数组[cx0,cy0,cx1,cy1]

  • 移除NT cx0, cy0, cx1和cy1

  • 添加NT rawbarcodes - 条形码数据的NT字符串数组。最多32个条目。

  • 所有"raw"数组允许最多32个目标(从8个增加)

  • 添加fiducial_offset_set动态3d偏移设置器

  • 在json顶级结果中添加"pType"

  • 在json顶级结果中添加"stdev_mt1"和"stdev_mt2"(x,y,z,roll,pitch,yaw)(米,度)

其他文件格式和JSON转储的更改

  • 校准文件格式已简化。旧校准在上传时会自动转换为新格式
  • 从Results和Status JSON转储中移除了一层嵌套

错误修复

  • 以前,如果在神经管道处于活动状态时拔出Google Coral,管道会永久恢复为"color/retro"模式
    • 现在,图像上会显示"CHECK CORAL"或"CHECK MODEL"。管道类型永远不会改变
  • 以前,成功通过基准标记ID过滤器的标签有时会用红色轮廓而不是绿色轮廓绘制。这个可视化问题已修复。
  • Apriltag管道填充tcornxy NT数组
  • Apriltag管道现在完全尊重最小-最大面积滑块。以前,AprilTag管道会基于标签面积过滤2D结果,但不会过滤3D/定位结果。

Limelight OS 2024.5.0 (4/9/24)

  • 升级到Linux 6.1

相机堆栈更新

  • 整个相机堆栈已更新,以修复Limelight3G上的相机外设锁定问题。
    • 症状包括
  • 应用此更新后,请务必重新调整曝光和增益设置。

动态缩放

  • 团队现在可以设置"fiducial_downscale_set"来覆盖当前管道的缩放设置
  • 0:UI控制, 1:1x, 2:1.5x, 3:2x, 4:3x, 5:4x
  • 使用新的Helpers方法,参数为0.0(UI控制)、1.0、1.5、2.0、3.0、4.0
  • 这是一个零开销操作。
  • 通过结合动态缩放和动态裁剪,团队可以在不管理多个管道的情况下最大化FPS

MegaTag2改进

  • 无论Limelight方向如何,MT2现在都能工作,包括具有90度和-90度滚转的"纵向"模式

"rawdetections" nt数组

  • [classID, txnc, tync, ta, corner0x, corner0y, corner1x, corner2y, corner3x, corner3y, corner4x, corner4y]
  • 角点在像素空间中,未应用校准

腐蚀/膨胀更新

  • 颜色管道现在支持最多10步膨胀和10步腐蚀
  • 颜色管道现在有一个"反向形态"选项,可以反转膨胀和腐蚀步骤的顺序

LimelightLib 1.6 (4/9/24)

  • 添加void SetFiducialDownscalingOverride(float downscale)

设置为0以进行管道控制,或设置为以下值之一以覆盖管道的缩放设置: 1, 1.5, 2, 3, 4

  • 添加RawFiducial[] GetRawFiducials()
  • 添加RawDetection[] GetRawDetections()

Limelight OS 2024.4.0 (4/3/24)

感谢所有为此更新贡献想法的团队。

Megatag 2

Megatag 2是一个无歧义的定位器。它比Megatag1具有更高的准确性和精度,并且是基于以下需求构建的:

  • 消除姿态歧义问题并增强对图像/角点噪声的鲁棒性。
  • 无论视角如何,只要有一个或多个标签,就能提供出色的姿态估计。
  • 增强对物理AprilTag放置不准确的鲁棒性
  • 减少机器人端为获得良好姿态估计结果所需的过滤量

注意在这个高度歧义的单标签情况下,MegaTag2(红色机器人)和Megatag(蓝色机器人)之间的区别:

Megatag2需要您使用新的方法调用来设置机器人的朝向。以下是一个完整的示例:

      LimelightHelpers.SetRobotOrientation("limelight", m_poseEstimator.getEstimatedPosition().getRotation().getDegrees(), 0, 0, 0, 0, 0);
LimelightHelpers.PoseEstimate mt2 = LimelightHelpers.getBotPoseEstimate_wpiBlue_MegaTag2("limelight");
if(Math.abs(m_gyro.getRate()) > 720) // 如果我们的角速度大于每秒720度,忽略视觉更新
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}
if(!doRejectUpdate)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.6,.6,9999999));
m_poseEstimator.addVisionMeasurement(
mt2.pose,
mt2.timestampSeconds);
}

Megatag2在任何距离下都能提供出色的、无歧义的单标签结果。 这意味着只关注相关且在您期望的放置容差范围内的标签是完全可行的。 如果标签位置不正确或不相关,可以使用新的动态过滤功能将其过滤掉。

动态Apriltag过滤

  • 由于MegaTag2不需要急切地累积尽可能多的AprilTags,您可以安全地过滤出放置良好且相关的标签:
int[] validIDs = {3,4};
LimelightHelpers.SetFiducialIDFiltersOverride("limelight", validIDs);

过渡到MegaTag2

Megatag2需要您的机器人朝向才能正常工作。朝向为0度、360度、720度等表示您的机器人面向红色联盟墙。 这与PathPlanner、Chorero、Botpose和Botpose_wpiblue使用的约定相同。

一旦您在代码中添加了SetRobotOrientation(),请检查内置的3D可视化工具。在近距离,Megatag2和Megatag1应该非常接近甚至完全匹配。在远距离,Megatag 2(红色机器人)应该比Megatag1(蓝色机器人)更准确、更稳定。

一旦内置可视化工具显示良好的结果,您就可以安全地使用Megatag2在自主阶段引导您的机器人。

我们建议添加的唯一过滤器是"最大角速度"过滤器。您可能会发现,在高角速度下,您的姿态估计会变得略微不可靠。

示例代码库中有一个带有此过滤器的Megatag2示例。

    if(Math.abs(m_gyro.getRate()) > 720) // 如果我们的角速度大于每秒720度,忽略视觉更新
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}

LimelightLib 1.5 (4/3/24)

添加

getBotPoseEstimate_wpiRed_MegaTag2()
getBotPoseEstimate_wpiBlue_MegaTag2()
SetRobotOrientation()

Limelight OS 2024.3.4 (3/20/24)

感谢所有为此更新贡献想法的团队。

更高精度的单标签求解器

MegaTag的单标签3D求解器已得到改进。它在远距离下比以前更加稳定。

JSON默认禁用(破坏性变更)

  • JSON默认被禁用,以减少带宽使用,特别是对于使用自动订阅仪表板(如Shuffleboard)的团队。
  • 这也应该减少RoboRIO NT负载和CPU使用率。
  • 在输出选项卡中按管道重新启用json。
  • 此更新包括的更改应该允许更多团队摆脱对JSON进行姿态估计的依赖。

去畸变面积(破坏性变更)

在计算任何目标的面积之前,角点会被去畸变处理。

在botpose、botpose_wpiblue和botpose_wpired中包含每个基准标记的指标

[tx, ty, tz, roll, pitch, yaw, tagCount, tagSpan (meters), averageDistance (meters), averageArea (percentage of image), (tags) ]

对于megatag定位使用的每个标签,上述数组现在包括(tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)

歧义是一个范围从0-1的新指标,表示标签当前视角的歧义程度。歧义值>0.9的单标签更新可能应该被拒绝。

"rawtargets"和"rawfiducials" nt数组(破坏性变更)

  • rawtargets - 每个目标的(txnc,tync,ta)
  • rawfiducials - 每个目标的(tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)
  • 之前的rawtargets NT条目(tx0,ty0等)已被移除。

错误修复

  • 如果未找到优先ID,则将所有单标签3D信息归零。以前,当未找到优先标签时,只有Tx、Ta、Ty和Tv被归零
  • 如果唯一可见的标签已被UI的"ID过滤器"功能过滤,则将botpose归零。以前,如果唯一可见的标签是被过滤的标签,botposes会重置为场地中心而不是(0,0,0);
  • 2024.2在某些罕见情况下会向某些网络表条目发布NAN值。这种情况不会再发生。

LimelightLib 1.4 (3/21/24)

  • 添加对2024.3.4原始基准标记的支持。PoseEstimates现在包括一个rawFiducials数组,其中包含id、txnc、tync、ta、distanceToCamera、distanceToRobot和ambiguity

Limelight Hardware Manager 1.4 (3/18/24)

错误修复

发现的USB Limelights正确显示为单个条目,而不是两个部分条目。


Limelight OS 2024.2.2 (3/17/24)

错误修复

TX和TY在NT条目中正确尊重十字线。


Limelight OS 2024.2 (3/8/24)

零十字线瞄准与Json (tx_nocross, ty_nocross)和NT (txnc, tync)

如果您使用tx/ty瞄准与自定义内参校准,您可能仍然看到相机间的变化,因为Limelight十字线与相机的主像素不对齐。需要更高tx/ty精度的团队可以配置十字线以匹配主像素,或使用这些新指标。

tx/ty中的潜在破坏性变更

本赛季早些时候引入了一个错误,特别破坏了json中tx、ty和tx + ty的自定义校准。在多种情况下,Limelight OS会恢复为默认校准。

校准升级

校准现在几乎是即时的,无论捕获了多少图像。我们还修复了在某些情况下由于有超过约30张图像而导致的崩溃。

使用15-20张纸质目标图像,我们一致获得约1像素的重投影误差,使用我们高质量的calib.io目标,误差为0.3像素。

基准过滤器UI修复

基准过滤器文本框现在接受任意数量的过滤器。

其他

Apriltag生成器默认为"无边框",以防止165.1 mm标签的缩放。


Limelight OS 2024.1.1 (2/24/24)

  • 修复priorityID

Limelight OS 2024.1 (2/24/24)

HW 指标 (hw 键值在 networktables, /status GET 请求)

校准改进

  • 修复了当校准图像恰好包含一个有效检测时可能发生的崩溃。改进了网页界面反馈。

机器人定位改进 (标签数量等)

  • 所有 networktables botpose 数组 (botpose, botpose_wpiblue 和 botpose_wpired) 现在包括标签数量、标签跨度(米)、平均距离(米)和平均面积(图像百分比)

  • 这些指标是根据上传的场地地图中包含的标签计算的。自定义和/或移动 AprilTag 不会影响这些指标。

  • 通过设备校准和此 botpose 数组升级,我们认为今年绝大多数使用场景不需要 JSON。

  • JSON 转储现在包括 botpose_avgarea、botpose_avgdist、botpose_span 和 botpose_tagcount 以方便使用。

[tx,ty,tz,rx,ry,rz,latency,tagcount,tagspan,avgdist,avgarea]

新功能:优先 ID (NT 键 priorityid)

  • 如果您的机器人同时使用基于里程计的功能和基于 tx/ty 的功能,您可能遇到过以下用户体验问题:

  • 在此更新之前,没有简单的方法可以轻松切换 tx/ty 目标的首选标签 ID。

  • 虽然 UI 中有 ID 过滤器,但它

    • 不是动态的
    • 会从 megaTag 定位中移除标签。
  • 这意味着团队需要创建多个管道:一个用于 3D 定位,每个 tx/ty 标签一个(一个用于蓝方射击的标签 7 管道,一个用于蓝方充能的标签 6 管道,等等)。

  • 新的优先 ID 功能(NT 键 priorityid)允许您告诉 Limelight "在所有标签检测、过滤和排序完成后,专注于与优先 ID 匹配的标签。"

  • 这不会以任何方式影响定位,它只会稍微改变 JSON 结果中标签的顺序。

  • 如果您的优先 ID 不是 -1,除非所选标签可见,否则 tx/ty/ta 将返回 0。

其他

  • 修复了在 3D apriltag 管道中使用双目标模式时屏幕上的"x"
  • REST API 扩展了神经网络标签上传功能 (/uploadlabels)
  • 在 /status json 中包含设备昵称

LimelightLib 1.3

  • LimelightLib (Java 和 CPP) 已更新,使定位比以往更容易。
  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);
}


团队新资源

Limelight 反馈和问题跟踪器:https://github.com/LimelightVision/limelight-feedback/issues

示例代码库:https://github.com/LimelightVision/limelight-examples

带有 Swerve 的瞄准和测距示例:https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-aiming-and-ranging

MegaTag 定位示例:https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-pose-estimation

感谢最近的贡献者 jasondaming, Gold876, JosephTLockwood, Andrew Gasser 和 virtuald


Limelight 2024 更新 (2/6/24)

Limelight 文档升级

  • 文档已重写,以简化设置过程

Limelight AprilTag 生成器

  • https://tools.limelightvision.io/ 现在提供首个在线 AprilTag 生成器。
  • 选择您的纸张大小、标记大小和标签 ID 以生成可打印的 PDF。
  • Safari 目前可能无法正确显示标签。

Limelight 地图构建器

新硬件管理器

  • 查找工具现在是 Limelight 硬件管理器
  • 它已从头开始重写。现在可以可靠地检测 Limelight,提供更有用的诊断信息,并且不需要重启即可正常工作。
  • 现在可以从下载页面获取 notebook screenshot:

训练您自己的神经网络

notebook screenshot:

2024 AprilTag 地图和 Note 检测器

  • 地图和检测器模型已添加到下载页面和最新的 Limelight OS 镜像中。

Limelight OS 2024.0 (2/6/24)

ChArUco 校准修复

  • 我们的 ChArUco 检测器的亚像素精度已提高。使用剪贴板目标和 20 张图像,现在可以实现 1-2 像素的重投影误差。
  • 使用相同的相机和相同的目标,2023.6 实现了 20 像素的 RPE,而 2024.0 实现了 1.14 像素的 RPE。
  • 输入字段不再接受字母和特殊字符。这消除了潜在的崩溃可能性。

开箱即用的 Megatag 精度改进

  • 在此更新之前,Limelight 的内部 Megatag 地图生成器引用了 UI 的标签大小滑块,而不是 .fmap 文件提供的标签大小。
  • Megatag 现在尊重 fmap 文件中配置的标签大小,并忽略大小滑块。
  • 如果您的大小滑块未设置为 165.1 毫米,您将立即注意到定位精度的改进

性能升级和错误修复

  • 更高 FPS 的 AprilTag 管道
  • 场地空间可视化器的性能已显著提高。

错误修复

  • 3D 可视化器中的 Apriltags 有时会显示不正确或损坏的标签图像。现在标签始终正确显示。
  • "v" / tv / "valid" 现在只有在有有效检测时才会返回 "1"。以前,tv 总是 "1"