29
1 Laboratory of Motion Analysis & Virtual Reality, MAVR http://homes.dsi.unimi.it/~borghese/ Animazione Digitale lezione 1 N. Alberto Borghese Laboratory 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 205 10.30-11.30 Giovedì Su appuntamento Ricevimento MAVR (Stanza T316) Orario da concordare Laboratorio Progetti Aula Delta 11.30-14.30 Mercoledì Lezioni [email protected] Tel. (02)503.6325 Fax (02)503.16373 Strumento principale di contatto: email. http://homes.dsi.unimi.it/~borghese/Teaching/DigitalAnimation/_DA.html

New N. Alberto Borghese Laboratory of Human Motion Analysis and … · 2003. 10. 22. · Il nostro sistema visivo vede immagini “mosse”: i recettori integrano nel tempo. Le immagini

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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

    [email protected]

    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)

  • 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 eye

    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 eye

    ze

    P1

    Pe =[0 0 0 1]

    X

    Y

    Z

    end effector

    link1

    link0

    +

    +

    root

    x0

    y0

    α−

    α

    10sinl

    cosl

    1

    1

    PeP1_L0 = AP1_L0 PeP1_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 PeP1_L0 =

    α−α

    10sinl

    cosl

    1

    1

    PeP1_L0 =

    link1

    O

    link0

    +

    +

    x eye

    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 PeP1_L0 =

    AP0_ABS =

    −−−−−

    1000010000)90cos()90sin(00)90sin()90cos(

    link1

    O

    link0

    +

    +

    x eye

    ze

    P1

    Pe = [0 0 0 1]

    X

    Y

    Z

    end effector

    link1

    link0

    +

    +

    root

    x0

    y0

    +αα

    10

    lcoslsinl

    01

    1

    x0y0P0

    α−

    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 PeP0_ABS =

    AABS_ABS =

    10000100T010T001

    y

    x

    link1

    O

    link0

    +

    +

    x eye

    ze

    P1

    Pe =[0 0 0 1]

    X

    Y

    Z

    end effector

    link1

    link0

    +

    +

    root

    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 assolutoPeABS_N = AABS_N PeABS_ABS =

    PeABS_ABS =

    ++α

    10

    TylcoslTsinl

    01

    x1

    AABS_N =

    link1

    O

    link0

    +

    +

    x eye

    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 )PePe = [0 0 0 1]