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 se pueden usar para el seguimiento 3D en el espacio del campo y el espacio del objetivo.

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

Inicio Rápido para AprilTags en FRC

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

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

  • Pestaña Standard - Asegurarse que "family" esté configurado en "AprilTag Classic 36h11"

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

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

  • Pestaña Input - Reducir la exposición para reducir la pérdida de seguimiento durante el movimiento debido al desenfoque por movimiento. Dejar de reducir cuando la fiabilidad del seguimiento disminuya. Puede que necesites aumentar la exposición en eventos con poca iluminación.

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

  • Si quieres usar seguimiento 3D y seguimiento 2D tx/ty simultáneamente, establece la prioridad de ID del Tag en 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 haya una IP estática configurada.

  • Haz clic en "Change Team Number" y "Change IP Settings" si cambiaste su configuración correspondiente. Reinicia tu robot.

  • ¡Listo! Usa "tx" y "ty" desde 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 estar montado por encima o por debajo de la altura del tag y angulado 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 querrás que tu cámara esté completamente "de frente" con un tag si quieres evitar el volteo del tag.

Existe una interrelación entre las siguientes variables para el Seguimiento de AprilTags:

  • 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. Normalmente aumentará el alcance. Esto reducirá la velocidad de fotogramas del pipeline.
  • Aumentar el detector downscale siempre aumentará la velocidad 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 o la precisión de decodificación.
  • Reducir la exposición siempre mejorará la resistencia al desenfoque por movimiento. Esto es realmente fácil de observar. Puede reducir el alcance.
  • Reducir el brillo y el contraste de la imagen generalmente mejorará la velocidad de fotogramas del pipeline y reducirá el alcance.
  • Aumentar la ganancia del sensor 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 contiene controles para cambiar la imagen bruta 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:

  • Cambiar "Pipeline Type" a "Fiducial Markers"
  • Establecer "Black Level" en cero

En este punto, se trata 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 por movimiento. Esto generalmente 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 sean suficientemente rastreados. 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 2023)

Detector Downscale

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

ID Filters

Los Filtros ID te permiten especificar exactamente qué tags te interesan. Para la mayoría de los equipos 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 obtener grandes mejoras de rendimiento. Usa la clave NT "crop" para recortar dinámicamente durante los partidos

Multi-Target Sorting and Grouping

Esto permite la funcionalidad exacta de agrupación vista en los 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.