跳到主要内容

跟踪AprilTags

AprilTags使用标准的"tx"、"ty"和"ta"值进行跟踪。从颜色/反光跟踪机器人升级到AprilTags不需要更改代码。 "botpose"和"campose"也可用于场地空间和目标空间的3D跟踪。

对于多标签的高级用法,可以使用JSON结果导出。

FRC AprilTags快速入门

  • 输入选项卡 - 将"管道类型"更改为"基准标记"

  • 输入选项卡 - 3D跟踪使用最高可用分辨率,或纯2D跟踪使用640x480

  • 标准选项卡 - 确保"标签系列"设置为"AprilTag Classic 36h11"

  • 输入选项卡 - 将"黑电平"设置为零

  • 输入选项卡 - 将"增益"设置为15

  • 输入选项卡 - 减少曝光时间以减少运动时因运动模糊导致的跟踪丢失。一旦跟踪可靠性降低,停止减少。在光线较暗的比赛中,您可能需要增加曝光时间。

  • 标准选项卡 - 如果您想提高帧率,增加"检测器下采样"

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

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

  • 如果您更改了相应设置,请点击"更改队伍号码"和"更改IP设置"。重启您的机器人电源。

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

提示

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

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

AprilTag跟踪中以下变量之间存在相互影响:

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

输入选项卡

输入选项卡包含更改原始相机图像的控件,然后再将其传递到处理管道。有关更多详细信息,请参阅"构建反光/颜色管道"页面。

要跟踪AprilTags:

  • 将"管道类型"更改为"基准标记"
  • 将"黑电平"设置为零

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

标准选项卡

标签系列

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

标记尺寸

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

检测器下采样

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

ID过滤器

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

裁剪

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

多目标排序和分组

这允许在标准反光管道中看到的精确分组功能。在大多数比赛中,唯一需要修改的功能是"面积"过滤器,它将允许您过滤掉小标签。