440 likes | 531 Views
Human Simulation. Keith Thoresz Suan Yong April 6, 1999. 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.
E N D
Human Simulation Keith Thoresz Suan Yong April 6, 1999
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.
Why simulating humans is useful • Ergonomic prototyping • Virtual conferencing • Interaction in graphical worlds • Games • Education • Training • Military/Space/Whatever simulation
Background • Biomechanics • data for creating dynamic models and motions • Robotics • control strategies • Computer graphics • implementation experience
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
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
Procedural methods • High-level control • specifying desired motion • Control Algorithms • control the primary actions (choreography) • Low-level Procedures • generates the motion (kinematics) vault
Procedural methods • High-level control • specifying desired motion • Control Algorithms • control the primary actions (choreography) • Low-level Procedures • generates the motion (kinematics)
Procedural methods • High-level control • specifying desired motion • Control Algorithms • control the primary actions (choreography) • Low-level Procedures • generates the motion (kinematics)
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)
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
Control Algorithms • state machines connecting phase of behavior to active control laws flight ball of foot leaves ground heel touches ground unloading loading knee bends knee extended toe contact heel contact hip in front of heel ball of foot touches ground heel/toe contact
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
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
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
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
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
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)
Evaluation Ankle Thrust 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 minima • use simulated annealing • Tuning done in steps of different scales to reduce step sizes
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
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
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
Low-level Control • Motion broken up into stance and swing phases
Strength-guided Motion(Lee et al) • Idea: Use strength, comfort, and perceived exertion as heuristics for optimizing movement
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
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
comfort, perceived exertion, etc 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 Condition Monitor Path Planning Scheme Rate Control Process
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
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
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.
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
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
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++.
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
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?