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