Paolo Lino
Controllo dei Robot
Controllo dei Robot 1
Table of contents
Introduction
Paolo LinoDipartimento di Ing. Elettrica e dellโInformazione (DEI)
Politecnico di Bari
e-mail: paolo.lino [at] poliba.it
Cinematica โ Parte 1
Paolo Lino
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
CINEMATICADIRETTA
CINEMATICAINVERSA
Variabili di giuntoPosizione e orientamento (posa)
end-effector
Cinematica del braccio di un robot
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Posizione ed orientamento di un corpo rigido
Controllo dei Robot
Corso di Controllo dei Robot
๐โฒ = ๐๐ฅโฒ ๐ + ๐๐ฆ
โฒ ๐ + ๐๐งโฒ๐ ๐โฒ =
๐๐ฅโฒ
๐๐ฆโฒ
๐๐งโฒ
๐โฒ = ๐ฅ๐ฅโฒ ๐ + ๐ฅ๐ฆ
โฒ ๐ + ๐ฅ๐งโฒ๐
๐โฒ = ๐ฆ๐ฅโฒ๐ + ๐ฆ๐ฆ
โฒ ๐ + ๐ฆ๐งโฒ๐
๐โฒ = ๐ง๐ฅโฒ ๐ + ๐ง๐ฆ
โฒ ๐ + ๐ง๐งโฒ๐
๐โฒ =
๐ฅ๐ฅโฒ
๐ฅ๐ฆโฒ
๐ฅ๐งโฒ
๐โฒ =
๐ฆ๐ฅโฒ
๐ฆ๐ฆโฒ
๐ฆ๐งโฒ
๐โฒ =
๐ง๐ฅโฒ
๐ง๐ฆโฒ
๐ง๐งโฒ
x
z
yiAO
Oโ
'
xO
'
yO
'
zO
jk
i' j'
k'
x
z
yi
'
xz
'
yz
'
zz
jk k'
Paolo Lino
Matrice di rotazione
ORTOGONALE
det ๐ = 1 se la terna รจ levogira
det ๐ = โ1 se la terna รจ destrogira.
๐โฒ๐
๐โฒ๐
๐โฒ๐
๐โฒ ๐โฒ ๐โฒ =
๐โฒ๐๐โฒ ๐โฒ
๐๐โฒ ๐โฒ
๐๐โฒ
๐โฒ๐๐โฒ ๐โฒ
๐๐โฒ ๐โฒ
๐๐โฒ
๐โฒ๐๐โฒ ๐โฒ๐๐โฒ ๐โฒ๐๐โฒ
=1 0 00 1 00 0 1
Controllo dei Robot
Corso di Controllo dei Robot
๐ = ๐โฒ ๐โฒ ๐โฒ =
๐ฅ๐ฅโฒ
๐ฅ๐ฆโฒ
๐ฅ๐งโฒ
๐ฆ๐ฅโฒ
๐ฆ๐ฆโฒ
๐ฆ๐งโฒ
๐ง๐ฅโฒ
๐ง๐ฆโฒ
๐ง๐งโฒ
=๐โฒ
๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐โฒ๐๐
๐ ๐๐ = ๐ผ
det ๐ = ๐โฒ๐ ๐โฒ โง ๐โฒ = ๐โฒ๐
๐โฒ โง ๐โฒ = ๐โฒ๐
๐โฒ โง ๐โฒ
Paolo Lino
Rotazioni elementari
๐ ๐ โ๐ = ๐ ๐๐ ๐ con ๐ = ๐ฅ, ๐ฆ, ๐ง
Controllo dei Robot
Corso di Controllo dei Robot
a
a
a)
a)
a)
a)
b)b
bb)
b)
b)
g
g
g)
g)
g)
g)
๐ ๐ง ๐ผ = ๐โฒ ๐โฒ ๐โฒ =๐๐๐ ๐ผ๐ ๐๐ ๐ผ
0
โ๐ ๐๐ ๐ผ๐๐๐ ๐ผ
0
001
a
a
a)
a)
a)
a)
b)b
bb)
b)
b)
g
g
g)
g)
g)
g)
a
a
a)
a)
a)
a)
b)b
bb)
b)
b)
g
g
g)
g)
g)
g)
๐ ๐ฆ ๐ฝ = ๐โฒ ๐โฒ ๐โฒ =๐๐๐ ๐ฝ
0โ๐ ๐๐ ๐ฝ
010
๐ ๐๐ ๐ฝ0
๐๐๐ ๐ฝ๐ ๐ฅ ๐พ = ๐โฒ ๐โฒ ๐โฒ =
100
0๐๐๐ ๐พ
๐ ๐๐ ๐พ
0โ๐ ๐๐ ๐พ
๐๐๐ ๐พ
Paolo Lino
Esempio 1
a
-p'sen(a)p'cos(a)
a
p = p'cos(a) - p'sen(a)
Si considerino due terne con origine comune
ruotate tra loro di un angolo a attorno allโasse
๐ง. Sia, poi, ๐ un punto del piano ๐ฅ โ ๐ฆ.
Il punto ๐ nel sistema ruotato avrร coordinate
๐โฒ โก ๐๐ฅโฒ , ๐๐ฆ
โฒ , ๐๐งโฒ .
La rappresentazione dello stesso punto ๐ nel
sistema di riferimento sarร :
essendo ๐ e ๐โฒ i vettori rappresentativi del
punto P nei due sistemi.
Controllo dei Robot
Corso di Controllo dei Robot
๐๐ฅ
๐๐ฆ
๐๐ง
=๐๐๐ ๐ผ๐ ๐๐ ๐ผ
0
โ๐ ๐๐ ๐ผ๐๐๐ ๐ผ
0
001
๐๐ฅโฒ
๐๐ฆโฒ
๐๐งโฒ
๐ = ๐ ๐ง ๐ผ ๐โฒ
๐๐ฅ = ๐๐ฅโฒ ๐๐๐ ๐ผ โ ๐๐ฆ
โฒ ๐ ๐๐ ๐ผ
๐๐ฆ = ๐๐ฅโฒ ๐ ๐๐ ๐ผ + ๐๐ฆ
โฒ ๐๐๐ ๐ผ
๐๐ง = ๐๐งโฒ
Paolo Lino
Si consideri un vettore ๐, ottenuto ruotando un vettore
๐โฒ nel piano ๐ฅ โ ๐ฆ di un angolo ๐ผ attorno allโasse ๐ง della
terna di riferimento in cui esso รจ espresso.
Dette ๐๐ฅโฒ , ๐๐ฆ
โฒ , ๐๐งโฒ le coordinate del vettore ๐โฒ, il vettore ๐
risultante dalla rotazione ha componenti:
ฮฑ
P
Pโ
pโx
pโy
py
pxx
y
z
p
pโ
ฮฑ ฮฑ
P
Pโ
pโx
pโy
py
pxx
y
xโ
yโ
pโypโx
zzโ
๐ = ๐ ๐ง ๐ผ ๐โฒ
Esempio 2
Controllo dei Robot
Corso di Controllo dei Robot
๐๐ฅ = ๐๐ฅโฒ ๐๐๐ ๐ผ โ ๐๐ฆ
โฒ ๐ ๐๐ ๐ผ
๐๐ฆ = ๐๐ฅโฒ ๐ ๐๐ ๐ผ + ๐๐ฆ
โฒ ๐๐๐ ๐ผ
๐๐ง = ๐๐งโฒ
๐๐ฅ
๐๐ฆ
๐๐ง
=๐๐๐ ๐ผ๐ ๐๐ ๐ผ
0
โ๐ ๐๐ ๐ผ๐๐๐ ๐ผ
0
001
๐๐ฅโฒ
๐๐ฆโฒ
๐๐งโฒ
Paolo Lino
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
๐ = ๐ ๐โฒ. Inoltre in virtรน della proprietร di ortogonalitร della matrice ๐ ,
la trasformazione inversa si scrive ๐โฒ = ๐ ๐๐
La matrice di rotazione ๐ 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.
Significato geometrico della matrice di rotazione
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Composizione di matrici di rotazione
Siano assegnate tre terne di coordinate ๐ โ ๐ฅ0๐ฆ0๐ง0, ๐ โ ๐ฅ1๐ฆ1๐ง1 e ๐ โ ๐ฅ2๐ฆ2๐ง2 aventi origini
comuni ๐. Il vettore ๐ rappresentativo di un generico punto nello spazio puรฒ essere
rappresentato in ciascuna delle tre terne.
Siano ๐๐, ๐๐, e ๐๐ i vettori rappresentativi di ๐ 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 ๐ rispetto alla terna ๐.
La matrice di rotazione di un sistema rispetto ad un altro puรฒ essere espressa mediante
la composizione di matrici di rotazione rappresentanti rotazioni successive dello stesso
sistema
Controllo dei Robot
Corso di Controllo dei Robot
๐0 = ๐ 10๐1
๐0 = ๐ 20๐2
๐1 = ๐ 21๐2
๐0 = ๐ 10๐ 2
1๐2
๐0 = ๐ 20๐2
๐ 20 = ๐ 1
0๐ 21
Paolo Lino
Siano ๐โ ๐ฅ๐ฆ๐ง, ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ e ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ tre terne, che per il momento supponiamo
coincidenti.
Ruotiamo contemporaneamente attorno allโasse ๐ง due sistemi ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ e
๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ dellโangolo ๐ผโฒ. La matrice di rotazione che esprime questa rotazione
sarร :
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
Ruotiamo adesso attorno allโasse ๐ง il sistema ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ dellโangolo ๐ผโฒโฒ, rispetto alla
terna corrente ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ. La rotazione del sistema ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ rispetto alla terna
๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ si esprime con la relazione:
๐ 10 =
๐๐๐ ๐ผโฒ
๐ ๐๐ ๐ผโฒ
0
โ๐ ๐๐ ๐ผโฒ
๐๐๐ ๐ผโฒ
0
001
๐ 21 =
๐๐๐ ๐ผโฒโฒ
๐ ๐๐ ๐ผโฒโฒ
0
โ๐ ๐๐ ๐ผโฒโฒ
๐๐๐ ๐ผโฒโฒ
0
001
Paolo Lino
La rotazione totale della terna ๐โ ๐ฅ๐ฆ๐ง di un angolo ๐ผ attorno allโasse ๐ง, 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:
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
๐ 20 =
๐๐๐ ๐ผ๐ ๐๐ ๐ผ
0
โ๐ ๐๐ ๐ผ๐๐๐ ๐ผ
0
001
=๐๐๐ ๐ผโฒ + ๐ผโฒโฒ
๐ ๐๐ ๐ผโฒ + ๐ผโฒโฒ
0
โ๐ ๐๐ ๐ผโฒ + ๐ผโฒโฒ
๐๐๐ ๐ผโฒ + ๐ผโฒโฒ
0
001
๐ 10๐ 2
1 =๐๐๐ ๐ผโฒ
๐ ๐๐ ๐ผโฒ
0
โ๐ ๐๐ ๐ผโฒ
๐๐๐ ๐ผโฒ
0
001
๐๐๐ ๐ผโฒโฒ
๐ ๐๐ ๐ผโฒโฒ
0
โ๐ ๐๐ ๐ผโฒโฒ
๐๐๐ ๐ผโฒโฒ
0
001
๐ 10๐ 2
1 =๐๐๐ ๐ผโฒ ๐๐๐ ๐ผโฒโฒ โ ๐ ๐๐ ๐ผโฒ ๐ ๐๐ ๐ผโฒโฒ
๐ ๐๐ ๐ผโฒ ๐๐๐ ๐ผโฒโฒ + ๐๐๐ ๐ผโฒ ๐ ๐๐ ๐ผโฒโฒ
0
โ๐๐๐ ๐ผโฒ ๐ ๐๐ ๐ผโฒโฒ โ ๐ ๐๐ ๐ผโฒ ๐๐๐ ๐ผโฒโฒ
โ๐ ๐๐ ๐ผโฒ ๐ ๐๐ ๐ผโฒโฒ + ๐๐๐ ๐ผโฒ ๐๐๐ ๐ผโฒโฒ
0
001
๐ 10๐ 2
1 =๐๐๐ ๐ผโฒ + ๐ผโฒโฒ
๐ ๐๐ ๐ผโฒ + ๐ผโฒโฒ
0
โ๐ ๐๐ ๐ผโฒ + ๐ผโฒโฒ
๐๐๐ ๐ผโฒ + ๐ผโฒโฒ
0
001
Paolo Lino
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.
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Poichรฉ dobbiamo fare riferimento alla terna base, supponiamo che i due sistemi
๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ e ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ abbiano subito le loro rotazioni. Seguiamo allora i seguenti
passi:
โข Esprimiamo la rotazione della terna ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ rispetto alla terna di riferimento,
mediante la rotazione ๐ 10.
โข Riallineiamo la terna ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ con la terna ๐ โ ๐ฅ๐ฆ๐ง mediante la rotazione ๐ 01
โข Essendo, adesso, le due terne allineate, si esprime la rotazione della terna ๐โฒ โ ๐ฅโฒ๐ฆโฒ๐งโฒ
per sovrapporla alla terna ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ mediante la matrice ๐ 21
โข Infine si compensa la rotazione effettuata per il riallineamento con la rotazione inversa
๐ 10
Matrice che caratterizza la terna ๐โฒโฒ โ ๐ฅโฒโฒ๐ฆโฒโฒ๐งโฒโฒ rispetto alla terna
๐โ ๐ฅ๐ฆ๐ง, ottenuta da rotazioni successive riferite alla terna fissa
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
๐ 20
Paolo Lino
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.
Rotazioni successive rispetto alla terna corrente
Controllo dei Robot
Corso di Controllo dei Robot
๐ 20 = ๐ 1
0๐ 01 ๐ 2
1๐ 10 = ๐ผ ๐ 2
1๐ 10 = ๐ 2
1๐ 10
Paolo Lino
Importanza dellโordine delle rotazioni
Controllo dei Robot
Corso di Controllo dei Robot
Rotazioni rispetto ad una terna fissa
Paolo Lino
Importanza dellโordine delle rotazioni
Controllo dei Robot
Corso di Controllo dei Robot
Rotazioni rispetto alla terna corrente
Paolo Lino
Rotazione intorno ad un asse arbitrario
Sovrapposizione di ๐ su ๐ง, che si ottiene come successione di rotazioni di โ๐ผintorno a ๐ง e di una rotazione di โ๐ฝ intorno a ๐ฆ
Rotazione di ๐ intorno a ๐ง
Ripristino dellโorientamento iniziale di ๐, che si ottiene come successione di una
rotazione di ๐ฝ attorno allโasse ๐ฆ e di una rotazione ๐ผ attorno allโasse ๐ง.
)()()()()()( abba zyzyzr RRRRRR
x
z
y
r
-r
ry
rx
rz
ฮฑ
ฮฒ
ฮธ
-ฮธ A
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
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
a
a
b
b
a
a
b
b
)
) ) )
) ) ) ) ) )
ccrsrcrrsrcrr
srcrrccrsrcrr
srcrrsrcrrccr
R
zxzyyzx
xzyyzyx
yzxzyxx
r
111
111
111
2
2
2
Osserviamo che vale la relazione: ๐ โ๐ โ๐ = ๐ ๐ ๐
Questo dimostra che la rappresentazione non รจ univoca, poichรฉ una rotazione
di โ๐ intorno a โ๐ provoca gli stessi effetti della rotazione di ๐ attorno ad ๐.
x
z
y
r
-r
ry
rx
rz
ฮฑ
ฮฒ
ฮธ
-ฮธ A
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Rotazione intorno ad un asse arbitrario: Problema inverso
โข Per ๐ ๐๐ ๐ โ 0 le due espressioni caratterizzano la rotazione in termini di
quattro parametri: lโangolo e le tre componenti del vettore ๐. Tuttavia si puรฒ
osservare che le tre componenti del vettore non sono linearmente
indipendenti, poichรฉ ๐๐ฅ2 + ๐๐ฆ
2 + ๐๐ง2 = 1.
โข Se ๐ ๐๐ ๐ = 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 noti che per
๐ = 0 (rotazione nulla) il versore ๐ รจ arbitrario.
Controllo dei Robot
Corso di Controllo dei Robot
๐ =
๐11๐21๐31
๐12๐22๐32
๐13๐23๐33
Problema inverso
๐ = ๐ถ๐๐โ1๐11 + ๐22 + ๐33 โ 1
2
๐ =1
2๐ ๐๐ ๐
๐32 โ ๐23๐13 โ ๐31๐21 โ ๐12
Paolo Lino
Quaternione unitario
Controllo dei Robot
Corso di Controllo dei Robot
Gli inconvenienti della descrizione asse e angolo possono essere superati
ricorrendo ad una rappresentazione a quattro parametri: il quaternione
unitario
๐ = ๐, ๐
๐ = ๐๐๐ ๐
2
๐ =
๐๐ฅ
๐๐ฆ
๐๐ง
= ๐ ๐๐๐
2๐
parte scalare
parte vettoriale
๐2 + ๐๐ฅ2 + ๐๐ฆ
2 + ๐๐ง2 = 1 vincolo
๐ ๐, ๐ =
2 ๐2 + ๐๐ฅ2 โ 1 2 ๐๐ฅ๐๐ฆ โ ๐๐๐ง 2 ๐๐ฅ๐๐ง + ๐๐๐ฆ
2 ๐๐ฅ๐๐ฆ + ๐๐๐ง 2 ๐2 + ๐๐ฆ2 โ 1 2 ๐๐ฆ๐๐ง โ ๐๐๐ง
2 ๐๐ฅ๐๐ง โ ๐๐๐ฆ 2 ๐๐ฆ๐๐ง + ๐๐๐ง 2 ๐2 + ๐๐ง2 โ 1
Paolo Lino
Quaternione unitario: Problema inverso
โข Si รจ implicitamente assunto ๐ โฅ 0, ovvero ๐ โ โ๐, ๐ , il che consente di
descrivere qualsiasi rotazione
โข A differenza della soluzione inversa del problema asse e angolo, le formule
non presentano singolaritร
โข Il quaternione estratto da ๐ โ1 = ๐ ๐, indicato con ๐ โ๐, puรฒ essere calcolato
come ๐ โ๐ = ๐,โ๐
Controllo dei Robot
Corso di Controllo dei Robot
๐ =
๐11๐21๐31
๐12๐22๐32
๐13๐23๐33
Problema inverso
๐ =1
2๐11 + ๐22 + ๐33 + 1
๐ =1
2
๐ ๐๐ ๐32 โ ๐23 ๐11 โ ๐22 โ ๐33 + 1
๐ ๐๐ ๐13 โ ๐31 ๐22 โ ๐33 โ ๐11 + 1
๐ ๐๐ ๐21 โ ๐12 ๐33 โ ๐11 โ ๐22 + 1
Paolo Lino
Le matrici di rotazione forniscono una descrizione ridondante
dellโorientamento di una terna: 9 elementi legati tra loro da 6 vincoli di
ortogonalitร .
Rappresentazioni minime dellโorientamento
000
111
ikkjji
kkjjii
TTT
TTT
Controllo dei Robot
Corso di Controllo dei Robot
I parametri effettivi per la descrizione di un orientamento sono 3. Una
descrizione in termini di 3 parametri indipendenti costituisce una
rappresentazione minima (e.g. 3 angoli).
Una generica matrice di rotazione puรฒ essere ricavata per composizione di
tre rotazioni elementari secondo opportune sequenze, in modo da garantire
che due rotazioni successive non avvengano intorno ad assi paralleli (12
possibili combinazioni). Ciascun insieme di tre angoli rappresenta una
terna di angoli di Eulero
Paolo Lino
Angoli di Eulero
Rappresentazioni minime dellโorientamento
Rappresentazione di angoli di Eulero ZYZ
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Si ruota la terna originale dellโangolo
๐ attorno allโasse ๐ง
Angoli di Eulero ZYZ
Controllo dei Robot
Corso di Controllo dei Robot
Si ruota la terna, ruotata, dellโangolo
attorno allโasse corrente ๐ฆโฒ
Si ruota ancora la terna, ruotata,
dellโangolo ๐ attorno allโasse
corrente ๐งโฒโฒ
๐ ๐ง ๐ =๐๐๐ ๐
๐ ๐๐ ๐0
โ๐ ๐๐ ๐
๐๐๐ ๐0
001
๐ ๐ฆโฒ ๐ =๐๐๐ ๐
0โ๐ ๐๐ ๐
010
๐ ๐๐ ๐0
๐๐๐ ๐
๐ ๐งโฒโฒ ๐ =๐๐๐ ๐
๐ ๐๐ ๐0
โ๐ ๐๐ ๐
๐๐๐ ๐0
001
Paolo Lino
Lโorientamento finale della terna, che si ottiene con la composizione di
rotazioni definite rispetto alla terna corrente รจ:
Angoli di Eulero ZYZ
Controllo dei Robot
Corso di Controllo dei Robot
๐ ๐ธ๐๐ฟ = ๐ ๐ง ๐ ๐ ๐ฆโฒ ๐ ๐ ๐งโฒโฒ ๐ =
๐๐๐๐๐๐ โ ๐ ๐๐ ๐ โ๐๐๐๐๐ ๐ โ ๐ ๐๐๐ ๐๐๐ ๐๐ ๐๐๐๐๐ + ๐๐๐ ๐ โ๐ ๐๐๐๐ ๐ + ๐๐๐๐ ๐ ๐๐ ๐
โ๐ ๐๐๐ ๐ ๐๐๐ ๐๐
Paolo Lino
Angoli di Eulero ZYZ: Problema inverso
๐ = ๐๐ก๐๐2 ๐23, ๐13
๐ = ๐๐ก๐๐2 ๐132 + ๐23
2 , ๐33
๐ = ๐๐ก๐๐2 ๐32, โ๐31
๐ = ๐๐ก๐๐2 โ๐23, โ๐13
๐ = ๐๐ก๐๐2 โ ๐132 + ๐23
2 , ๐33
๐ = ๐๐ก๐๐2 โ๐32, ๐31
Controllo dei Robot
Corso di Controllo dei Robot
๐ =
๐11๐21๐31
๐12๐22๐32
๐13๐23๐33
Si possono ricavare due soluzioni in
funzione del valore di ๐:
๐ โ 0, ๐ ๐ โ โ๐, 0
Le due soluzioni ricavate degenerano
quando ๐ ๐๐ ๐ = 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.
๐ โ 0, ๐
๐ โ โ๐, 0
Problema inverso
๐ ๐ธ๐๐ฟ =
๐๐๐๐๐๐ โ ๐ ๐๐ ๐ โ๐๐๐๐๐ ๐ โ ๐ ๐๐๐ ๐๐๐ ๐๐ ๐๐๐๐๐ + ๐๐๐ ๐ โ๐ ๐๐๐๐ ๐ + ๐๐๐๐ ๐ ๐๐ ๐
โ๐ ๐๐๐ ๐ ๐๐๐ ๐๐
Paolo Lino
Tale rappresentazione trae origine da una descrizione delle rotazioni usate
frequentemente in nautica ed aeronautica.
Lโacronimo RPY indica, rispettivamente, il rollio (Roll), il beccheggio (Pitch),
e lโimbardata (Yaw).
In questo caso, la terna di parametri rappresenta rotazioni definite rispetto ad
una terna fissa solidale al baricentro.
Angoli RPY
Controllo dei Robot
Corso di Controllo dei Robot
Paolo Lino
Si ruota la terna origine dellโangolo ๐intorno allโasse ๐ฅ (imbardata)
Angoli RPY
Controllo dei Robot
Corso di Controllo dei Robot
Si ruota la terna originale dellโangolo ๐intorno allโasse ๐ง (rollio)
Si ruota la terna originale dellโangolo ๐intorno allโasse ๐ฆ (beccheggio)
๐ ๐ง ๐ =๐๐๐ ๐
๐ ๐๐ ๐0
โ๐ ๐๐ ๐
๐๐๐ ๐0
001
๐ ๐ฆ ๐ =๐๐๐ ๐
0โ๐ ๐๐ ๐
010
๐ ๐๐ ๐0
๐๐๐ ๐
๐ ๐ฅ ๐ =100
0๐๐๐ ๐
๐ ๐๐ ๐
0โ๐ ๐๐ ๐
๐๐๐ ๐
Paolo Lino
Angoli RPY
La rotazione globale della terna, essendo ottenuta per composizione rispetto
ad una terna fissa, รจ:
Controllo dei Robot
Corso di Controllo dei Robot
๐ ๐ ๐๐ = ๐ ๐ง ๐ ๐ ๐ฆ ๐ ๐ ๐ฅ ๐ =
๐๐๐๐ ๐๐๐ ๐๐ ๐ โ ๐ ๐๐๐ ๐๐๐ ๐๐๐ + ๐ ๐๐ ๐๐ ๐๐๐ โ๐ ๐๐ ๐๐ ๐ + ๐๐๐๐ ๐ ๐๐ ๐๐๐ โ ๐๐๐ ๐โ๐ ๐ ๐๐๐ ๐ ๐๐๐๐
Paolo Lino
Angoli RPY: Problema inverso
๐ = ๐๐ก๐๐2 ๐21, ๐11
๐ = ๐๐ก๐๐2 โ๐31, ๐322 + ๐33
2
๐ = ๐๐ก๐๐2 ๐32, ๐33
๐ = ๐๐ก๐๐2 โ๐21, โ๐11
๐ = ๐๐ก๐๐2 โ๐31, โ ๐322 + ๐33
2
๐ = ๐๐ก๐๐2 โ๐32, โ๐33
Controllo dei Robot
Corso di Controllo dei Robot
๐ โ๐
2,3
2๐
๐ โ โ๐
2,๐
2
๐ =
๐11๐21๐31
๐12๐22๐32
๐13๐23๐33
Si possono ricavare due soluzioni in
funzione del valore di ๐:
๐ โ โ๐
2,๐
2๐ โ
๐
2,3
2๐
Le due soluzioni ricavate degenerano
quando ๐๐๐ ๐ = 0 ; in questo caso รจ
possibile determinare soltanto la somma o
la differenza di ๐ e ๐.
Problema inverso
๐ ๐ ๐๐ =
๐๐๐๐ ๐๐๐ ๐๐ ๐ โ ๐ ๐๐๐ ๐๐๐ ๐๐๐ + ๐ ๐๐ ๐๐ ๐๐๐ โ๐ ๐๐ ๐๐ ๐ + ๐๐๐๐ ๐ ๐๐ ๐๐๐ โ ๐๐๐ ๐โ๐ ๐ ๐๐๐ ๐ ๐๐๐๐
Paolo Lino
Trasformazioni omogenee
Trasformazione di coordinate
Trasformazione inversa
Controllo dei Robot
Corso di Controllo dei Robot
๐0 = ๐10 + ๐ 1
0๐1
๐1 = โ๐ 01๐1
0 + ๐ 01๐0
๐1 = โ ๐ 10 ๐๐1
0 + ๐ 10 ๐๐0
Paolo Lino
Coordinate omogenee
matrice di trasformazione omogenea
1010
0
1
1
0
1
00
1
0
1
0
11
0 TT
TToRRoRR
Atrasformazione inversa
Si osserva che in generale รจ ๐ดโ1 โ ๐ด๐. Inoltre, se le terne hanno la stessa
origine, essendo ๐10 = 0 0 0 ๐, essa si riduce alla semplice matrice di rotazione.
๐ด10 =
๐ 10 ๐1
0
0๐ 1
๐0 = ๐10 + ๐ 1
0๐1 ๐0 = ๐ด10 ๐1
๐ =๐1
=
๐๐ฅ
๐๐ฆ
๐๐ง
1
๐0 = ๐ด10๐ด2
1 โฏ๐ด๐๐โ1 ๐๐
Controllo dei Robot
Corso di Controllo dei Robot
Successione di trasformazioni consecutive di coordinate
Paolo Lino
Esempio
a1
a2
Controllo dei Robot
Corso di Controllo dei Robot
) ) ) )
1000
0100
0
0
12211101212
12211101212
0
2
soosoocs
coocoosc
A
Paolo Lino
Esempio
) )
1000
0100
0
0
11011
11011
0
1
soocs
coosc
A
) )
1000
0100
0
0
22122
22122
1
2
soocs
coosc
A
) )
) )
1000
0100
0
0
1000
0100
0
0
22122
22122
11011
11011
1
2
0
1
0
2
soocs
coosc
soocs
coosc
AAA
) ) ) ) ) )
1000
0100
0
0
11021212121212121
11021212121212121
soosccsooccsssccs
coossccoocsscsscc ) ) ) )
1000
0100
0
0
12211101212
12211101212
0
2
soosoocs
coocoosc
A
Controllo dei Robot
Corso di Controllo dei Robot
) ) ) )
1000
0100
0
0
12211101212
12211101212
0
2
soosoocs
coocoosc
A