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