Pular para o conteúdo principal

Rastreamento de AprilTags

AprilTags são rastreados usando os valores padrão "tx", "ty" e "ta". Nenhuma alteração de código é necessária para atualizar um robô de rastreamento de cor/retroreflexivo para AprilTags. "botpose" e "campose" também podem ser usados para rastreamento 3D no espaço do campo e no espaço do alvo.

Para uso mais avançado com múltiplas tags, o dump de resultados JSON pode ser utilizado.

Início Rápido para AprilTags na FRC

  • Aba Input - Mude "Pipeline Type" para "Fiducial Markers"

  • Aba Input - Use a maior resolução disponível para rastreamento 3D, ou use 640x480 para rastreamento 2D puro.

  • Aba Standard - Certifique-se de que "family" esteja configurado para "AprilTag Classic 36h11"

  • Aba Input - Defina "Black Level" como zero

  • Aba Input - Defina "Gain" como 15

  • Aba Input - Reduza a exposição para diminuir a perda de rastreamento durante o movimento devido ao desfoque de movimento. Pare de reduzir quando a confiabilidade do rastreamento diminuir. Pode ser necessário aumentar a exposição em eventos com pouca iluminação.

  • Aba Standard - Se quiser aumentar sua taxa de quadros, aumente o "Detector Downscale"

  • Se você deseja usar rastreamento 3D e rastreamento 2D tx/ty simultaneamente, defina a prioridade do ID da Tag nas networktables para configurar a tag preferida para rastreamento 2D.

  • Clique no ícone de "Engrenagem" e certifique-se de que o número da sua equipe esteja definido e que um IP estático esteja configurado.

  • Clique em "Change Team Number" e "Change IP Settings" se você alterou as configurações correspondentes. Reinicie seu robô.

  • Pronto! Use "tx" e "ty" das networktables. Copie o exemplo de código na página "getting started".

Dicas

Para um rastreamento ideal, considere o seguinte:

  • Suas tags devem ser o mais planas possível.
  • Sua Limelight deve ser montada acima ou abaixo da altura da tag e angulada para cima/baixo de forma que o alvo fique centralizado. Seu alvo deve parecer o mais trapezoidal possível da perspectiva da sua câmera. Você não quer que sua câmera fique completamente "de frente" para uma tag se quiser evitar a inversão da tag.

Existe uma interação entre as seguintes variáveis para o Rastreamento de AprilTags:

  • Aumentar a resolução de captura sempre aumentará a precisão 3D e aumentará a estabilidade 3D. Isso também reduzirá a taxa de inversão de ambiguidade na maioria das perspectivas. Geralmente aumentará o alcance. Isso reduzirá a taxa de quadros do pipeline.
  • Aumentar o downscale do detector sempre aumentará a taxa de quadros do pipeline. Diminuirá o alcance efetivo, mas em alguns casos isso pode ser insignificante. Não afetará a precisão 3D, estabilidade 3D ou precisão de decodificação.
  • Reduzir a exposição sempre melhorará a resiliência ao desfoque de movimento. Isso é realmente fácil de observar. Pode reduzir o alcance.
  • Reduzir o brilho e o contraste da imagem geralmente melhorará a taxa de quadros do pipeline e reduzirá o alcance.
  • Aumentar o ganho do sensor permite aumentar o brilho sem aumentar a exposição. Pode reduzir a estabilidade 3D e pode reduzir a estabilidade do rastreamento.

Aba Input

A Aba Input contém controles para alterar a imagem bruta da câmera antes de ser passada pelo pipeline de processamento. Veja a página "Building a retroreflective/color pipeline" para mais detalhes.

Para rastrear AprilTags:

  • Mude "Pipeline Type" para "Fiducial Markers"
  • Defina "Black Level" como zero

Neste ponto, é uma questão de equilibrar o ganho do sensor e o tempo de exposição. Você quer ser capaz de ver as tags com a menor exposição possível para minimizar o desfoque de movimento. Isso geralmente requer uma configuração de ganho de sensor alta. Para rastreamento 2D simples, muitas vezes é aconselhável maximizar o ganho do sensor e, em seguida, aumentar a exposição a partir de zero até que os alvos sejam rastreados suficientemente. Certifique-se de que a família correta esteja selecionada na aba "Standard" se o rastreamento não estiver funcionando.

Aba Standard

Family

Seleciona o tipo de família fiducial/AprilTag. Para FRC, você deve selecionar "AprilTag Classic 36h11"

Marker Size

Define o tamanho esperado das tags que seu robô encontrará em mm. Para FRC, isso deve ser definido como 165.1 (152.4 para tags de 2023)

Detector Downscale

Aumentar este número resultará em ganhos significativos de desempenho. Isso às vezes resultará em alcance reduzido, mas o custo geralmente é mínimo.

ID Filters

Os Filtros de ID permitem especificar exatamente quais tags você se importa. Para a maioria das equipes FRC, cada pipeline deve ser configurado para rastrear exatamente um ID de tag. Esta é uma lista separada por vírgulas de números (por exemplo, "0,1"). Este recurso é importante para eliminar a grande maioria dos falsos positivos.

Cropping

O recorte remove conteúdo da imagem para obter enormes ganhos de desempenho. Use a chave NT "crop" para recortar dinamicamente durante as partidas

Multi-Target Sorting and Grouping

Isso permite a funcionalidade exata de agrupamento vista em pipelines retroreflexivos padrão. Na maioria dos jogos, o único recurso a ser modificado é o filtro "Area", que permitirá filtrar tags pequenas.