Corso di Robotica 1 Rappresentazioni alternative dell orientamento (angoli di Eulero e roll-pitch-yaw) Trasformazioni omogenee Prof. lessandro De Luca Robotica 1 1
Rappresentazioni minimali matrici di rotazione: 9 elementi - 3 relazioni ortogonalità - 3 relazioni unitarietà = 3 grandezze indipendenti problema diretto problema inverso sequenza di 3 rotazioni intorno ad assi indipendenti fissi (a i ) o mobili (a i ) 1 + 1 sequenze possibili distinte (ad es., XYX) di fatto solo 1 perché {(a 1 α 1 ), (a α ), (a 3 α 3 )} { (a 3 α 3 ), (a α ), (a 1 α 1 )} Robotica 1
x z z R z (ψ) = ngoli di Eulero ZX Z 1 R z (φ) = SR φ φ x SR y y cos φ sin φ 0 sin φ cos φ 0 0 0 1 3 θ z x x z SR cos ψ sin ψ 0 sin ψ cos ψ 0 0 0 1 z z ψ y θ y x ψ R x (θ) = 1 0 0 0 cos θ sin θ 0 sin θ cos θ x y y SR Robotica 1 3
ngoli di Eulero ZX Z Problema diretto: dati φ, θ, ψ ; ricavare R R ZX Z (φ, θ, ψ) = R Z (φ) R X (θ) R Z (ψ) ordine di definizione della concatenazione = cφ cψ - sφ cθ sψ - cφ sψ - sφ cθ cψ sφ sθ sφ cψ + cφ cθ sψ - sφ sψ - cφ cθ cψ - cφ sθ sθ sψ sθ cψ cθ dato un vettore v = (x,y,z ) espresso in SR le sue coordinate in SR sono date da v = R ZX Z (φ, θ, ψ) v l orientamento di SR è lo stesso che si avrebbe con la sequenza di rotazioni: ψ intorno a z, θ intorno a x (fisso), φ intorno a z (fisso) Robotica 1 4
ngoli di Eulero ZX Z Problema inverso: data R = {r ij }; ricavare φ, θ, ψ r 11 r 1 r 13 r 1 r r 3 r 31 r 3 r 33 = cφ cψ - sφ cθ sψ - cφ sψ - sφ cθ cψ sφ sθ sφ cψ + cφ cθ sψ - sφ sψ - cφ cθ cψ - cφ sθ sθ sψ sθ cψ cθ r 13 + r 3 = s θ, r 33 = cθ θ = TN{ ± r 13 + r 3, r 33 } se sθ 0 due valori che differiscono per il segno r 31 /sθ = sψ, r 3 /sθ = cψ ψ = TN{ r 31 /sθ, r 3 /sθ } analogamente: φ = TN{ r 13 /sθ, -r 3 /sθ } si ottiene sempre una coppia di soluzioni c è sempre una singolarità (qui θ = 0, ± π) Robotica 1 5
x x z ngoli di Roll-Pitch-Yaw 1 ROLL z z R X (ψ) = ψ ψ y y 1 0 0 0 cos ψ sin ψ 0 sin ψ cos ψ C R Z (φ)c T con R Z (φ) = z 3 θ x x YW cos φ sin φ 0 sin φ cos φ 0 0 0 1 θ z z y y x y φ PITCH φ z C 1 R Y (θ)c 1 T con R Y (θ) = cos θ 0 sin θ 0 1 0 sin θ 0 cos θ x y y
ngoli di Roll-Pitch-Yaw (su XYZ fissi) Problema diretto: dati ψ, θ, φ ; ricavare R R RPY (ψ, θ, φ) = R Z (φ) R Y (θ) R X (ψ) ordine di definizione = notare l ordine! cφ cθ cφ sθ sψ - sφ cψ cφ sθ cψ + sφ sψ sφ cθ sφ sθ sψ + cφ cψ sφ sθ cψ - cφ sψ - sθ cθ sψ cθ cψ Problema inverso: data R = {r ij }; ricavare ψ, θ, φ r 3 + r 33 = c θ, r 31 = -sθ θ = TN{-r 31, ± r 3 + r 33 } se cθ 0 due valori simmetrici rispetto a π/ r 3 /cθ = sψ, r 33 /cθ = cψ ψ = TN{r 3 /cθ, r 33 /cθ} analogamente: φ = TN{ r 1 /cθ, r 11 /cθ } singolarità per θ = ± π/ + k π Robotica 1 7
perché in questo ordine? R RPY (ψ, θ, φ) = R Z (φ) R Y (θ) R X (ψ) ordine di definizione ordine inverso nel prodotto occorre riportare ogni rotazione della sequenza sull asse fisso originario concatenazione di tre rotazioni: [ ] [ ] [ ] R RPY (ψ, θ, φ) = [R X (ψ)] [R XT (ψ) R Y (θ) R X (ψ)] [R XT (ψ) R YT (θ) R Z (φ) R Y (θ) R X (ψ)] = R Z (φ) R Y (θ) R X (ψ) Robotica 1 8
Trasformazioni omogenee P B p p SR B p B relazione affine O B SR O p = p B + R B B p p hom = p R B p B B p = 1 0 0 0 1 1 = T B B p hom relazione lineare vettore in coordinate omogenee matrice 4X4 di trasformazione omogenea Robotica 1 9
Proprietà della matrice T descrive la relazione (posizione e orientamento relativi) tra sistemi di riferimento trasforma la rappresentazione di un vettore posizione (applicato) da un riferimento ad un altro è un operatore di roto-traslazione su vettori nello spazio è sempre invertibile ( T B ) -1 = B T è componibile, cioè T C = T B B T C attenzione, non commuta! Robotica 1 10
Inversa di una trasformazione omogenea p = p B + R B B p B p = B p B + B R p = - R B T p B + R B T p R B 0 0 0 1 p B B R 0 0 0 1 B p B = R B T - R B T p B 0 0 0 1 T B B T ( T B ) -1 Robotica 1 11
Descrizione di un compito SR E descrizione assoluta del task descrizione del task relativa all end-effector SR B SR T 1 3 W T T = W T B B T E E T T nota, montato il robot cinematica diretta del braccio (funzione di q) SR W B T E (q) = W T B -1 W T T E T T -1 = cost Robotica 1 1
Commenti finali sulle matrici T sono lo strumento principale per il calcolo della cinematica diretta dei robot manipolatori si usano in molti settori applicativi (robotici e non) nel posizionamento di una telecamera (matrice b T c con i parametri estrinseci di posa) in computer graphics, per le trasformazioni di visualizzazione di solidi 3D al variare del punto di osservazione T B = R B α x α y α z p B σ tutti nulli in robotica coefficienti di deformazione prospettica coefficiente di scalatura sempre unitario in robotica Robotica 1 13