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
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
Definizione 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”
Definizione di sistema meccatronico
Sistema 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
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)
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
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
Figg. 2.9 & 1.2
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.
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.
Cinematica diretta e inversa
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?
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.
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
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.
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.
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.
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
Figg. 2.9 & 2.10 + fig. link
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 coordinate
asse z = asse di movimento del giunto
asse x = normale all’asse z e all’asse z del riferimento precedente
asse 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).
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
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.
Rappresentazione di Denavit-Hartenberg
Passi fondamentali dell’algoritmo.
1. Determinare il sistema di coordinate fondamentale
2. 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.
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.
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
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.
Es. + fig.2.4
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).
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 ottimizzabili
Svantaggi: complessità di calcolo e di controllo
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.
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.
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 giunto
5) Calcolare R63 (4, 5, 6)
6) Risolvere la cinematica inversa per l’orientamento (4, 5, 6)
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
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
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
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.
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.
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;
Calcolo delle traiettorie dei
manipolatori
Modalità:
VINCOLO
DEL
PERCORSO
VINCOLO DELL’OSTACOLO
Sì
No
Sì
Pianificazione fuori linea
del percorso esente da
collisioni e inseguimento
in linea del percorso
No
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
Due sottoproblemi:
pianificazione della traiettoria e controllo del movimento
Pianificazione 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 assegnato
TRAIETTORIA: percorso su cui è specificata la
legge oraria di moto (velocità ed accelerazione
in ogni punto)
Pianificazione di traiettorie
DATI IN INPUT:
vincoli del percorso
vincoli degli ostacoli
vincoli del manipolatore
DATI IN OUTPUT:
nello spazio dei giunti: traiettorie dei vari giunti
nello spazio operativo: traiettoria dell’organo
terminale
Controllo del moto
OBIETTIVO: ottenere dal robot la risposta
desiderata
nello spazio dei giunti
nello spazio cartesiano
Scarica

Cinematica del braccio dei robot