跳到主要内容

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

赛事期间校准

  • 将机器人移动到场地上的每个目标前。
    • 确保阈值处理正常工作。在此过程中切换到"threshold"视图(位于图像流下方)。
    • 将机器人移动到靠近目标和远离目标的位置。确保准星校准正确。
    • 在远离目标时,将机器人向左右旋转约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
  • 为你的Limelights设置唯一的主机名(如果使用多个)。
  • 为你的Limelights设置唯一的静态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

比赛前检查清单

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

带宽

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

故障排除

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