Le Prestazioni Geometriche dei Robot - LaDiSpe

Transcript

Le Prestazioni Geometriche dei Robot - LaDiSpe
Le Prestazioni Geometriche dei Robot
Basilio Bona
Dipartimento di Automatica e Informatica
Politecnico di Torino
ultima revisione: 9 ottobre 2002
1
Indice
1 Le prestazioni geometriche dei robot
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . .
1.2 I parametri caratterizzanti le prestazioni geometriche
1.2.1 Risoluzione . . . . . . . . . . . . . . . . . . .
1.2.2 Ripetibilità . . . . . . . . . . . . . . . . . . .
1.2.3 Precisione . . . . . . . . . . . . . . . . . . . .
1.3 Le sorgenti di errore . . . . . . . . . . . . . . . . . .
1.3.1 Errori geometrici . . . . . . . . . . . . . . . .
1.3.2 Errori dinamici . . . . . . . . . . . . . . . . .
1.3.3 Errori termici . . . . . . . . . . . . . . . . . .
1.3.4 Errori di sistema . . . . . . . . . . . . . . . .
1.4 Come aumentare la precisione nei robot . . . . . . .
1.4.1 Progettazione e controllo di qualità . . . . . .
1.4.2 Cinematica adattativa . . . . . . . . . . . . .
1.4.3 Uso di sistemi di misura esterni in real-time .
1.4.4 Calibrazione . . . . . . . . . . . . . . . . . .
1.5 Riferimenti normativi e siti WEB . . . . . . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
5
5
5
6
7
7
8
8
8
9
9
9
9
10
11
3
Capitolo 1
Le prestazioni geometriche
dei robot
1.1
Introduzione
La precisione di posizionamento della punta operativa di un robot industriale dovrebbe essere un parametro importante per caratterizzarne le prestazioni; tuttavia,
nelle specifiche tecniche dei robot commerciali, è assai raro trovare informazioni che
riportino, o anche semplicemente menzionino, la precisione.
A parziale giustificazione dei costruttori, si deve considerare che le applicazioni
tradizionali della robotica si basano essenzialmente sulla ripetibilità delle azioni, in
quanto i robot sono perlopiù chiamati a svolgere compiti ripetitivi su percorsi definiti
nello spazio dei giunti da sequenze di punti, programmati (o come si dice in gergo
“insegnati”) in anticipo dall’operatore, per mezzo dell’apposito teach-pendant.
Se il robot si muove con buona ripetibilità tra i punti programmati, tutti sono
soddisfatti; per questa ragione quella che i costruttori di robot indicano nelle specifiche
è quasi sempre la ripetibilità del posizionamento della punta operativa oppure del
centro flangia che regge l’attrezzo.
Tuttavia esiste una serie di campi di applicazione e di integrazione di tecnologie che
richiedono, anche per i robot, la definizione e la misura della precisione. Ogniqualvolta
la posizione da raggiungere viene specificata direttamente in coordinate cartesiane e
non invece insegnata dall’operatore, la precisione diventa un fattore critico.
Questo è vero soprattutto quando posizione e assetto della pinza vengono forniti o
definiti da sistemi esterni; ne sono esempio i sistemi che integrano CAD e definizione
del movimento, oppure i sistemi di visione, che forniscono al controllore le coordinate
cartesiane e l’assetto. Un sistema di visione può essere usato, ad esempio, per localizzare la posizione e l’orientamento di un pezzo, dove le coordinate cartesiane cosı̀
ottenute vengono passate al controllore del robot per generare il percorso che porterà
la pinza dalla posizione attuale alla posizione utile ad afferrare il pezzo.
Un altro settore in cui è richiesta una precisione intrinseca è quello in cui il robot
viene utilizzato per eseguire misure in linea sulle parti lavorate o semilavorate.
4
Attualmente è raro che le misure siano eseguite dallo stesso robot che effettua
la lavorazione, poiché di solito per questo scopo vengono usate macchine di misura
tridimensionali.
Ma il costo elevato di queste ultime spinge i costruttori all’utilizzo dello stesso
robot per compiere le misure; è ovvio che questo utilizzo sarà possibile solo quando
la precisione del robot verrà definita, misurata e resa paragonabile a quella delle
macchine di misura.
1.2
I parametri caratterizzanti le prestazioni geometriche
Definiamo ora brevemente alcuni parametri che permettono di definire le prestazioni di
posizionamento geometrico di un robot e che quindi consentono di paragonare tra loro
robot differenti: essi sono la risoluzione, la ripetibilità e la precisione o accuratezza.
Esistono altri parametri, come errore sistematico, riproducibilità, stabilità, linearità, che non verranno descritti in queste note.
1.2.1
Risoluzione
La risoluzione (in inglese resolution) definisce e misura il più piccolo scarto della
grandezza misurata che un sensore è in grado di rilevare; è perciò un parametro che
dipende dalla qualità dei sensori utilizzati in una particolare struttura robotica.
Ad esempio, un encoder dotato di 3600 tacche sulla sua periferia potrà risolvere
un decimo di grado e non meno1 .
La risoluzione è un parametro importante perché condiziona sia la ripetibilità sia
l’accuratezza. La risoluzione viene di solito indicata dal costruttore nelle specifiche
tecniche del sensore.
1.2.2
Ripetibilità
La ripetibilità (in inglese repeatability o precision) definisce e misura la capacità del
robot di ritornare su uno stesso punto dello spazio cartesiano con identici movimenti
effettuati in tempi successivi.
Più esattamente essa è definita come una misura convenzionale della variabilità
dei risultati della misurazione quando la stessa quantità o caratteristica è misurata
molte volte dallo stesso operatore.
La ripetibilità diminuisce quando la variabilità dei risultati diminuisce e quindi
occorre prestare attenzione al significato esatto del termine, perché spesso si dice,
erroneamente, che la ripetibilità aumenta (il sistema è più ripetibile, ossia è migliore)
quando si ottengono variazioni minori (vedi ancora la nota1 ).
Essa è quindi un parametro che dipende sia dalla risoluzione dei sensori, sia dall’accuratezza complessiva di costruzione della catena cinematica, caratterizzata, ad esempio, dall’assenza di bande morte, di attriti nonlineari, di variazioni della geometria
dei bracci dovuta a sbalzi termici, ecc.
1 Verrebbe da dire “... e non più.”, perchè nel linguaggio comune una “grande” risoluzione implica
una piccola variabilità dei risultati. Occorre stare attenti ai trabocchetti semantici della lingua.
5
Di solito il parametro numerico che fornisce la misura della ripetibilità viene definito in modo statistico, ad esempio calcolando la deviazione standard di un certo
numero di misurazioni ottenute nello spazio giunti o cartesiano, secondo un protocollo
di misura ben definito.
Tuttavia questo protocollo potrebbe essere diverso da costruttore a costruttore; è
perciò molto importante stabilire e rendere palesi le procedure con cui si misura la
ripetibilità.
Facciamo un esempio: si voglia caratterizzare la ripetibilità di posizione dalla
punta operativa, indipendentemente dall’assetto con cui si raggiunge la posizione, in
un robot a 6 gradi di libertà.
Nel realizzare questa procedura si deve decidere se si utilizza o meno il calcolo
della funzione cinematica inversa, ossia se vengono fornite al robot, come riferimento,
le coordinate cartesiane del punto da raggiungere, oppure le coordinate angolari dei
giunti, che corrisponderebbero, almeno teoricamente, alle prime, attraverso il calcolo
della funzione cinematica inversa.
Nel primo caso la ripetibilità comprenderà anche le imprecisioni della funzione
cinematica (soprattutto nel valore dei parametri numerici), nel secondo caso invece la
funzione cinematica non influisce sulla ripetibilità.
Un altro aspetto, che deve essere definito nel protocollo di misura, è se si vuole
fornire la ripetibilità globale, su tutto lo spazio cartesiano o dei giunti, oppure se ci
si limita a dare separatamente un certo numero di informazioni locali.
Supponendo di orientarsi al primo caso, occorre definire allora un certo numero N
di vettori pi o q i , tali da “ben rappresentare” o “riempire” tutto lo spazio cartesiano.
A questo punto, per ogni i = 1, . . . , N , si effettuano m misurazioni, se ne calcola
lo scarto massimo oppure la deviazione standard σi e si fa la media di queste su tutti
gli N punti, ottenendo una misura della ripetibilità globale.
Come detto prima, questo è solo un esempio, ed è evidente che vi sono molti gradi
di libertà lasciati all’arbitrio del costruttore, che devono essere palesati all’utente per
consentirgli di confrontare risultati di altri costruttori, che potrebbero essere solo in
apparenza simili.
1.2.3
Precisione
La precisione o accuratezza (in inglese accuracy) è definita come il massimo errore
di posizione o assetto che si ottiene quando si muove la punta del robot - o meglio,
la terna di riferimento relativa a quest’ultima - in un punto assegnato dello spazio
cartesiano, con assetto assegnato.
Poiché l’errore dipende dalla posizione relativa tra la terna cartesiana di riferimento “assoluta” e la terna cartesiana definita sulla punta, la precisione richiede che
venga definito un sistema di riferimento a cui ricondurre l’errore.
Questa definizione non era invece necessaria per misurare la ripetibilità, che non
dipende da un sistema di riferimento cartesiano.
Esistono norme ISO e ANSI [1, 2, 3] che fissano gli standard per la valutazione
di queste grandezze e in generale, per la valutazione delle caratteristiche geometriche
dei robot.
6
In questi documenti appare evidente che le specifiche di ripetibilità e precisione debbono essere ottenute in modo statistico da esperimenti ripetuti, seguendo
determinate procedure.
D’altra parte, i costruttori fanno assai raramente riferimento a queste norme, e
questo è un peccato, in quanto, senza un metodo condiviso di caratterizzazione, i
paragoni tra diversi valori numerici di questi parametri non hanno alcun senso.
Nella Figura 1.1 si può apprezzare la differenza tra ripetibilità e precisione. Nei
robot industriali, la ripetibilità di solito si colloca nell’intervallo 10 µm ÷ 500 µm
(0,01 mm ÷ 0,5 mm), mentre la precisione non scende sotto qualche millimetro.
Figura 1.1: ripetibilità e precisione.
1.3
Le sorgenti di errore
Gli errori di posizionamento dei robot possono essere classificati in quattro categorie:
errori geometrici, dinamici, termici e di sistema.
1.3.1
Errori geometrici
Questi errori dipendono principalmente dalle imprecisioni di lavorazione della struttura meccanica e delle componenti accessorie per la trasmissione del moto (cuscinetti,
motoriduttori, ecc.) e sono eliminabili solamente aumentando la precisione nelle fasi
di lavorazione e montaggio della struttura stessa.
Essi appaiono come errori di traslazione, di rotazione, di parallelismo e di ortogonalità.
Questi errori non vengono modellati nelle relazioni che definiscono la funzione cinematica, che invece dipende sempre solo dai parametri “nominali”; è quindi inevitabile
7
che il risultato di un calcolo attraverso la funzione cinematica (diretta o inversa) dia
un risultato solo approssimato.
Gli effetti più “pesanti” di tali errori sono quelli che inducono errori angolari,
come gli errori di ortogonalità e di parallelismo; le lunghezze dei bracci amplificano
tali errori angolari e danno origine ad errori di posizione anche consistenti.
1.3.2
Errori dinamici
Poiché i robot sono progettati per muoversi da un punto all’altro dello spazio, lungo
traiettorie e con velocità prefissate, si generano errori causati dalle forze dinamiche
e dalle risonanze meccaniche indotte dal movimento; questi errori sono difficili da
compensare, soprattutto perché richiedono una potenza di calcolo superiore a quella
installata a bordo della maggioranza degli attuali robot industriali.
Spesso tali errori sono trascurati perché si producono solo durante le fasi di moto
e tendono ad annullarsi al termine del transitorio che segue la fermata della punta
in corrispondenza del punto cartesiano desiderato. Il tempo di transitorio dipende
sia dalle caratteristiche meccaniche del robot (elasticità strutturali e altro) sia dalle
caratteristiche dell’algoritmo di controllo.
Tuttavia, con l’aumento delle applicazioni per le quali il moto lungo la traiettoria
è importante (saldatura continua, sbavatura, taglio laser, deposizione di vernici e
collanti, ecc.), tali errori non potranno essere più a lungo trascurati.
1.3.3
Errori termici
Sono dovuti all’espansione del metallo in presenza di variazioni di temperatura. Queste possono essere indotte da cause interne al robot (motori, cuscinetti, elettronica
di potenza e di segnale), oppure da cause esterne (condizioni ambientali e sorgenti di
calore entro il luogo di lavoro).
La presenza localizzata di sorgenti di calore causa variazioni nonlineari nelle strutture e rende difficilmente compensabili tali errori, che solitamente vengono inclusi negli
errori geometrici.
1.3.4
Errori di sistema
Questa categoria comprende tutti gli errori generati da cattiva calibrazione, imprecisioni dei sensori, bande morte negli organi di trasmissione del moto e servosistemi
mal tarati.
Soltanto identificando queste sorgenti di errore si può sperare di correggerle. Gli
errori nei sensori sono solitamente eliminati scegliendo sensori che garantiscano le
prestazioni di precisione desiderate.
Le bande morte negli organi di trasmissione si riducono allo stesso modo, scegliendo con attenzione le componenti costruttive.
La buona taratura dei servosistemi rappresenta una problematica a parte che viene
trattata nei testi di controlli automatici; l’unico aspetto che sarà considerato in queste
note è quello connesso con i problemi di calibrazione.
8
1.4
Come aumentare la precisione nei robot
I nuovi bisogni degli utilizzatori spingono i costruttori a cercare di migliorare le
prestazioni di precisione dei robot.
In generale un aumento delle prestazioni si ottiene a scapito dei costi e, oltre a
certi livelli, un marginale incremento delle prestazioni richiede costi di investimento
molto alti. Tenendo presente questa premessa, si possono elencare qui di seguito gli
approcci più comunemente adottati per aumentare le prestazioni.
1.4.1
Progettazione e controllo di qualità
È evidente che un buon progetto è condizione necessaria per ottenere buone caratteristiche di precisione. Occorre scegliere materiali leggeri ma rigidi, che riducano gli
effetti dinamici e le vibrazioni, e nello stesso tempo dotati di una buona invariabilità
dimensionale rispetto alla temperatura.
Deve essere assicurata una fase di controllo della qualità a valle delle lavorazioni
dei pezzi, sia per ridurre eventuali errori, sia per misurare e quindi utilizzare le reali
dimensioni geometriche nelle funzioni cinematiche dirette e inverse.
È buona norma progettare strutture che siano il più possibile insensitive agli errori
costruttivi, oppure, paradossalmente, progettare nuovi processi produttivi che non
richiedano robot molto precisi.
1.4.2
Cinematica adattativa
Come detto in precedenza, le funzioni cinematiche utilizzate dal software dei controllori dei robot vengono calcolate utilizzando i valori numerici nominali dei parametri di
Denavit-Hartenberg (o altre analoghe convenzioni). Quando un robot viene costruito,
esso possiede caratteristiche leggermente differenti dalle nominali, per cui i risultati
che si ottengono dalle funzioni cinematiche nominali sono affetti da errori.
È possibile, tuttavia, attraverso misure che utilizzano sistemi esterni, stimare i
veri parametri di Denavit-Hartenberg e memorizzarli nel software di bordo del robot.
Queste stime possono essere fatte una volta per tutte all’atto dell’installazione
del robot in officina, oppure su base periodica; in quest’ultimo caso l’utilizzatore deve
avere a disposizione un opportuno sistema di misura e fermare il robot o, peggio, tutta
la linea di produzione in cui esso è inserito, con conseguenti inevitabili incrementi dei
costi.
1.4.3
Uso di sistemi di misura esterni in real-time
Se il robot avesse a disposizione sensori tali da fornirgli l’informazione della propria
posizione/assetto in rapporto ad un sistema di riferimento cartesiano, il problema
della precisione potrebbe venire risolto inviando al sistema di controllo un segnale
capace di ridurre a zero tale errore cartesiano.
Le ricerche sui sistemi di visione integrati all’anello di controllo vanno in questa
direzione.
9
1.4.4
Calibrazione
In generale, con il termine “calibrazione” si intende una procedura capace di fornire
i parametri reali di qualunque modello, e, in particolare, di un robot; si potrebbe
quindi affermare che la calibrazione coincide con la cinematica adattativa. Spesso,
invece, si usa questo termine per indicare la procedura di azzeramento (detta anche
homing) che deve avere luogo tutte le volte che il robot viene acceso; la calibrazione
infatti è necessaria perché i sensori angolari, encoder o resolver che siano, sono spesso
di tipo incrementale e privi di memoria tampone, e non consentono quindi di stabilire
l’angolo zero assoluto.
È quindi necessario che, all’atto della alimentazione elettrica del robot, vengano
stabiliti gli “zeri asse”, cioè gli angoli considerati zero per ciacun asse di rotazione
e quindi anche la configurazione iniziale della catena dei sistemi di riferimento che
rappresenta la cinematica del robot.
Questa calibrazione può avvenire in modo manuale o automatico; nel primo caso,
l’operatore allinea “a occhio” le tacche poste in corrispondenza di ciascun giunto
(vedere la Figura 1.2), nel secondo caso, ad esempio, lo zero viene ottenuto come
valore medio della differenza di lettura incrementale tra i due fine-corsa di ciascun
giunto, oppure con altre procedure previste nel software di gestione.
Figura 1.2: le “tacche” presenti su un giunto di robot industriale.
Questo tipo di calibrazione, però, non soddisfa completamente le necessità di una
definizione precisa dei riferimenti cartesiani dei bracci e quindi della funzione cinematica, per cui si stanno iniziando ad usare sistemi esterni, capaci di fornire con maggior
precisione le informazioni richieste.
Tra questi ultimi, descriviamo brevemente l’interferometria laser, la visione stereoscopica e i sistemi meccanici basati su l’estensione di fili metallici.
10
Interferometria laser
Vengono usati fasci laser sia per garantire gli allineamenti sia per misurare con elevata
precisione le distanze.
La punta del robot viene equipaggiata con uno o più specchi e la sua esatta posizione viene rilevata mediante triangolazione tra sorgenti di luce laser opportunamente
disposte nello spazio.
È anche possibile in questo modo determinare accuratamente l’assetto della punta.
Gli svantaggi di questo sistema sono due: da una parte il costo delle apparecchiature ottiche, anche se questo problema dovrebbe attenuarsi con il tempo, dall’altra la
necessità di avere un campo libero da ostacoli tra le sorgenti laser e la punta; ciò è
possibile solo in condizioni particolari ed è quindi attualmente impensabile utilizzare
questo sistema per effettuare misure real-time durante il funzionamento del robot in
officina.
Visione stereo
La punta del robot viene equipaggiata con un reticolo ottico oppure con una configurazione di sorgenti luminose (led o altro), che viene inquadrato durante il movimento
da almeno due telecamere fisse al basamento.
In teoria, si possono ricavare dalle immagini le informazioni di posizione e assetto
del reticolo ottico e quindi della punta. In pratica, questo sistema soffre di alcuni
svantaggi: come per l’interferometria laser, il reticolo ottico deve non essere oscurato
da ostacoli durante il suo movimento; inoltre il sistema può essere “accecato” dalla
luce di fondo dell’ambiente di lavoro (e per questo si possono usare telecamere ed
illuminatori all’infrarosso).
Da ultimo, la precisione delle misure dipende dal numero di pixel della telecamera
digitale e dalla distanza tra telecamera e reticolo ottico. È tuttavia impressione
condivisa che i futuri sviluppi tecnologici saranno presumibilmente basati su queste
tecniche.
Sistemi meccanici
Questi sistemi consistono in una serie di almeno tre rocchetti, fissati al basamento,
entro cui scorrono, svolgendosi, fili metallici che hanno un’estremità fissata alla punta del robot; un encoder misura la quantità di filo svolto e da queste misure, con
procedimenti simili alla triangolazione laser, si risale alla posizione della punta.
La semplicità e il costo di questi sistemi contrastano con un intervallo di possibili
movimenti non molto ampio, nonché della solita necessità di avere il campo di misura
sgombro da ostacoli.
1.5
Riferimenti normativi e siti WEB
1) ISO 9283, Manipulating Industrial Robots - Performance Criteria and Related
Test Methods, 1998.
2) ISO 9946 (E), Manipulating Industrial Robots - Presentation of Characteristics,
1999.
11
3) ANSI/RIA R15.05-1-1990, Evaluation of Point-to-point and Static Performance
Characteristics of Industrial Robots and Robot Systems.
ISO (International Organization for Standardization): www.iso.ch
ANSI (American National Standard Institute): www.ansi.org
UNI/CEI (Ente Nazionale Italiano di Unificazione): www.uni.com
12
Bibliografia
[1] K. KozÃlowski. Modeling and identification in robotics. Springer, 1998.
[2] K. Young, C.G. Pickin. “Accuracy assessment of the modern industrial robot”.
Industrial Robot: An International Journal,27, 6, 427-436, 2000.
[3] B.W. Mooring, Z.S. Roth, M.R. Driels. Fundamentals of Manipulator
Calibration. Wiley-Interscience, 1991.
13