+ All Categories
Home > Documents > Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di...

Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di...

Date post: 29-Sep-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
25
1 http:\\homes.dsi.unimi.it\borghese 1/49 A.A. 2005-2006 Movimentazione di scheletri Corso di Robotica ed Animazione Digitale Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab) Dipartimento di Scienze dell’Informazione [email protected] http:\\homes.dsi.unimi.it\borghese 2/49 A.A. 2005-2006 Sommario Gli avatar Gli scheletri Posizione dei segmenti nello spazio La cinematica diretta
Transcript
Page 1: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

1

http:\\homes.dsi.unimi.it\∼borghese1/49A.A. 2005-2006

Movimentazione di scheletriCorso di Robotica ed Animazione Digitale

Laurea Specialistica in InformaticaUniversità degli Studi di Milano

Prof. Alberto BorgheseLaboratorio di Applied Intelligent Systems (AIS-Lab)

Dipartimento di Scienze dell’[email protected]

http:\\homes.dsi.unimi.it\∼borghese2/49A.A. 2005-2006

Sommario

Gli avatarGli scheletriPosizione dei segmenti nello spazioLa cinematica diretta

Page 2: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

2

http:\\homes.dsi.unimi.it\∼borghese3/49A.A. 2005-2006

Gli A

vatar

Fattori cognitiviGenerazione del movimento

http:\\homes.dsi.unimi.it\∼borghese4/49A.A. 2005-2006

Verso gli AVATAR

