CS 274 Computer Animation and Simulation Lecture V































- Slides: 31
CS 274: Computer Animation and Simulation Lecture V Higher Level Motion Control CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Higher Level Motion Control We often wish to specify higher level goals rather than joint angles and translations (Semi-)autonomous creatures reduce animator load and improve interactive applications CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Control Algorithms Control algorithms translate high level objectives into motor controls and joint angles Useful for motions like walking created by several coordinated muscle actions We maintain balance, speed, etc. by continually making small adjustments based on the situation Try to mimic what works naturally!!! CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Control Algorithms Simplified control loop User Control Simulation Frame Use feedback to maintain: § balance § velocity (speed and direction) § etc. CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Control Laws How do we determine control laws? § By hand § Biomechanics data § Optimization Motions like walking, running, etc. can be broken into smaller sections that are easier to analyze CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
State Machines Separate the motion into several simple states Simple states allow us to generate laws by hand State transitions are triggered by events Example: fall forward until foot hits the ground CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Events Often simple binary sensors CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Running State Machine CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Flight Stage Active Leg § swing leg forward § straighten knee Passive Leg § mirror active hip angle § bend knee CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Heel Contact Stage Active Leg § pitch/balance control with hip § extend ankle § knee acts like a spring (thrust in next stage) Passive Leg § mirror active hip angle § bend knee CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Secondary Control Laws To add realism § waist keeps body upright § neck facing desired direction § shoulder mirrors hip angle § elbow angle is a function of shoulder angle CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Low Level Control How do we get the knee to “hold” or “extend”? Again, mimic the muscle actions at a joint Similar to a damped spring These muscle motors are known as actuators CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Actuators make the joint move to a desired pose Angular spring Linear spring Also known as proportional derivative controllers CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Walk Cycle No flight phase in a walk cycle CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Walk Cycle Walk cycle timeline Double support Left stance Right swing CS 274 Spring 01 Lecture 5 Double support Right support Left swing Right stance Copyright © Mark Meyer
Results Olympic Running CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Results Vaulting, Cycling and Running CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Results Combining controllers and retargetting CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Self-taught creatures? § Sensor-Actuator networks: § Using the same basic tools § Try to find the right coefficients to maximize speed, or efficiency, or any energy. § Your humanoid learns to run on his own! § Slow, though… CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Self Taught Creatures that can learn to move on their own Consists of sensor-actuator networks § sensors tell the character about the environment § actuators allow the character to flex its muscles As the character moves, it remembers muscle movements that create “good” motion § maximize speed, accuracy, efficiency, etc. measures energy used CS 274 Spring 01 Lecture 5 measures motion quality Copyright © Mark Meyer
Spacetime Constraints Solve for the forces required to reach constraints Animator specifies: What the character has to do (constraints) § initial, intermediate, final positions, velocities, etc. How the motion should be performed (metric) § jump this high, this much force at impact The character’s physical structure § mass, joints, etc. What the physical resources are § constraints on the muscles CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Spacetime Constraints Given the constraints § Animator specified constraints § Muscle and joint constraints § Physical laws And the metric to optimize § How to perform the action Solve the constrained optimization for the force curves over the entire time of the motion CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Behavioral/Procedural Animation Specify behaviors that the actor should follow Complexity emerges from multiple interactions Separation Avoid crowding CS 274 Spring 01 Lecture 5 Alignment Match velocity Cohesion Match centroid Copyright © Mark Meyer
Behaviors Seek/Flee Adjust for a radial velocity Arrival Seek and decelerate near target Other variants: pursuit, evasion, offset pursuit CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Behaviors Obstacle Avoidance Keep the cylinder in front clear CS 274 Spring 01 Lecture 5 Wander Smooth random motion Copyright © Mark Meyer
Behaviors Path Following Follow a small tube CS 274 Spring 01 Lecture 5 Wall Following Path follow + Obstacle Avoidance Copyright © Mark Meyer
Behavioral/Procedural Animation CS 274 Spring 01 Lecture 5 Useful for crowd animations Copyright © Mark Meyer
Cognitive Modeling Use AI to allow for planning and learning CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Putting It All Together Behavior + Learning + Motor Control Schooling CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Putting It All Together Behavior + Learning + Motor Control Preying CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer
Putting It All Together Behavior + Learning + Motor Control Cousto World CS 274 Spring 01 Lecture 5 Copyright © Mark Meyer