Human Simulation
description
Transcript of Human Simulation
![Page 1: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/1.jpg)
Human Simulation
Keith Thoresz
Suan Yong
April 6, 1999
![Page 2: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/2.jpg)
Papers
• J. Hodgins, W. Wooten, D. Brogan, and J. O'Brien. Animating Human Athletics. SIGGRAPH '95.
• J. Hodgins and N. Pollard, 1997. Adapting Simulated Behaviors For New Characters, SIGGRAPH 97 Proceedings, Los Angeles, CA.
• Bruderlin and Calvert. Goal-Directed, Dynamic Animation of Human Walking. Proceedings SIGGRAPH '89.
• Lee, Wei, Zhao, and Badler. Strength Guided Motion. SIGGRAPH '90.
• Phillips and Badler. Interactive Behaviors for Bipedal Articulated Figures. SIGGRAPH '91.
• N. Badler, R. Bindiganavale, J. Bourne, J. Allbeck, J. Shi and M. Palmer. "Real time virtual humans," International Conference on Digital Media Futures, Bradford, UK, April 1999.
![Page 3: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/3.jpg)
![Page 4: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/4.jpg)
Why simulating humans is useful
- Ergonomic prototyping- Virtual conferencing- Interaction in graphical worlds- Games- Education- Training- Military/Space/Whatever simulation
![Page 5: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/5.jpg)
Background
• Biomechanics– data for creating dynamic models and motions
• Robotics– control strategies
• Computer graphics– implementation experience
![Page 6: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/6.jpg)
Difficulties in Animating Humans
- Natural motions almost impossible to create computationally (the problem)
- Large search spaces for underconstrained scenarios
- Physical realism requires complex models- Fine control vs. tedious manual work- How to specify controls/constraints intuitively
![Page 7: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/7.jpg)
Animating Techniques
• Keyframing+ detailed control– tedious
• Procedural Methods+ can be physically correct, high-level control– unnatural motions, difficult to create
• Motion Capture+ natural motions– inflexible
![Page 8: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/8.jpg)
Procedural methods
vault
• High-level control– specifying desired motion
• Control Algorithms– control the primary actions (choreography)
• Low-level Procedures– generates the motion (kinematics)
![Page 9: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/9.jpg)
Procedural methods
• High-level control– specifying desired motion
• Control Algorithms– control the primary actions (choreography)
• Low-level Procedures– generates the motion (kinematics)
![Page 10: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/10.jpg)
Procedural methods
• High-level control– specifying desired motion
• Control Algorithms– control the primary actions (choreography)
• Low-level Procedures– generates the motion (kinematics)
![Page 11: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/11.jpg)
![Page 12: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/12.jpg)
Animating Human Athletics(Hodgins et al)
• Dynamic simulation of human motion– Running
– Cycling
– Vaulting
• Control algorithms– state machines that describe each specific
motion
• Toolbox of motions (control algorithms)
![Page 13: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/13.jpg)
Control Algorithms
- Control the primary actions using equations for motion
- Basic process: (for each time step)- calculate joint positions and velocities
- compute joint torque (with proportional-derivative servos);
- integrate equations of motion
- Hand designed and tuned
![Page 14: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/14.jpg)
Control Algorithms
• state machines connecting phase of behavior to active control laws
flight
heel contacttoe contact
loadingunloading
heel/toe contact
knee extended
ball of foot leaves ground
hip in front of heel
heel touches ground
ball of foot touches ground
knee bends
![Page 15: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/15.jpg)
Example: Running
- Ground speed matching- reduces disturbance due to foot touchdown
- Hand tuning of arms to produce natural looking gait
- Control algorithms modified (by hand) when path is a curve
- User-specified input- forward velocity
- desired path
![Page 16: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/16.jpg)
Manual vs. Automatic Generation of Control Algorithms
• Manual:- requires vast knowledge of control techniques,
human dynamics, etc.- tedious
• Automatic- reduces animator’s work- expensive, harder to implement, impractical- usually lacks natural look
![Page 17: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/17.jpg)
Summary
- Advantages
- produce physically correct/realistic motions
- easy to create simulated motion
- can easily create similar motions
- Disadvantages
- robust algorithms difficult to create
- require detailed knowledge of the system
- computational expense grows with constraints
- generally accurate only for one complete action
![Page 18: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/18.jpg)
![Page 19: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/19.jpg)
![Page 20: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/20.jpg)
![Page 21: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/21.jpg)
![Page 22: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/22.jpg)
Adapting Simulated Behaviors(Hodgins et al)
• Goal: fit a simulated motion from one model to another– simulated motion represented as control
algorithms
• This is not a trivial task– models may have different geometries
– simple geometric scaling is not enough
![Page 23: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/23.jpg)
Basic Method
• Approximate new control system– scale control parameters (e.g. size, masses,
moments etc)
• Fine-tune control system– search for a control system with good steady-
state behavior– use simulated annealing
![Page 24: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/24.jpg)
Scaling
• Geometric scaling
– joint angles, position/orientation, forward velocity, etc
– “Good” scale ratio must be found (e.g. leg length for running)
• Mass Scaling
– requires selection of relevant body segments (based on knowledge of behavior)
![Page 25: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/25.jpg)
Tuning
- Implemented as a search over the reduced space.
- Optimization Criteria: ground speed matching, body pitch, timing of thrust, extension of ankle and knee
- Search space contains large number of local minimause simulated annealing
- Tuning done in steps of different scales to reduce step sizes
Ankle Thrust
Eva
luat
ion
![Page 26: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/26.jpg)
![Page 27: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/27.jpg)
![Page 28: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/28.jpg)
![Page 29: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/29.jpg)
Goal-directed Animation(Bruderlin et al)
• Humans and animals are goal-oriented
– motions are specified as goals, then translated into joint movements, etc.
• Idea: Combine dynamic motion control with goal-directed motion control
– simplifies the work of animating
– less detail needed to define a motion compared to keyframing
![Page 30: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/30.jpg)
Keyframe-Less Animation of Walking(KLAW)
• Levels of control:- Desired motion (goal) = high-level control- Control algorithms (kinematics) and gait
refinements• Motion equations are Lagrangian• Dynamic model assumes constant segment masses
and symmetrical segments
![Page 31: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/31.jpg)
High Level Control
- Three fundamental locomotion parameters:- forward velocity- step length- step frequency
- Decomposed into state-phase timings and symmetry of steps
- Passed as step constraints to low-level control
![Page 32: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/32.jpg)
Low-level Control
• Motion broken up into stance and swing phases
![Page 33: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/33.jpg)
![Page 34: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/34.jpg)
Strength-guided Motion(Lee et al)
• Idea: Use strength, comfort, and perceived exertion as heuristics for optimizing movement
![Page 35: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/35.jpg)
Basic Approach
- strength model used as optimality criterion for control algorithms and path decisions.
- comfort region dictated by muscular strength- task paths chosen by system, not animator (i.e.
keyframing)- plans short paths toward the goal based on desired
action
![Page 36: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/36.jpg)
Problem specification
• Comfort level for each joint given by max torque ratio (current torque divided by max torque for current position and velocity)
• Perceived exertion: expected level of difficulty in completing a task; perception of amount of strength required
• Strength model: maximum achievable joint torque based on muscle groups
– Muscle group strength depends on body position, gender, handedness, fatigue, etc
![Page 37: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/37.jpg)
System Design
- Condition Monitor: monitors body state (positions, max strength, torques, etc.) and suggests motion strategies to PPS
- Path Planning Scheme (PPS): plans end effector movements;- must not violate strength constraints
- tradeoff between reaching goal and avoiding straining the model
- Rate Control Process (RCP): determines joint rates for motion
ConditionMonitor
Path PlanningScheme
Rate ControlProcess
comfort,perceived exertion,
etc
![Page 38: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/38.jpg)
Motion Strategies
- Available torque (available strength): people tend to move stronger joint.
- Reducing moment: avoids further stress while trying to reach goal (increases available torque)
- Pull back: retract when a joint reaches max strength; leads to a stable configuration (posture that a set of joints should form in order to withstand large forces)
- Recoil and jerk: similar to a weight lifter recoiling legs; jerk reduces forces necessary to complete a task for the set of active joints
![Page 39: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/39.jpg)
![Page 40: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/40.jpg)
Interactive Behaviors(Phillips, Badler)
• Approach:
– Specify constraints on parts of the figure
– Constraints determine end-effector positions
– Use Inverse Kinematics to computes motion (joint angles)
• Important constraints identified for bipedal articulated figures:
– the feet: position relative to the ground
– center of mass and balance: to maintain balance
![Page 41: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/41.jpg)
![Page 42: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/42.jpg)
Real-time Virtual Humans(Badler et al)
• Idea: Motions for animated humans can be described at a high-level using natural language.
• Scenes and motions can be more complicated if computed in parallel.
![Page 43: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/43.jpg)
Goals
- What should Virtual Humans be capable of doing?
- Playing a stored motion sequence
- Posture changes and balance adjustments
- Reaching, grasping, locomoting, looking
- Facial expressions
- Physical force- or torque-induced movements (jumping, falling, swinging)
- Blending (coarticulating) one movement into the next one
![Page 44: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/44.jpg)
Specifying Actions
• Parameterized Action Representation (PAR)- Natural language representation for specifying
motions and dynamics- Parameterized because the action depends on its
participants (agents, object, etc.)- Output fed to PaT-Net
![Page 45: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/45.jpg)
Performing Simultaneous Actions
• Parallel Transition Networks (PaT-Nets)- Provides a non-linear animation model that
enables simultaneous control over body motions as well as interaction between characters and their environments.
- Effective, but must be hand-coded in Lisp or C++.
![Page 46: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/46.jpg)
![Page 47: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/47.jpg)
Conclusions
• The state of the art still falls short of expectations• Procedural methods for creating human motion are
difficult to design, and seldom look realistic• Control algorithms are specific to one action, and
must be recoded for new actions– actions that seem related, e.g. walking and
running, are physically very different– automatic methods exist, but hand coding
produces more natural looking results
![Page 48: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/48.jpg)
Open Questions
• Transitioning between unrelated motions– e.g. between walk and run
• What are the characteristics of human motion that current systems are unable to simulate?– is this worth pursuing?
– is Motion Capture a more viable alternative?
• How to simulate high-level behaviors such as personality?
![Page 49: Human Simulation](https://reader035.fdocuments.us/reader035/viewer/2022081516/56814c67550346895db98c1d/html5/thumbnails/49.jpg)
The End