•Sono secondo etimologia divinità discese da cielo.•Comportamento autonomo. •Personalità autonoma (comportamento che segue all’interazione con l’ambiente.

Externalworld

Internalworld

Behavior

http://www.ccon.org/conf01/

Page 3: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

3

http:\\homes.dsi.unimi.it\∼borghese5/49A.A. 2005-2006

AVATAR BEHAVIOR

http://www.plmsolutions-eds.com/products/efactory/jack/moviesandimages.shtml

Human CartoonAnimal Best Bang for the Buck

(500 vertices or less) FantasyAnimation (may be combined with any of the previous categories)

Jacks

http:\\homes.dsi.unimi.it\∼borghese6/49A.A. 2005-2006

Sommario

Gli avatarGli scheletriPosizione dei segmenti nello spazioLa cinematica diretta

Page 4: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

4

http:\\homes.dsi.unimi.it\∼borghese7/49A.A. 2005-2006

Animazione mediante rotazioni

http:\\homes.dsi.unimi.it\∼borghese8/49A.A. 2005-2006

Descrizione della posizione (scheletro=robot)

Posizione completamente definita dai gradi di libertà (movimenti concessi dai giunti articolari).

Frame. Sistema di riferimento connesso rigidamente con una parte del robot.

Catena cinematica. Struttura gerarchica.

Page 5: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

5

http:\\homes.dsi.unimi.it\∼borghese9/49A.A. 2005-2006

Joints and end-effector

Il braccio è strumentale nel posizionamento ed orientamento dell’end-effector!

Tool frame viene associato all’end-effector.

Il base frame (o root node) è il sistema di riferimento della catena cinematica.

Joint prismatici o rotatori (nodes).

I segmenti sono chiamati anche link.

http:\\homes.dsi.unimi.it\∼borghese10/49A.A. 2005-2006

Joint base

Page 6: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

6

http:\\homes.dsi.unimi.it\∼borghese11/49A.A. 2005-2006

Rappresentazione grafica

http:\\homes.dsi.unimi.it\∼borghese12/49A.A. 2005-2006

Spazi di movimento

Joint space. E’ lo spazio dei parametri liberi.In questo esempio: α e β.

link1

O

link 0

+

+

x ey e

ze

P1

x0y0

zs0

X

Y

Z

α

β

Cartesian space. E’ la posizione di punti, cerniere in un sistema di riferimento

cartesiano, ad esempio il sistema di riferimento

assoluto. In particolare la posizione dell’end-effector.

end effector

link 0

+

link1

+

O

root

Page 7: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

7

http:\\homes.dsi.unimi.it\∼borghese13/49A.A. 2005-2006

Descrizione della posizione

• Trasformazione da un frame all’altro.

• La trasformazione è funzione dei parametri liberi e dei parametri geometrici.

• Trasformazioni tra sistemi di riferimento: rototraslazioneespressa mediante matrici affini (trasformazioni matriciali).

http:\\homes.dsi.unimi.it\∼borghese14/49A.A. 2005-2006

Sommario

Gli avatarGli scheletriPosizione dei segmenti nello spazio (da SI)La cinematica diretta

Page 8: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

8

http:\\homes.dsi.unimi.it\∼borghese15/49A.A. 2005-2006

Descrizione della posizione di un corporigido (non solo scheletri)

• Punto materiale: P = P(t) – 3 dof

• Corpo rigido: 6 dof [R(t), T(t)].

• Corpo deformabile: N dof G(t)

http:\\homes.dsi.unimi.it\∼borghese16/49A.A. 2005-2006

Coordinate omogenee

Spazio delle classi di equivalenza: ogni punto in coordinatecarteziane 3D corrisponde a infiniti punti nello spazio omogeneo 4D che differiscono solo per un fattore moltiplicativo w:

),,,(:a ecorrispond ),,(

wZYXVzyxV

Il passaggio tra lo spazio omogeneo e lo spazio 3D:x = X /wy = Y /wz = Z /w

solitamente si sceglie w=1w = 0 identifica il punto all’∞ sulla retta per l’origine, passante per V. I coseni direttori saranno x/|V|, y/|V|, z/|V|.

Page 9: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

9

http:\\homes.dsi.unimi.it\∼borghese17/49A.A. 2005-2006

Rappresentazione di una retta nello spazio

..

P

Q

P = Q + ρ⎪⎩

⎪⎨

γβα

coscoscos

Angolo tra due segmenti:

.R

cosθ = (PQ x PR) / (| PQ | |PR|)

θ

http:\\homes.dsi.unimi.it\∼borghese18/49A.A. 2005-2006

Trasformazioni 3D

Traslazione – tutti i punti si spostano della stessa quantità(vettore spostamento). Di solito si considera la traslazione

del baricentro.

Rotazione – tutti i punti lungo una retta chiamata asse non si spostano. Gli altri punti descrivono circonferenze perpendicolari all’asse.

Scala – variazione della dimensione lungo un asse.

Page 10: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

10

http:\\homes.dsi.unimi.it\∼borghese19/49A.A. 2005-2006

T =

1 0 0 Tx

0 1 0 Ty

0 0 1 Tz

0 0 0 1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

Traslazione in coordinate omogenee

V '= TV =

1 0 0 Tx

0 1 0 Ty

0 0 1 Tz

0 0 0 1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

xyz1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

x'= x + 0 + 0 + Tx( )y'= 0 + y + 0 + Ty( )z'= 0 + 0 + z + Tz( )w'= 0 + 0 + 0 +1( )

x t = x' /w'= (x + Tx ) /1= x + Tx

y t = y' /w'= (y + Ty ) /1= y + Ty

zt = z' /w'= (z + Tz ) /1= z + Tz

coord. omogenee coord. cartesiane

Vengono espresse come trasformazioni nello spazio di coordinate omogenee 4D come prodotto tra matrici.

Traslazione

http:\\homes.dsi.unimi.it\∼borghese20/49A.A. 2005-2006

Scala in coordinate omogenee

S =

Sx 0 0 00 Sy 0 00 0 Sz 00 0 0 1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

V '= SV =

Sx 0 0 00 Sy 0 00 0 Sz 00 0 0 1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

xyz1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

( )( )( )( )1000'

0.00'

00.0'000.'

+++=+++=

+++=+++=

wSzz

SyySxx

z

y

x x s = x' /w'= (x.Sx ) /1ys = y' /w'= (y.Sy ) /1

zs = z' /w'= (z.Sz ) /1

coord. omogeneecoord. cartesiane

Page 11: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

11

http:\\homes.dsi.unimi.it\∼borghese21/49A.A. 2005-2006

Traslazione + Scala

V '= TV =

1 0 0 Tx

0 1 0 Ty

0 0 1 Tz

0 0 0 1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

xyz1

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟⎟

⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

==

1'''

1000000000000

'''zyx

SS

S

SVVz

y

x

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

===

1100000

0000

)()(''zyx

TSTSTS

VSTTVSVzz

yy

xx

Traslazione Scala

Traslazione + Scala

Fayttorizzazione delle trasformazioni: rappresentazione della trasformazione in un’unica

matrice.

http:\\homes.dsi.unimi.it\∼borghese22/49A.A. 2005-2006

La rotazione

Ammette rappresentazioni diverse.1) Quaternioni (asse + angolo)2) Matrice di rotazione3) Tre angoli di rotazione

