Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

41
Corso di Percezione Corso di Percezione Robotica (PRo) Robotica (PRo) A.A. 99/00 A.A. 99/00 B. Modulo di Robotica B. Modulo di Robotica Fondamenti di meccanica e controllo dei robot

description

Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica. Fondamenti di meccanica e controllo dei robot. Sommario della lezione. Introduzione alla meccanica dei robot cinematica di un braccio robotico problemi di cinematica diretta e inversa - PowerPoint PPT Presentation

Transcript of Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Page 1: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Corso di Percezione Robotica Corso di Percezione Robotica (PRo)(PRo)A.A. 99/00A.A. 99/00

B. Modulo di RoboticaB. Modulo di Robotica

Fondamenti di meccanica e controllo dei robot

Page 2: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Sommario della lezioneSommario della lezioneIntroduzione alla meccanica dei robotcinematica di un braccio robotico

problemi di cinematica diretta e inversa definizione di spazio dei giunti e spazio cartesiano matrici di trasformazione

principi fondamentali del calcolo delle traiettorie e del controllo dei robot

un esempio: il linguaggio VAL II di programmazione del robot PUMA 562

Riferimenti bibliografici:Fu, Gonzalez, Lee, “Robotica”, McGraw-Hill

Page 3: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Definizione di robotDefinizione di robot

Dal Webster:“Dispositivo automatico che esegue funzioni

normalmente svolte dagli esseri umani”Dal Robot Institute of America:

“Manipolatore multifunzionale riprogrammabile progettato per spostare

materiali, parti, utensili o altri dispositivi, per mezzo di movimenti variabili programmati per

l’esecuzione di un dato numero di compiti”

Page 4: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

.

Definizione di sistema Definizione di sistema meccatronicomeccatronicoSistema riprogrammabile dotato di:attuatori, capaci di produrre modificazioni

dell’ambiente di lavoro, con relativa circuiteria elettronica di potenza

sensori, capaci di percepire caratteristiche significative dell’ambiente di lavoro, con relativa circuiteria elettronica di pilotaggio ed acquisizione

una unità di controllo, spesso integrata (embedded) con il sistema stesso

Page 5: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Manipolatore industriale

“Sequenza di segmenti rigidi, o link, connessi da giunti prismatici o di rotazione (catena cinematica).”

Giunto = insieme di due superfici che slittano l’una sull’altra rimanendo a contatto

Coppia giunto-link = grado di libertà del robot

Link 0 = base di appoggio del robot e origine del sistema di coordinate di riferimento per il moto.

All’ultimo link è collegato di norma un utensile, detto anche end-effector (effettore finale)

Page 6: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Manipolatore industriale

Spazio di lavoro del robot = insieme dei punti raggiungibili dall’utensile del robot

Sottogruppi principali = braccio + polso

Tipicamente:il braccio (tre gradi di libertà) viene utilizzato per il posizionamento del polso al livello del pezzo da lavorare,

il polso (tre gradi rotazionali) viene utilizzato per consentire la presa del pezzo variando l’orientamento dell’utensile

Page 7: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Manipolatore industriale

Categorie fondamentali:

Cartesiano (tre assi lineari)

Cilindrico (due assi lineari e uno rotazionale)

Sferico (un asse lineare e due rotazionali)

Rotazionale (tre o più assi rotazionali)

Numero di gradi di libertà (N) > 6 = robot ridondanti

Page 8: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Figg. 2.9 & 1.2Figg. 2.9 & 1.2

Page 9: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Cinematica del braccio dei robot

Studio analitico della geometria del moto del braccio rispetto ad un sistema di riferimento cartesiano fisso senza considerare le forze e i momenti che ne provocano il moto.

Descrizione analitica dello spostamento del robot nello spazio in funzione del tempo.

Descrizione analitica delle relazioni tra le posizioni dei giunti e la posizione e l’orientamento dell’effettore del braccio del robot.

Page 10: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Dinamica del braccio dei robot

Formulazione matematica delle equazioni di moto del braccio, basata sulle leggi fisiche note, quali le leggi della meccanica di Newton e di Lagrange

Utile per:

•simulazione del braccio

•progetto delle equazioni e degli algoritmi di controllo utilizzabili

•valutazione della progettazione e della struttura cinematica del braccio.

Page 11: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Problema della cinematica diretta

