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 alivios de tensión a todos los cables de alimentación y ethernet que van a tu LL.
- Considera pegar con pegamento caliente 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 los 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 mientras estás en un evento y para 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. Enruta 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
- Java
- C++
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 de 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
#include <wpi/PortForwarder.h>
void Robot::RobotInit
{
for (int port = 5800; port <= 5809; port++)
{
wpi::PortForwarder::GetInstance().Add(port, "limelight-left.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++)
{
wpi::PortForwarder::GetInstance().Add(port+10, "limelight.local", port);
}
http://roborio-(teamnum)-FRC.local:5811 ahora reenviará a limelight-left.local:5801
Después de habilitar el reenvío de puertos, puedes 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 de "umbral" 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 a la izquierda y derecha ~ 30 grados para asegurarte de 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 no se estén rastreando accidentalmente otros elementos del campo / arena. Verifica tus filtros de área y relación de aspecto si estás captando 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 de negro hasta que se eliminen las luces del campo y los reflejos de LED de la imagen.
- Prueba tu umbralización mientras estás lejos y en ángulo respecto a tu objetivo.
- Usa el "Rechazo Inteligente de Manchas" de 2019.7 para filtrar reflejos de LED no deseados
Antes de Conectarse 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 se conecten 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 deshilachados.
- Revisa todos los tornillos de montaje / bridas / cinta.
- Observa las precauciones ESD en todo momento.
Ancho de Banda
- Algunos equipos ejecutan dos Limelights con dos cámaras USB mientras se mantienen muy 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 de conductor, crea una tubería de "conductor". Baja la exposición para reducir el ancho de banda de la 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 la transmisión.
- Cambia la tasa de transmisión a "baja" 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 de 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.