跳到主要内容

FRC 最佳实践

赛事准备清单

  • 将所有管道下载并备份到您的编程笔记本电脑上。
  • 将最新的 Limelight 镜像下载到您的编程笔记本电脑上。
  • 记录您的管道及其索引列表。
    • 1 - 双目标低位
    • 2 - 双目标高位货物
  • 为连接到 LL 的所有电源和以太网线缆添加应力消除装置。
  • 考虑对所有连接进行热熔胶固定。
  • 确保在练习和比赛期间使用仪表盘(Smartdashboard、Shuffleboard)而不是网络浏览器来查看视频流。默认的网页控件在偶发断开连接后无法自动重新连接到视频流,但 SmartDashboard 和 Shuffleboard 默认都内置了自动重连功能。
  • 在机器人上添加一个网络交换机,以便在赛事期间启用以太网连接,并避免使用第二个无线电端口。我们推荐使用 Brainboxes SW-005 5 端口交换机
  • 使用带有绞线的 Cat6 线缆。不要使用扁平以太网线缆。
  • 不要使用第二个无线电端口。如果可能,将所有设备通过网络交换机连接。
  • 设置端口转发,以便在通过 USB 连接到机器人时启用 Limelight 通信。
    • 转发端口 5800、5801、5802、5803、5804、5805、5806 和 5807
    import edu.wpi.first.wpiutil.net.PortForwarder;
@Override
public void robotInit()
{
// 确保您只在机器人代码中配置一次端口转发。
// 不要将这些函数调用放在任何周期性函数中
for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port, "limelight.local", port);
}
}

现在 http://roborio-(teamnum)-FRC.local:5801 将转发到 limelight.local:5801

要添加第二个 limelight,请使用不同的本地端口集。注意第一个 PortForwarder.add() 参数中的 "+10":


for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port+10, "limelight-left.local", port);
}

现在 http://roborio-(teamnum)-FRC.local:5811 将转发到 limelight-left.local:5801

启用端口转发后,您可以在 http://roborio-(teamnum)-FRC.local:5801 访问 Limelight 的配置页面。例如,2928 队将使用 http://roborio-2928-FRC.local:5801

赛事期间校准

  • 将机器人移动到场地上的每个目标处。
    • 确保阈值处理正常工作。在此过程中切换到"阈值"视图(位于图像流下方)。
    • 将机器人移动到靠近目标和远离目标的位置。确保十字准线校准正确。
    • 在远离目标时,将机器人向左和向右旋转约 30 度,以确保不会错误地跟踪其他目标。
    • 有关更多调整技巧,请参阅下面的调整部分。
    • 确保没有其他场地/竞技场元素被意外跟踪。如果您捕捉到竞技场灯光,请检查面积和纵横比过滤器。
    • 对所有目标和错误跟踪进行快照。您可以使用这些快照在维修区调整管道。

管道调整

  • 使用尽可能低的曝光度,并增加黑电平偏移,直到从图像中去除场地灯光和 LED 反射。
  • 在远离目标并与目标成一定角度时测试阈值处理。
  • 使用 2019.7 版本的"智能斑点消除"功能来过滤掉不需要的 LED 反射。

连接到场地前

  • 为您的笔记本电脑设置静态 IP 配置。
    • IP:10.TE.AM.5
    • 子网掩码:255.0.0.0
    • 网关:10.TE.AM.1
  • 为您的 RIO 设置静态 IP 配置。
    • IP:"10.TE.AM.2"
    • 子网掩码:255.255.255.0 ** - 注意此处的差异**
    • 网关:10.TE.AM.1
  • 为您的 Limelight 设置唯一的主机名(如果使用多个)。
  • 为您的 Limelight 设置唯一的静态 IP 配置。
    • 始终从".11"地址开始,然后向上增加。(10.9.87.11 等)
    • 使用其他地址可能会导致您的设备在连接到 FMS 时出现故障。
    • IP:"10.TE.AM.11"
    • 子网掩码:255.255.255.0
    • 网关:"10.TE.AM.1"

注意:队号中包含零的队伍需要特别注意:

  • 916 队使用 10.9.16.xx,
  • 9106 队使用 10.91.6.xx
  • 9016 队使用 10.90.16.xx

更多信息:https://docs.wpilib.org/en/stable/docs/networking/networking-introduction/ip-configurations.html

比赛前检查清单

  • 检查连接到 Limelight 的所有电源和以太网线缆。
  • 检查所有电气连接是否松动和线缆是否磨损。
  • 检查所有安装螺丝/扎带/胶带。
  • 始终注意静电放电预防措施。

带宽

  • 一些队伍在使用两个 Limelight 和两个 USB 摄像头的情况下,仍然远低于带宽限制。按照以下步骤减少带宽使用。
  • 不要使用驾驶模式,而是创建一个"驾驶"管道。降低曝光度以减少流带宽。
  • 使用 USB 摄像头?使用"stream" NT 键启用画中画模式。这将大大减少流带宽。
  • 如果流不是驾驶的关键,请在设置页面将流速率设置为"低"。
  • 使用 2019.7 版本引入的 160x120 流选项。

故障排除

  • 尝试使用网络浏览器访问 IP:5800 的流。这应该能帮助您确定问题的根源。
  • 重启仪表盘
  • 重启计算机
  • 如果场地已重置,请重启机器人
  • 损坏的以太网线缆可能是间歇性网络问题的原因。
  • 在场地上始终使用静态 IP 配置。