Come vede un robot
Il sistema è calibrato, i numeri tornano, la simulazione è corretta.
Eppure il robot non afferra il pezzo come dovrebbe.
In questi casi, si tende a puntare il dito su un singolo elemento: la visione non è precisa.
Molto spesso la realtà non è così semplice come può sembrare, il problema non è quasi mai uno solo, spesso non è qualcosa che non funziona, ma qualcosa che non si è compreso fino in fondo. La guida robot tramite visione artificiale non è un’operazione diretta, tra la camera e il robot esiste una catena di passaggi geometrici, ognuno con le proprie approssimazioni. È in questa catena che nasce l’errore, ed è sempre lì che si decide l’affidabilità di un sistema. Per capire cosa succede è necessario comprendere dalle fondamenta come il robot e la camera interagiscono tra di loro.
IL ROBOT: una macchina perfetta nel suo mondo
I robot attuali sono macchine quasi perfette: si muovono sempre allo stesso modo, ripetono gli stessi punti con precisioni impressionanti e sanno in ogni istante dove si trovano. Questa precisione però, vale solo all’interno del loro mondo, il loro sistema di riferimento, quello che comunemente viene chiamato base robot. È il sistema in cui il controller ragiona, calcola e pianifica tutti i movimenti. In questo sistema esiste poi un punto fondamentale, il TCP, tool center point. Questo non è altro che il punto che considera il robot quanto lavora. È in quel punto che il robot afferra, salda o deposita, può essere la punta di una pinza, il centro di una ventosa o l’estremità di un utensile, ma non è un componente fisico, ma piuttosto una definizione matematica, una posizione e un orientamento nello spazio definito dalla geometria dell’utensile. Ed è proprio in questo punto che si mostra la prima verità: il TCP non è mai perfetto. Spesso è il frutto di una calibrazione manuale, e come tale, porta con sé piccole imprecisioni. Il robot continuerà a muoversi senza errori, ma se il TCP è leggermente sbagliato, la farà verso una posizione che crede giusta, ma non lo è.
LA CAMERA: misurare il mondo
Se il robot vive nel suo sistema di riferimento, la visione, tramite una camera, è quella che prova a descrivergli il mondo esterno. Per farlo traduce la realtà in numeri generando un mondo virtuale a partire da un modello fisico e da una serie di assunzioni ed ognuna di queste introduce un margine di errore. Come il robot, anche le camere hanno un loro sistema di riferimento. Ogni punto che la camera misura, esiste solo nel suo spazio. È qui che algoritmi più o meno avanzati di visione permettono di analizzare e individuare, per esempio, la posizione di un pezzo. L’ errore più comune è considerare la visione come un componente isolato piuttosto che parte di un unico sistema. I robot non parlano nello stesso sistema di riferimento della camera, è necessario tradurre i valori della visione per renderli utilizzabili. Ed è con questa traduzione dove la precisione della visione e quella dei robot non sono più separati, ma diventano elementi della catena degli errori.
LA CALIBRAZIONE HAND-EYE
Questa traduzione spesso prende il nome di calibrazione hand-eye. Analizzare i numeri o controllare le simulazioni non serve per valutare la correttezza della calibrazione hand-eye, l’unico vero banco di prova è testare sul campo. Un’errore angolare quasi impercettibile può tradursi in scostamenti significativi se, ad esempio, il robot lavora a distanza o quando l’utensile è molto lungo. Sono questi gli scenari in cui in alcune posizioni tutto funziona e in altre no e nessuno sa spiegare perché.
LA CATENA
L’informazione ha attraversato:
La misura dell’oggetto con la camera.
La precisione degli algoritmi di fitting.
La calibrazione hand-eye.
La definizione del TCP.
Ogni passaggio aggiunge una piccola approssimazione. Nessuna presa singolarmente è un problema, ma insieme formano una catena in cui l’errore si amplifica. Il TCP è l’ultimo anello, è lì che l’errore diventa visibile e misurabile. Ed è proprio con il TCP che vengono effettuate le operazioni con il robot. Ricercare la massima prestazione su ogni singolo passaggio ridurrà l’errore, ma questo non scomparirà mai del tutto.
GOVERNARE L’ERRORE
Un sistema dotato di visione artificiale è affidabile quando chi lo progetta conosce ogni passaggio, sa dove sono e come si manifestano gli errori, e soprattutto, sa come gestirli. Affidarsi a sistemi di terze parti può essere rischioso senza avere l’esperienza adeguata al loro utilizzo, per questo in Kessel Software abbiamo sviluppato internamente il nostro sistema di visione artificiale. La nostra esperienza, il nostro metodo e il nostro approccio ci permettono di realizzare sistemi in grado di funzionare nel tempo.
Perché la tecnologia è importante.
Ma sapere dove può fallire lo è molto di più.