controllo dei robot a. rizzo cinematica del braccio di un robot n la cinematica si occupa dello...

29
Cinematica del braccio di un robot La cinematica si occupa dello studio analitico della geometria del movimento del braccio rispetto ad un sistema di riferimento in funzione del tempo, prescindendo dalle forze e dai momenti che provocano il moto Cinematica diretta Cinematica inversa Angoli dei giunti Posizione ed orientamento dell’end-effector

Upload: gioacchino-tosi

Post on 01-May-2015

230 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Cinematica del braccio di un robot

La cinematica si occupa dello studio analitico della geometria del movimento del braccio rispetto ad un sistema di riferimento in funzione del tempo, prescindendo dalle forze e dai momenti che provocano il moto

Cinematica diretta

Cinematica inversa

Angoli dei giunti Posizione ed orientamentodell’end-effector

Page 2: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Posizione ed orientamento di un corpo rigido

kOjOiOO zyx

z

y

x

O

O

O

O

Tzyx

Tzyx

Tzyx

zyx

zyx

zyx

zzzk

yyyj

xxxi

kzjzixzk

kyjyiyj

kxjxixi

,,

,,

,,

Page 3: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Matrice di rotazione

kkkjki

jkjjji

ikijii

zyx

zyx

zyx

kjiRTTT

TTT

TTT

zzz

yyy

xxx

IRRT

100

010

001

kkjkik

kjjjij

kijiii

kji

k

j

i

ORTONORMALE

Si osserva in oltre che il det(R) = 1 se la terna è levogira,

mentre vale det(R) = -1 se la terna e destrogira.

Page 4: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazioni elementari

100

0cossen

0sencos

)(

kjiRz

cos0sen

010

sen0cos

)( kjiRy

cossen1

sencos0

001

)( kjiRx

Rk(-) = RkT() con k = x, y, z

Page 5: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Significato geometrico della matrice di rotazione

Fornisce l’orientamento di una terna di coordinate rispetto ad un’altra. I vettori colonna sono i coseni direttori degli assi della terna ruotata rispetto alla terna di riferimento.

Rappresenta una trasformazione di coordinate che mette in relazione le coordinate di un punto in due terne differenti con origine comune p = Rp. Inoltre in virtù della proprietà di ortogonalità della matrice R, la trasformazione inversa si scrive p = RTp

La matrice di rotazione R rappresenta l’operatore che permette di ruotare un vettore (nella stessa terna), di un angolo prefissato, attorno ad un generico asse di rotazione nello spazio.

Page 6: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Esempio 1

-p'sen()p'cos()

p = p'cos() - p'sen()

Si considerino due terne con origine comune ruotate tra loro di un angolo attorno all’asse z. Sia, poi, P un punto del piano xy.

Il punto P nel sistema ruotato avrà coordinate P (px, py, pz).

La rappresentazione dello stesso punto P nel sistema di riferimento sarà:

zz

yxy

yxx

pp

ppp

ppp

)cos()sen(

)sen()cos(

pRp

p

p

p

p

p

p

z

z

y

x

z

y

x

100

0)cos()sen(

0)sen()cos(

essendo p e p i vettori rappresentativi del punto P nei due sistemi.

Page 7: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Esempio 2

Si consideri un vettore p, ottenuto ruotando un vettore p nel piano xy di un angolo attorno all’asse z della terna di riferimento in cui esso è espresso.

Dette (px, py, pz) le coordinate del vettore p, il vettore p risultante dalla rotazione ha componenti:

zz

yxy

yxx

pp

ppp

ppp

)cos()sen(

)sen()cos(

pRp

p

p

p

p

p

p

z

z

y

x

z

y

x

100

0)cos()sen(

0)sen()cos(

Page 8: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Composizione di matrici di rotazione

Siano assegnate tre terne di coordinate O – x0 y0 z0, O – x1 y1 z1 e O – x2 y2 z2 aventi origini comuni O. Il vettore p rappresentativo di un generico punto nello spazio può essere rappresentato in ciascuna delle tre terne.

Siano p0, p1, e p2 i vettori rappresentativi di p nei tre sistemi. Nel seguito, l’apice di un vettore o di una matrice indica la terna in cui sono espressi i suoi elementi

Indichiamo con la matrice di rotazione della terna i rispetto alla terna j.jiR

12

01

0220

20

212

01

0

212

1

202

0

101

0

RRRpRp

pRRp

pRp

pRp

pRp

In pratica la matrice di rotazione di un sistema rispetto ad un altro può essere espressa mediante lacomposizione di matrici di rotazioni rappresentanti rotazioni successive dello stesso sistema.

Page 9: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazioni successive rispetto alla terna corrente Siano O – xyz, O – xyz e O – xyz tre terne, che per il

momento supponiamo coincidenti. Ruotiamo contemporaneamente i due sistemi O – xyz e O –

xyz dell’angolo . La matrice di rotazione che esprime questa rotazione sarà:

Ruotiamo adesso il sistema O – xyz dell’angolo , rispetto alla terna corrente O-xyz. La rotazione del sistema O – xyz rispetto alla terna O – xyz si esprime con la relazione:

100

0)cos()'(