Per un determinato manipolatore, dato il vettore degli angoli dei giunti q(t) e i parametri geometrici dei link, determinare la posizione e l’orientamento dell’effettore rispetto ad un sistema di coordinate di riferimento fissato.

Problema della cinematica inversa

Dati la posizione e l’orientamento desiderati dell’estremità dell’effettore ed i parametri geometrici dei link rispetto a un sistema di coordinate di riferimento, il manipolatore può raggiungere la posizione e l’orientamento richiesti? Se sì, in quante e quali differenti configurazioni?

Cinematica diretta e inversaCinematica diretta e inversa

Page 12: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Problema della cinematica diretta

Definizione di un sistema di riferimento solidale ad ogni link del manipolatore.

Ricerca delle matrici di trasformazione che mettano in relazione i diversi sistemi di riferimento.

Utilizzo di coordinate e matrici di trasformazione omogenee/ Notazione di Denavit-Hartenberg.

Equazione cinematica del braccio.

Page 13: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Matrici di rotazione

Matrice di trasformazione operante su un vettore posizione in uno spazio tridimensionale euclideo.

Matrici fondamentali di rotazione

Matrice di rotazione intorno ad un asse arbitrario

Page 14: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Coordinate omogenee e matrici di trasformazione

Rappresentazione di un vettore posizione di N componenti con un vettore di (N+1) componenti

P = (px, py, pz)T P^ = (wpx, wpy, wpz, w)T

w = fattore di scala

In robotica w = 1.

Rappresentazione unica delle componenti di traslazione, rotazione, prospettiche e di scala.

Page 15: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Sistemi di coordinate dei link e loro parametri

L’asse di rotazione del giunto è definito alla connessione dei due link che esso unisce.

Per ogni asse sono definite due rette normali, una per ogni link.

A ciascun link di un manipolatore sono associati quattro parametri: due determinano la posizione relativa dei link adiacenti e due la struttura del link.

Page 16: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Sistemi di coordinate dei link e loro parametri

La posizione relativa del link i-esimo rispetto al link (i-1)-esimo può essere definita misurando la distanza e l’angolo tra i due link adiacenti

di = distanza fra le rette normali misurata lungo l’asse del giunto i-esimo

i = angolo compreso tra le due normali misurato in un piano normale all’asse stesso.

Page 17: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Sistemi di coordinate dei link e loro parametri

Dal punto di vista cinematico, un link mantiene una configurazione fissa tra due giunti (struttura del link).

La struttura del link i può essere caratterizzata mediante la lunghezza e l’angolo di rotazione del link i.

ai = distanza minima misurata lungo la normale comune tra gli assi dei giunti

i = angolo compreso tra gli assi dei giunti su un piano normale ad ai

Page 18: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Figg. 2.9 & 2.10 + fig. linkFigg. 2.9 & 2.10 + fig. link

Page 19: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Rappresentazione di Denavit-Hartenberg

Matrice di trasformazione omogenea 4X4 che rappresenta ogni sistema di coordinate dei link rispetto ai giunti con riferimento al link precedente.

Per un braccio a 6 gradi di libertà = 7 sistemi di coordinateasse z = asse di movimento del giuntoasse x = normale all’asse z e all’asse z del riferimento precedenteasse y = completa la regola della mano destra

Attraverso trasformazioni sequenziali l’estremità dell’effettore espressa nelle coordinate del sistema solidale alla mano può essere trasformata ed espressa nel sistema delle coordinate di base (sistema inerziale di riferimento).

Page 20: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Rappresentazione di Denavit-Hartenberg

La rappresentazione D-H dipende dai quattro parametri geometrici associati a ogni link, che descrivono completamente tutti i giunti rotazionali o prismatici.

Variabili di giunto::

se varia solo di = giunto prismatico

se varia solo i = giunto rotazionale

Page 21: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Rappresentazione di Denavit-Hartenberg

Algoritmo di rappresentazione dei sistemi di coordinate ortonormali coerenti per un robot, che facilita lo sviluppo del procedimento logico per la soluzione dei giunti (matrice del braccio).

Dato un robot ad N gradi di libertà si assegna un sistema di coordinate ortonormali a ogni link.

L’assegnamento inizia dalla base del supporto e procede fino all’effettore.

Le relazioni tra link adiacenti sono espresse mediante matrici di trasformazione omogenee 4x4.

