跳到主要内容

追踪 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" 过滤器,它允许您过滤掉小标签。