Capitolo 1 La robotica e i manipolatori mobili


CAPITOLO 1



LA ROBOTICA E I MANIPOLATORI MOBILI








In questo capitolo verrà presentata una panoramica introduttiva sulle discipline coinvolte nello studio dei manipolatori mobili e sulle tecniche da queste sviluppate per risolvere i problemi operativi che ne riguardano il controllo . Si muoverà dalla distinzione fra robotica avanzata e robotica industriale: della prima ci si limiterà a sporadici accenni sullo stato dell’arte e sulle tecniche di localizzazione , quanto basta per poter predisporre la futura integrazione fra manipolatore e base mobile con cognizione di causa ; della seconda saranno approfonditi diversi aspetti, primi fra tutti l’analisi cinematica e la pianificazione del moto che riguardano da vicino questo progetto , per poter argomentare e giustificare le scelte effettuate. Si passerà poi a considerare l’applicazione di queste tecniche al caso di robot che , pur continuando a presentare la struttura tipica dei manipolatori industriali , sono però utilizzati in ambito civile e , in particolare, nell’assistenza di utenti con limitate funzionalità motorie quali disabili ed anziani. Non si tratta di una distinzione puramente formale: in generale questi sistemi presentano esigenze diverse da quelle che si hanno in ambito produttivo e talvolta in aperto contrasto con esse ; si pensi a titolo d’esempio alla forze da sviluppare : ciò che per un robot industriale è un requisito irrinunciabile, per un robot di servizio può diventare uno svantaggio pericoloso , specie se messo in relazione alle esigenze di sicurezza . Distinzioni analoghe valgono per la precisione , la velocità , la semplicità di controllo e , naturalmente , i costi , tanto da giustificare la nascita di una disciplina a se stante nota come robotica assistiva : anche per questa sarà valutato lo stato dell’arte , presentando i sistemi più interessanti finora sviluppati , con particolare attenzione a quelli che fanno uso del manipolatore utilizzato in questa tesi .


1.1 Il concetto di manipolatore mobile fra robotica industriale e robotica avanzata


Un manipolatore mobile è essenzialmente un robot e il suo studio è quindi oggetto della robotica , sebbene sia difficile dare una definizione di questa disciplina che valga in termini generali : si va da chi la considera come la scienza che studia macchine che possano sostituire l’uomo nell’esecuzione di un compito, sia in termini di attività fisica che decisionale a chi la vede come lo studio della connessione intelligente fra percezione e azione [4] . Per porre correttamente la questione è preferibile circoscriverne l’ambito di lavoro , focalizzando ad esempio l’attenzione sull’autonomia del sistema richiesta dall’ambiente che lo circonda : seguendo questo approccio si perviene alla classificazione della robotica in robotica industriale e robotica autonoma , o avanzata .

