Spacetime Constraints Revisited J. Thomas Ngo Graduate Biophysics Program Harvard University Joe marks Cambridge Research Lab Digital Equipment Corporation.

Slides:



Advertisements
Similar presentations
Local Search Algorithms
Advertisements

Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
Kinematic Synthesis of Robotic Manipulators from Task Descriptions June 2003 By: Tarek Sobh, Daniel Toundykov.
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Frank L. H. WolfsDepartment of Physics and Astronomy, University of Rochester Physics 121, April 1, Equilibrium.
Musculoskeletal Modeling Colin Smith. A method for Studying Movement Things we can measure in movement: – Kinematics (using motion capture) – Output Forces.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Introduction to Robotics
Introduction to Genetic Algorithms Yonatan Shichel.
1 Genetic Algorithms. CS The Traditional Approach Ask an expert Adapt existing designs Trial and error.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
1 Genetic Algorithms. CS 561, Session 26 2 The Traditional Approach Ask an expert Adapt existing designs Trial and error.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Coordinative Behavior in Evolutionary Multi-agent System by Genetic Algorithm Chuan-Kang Ting – Page: 1 International Graduate School of Dynamic Intelligent.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Universidad de los Andes-CODENSA The Continuous Genetic Algorithm.
Definition of an Industrial Robot
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Genetic Algorithm.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
Spacetime Constraints Revisited Joe Marks J. Thomas Ngo Using genetic algorithms to find solutions to spacetime constraint problems in 2D.
Particle Filters for Shape Correspondence Presenter: Jingting Zeng.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Whitman and Atkeson.  Present a decoupled controller for a simulated three-dimensional biped.  Dynamics broke down into multiple subsystems that are.
Topics in Artificial Intelligence By Danny Kovach.
Computational Complexity Jang, HaYoung BioIntelligence Lab.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Chapter 4.1 Beyond “Classic” Search. What were the pieces necessary for “classic” search.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
EE459 I ntroduction to Artificial I ntelligence Genetic Algorithms Kasin Prakobwaitayakit Department of Electrical Engineering Chiangmai University.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Towards Practical Automated Motion Synthesis Auslander, Fukunaga, Partovi, Christensen, Hsu, Reiss, Shuman, Marks, Ngo.
Local Search Pat Riddle 2012 Semester 2 Patricia J Riddle Adapted from slides by Stuart Russell,
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Benjamin Stephens Carnegie Mellon University Monday June 29, 2009 The Linear Biped Model and Application to Humanoid Estimation and Control.
Why do GAs work? Symbol alphabet : {0, 1, * } * is a wild card symbol that matches both 0 and 1 A schema is a string with fixed and variable symbols 01*1*
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Biologically inspired algorithms BY: Andy Garrett YE Ziyu.
Parallel Genetic Algorithms By Larry Hale and Trevor McCasland.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
제 6 주. 응용 -2: Graphics Evolving L-systems to Generate Virtual Creatures G.S. Hornby and J.B. Pollack, Computers & Graphics, vol. 25, pp. 1041~1048, 2001.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Why do GAs work? Symbol alphabet : {0, 1, * } * is a wild card symbol that matches both 0 and 1 A schema is a string with fixed and variable symbols 01*1*
Dynamics. Motion with Regard to Mass Particle Dynamics Mass concentrated in point Newton’s Equation Governs Motion f = M x.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
CEng 713, Evolutionary Computation, Lecture Notes parallel Evolutionary Computation.
Physically-Based Motion Synthesis in Computer Graphics
Genetic Algorithms.
Optimization Of Robot Motion Planning Using Genetic Algorithm
Computer Animation cgvr.korea.ac.kr.
Multi-Policy Control of Biped Walking
Synthesis of Motion from Simple Animations
Learning Control for Dynamically Stable Legged Robots
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Spacetime Constraints Revisited J. Thomas Ngo Graduate Biophysics Program Harvard University Joe marks Cambridge Research Lab Digital Equipment Corporation

Spacetime Constraints Indirectly controlling physically realistic motion of articulated figures Animator Defines: –Physical structure –Actuators –Criteria for evaluating motion Computer computes optimal trajectory according to specified criteria

Globally Optimal Solutions Current SC techniques are local in nature Finding Globally Optimal Solutions to SC Problems is tough –Multimodality Exponential number of possible trajectories –Many may be locally optimal or near optimal –Search-space discontinuities Small change in actuators causes large change in trajectory

A Way to Find Globally Optimal Solutions: Global search algorithm –Generates multiple near-optimal trajectories Encode trajectories as sets of stimulus-response behavior rules Genetic algorithm for choosing behavior parameters

The Algorithm Dynamics module creates physically correct environment. Behavior module generates creature behaviors Search module finds values for stimulus-response parameters.

