Return to search

Animation of humanoid characters using reinforcement learning

Procedural animations are still in its infancy, and one of the techniques to create such is using Reinforcement Learning. In this project, swimming animations are created using UnityML version 0.6 with their Reinforcement Learning training agents, using the policy PPO, created by OpenAI. A humanoid character is placed in a simulated water environment and propels itself forward by rotating its joints. The force created depends on the joints mass and the scale of the rotation. The animation is then compared to a swimming animation created using movement capture data. It is concluded that the movement capture data animation is significantly more realistic than the one created in this project. The procedurally created animations displays many of the typical issues with reinforcement learning such as jittering and non-smooth motions. While the model is relatively simple, it is not possible to avoid these issues completely with more computational power in the form of a more complex model with more Degrees of Freedom. It is however possible to finetune the animations with the improvements listed at the end of the discussion. / Procedurellt skapade animationer är ett relativt nytt område som ständigt utvecklas och en av teknikerna för att skapa dessa är genom att använda sig av Reinforcement Learning. I detta projekt är animationer av simningsbeteenden skapade med hjälp av Unity’s plugin UnityML version 0.6, med hjälp av deras Reinforment Learning agenter och policyn PPO, skapad av OpenAI. En mänsklig karaktär är instantierad i en simulerad vattenmiljö och får sin rörelseförmåga genom att rotera sina lemmar, så som armar och ben, ihopkopplade med Unity’s jointkomponenter. Kraften skapad är baserad på lemmens massa och storleken av rotationen från en observation till den nästa. Större massa och rotation ger en större kraft. Ett animationsbeteende skapas av ett stort antal observationer och utförda krafter. Animationen jämförs sedan med en simningsanimation skapad med hjälp av referensdata från en människa. Den procedurellt skapade animationen visar sig vara betydligt mindre realistic än den skapad med hjälp av referensdata. Projektets skapade animation visar flera av de vanliga svagheterna hos animationer skapade med Reinforcement Learning så som överdrivna och hastiga rörelser. Även om modellen är relativt simpel skulle inte kvalitén på animationen förbättras betydelsefullt med en mer komplex modell med en högre Degree of Freedom. Det är däremot möjligt att förbättra animationen och eliminera många av felen i efterhand, något som beskrivs i diskussionen.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-260338
Date January 2019
CreatorsLindström, Erik
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2019:447

Page generated in 0.0139 seconds