indipendenti

Page 12: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

12

http:\\homes.dsi.unimi.it\∼borghese23/49A.A. 2005-2006

Quaternioni

Rappresentazione della rotazione mediante: 1 vettore + 1 scalare

Asse di rotazioneAngolo di rotazione

Si può dimostrare che data una rotazione attorno all’asseidentificato dal versore n, di un angolo -π<=θ<=π, questa può essere rappresentata dal quaternione: q=(cosθ/2, n sin θ/2)

http:\\homes.dsi.unimi.it\∼borghese24/49A.A. 2005-2006

P(x,y)P(x’,y’)

αθ

P(x, y)

α

x=ρ cosαy=ρ sinα

y’=ρ sin(α+θ) = −ρ cos α sin θ + ρ sin α cos θ = −x sin θ + y cos θ

x’=ρ cos(α+θ) = ρ cos α cos θ + ρ sin α sin θ

= x cos θ +y sin θ

La rotazione attorno a z (caso piano)

..

x

y.ρ

x

ρ

Page 13: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

13

http:\\homes.dsi.unimi.it\∼borghese25/49A.A. 2005-2006

P(x,y)P(x’,y’)

αθ

La rotazione attorno a z (forma matriciale)

..ρ

x

P’=⎥⎥⎥

⎢⎢⎢

zyx

⎥⎥⎥

⎢⎢⎢

⎡ϑϑ−ϑϑ

1000cossin0sincos

Matrice di rotazione

∑=

=3

1

2 1i

ijm

∑=

≠=3

1ijkij ki0mm

det(M) = 1

Matrice ortonormale

P’ = RP

http:\\homes.dsi.unimi.it\∼borghese26/49A.A. 2005-2006

Significato geometrico della matrice di rotazione

P’=⎥⎥⎥

⎢⎢⎢

zyx

⎥⎥⎥

⎢⎢⎢

⎡ϑϑ−ϑϑ

1000cossin0sincos

Matrice di rotazione

θx

x’y’ y

⎥⎥⎥

⎢⎢⎢

⎡••••

1000''0''

yyxyyxxx

M = M contiene la proiezione degli

assi del sistema di riferimento xy sugli assi di x’y’.

Ruotiamo il sistema di riferimento xy in x’y’ di un angolo -θ.

Page 14: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

14

http:\\homes.dsi.unimi.it\∼borghese27/49A.A. 2005-2006

Significato geometrico della matrice di rotazione

P’=⎥⎥⎥

⎢⎢⎢

zyx

⎥⎥⎥

⎢⎢⎢

⎡ϑϑ−ϑϑ

1000cossin0sincos

θ .x

x’y’ y

⎥⎥⎥

⎢⎢⎢

⎡••••

1000''0''

yyxyyxxx

M =

M contiene la proiezione degli assi (dei versori) del sistema di