0)()cos(01

sen

sen

R

100

0)cos()(

0)()cos(12

sen

sen

R

Page 10: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

La rotazione totale della terna O – xyz di un angolo attorno all’asse z, quindi, può essere espressa come composizione delle matrici di rotazione rappresentativa della prima rotazione con la matrice di rotazione rappresentativa della seconda rotazione rispetto alla terna già ruotata , infatti:

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

12

01

02

sen

sen

sen

sen

RR

sen

sen

sen

sen

R

100

0)cos()cos()()()()cos()cos()(

0)cos()()()cos()()()cos()cos(

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

12

01

02

sensensensen

sensensensen

RR

sen

sen

sen

sen

R

12

01

02

12

01

02

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

100

0)cos()(

0)()cos(

RRR

sen

sen

RR

sen

sen

sen

sen

R

Page 11: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazioni successive rispetto alla terna corrente

Si noti che la rotazione complessiva è espressa come successione di rotazioni parziali, ciascuna delle quali è definita rispetto alla rotazione precedente. La terna rispetto alla quale avviene la rotazione in atto è definita terna corrente.

In conclusione, la composizione di rotazioni successive rispetto alla terna corrente si ottiene per moltiplicazione da sinistra verso destra le matrici delle singole rotazioni, nell’ordine della rotazione.

Page 12: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazioni successive rispetto ad una terna fissa

Poiché dobbiamo fare riferimento alla terna base, supponiamo che i due sistemi O – xyz e O – xyz abbiano subito le loro rotazioni. Seguiamo allora i seguenti passi:

Esprimiamo la rotazione della terna O – xyz rispetto alla terna di riferimento.

Riallineiamo la terna O – xyz con la terna O – xyz, mediante la rotazione

Essendo, adesso, le due terne allineate si esprime la rotazione della terna O – xyz nella terna O – xyz mediante la matrice

Infine si compensa la rotazione effettuata per il riallineamento con la rotazione inversa

12R

10R

01R

Page 13: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazioni successive rispetto ad una terna fissa

01

12

01

12

01

12

10

01

02 RRRRIRRRRR

In conclusione, la composizione di rotazioni successive

rispetto ad una terna fissa si ottiene moltiplicando

da destra verso sinistra le singole matrici di rotazione

nell’ordine delle rotazioni.

Page 14: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Importanza dell’ordine delle rotazioni

Page 15: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Importanza dell’ordine delle rotazioni

Page 16: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazione intorno ad un asse arbitrario

Sovrapposizione di r su z, che si ottiene come successione di rotazioni di - intorno a z e di una rotazione di - intorno a y

Rotazione di intorno a z

Ripristino dell’orientamento iniziale di r, che si ottiene come successione di una rotazione di attorno all’asse y e di una rotazione attorno all’asse z.

)()()()()()( zyzyzr RRRRRR

Page 17: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rotazione intorno ad un asse arbitrario

22

22

22

22 cos

sen

cos

sen

cos

sen

cos

sen

yx

x

yx

y

z

yx

yx

x

y

z

rr

r

rr

r

r

rr

rrA

Ar

Ar

r

A

ccrsrcrrsrcrr

srcrrccrsrcrr

srcrrsrcrrccr

R

zxzyyzx

xzyyzyx

yzxzyxx

r

111

111

111

2

2

2

Osserviamo che vale la relazione: R-r(-) = Rr().

Questo dimostra che la rappresentazione non è univoca,

poiché una rotazione di - intorno a –r provoca gli stessi effetti

della rotazione di attorno ad r.

Page 18: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Problema inverso

333231

232221

131211

rrr

rrr

rrr

R

1221

3113

2332

3322111

)sen(2

1

2

1cos

rr

rr

rr

r

rrr

Osserviamo che per sen() 0 le due espressioni caratterizzano la rotazione in termini

di quattro parametri: l’angolo e le tre componenti del vettore r.

Tuttavia si può osservare che le tre componenti del vettore non sono linearmente indipendenti,

poiché

Se sen() = 0 le relazioni trovate perdono di significato. Per il problema inverso occorre fare

riferimento alla particolare matrice di rotazione ed individuare le formule risolutive nei due

casi = 0 e = . Si noto che per = 0 (rotazione nulla) il versore r è arbitrario.

1222 zyx rrr

Page 19: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Rappresentazioni minime dell’orientamento

Angoli di Eulero

Page 20: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli di Eulero

Si ruoti la terna originale dell’angolo attorno all’asse z: tale rotazione è descritta dalla matrice

Si ruota la terna, ruotata, dell’angolo attorno all’asse corrente y: tale rotazione è descritta dalla matrice di rotazione

Si ruota, ancora, la terna dell’angolo attorno all’asse corrente z: tale rotazione è descritta dalla matrice di rotazione

100

0cossen

0sencos

)(

zR

cos0sen

010

sen0cos

)(yR

100

0cossen

0sencos

)(

zR

Page 21: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli di Eulero L’orientamento finale della terna, che si ottiene con la composizione di rotazioni

definite rispetto alla terna corrente è:

csscs

ssccscsscccs

sccssccssccc

RRRR zyzEUL

Page 22: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli di Eulero: Problema inverso

333231

232221

131211

rrr

rrr

rrr

R

csscs

ssccscsscccs

sccssccssccc

REUL

3132

332

232

13

1323

,2tan

,2tan

,2tan

rrA

rrrA

rrA

Si possono ricavare due soluzioni, equivalenti (per gli effetti prodotti), scegliendo appartenente all’intervallo (0, ) oppure (-, 0)

Le due soluzioni ricavate degenerano quando s = 0; in questo caso è possibile determinare soltanto la somma o la differenza di e . Infatti, se = 0, , le rotazioni successive di e sono effettuate intorno ad assi di terna corrente paralleli fra di loro, fornendo così effetti di rotazione equivalenti.

3132

332

232

13

1323

,2tan

,2tan

,2tan

rrA

rrrA

rrA

Page 23: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli RPY Tale rappresentazione trae origine da una descrizione delle

rotazioni usate frequentemente in aeronautica. In particolare RPY indicano rispettivamente il rollio (Roll) il

beccheggio (Pitch) e l’imbardata (Yaw) di uno scafo. In questo caso la terna di parametri rappresenta rotazioni definite

rispetto ad una terna fissa solidale al baricentro dello scafo.

Page 24: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli RPY Si ruota la terna origine

dell’angolo intorno all’asse x (imbardata); tale rotazione è descritta dalla matrice di rotazione

Si ruota la terna originale dell’angolo intorno all’asse y (beccheggio); tale rotazione è rappresentata dalla matrice

Si ruota la terna originale dell’angolo intorno all’asse z (rollio); tale rotazione è rappresentata dalla matrice:

cos0sen0

sencos0

001

)(xR

cos0sen

010

sen0cos

)(yR

100

0cossen

0sencos

)(

zR

Page 25: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Angoli RPYLa rotazione globale della terna, essendo ottenuta per composizione rispetto ad una terna fissa è:

ccscs

sccssccssscs

sscsccsssccc

RRRR xyzRPY )()()(

Problema inverso

333231

232221

131211

rrr

rrr

rrr

R

3332

233

23231

1121

,2tan

,2tan

,2tan

rrA

rrrA

rrA

appartenete all’intervallo (/2, 3/2)

3332

233

23231

1121

,2tan

,2tan

,2tan

rrA

rrrA

rrA

Page 26: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Trasformazioni omogenee

101

01

0 pRop

010

01

10

1001

01

01

1 pRoRppRoRpTT

Trasformazione di coordinate

Trasformazione inversa

Page 27: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Coordinate omogenee

1

1~

z

y

x

p

p

p

pp

101

0101

01

0 ~~ pAppRop matrice di trasformazione omogenea

1

01

010

1 To

oRA

11

01

10

10

01

01

011

0 TT

TT

o

oRR

o

oRRAtrasformazione inversa

Si osserva che in generale è A-1 AT. Inoltre, se le terne hanno la stessa origine, essendo , essa si riduce alla semplice matrice di rotazione.

Successione di trasformazioni consecutive di coordinate :nn

n pAAAp ~...~ 112

01

0

To 0,0,001

Page 28: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Esempio

1000

0100

0

0

12211101212

12211101212

02

soosoocs

coocoosc

A

Page 29: Controllo dei Robot A. Rizzo Cinematica del braccio di un robot n La cinematica si occupa dello studio analitico della geometria del movimento del braccio

Controllo dei Robot A. Rizzo

Esempio

1000

0100

0

0

11011

11011

01

soocs

coosc

A

1000

0100

0

0

22122

22122

12

soocs

coosc

A

1000

0100

0

0

1000

0100

0

0

22122

22122

11011

11011

12

01

02

soocs

coosc

soocs

coosc

AAA

1000

0100

0

0

11021212121212121

11021212121212121

soosccsooccsssccs

coossccoocsscsscc

1000

0100

0

0

12211101212

12211101212

02

soosoocs

coocoosc

A