Title: Motion Planning for Character Animation and Computer Games
1Motion Planning for Character Animation and
Computer Games
- Luv Kohli
- COMP290-058
- October 13, 2003
2Outline
- Planning Motions with Intentions
- Dynamic Autonomous Agents Game Applications
- Better Group Behaviors in Complex Environments
using Global Roadmaps
3Planning Motions with IntentionsY. Koga, K.
Kondo, J. Kuffner, Jean-Claude Latombe
4Motion with Intention?
- A motion driven by the intent to accomplish some
task - Non-predictable
- Not described by laws of physics
5Task-based Animation
- Animation of figures automatically computed by
motion planner - Animator concentrates on creating imaginative
graphics instead of moving figures realistically
6Manipulation Planning
- Subset of task-based animation
- Automatic generation of human/robot arm motions
to complete manipulation tasks - Contrast with passive system (e.g. ball falling)
arms move with the intention of completing some
task
7Problem
- Find a collision-free path for arms to grasp and
then carry a moveable object from an initial
location to a goal location - Known as multi-arm manipulation planning problem
- Must account for the ability of arms to change
grasp (ungrasp/regrasp) of the object
8(No Transcript)
9Planner
- Input
- Geometry of the environment
- Initial and goal configurations of the moveable
object and arms - Set of potential grasps of the moveable object
- Inverse kinematics of the arms
10Some definitions (1)
- Stable space (Cstable) set of all legal
configurations in Cfree where the object is
statically stable - Grasp space (Cgrasp) set of all legal
configurations in Cfree where one or several arms
rigidly grasp the object such that they have
sufficient torque to move it. Cgrasp ? Cstable
11Some definitions (2)
- 2 basic types of paths
- Transit path defines arm motions that do not
move the object - Transfer path defines arm motions that move the
object - Manipulation path - alternate sequence of transit
and transfer paths that gets from the initial
position to the goal
12Composite configuration space
13Planning approach (1)
- Each path is a subtask of the total task
- Two-stage approach
- Generate series of subtasks to achieve goal
- Plan transit or transfer paths for each subtask
- Example grab object, carry it to an intermediate
location, change grasp, carry object to goal
location, ungrasp
14Planning approach (2)
- Planning a series of subtasks and converting them
into legal paths is difficult - Compromise plan a sequence of transfer tasks
that are guaranteed to be completed into transfer
paths - Transit tasks are immediately defined
- Assumes legal transit path exists for each
transit task
15Grasp restrictions
- To simplify the selection of transfer tasks, a
finite grasp set is predefined - Each grasp describes a rigid attachment of the
end-effector(s) of one or several arms with the
object
16Generating transfer tasks (1)
- A path Tobj that moves the object from its
initial to its goal configuration is created - The planner attempts to use the same grasp or set
of grasps for as long as possible - Tobj is computed using RPP (Randomized Path
Planner)
17Generating transfer tasks (2)
- RPP generates Tobj as list of adjacent
configurations in a fine grid placed over Cobj - Original RPP only checks that each inserted
configuration is collision-free - Use a modified RPP verifies that the object can
be grasped using a grasp from the grasp set
18Generating transfer tasks (3)
- grasp assignment - associates an element of the
grasp set and the identity of the grasping arm(s) - The planner enumerates all grasp assignments at
the initial configuration - Keeps a list of valid grasp assignments (no
collisions) - This list is associated with initial configuration
19Generating transfer tasks (4)
- Before inserting a new configuration, prune the
list of grasp assignments which are now invalid - If the list is empty, reset it to contain all
possible grasp assignments (as in the initial
configuration)
20Generating transfer tasks (5)
- The same grasp using different arm postures is
considered a separate grasp assignment - Each arm has a non-obstructive configuration
- The object must be held at all times during
regrasps
21Generating transit paths (1)
22Generating transit paths (2)
- Difficulty arises when an ungrasp/regrasp is
required between two transfer tasks - In some cases, an intermediate grasp may be
required - Break the transit task into smaller transit
subtasks such that no two arms have the same
grasp at the same time
23Human-Arm Kinematics
- Model based on two results from neurophysiology
- Arm and wrist posture mostly independent of each
other problem can be decoupled - Arm posture for pointing determined by simple
sensorimotor transformation model used to
determine shoulder and elbow joint angles
24Arm posture
- Arm described by four parameters
- ?, ?, ?, ? - elevation and yaw of upper arm and
forearm respectively - Wrist position (or hand frame) expressed in
spherical coordinates - Azimuth ?, elevation ?, radial distance R
25Transformation model (1)
- The sensorimotor transformation model suggests
that the parameters for arm posture are
approximated by a linear mapping from the hand
frame coordinates - ? -4.0 1.10R 0.90?
- ? 39.4 0.54R 1.06?
- ? 13.2 0.86? 0.11?
- ? -10.0 1.08? 0.35?
26Transformation model (2)
- If the resulting values are legal, then determine
the wrist joint angles - Otherwise enter a tuning phase to adjust the
values until they are legal
27Transformation model (3)
- Wrist joint angles found using standard IK
techniques. If values are not legal, then closest
are chosen and improved in final adjustment step - Final adjustment step constrained optimization
28Natural motion
- Results compared to neurophysiological
naturalness constraints fit fairly well - Dynamics not considered this is OK according to
neurophysiology - Modulation in elevation and yaw in upper arm and
forearm close to sinusoidal, and techniques
experimental values match well
29Results
- Each human arm has 7 DOF, 19 for each hand
- Robot has 6 revolute joints and 3 DOF for
end-effector - Grasp set contained 289 grasps, and grasp
assignment lists of up to 2600 elements - (show video)
30Dynamic Autonomous Agents Game ApplicationsS.
Goldenstein, E. Large, D. Metaxas
31The problem
- Want to model autonomous agents in game-like
environments - Real-time
- Dynamic targets and obstacles in the environment
32Why?
- Useful for
- Simulations
- Games
- VR
- Want agents to exhibit certain behaviors without
user intervention
33How?
- Make use of dynamical systems theory
- Express intelligent behaviors using systems of
differential equations - Two distinct dynamic systems are combined
- Movement dynamics controls agent movement
(heading, velocity) - Task dynamics controls agent behavior
34Heading direction (1)
- Movement defined by 2D vector representing
agents heading angle and forward speed - Heading angle computed via
- f is a nonlinear function and env represents the
state of the environment
35Heading direction (2)
- Each element of the environment can attract or
repel an agent - Attractors and repellers are located at the zero
crossings of f (critical/fixed points) - Attractor (target) modeled as
- ? is angle of targets location relative to
agents location, and a is constant parameter
(generally set as 1)
36(No Transcript)
37Heading direction (3)
- Obstacles (e.g. enemies or hazards) are distinct
entities - Fire-pits, for example, are clearly more
dangerous than a large wall.
38Heading direction (4)
- Different repellers created using multiplication
of three functions - Ri type of repeller
- Wi angle-based influence
39Heading direction (5)
- Di distance-based influence
- Repeller (obstacle) modeled as
- Resulting influence from obstacles
40Heading direction (6)
- Heading angle obtained using
- wtar and wobs are weights obtained through the
task dynamics system - The noise term n allows the system to escape from
unstable fixed points
41Example 1
42Example 2
43Velocity
- Simplest possibility constant velocity, but
potential for many collisions - Instead, have agent move faster when no objects
are near and slower in a crowded area - rmin distance to closest obstacle,d1 safety
distance, t2c time to contact
44Task dynamics (1)
- Individually, attractors and repellers work well,
but their sum might yield problems - Instead of a direct sum, use weights determined
by a second dynamical system that runs at a more
refined time scale
45Task dynamics (2)
- The second system is modeled as
- ?1, ?2, ?12, and ?21 are parameter functions to
be designed - wtar and wobs are computed based on the
computation of the fixed points in this system
(.wtar .wobs 0)
46Stability analysis (1)
- This system when chosen arbitrarily may not
converge to a fixed point, so a stability
analysis is required - This is done using a classical nonlinear
dynamical system stability analysis - It is determined that the system has four
critical points (0,0), (0,?1), (?1,0), (?A1,
?A2), where
47Stability analysis (2)
48Stability analysis (3)
- Based on this information the parameter functions
can be computed (see paper)
49(No Transcript)
50Better Group Behaviors in Complex Environments
using Global RoadmapsO. Burchan Bayazit,
Jyh-Ming Lien, Nancy Amato
51References
- Y. Koga, K. Kondo, J. Kuffner, J.L. Latombe,
Planning Motions with Intentions. Proceedings of
SIGGRAPH 94, ACM SIGGRAPH, 1994, 395-408. - Goldenstein, S., Large, E., and Metaxas, D.
Dynamic Autonomous Agents Game Applications.
Computer Animation, 1998. - O. Burchan Bayazit, Jyh-Ming Lien, Nancy M.
Amato, Better Group Behaviors using Global
Roadmaps. Proceedings of the 8th International
Conference on the Simulation and Synthesis of
Living Systems (Alife02), December 2002, pp.
362-370.