Tik Tietokoneanimaatio

Samankaltaiset tiedostot
Tik Tietokoneanimaatio

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

MS-C1340 Lineaarialgebra ja

Mekanismisynteesi. Kari Tammi, Tommi Lintilä (Janne Ojalan kalvojen pohjalta)

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Luento 3: 3D katselu. Sisältö

Numeeriset menetelmät

Numeeriset menetelmät

Algoritmit 2. Luento 6 Ke Timo Männikkö

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Algoritmit 2. Luento 6 To Timo Männikkö

T Tietokoneanimaatio ja mallintaminen. Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

MS-A0104 Differentiaali- ja integraalilaskenta 1 (ELEC2) MS-A0106 Differentiaali- ja integraalilaskenta 1 (ENG2)

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Mekaniikan jatkokurssi Fys102

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä

Mat Lineaarinen ohjelmointi

Neliömatriisin adjungaatti, L24

Luku 7: Animaatio. Eksplisiittiset menetelmät Implisiittiset menetelmät Suora ja käänteinen kinematiikka Motion capture Elokuvamaisuus

Kohdeyleisö: toisen vuoden teekkari

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Differentiaali- ja integraalilaskenta 3 Mallit laskuharjoitukseen 3 /

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Matematiikka B2 - Avoin yliopisto

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Ratkaisuehdotukset LH 7 / vko 47

Johdatus verkkoteoriaan luento Netspace

Kanta ja Kannan-vaihto

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 10: Napa-, sylinteri- ja pallokoordinaatistot. Pintaintegraali.

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Algoritmit 2. Luento 2 Ke Timo Männikkö

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Vektorien virittämä aliavaruus

Luento 13: Periodinen liike. Johdanto Harmoninen värähtely Esimerkkejä F t F r

Tilanhallintatekniikat

2.5. Matriisin avaruudet ja tunnusluvut

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

LENTOPALLON PERUSTEKNIIKOITA

Hopeamerkki Yleistä merkkiliikkeistä

T Tietokoneanimaatio

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Inversio-ongelmien laskennallinen peruskurssi Luento 4

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

2.8. Kannanvaihto R n :ssä

Matematiikan tukikurssi

Inversio-ongelmien laskennallinen peruskurssi Luento 2

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

ARK-A.3000 Rakennetekniikka (4op) Rakenteiden mekaniikka II. Dipl.Ins. Hannu Hirsi.

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

ELEC C4140 Kenttäteoria (syksy 2015)

Algoritmit 1. Luento 9 Ti Timo Männikkö

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Johdatus verkkoteoriaan 4. luento

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

NIVELIKKÄIDEN MEKANISMIEN TOTEUTUS TIETOKONEANIMAATIOSSA

Vektoreiden virittämä aliavaruus

ELEC C4140 Kenttäteoria (syksy 2016)

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

Algoritmit 1. Luento 7 Ti Timo Männikkö

Johdatus tekoälyn taustalla olevaan matematiikkaan

Matriisialgebra harjoitukset, syksy 2016

Numeeriset menetelmät

Differentiaalimuodot

Jakso 1: Pyörimisliikkeen kinematiikkaa, hitausmomentti

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Polven nivelrikko / tekonivelleikkaus ja eturistisideleikkaus - Testauksen perusteita

17. Differentiaaliyhtälösysteemien laadullista teoriaa.

Luento 2: Liikkeen kuvausta

Vapaus. Määritelmä. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee:

1 Kompleksiluvut 1. y z = (x, y) Kuva 1: Euklidinen taso R 2

Värähdysliikkeet. q + f (q, q, t) = 0. q + f (q, q) = F (t) missä nopeusriippuvuus kuvaa vaimenemista ja F (t) on ulkoinen pakkovoima.

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

KESKIVARTALO/KEHONHALLINTAL IIKKEITÄ UINTIIN 3/2017. Prepared by: Mika Martikainen Date: :26

Numeeriset menetelmät

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi

Teoreettisia perusteita II

Tehtävä 2. Osoita, että seuraavat luvut ovat algebrallisia etsimällä jokin kokonaislukukertoiminen yhtälö jonka ne toteuttavat.

