Powerpoint File (299K)

ugliestmysticAI and Robotics

Nov 14, 2013 (3 years and 6 months ago)

62 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.


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

vault


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)

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

heel contact

toe contact

loading

unloading

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

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)

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

Ankle Thrust

Evaluation

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

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

comfort,

perceived exertion,

etc

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?

The End