170 likes | 192 Views
This solution utilizes a Motion Graph to synthesize realistic and collision-free motion for a crowd, satisfying given constraints on character pose, position, and time interval. The process involves constructing the graph, searching for seed motions, refining motion through a randomized search algorithm, and adjusting and merging seed motions.
E N D
Motion Graph for Crowd Tao Yu
Problem Description • Given a set of characters and a set of constraints. • The constraints could be: • Character pose. • Position (p) and Orientation (θ). • Time interval [ta, tb] in which the configuratoin should be obtained (possibly ta=tb).
Problem Description Goal: Synthesize motion which: • Realistic • Satisfying all constraints • Collision free (already solved by navigation algorithm?)
Motion Graph • Each node contains a specific pose. • Each edge corresponds to a motion clip. • Any sequence of connected edges yields a seamless motion
Motion Graph • Traditional MG based methods are limited in that: • The constraints on continuous properties (position, orientation and duration) are hard to exactly satisfy. • Search is expensive.
Solution (M.Sung, L.Kovar & M. Gleicher) The basic idea is: • Search in Motion Graph for motions satisfying constraints approximately • Refine rough motions thru a randomized search algorithm so that it exactly conforms to constraints
Process Overview • Construct Motion Graph [GSKJ03, Snap-together motion] • Sequential processing for each character • Using PRM as path planner to create constraints sequence (way point sequence) • Search for seed motions that satisfying constraints roughly • Adjusting and merging seed motions
The following contents are copied from authors’ presentation slides
Rough planning PRM query Fine planning Greedy search Create seed motions If distance > ε Randomly select and replace a clip Joining with adjustment Example Algorithm Target Obstacle Initial waypoints
Rough planning PRM query Fine planning Greedy search Create seed motions If distance > ε Randomly select and replace a clip Joining with adjustment Example Algorithm Target Obstacle Initial 1 2 3 waypoints
Rough planning PRM query Fine planning Greedy search Create seed motions If distance > ε Randomly select and replace a clip Joining with adjustment Example Algorithm Target Obstacle Forward Motion(Mf) Initial 1 Backward Motion(Mb) 2 3 Initial’
Rough planning PRM query Fine planning Greedy search Create seed motions If distance > ε Randomly select and replace a clip Joining with adjustment Algorithm Cost function : How close are they? C(Mf, Mb) > ε Forward motions Backward motions Compare all pair of motions and returns minimum cost
Rough planning PRM query Fine planning Greedy search Create seed motions If distance > ε Randomly select and replace a clip Joining with adjustment Algorithm < ε New motions Old Motions Old Motionsc Random select and Replace a clip
Rough planning PRM query Fine planning Greedy search Create seed paths If distance > ε Randomly select and replace a clip Joining with adjustment Example Algorithm Target Obstacle Initial Joining waypoints
Motion adjustment Old Motions New motions New motions Old Motions ε The error is distributed to the both paths
Comments • This method combines path planning, collision avoidance and motion synthesis together. • Suitable for high-level behavior planner. • Not directly applicable to our existing navigation/path planning methods for crowd.
Potential adaptation • Dense constraints • Motion prediction (Search motion in advance) • To be added…