Tik Tietokoneanimaatio

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

PHYS-C0240 Materiaalifysiikka (5op), kevät 2016

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Luento 7: 3D katselu. Sisältö

Vanhoja koetehtäviä. Analyyttinen geometria 2016

Numeeriset menetelmät

Laitilan Jyske ry Toimintakäsikirja

Inversio-ongelmien laskennallinen peruskurssi Luento 3

Luento 6: Geometrinen mallinnus

7 Vapaus. 7.1 Vapauden määritelmä

Transkriptio:

Tik-111.5450 Tietokoneanimaatio 4. Kinematiikka 10.10.05 - Tassu Animaatio 2005 - luento 4 1

Sisältö Nivelikäs olio hierarkkisena mallina liitosten vapausasteet ja rajoitteet, eri lajeja DH-notaatio Suora kinematiikka: ohjataan nivelkulmia, jotka tuottavat jonkin asennon X = ƒ(θ) reunaehtojen toteutus hierarkian juurta vaihtamalla (vain yksi ehto mahdollinen) Ihmismallit: tässä vain perusteet, lisää myöhemmin esimerkkinä "hard woman Käänteiskinematiikka Θ = ƒ-1(x) yksinkertainen esimerkki, ratkaistavissa analyyttisesti pidempi ketju: Jakobin matriisi, tekniikka suurinpiirtein yksityiskohtia: kuinka matriisi kootaan, ratkaisu pseudoinverssillä Ongelmakohtia: singulariteetit, sykliset mekanismit Ratkaisun monikäsitteisyys optimaalisuuskriteereitä: ergonomia, tyylikkyys ratkaisuja: adaptiiviset mekanismit, hermoverkkoratkaisu Harjoitustehtävä: kävelevät jalat 10.10.05 - Tassu Animaatio 2005 - luento 4 2

Hierarkkiset mallit (scene graph) Maailman jakaminen puurakenteeksi Puun lehtinä kappaleiden geometria Transformaatiot puun haaroissa transformaatioiden vaikutus periytyy alipuihin ei välttämättä pelkästään jäykkiä liikkeitä ja lineaarisia muunnoksia (kappale voi muuntua mielivaltaisesti) 10.10.05 - Tassu Animaatio 2005 - luento 4 3

Hierarkiasta Kameran (kameroiden) sijoittaminen malliin itsenäisesti tai muihin kappaleisiin kiinnitettynä Osamaailmojen rajaaminen, culling suoraan osahierarkiana, rakenteen mukaan kameran näkökulman perusteella (clipping) kuvaustarkkuuden ja etäisyyden mukaan (LOD) Renderoinnin optimoiminen tavoitteena [Clark: Hierarchical geometric models for visible surface algorithms CACM 1976] 10.10.05 - Tassu Animaatio 2005 - luento 4 4

Level-of-detail (LOD) osamallin vaihtoehtoisia esitystapoja valinta kuvaustarkkuuden ja etäisyyden mukaan [kuva: F.Crow, Siggraph 82] 10.10.05 - Tassu Animaatio 2005 - luento 4 5

Kinematiikka Mekanismin osat eivät muuta muotoaan nivelten välissä vakiosiirtymä Nivelten vapausasteet periaatteessa max 6 (3 kiertoa ja 3 siirtymää) yleensä vähemmän (usein pelkkä rotaatio) rajoitteet: maksimi/minimi kulmille ja siirtymille Denavit-Hartenberg (DH) notaatio käytetty robotiikassa kaikki nivelet esitetään samanlaisina; muunlaiset rakennetaan näiden yksiköiden kombinaatioina 10.10.05 - Tassu Animaatio 2005 - luento 4 6

http://www.ee.unb.ca/tervo/ee4353/dhxform.htm DH-notaatio 10.10.05 - Tassu Animaatio 2005 - luento 4 7

Esimerkkejä liitoksista tavallinen sarana tai akseli: 1 rotaatio pallonivel: 2-3 rotaatiota teleskooppi: 1 translaatio sylinterillä myös rotaatio rajaus yhdensuuntaisten tasojen väliin: 2 translaatiota erilaisia yhdistelmiä, esim. gyroskoopin ripustus 10.10.05 - Tassu Animaatio 2005 - luento 4 8

