Pular para o conteúdo principal

Melhores Práticas FRC

Lista de Verificação para Preparação de Eventos

  • Faça o download e backup de todos os 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 dos seus pipelines e seus índices.
    • 1 - Alvo Duplo Baixo
    • 2 - Alvo Duplo Alto Carga
  • Adicione alívios de tensão a todos os cabos de energia e ethernet que vão para o seu LL.
  • Considere colar com cola quente todas as conexões.
  • Certifique-se de usar um painel (Smartdashboard, Shuffleboard) e não um navegador web para visualizar o stream durante os treinos e eventos. Os controles web padrão não têm a capacidade de reconectar automaticamente aos streams após desconexões espúrias, mas o SmartDashboard e o Shuffleboard têm reconexão automática integrada por padrão.
  • Adicione um switch de rede ao seu robô para permitir a conexão ethernet durante um evento e evitar a segunda porta do rádio. Recomendamos o Switch Brainboxes SW-005 de 5 portas
  • Use cabos Cat6 trançados com fios flexíveis. Não use cabos ethernet planos.
  • Não use a segunda porta do rádio. Roteie todos os dispositivos através do seu switch de rede, se possível.
  • Configure o Encaminhamento de Portas para permitir a comunicação do Limelight enquanto conectado ao seu robô via USB.
    • Encaminhe as portas 5800, 5801, 5802, 5803, 5804, 5805, 5806 e 5807
    import edu.wpi.first.wpiutil.net.PortForwarder;
@Override
public void robotInit()
{
// Certifique-se de configurar o encaminhamento de portas apenas uma vez no código do seu robô.
// Não coloque essas chamadas de função em nenhuma função periódica
for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port, "limelight.local", port);
}
}

http://roborio-(teamnum)-FRC.local:5801 agora encaminhará para limelight.local:5801

Para adicionar um segundo limelight, use um conjunto diferente de portas locais. Observe o "+10" no primeiro 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 agora encaminhará para limelight-left.local:5801

Após o encaminhamento de portas ser ativado, você pode acessar a página de configuração do seu Limelight em http://roborio-(teamnum)-FRC.local:5801. Por exemplo, a equipe 2928 usaria http://roborio-2928-FRC.local:5801

Calibração Durante o Evento

  • Mova seu robô para cada alvo no campo.
    • Certifique-se de que o thresholding está funcionando corretamente. Mude para a visualização "threshold" durante este processo (localizada abaixo do stream de imagem).
    • Mova seu robô para perto do alvo e longe do alvo. Garanta que as miras estejam calibradas corretamente.
    • Enquanto estiver longe do alvo, gire seu robô para a esquerda e direita ~ 30 graus para garantir que outros alvos não sejam rastreados erroneamente.
    • Veja 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 você estiver captando luzes da arena.
    • Tire snapshots de todos os alvos e rastreamentos errôneos. Você pode usar estes para ajustar seus pipelines nos pits.

Ajuste de Pipeline

  • Use a menor exposição possível e aumente o offset do nível de preto até que as luzes do campo e reflexos de LED sejam removidos da imagem.
  • Teste seu thresholding enquanto estiver longe e em ângulo em relação ao seu alvo.
  • Use o "Smart Speckle Rejection" do 2019.7 para filtrar reflexos de LED indesejados

Antes de Conectar ao Campo

  • Dê ao seu laptop 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
  • Dê ao seu RIO uma configuração de IP estático.
    • IP: "10.TE.AM.2"
    • Máscara de Sub-rede: 255.255.255.0 ** - NOTE A DIFERENÇA AQUI**
    • Gateway: 10.TE.AM.1
  • Dê aos seus Limelights nomes de host únicos (se estiver usando múltiplos).
  • Dê aos seus Limelights configurações de IP estático únicas.
    • Sempre comece com endereços ".11" e vá para cima. (10.9.87.11, etc.)
    • O uso de outros endereços pode fazer com que suas unidades funcionem mal quando conectadas ao FMS.
    • IP: "10.TE.AM.11"
    • Máscara de sub-rede: 255.255.255.0
    • Gateway: "10.TE.AM.1"

Nota: Equipes com zeros precisam prestar atenção especial:

  • A equipe 916 usa 10.9.16.xx,
  • A equipe 9106 usa 10.91.6.xx
  • A equipe 9016 usa 10.90.16.xx

Informações adicionais: https://docs.wpilib.org/en/stable/docs/networking/networking-introduction/ip-configurations.html

Lista de Verificação 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 frouxidão e fios desfiados.
  • Verifique todos os parafusos de montagem / abraçadeiras / fita.
  • Observe as precauções ESD em todos os momentos.

Largura de Banda

  • Algumas equipes executam dois Limelights com duas câmeras USB enquanto permanecem bem abaixo do limite de largura de banda. Siga os passos abaixo para reduzir a largura de banda.
  • Em vez de usar o modo de driver, crie um pipeline "driver". Diminua a exposição para reduzir a largura de banda do stream.
  • Usando uma câmera USB? Use a chave NT "stream" para habilitar o modo picture-in-picture. Isso reduzirá drasticamente a largura de banda do stream.
  • Coloque a taxa de stream em "baixa" na página de configurações se o streaming não for crítico para a condução.
  • Use a opção de stream 160x120 introduzida em 2019.7.

Solução de Problemas

  • Tente acessar o stream em IP:5800 com um navegador web. Isso deve ajudar você a determinar a raiz dos seus problemas.
  • Reinicie seu painel
  • Reinicie seu computador
  • Reinicie seu robô se o campo tiver sido resetado
  • Cabos Ethernet quebrados podem ser a causa de problemas de rede intermitentes.
  • Sempre use configurações de IP estático no campo.