1
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Animazione Digitalelezione 1
N. Alberto BorgheseLaboratory of Human Motion Analysis and Virtual
Reality (MAVR)Department of Computer Science
University of Milano
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Animazione digitale (3cfu)
Stanza 20510.30-11.30Giovedì
Su appuntamento
Ricevimento
MAVR (Stanza T316)
Orario da concordareLaboratorio
Progetti
Aula Delta11.30-14.30Mercoledì
Lezioni
Tel. (02)503.6325 Fax (02)503.16373
Strumento principale di contatto: email.http://homes.dsi.unimi.it/~borghese/Teaching/DigitalAnimation/_DA.html
2
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Materiale didattico • Testo di riferimento: R. Parent, Computer
Animation, Morgan Kaufman, 2002.
• Per approfondimenti sull’animazione facciale: Parkeand Waters, Computer facial animation, Wellesley.
• Per una buona introduzione sulla geometria analitica: Gasapina e Marchionna, Appunti ed esercizi di geometria, editrice CLUP.
• Per una buona introduzione sulla geometria proiettiva: M. Penna e R. Patterson, Projective Geometry and its applications to Computer Graphics, Prentice-Hall, 1986.
• La bibbia della computer graphics: Foley, VanDam,Feiner, Huges – Computer Graphics: Principles & Practice in C.
• Appunti sulle trasformazioni del prof. Marini: http://klee.usr.dsi.unimi.it/~dan/PGL/doc/slides/
I lucidi delle lezioni saranno disponibili sul web dopo la lezione alla pagina WEB:http://homes.dsi.unimi.it/~borghese/Teaching/DigitalAnimation/slides/slides.html
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Altro materiale • Precedenze vivamente consigliate: informatica grafica e fisica.
• Software di animazione: Maya; 3D studio; XSI. Si può scaricare la Personal limited edition di Maya da: http://www.aliaswavefront.com/en/products/ maya/index.shtml.
• Si consiglia il corso FSE su Maya.
Volontari per riassumere ciascuna lezione per la didattica WEB-CENTRICA.
3
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Attività sperimentale
Questo corso non deve essere un corso puramente teorico. Viene quindi richiesto agli studenti lo sviluppo di applicazioni di quanto visto a lezione. Allo scopo saranno a disposizione i laboratori del dipartimento ed in particolare il Laboratorio di Motion Analysis e Virtual Reality (MAVR) e l’utilizzo di Maya.
Modalità d’esame: progetto (docente o studente) + discussione del progetto ed orale.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Programma di massima•Introduzione & breve storia dell’animazione•La rappresentazione del corpo umano per l’animazione: proprieta’delle catene cinematiche articolate. •Definizione del movimento mediante differenti sistemi di coordinate.Cinematica diretta ed inversa. •Proprieta’ spazio-temporali del movimento umano. Coordinazione. •Motion capture. •Animazione facciale. •Morphing lineare e non-lineare.•Virtual set e Camera tracking.
4
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Animazione digitale.
Soffio sulla creta che dà la vita, anima (Bibbia).
Animare = dare l’anima (la vita) a qualcuno.Digitale = da digit (cifra, numero).
Dare la vita sotto forma di numeri.
Possibilità di esprimere animazioni complesse con azioni semplici. Aspetti algoritmici.
Applicazioni. Multi-media e Realtà Virtuale.
Scopo di questo corso è fornire le basi degli algoritmi di animazione.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Animazione•Animazione di che cosa?
•Animazione = Cambiamento di aspetto, forma e/o posizione (algoritmi gerarchici). Curve di animazione.
•Proprietà dei modelli per l’animazione (controlli o handle).
http://www.vetorzero.com/kaya/
5
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Curve di animazione
Spline interpolante Spline approssimante
Local control on the curve
Global control on the curve
P(t)•
t
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Key-framing
P(X,Y,Z) P(X+Tx,Y,Z)
Interpolazione tra due chiavi.
6
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Le chiavi (keys)Variabili disomogenee: posizione, orientamento, scala, ma anche colore, tessitura, illuminazione, videocamera…. (avars).
L’interpolazione tra 2 chiavi può essere lineare
o polinomiale (spline) Interpolazione lineare
Interpolazione polinomiale
• Key values.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Come si crea un’animazione
1) Creazione di un modello 3D (scena + personaggi).
2) Definizione di una camera virtuale (punto di vista). NB la camera può muoversi.
3) Definizione del movimento dei personaggi e/o della scena.
Campionamento del movimento mediante camera virtuale (sequenza di fotogrammi).
7
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Il sistema visivo e l’animazione digitaleVisione umana: immagini continue nel tempo.Visione di film: sequenza di immagini (discreta nel tempo, fotogrammi).
Fusione temporale delle immagini nella corteccia visiva (1800).
Fram
e #
TimeFr
ame
#Time
Flickering -> Animazione (25Hz/30Hz)
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Motion blur
Il nostro sistema visivo vede immagini “mosse”: i recettori integrano nel tempo.
Le immagini di animazione sono nitide, in quanto create campionando il movimento in un istante di tempo infinitesimo.
Il sistema visivo fa fatica a fondere le immagini statiche di movimenti veloci in un movimento continuo (effetto di strobing);
si alterano le immagini di animazione, creandole “come se” fossero create da un sistema di ripresa con tempo di cattura finito.
8
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Gli albori dell’animazione
La musicista, Pierre Jaquet-Droz, (1753-1791)
Il giocatore di scacchi,Wolfgang von Kempelen, 1769
Gli automi moderni possono essere associati alle tecniche di stop-motion.Noi ci occuperemo di animazione creata mediante sequenze di immagini.
http://access.tucson.org/~michael/hm_intro.html
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
La nascita dell’animazione digitale
Zoetrope, 1820 circa
E. Muybridge, Humans figures in motion, 1901
+zoopraxinoscope
9
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Origine dell’animazione digitale
Componente artistica.
Componente tecnologica.
Le animazioni vengono create da team misti con interazioni e scambi continui di informazione.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
La nascita dell’animazione “convenzionale” (2D)
Estensione del disegno, vignettisti:J. Stuart Blackton, animazione del fumo, 1900.W. McCay, Gertie the dinosaur, 1914.O.Messmer and P.Sullivan, Felix the cat, 1920.
Tecnologia e brevetti: John Bray (1915-1920):•Layers (translucent piece of papers).•Livelli di grigio.•Panning camera.
Walt Disney (1920-1930).•Storyboard. Personalità dei personaggi.•Sketch of motion•Audio! Fantasia (1940).
10
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Macro-componenti di un’animazione digitale
•Soggetto / sceneggiatura. E’ il punto di partenza.•Personaggio. Personalità, fisionomia, gesti, colore, tessitura….
Struttura a layers
•Storyboard. Per ogni scena, un disegno rappresentativo.•Animazione. Linee di energia o stick diagram. Cel(lular) animation.
Copyright: Marini, Bertolo, Rizzi
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Chroma KeyTecnica multi-layer per unire spezzoni eterogenei.
L’attore viene ripreso su sfondo colorato uniforme (blue back)Il sistema di montaggio riconosce blue back e sostituisce trasparenza.
11
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
L’animazione digitale (1970-1980)(verso il 3D)Periodo romantico
1970. Ivan Sutherland. “The ultimate display”. 1974. Fred Parke. Talking Faces. Modello di Parke. http://www-viz.tamu.edu/faculty/parke/fip.html.
1976. Norman Badler. Il primo avatar: Jack.http://www.cis.upenn.edu/~badler/vhlist.html.
1974. Hunger. Prima animazione che utilizza animazione digitale. Vincitore di un Academy Award.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
L’animazione digitale (1980-1990)L’intervento dell’industria.
Hardware. Silicon Graphics. Potenza grafica a costo medio. Z-buffer, anti-aliasing, visualizzazione rasterizzata. Grafica 3D in hardware.
Software. Alias, Wavefront e Softimage. SW integrati di modellazione, animazione e rendering.
Motion capture.
Applicazioni: militari (flight simulator) e cinematografiche.
12
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Peter Gabriel’s video
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
L’animazione digitale (oggi)La diffusione del PC con schede grafiche e potenza di calcolo adeguate.
Possibilità di innovazione tecnologica capillare (piccole e grandi universita’). L’innovazione viene ancora per il 90% dall’Accademia, eventualmente in collaborazione con l’industria.
Realizzazione di prodotti a basso costo per multi-media: internet, televisione, pubblicità, video-giochi; non solo: scienza (fisica e chimica), medicina (pianificazione interventi), robotica (simulazione di robot complessi), storia, archeologia….
Interesse da parte dell’industria cinematografica pesante. Pixar e Lucas film (ora Dreamworks).
13
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Animazione di personaggi
Cartoni animati. Scopo è solamente intrattenere. Toy Story (1995); Ants (1998); A Bug’s Life (1998); Toy Story2 (1999).
Cartoni animati con pretesa di realismo. Terminator 2 (1991); JurassicPark (1993); Re Leone (1994); Jiumanji (1995); Il ritorno di Batman (1995); Mars Attacks (1997); Ants (1998); Jar-Jar in Guerre Stellari, Io episodio (1999).
Personaggi umani. Tony de Peltrie (1985); Titanic (1998); Geri’sGame (1999) …..
E’ ancora un problema arrivare
ad un realismo sufficientemente
elevato (espressività).
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Programma•Introduzione & breve storia dell’animazione•La rappresentazione del corpo umano per l’animazione: proprieta’delle catene cinematiche articolate.•Definizione del movimento mediante differenti sistemi di coordinate.Cinematica diretta ed inversa. •Proprieta’ spazio-temporali del movimento umano. Coordinazione.Generazione del movimento digitale: interpolazione mediante key-framing. •Motion capture. •Animazione facciale. •Morphing lineare e non-lineare.
14
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Sintesi del Movimento Umano
Approccio multi-layer:
•Scheletro.
•(Layer intermedi, derma, muscoli).
•Layer superficiale.
•Aspetto superficiale: pelle e vestiti.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
The human skeleton
Kinematics chain
Articulated structurehierarchical model
The motion of a parent node is applied also to all its child nodes.
�
Joints
Tree structure
Root
Links
End-effector
15
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Rappresentazioni degli scheletri
�
Joints
Stick diagram
Root
Links
End-effector
Marini, Bertolo e Rizzi
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
The geometrical engine of skeleton animation (single segment)
•Rotazione(t)•Traslazione(t)
•(Scala(t))
Trasformazione istante per istante tra due spazi 3D:
P = [XP, YP, ZP] => P = [XP, YP, ZP, 1]Notazione omogenea:
16
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Traslazione
Tutti i punti si spostano dello stesso vettore spostamento, T[Tx, Ty, Tz, 0].
1000T100T010T001
z
y
x
1ZYX
P
P
P
+++
1TZTYTX
zP
yP
xP
=Traslazione dell’origine dei sistemi di riferimento o del
baricentro.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Scala
Shrinkage, cambiamento di scala, S[Sx, Sy, Sz , 1].
10000S0000S0000S
z
y
x
1ZYX
P
P
P
1ZSYSXS
Pz
Py
Px
In questo esempio:Sx = Sz = 1 Sx = 0.5
17
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Orientamento
Tre parametri: tre rotazioni.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Angoli di orientamentoModo generale: roll, pitch, e yaw.(ω, φ, k): rollio, beccheggio e deriva.
Sono 3 rotazioni sequenziali, non commutative.
18
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Matrici di rotazione e angoli di orientamento
P’ =
y’
x
y
k = 30o
x’
•P
P = (x,y,0) = ( )0,1,2/32
−10002/32/102/12/3
01
2/32
Modo generale: roll, pitch, e yaw.(ω, φ, k): rollio, beccheggio e deriva. Rω =
ωω−ωω
cossin0sincos0
001
Rφ =
φφ−
φφ
cos0sin010
sin0cos
Rκ =
−
1000kcosksin0ksinkcos
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
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.
−+−+−
−−
)cos()cos()()()cos()cos()()cos()()cos()()()cos()()()()()cos()cos()cos()()()()cos(
)()()cos()cos()cos(
ϕϕϕϕϕϕ
ϕϕ
wksinsinwkwsinksinwksinwsinwsinksinsinwsinkwksinwsinksinw
ksinksink
R =
19
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Description of the linksA – Frontal planeB – Sagittal planeC – Horizontal plane
Definition of the interesting degrees of freedom.
Abduction/adductionFlexion/extensionAxial rotation (V)
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Verso una rappresentazione matriciale dell’orientamento
La direzione di r e r1 è data dai coseni direttori: [ cos(α), cos(β), cos(γ)]Coseni degli angoli rispetto agli assi orientati.
Nessuna delle rappresentazioni viste in precedenza si adatta ad una manipolazione matriciale.
P•
ABBA 22
cos(β) =
20
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Dalle rotazioni alla matrice di rotazioneLa rotazione può essere rappresentata in forma matriciale {rij} come:
10000rrr0rrr0rrr
333231
232221
131211
1zyx
P
P
P
1ZYX
P
P
P
=
r11, r12, r13 danno la direzione dell’asse X rispetto agli assi x,y e z.XP = r11 xP + r12 yP + r13 zP.
X = [cos(Xx) cos(Xy) cos(Xz)]XP = PH = xPcos(Xx) + yPcos(Xy) + zPcos(Xz)
Relazioni di ortonormalità1r
3
1i
2i =∑
=0rr
3
1j
3
1iji =∑∑
= =
Det(R) = 1
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Le matrici affini
P’ = RP + T => P’ = AP
1000TrrrTrrrTrrr
z333231
y232221
x131211
1ZYX
P
P
P
1'Z'Y'X
P
P
P
=X’P=r11XP+ r12YP + r13ZP +Tx
P = RTP’ – RTT=> P = A-1P’
++++++
1000TrTrTrrrrTrTrTrrrrTrTrTrrrr
z33y23x13332313
z32y22x12322212
z31y21x11312111
1ZYX
P
P
P
1'Z'Y'X
P
P
P
=
XP=r11X’P+ r21Y’P + r31Z’P – r11Tx – r21Ty – r31Tz
21
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Key-framing e rotazioniLe rotazioni si ottengono interpolando orientamenti
diversi in istanti di tempo diversi.
ω = 10; φ= 30, k = -10 gradi.
Non si possono interpolare gli elementi della matrice di rotazione.
8529.01504.05.00855.09849.01504.05151.00855.08529.0
M1 =
ω = 10; φ= 50, k = -10 gradi.
M2 =
633.01116.0766.004.09929.01116.0
7731.004.0633.0
−
−−
7429.0131.0633.00628.09889.0131.06441.00628.07429.0
M = Det(M) <1
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Key-framing e rotazioni (II)Le rotazioni si ottengono interpolando orientamenti diversi
in istanti di tempo diversi.
ω = 10; φ= 30, k = -10 gradi.
Si potrebbero interpolare gli angoli.ω = 10; φ= 50, k = -10 gradi.ω = 10; φ= 40, k = -10 gradi.
Discontinuità nel codominio.
Rotazione. Movimento tale per cui esiste una retta i cui punti hanno
spostamento nullo. Detta retta si chiama asse di rotazione.
ω = 10; φ= 10, k = -10 gradi. ω = 10; φ= 350, k = -10 gradi.ω = 10; φ= 180!, k = -10 gradi.
22
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
I quaternioni
Asse di rotazione v(vx, vy, vz).Angolo di rotazione s.
s v(vx,vy,vz).
q = [cos(s/2), sin(s/2)vx, sin(s/2)vy, sin(s/2)vz]
Breve matematica (i quaternioni costituiscono un corpo)Somma: q1 + q2 = [s1+s2, v1 + v2]Prodotto: q1 · q2 = [(s1·s2 – v1 x v2), (s1·v2+ s2·v1 + v1 Λ v2 )]Inversa: q-1 = (1/||q||)2 · [s, -v] Coniugato: qc = [s, -v] si ottiene la rotazione in direzione opposta.Norma: || q || = 1 se v è versore dell’asse.
Il prodotto non è commutativo: q1 · q2 ≠ q2 · q1.Il prodotto è associativo: (q1 · q2) · q3 = q1 · (q2 · q3).
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Applicazione dei quaternioniRotazione di un punto P(X, Y, Z). P viene rappresentato come quaternione Pq[0, X, Y, Z]
Pq’(0, X’, Y’, Z’) = q1 Pq q1c
La matrice di rotazione si può ottenere da q[s,l,m,n] come:
+−−+−−−+−+
+−−−+
2222
2222
2222
nmls)slmn(2)sm(ln2)slmn(2nmls)snlm(2)sm(ln2)snlm(2nmls
R=
Rotazioni successive, per la proprietà associativa, possono essere associate come:
Pq’(0, X’, Y’, Z’) = (q2q1) Pq (q1 q2 )c
23
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Key-framing con i quaternioniKey-framing: dati q1 e q2 una qualsiasi rotazione intermedia, q, si può ottenere interpolando i quaternioni. Come?
Proiezione sulla circonferenza unitaria: q’= q1 + q2 => q = q’ / || q ||
In generale, sia u un parametro, u = [0 1], che trasforma con continuità da q1 a q2, risulta: (ricordare che: cos(θ) = q1 x q2 ).
q = [(sin(1-u)θ]/(sinθ)q1 + [(sin(uθ)]/(sinθ)q2
Progetto I. Quaternioni, matrici di rotazione, angoli rispetto agli assi.
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Riassunto•Il movimento di un segmento scheletrico (corpo rigido) si può esprimere mediante: rotazione, traslazione e scala.
•Queste si possono inserire in un’unica matrice, matrice affine.
•Il movimento inverso si ottiene opportunamente modificando la matrice affine.
•La rotazione può essere implementata in vario modo, il modo più efficiente è mediante i quaternioni.
•Il movimento viene poi ottenuto interpolando i parametri che definiscono la posizione e orientamento del segmento (key framing).
24
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Rappresentazione dello scheletro nello spazio
Root. Trasforamzione completa: Posizione, Rotazione, Scala.
�
Joints
Tree structure
Root
Links
x
y
z
Troot
End-effector
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Degrees of freedom di
uno scheletro
25
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (esempio)
1000TrrrTrrrTrrr
z333231
y232221
x131211
1ZYX
P
P
P
1'Z'Y'X
P
P
P
=
P’ = A P
end effector
link0
+
link1
+
O
root
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (I)
Pe =[0 0 0 1]
X
Y
Z
end effector
link1
link0
+
+
root
O
link1
O
link0
+
+
x r
y rzr
Trasformiamo Pe fino ad esprimerlo nel sistema di
riferimento assoluto XYZ.
26
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (II)
PeP1_L1 = AP1_L1 Pe = [l1, 0 , 0, 1]
AP1_L1 =
100001000000l001 1
Pe =[0 0 0 1]
link1
O
link0
+
+
x ey e
ze
P1
X
Y
Z
l1end effector
link1
link0
+
+
root
O
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (III)
AP1_L0 =
αα−αα
1000010000cossin00sincos
link1
O
link0
+
+
x ey e
ze
P1
Pe =[0 0 0 1]
X
Y
Z
end effector
link1
link0
+
+
root
Oα
x0
y0
α−
α
10sinl
cosl
1
1
PeP1_L0 = AP1_L0 Pe
P1_L1 =
P1 = [l1, 0 , 0, 1]
27
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (IV)
AP0_L0 =
100001000010l001 0
Pe =[0 0 0 1]
X
Y
Z
end effector
link1
link0
+
+
root
O
α−+α
10sinl
lcosl
1
01
PeP0_L0 = AP0_L0 Pe
P1_L0 =
α−α
10sinl
cosl
1
1
PeP1_L0 =
link1
O
link0
+
+
x ey e
ze
P1
α
x0
y0
x0y0P0
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (V)
PeP0_ABS = AP0_ABS Pe
P1_L0 =
AP0_ABS =
−−−−−
1000010000)90cos()90sin(00)90sin()90cos(
link1
O
link0
+
+
x ey e
ze
P1
Pe = [0 0 0 1]
X
Y
Z
end effector
link1
link0
+
+
root
Oα
x0
y0
+αα
10
lcoslsinl
01
1
x0y0
P0
α−
+α
10sinl
lcosl
1
01
PeP1_L0 =
28
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Posizione dei segmenti (VI)
PeABS_ABS = AABS_ABS Pe
P0_ABS =
AABS_ABS =
10000100T010T001
y
x
link1
O
link0
+
+
x ey e
ze
P1
Pe =[0 0 0 1]
X
Y
Z
end effector
link1
link0
+
+
root
Oα
x0
y0
++α
+α
10
TylcoslTsinl
01
x1
x0y0P0
PeP1_ABS =
+αα
10
lcoslsinl
01
1
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Nuovo sistema di riferimento assolutoPe
ABS_N = AABS_N PeABS_ABS =
PeABS_ABS =
++α
+α
10
TylcoslTsinl
01
x1
AABS_N =
link1
O
link0
+
+
x ey e
ze
P1end effector
link1
link0
+
+
root
O
Z = Z’
Pe =[0 0 0 1]
X’
Y’
α
x0
y0
x0y0P0
X
Y
ββ−ββ
1000010000cossin00sincos
β++α+β+α−
β++α+β+α
10
cos)Tylcosl(sin)Tsinl(sin)Tylcosl(cos)Tsinl(
01x1
01x1
29
Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/
Riassunto• Il movimento dell’end effector viene espresso in funzione della geometria (lunghezze dei segmenti) e dei parametri liberi (rotazione dei vari segmenti e posizione della radice).
• Le rotazioni vengono definite in un sistema di riferimento locale.
• Per ottenere la trasformazione delle coordinate dell’end-effector da sistema locale a sistema globale occorre….
fattorizzare le matrici di trasformazione.
PeABS_ABS =(AABS_ABS AP0_ABS AP0_L0 AP1_L0 AP1_L1 )Pe
Pe = [0 0 0 1]