10.10.05 - Tassu Animaatio 2005 - luento 4 9

Suora kinematiikka (forward kinematics) Ketju linkkejä juuresta kärkeen (end effector) kärjen paikka ja orientaatio X = [x,y,z,α,β,γ] Vapausasteet parametreina nivelten asennot ilmaistaan tilavektorina Θ = [Θ 1, Θ 2, Θ 3,, Θ n ] Suora kinematiikka (forward kinematics) katenointi juuresta alkaen yhdeksi transformaatioksi X = ƒ(θ) puun lehtiin vaikuttaa koko polku Mekanismin haarat käsitellään erillisinä ketjuina 10.10.05 - Tassu Animaatio 2005 - luento 4 10

Suora kinemaattinen ohjaus Parametrien liikekäyriä aikajanalla Oikeanlainen liike haettava kokeilemalla Laskennallisesti helppoa Ei aina kovin intuitiivista 10.10.05 - Tassu Animaatio 2005 - luento 4 11

Ihmismallit (1) VRML/MPEG-4: h-anim 10.10.05 - Tassu Animaatio 2005 - luento 4 12

Ihmismallit (2) Ihmismalli esimerkkinä hierarkiasta [Kroyer] Ihmisen jakaminen osiin, "Block Woman" Hierarkian juuri painopisteeseen (lantio) Kunkin nivelen vapausasteet Liikerajoitusten vaikutus hierarkiaan kävely lattialla pysyen roikkuminen esineeseen tarttuminen kuvat: B.Kroyer kosketushetkellä rakenne muuttuu (ks. seuraavat) 10.10.05 - Tassu Animaatio 2005 - luento 4 13

Esimerkkejä hierarkian juuri siirretään astumishetkellä rullalautaan ennen 1 upper arm 2 lower arm 3 hand 1 package jälkeen 1 upper arm 2 lower arm 3 hand 4 package 10.10.05 - Tassu Animaatio 2005 - luento 4 14

Yleisperiaatteet Käänteiskinematiikka (inverse kinematics, IK) jokin äärikohta sidotaan paikalleen nivelten parametrit lasketaan rajoitusyhtälöistä yksinkertaiset tapaukset ratkeavat analyyttisesti vaikeampaa, jos niveliä monta vapausasteiden määrä vs. rajoitteiden määrä? yhtälön linearisointi Jakobin matriisin avulla Ongelmatapauksia singulariteetit sulkeutuvat silmukat (hierarkia ei riitä) Lue artikkeli Girard & Maciejewski: Computational modeling for the computer animation of legged figures 10.10.05 - Tassu Animaatio 2005 - luento 4 15

Analyyttinen ratkaisu kuvat ja kaavat: Watt & Watt Trigonometrisesti voidaan ratkaista Huom. tähän väliin kuuluu vielä arctan Ratkaisulle kaksi vaihtoehtoa MITKÄ? usein vain toinen ratkaisu mahdollinen nivelten rajoitusehtojen puitteissa 10.10.05 - Tassu Animaatio 2005 - luento 4 16

IK:n sovelluksia Pyöräilijän kädet pysyvät ohjaustangossa ja jalat polkimilla (video esim. Megacycles) Hahmo seuraa kohdetta katseella Kävely (harjoitustehtävänä) lonkka ja jalkaterä ohjattu polven paikka määräytyy IK:lla 10.10.05 - Tassu Animaatio 2005 - luento 4 17

Kävelyn ohjelmointi Syklinen liike (gait cycle) vaiheet: jalka tukevasti maassa, jalka ilmassa suhde säädeltävissä: laahustus - juoksu Jalkojen määrä: 1-2 - 4-6 - N sama sykli, vaihekulma kullekin jalalle omansa fysikaalinen tasapaino säilytettävä staattinen: painopiste tukikolmion yläpuolella dynaaminen: säädetään jalan voimaa tyylejä: hyppy, kävely, ravi, laukka, tuhatjalkainen jalat synkronoituvat pareittain tai kolmittain vuorotellen, tai kaikki erikseen perättäisjärjestyksessä videot On the Run ja Bug s Life 10.10.05 - Tassu Animaatio 2005 - luento 4 18

