Pular para o conteúdo principal

Rastreamento de AprilTags

Os 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 colorido/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 várias tags, o dump de resultados JSON pode ser usado.

Início Rápido para AprilTags na FRC

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

  • Aba Input - Use a resolução mais alta 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ê quiser 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 "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 modo 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 esteja 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 AprilTag:

  • 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 por 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 resistência ao desfoque de movimento. Isso é realmente fácil de observar. Isso 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:

  • Altere "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 depois aumentar a exposição a partir de zero até que os alvos sejam rastreados adequadamente. 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 a FRC, você deve selecionar "AprilTag Classic 36h11"

Marker Size

Define o tamanho esperado das tags que seu robô encontrará em mm. Para a 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 da FRC, cada pipeline deve ser configurado para rastrear exatamente um ID de tag. Esta é uma lista de números separados por vírgulas (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.