Proč potřebujeme inverzní kinematické omezení při manipulaci? Jaké jsou jeho výhody, jaká je situace, kdy jej mohu použít a co to udělá s armaturou?
Odpověď
Co je to inverzní kinematika?
Existují dva hlavní způsoby, jak vytvořit řetězec kostí:
„Forward Kinematics“ (FK) je běžný způsob manipulace s kostním řetězcem založený na vztazích rodič – dítě. Každou kost musíte otočit jednotlivě.
Inverzní kinematika (IK) je další způsob, kdy je pohyb řetězce určen „cílovou“ kostí (a volitelně „pólovou cílovou“ kostí) namísto normální vztahy rodič-dítě. V podstatě umístíte konec řetězce a řešitel IK vypočítá, co musí ostatní kosti udělat, aby se to stalo.
Proč potřebujeme při manipulaci omezení inverzní kinematiky?
Nepotřebujeme to, jen to usnadňuje život. Často mnohem jednodušší.
Kdy jej mám použít?
V každé situaci kde potřebujete, aby konec kostního řetězu byl na konkrétním místě – například postavy, které něco uchopí, nebo noha na podlaze při chůzi.
Co dělá to armatuře?
Otočí kosti řetězu do polohy podle dvou kontrolních kostí (cíl, pól).
Odpověď
Původní článek: Přehled inverzní kinematiky
Vy Pravděpodobně jsem slyšel o inverzní kinematice. IK je populární nástroj v Blenderu a počítačové grafice, ale pokud jste se poprvé pokusili vytvořit nebo použít systém Inverse Kinematics, možná budete potřebovat další podrobnosti. Vysvětlím, co je IK, definuji slovní zásobu a přezkoumám její použití.
Jaká je nezbytná slovní zásoba pro pochopení IK?
Než se dostaneme do jádra IK , musíme definovat nějakou slovní zásobu související s IK. IK je metoda, která se aplikuje na kloubové tělo. Co je to kloubové tělo?
Kloubové tělo
Kloubové tělo může představovat většinu animovaných těl, jako jsou lidé a zvířata, s kostlivci. Jednoduše řečeno, kloubové tělo je strom propojených řetězů. Propojené řetězy jsou tvořeny spoji a články, kde článkem je tuhý válec.
Obrázek 1: Lidské kloubové tělo
I jednoduchá hračka na výše uvedené titulní fotografii představuje kloubové tělo. Chybí mu pouze loketní a kolenní klouby.
Typy kloubů
Pokud jde o klouby, existují dva typy. První typ kloubu je otočný kloub. Je připojen k odkazu, který se kolem něj otáčí. Obrázek 2 ukazuje otočný kloub.
Obrázek 2: Revolute Joint
Revoluční kloub je velmi podobný středovému čepu hodin – s hodinovou ručkou jako odkazem.
Zlatý kolík hodin je revolučný kloub. Prizmatický spoj je spoj tak, že se propojený článek překládá ze spoje a prodlužuje / zkracuje spojení. Obrázek 3 ukazuje hranolový spoj.
Obrázek 3: Hranolový kloub
Hranolový kloub funguje podobně jako prodloužení / zasunutí délky sklopné rukojeti na vašem zavazadle. Pokud se podíváte pozorně, sklopná rukojeť zavazadla má 4 hranolové klouby. 2 hranolové klouby do poloviny rukojeti a další 2 hranolové klouby úplně dole z rukojeti v horní části zavazadla.
Pokud vás hranolové klouby zmatily, nemějte obavy. V inverzní kinematice se nepoužívají tak často a jak byste mohli říct, žádný člověk nemá prizmatické klouby – pouze klouby otočné. Hierarchická struktura
Kloubové tělo má kořenový kloub. Kořenový spoj je základem konstrukce. Kořenový kloub pro humanoida je obvykle středem boků. Kloubové tělo je tvořeno stromem kloubů a článků, počínaje kořenovým kloubem. Nový kloub a odkaz je podobný nové větvi na stromě. Interní odkaz / kloub je odkaz / kloub, který je blíže kořenovému kloubu v hierarchii stromů kloubového těla, protože se vztahuje k danému kloubu / odkazu. Přívěsný spoj / spoj je spoj / spoj, který je dále od kořenového kloubu v hierarchii stromů kloubového těla. Na obrázku 4 je Joint A kořenový kloub, Link 1 je vnitřní spoj Joint B, Link 2 je vnější spoj Joint B.
End Effector
End efector is a position at nejvzdálenější pozice nejvíce přívěsného odkazu.Je to volný konec řetězu střídavých kloubů a článků. Koncový efektor není kloub. Koncový efektor je pouze poloha na konci kloubového těla. Kloubové tělo může mít více koncových efektorů, stejně jako binární strom může mít více listů.
Obrázek 4: Koncový efektor je znázorněn zeleným kruhem.
Artikulace a pózy
Kloub je rotace / posunutí kloubu, který pohybuje spojeným článkem. Například na obrázku 5 má kloub A artikulaci 45 °, kloub B má artikulaci 15 ° a kloub C má artikulaci -60 °. Na druhou stranu, póza je sada kloubních kloubů, která má za následek umístění kloubového těla. Jinými slovy, póza je vektorová hodnota namísto skalární hodnoty. Například na obrázku 4 je pozice kloubového těla < 45 °, 15 °, -60 °>.
Obrázek 5: Kloubové tělo s A jako kořenovým kloubem
Co je Forward Kinematics?
Než se dostaneme k tomu, co je to inverzní kinematika, musíme zjistit, co je to Forward Kinematics. Funkce / algoritmus Forward Kinematics vezme pózu jako vstup a vypočítá polohu koncového efektoru jako výstupu. Forward Kinematics je inverzní funkce inverzní kinematiky. U Forward Kinematics musíte definovat celou pózu kloubového těla, abyste funkci / algoritmus poskytli se zadáním pólu. To znamená, že musíte definovat artikulaci každého kloubu v kloubovém těle. To může být v pořádku, pokud máte nízký počet kloubů, ale s vysokým počtem kloubů to bývá zdlouhavé.
Nyní si představte, jestli chcete konec efektor vašeho kloubového těla k dosažení konkrétní cílové polohy. To znamená, že znáte polohu koncového efektoru, na kterou byste chtěli cílit, ale nevíte, jaká musí být pozice kloubního těla, aby koncový efektor dosáhl této cílové polohy. Tady svítí inverzní kinematika!
Obrázek 6: Cílovou pozici představuje červený kruh. Cílová pozice je definována jako vstup a výsledná pozice požadovaná pro dosažení koncového efektoru do cílové polohy je výstup.
Inverzní kinematika je inverzní funkce / algoritmus Forward Kinematics. Funkce / algoritmus Forward Kinematics převezme jako vstup cílovou pozici a vypočítá pózu potřebnou pro dosažení koncového efektoru do cílové polohy – póza je výstupem.
Jak vidíte, vstup a výstupy se přepínají mezi FK a IK. S inverzní kinematikou nemusíte definovat celou pózu kloubového těla – vypočítá se to pro vás pomocí algoritmu IK. U IK musíte pouze definovat polohu jako vstup.
Inverzní kinematika provádí veškerou náročnou výpočetní práci při výpočtu pozice. Obrázek 6 to představuje dobře. V Před scéně je kloubové tělo s nějakou známou pózou. Definuje cílovou pozici pro koncový efektor, který se pokusí dosáhnout. Jakmile je algoritmus IK aplikován na kloubové tělo, dosáhli jsme After Scene. After Scene ukazuje, že byla vypočítána nová póza, takže koncový efektor je nyní na cílové pozici.
Jaká je použití IK?
V tomto bodě jsme víme, že IK se aplikuje na kloubové tělo, víme, z čeho je kloubové tělo složeno, a známe rozdíl mezi IK a FK. O IK máme zatím dobrý přehled, ale pojďme to uzavřít také některými případy dobrého použití IK. IK může být použito pro humanoidní rameno k dosažení předmětu / cíle, jak jsme viděli. IK lze také použít pro krokování nohou, takže řekneme noze, kam má jít, a IK zjistí, jak nakonfigurovat klouby nohou. IK se obvykle nepoužívá jako samotná animace (dosažení objektu), ale spíše jako nástroj pro animaci. Pokud tedy implementujete procházkový cyklus, můžete některé klíčové snímky umístit pomocí nástroje IK.
Obrázek 7: IK je aplikován s rotací nohy jako cílem. Klouby L & R se otáčejí tak, aby odpovídaly nakloněné rovině.
Dalším klíčovým bodem IK je, že váš cíl / cíl není omezen na polohu sám – váš cíl lze definovat jako rotaci. Například pokud se vaše nohy potřebují otáčet na nerovném terénu, lze cíl otáčení IK definovat na základě normálu podlahy. Viz obrázek 7. Takto jsou vaše nohy nakloněny podél podlahy, například když jdete po svahu. Všimněte si, že IK můžete také použít k tomu, aby vaše hlava (nebo dokonce oči) vypadala určitým směrem.Pokud chcete, aby vaše hlava sledovala objekt, můžete pomocí IK nechat hlavu sledovat objekt kolem.
Komentáře
- Vynikající a in- oddané vysvětlení! Děkuji ! Měli byste mít více zobrazení!
Odpovědět
Díky inverzní kinematice bude vaše souprava působit realističtěji. Používá se nejen ve 3D animaci, ale také v robotice. Můžete například pohnout rukou své postavy a nechat její lokty a ramena ve správné orientaci. To může být velmi užitečné pro některé umělce, kteří se snaží dostat správná pozice. Pokud nejprve přesunuli paže do polohy a poté přesunuli záda, mohli by zjistit, že ztratili správnou pozici pro paže.