AprilTag
Il sistema standard di marker fiduciali visivi per la localizzazione dei robot e la stima della posa
Licenza
BSD-2-Clause
Panoramica
AprilTag è un sistema di marker fiduciali visivi sviluppato dall'APRIL Robotics Laboratory della University of Michigan. Tag stampabili in stile codice a barre 2D vengono rilevati nelle immagini della telecamera e forniscono la posa completa a 6 gradi di libertà di ciascun tag rispetto alla telecamera, con una forte robustezza a illuminazione, angolazione e occlusione parziale. Il rilevatore di base è una piccola libreria C senza dipendenze, progettata per girare su qualsiasi cosa, da una workstation desktop con GPU a una CPU di classe microcontrollore.
AprilTag rileva marker fiduciali binari quadrati nelle immagini della telecamera e calcola con precisione la posizione 3D, l'orientamento e l'identità di ciascun tag rispetto alla telecamera. Il rilevatore della versione 3 aggiunge layout dei tag flessibili (griglie circolari e personalizzate) e una fase di nitidezza in decodifica che migliora il rilevamento dei tag piccoli. La libreria è in C99 puro senza alcuna dipendenza esterna, il che la rende banalmente integrabile; esistono wrapper ufficiali per Python, e nodi ROS 1/ROS 2 mantenuti dalla comunità (apriltag_ros) pubblicano le pose dei tag come sistemi di coordinate (frame) TF. Le famiglie di tag pregenerate (tag36h11, tag25h9, tagCircle, tagCustom) sono distribuite nel repository complementare apriltag-imgs, e il sistema di coordinate dei tag e le convenzioni sulle dimensioni sono documentati con precisione per un uso di livello di calibrazione.
Perché è importante
Gli AprilTag sono il marker fiduciale standard de facto nella ricerca e nell'industria robotica: si usano per i sistemi di ground truth, la calibrazione delle telecamere e la calibrazione hand-eye, le piazzole di atterraggio dei droni, l'aggancio dei robot di magazzino alle stazioni e la localizzazione multi-robot. Quando un articolo di robotica dice 'abbiamo tracciato l'oggetto con marker fiduciali', quasi sempre intende gli AprilTag.
Il problema che risolve
I robot hanno spesso bisogno di stime di posa con precisione al centimetro e consapevoli dell'identità di oggetti noti, stazioni di aggancio o bersagli di calibrazione, senza dover addestrare un modello di visione. AprilTag fornisce un bersaglio stampabile e un rilevatore leggero che trasforma qualsiasi telecamera calibrata in un sensore di posa a 6 gradi di libertà affidabile.
Punti chiave
- Rileva tag fiduciali stampabili e restituisce l'identità più la posa completa a 6 gradi di libertà per ogni tag
- C99 puro senza dipendenze esterne: gira dalle CPU desktop fino alle schede embedded
- Le famiglie di tag tag36h11, tag25h9, tagCircle e tagCustom coprono layout standard e personalizzati
- La nitidezza in decodifica di AprilTag 3 migliora il rilevamento dei tag piccoli e lontani
- Integrazione di prima classe con ROS 1/ROS 2 tramite apriltag_ros, che pubblica i tag come sistemi di coordinate (frame) TF
A chi si rivolge
- Ricercatori di robotica che hanno bisogno di bersagli di ground truth o di calibrazione
- Sviluppatori ROS che aggiungono l'allineamento per l'aggancio o l'atterraggio
- Costruttori di droni e di AMR
- Studenti di visione artificiale
Limiti
- Richiede una telecamera calibrata per una posa metrica accurata
- La precisione della posa peggiora ad angoli di visione estremi e a lunghe distanze rispetto alle dimensioni del tag
- I tag devono essere posizionati fisicamente nell'ambiente: non è un tracker di feature naturali
- Le telecamere rolling shutter e il mosso riducono l'affidabilità del rilevamento