riferimento xy sugli assi di x’y’ .

P(x,0)

Esempio:x’ = | P | cos(-θ) = xcos(-θ)y’ = | P | cos[-(90+θ)] = -xsin(θ)

Si può estendere a punti che non giacciano su uno dei due assi coordinati.

Consideriamo che il punto P -> P’ sia un punto appartenente all’asse x, P(x,0) e che P’ appartenga ad un asse x’, ottenuto ruotando il sistema

di riferimento xy in x’y’, di un angolo -θ.

http:\\homes.dsi.unimi.it\∼borghese28/49A.A. 2005-2006

Matrice di rotazione e basi

P’=⎥⎥⎥

⎢⎢⎢

zyx

⎥⎥⎥

⎢⎢⎢

⎡ϑϑ−ϑϑ

1000cossin0sincos

Matrice di rotazione

θx

x’y’ y

Ruotiamo il sistema di riferimento xy in x’y’ di un angolo -θ.

x’ = a x + by x’ ha componenti solo lungo x’y’ = cx + dy y’ ha componenti solo lungo y’z’ = z z’ ha componenti solo lungo z’

Page 15: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

15

http:\\homes.dsi.unimi.it\∼borghese29/49A.A. 2005-2006

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛θθ−θθ

==

1zyx

1000010000cossin00sincos

VR'V z

( )( )( )( )1000'w

0z00'z00cos.ysin.x'y

00sin.ycos.x'x

+++=+++=

++θ+θ−=++θ+θ=

1/)1.z('w/'zz1/)cos.ysin.x('w/'yy

1/)sin.ycos.x('w/'xx

z

z

z

R

R

R

==

θ+θ−==

θ+θ==

coord. omogeneecoord. cartesiane

Rotazione attorno a z (coordinate omogenee)

http:\\homes.dsi.unimi.it\∼borghese30/38A.A. 2004-2005

Orientamento di un corpo rigido nello spazio

Tre parametri: tre rotazioni indipendenti.

Page 16: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

16

http:\\homes.dsi.unimi.it\∼borghese31/49A.A. 2005-2006

Angoli di orientamento nello spazio 3D

Modo generale: roll, pitch, e yaw.(ω, φ, k): rollio, beccheggio e deriva.

Sono 3 rotazioni sequenziali, non commutative.

http:\\homes.dsi.unimi.it\∼borghese32/49A.A. 2005-2006

Rotazione attorno ad un singolo asse

Modo generale: roll, pitch, e yaw.(ω, φ, k): rollio, beccheggio e deriva. Rω =

⎥⎥⎥

⎢⎢⎢

ωω−ωω

cossin0sincos0

001

Rφ =⎥⎥⎥

⎢⎢⎢

⎡ −

φφ

φφ

cos0sin010

sin0cos

Rκ =⎥⎥⎥

⎢⎢⎢

⎡−

1000kcosksin0ksinkcos

Page 17: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

17

http:\\homes.dsi.unimi.it\∼borghese33/49A.A. 2005-2006

Rotazioni sequenziali

Ciascuna rotazione avviene su uno dei piani coordinati.

R = RωRφ Rκ

Non vale la proprietà commutativa, vale la proprietà associativa.

http:\\homes.dsi.unimi.it\∼borghese34/49A.A. 2005-2006

I) Rotazione attorno all’asse x (roll)

ω+ω−=ω+ω=

=

cos'zsin'yzsin'zcos'yy

xx

1

1

1

Page 18: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

18

http:\\homes.dsi.unimi.it\∼borghese35/49A.A. 2005-2006

II) Rotazione attorno all’asse y (pitch)

φφ

φφ

cossin

sincos

112

12

112

zxzyy

zxx

++==

−=

φωωφωω

φωωφ

