Visual Servoing
- Detto anche: visual servo control, vision-based control
- Categoria: Control › Feedback control
- Tag: control, computer-vision, feedback-control, manipulation, closed-loop
Controllo ad anello chiuso del moto di un robot tramite retroazione visiva, in cui un errore misurato nelle immagini della telecamera viene portato continuamente a zero.
Definizione
Visual servoing (asservimento visivo) controlla un robot inserendo le misure della telecamera direttamente nell'anello di controllo. Invece di guardare una volta, stimare dove si trova un bersaglio e poi muoversi ad anello aperto, il robot misura ripetutamente un errore tra l'immagine corrente e una desiderata e comanda un moto che lo riduce. Poiché l'errore viene rimisurato a ogni ciclo, il robot corregge strada facendo gli errori di calibrazione, le imprecisioni del modello e il moto del bersaglio.
Le formulazioni classiche sono quella basata sull'immagine e quella basata sulla posizione. Nel visual servoing basato sull'immagine (image-based visual servoing, IBVS) l'errore è definito su feature dell'immagine, come coordinate di punti o parametri di rette, e la matrice di interazione, detta anche jacobiano dell'immagine, lega il twist di velocità della telecamera alla velocità di variazione di quelle feature. Una tipica legge di controllo comanda una velocità della telecamera proporzionale alla pseudoinversa della matrice di interazione moltiplicata per l'errore delle feature. L'IBVS tollera gli errori di calibrazione ma richiede una stima della profondità delle feature e può produrre traiettorie 3D della telecamera innaturali. Nel visual servoing basato sulla posizione (position-based visual servoing, PBVS) l'immagine serve a stimare la posa 3D del bersaglio, e il controllore regola direttamente l'errore di posa; questo dà un moto rettilineo nello spazio cartesiano ma dipende da una calibrazione e da una stima della posa accurate. Schemi ibridi come il visual servoing 2.5D combinano i due. La telecamera può essere montata sul robot (eye-in-hand) o fissa nello spazio di lavoro, a osservare sia il robot sia il bersaglio (eye-to-hand).
Il visual servoing appreso sostituisce le feature o le leggi di controllo progettate a mano con reti neurali. Una rete può predire, dall'immagine corrente e da un obiettivo, la direzione o la velocità con cui l'end-effector deve muoversi, e il robot esegue un piccolo passo e ripete. Così si mantiene la struttura ad anello chiuso gestendo al tempo stesso oggetti e scene per cui è difficile definire feature costruite a mano.
Perché è importante
La calibrazione del robot e della telecamera non è mai perfetta, e gli oggetti raramente si trovano esattamente dove dice un modello. Chiudere l'anello sulla visione permette a un robot di raggiungere, allineare e inserire con una precisione che dipende soprattutto da ciò che vede la telecamera e non da quanto bene sia stato calibrato tutto in anticipo.
Applicazioni principali
- Inserimento di perni in fori (peg-in-hole), di connettori e altri compiti di allineamento preciso
- Presa di oggetti in movimento o mal localizzati
- Posizionamento di strumenti chirurgici e medici con telecamere endoscopiche
- Aggancio di robot mobili e droni a stazioni di ricarica o bersagli
- Raggiungimento appreso di oggetti bersaglio a partire da immagini
In pratica
Un braccio con una telecamera al polso deve allineare la sua pinza con un connettore su una scheda elettronica. Quattro angoli di un marker fiduciale accanto al connettore servono come feature dell'immagine, e le loro posizioni desiderate in pixel vengono registrate una volta posizionando a mano la pinza nella posa corretta. In esecuzione, un controllore che gira alla frequenza della telecamera rileva gli angoli, calcola l'errore in pixel, lo moltiplica per la pseudoinversa della matrice di interazione usando una profondità approssimata e invia la velocità della telecamera risultante al braccio attraverso la trasformazione mano-occhio e lo jacobiano del robot. Il guadagno viene ridotto vicino alla convergenza per evitare oscillazioni, e l'anello si ferma quando l'errore in pixel scende sotto una soglia. Piccoli errori nella calibrazione mano-occhio cambiano il percorso ma non l'allineamento finale.
Idee sbagliate comuni
- Il visual servoing richiede una telecamera perfettamente calibrata — gli schemi basati sull'immagine, in particolare, convergono all'immagine corretta anche con errori moderati di calibrazione e di profondità
- È la stessa cosa che rilevare un bersaglio e poi muoversi verso di esso — il visual servoing continua a misurare e correggere durante il moto invece di eseguire un piano ad anello aperto
- Il servoing basato sull'immagine muove sempre la telecamera in linea retta — percorsi rettilinei nell'immagine possono dare percorsi curvi o in arretramento in 3D, e le feature possono uscire dal campo visivo
Chi dovrebbe saperlo
- Ingegneri di manipolazione e assemblaggio
- Sviluppatori di visione e percezione robotica
- Ingegneri di robotica medica e chirurgica
- Sviluppatori di sistemi di aggancio per droni e robot mobili
Tecnologie correlate
- ViSP
- Matrice di interazione (Interaction Matrix)
- Calibrazione mano-occhio (Hand-Eye Calibration)
- Marker fiduciali (Fiducial Markers)
- OpenCV
Termini correlati
Progetti correlati
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
Video
- Image-Based Visual Servoing - Robot Control Part 1: Engineering Educator Academy
- Robot Image-based Visual Servoing I | Robotic Systems: Leopoldo Armesto