# Visual servoing

Visual servoing, abbreviato con VS, anche conosciuto come asservimento visivo basato sull'immagine, è una tecnica di controllo in retroazione che usa come feedback l'informazione estratta dai sensori visivi per controllare il movimento di un robot. Uno dei primi articoli che ha introdotto il Visual Servoing fu pubblicato dai laboratori SRI International Labs. Un primo tutorial sul Visual Servoing fu pubblicato nel 1996 da S. A. Hutchinson, G. D. Hager e P. I. Corke, mentre più recenti tutorial sono stati pubblicati nel 2006 e nel 2007 da F. Chaumette e S. Hutchinson.

## Metodologia del Visual Servoing

In generale le tecniche di Visual Servoing sono classificate secondo le seguenti tipologie:
* Image Based (IBVS), basato sull'immagine
* Position Based (PBVS), basato sulla posizione
* Hybrid Approach, un approccio ibrido
L'IBVS fu proposto da Weiss e Sanderson. La legge di controllo è basata sull'errore calcolato sulla base della differenza tra una determinata caratteristica sul piano immagine attuale e una posizione desiderata sempre sul piano immagine della medesima caratteristica. Questa tecnica non coinvolge in nessun modo la stima della posizione dell'oggetto nello spazio o in un qualche sistema di riferimento che non sia l'immagine stessa. Le caratteristiche in esame possono essere linee, punti, momenti geometrici, ecc.
Il PBVS, qualche volta chiamato Pose-Based VS, è una tecnica (ad una telecamera) basata su un modello. Infatti, la posizione dell'oggetto viene stimata rispetto alla telecamera. È importante notare la differenza con la tecnica precedente. Mentre prima si utilizzava solo l'errore sul piano immagine e non veniva effettuato nessun tipo di calcolo di stima della posizione, in questo caso si ha una ricostruzione della posizione dell'oggetto nello spazio 3D (in un piano cartesiano desiderato) e con questa posizione viene impartito il comando al controllore che fa muovere il robot. Per questo motivo questa tecnica viene anche chiamata visual servoing 3D.
Infine, gli approcci ibridi combinano insieme alcuni aspetti del visual servoing 2D e 3D. Ci sono stati pochi tipi di approcci ibridi:
* 2-1/2-D Servoing
* Motion Partition Based
* Partitioned DOF Based

## Software

* Matlab toolbox for visual servoing.
* Java-based visual servoing simulator., su robot.uji.es. URL consultato il 25 gennaio 2011 (archiviato dall'url originale il 24 settembre 2010).
* ViSP (ViSP sta per "Visual Servoing Platform") è un software modulare che permette uno sviluppo rapido di applicazioni per il visual servoing.

## Tutorial

* S. A. Hutchinson, G. D. Hager, and P. I. Corke. A tutorial on visual servo control. IEEE Trans. Robot. Automat., 12(5):651—670, Oct. 1996.
* François Chaumette, Seth Hutchinson, Visual Servo Control, Part I: Basic Approaches. IEEE Robotics and Automation Magazine, 13(4):82-90, December 2006.
* François Chaumette, Seth Hutchinson. Visual Servo Control, Part II: Advanced Approaches. IEEE Robotics and Automation Magazine, 14(1):109-118, March 2007.
* Notes from IROS 2004 tutorial on advanced visual servoing.
* François Chaumette, Seth Hutchinson, Visual Servoing and Visual Tracking, cap. 24 di Bruno Siciliano e Oussama Khatib (a cura di), Springer Handbook of Robotics, Springer-Verlag, 2008