Pular para o conteúdo principal

Rastreamento de AprilTags

AprilTags são rastreadas 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/retrorefletivo 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 FRC​

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

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

  • Aba Standard - Certifique-se de que "family" está definido como "AprilTag Classic 36h11"

  • Aba Input - Defina "Black Level" como zero

  • Aba Input - Defina "Gain" como 15

  • Aba Input - Reduza a exposição para reduzir a perda de rastreamento durante o movimento devido ao desfoque de movimento. Pare de reduzir quando a confiabilidade do rastreamento diminuir. Você pode precisar aumentar a exposição em eventos com pouca iluminação.

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

  • Se você quiser usar rastreamento 3D e rastreamento 2D tx/ty simultaneamente, defina o ID da Tag prioritária via 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 está definido e que um IP estático está configurado.

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

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

Dicas​

Para rastreamento ideal, considere o seguinte:

  • Suas tags devem estar o mais planas possível.
  • Seu Limelight deve ser montado acima ou abaixo da altura da tag e inclinado 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 Rastreamento de AprilTag:

  • Aumentar a resolução de captura sempre aumentará a precisão 3D e 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 negligenciável. 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 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 hospeda 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 alta de ganho do sensor. Para rastreamento 2D simples, é frequentemente aconselhável maximizar o ganho do sensor e então aumentar a exposição a partir de zero até que os alvos sejam rastreados suficientemente. Certifique-se de que a família correta está 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 aumentos significativos de desempenho. Isso às vezes resultará em alcance reduzido, mas o custo geralmente é mínimo.

ID Filters​

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 (ex. "0,1"). Este recurso é importante para eliminar a grande maioria dos falsos positivos.

Cropping​

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

Multi-Target Sorting and Grouping​

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