14
Autonomous Virtual Autonomous Virtual Humans Humans Tyler Streeter Tyler Streeter

Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Embed Size (px)

Citation preview

Page 1: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Autonomous Virtual Autonomous Virtual HumansHumans

Tyler StreeterTyler Streeter

Page 2: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

ContentsContents

IntroductionIntroduction ImplementationImplementation

– 3D Graphics3D Graphics– Simulated PhysicsSimulated Physics– Neural NetworksNeural Networks– Genetic AlgorithmsGenetic Algorithms

ResultsResults Future WorkFuture Work

Page 3: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

IntroductionIntroduction

Project goal: to create motor control Project goal: to create motor control systems for virtual humans to allow systems for virtual humans to allow them to control their behaviors without them to control their behaviors without using pre-scripted animationsusing pre-scripted animations

Simulations take place in a graphical Simulations take place in a graphical 3D environment with simulated physics3D environment with simulated physics

Control systems are artificial neural Control systems are artificial neural networks evolved with genetic networks evolved with genetic algorithmsalgorithms

Page 4: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Implementation (1/4)Implementation (1/4)

C++, Windows & LinuxC++, Windows & Linux Graphics: OpenGLGraphics: OpenGL Physics: Open Dynamics EnginePhysics: Open Dynamics Engine

– Simple ODE demoSimple ODE demo– Limp virtual human demoLimp virtual human demo

Page 5: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Implementation (2/4)Implementation (2/4) Artificial neural network control Artificial neural network control

systemsystem

Body part positions, head velocity, etc.

Joint torques (“muscles”)

Page 6: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Implementation (3/4)Implementation (3/4)

Genetic algorithmsGenetic algorithms– Start with random population of solutionsStart with random population of solutions– Evaluate each individual’s “fitness”Evaluate each individual’s “fitness”– Throw away bad solutionsThrow away bad solutions– ““Mate” good solutions to produce offspringMate” good solutions to produce offspring– Randomly mutate new offspringRandomly mutate new offspring

Algorithm is stochastic hill-climbing, so it Algorithm is stochastic hill-climbing, so it can find ways to get out of local maximacan find ways to get out of local maxima

Page 7: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Implementation (4/4)Implementation (4/4) My genetic algorithm “learning” My genetic algorithm “learning”

systemsystem1. 2. Bad Good

3.4.

Page 8: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Results (1/4)Results (1/4)

Standing

0

1

2

3

4

5

6

0 50 100 150 200 250 300

Generation#

Fit

nes

s V

alu

e

best

average

Poly. (best)

Poly. (average)

Page 9: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Results (2/4)Results (2/4)

Jumping

8

8.5

9

9.5

10

10.5

11

11.5

12

12.5

13

0 200 400 600 800 1000

Generation#

Fit

ne

ss

Va

lue

best

average

Poly. (best)

Poly. (average)

Page 10: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Results (3/4)Results (3/4)

Walking

0

500

1000

1500

2000

2500

3000

3500

4000

0 500 1000 1500 2000

Generation#

Fit

ne

ss

Va

lue

best

average

Poly. (best)

Poly. (average)

Page 11: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Results (4/4)Results (4/4)

Video DemonstrationsVideo Demonstrations– Standing VideoStanding Video– Jumping VideoJumping Video– Walking VideoWalking Video

Page 12: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Future Work (1/2)Future Work (1/2)

Try more complex behaviorsTry more complex behaviors– Staying balanced when pushedStaying balanced when pushed– Walking across uneven terrainWalking across uneven terrain– Carrying objectsCarrying objects– Jumping over obstaclesJumping over obstacles– Operating virtual machineryOperating virtual machinery

Use A* to guide pathsUse A* to guide paths Competitions between virtual humansCompetitions between virtual humans

Page 13: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

Future Work (2/2)Future Work (2/2)

Create a hierarchy of neural nets to Create a hierarchy of neural nets to perform tasks with multiple stepsperform tasks with multiple steps

New sensory inputs to neural netNew sensory inputs to neural net– Sense of touchSense of touch– Sense of sightSense of sight

More complex bodiesMore complex bodies Try simulated annealing instead of Try simulated annealing instead of

ANNsANNs

Page 14: Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks

ReferencesReferences K. Sims. Evolving Virtual Creatures. ACM Computer Graphics

(SIGGRAPH '94). pp. 15-22, 1994.

Bentley, P. Digital Biology. Simon & Schuster, 2002.

J. Klein. BREVE: a 3D Environment for the Simulation of Decentralized Systems and Artificial Life. Artificial Life VIII: The 8th International Conference on the Simulation and Synthesis of Living Systems. MIT Press, 2002.

T. Reil, Husbands. Evolution of Central Pattern Generators for Bipedal Walking in a Real-Time Physics Environment. IEEE Transactions in Evolutionary Computation. pp. 159-168, April 2002.

D. Thalmann, C. Babski, T. Capin, N. Magnenat Thalmann, I. S. Pandzic. Sharing VLNET worlds on the WEB. Computer Networks & ISDN Systems. Vol. 29, No. 14, pp. 1601-1610, 1997.