Jakobin matriisi (1) Derivoidaan yhtälö X = ƒ(θ) dx/dθ = J(Θ) = ( X i / Θ j ) = (J ij ) Auki kirjoitettuna: 10.10.05 - Tassu Animaatio 2005 - luento 4 19

Jakobin matriisi (2) Haetaan yhtälön ratkaisua Θ = ƒ -1 (X) Newtonin iteraatiolla X n = ƒ(θ n ) Θ n+1 = Θ n + J(Θ n ) -1 (X - X n ) Kätevää, jos Jakobin matriisi invertoituva usein matriisi ei ole neliö MIKSI EI? KÄYTK YTÄNNÖN N MERKITYS? Usein animaatiossa: iteroidaan muutos per kuva differentioidaan ajan suhteen, saadaan nopeus dx = J(Θ) dθ dx/dt = J(Θ) dθ/dt 10.10.05 - Tassu Animaatio 2005 - luento 4 20

Pseudoinverssi Jos matriisi J ei invertoidu sellaisenaan, niin käyttökelpoinen on sen pseudoinverssi J + Ratkaisee saman yhtälön Vapausasteita vielä jäljellä, ohjattavissa kaavalla missä z on mielivaltainen vektori Θ -avaruudessa 10.10.05 - Tassu Animaatio 2005 - luento 4 21

Singulariteetit Mekanismi voi ajautua tilanteisiin, joista ei pääse suoraan etenemään kohti tavoitetta jos palaset asettuvat saman suuntaisiksi, niin menetetään vapausasteita (vrt. gimbal lock) ratkaisuna pieni poikkeutus 10.10.05 - Tassu Animaatio 2005 - luento 4 22

Sykliset mekanismit Useita ketjuja juuresta samaan kärkeen ei voida käsitellä riippumattomina Voidaan ohjata ensin yhtä ja hakea muille yhteensopiva IK-ratkaisu 10.10.05 - Tassu Animaatio 2005 - luento 4 23

Optimointikriteereitä Ergonomia Nivelten asennon epämukavuuden (= poikkeama lepoasennosta) minimointi staattisen/dynaamisen rasituksen rajoittaminen Tyylikkyys vertailukohtana tallennettu liike (motion cap) visuaalinen arviointi algoritmin palautteena Ratkaisu pseudoinverssiratkaisun laajentaminen aliavaruudessa, joka toteuttaa reunaehdot 10.10.05 - Tassu Animaatio 2005 - luento 4 24

Neuroanimaatio Käänteiskinematiikan likimääräinen ratkaisu neuroverkolla Verkko opetettu datapareilla (X i, Θ i ) käyttötilanteessa verkko interpoloi annettujen datapisteiden välillä ratkaisun Θ = ƒ -1 (X) Opetuksen jälkeen laskennallisesti kevyt Ottaa automaattisesti huomioon tyylin tai muut erityispiirteet Interpolointi ei joskus toimi kovin hyvin 10.10.05 - Tassu Animaatio 2005 - luento 4 25

Vielä muuta Lisää informaatiota, linkkejä http://www.cg.tuwien.ac.at/courses/animation/e_kinematics.pdf http://www.euclideanspace.com/physics/kinematics/joints/ Artikkeleita Girard & Maciejewski http://portal.acm.org/citation.cfm?id=325244 Harjoitustehtävistä (edelliseltä kurssilta) http://www.tml.hut.fi/opinnot/t- 111.450/2004/harjoitustyot/index.phtml vastaavat uudet ohjeet tulossa pikimmiten http://www.tml.tkk.fi/opinnot/t-111.5450/harjoitustyot 10.10.05 - Tassu Animaatio 2005 - luento 4 26

Videot B.Kroyer: Hard Woman (Mick Jagger), 1985 Amanatides & Mitchell: Megacycles, 1989 Girard et al.: Eurythmy, 80-luvun lopulta ym. klassikoita (Chromosaurus ) Computer Animation Classics [Odyssey] 10.10.05 - Tassu Animaatio 2005 - luento 4 27