Aller au contenu principal

Suivi des AprilTags

Les AprilTags sont suivis en utilisant les valeurs standard "tx", "ty" et "ta". Aucune modification de code n'est nécessaire pour passer d'un robot de suivi de couleur/rétroréflectif aux apriltags. "botpose" et "campose" peuvent également être utilisés pour le suivi 3D dans l'espace du terrain et l'espace de la cible.

Pour une utilisation plus avancée avec plusieurs tags, le dump JSON des résultats peut être utilisé.

Démarrage rapide pour les AprilTags FRC

  • Onglet Input - Changez "Pipeline Type" en "Fiducial Markers"

  • Onglet Input - Utilisez la plus haute résolution disponible pour le suivi 3D, ou utilisez 640x480 pour le suivi 2D pur.

  • Onglet Standard - Assurez-vous que "family" est réglé sur "AprilTag Classic 36h11"

  • Onglet Input - Réglez "Black Level" à zéro

  • Onglet Input - Réglez "Gain" à 15

  • Onglet Input - Réduisez l'exposition pour réduire la perte de suivi en mouvement due au flou de mouvement. Arrêtez de réduire une fois que la fiabilité du suivi diminue. Vous devrez peut-être augmenter l'exposition lors d'événements faiblement éclairés.

  • Onglet Standard - Si vous souhaitez augmenter votre fréquence d'images, augmentez le "Detector Downscale"

  • Si vous voulez utiliser le suivi 3D et le suivi 2D tx/ty simultanément, définissez l'ID de tag prioritaire via networktables pour configurer le tag préféré pour le suivi 2D.

  • Cliquez sur l'icône "Engrenage" et assurez-vous que votre numéro d'équipe est défini et qu'une IP statique est configurée.

  • Cliquez sur "Change Team Number" et "Change IP Settings" si vous avez modifié leurs paramètres correspondants. Redémarrez votre robot.

  • C'est fait ! Utilisez "tx" et "ty" depuis networktables. Copiez l'exemple de code sur la page "getting started".

Conseils

Pour un suivi idéal, considérez les points suivants :

  • Vos tags doivent être aussi plats que possible.
  • Votre Limelight doit être monté au-dessus ou en-dessous de la hauteur du tag et incliné vers le haut/bas de manière à ce que la cible soit centrée. Votre cible doit apparaître aussi trapézoïdale que possible depuis la perspective de votre caméra. Vous ne voulez pas que votre caméra soit complètement "de face" avec un tag si vous voulez éviter le retournement de tag.

Il existe une interaction entre les variables suivantes pour le suivi AprilTag :

  • L'augmentation de la résolution de capture augmentera toujours la précision 3D et augmentera la stabilité 3D. Cela réduira également le taux d'ambiguïté de retournement depuis la plupart des perspectives. Cela augmentera généralement la portée. Cela réduira la fréquence d'images du pipeline.
  • L'augmentation du detector downscale augmentera toujours la fréquence d'images du pipeline. Cela diminuera la portée effective, mais dans certains cas, cela peut être négligeable. Cela n'affectera pas la précision 3D, la stabilité 3D ou la précision du décodage.
  • La réduction de l'exposition améliorera toujours la résistance au flou de mouvement. C'est en fait très facile à observer. Cela peut réduire la portée.
  • La réduction de la luminosité et du contraste de l'image améliorera généralement la fréquence d'images du pipeline et réduira la portée.
  • L'augmentation du gain du capteur permet d'augmenter la luminosité sans augmenter l'exposition. Cela peut réduire la stabilité 3D et peut réduire la stabilité du suivi.

Onglet Input

L'onglet Input contient les contrôles pour modifier l'image brute de la caméra avant qu'elle ne soit transmise au pipeline de traitement. Voir la page "Building a retroreflective/color pipeline" pour plus de détails.

Pour suivre les AprilTags :

  • Changez "Pipeline Type" en "Fiducial Markers"
  • Réglez "Black Level" à zéro

À ce stade, il s'agit d'équilibrer le gain du capteur et le temps d'exposition. Vous voulez pouvoir voir les tags avec l'exposition la plus courte possible pour minimiser le flou de mouvement. Cela nécessite généralement un réglage élevé du gain du capteur. Pour un simple suivi 2D, il est souvent conseillé de maximiser le gain de votre capteur, puis d'augmenter votre exposition à partir de zéro jusqu'à ce que les cibles soient suffisamment suivies. Assurez-vous que la bonne famille est sélectionnée dans l'onglet "Standard" si le suivi ne fonctionne pas.

Onglet Standard

Family

Sélectionne le type de famille fiducial/AprilTag. Pour FRC, vous devez sélectionner "AprilTag Classic 36h11"

Marker Size

Définit la taille attendue des tags que votre robot rencontrera en mm. Pour FRC, cela doit être réglé à 165.1 (152.4 pour les tags 2023)

Detector Downscale

Augmenter ce nombre entraînera des gains de performance significatifs. Cela entraînera parfois une réduction de la portée, mais le coût est généralement minimal.

ID Filters

Les filtres ID vous permettent de spécifier exactement quels tags vous intéressent. Pour la plupart des équipes FRC, chaque pipeline devrait être configuré pour suivre exactement un ID de tag. C'est une liste de nombres séparés par des virgules (par exemple "0,1"). Cette fonctionnalité est importante pour éliminer la grande majorité des faux positifs.

Cropping

Le recadrage supprime du contenu de l'image pour des gains de performance énormes. Utilisez la clé NT "crop" pour recadrer dynamiquement pendant les matchs

Multi-Target Sorting and Grouping

Cela permet d'avoir exactement la même fonctionnalité de groupement que dans les pipelines rétroréflectifs standard. Dans la plupart des jeux, la seule fonctionnalité à modifier est le filtre "Area", qui vous permettra de filtrer les petits tags.