La robotica industriale è la scienza che studia la progettazione e il controllo dei robot per applicazioni industriali , dove l’ambiente risulta solitamente strutturato : si hanno cioè notevoli informazioni a priori su di esso, in particolare sulla posizione relativa fra la macchina e gli oggetti da manipolare e quindi i tasks sono caratterizzati da notevole ripetitività e scarsa autonomia . Anche la definizione stessa di robot è in questo ambito univoca e largamente condivisa e fa riferimento alle direttive del Robot Institute of America : un robot `e una struttura meccanica multifunzionale e riprogrammabile progettata per manipolare materiali, parti , utensili o dispositivi specializzati secondo movimenti variabili programmati per l’esecuzione di una varietà di compiti diversi [5] . Questa disciplina produce da diversi decenni una tecnologia matura e i suoi strumenti di analisi e sintesi hanno raggiunto una elevata diffusione , tanto da giustificarne l’utilizzo nello studio dei robot che , come il MANUS , presentano la struttura tipica dei manipolatori industriali ma sono utilizzati in altri settori .

Con il termine robotica avanzata , o robotica autonoma , si intende quella scienza che studia sistemi con spiccate caratteristiche di autonomia , le cui applicazioni sono concepite per risolvere problemi di operatività in ambienti ostili ( spaziale , sottomarino , nucleare , militare , … ) o per eseguire missioni di servizio ( applicazioni domestiche , assistenza medica , assistenza a disabili , agricoltura , …) [4] . Una definizione di robot accettata in questo ambito è la seguente: una macchina capace di estrarre informazioni dal suo ambiente e usare la conoscenza sul suo mondo per muoversi in maniera sicura ed al fine di perseguire uno scopo [6]. L’ambito di studio di questa disciplina è quindi molto meno circoscritto di quello della robotica industriale, le potenziali applicazioni sono estremamente più vaste e le problematiche più complesse: questo spiega come mai la robotica avanzata sia tutt’ora una scienza giovane, lontana dal pervenire a metodi e tecniche mature come accade per lo studio dei manipolatori industriali . Due settori della robotica avanzata che verranno trattati in questa tesi sono la visione artificiale e la robotica mobile: la visione artificiale è quella disciplina che si propone di emulare al calcolatore la capacità , tipica degli esseri viventi, di estrarre informazioni sull’ambiente circostante a partire dalle immagini ; la robotica mobile studia le tecniche che permettono a robot terrestri , marini o aerei di navigare autonomamente in ambienti parzialmente o totalmente sconosciuti : costruzione di mappe degli oggetti circostanti , localizzazione spaziale , pianificazione e controllo del moto . In questa fase del progetto non si è arrivati fino all’integrazione fisica fra il MANUS e la base mobile, ma solo alla predisposizione degli algoritmi che ne permetteranno la cooperazione in lavori futuri , perciò non si entrerà nel dettaglio di queste tecniche, ma ci si limiterà ad una visione panoramica incentrata sulle prestazioni e sullo stato dell’arte della robotica mobile applicata ai sistemi assistivi .


Negli ultimi anni si è osservata la convergenza degli ambiti di studio della robotica industriale e della robotica avanzata verso un settore comune , in concomitanza con la crescente richiesta di manipolatori che siano in grado di operare tanto in ambienti fortemente strutturati , quanto in ambienti parzialmente sconosciuti.

Un mercato che ha contribuito in maniera determinante all’aumento della richiesta è costituito dai robot di servizio . Secondo l’IFR ( International Federation of Robotics ) un robot di servizio è un robot che opera in maniera parzialmente o completamente autonoma per compiere servizi utili al benessere di uomini o attrezzature, con l’esclusione di operazioni manifatturiere [5] . Fra i robot di servizio vi sono i sistemi per l’assistenza a disabili ed anziani , il cui studio è oggetto della robotica assistiva, che si tratterà ampiamente nel paragrafo 1.3 .

Una problematica posta dai robot di servizio che presenta interessanti risvolti tecnologico-applicativi è il controllo coordinato di una base mobile e di un manipolatore seriale : sistemi di questo tipo sono noti in letteratura come manipolatori mobili e sono impiegati da tempo per applicazioni d’avanguardia , quali l’esplorazione spaziale o la manipolazione di materiali pericolosi in ambienti ostili . Più recentemente hanno trovato impiego anche in robotica assistiva , come si avrà modo di approfondire nel paragrafo 1.3 .

Dal punto di vista del progettista , la classificazione più appropriata per questo genere di robot riguarda il grado di cooperazione fra i due sottosistemi [10]:


Figura 1.1 : la classificazione dei manipolatori mobili in base al livello di cooperazione


In questa tesi non si dispone del modello cinematico della piattaforma mobile quindi si è seguito il primo approccio , limitandosi a supporre che questa sia in grado di traslare il sistema di riferimento solidale al manipolatore su un piano parallelo al suolo e di ruotarne l’asse di un angolo arbitrario. La piattaforma conferisce così al progettista tre gradi di libertà aggiuntivi, che possono essere sfruttati per migliorare la destrezza , evitare ostacoli , massimizzare le forze esercitabili in direzioni opportune , ecc.

Alcune caratteristiche del manipolatore utilizzato che verranno approfondite nel paragrafo 4.1.2 , come la scarsa precisione del sistema di controllo cartesiano e l’assenza di un metodo di prevenzione delle auto-collisioni nella modalità di controllo diretto sui giunti , hanno indotto a sfruttare la ridondanza per la self-collision-avoidance . Questa procedura permette di evitare la collisione fra i link stessi del manipolatore , che sarebbe altrimenti probabile a causa della particolare struttura meccanica , come verrà spiegato nello stesso paragrafo.


1.2 Tecniche e metodi della robotica industriale


La robotica industriale è una delle aree d’interesse dell’automazione , ovvero quella scienza che si occupa di studiare, progettare e controllare sistemi automatici in grado di sostituire l’uomo nei processi produttivi . L’automazione industriale si divide a sua volta in flessibile , caratterizzata dalla produzione di lotti variabili di prodotti diversi nell’industria manifatturiera , e rigida , che permette la produzione di grandi volumi di merci omogenee e ricorre a sistemi dedicati per ciascuna linea di produzione . I robot vengono impiegati nell’automazione flessibile , perciò devono garantire la multifunzionalità e la riprogrammabilità indicate nella definizione del paragrafo precedente : queste due caratteristiche hanno determinato l’avvento dei manipolatori con struttura tipicamente industriale anche in applicazioni civili e di servizio , favorito anche dalla larga diffusione delle tecniche di controllo e pianificazione che verranno descritte in questo paragrafo .

Figura 1.2: Il manipolatore Stanford Arm

Figura 1.3: Il manipolatore Puma 560

Figura 1.4: La piattaforma Delta


Nelle figure 1.2 , 1.3 e 1.4 sono rappresentate alcune macchine che hanno fatto la storia della robotica industriale, come i pionieristici Stanford Arm , Puma 560 e la Piattaforma Delta. I primi due sono un esempio di robot seriale , cioè di un sistema meccanico composto da un insieme di membri rigidi, detti link , connessi in catena cinematica aperta da accoppiamenti detti giunti in modo da ricordare vagamente un braccio umano; i giunti possono essere rotoidali o prismatici. La piattaforma Delta è invece un esempio di robot parallelo , caratterizzato da una catena cinematica chiusa : questi manipolatori presentano vantaggi e svantaggi molto specifici , come ad esempio mobilità ridotta e notevole complessità di controllo, che li relegano in applicazioni di nicchia : si pensi ad esempio alle operazioni di assemblaggio forzato, che richiedono capacità di carico e rigidità non comuni nei manipolatori seriali ( figurarsi se possono essere applicati in robotica assistiva , dove queste caratteristiche sono dei pericoli oggettivi per la sicurezza dell’utente ).

Per questo motivo i robot seriali restano di gran lunga i più diffusi e ciò spiega perché i termini “manipolatore seriale” e “robot industriale” siano spesso utilizzati come sinonimi. Del resto le tecniche di modellazione, pianificazione e controllo del moto che verranno descritte in questo capitolo sono definite a partire dalla struttura del manipolatore , prescindendo dalla particolare applicazione in cui si esso troverà collocazione .


Le problematiche tipiche della robotica industriale sono :

  1. L’analisi cinematica , che si distingue a sua volta in cinematica diretta, cinematica inversa e cinematica differenziale :

    1. cinematica diretta : note le posizioni relative fra i link , che vengono dette variabili di giunto , permette di ottenere la posizione nello spazio di lavoro della pinza o end-effector ;

    2. cinematica inversa : riguarda la trasformazione in senso contrario , cioè data la configurazione desiderata per la pinza si determinano le posizioni dei giunti che permettono di realizzarla ; guardando al robot come a un sistema da controllare, le variabili di giunto ne costituiscono gli ingressi , perciò la cinematica inversa è un passaggio obbligato per il controllo del sistema ;

    3. cinematica differenziale : lega le velocità e le accelerazioni dei link alle velocità ed alle accelerazioni dei giunti ; questo studio è rilevante per determinare i punti singolari del manipolatore , cioè le posizioni in cui il controllo diventa critico a causa della configurazione assunta dalla struttura , e le relazioni di equlibrio fra le forze e/o i momenti sull’organo terminale e le corrispondenti forze e/o coppie sui giunti ( analisi statica ) . Nel paragrafo 4.1.2 si vedrà che il controllore del MANUS riceve in ingresso le velocità cartesiane desiderate e le trasforma in velocità angolari per i giunti , pertanto realizza una trasformazione di cinematica differenziale .

  2. L’analisi dinamica : studia la relazione fra le forze e/o coppie sviluppate dagli attuatori e le forze ed accelerazioni che si sviluppano sui link , in particolare sulla pinza. Come per l’analisi cinematica , a seconda di quali variabili vengono considerate dipendenti e quali indipendenti si parla di problema dinamico diretto o di problema inverso. L’analisi dinamica serve a determinare i parametri del sistema di controllo degli attuatori : nel caso del MANUS questo aspetto è gestito esclusivamente dal computer-box , senza che sia pemesso all’utente di interagire così a basso livello , perciò l’analisi dinamica non verrà ulteriormente approfondita.

  3. La pianificazione delle traiettorie : consiste nel calcolo dell’ingresso di riferimento per il sistema di controllo che permette al manipolatore di seguire una traiettoria assegnata. Le tecniche disponibili in letteratura verranno prese in rassegna nel paragrafo 1.2.6 , per determinare quella più appropriata alle specifiche del MANUS e del compito che si vuole realizzare.

  4. Il controllo del moto : consiste nel pilotare gli attuatori in modo da far seguire al robot la traiettoria determinata in fase di pianificazione . Anche in questo aspetto il controllore del MANUS si comporta come un black-box , senza permettere all’utente di conoscere lo stato delle variabili controllate : pertanto neanche il controllo del moto verrà ulteriormente approfondito .


1.2.1 Il problema cinematico diretto


Il problema cinematico diretto determina la posizione e l’orientamento dell’organo terminale una volta note le variabili di controllo dei giunti : un giunto è un dispositivo meccanico che permette la mobilità fra due bracci e può essere di tipo prismatico, se il moto relativo è di traslazione , o rotoidale , se il moto relativo è di rotazione .

In robotica , per unificare la notazione fra questi due casi , la variabile dell’i-esimo giunto viene indicata con e coincide con la rotazione relativa , , se il giunto è rotoidale o con il disassamento relativo ,, se il giunto è prismatico . Il MANUS presenta 6 giunti rotoidali , quindi le variabili verranno indicate semplicemente con la notazione vettoriale:


.


Trattandosi di un corpo rigido che si muove nello spazio, la posizione e l’orientamento dell’organo terminale vengono descritti da una sistema di riferimento ( s.d.r , per brevità ) ad esso solidale , del quale si specificano origine e versori degli assi , , rispetto ad un s.d.r. fisso ; per motivi che saranno chiari fra poco, il sistema fisso viene indicato come terna 0 , mentre il sistema mobile solidale alla pinza viene indicato con terna 6.

Il problema cinematico diretto è quindi completamente risolto quando siano note la matrice di rotazione e il vettore di traslazione che permettono di passare da un sistema di riferimento all’altro. Ricorrendo alle coordinate omogenee, anche la traslazione della quantità si può ottenere come prodotto per una matrice


.


Con questo accorgimento le due trasformazioni possono essere descritte da un’unica matrice:

(1.1) .


Si tratta di un risultato che semplifica notevolmente la soluzione del problema nel caso di manipolatori seriali ; data la struttura di tipo sequenziale , la matrice di trasformazione omogenea complessiva può essere ottenuta moltiplicando le matrici che descrivono le trasformazioni fra i s.d.r. solidali a due link successivi , partendo dalla base ( s.d.r. 0 ) fino a giungere alla pinza ( s.d.r. 6 ) :


(1.2) .



Figura 1.5: il principio delle trasformazioni successive
per la soluzione del problema cinematica diretto


Di seguito sono riportate le matrici di trasformazione nel caso del MANUS ( le lunghezze sono espresse in mm ) :

(1.3) ;

si noti che , per semplificare l’espressione finale della matrice cinematica , l’origine della terna 1 viene presa coincidente con quella del sistema di riferimento fisso. Qualora questa condizione non sia verificata, è sempre possibile pre-moltiplicare la matrice della cinematica diretta per quella della trasformazione fra s.d.r. fisso e s.d.r solidale al link 0.

(1.4) ;

(1.5) ;

(1.6) ;

(1.7) ;

(1.8) .

Effettuando il prodotto di queste matrice si perviene alla trasformazione complessiva , che tuttavia non viene riportata per non appesantire la trattazione , perché oltre ad essere particolarmente complessa non è di immediata utilità . Infatti per il calcolo della cinematica diretta non è necessario risalire all’espressione analitica della , ma è sufficiente implementare sei funzioni che calcolino le ed effettuarne il prodotto . Per l’inversione della cinematica si è seguito l’approccio descritto nel paragrafo 1.2.4. e anche questa procedura non necessita della matrice complessiva , ma ricorre alle seguenti matrici di trasformazione parziale :

;

(1.11);


Per brevità si è indicato il con ed il con : questa notazione verrà adottata anche in seguito per esprimere matrici di grandi dimensioni .


1.2.2 I parametri di Denavit-Hartenberg


Per rendere generale e sistematico l’approccio alla soluzione del problema cinematico diretto ed eliminare l’arbitrarietà nella scelta dei s.d.r. , che determinano in modo univoco la forma assunta dalla matrice 1.2 , in robotica industriale è adottato quasi unanimemente un metodo convenzionale , proposto per la prima volta da Denavit ed Hartenberg nel 1955. La convenzione detta le seguenti regole per la scelta del sistema di riferimento i-esimo , che sono riportate in figura 1.6 :

  1. l’asse va scelto lungo l’asse del giunto i+1 ;

  2. l’asse va scelto lungo la normale comune agli assi e , con direzione che va dal giunto i verso il giunto i+1 ;

  3. l’origine è l’intersezione fra l’asse e l’asse ;

  4. l’asse è quello che completa la terna secondo la regola della mano destra .


Figura 1.6 La scelta dei s.d.r. secondo la convenzione di Denavit-Hartenberb


Con questa scelta dei sistemi di riferimento restano definiti per ogni braccio 4 grandezze caratteristiche , dette parametri di Denavit-Hartenberg :

  1. la lunghezza del membro i-esimo, indicata con , che costituisce la distanza fra l’origine della terna i-esima ed il punto , intersezione di con ;

  2. il disassamento relativo , definito come la coordinata di lungo ;

  3. la torsione , definita come l’angolo fra gli assi e ;

  4. la rotazione , definita come l’angolo fra gli assi ed .


I parametri di Denavit-Hartenberg determinano in modo univoco la matrice di trasformazione , che assume la forma :


(1.12) .


La torsione e la lunghezza sono costanti per tutti i bracci , mentre una fra le grandezze e è variabile e costituisce l’ingresso di controllo per la posizione relativa fra due link successivi . Per le coppie rotoidali la variabile indipendente è la rotazione e si può esplicitare nella matrice di trasformazione la dipendenza da ( ) , mentre per i giunti prismatici si esplicita la dipendenza dal disassamento relativo ( ) . Nel caso del MANUS si hanno solo matrici del tipo e le (1.4),..,(1.8) sono costruite senza rispettare la struttura (1.12) : questa scelta permette di ottenere un modello cinematico compatibile con quello adottato dal computer-box , che non rispetta le convenzioni di Denavit-Hartenberg . Sebbene infatti si sia scelto di controllare direttamente i giunti si è comunque ritenuto utile avere un riscontro immediato nel feedback cartesiano del computer-box .

Tabella 1.1 I parametri di Denavit-Hartenberg per il Manipolatore Manus:

Link

1

0

-90°

0

0

2

400mm

0

105mm

0

3

0

90°

0

90°

4

0

-90°

320mm

-90°

5

0

90°

0

0

6

0

0

160mm

0



I parametri di Denavit-Hartenberg del MANUS sono riportati in tabella 1.1 ; per ottenere , a partire da questi , le matrici di trasformazione descritte nel paragrafo precedente è sufficiente invertire alcune variabili di controllo :



Può risultare interessante considerare che forma assumerebbe la matrice di rotazione del polso senza l’inversione di e ; tralasciando l’offset della variabile , che dipende solo dalla scelta della posizione iniziale , si avrebbe che :


(1.13).


Si tratta di una matrice notevole in robotica industriale, come si avrà modo di sottolineare nel prossimo paragrafo trattando le rappresentazioni minime per l’orientamento.


1.2.3 Il problema cinematico inverso


Il problema cinematico inverso consiste nel determinare uno o più set di valori per le variabili di giunto che portano l’organo terminale in una posizione ed in un orientamento desiderato.

A differenza del problema diretto, che conduce sempre ad un’espressione in forma chiusa , il problema inverso comporta la risoluzione di sistemi di equazioni non lineari , per cui ci si può trovare in una delle seguenti situazioni :

  1. non esiste soluzione , qualora la configurazione desiderata sia fuori dallo spazio di lavoro ; la presenza di una base mobile aumenta l’insieme dei punti raggiungibili e riduce quindi il verificarsi di questa situazione critica ;

  2. la soluzione non è esprimibile in forma chiusa e può essere calcolata solo in modo approssimato con metodi numerici . Questa situazione è sfavorevole dal punto di vista computazionale , perché i calcoli vanno ripetuti per ogni posizione cartesiana da trasformare . L’esistenza di una espressione analitica in forma chiusa permette invece di ottenere le soluzioni mediante sostituzione : la struttura del MANUS permette di pervenire ad una forma analitica , attraverso la procedura che verrà descritta nel paragrafo 1.2.4.

  3. esiste più di una soluzione , quindi va effettuata un’analisi delle configurazioni per scegliere quella più conveniente rispetto allo spostamento desiderato .

Un’operazione preliminare che facilita l’inversione della cinematica e limita il presentarsi di queste situazioni è la scelta di una rappresentazione conveniente per l’orientamento dell’organo terminale : si è visto nel paragrafo 1.2.1 che può essere specificata mediante i tre versori caratteristici della pinza espressi nel sistema inerziale : il versore di approccio , il versore di scivolamento ed il versore normale . Si tratta però di 9 parametri fra loro dipendenti , perché devono soddisfare la proprietà di ortonormalità : 3 vincoli di reciproca ortogonalità ed altri 3 che impongono di avere norma unitaria . E’ sufficiente quindi specificare 3 soli parametri , per cui si parla di rappresentazioni minime per l’orientamento : assegnata la struttura di un manipolatore , vi sono rappresentazioni minime che rendono le equazioni della cinematica diretta particolarmente semplici da invertire , perché hanno una sorta di “affinità” con la struttura stessa.

Fra le rappresentazioni più diffuse vi sono gli angoli di Eulero , che rappresentano le ampiezze di tre rotazioni successive che permettono alla terna fissa di sovrapporsi a quella mobile : quando la successione rispetta la stessa sequenza di rotazioni seguita dal polso per orientare la pinza , risulta particolarmente semplice risolvere la cinematica inversa relativa. Se anche gli offset assumono valori opportuni , gli angoli della rappresentazione minima coincidono esattamente con le variabili di giunto del polso . E’ il caso dei polsi Roll-Pitch-Roll e Roll-Pitch-Yaw , così indicati perché la loro cinematica coincide con la matrice di rotazione relativa al set di angoli di Eulero che ne descrive l’orientamento .


Figura 1.7 : Un polso con struttura Roll-Pitch-Yaw

Figura 1.8 : Un polso con struttura Roll-Pitch-Yaw

Le rotazioni finite non sono commutative , quindi esistono 12 possibili set di angoli di Eulero , da scegliere secondo il criterio descritto poco sopra .

Il computer-box del MANUS ricorre alla rappresentazione Roll-Pitch-Yaw , che mutua il proprio nome dagli angoli di rollio , beccheggio e imbardata utilizzati in navigazione . La rotazione complessiva è ottenuta come composizione delle seguenti rotazioni elementari:

  1. rotazione dell’angolo di imbardata attorno all’asse x del sistema di riferimento fisso , descritta dalla matrice ;

  2. rotazione dell’angolo di beccheggio attorno all’asse y del sistema di riferimento fisso , descritta dalla matrice ;

  3. rotazione dell’angolo di rollio attorno all’asse z del sistema di riferimento fisso , descritta dalla matrice ;



Figura 1.9 : Le rotazioni che definiscono la rappresentazione Roll-Pitch-Yaw


Quando le rotazioni vengono effettuate attorno ad assi fissi le matrici si compongono mediante moltiplicazione da destra verso sinistra , pertanto la matrice di rotazione complessiva è:


(1.14) .


Per le stesse questioni che hanno imposto di abbandonare le notazioni di Denavit-Hartenberg , in questo progetto si ricorre agli angoli di Roll , Pitch e Yaw, sebbene la struttura degli ultimi 3 giunti del MANUS descriva la stessa sequenza di rotazioni che definisce gli angoli di Eulero Z-Y-Z. Questo set di angoli costituisce una rappresentazione minima dell’orientamento descritta da:


Figura 1. 10 : La successione di rotazioni che definisce gli angoli di Eulero Z-Y-Z


La composizione di rotazioni attorno ad assi mobili da luogo al prodotto da sinistra verso destra delle relative matrici , pertanto la rotazione associata agli angoli di Eulero Z-Y-Z è la seguente :


(1.15).


Si può riconoscere esattamente la sottomatrice di rotazione della trasformazione 1.13 , ovvero il polso del MANUS è del tipo Roll-Pitch-Roll .


1.2.4 Una procedura sistematica per l’inversione della cinematica dei robot con polso sferico


Se è possibile individuare nella successione dei link una struttura che si occupa di posizionare la pinza ed un’altra che la orienta , questa viene detta polso del robot . Nel MANUS i primi tre link realizzano una struttura portante molto vicina a quella nota in letteratura come manipolatore antropomorfo [4] , mentre gli ultimi tre realizzano un tipico polso sferico . Un polso viene detto sferico se è costituito da tre giunti rotoidali i cui assi si intersecano in un punto comune , detto centro del polso .


Figura 1.11 : Un manipolatore antropomorfo


Figura 1.12 : La struttura portante del MANUS




Figura 1.13 : Un polso sferico roll-pitch-roll

Figura 1.14 : il polso del MANUS


Il polso sferico permette di disaccoppiare la cinematica della struttura portante da quella di orientamento , consentendo di pervenire ad una procedura sistematica per il calcolo di una soluzione analitica del problema inverso .

Questa procedura è stata implementata dalla funzione cinematica_inversa.m descritta in appendice B e si articola nei seguenti passi :

  1. Dalla posizione desiderata per la pinza e dal versore di approccio desiderato , si calcola la posizione del centro del polso come :

,

dove è il parametro di Denavit-Hartenberg che individua la distanza fra centro della pinza e centro del polso e per il MANUS vale 160mm , come indicato nella tabella 1.1.

  1. La posizione dipende dalla configurazione assunta dalla struttura portante ed è funzione delle variabili :

;

si risolve la cinematica inversa per la struttura di posizionamento , pervenendo ai valori desiderati per le prime tre variabili di giunto . In particolare per il MANUS si ha :


(1.16)

  1. Si ricalcola la trasformazione diretta della struttura di posizionamento per conoscere l’orientamento della terna 3 quando assumono i valori calcolati al passo precedente :

.

  1. La rotazione complessiva si può scomporre come , perciò resta da calcolare la rotazione residua che , combinata con , da luogo alla rotazione . Per le proprietà delle matrici di rotazione ( ) si ha che :

.


1.2.5 Cinematica differenziale


La cinematica differenziale lega la velocità angolare e lineare dell’organo terminale alle derivate delle variabili di giunto , che nel caso del MANUS coincidono con gli ingressi di controllo . Queste velocità sono sempre legate dal prodotto per una matrice che viene detta Jacobiano e dipende dalla configurazione assunta dal robot e che viene detta : a seconda di come si definisce la velocità dell’organo terminale si parla di Jacobiano geometrico o Jacobiano analitico . Se si assume , dove è la velocità angolare dell’organo terminale nel sistema di riferimento fisso , allora la matrice tale che viene detta Jacobiano geometrico . Se invece si considera la funzione della rappresentazione minima dell’orientamento e si definisce la velocità come la matrice tale che viene detta Jacobiano analitico.

Si è reso necessario un richiamo alla cinematica differenziale perché la si ritroverà più avanti nel prosieguo del lavoro : nel capitolo 4 si vedrà che la cinematica inversa implementata dal controllore del MANUS è proprio di tipo differenziale . Se infatti lo Jacobiano è invertibile le velocità dei giunti si possono ricavare dalle velocità cartesiane semplicemente invertendo questa matrice :


.


Nel capitolo 6 , invece , la cinematica differenziale verrà utilizzata per calcolare le ripercussioni degli errori di posizione dei giunti sugli errori delle posizioni cartesiane . Riscrivendo infatti la in termini di incrementi finiti si ha e guardando a come ad un errore di posizione , si può determinare l’effetto che ha sulla posizione cartesiana . Considerando per semplicità la sola struttura portante e quindi la cinematica di posizione del centro del polso , la derivazione della 1.16 restituisce :

(1.17) ,

dove :


1.2.6 La pianificazione del moto


La pianificazione del moto si occupa di generare gli ingressi di riferimento per il sistema di controllo in modo che la pinza percorra una traiettoria assegnata . Sono possibili diverse tecniche , che vanno scelte in base al task da realizzare e alle caratteristiche del robot , del sistema di controllo e delle sue capacità di calcolo . In questo paragrafo verrà esposta una panoramica delle alternative possibili e verrà spiegato perché la scelta è caduta su una pianificazione punto-punto nello spazio dei giunti . I dettagli dell’implementazione verranno approfonditi nel capitolo 5 .

Una prima distinzione delle tecniche di pianificazione riguarda le modalità di descrizione della traiettoria : se sono indicati solo il punto iniziale e quello finale con i relativi orientamenti si parla di pianificazione punto-punto ; si tratta della soluzione più semplice , da adottare quando si desiderino algoritmi leggeri e non vi sono particolari vincoli sul percorso che il robot deve seguire . Se oltre agli estremi sono specificati anche opportuni punti di transito , o è indicata la parametrizzazione della curva da seguire , si parla di pianificazione con percorso assegnato . E’ una tecnica che può portare ad un notevole carico computazionale , tanto più grande quanti più sono i punti specificati : risulta necessaria in presenza di ostacoli da evitare o di tasks particolarmente impegnativi , come ad esempio le operazioni di taglio dei semilavorati in ambito industriale . La complessità del compito giustifica il ricorso a sistemi di calcolo costosi e potenti , soprattutto se la pianificazione deve avvenire in tempo reale .

Nel presente lavoro verrà adottata la pianificazione punto-punto , perché non si è considerata la localizzazione degli ostacoli nello spazio di lavoro e perché i compiti che vengono richiesti in ambito assistivo sono solitamente semplici , quindi non necessitano di un numero elevato di punti di transito .

Una seconda classificazione distingue fra pianificazione nello spazio dei giunti e pianificazione nello spazio di lavoro o cartesiano . A scanso di equivoci è bene precisare che l’utente , o il sistema di visione che lo assiste nell’identificare l’oggetto , fornisce sempre delle configurazioni nello spazio cartesiano : la distinzione riguarda piuttosto il dominio della funzione utilizzata per interpolare la traiettoria fra i punti specificati . Se vengono calcolate delle funzioni da inviare direttamente al controllore si parla di pianificazione nello spazio dei giunti , se invece il pianificatore produce in uscita delle funzioni che prima di essere inviate al controllore devono passare per il blocco di inversione della cinematica , allora si parla di pianificazione nello spazio cartesiano o di lavoro .


Figura 1.15 : Lo schema di pianificazione nello spazio dei giunti: si noti che il blocco di inversione della cinematica è esterno all’anello di controllo


Figura 1.16: Pianificazione nello spazio di lavoro: si noti l’inversione della cinematica interna all’anello di controllo


Con la pianificazione nello spazio dei giunti si rischia di perdere di vista l’andamento cartesiano seguito dal robot , per cui è particolarmente sconsigliata in presenza di ostacoli . In compenso è meno onerosa dal punto di vista computazionale e si può quindi implementare in tempo reale anche con sistemi di calcolo relativamente semplici . Inoltre permette una pianificazione “orientata alla cinematica” , che risulta utile nei robot ridondanti o quando si vuole restare lontano dalle singolarità della struttura meccanica e dai fine-corsa dei giunti .

Lo svantaggio principale della pianificazione nello spazio cartesiano risiede invece nelle continue inversioni della cinematica , che danno luogo ad una notevole mole di calcoli e richiedono quindi sistemi di elaborazione relativamente potenti . E’ il prezzo da pagare per una pianificazione “orientata al task” , in cui si possa avere un’idea immediata del percorso seguito dal robot nei tratti non specificati direttamente dall’utente.

In questo caso la scelta è caduta sulla pianificazione nello spazio dei giunti , perché il calcolatore ed i software utilizzati avrebbero mal sopportato i calcoli richiesti da una pianificazione nello spazio cartesiano : si vedrà nel capitolo che l’utilizzo combinato di MATLAB e LABVIEW necessita della tecnologia Active-X dei sistemi operativi Windows , causa di notevoli ritardi nella comunicazione fra le due applicazioni e dell’aumento dei tempi di calcolo che ciascun programma richiederebbe se fosse eseguito singolarmente .


1.3 I manipolatori mobili in robotica assistiva

La robotica assistiva è una disciplina trasversale rispetto alla robotica industriale e alla robotica avanzata presentate nei paragrafi precedenti e studia l’applicazione delle tecnologie da queste sviluppate a sistemi di assistenza a persone anziane o disabili . L’obiettivo è migliorare le condizioni di vita di questi soggetti mediante la realizzazione di ausili tecnici che ne facilitino i compiti della vita quotidiana . I requisiti che deve soddisfare un robot assistivo sono sostanzialmente diversi da quelli che sono richiesti in robotica industriale e nel resto delle applicazioni di robotica avanzata , tanto da giustificare la nascita di una disciplina a se stante. Di seguito sono riportati i requisiti di un sistema robotico per l’assistenza , specificando le soluzioni adottate in questo progetto per soddisfarli :

Quest’ultimo aspetto costituisce l’obiettivo principale di questa tesi e ha guidato le ricerche di robotica assistiva negli ultimi decenni , finalizzate ad aumentare sempre più le capacità di autonomia e ridurre contestualmente la necessità di conoscenza a priori sull’ambiente . Una classificazione dei robot per l’assistenza che ripercorra anche cronologicamente questa evoluzione fa riferimento a 4 tipologie di sistemi :

  1. Postazioni fisse per la telemanipolazione : un telemanipolatore è una struttura meccanica , solitamente seriale , comandata dall’utente mediante feedback visuale . I Progetti Spartacus e Heidelberg hanno rappresentato negli anni ’70 il primo tentativo di applicare i telemanipolatori industriali ad applicazioni civili [9] . La telemanipolazione , con robot fisso o su carrozzella , è l’unica ad avere per ora un riscontro commerciale significativo , a differenza di applicazioni più avanzate ferme ancora allo stadio di prototipi . Lo stesso MANUS è venduto ai privati come un telemanipolatore , anche se alle Università e ai gruppi di ricerca è lasciata la possibilità di accedere al controllore per realizzare sistemi più autonomi.

  2. Postazioni fisse autonome , in cui l’utente si limita a richiamare delle primitive di alto livello del tipo “prendi il bicchiere” , “versa il contenuto del bicchiere” , “portati nel punto x,y,z” senza dover controllare in prima persona gli assi del robot . Esempi di questo genere di sistemi robotici sono il Devar System , realizzato dal Centro di Ricerca e Sviluppo per la Riabilitazione dei Veterans Affair Department in California , il progetto RAID ( Robot for Assisting the Integration of the Disabled ) , sviluppato dal CEA-STR in Francia con i finanziamenti del programma TIDE della comunità europea , e il CAPDI dell’Università Politecnica della Catalogna.

Figura 1.17 : Il sistema Devar

Figura 1.18 : il progetto RAID

Figura 1.19 : CAPDI

Per queste postazioni resta la possibilità di sopperire alla mancanza di autonomia del robot fornendogli conoscenza a priori sull’ambiente di lavoro . Il CAPDI , ad esempio , rende il disabile completamente autonomo nella preparazione dei pasti in una cucina robotizzata mediante una apposita strutturazione della cucina stessa . Questa possibilità si riduce considerando postazioni mobili su carrozzella e si perde progressivamente passando a considerare postazioni mobili prive di operatore umano.

  1. Postazioni mobili su carrozzella , in cui la presenza dell’utente con il robot permette di gestire il livello di autonomia in base alla complessità del task da svolgere e alla conoscenza sull’ambiente circostante , combinando i vantaggi dei telemanipolatori con quelli delle postazioni parzialmente autonome . Esempi di sistemi che utilizzano carrozzine sono il RAPTOR , prodotto e commercializzato dalla società Applied Resources , ed il progetto FRIEND (Functional Robot Arm with User Friendly Interface for Disabled People ) sviluppato dall’Università di Brema , che utilizza il MANUS come mostrato in figura 1.21 .

    Figura 1.20 : La carrozzella Raptor

    Figura 1.21 : Il progetto FRIEND

  2. Postazioni mobili autonome : richiedono le massime capacità di autonomia perché devono operare in ambienti diversi senza la presenza dell’operatore umano. Sono quindi sempre dotati di sistemi di visione e altri sensori eterocettivi per l’esplorazione attiva dell’ambiente. Qualora ciò non sia possibile , alcuni progetti ricorrono ad un visual-feedback dell’utente mediante le telecamere montate sul robot , riconducendosi al problema della telemanipolazione : è la strada percorsa dal progetto TAURO sviluppato dall’Istituto di Scienza dell’informazione dell’Università di Aachen , che utilizza il MANUS . Altri manipolatori mobili autonomi degni di nota sono il MOVAID ( MObility and actiVity Assistance system for Disabled ) , finanziato dal progetto TIDE e l’italiano URMAD ( Unità Robotica Mobile per l’Assistenza ai Disabili ) portato avanti dalla Scuola Superiore Sant’Anna di Pisa.

Figura 1.22 : Il sistema Tauro

Figura 1.23 : Il progetto MOVAID

Figura 1.24 : Il robot MOVAR


Finora sono stati esposti i prototipi realizzati dagli enti di ricerca : i sistemi in commercio , però , necessitano ancora della continua azione dell’utente o di una pesante strutturazione dell’ambiente . Lo stesso MANUS è venduto per realizzare i seguiti compiti come un telemanipolatore :

Con i programmi descritti nei prossimi capitoli si intende conferire al sistema un livello minimo di autonomia , che permetta al disabile di agire da supervisore senza dover necessariamente comandare ogni singolo movimento.


9


Torna al sommario


Torna alla home page di Ingegneria-elettronica.com