Page 22: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Rappresentazione di Denavit-Hartenberg

Passi fondamentali dell’algoritmo.

1. Determinare il sistema di coordinate fondamentale2. Per ogni giunto da 1 a 5, stabilire l’asse del giunto, l’origine del sistema di coordinate, l’asse x e l’asse y.3. Stabilire il sistema di coordinate della mano, uscente dal robot.4. Per ogni giunto e per ogni link, determinare quindi i parametri dei giunti e dei link. A questo punto è possibile definire la matrice di trasformazione omogenea che mette in relazione i sistemi di coordinate adiacenti.

Page 23: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Equazioni cinematiche per i manipolatori

Matrice di trasformazione omogenea del sistema di coordinate relativo al giunto i-esimo rispetto al sistema di coordinate di base

prodotto a catena delle successive matrici di trasformazione omogenee relative ai link adiacenti.

Page 24: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Spazio dei giunti e spazio operativo

Spazio dei giunti (o spazio delle configurazioni) = spazio in cui è definito il vettore q delle variabili di giunto.La posizione, p, e l’orientamento, , dell’organo di presa possono essere determinate con il numero minimo di variabili strutturalmente indipendenti tra loro. Lo spazio in cui è definito il vettore x = (p, )T si definisce spazio operativo.

x = k (q), k funzione vettoriale non lineare

Page 25: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Spazio dei giunti e spazio operativo

Spazio di lavoro del robot = regione descritta dall’origine della terna utensile quando ai giunti del manipolatore si fanno eseguire tutti i moti possibili.

Spazio di lavoro destro (o spazio di destrezza) = regione dello spazio che l’origine della terna utensile può raggiungere con più di un orientamento.

Spazio di lavoro raggiungibile = regione dello spazio che l’origine della terna utensile può raggiungere con almeno un orientamento.

Un manipolatore con N < 6 non può realizzare posizioni e orientamenti arbitrariamente assegnati nello spazio.

Page 26: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Es. + fig.2.4 Es. + fig.2.4

Page 27: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Manipolatore reale

Accuratezza (< 1 mm) = scostamento tra posizione calcolata sulla base dei parametri di targa con la cinematica diretta e la posizione reale (funzione dalla posizione dell’utensile nello spazio di lavoro).

Ripetibilità (< 0.2 mm) = misura della capacità del manipolatore di tornare in una posizione precedentemente assunta (funzione del sistema e degli algoritmi di controllo, oltre che dalle caratteristiche meccaniche del robot).

Page 28: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Ridondanza del braccio

Numero dei gradi di libertà maggiore del numero di variabili necessarie alla caratterizzazione di un determinato compito = la dimensione dello spazio operativo è minore della dimensione dello spazio dei giunti (ridondanza intrinseca). La ridondanza è un concetto relativo al tipo di compito da svolgere (ridondanza funzionale).

Un manipolatore non intrinsecamente ridondante può essere funzionalmente ridondante.

Vantaggi: soluzioni multiple ottimizzabiliSvantaggi: complessità di calcolo e di controllo

Page 29: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Il problema cinematico inverso

• Le equazioni da risolvere sono in generale non lineari• Non è sempre possibile trovare una soluzione analitica (forma chiusa)• Si possono avere soluzioni multiple.• Si possono avere infinite soluzioni (singolarità).• In funzione della struttura cinematica del braccio, possono non esistere soluzioni ammissibili.

L’esistenza di una soluzione è sempre garantita se la posizione e l’orientamento desiderati appartengono allo spazio destro del manipolatore.

Spesso si ricorre a tecniche iterative di tipo numerico.

Page 30: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Il problema cinematico inverso

Nel caso di manipolatore a sei gradi di libertà l’esistenza di una soluzione analitica è sempre garantita se ricorre almeno una delle seguenti condizioni:

A) tre assi di giunti rotoidali adiacenti si intersecano (polso sferico);

B) tre assi di giunti rotoidali adiacenti sono paralleli

Nel caso A, si può scindere il problema in due sottoproblemi disaccoppiando la soluzione per la posizione da quella per l’orientamento.

Page 31: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Il problema cinematico inverso

Dati noti = posizione p ed orientamento R della pinza

Passi della soluzione:

