Title: Human Simulation
1Human Simulation
- Keith Thoresz
- Suan Yong
- April 6, 1999
2Papers
- 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.
3(No Transcript)
4Why simulating humans is useful
- Ergonomic prototyping
- Virtual conferencing
- Interaction in graphical worlds
- Games
- Education
- Training
- Military/Space/Whatever simulation
5Background
- Biomechanics
- data for creating dynamic models and motions
- Robotics
- control strategies
- Computer graphics
- implementation experience
6Difficulties 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
7Animating Techniques
- Keyframing
- detailed control
- tedious
- Procedural Methods
- can be physically correct, high-level control
- unnatural motions, difficult to create
- Motion Capture
- natural motions
- inflexible
8Procedural methods
- High-level control
- specifying desired motion
- Control Algorithms
- control the primary actions (choreography)
- Low-level Procedures
- generates the motion (kinematics)
vault
9Procedural methods
- High-level control
- specifying desired motion
- Control Algorithms
- control the primary actions (choreography)
- Low-level Procedures
- generates the motion (kinematics)
10Procedural methods
- High-level control
- specifying desired motion
- Control Algorithms
- control the primary actions (choreography)
- Low-level Procedures
- generates the motion (kinematics)
11(No Transcript)
12 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)
13Control 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
14Control Algorithms
- state machines connecting phase of behavior to
active control laws
flight
ball of foot leaves ground
heel touches ground
loading
unloading
knee bends
knee extended
heel contact
toe contact
hip in front of heel
ball of foot touches ground
heel/toe contact
15Example 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
16Manual vs. Automatic Generation of Control
Algorithms
- Manual
- requires vast knowledge of control techniques,
human dynamics, etc. - tedious
- Automatic
- reduces animators work
- expensive, harder to implement, impractical
- usually lacks natural look
17Summary
- 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
18(No Transcript)
19 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
20Basic 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
21Scaling
- 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)
22Tuning
- 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
minima - use simulated annealing
- Tuning done in steps of different scales to
reduce step sizes
23(No Transcript)
24Goal-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
25Keyframe-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
26High 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
27Low-level Control
- Motion broken up into stance and swing phases
28(No Transcript)
29Strength-guided Motion(Lee et al)
- Idea Use strength, comfort, and perceived
exertion as heuristics for optimizing movement
30Basic 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
31Problem 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
32System Design
comfort, perceived exertion, etc
- 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
Condition Monitor
Path Planning Scheme
Rate Control Process
33Motion 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
34(No Transcript)
35Interactive 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
36(No Transcript)
37Real-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.
38Goals
- 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
39Specifying 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
40Performing 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.
41(No Transcript)
42Conclusions
- 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
43Open 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?
44The End