Saltar al contenido principal

Mejores Prácticas FRC

Lista de Preparación para Eventos

  • Descarga y respalda todas las tuberías en tu laptop de programación.
  • Descarga una copia de la última imagen de Limelight en tu laptop de programación.
  • Registra una lista de tus tuberías y sus índices.
    • 1 - Objetivo Dual Bajo
    • 2 - Objetivo Dual Alto Carga
  • Agrega protectores contra tensión a todos los cables de alimentación y ethernet que van a tu LL.
  • Considera usar pegamento caliente en todas las conexiones.
  • Asegúrate de usar un tablero (Smartdashboard, Shuffleboard) y no un navegador web para ver la transmisión durante las prácticas y eventos. Los controles web predeterminados no tienen la capacidad de reconectarse automáticamente a las transmisiones después de desconexiones espurias, pero SmartDashboard y Shuffleboard tienen reconexión automática incorporada por defecto.
  • Agrega un switch de red a tu robot para habilitar la conexión ethernet durante un evento y evitar el segundo puerto de radio. Recomendamos el Brainboxes SW-005 Switch de 5 puertos
  • Usa cables Cat6 trenzados con cables flexibles. No uses cables ethernet planos.
  • No uses el segundo puerto de radio. Dirige todos los dispositivos a través de tu switch de red si es posible.
  • Configura el Reenvío de Puertos para habilitar la comunicación con Limelight mientras estás conectado a tu robot por USB.
    • Reenvía los puertos 5800, 5801, 5802, 5803, 5804, 5805, 5806, y 5807
    import edu.wpi.first.wpiutil.net.PortForwarder;
@Override
public void robotInit()
{
// Asegúrate de configurar el reenvío de puertos solo una vez en tu código del robot.
// No coloques estas llamadas de función en ninguna función periódica
for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port, "limelight.local", port);
}
}

http://roborio-(teamnum)-FRC.local:5801 ahora reenviará a limelight.local:5801

Para agregar un segundo limelight, usa un conjunto diferente de puertos locales. Nota el "+10" en el primer argumento de PortForwarder.add():


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

http://roborio-(teamnum)-FRC.local:5811 ahora reenviará a limelight-left.local:5801

Después de habilitar el reenvío de puertos, podrás acceder a la página de configuración de tu Limelight en http://roborio-(teamnum)-FRC.local:5801. Por ejemplo, el equipo 2928 usaría http://roborio-2928-FRC.local:5801

Calibración Durante el Evento

  • Mueve tu robot hacia cada objetivo en el campo.
    • Asegúrate de que tu umbralización esté funcionando correctamente. Cambia a la vista "threshold" durante este proceso (ubicada debajo de la transmisión de imagen).
    • Mueve tu robot cerca del objetivo y lejos del objetivo. Asegúrate de que las cruces estén calibradas correctamente.
    • Mientras estés lejos del objetivo, rota tu robot izquierda y derecha ~ 30 grados para asegurar que otros objetivos no sean rastreados erróneamente.
    • Consulta la sección de ajuste a continuación para más consejos de ajuste.
    • Asegúrate de que ningún otro elemento del campo/arena esté siendo rastreado accidentalmente. Verifica tus filtros de área y relación de aspecto si estás detectando luces de la arena.
    • Toma capturas de pantalla de todos los objetivos y rastreos erróneos. Puedes usar estos para ajustar tus tuberías en los pits.

Ajuste de Tuberías

  • Usa la exposición más baja posible y aumenta el desplazamiento del nivel negro hasta que las luces del campo y los reflejos LED se eliminen de la imagen.
  • Prueba tu umbralización mientras estés lejos y en ángulo respecto a tu objetivo.
  • Usa el "Smart Speckle Rejection" de 2019.7 para filtrar reflejos LED no deseados

Antes de Conectarte al Campo

  • Dale a tu laptop una configuración IP estática.
    • IP: 10.TE.AM.5
    • Máscara de Subred: 255.0.0.0
    • Puerta de enlace: 10.TE.AM.1
  • Dale a tu RIO una configuración IP estática.
    • IP: "10.TE.AM.2"
    • Máscara de Subred: 255.255.255.0 ** - NOTA LA DIFERENCIA AQUÍ**
    • Puerta de enlace: 10.TE.AM.1
  • Dale a tus Limelights nombres de host únicos (si usas múltiples).
  • Dale a tus Limelights configuraciones IP estáticas únicas.
    • Siempre comienza con direcciones ".11" y sube. (10.9.87.11, etc.)
    • El uso de otras direcciones puede causar que tus unidades funcionen mal cuando estén conectadas al FMS.
    • IP: "10.TE.AM.11"
    • Máscara de subred: 255.255.255.0
    • Puerta de enlace: "10.TE.AM.1"

Nota: Los equipos con ceros necesitan prestar especial atención:

  • El equipo 916 usa 10.9.16.xx,
  • El equipo 9106 usa 10.91.6.xx
  • El equipo 9016 usa 10.90.16.xx

Información adicional: https://docs.wpilib.org/en/stable/docs/networking/networking-introduction/ip-configurations.html

Lista de Verificación Pre-Partido

  • Revisa todos los cables de alimentación y Ethernet que van a tus Limelights.
  • Revisa todas las conexiones eléctricas en busca de cables sueltos y desgastados.
  • Revisa todos los tornillos de montaje / amarres / cinta.
  • Observa las precauciones ESD en todo momento.

Ancho de Banda

  • Algunos equipos ejecutan dos Limelights con dos cámaras USB mientras se mantienen bien por debajo del límite de ancho de banda. Sigue los pasos a continuación para reducir el ancho de banda.
  • En lugar de usar el modo conductor, crea una tubería "conductor". Baja la exposición para reducir el ancho de banda de transmisión.
  • ¿Usando una cámara USB? Usa la clave NT "stream" para habilitar el modo picture-in-picture. Esto reducirá dramáticamente el ancho de banda de transmisión.
  • Cambia la tasa de transmisión a "low" en la página de configuración si la transmisión no es crítica para la conducción.
  • Usa la opción de transmisión 160x120 introducida en 2019.7.

Solución de Problemas

  • Intenta acceder a la transmisión en IP:5800 con un navegador web. Esto debería ayudarte a determinar la raíz de tus problemas.
  • Reinicia tu tablero
  • Reinicia tu computadora
  • Reinicia tu robot si el campo ha sido reiniciado
  • Los cables Ethernet rotos pueden ser la causa de problemas de red intermitentes.
  • Siempre usa configuraciones IP estáticas en el campo.