1) Individuare un punto sulla struttura la cui posizione sia esprimibile in funzione di un insieme ridotto di variabili di giunto e dei dati noti = centro del polso 2) Calcolare la posizione del polso in funzione delle prime tre variabili di giunto q1, q2, q3

3) Risolvere la cinematica inversa per le prime tre variabili di giunto q1, q2, q3

4) Calcolare R03 in funzione delle prime tre variabili di

giunto5) Calcolare R6

3 (4, 5, 6)

6) Risolvere la cinematica inversa per l’orientamento (4, 5, 6)

Page 32: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Cinematica differenziale

Individuazione della relazione tra le velocità dei giunti e le corrispondenti velocità angolari e lineari dell’organo terminale = calcolo del Jacobiano del manipolatore.

Jacobiano geometrico = matrice di trasformazione dipendente dalla configurazione corrente del braccio

Jacobiano analitico = matrice delle derivate parziali della funzione di cinematica diretta rispetto alle variabili di giunto

Page 33: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Cinematica differenziale e statica

Importanza del calcolo del Jacobiano del braccio:

• individuazione delle singolarità• analisi della ridondanza• algoritmi per l’inversione cinematica• individuazione del legame tra forze applicate all’organo terminale e coppie sviluppate ai giunti (statica)• derivazione equazioni di moto e sintesi degli schemi di controllo nello spazio operativo

Page 34: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Cinematica differenziale e statica

Singolarità di un manipolatore = configurazioni in cui il Jacobiano diminuisce di rango

• configurazioni in cui si ha una perdita di mobilità della struttura

• quando il robot è in una configurazione singolare possono esistere infinite soluzioni al problema cinematico inverso

• nell’intorno di una singolarità, velocità ridotte nello spazio operativo possono indurre velocità molto elevate nello spazio dei giunti

Page 35: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Cinematica differenziale e statica

Per manipolatori a polso sferico, il problema dell’individuazione delle singolarità può essere disaccoppiato:

• singolarità di polso, caratterizzate nello spazio dei giunti e difficilmente gestibili

• singolarità di struttura portante, caratterizzate nello spazio operativo (cartesiano) e facilmente evitabili.

Page 36: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Inversione nella cinematica differenziale

Si ottiene per integrazione nel tempo della relazione inversa tra le velocità di giunto e le velocità dell’organo terminale.

L’inversione cinematica così ottenuta prescinde dalla risolvibilità della struttura cinematica.

Il Jacobiano deve essere una matrice quadrata e di rango pieno.

Particolare attenzione deve essere posta nel trattare i casi di presenza di singolarità o di manipolatori ridondanti.

Page 37: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Esempi di sfruttamento della ridondanza

massimizzare la misura di manipolabilità, una funzione che si annulla in corrispondenza di una singolarità;

minimizzare la distanza dai fine corsa di uno o più giunti;

massimizzare la distanza da un ostacolo;

Page 38: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Calcolo delle traiettorie dei Calcolo delle traiettorie dei manipolatorimanipolatori

Modalità:

Due sottoproblemi:pianificazione della traiettoria e controllo del movimento

VINCOLO DELL’OSTACOLOSì No

VINCOLO DEL

PERCORSO

No

Pianificazione fuori linea del percorso

esente da collisioni e inseguimento in linea

del percorso

Controllo della posizione e ricerca e

aggiornamento in linea degli ostacoli

Pianificazione fuori linea del percorso e

inseguimento in linea del percorso

Controllo della posizione

Page 39: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Pianificazione di traiettoriePianificazione di traiettorie

OBIETTIVO: generare gli ingressi di riferimento per il sistema di controllo del moto:xstart --> xgoal

PERCORSO: luogo dei punti dello spazio dei giunti o dello spazio operativo che il manipolatore deve descrivere per l’esecuzione del movimento assegnatoTRAIETTORIA: percorso su cui è specificata la legge oraria di moto (velocità ed accelerazione in ogni punto)

Page 40: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Pianificazione di traiettoriePianificazione di traiettorie

DATI IN INPUT:vincoli del percorsovincoli degli ostacolivincoli del manipolatoreDATI IN OUTPUT:nello spazio dei giunti: traiettorie dei vari giuntinello spazio operativo: traiettoria dell’organo terminale

Page 41: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Robotica

Controllo del motoControllo del moto

OBIETTIVO: ottenere dal robot la risposta desiderata

nello spazio dei giuntinello spazio cartesiano