Dynamics Module Uses forward dynamics –Find motions from forces Articulated figure treated as autonomously deforming object with no DOF –Deformations produced kinematically by stimulus- response control algorithm. –Save CPU cycles.

Dynamics Module Friction is static when one joint touches floor Slippage proportional to contact force when two joints touch Friction ?

Behavior Module Uses parameterized algorithm based on stimulus and response Stimulus-Response Control Algorithm –Reflexes triggered by conditions sensed in environment Conditions – stimulus functions Reflexes - responses

Behavior Module - Responses Response – direction for changing creature shape smoothly. –Time Constant –Set of Target values for creature’s internal angles

Behavior Module - Responses Throw values into critically damped equation of motion for each angle time constant target value of angle actual value of angle Creature approaches target shape smoothly.

Behavior Module - Stimulus Functions Sense variable –Real-valued function of environment Proprioceptive senses –Um, joint angles Tactile senses –Force exerted by endpoint on floor Kinestheitic sense –Vertical velocity of center of mass Position sense –Vertical position of center of mass

Behavior Module - Stimulus Functions Stimulus functions –Scalar function defined over sense space Sense Variables Determined by search module Weight

Behavior Module - Stimulus Functions Constants normalized so sense variables fall between 0 and 1 Sensitive Region –Locus of points in sense space where stimulus-function is positive Forms a hyper-rectangle –Dimensions –Centered at

Behavior Module - Stimulus Response Functions Set of SR parameters consists of array of SR pairs To generate behavior: Initialize creature state from SC problem description Activate response 0 for t = 1 to T Determine deformation for time t from active response Simulate resulting dynamics for time t Measure sense variables from the environment Identify highest-valued stimulus function Activate corresponding response if stimulus positive end for Active response changed only if highest- valued stimulus function is positive –Causes response to be active for several time step Coherent motion

Search Module – Genetic Algorithm Parallel genetic algorithm –Written in C* on Thinking Machines CM-2 with 4096 processors Each processor evaluates one genome per generation

Search Module Q: How to find values for stimulus and response parameter? A: Trial and Error. (Genetic Algorithm)

Search Module – Genetic Algorithm Pseudocode: do parallel Randomize genome end do for generation = 1 to number_of_generations do parallel Evaluate genome Select mate from another processor Cross genome with mate Mutate genome end do end for

Search Module – Genetic Algorithm Parameters of one SR pair in genome

Search Module – Genetic Algorithm Randomization –All parameters initially chosen at random Uses probability distribution –Hill climbing to enrich initial gene pool Evaluate initial gene pool Mutate and re-evaluate solution 4 times On each processor choose best out of five –Makes population skewed in favor of multi-step behaviors

Search Module – Genetic Algorithm Mate Selection –Processors laid on in imaginary 64x64 grid –Each processor does 10 step random walk –If best solution is itself, no mating –Else mates with best encountered genome Good genes diffuse through population Spreading is not instantaneous so inferior solutions get some processing time Population converged when one population dominates

Search Module – Genetic Algorithm Crossover –Typical linear layout for crossover not meaningful –Crossover must be tailored to problem to get good performance

Search Module – Genetic Algorithm Mutation –Tailored specifically for the SR representation. One SR Pair creeps One SR Pair randomized form scratch –But at least one corner of sensitive region of new stimulus function must coincide with original sense-space trajectory. »Else new stimulus functions dominate trajectory or don’t do anything

Results – Five-Rod Fred Five-Rod Fred –5 consecutively linked rods Middle rods have same mass Terminal rods five times heavier Evaluation Function – Move COM as far right as possible Expected inch-worm behavior But…

Results – Five-Rod Fred After 64 generations… Curling leap

Results – Five-Rod Fred After 100 generations… Curling leap w/ a roll

Results – Five-Rod Fred Final behavior generated by 5 of 10 SR pairs –Two pairs produce initial curling motion –Two pairs produce leaping motion –One pair produces final curled shape

Results – Mr. Star-Man Mr. Star-Man –Five rods in star shape –All rods have equal length, mass Evaluation Function – Move COM as far right as possible

Results – Mr. Star-Man After 20 generations… Sideways cantering

Results – Mr. Star-Man After 37 generations… Ghetto tripping cartwheel

Results – Mr. Star-Man After 94 generations… Sideways shuffling

Results – Beryl Biped Beryl Biped –Headless 2D humanoid Rigid torso Jointed legs Point feet Rod masses of human proportion Evaluation Function – Move point between feet as far right as possible –If used COM, just fell down

Results – Beryl Biped After 100 generations… Skipping, back leg never gets In front of forward leg

Results – Beryl Biped Another trial… Skipping walk

Results – Beryl Biped Another trial… Weird walk

Results GA will fail to find good optima of evaluation function is no good Small changes can restore expected behavior How to change evaluation function to reward grace? ???