Melhores práticas Lista de Verificação de Preparação para o Evento Baixe e faça backup de todas as pipelines para o seu laptop de programação. Faça o download de uma cópia da imagem mais recente do Limelight para o seu laptop de programação. Registre uma lista das suas pipelines e seus índices. 1 - Dual Target Low 2 - Dual Target High Cargo Adicione alívios de tensão a todos os cabos de energia e Ethernet que vão para o seu Limelight. Considere aplicar cola quente a todas as conexões. Certifique-se de estar usando um painel de controle (Smartdashboard, Shuffleboard) e não um navegador da web para visualizar o stream durante treinos e eventos. Os controles web padrão não têm a capacidade de reconectar automaticamente a streams após desconexões acidentais, mas o SmartDashboard e o Shuffleboard têm reconexão automática incorporada por padrão. Adicione um switch de rede ao seu robô para habilitar a conexão Ethernet enquanto estiver em um evento e evitar a segunda porta de rádio. Use cabos Cat6 torcidos com fios flexíveis. Não use cabos Ethernet planos. Não use a segunda porta de rádio. Encaminhe todos os dispositivos por meio do seu switch de rede, se possível. Configure o encaminhamento de porta (Port Forwarding) para permitir a comunicação do Limelight ao ser conectado ao seu robô via USB. Encaminhe as portas 5800, 5801, 5802, 5803, 5804, 5805, 5806 e 5807. Java import edu.wpi.first.wpiutil.net.PortForwarder; @Override public void robotInit() { // Certifique-se de configurar o encaminhamento de porta apenas uma vez no código do robô. // Não coloque essas chamadas de funções em funções periodicas for (int port = 5800; port <= 5807; port++) { PortForwarder.add(port, "limelight.local", port); } } C++ import edu.wpi.first.wpiutil.net.PortForwarder; @Override public void robotInit() { // Certifique-se de configurar o encaminhamento de porta apenas uma vez no código do robô. // Não coloque essas chamadas de funções em funções periodicas for (int port = 5800; port <= 5807; port++) { PortForwarder.add(port, "limelight.local", port); } } Calibração durante o evento Role seu robô até cada alvo no campo. Certifique-se de que a segmentação está funcionando corretamente. Mude para a visualização "threshold" durante este processo (localizada abaixo do fluxo de imagem). Role seu robô próximo ao alvo e longe do alvo. Garanta que as miras estejam calibradas corretamente. Enquanto estiver longe do alvo, gire seu robô para a esquerda e para a direita ~ 30 graus para garantir que outros alvos não sejam rastreados erroneamente. Consulte a seção de ajuste abaixo para mais dicas de ajuste. Certifique-se de que nenhum outro elemento do campo/arena esteja sendo rastreado acidentalmente. Verifique seus filtros de área e proporção se estiver captando as luzes da arena. Tire capturas de tela de todos os alvos e rastreamentos incorretos. Você pode usá-los para ajustar suas pipelines nos boxes. Melhorando o pipeline Utilize a exposição mais baixa possível e aumente o deslocamento do nível de preto até que as luzes do campo e reflexos de LEDs sejam removidos da imagem. Teste sua segmentação enquanto estiver longe e inclinado para longe do seu alvo. Use o recurso "Smart Speckle Rejection" da versão 2019.7 para filtrar reflexos indesejados de LEDs. Antes de conectar ao campo Configure seu laptop com uma configuração de IP estático. IP: 10.TE.AM.5 Máscara de Sub-rede: 255.0.0.0 Gateway: 10.TE.AM.1 Configure seu RIO com uma configuração de IP estático. IP: "10.TE.AM.2" Máscara de Sub-rede: 255.255.255.0 <- ATENÇÃO PARA A DIFERENÇA AQUI Gateway: 10.TE.AM.1 Dê nomes de host exclusivos para seus Limelights (se estiver usando vários). Forneça configurações de IP estático únicas para seus Limelights. Comece sempre com endereços terminados em ".11" e vá aumentando. (10.9.87.11, etc.) O uso de outros endereços pode fazer com que suas unidades apresentem mau funcionamento quando conectadas ao FMS. IP: "10.TE.AM.11" Máscara de sub-rede: 255.255.255.0 Gateway: "10.TE.AM.1" Nota: As equipes com zeros precisam prestar atenção especial: - _Team 916 uses 10.9.16.xx,_ - _Team 9106 uses 10.91.6.xx_ - _Team 9016 uses 10.90.16.xx_ Informação adicional: https://docs.wpilib.org/en/stable/docs/networking/networking-introduction/ip-configurations.html Lista de checagem Pré-Partida Verifique todos os cabos de energia e Ethernet que vão para seus Limelights. Verifique todas as conexões elétricas quanto a folgas e fios desgastados. Verifique todos os parafusos de fixação / abraçadeiras / fita adesiva. Observe precauções contra descarga eletrostática (ESD) o tempo todo. Largura de banda Algumas equipes utilizam dois Limelights com duas câmeras USB, mantendo-se bem abaixo do limite de largura de banda. Siga as etapas abaixo para reduzir a largura de banda. Em vez de usar o modo de condução, crie uma pipeline "driver". Reduza a exposição para diminuir a largura de banda do stream. Está usando uma câmera USB? Utilize a chave NT "stream" para ativar o modo picture-in-picture. Isso reduzirá drasticamente a largura de banda do stream. Configure a taxa de stream para "baixa" na página de configurações se o streaming não for crítico para a condução. Utilize a opção de stream 160x120 introduzida na versão 2019.7. Solução de erros Tente acessar o stream em IP:5800 com um navegador da web. Isso deve ajudar a determinar a origem dos seus problemas. Reinicie o seu painel de controle. Reinicie o seu computador. Reinicie o seu robô se o campo tiver sido redefinido. Cabos Ethernet danificados podem ser a causa de problemas intermitentes de rede. Sempre use configurações de IP estático no campo.