cos)cos'sin'(sin'sin'cos'

sin)cos'sin'(cos'

2

2

2

zyxzzyy

zyxx

+−++=+=

+−−=

http:\\homes.dsi.unimi.it\∼borghese36/49A.A. 2005-2006

III) Rotazione attorno all’asse z (yaw)

23

223

223

cossinsincos

zzkykxy

kykxx

=+−=

+=

φωωφωωφωωφ

ωωφωωφ

cos)cos'sin'(sin'cos]sin'cos'[sin]sin)cos'sin'(cos'[

sin]sin'cos'[cos]sin)cos'sin'(cos'[

3

3

3

zyxzkzykzyxy

kzykzyxx

+−++=+++−+−=

+++−−=

Page 19: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

19

http:\\homes.dsi.unimi.it\∼borghese37/49A.A. 2005-2006

Dalle rotazioni alla matrice di rotazione

Come è legata R alle tre rotazioni indipendenti?

Si ricava eseguendo le rotazioni sequenziali. Ogni rotazione tiene fermo un asse e agisce sul piano perpendicolare.

Rotazioni “semplici” utilizzate dai programmi di animazione, gestione matriciale efficiente del calcolo.

R =⎥⎥⎥

⎢⎢⎢

−++−−

+−+

φωφωφωφωωφωφωφωωφωφ

coscoscossinsincossinsinsincoscoscossinsinsinsincossinsincossincossincoscossinsincoscos

kkkkkkkkkk

http:\\homes.dsi.unimi.it\∼borghese38/49A.A. 2005-2006

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛θθ−θθ

==

1zyx

1000010000cossin00sincos

VR'V z

( )( )( )( )1000'w

0z00'z00cos.ysin.x'y

00sin.ycos.x'x

+++=+++=

++θ+θ−=++θ+θ=

1/)1.z('w/'zz1/)cos.ysin.x('w/'yy

1/)sin.ycos.x('w/'xx

z

z

z

R

R

R

==

θ+θ−==

θ+θ==

coord. omogeneecoord. cartesiane

Rotazione attorno a z (coordinate omogenee)

Page 20: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

20

http:\\homes.dsi.unimi.it\∼borghese39/49A.A. 2005-2006

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

==

11000000

'333231

232221

131211

zyx

rrrrrrrrr

VRV z

Rotazione attorno a z (coordinate omogenee)

http:\\homes.dsi.unimi.it\∼borghese40/49A.A. 2005-2006

Trasformare gli oggetti

• i vertici dell’oggetto vengono trasformati (le loro coordinate modificate)

• denotiamo i vertici (punti) come vettore colonna V.

• R, D e S sono matrici associate a rotazione, traslazione e scala

• Il punto trasformato si ottiene come:V’=V+D traslazione, D è un vettore di traslazioneV’=SV scala, S è una matrice di scalaV’=RV rotazione, R è una matrice di rotazione

Page 21: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

21

http:\\homes.dsi.unimi.it\∼borghese41/49A.A. 2005-2006

La rototraslazione in forma matriciale

P’ = RP + T => P’ = AP

⎥⎥⎥⎥

⎢⎢⎢⎢

1000TrrrTrrrTrrr

z333231

y232221

x131211

⎥⎥⎥⎥

⎢⎢⎢⎢

1ZYX

P

P

P

⎥⎥⎥⎥

⎢⎢⎢⎢

1'Z'Y'X

P

P

P

=

Matrice di rotazione

Vettore di traslazione

http:\\homes.dsi.unimi.it\∼borghese42/49A.A. 2005-2006

Composizione di trasformazioni

• Si possono applicare trasformazioni in successione, moltiplicando in ordine opportuno le matrici.

V”=A2A1V = A2(A1V) =(A2A1)V– la trasf. A1 viene applicata per prima!

• ricordiamo che il prodotto di matrici non è commutativo: A2A1 ≠A1A2, mentre vale la proprietà associativa: A2(A1V) =(A2A1)V.

• L’applicazione di trasformazioni dipende dall’ordine con cui sono opplicate.

• Tutte le traslazioni, rotazioni e variazioni di scala, possono essere rappresentata in un’unica matrice.

Page 22: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

22

http:\\homes.dsi.unimi.it\∼borghese43/49A.A. 2005-2006

Trasformazioni inverse

• La trasformazione inversa si ottiene invertendo l’ordine delletrasformazioni ed invertendo le singole matrici:

A = A3A2A1 A-1 = A1-1A2

-1A3-1

• Denotiamo le inverse come le matrici di trasformazione: T-1, S-1, R-1.

• La traslazione inversa si ottiene negando i coefficienti ditraslazione.

• La scala inversa si ottiene prendendo il reciproco deicoefficienti.

• La rotazione inversa si ottiene negando l’angolo di rotazione.Matrice trasposta. Si può verificare invertendo il segno e l’ordine delle rotazioni:

R = RωRφ Rκ RT = R-κ R-φ R-ω

http:\\homes.dsi.unimi.it\∼borghese44/49A.A. 2005-2006

La rototraslazione inversa in forma matriciale

P’ = RP + T => P’ = AP

RTRP = +RTP’ - RTT => P = A-1P’

⎥⎥⎥⎥

⎢⎢⎢⎢

++−++−++−

1000)()()(

332313332313

322212322212

312111312111

zyx

zyx

zyx

TrTrTrrrrTrTrTrrrrTrTrTrrrr

⎥⎥⎥⎥

⎢⎢⎢⎢

1'Z'Y'X

P

P

P

⎥⎥⎥⎥

⎢⎢⎢⎢

1ZYX

P

P

P

=

Matrice di rotazione (inversa) Vettore di traslazione (inverso)

Proiezione di T sugli assi di arrivo: ri • T

⎥⎥⎥⎥

⎢⎢⎢⎢

1000TrrrTrrrTrrr

z333231

y232221

x131211

⎥⎥⎥⎥

⎢⎢⎢⎢

1ZYX

P

P

P

⎥⎥⎥⎥

⎢⎢⎢⎢

1'Z'Y'X

P

P

P

=

Page 23: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

23

http:\\homes.dsi.unimi.it\∼borghese45/49A.A. 2005-2006

Perchè –RT T?

y RT(Tx,0)

x’y’

-T(-Tx,0)

R-1 = RT

x

y

Solo così applicando trasformata diretta ed inversa riportano un sistema di riferimento nella posizione iniziale.

RTT è la proiezione del vettore traslazione sul sistema di riferimento ruotato.

http:\\homes.dsi.unimi.it\∼borghese46/49A.A. 2005-2006

Trasformazioni rigide

• rappresentate con matrici

• più trasformazioni possono essere combinate moltiplicandotra loro le matrici che rappresentano ciascunatrasformazione loro, creando una sola trasformazionematriciale.

• una trasformazione si ottiene in generale combinandotrasformazioni di diverso tipo: rotazioni, scala, scala e traslazione.

Page 24: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

24

http:\\homes.dsi.unimi.it\∼borghese47/49A.A. 2005-2006

Sommario

Gli avatarGli scheletriPosizione dei segmenti nello spazio (da SI)La cinematica diretta

http:\\homes.dsi.unimi.it\∼borghese48/49A.A. 2005-2006

Cinematica diretta

Conosco il valore dei joint(angolo o offset)

posizione ed orientamento dell’end-point.

La cinematica viene descritta come sequenza di posizioni.

Page 25: Movimentazione di scheletri€¦ · Laurea Specialistica in Informatica Università degli Studi di Milano Prof. Alberto Borghese Laboratorio di Applied Intelligent Systems (AIS-Lab)

25

http:\\homes.dsi.unimi.it\∼borghese49/49A.A. 2005-2006

Sommario

Gli avatarGli scheletriPosizione dei segmenti nello spazio (da SI)La cinematica diretta


Recommended