Rastreando AprilTags
AprilTags são rastreados usando os valores padrão "tx", "ty" e "ta". Nenhuma alteração no 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 múltiplas tags, o dump de resultados JSON pode ser usado.
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 2D puro.
-
Aba Standard - Certifique-se 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 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 Tag ID sobre networktables para configurar a tag preferida para rastreamento 2D.
-
Clique no ícone "Engrenagem" e certifique-se de que seu número de 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" das networktables. Copie o exemplo de código na página "getting started".
Dicas
Para 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" com 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 aumentará a estabilidade 3D. Isso também reduzirá a taxa de ambiguidade de inversão na maioria das perspectivas. Geralmente aumentará o alcance. Isso reduzirá a taxa de quadros do pipeline.
- Aumentar o detector downscale 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 contraste da imagem geralmente melhora a taxa de quadros do pipeline e reduz 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 alta de ganho do sensor. Para rastreamento 2D simples, frequentemente é aconselhável maximizar o ganho do sensor e então aumentar sua exposição a partir do 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 ganhos significativos de desempenho. Isso às vezes resultará em alcance reduzido, mas o custo geralmente é mínimo.
ID Filters
ID Filters permitem especificar exatamente quais tags você se importa. Para a maioria das equipes FRC, cada pipeline deve ser configurado para rastrear exatamente uma ID de tag. Esta é uma lista de números separados por vírgulas (ex. "0,1"). Este recurso é importante para eliminar a grande maioria dos falsos positivos.
Cropping
Cropping remove conteúdo da imagem para grandes ganhos de desempenho. Use a chave NT "crop" para cortar 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á que você filtre tags pequenas.