Title: Humanlike Avatar Navigation in Complex Environments
1Human-like Avatar Navigation in Complex
Environments
2Avatar Navigation in Complex Environments
- Adapted from A Grasp Based Motion Planning
Algorithm for Character Animation M. Kalisiak,
M.V. Panne, EG00
3Why is this important?
- Simulating Virtual Reality scenarios (urban,
military, industrial) and virtual prototyping - SecondLife is a classical example
- Avatar animation in the entertainment industry
- Important from a robotics perspective as lots of
recent research is focused on highly articulated
humanoid robots
4Why is this difficult?
- Human beings have a very high number of DOFs
(120) which makes planning using traditional
techniques very difficult - Human beings have kinodynamic constraints, which
are difficult to formulate - Most applications demand interactive real-time
animation - Most VR simulation scenarios (or even the real
world for that matter) are dynamic in nature
5Why is this difficult?
- Lastly, human avatar animation lies in the realm
of the Uncanny Valley
( Source Wikipedia )
6Limitations of standard motion planning approaches
- C-space complexity blows up
- Paths returned by randomized planners are jagged
and unnatural - Quality of human motion is easily discernable by
the naked eye - Kinodynamic planning, especially in dynamic
environments, is a very new, active area of
research in motion planning - Extending it to high DOF robots is non-trivial
7Two ways to tackle the problem
- Treat the navigation problem as one high
dimensional path planning problem - Decompose the problem into two sub-problems
- Path finding in the workspace
- Refine path to satisfy motion constraints
- When possible, make use of domain specific
knowledge (such as biomechanics literature in
this case) or/and use data-driven methods
8Related work in robotics literature
- Researchers have been trying to solve the problem
of path planning for highly articulated robots - The decomposition-based planning approach was
first suggested by O. Brock and L. Kavraki, ICRA
2001 - Compute a tunnel in the workspace to capture
connectivity of free space - Navigate inside this tunnel using a
potential-field based approach
9Related work in robotics literature
- This approach has been demonstrated for a
free-flying 11 DOF robot - Motion quality is not a concern as long as an
obstacle free path to the goal is guaranteed - Difficult to use in the case of human avatars
since characterization of the forces acting on
the avatar is not possible
10Focus on human-like characters
- Typical human avatar has 60-120 DOFs
- Kinodynamic constraints on human motion in terms
of velocity, acceleration, turning radius etc. - Constraints on by how much a joint can rotate in
its local frame of reference - Most human motions are severely under-constrained
- Despite extensive research, we are still far from
producing an accurate biomechanical model of
human motion
11Typical character animation framework
(Source J. Kuffner, CMU)
12Research literature
- All previous approaches to tackling this problem
can be primarily classified in three categories - Physically based modeling methods
- Purely data driven methods (using motion capture
data) - Use a combination of data-driven methods and
inverse kinematics to satisfy constraints
13Model based methods
- Hand designed controllers for human motion,
primarily locomotion - Based on the notion of comfort, balance and
stability to generate plausible motion - The grasp-based planner, for instance
- It takes a couple of years for a human to learn
to balance and many more years of experience to
make intelligent decisions while navigating - Controller design is daunting and does not work
well in practice
14Data-driven techniques
- Motion capture data is very much like video (but
in 3D) - Each frame encodes the root position and its
orientation, and the joint angles in their
respective local frame of references
15Planning Biped Locomotion using Motion Capture
Data and PRMs
- Build a PRM (Probability Roadmap) based on
sampled foot-plant configurations - Given initial and target constraint, the PRM is
searched to find a path that is able to connect
with motion clips - Motions are adjusted to meet the constraints
Source Planning Biped Locomotion using
Motion Capture Data and PRMs M. Choi, J. Lee,
S.Y. Shin, SIGGRAPH 2003
16Pipeline
- Sample valid foot-plants randomly in the
workspace - Align foot-plants to match start and end
positions with a pre-recorded motion clip - Search for a path in an augmented roadmap by
minimizing a cost function -
- Iteratively refine the path (straightening and
smoothing) - Body trajectory estimation using Motion
Retargeting
17Limitations
- Approach tightly coupled with the PRM constructed
- Dynamic obstacles (such as other moving
characters) not considered - Motion retargeting may prove to be expensive if a
large number of characters are to be animated
18Fast and accurate goal-directed motion synthesis
for crowds
- Two level synthesis
- Coarse search for global path planning using PRMs
- Finer search for detailed motion synthesis
- Incorporate continuous motion adjustment
- Discrete search to roughly satisfy constraints
- Additional displacements for precision
19Approach
20Limitations
- Characters may deviate or wander somewhat from
the intended goal - Cannot guarantee collision-free paths in a dense,
dynamic environment - Expensive search limits it to offline use
- Running cost directly linked to the number of
characters being animated and the size and
complexity of the environment
21Behavior Planning for Character Animation
- Motions abstracted as high-level behaviors and
organized into a finite state machine (in
contrast to motion graphs) - Build search tree of behavior states and perform
global planning
Source Behavior Planning for Character
Animation M. Lau, J. Kuffner, SCA 05
22Behavior Planning for Character Animation
Solution Path(Sequence of Behaviors)
Environment
FSM
Animation
23Motivation for Pre-computing Search Trees
- Complexity increases with the number of
characters being animated and the complexity of
the environment - Pre-compute possible paths for runtime efficiency
and handling complex, dynamic environments
Expand all possible states of the FSM
24Precomputed Search Trees
Runtime
Pre-compute
1) Map Obstacles
Environment
1) Search Tree
Prune and solve for goals by sub-division
FSM
2) Grid-maps
2) Path Finding
25Discussion
- Interactive synthesis achieved at the cost of
memory usage - Planning is no longer A based, use a fast 2D
bitmap planner - Re-use same tree in different environments
- Does not guarantee globally optimal solutions
- Size of the tree could be an issue with a varied
set of motions - No notion of rules to govern the motion of
character(s)
26Motion Graphs
- Dense graphs (unlike FSMs seen earlier) where
each node is a pose (instead of a motion) and it
is possible to transition between clips at
intermediate frames as well - Transition from one node to the next based on a
cost function heuristic to generate motion
(Source L. Kovar)
27Using Motion Graphs for navigation
- Overlay the motion graph onto the environment
(4D), compute the SCC in the graph and compute
valid path - Tightly coupled with the environment, cannot
handle dynamic obstacles and rapidly becomes
intractable
Source Evaluating Motion Graphs for Character
Navigation P.Reitsma, N.Pollard. SCA 2004
28Synthesizing Animations of Human Manipulation
Tasks
- Use a RRT planner to perform path planning for
the object being manipulated (in 6D C-space) - Use inverse kinematics to position character and
simultaneously satisfy all external constraints - Bias the IK procedure towards poses generated
from pre-recorded motion capture data - Post process by path smoothing and computing
velocity profiles
29Discussion
- Combines ideas from both model based methods and
data-driven methods - Variations in character kinematics handled
- Variations in the kind of manipulation task being
performed is handled - Decoupling object position from character pose,
may not yield a feasible solution (is no
representative poses are available for
interpolation) - Offline computation, cannot be used in
interactive applications for large number of
characters
30Computer Games and other apps
- Widely used in many interactive applications,
such as SecondLife and computer games - Games perform navigation for NPCs (Non-player
characters) - Discretize the environment into grids and use a
path finding algorithm (A and its variants) to
find a path to the goal - Use a library of carefully selected, either
keyframed or motion captured moves for playback
and solve for external constraints such as
footholds on rough terrain etc. using IK
31Take away lessons
- The problem is not trivial and there is no
right way to solve this - Different applications have different needs and
require different degrees of correctness in
synthesizing motion -
- Do not think of motion capture data as a panacea
but use this in conjunction with other methods
for motion synthesis
32References
- Precomputed Search Trees Planning for
Interactive Goal Driven Animation M.Lau,
J.Kuffner - Construction and optimal search of interpolated
motion graphs A.Safonova, J.K.Hodgins - Planning biped locomotion using motion capture
data and probabilistic roadmaps M.Choi, J.Lee,
S.Y.Shin - Fast and accurate goal-directed motion synthesis
for crowds M.Sung, L.Kovar, M.Gleicher - Behavior Planning for Character Animation M.Lau,
J.Kuffner - Synthesizing Animations of Human Manipulation
Tasks K.Yamane, J.Kuffner, J.K.Hodgins - Decomposition-based Motion Planning A Framework
for Real-time Motion Planning in High-dimensional
Configuration Spaces O.Brock, L.E.Kavraki
33Appendix
Foot-plant transformation
34Appendix
Augmented Roadmap
35Appendix
Body Trajectory Estimation using Motion
Retargeting
36Appendix
Coarse-Level Planner
Repeatedly select sub-goal and run each sub-case