Title: A Grasp-Based Motion Planning Algorithm for Character Animation
1A Grasp-Based Motion Planning Algorithm for
Character Animation
M. Kalisiak, M. van de Panne Eurographics
Workshop on Computer Animation Simulation 2000
2Our Goals
? Human character animation? Complex
environment? Physical correctness? Aesthetic
constraints
3Solution
4Outline
? A precursory planner ? The gradient descent
method ? Escaping local minima ? The complete
planner ? Grasp points ? Posture heuristics ?
Trajectory smoothing ? Locomotion modes ?
Results and Future Work
5The Gradient Descent Method
qinit
P(q) shortest distance to goal P(q) cannot be
easily computed For each configuration q ?
sample a neighborhood of q ? select sample that
results in largest drop of P(q)
qgoal
6The Gradient Descent Method
qinit
P(q) shortest distance to goal P(q) cannot be
easily computed For each configuration q ?
sample a neighborhood of q ? select sample that
results in largest drop of P(q)
qgoal
7The Gradient Descent Method
qinit
P(q) shortest distance to goal P(q) cannot be
easily computed For each configuration q ?
sample a neighborhood of q ? select sample that
results in largest drop of P(q)
qgoal
8The Gradient Descent Method
qinit
P(q) shortest distance to goal P(q) cannot be
easily computed For each configuration q ?
sample a neighborhood of q ? select sample that
results in largest drop of P(q)
qgoal
9Escaping Local Minima
Gradient descent method stops at any
minimum Solution 1 Random walks Apply Brownian
motion for a given duration Solution 2
Backtracking ? Restart planner at an earlier
point q in solution trajectory ? Sample a
neighborhood of q ? Select any sample as the
next configuration
10Escaping Local Minima - Example
11Limitations
? No knowledge of human postures ? No physical
correctness
12Outline
? A precursory planner ? The gradient descent
method ? Random walks and backtracking ? The
complete planner ? Grasp points ? Posture
heuristics ? Trajectory smoothing ? Locomotion
modes ? Results and Future Work
13Grasp Points
? Represent potential contacts with surrounding
obstacles ? Reduce number of ways a character
can interact with the environment
14The Walking Cycle
a) Starting postureb) After a few gradient
descent stepsc) Next grasp point reached with
inverse kinematicsd) Grasp switched to other leg
15Posture Heuristics
Problem Motion does not look natural Solution ?
Each posture is rated by a set of heuristics ?
Each posture is iteratively corrected, until it
rates well
16Posture Correction
Discomfort function D(q) global rate given to
posture q by the set of heuristics Use
gradient descent method to minimize D(q) ?
Sample a neighborhood of q ? Select sample that
results in largest drop of D(q)
17Body Trajectory Smoothing
? Cull unwanted motion segments (noise) ?
Achieve natural fluid motion Smoothing
Algorithm ? Try to replace path with linear
interpolation ? If collision, subdivide path.
Then, repeat the process for each resulting
sub-path ? Use inverse kinematics to preserve
grasp points
18Limb Trajectory Smoothing
? Limbs that are not involved in grasping
exhibit unnecessary movement ? Use separate
linear interpolation for each of these limbs
19Locomotion modes
Walking
Climbing
Crawling
Swinging
20Finite State Machine
? Prevents haphazard motion ? States dictates
which heuristics can be used ? Edges represent
state transitions ? Edges carry a set of
preconditions and effects
21Complete System
? Gradient descent method determines overall
trajectory ? New grasp points are chosen when
reachable ? Current state dictates which
heuristics can be used ? Posture is corrected
with heuristics ? Trajectory is smoothed for
better realism
22Outline
? A precursory planner ? The gradient descent
method ? Random walks and backtracking ? The
complete planner ? Posture heuristics ?
Trajectory smoothing ? Locomotion modes ?
Results and Future Work
23Results
24Results
25Future work
? Three dimensions ? Grasp surfaces ?
Arbitrary skeletons ? Motion speed control ?
Complex grasping ? Machine learning ?
Keyframe timing relaxation