Saltar al contenido principal

Seguimiento de AprilTags

Los AprilTags se rastrean usando los valores estándar "tx", "ty" y "ta". No se requieren cambios de código para actualizar un robot de seguimiento de color/retroreflectivo a apriltags. "botpose" y "campose" también pueden usarse para seguimiento 3D en espacio de campo y espacio de objetivo.

Para uso más avanzado con múltiples tags, se puede usar el volcado de resultados JSON.

Inicio Rápido para AprilTags de FRC

  • Pestaña Input - Cambia "Pipeline Type" a "Fiducial Markers"

  • Pestaña Input - Usa la resolución más alta disponible para seguimiento 3D, o usa 640x480 para seguimiento puramente 2D.

  • Pestaña Standard - Asegúrate de que "family" esté configurado como "AprilTag Classic 36h11"

  • Pestaña Input - Establece "Black Level" en cero

  • Pestaña Input - Establece "Gain" en 15

  • Pestaña Input - Reduce la exposición para reducir la pérdida de seguimiento durante el movimiento debido al desenfoque de movimiento. Deja de reducir una vez que la confiabilidad del seguimiento disminuya. Es posible que necesites aumentar la exposición en eventos con poca iluminación.

  • Pestaña Standard - Si deseas aumentar tu tasa de fotogramas, aumenta el "Detector Downscale"

  • Si quieres usar seguimiento 3D y seguimiento 2D tx/ty simultáneamente, establece el ID de Tag prioritario a través de networktables para configurar el tag preferido para seguimiento 2D.

  • Haz clic en el ícono de "Engranaje" y asegúrate de que tu número de equipo esté configurado y que una IP estática esté configurada.

  • Haz clic en "Change Team Number" y "Change IP Settings" si cambiaste sus configuraciones correspondientes. Reinicia tu robot.

  • ¡Listo! Usa "tx" y "ty" de networktables. Copia el ejemplo de código en la página "getting started".

Consejos

Para un seguimiento ideal, considera lo siguiente:

  • Tus tags deben estar lo más planos posible.
  • Tu Limelight debe montarse por encima o por debajo de la altura del tag e inclinado hacia arriba/abajo de manera que el objetivo esté centrado. Tu objetivo debe verse lo más trapezoidal posible desde la perspectiva de tu cámara. No quieres que tu cámara esté completamente "de frente" con un tag si quieres evitar el volteo del tag.

Existe una interacción entre las siguientes variables para el Seguimiento de AprilTag:

  • Aumentar la resolución de captura siempre aumentará la precisión 3D y aumentará la estabilidad 3D. Esto también reducirá la tasa de volteo por ambigüedad desde la mayoría de las perspectivas. Usualmente aumentará el alcance. Esto reducirá la tasa de fotogramas del pipeline.
  • Aumentar el downscale del detector siempre aumentará la tasa de fotogramas del pipeline. Disminuirá el alcance efectivo, pero en algunos casos esto puede ser insignificante. No afectará la precisión 3D, la estabilidad 3D ni la precisión de decodificación.
  • Reducir la exposición siempre mejorará la resistencia al desenfoque de movimiento. Esto es realmente fácil de observar. Esto puede reducir el alcance.
  • Reducir el brillo y el contraste de la imagen generalmente mejorará la tasa de fotogramas del pipeline y reducirá el alcance.
  • Aumentar la ganancia del sensor te permite aumentar el brillo sin aumentar la exposición. Puede reducir la estabilidad 3D y puede reducir la estabilidad del seguimiento.

Pestaña Input

La Pestaña Input aloja controles para cambiar la imagen cruda de la cámara antes de que pase por el pipeline de procesamiento. Consulta la página "Building a retroreflective/color pipeline" para más detalles.

Para rastrear AprilTags:

  • Cambia "Pipeline Type" a "Fiducial Markers"
  • Establece "Black Level" en cero

En este punto, es cuestión de equilibrar la ganancia del sensor y el tiempo de exposición. Quieres poder ver los tags con la menor exposición posible para minimizar el desenfoque de movimiento. Esto usualmente requiere una configuración alta de ganancia del sensor. Para seguimiento 2D simple, a menudo es aconsejable maximizar la ganancia del sensor, y luego aumentar la exposición desde cero hasta que los objetivos se rastreen suficientemente. Asegúrate de que la familia correcta esté seleccionada en la pestaña "Standard" si el seguimiento no funciona.

Pestaña Standard

Family

Selecciona el tipo de familia fiducial/AprilTag. Para FRC, debes seleccionar "AprilTag Classic 36h11"

Marker Size

Establece el tamaño esperado de los tags que tu robot encontrará en mm. Para FRC, esto debe establecerse en 165.1 (152.4 para tags de 2023)

Detector Downscale

Aumentar este número resultará en mejoras significativas de rendimiento. Esto a veces resultará en alcance reducido, pero el costo usualmente es mínimo.

ID Filters

Los Filtros de ID te permiten especificar exactamente qué tags te importan. Para la mayoría de los equipos de FRC, cada pipeline debe configurarse para rastrear exactamente un ID de tag. Esta es una lista de números separados por comas (ej. "0,1"). Esta característica es importante para eliminar la gran mayoría de falsos positivos.

Cropping

El recorte elimina contenido de la imagen para grandes mejoras de rendimiento. Usa la clave NT "crop" para recortar dinámicamente durante los partidos

Multi-Target Sorting and Grouping

Esto permite la misma funcionalidad de agrupación exacta vista en pipelines retroreflectivos estándar. En la mayoría de los juegos, la única característica a modificar es el filtro "Area", que te permitirá filtrar tags pequeños.