跳到主要内容

追踪 AprilTags

AprilTags 使用标准的 "tx"、"ty" 和 "ta" 值进行追踪。将颜色/回射追踪机器人升级到 AprilTags 无需更改代码。 "botpose" 和 "campose" 也可用于场地空间和目标空间的 3D 追踪。

对于涉及多个标签的高级用法,可以使用 JSON 结果输出。

FRC AprilTags 快速入门

  • Input 选项卡 - 将 "Pipeline Type" 更改为 "Fiducial Markers"

  • Input 选项卡 - 对于 3D 追踪使用最高可用分辨率,或对于纯 2D 追踪使用 640x480。

  • Standard 选项卡 - 确保 "family" 设置为 "AprilTag Classic 36h11"

  • Input 选项卡 - 将 "Black Level" 设置为零

  • Input 选项卡 - 将 "Gain" 设置为 15

  • Input 选项卡 - 降低曝光以减少运动时因运动模糊导致的追踪丢失。当追踪可靠性下降时停止降低。在光线较暗的场地,您可能需要增加曝光。

  • Standard 选项卡 - 如果您想提高帧率,请增加 "Detector Downscale"

  • 如果您想同时使用 3D 追踪和 2D tx/ty 追踪,请通过 NetworkTables 设置优先标签 ID 来配置 2D 追踪的首选标签。

  • 点击 "齿轮" 图标,确保您的队伍号码已设置并且已配置静态 IP。

  • 如果您更改了相应的设置,请点击 "Change Team Number" 和 "Change IP Settings"。重新启动您的机器人。

  • 完成!使用 NetworkTables 中的 "tx" 和 "ty"。复制 "入门" 页面上的代码示例。

技巧

为了获得理想的追踪效果,请考虑以下几点:

  • 您的标签应尽可能平整。
  • 您的 Limelight 应安装在标签高度的上方或下方,并向上/向下倾斜使目标居中。从相机的视角来看,您的目标应该尽可能呈梯形。如果您想避免标签翻转,您不希望相机与标签完全 "正对"。

AprilTag 追踪涉及以下变量之间的相互作用:

  • 增加捕获分辨率将始终提高 3D 精度和 3D 稳定性。这也将减少大多数视角下的歧义翻转率。通常会增加追踪范围。这将降低管道帧率。
  • 增加检测器降采样将始终提高管道帧率。它会降低有效范围,但在某些情况下这可能可以忽略不计。它不会影响 3D 精度、3D 稳定性或解码精度。
  • 降低曝光将始终提高运动模糊抗性。这实际上很容易观察到。这可能会减少追踪范围。
  • 降低图像的亮度和对比度通常会提高管道帧率并减少追踪范围。
  • 增加传感器增益允许您在不增加曝光的情况下提高亮度。它可能会降低 3D 稳定性,也可能会降低追踪稳定性。

Input 选项卡

Input 选项卡包含在原始相机图像通过处理管道之前对其进行更改的控件。有关更多详细信息,请参阅 "构建回射/颜色管道" 页面。

要追踪 AprilTags:

  • 将 "Pipeline Type" 更改为 "Fiducial Markers"
  • 将 "Black Level" 设置为零

此时,需要平衡传感器增益和曝光时间。您希望能够以尽可能小的曝光看到标签,以最大限度地减少运动模糊。 这通常需要较高的传感器增益设置。对于简单的 2D 追踪, 通常建议将传感器增益调到最大,然后从零开始增加曝光,直到目标被充分追踪。如果追踪不起作用,请确保在 "Standard" 选项卡中选择了正确的 family。

Standard 选项卡

Family

选择基准标记/AprilTag 系列类型。对于 FRC,您应该选择 "AprilTag Classic 36h11"

Marker Size

设置您的机器人将遇到的标签的预期尺寸(以毫米为单位)。对于 FRC,这应该设置为 165.1(2023 年的标签为 152.4)

Detector Downscale

增加此数值将显著提升性能。这有时会导致追踪范围减少,但代价通常很小。

ID Filters

ID 过滤器允许您精确指定您关心的标签。对于大多数 FRC 队伍,每个管道应配置为仅追踪一个标签 ID。 这是一个逗号分隔的数字列表(例如 "0,1")。此功能对于消除绝大多数误报非常重要。

Cropping

裁剪可以从图像中移除内容以大幅提升性能。使用 NT "crop" 键在比赛期间动态裁剪

Multi-Target Sorting and Grouping

这允许与标准回射管道中看到的完全相同的分组功能。在大多数比赛中,唯一需要修改的功能是 "Area" 过滤器,它允许您过滤掉小标签。