Motion Planning for Virtual Humans How to Plan Coordinated Motions ? Marcelo Kallmann mkallmann@ucmerced.edu http://graphics.ucmerced.edu M. Kallmann 2008 - UCM 1 M. Kallmann 2008 - UCM 2 Approach Approach manipulation manipulation locomotion locomotion gesture gesture t t M. Kallmann 2008 - UCM 3 M. Kallmann 2008 - UCM 4
Topics The Basic Problem 3. Learning 1. Manipulation 2. Whole-Body Coordination M. Kallmann 2008 - UCM 5 M. Kallmann 2008 - UCM 6 The Inverse Kinematics Approach Examples: Jacobian-Based IK • IK solves joint rotations such that the end- effector reaches a given target M. Kallmann, Interaction with 3-D Objects , In Handbook of Virtual Humans, John Wiley & Sons, UK, 2004, 303-322. M. Kallmann 2008 - UCM 7 M. Kallmann 2008 - UCM 8
Examples: Jacobian-Based IK The Motion Planning Approach • Sampling-based planners explore the free space around obstacles M. Kallmann 2008 - UCM 9 M. Kallmann 2008 - UCM 10 RRT Review RRT Review M. Kallmann 2008 - UCM 11 M. Kallmann 2008 - UCM 12
RRT Review RRT Review M. Kallmann 2008 - UCM 13 M. Kallmann 2008 - UCM 14 RRT Review RRT Review M. Kallmann 2008 - UCM 15 M. Kallmann 2008 - UCM 16
RRT Review RRT Review M. Kallmann 2008 - UCM 17 M. Kallmann 2008 - UCM 18 RRT Review RRT Review M. Kallmann 2008 - UCM 19 M. Kallmann 2008 - UCM 20
Bidirectional RRT Smoothing Review Trees rooted at c i and c g grow simultaneously M. Kallmann 2008 - UCM 21 M. Kallmann 2008 - UCM 22 Smoothing Review Smoothing Review M. Kallmann 2008 - UCM 23 M. Kallmann 2008 - UCM 24
Smoothing Review Smoothing Review M. Kallmann 2008 - UCM 25 M. Kallmann 2008 - UCM 26 Smoothing Review Example RRTs used to animate characters tree expansion connection found solution optimized M. Kallmann 2008 - UCM 27 M. Kallmann 2008 - UCM 28
Example Example RRTs used for both arms RRTs for Object Relocation M. Kallmann, Scalable Solutions for Interactive Virtual Humans that can Manipulate Objects , AIIDE 2005. M. Kallmann 2008 - UCM 29 M. Kallmann 2008 - UCM 30 Motion Planners for Characters Sampling Whole Body Reaching Postures • 22 DOFs control layer • What is needed? – 7 in each arm, 2 in each clavicle – 3 in the torso (distributed in spine) – Configuration sampling routine – 1 knee flexion (translational DOF) – Distance function between postures • Specific per-articulation parameterization and range limits – Posture interpolation method – Ex: swing-and-twist decomposition for the shoulder: – Validity check routine R = R twist R swing R twist =R z ( θ ), R swing = [S x S y 0] M. Kallmann, A. Aubel, T. Abaci, and D. Thalmann, Planning Collision-Free Reaching Motions M. Kallmann 2008 - UCM 31 M. Kallmann 2008 - UCM 32 for Interactive Object Manipulation and Grasping , Eurographics, 2003.
Example Sampling Whole Body Reaching Postures • 60% Regular – little spine and leg flexion – no clavicle motion – random arm poses • 40% Distant – large spine and leg flexion – little elbow flexion – shoulder-clavicle coupling – arm-legs coupling Play Video - http://graphics.ucmerced.edu/videos/2003_eg_reaching720x576.mpg – arm-torso coupling • Balance, limits, collisions M. Kallmann, A. Aubel, T. Abaci, and D. Thalmann, Planning Collision-Free Reaching Motions for Interactive Object Manipulation and Grasping , Eurographics, 2003. M. Kallmann 2008 - UCM 33 M. Kallmann 2008 - UCM 34 Topics Coordination: Sequencing • How to sequence primitive controllers? 3. Learning P L P B 1. Manipulation 2. Whole-Body Coordination P R M. Kallmann, R. Bargmann and M. Mataric´, Planning the Sequencing of Movement Primitives , SAB 2004, Los Angeles, CA,. M. Kallmann 2008 - UCM 35 M. Kallmann 2008 - UCM 36
Coordination: Sequencing Coordination: Sequencing Movement Instantiation Primitive Motion Parametric Movement Instantiation Primitive Motion Parametric Primitive Condition Space Dim. Primitive Condition Space Dim. moves right leg moves right leg support in support in P L articulations and 4 P L articulations and 4 left foot left foot body rotation body rotation support in moves body, feet support in moves body, feet P B 3 P B 3 both feet fixed with IK both feet fixed with IK moves left leg moves left leg support in support in P R articulations and 4 P R articulations and 4 right foot right foot body rotation body rotation M. Kallmann 2008 - UCM 37 M. Kallmann 2008 - UCM 38 Coordination: Sequencing Coordination: Sequencing Movement Instantiation Primitive Motion Parametric Movement Instantiation Primitive Motion Parametric Primitive Condition Space Dim. Primitive Condition Space Dim. moves right leg moves right leg support in support in P L articulations and 4 P L articulations and 4 left foot left foot body rotation body rotation support in moves body, feet support in moves body, feet P B 3 P B 3 both feet fixed with IK both feet fixed with IK moves left leg moves left leg support in support in P R articulations and 4 P R articulations and 4 right foot right foot body rotation body rotation M. Kallmann 2008 - UCM 39 M. Kallmann 2008 - UCM 40
Sequencing: Search Tree Sequencing: Search Tree • Define a search tree (single component) having • Expand a roadmap in the parametric space of the root as the initial configuration c i the motion primitive associated with c search tree search tree M. Kallmann 2008 - UCM 41 M. Kallmann 2008 - UCM 42 Sequencing: Search Tree Sequencing: Search Tree • Determine paths leading to configurations in a • Each path represents a new child of c different support mode search tree search tree … M. Kallmann 2008 - UCM 43 M. Kallmann 2008 - UCM 44
Sequencing: Search Tree Sequencing: Search Tree • Select lowest (A*) cost leaf c • Select lowest cost leaf c cost( c ) = length(root, c ) + dist( c ,goal) cost( c ) = length(root, c ) + dist( c ,goal) search tree search tree … … M. Kallmann 2008 - UCM 45 M. Kallmann 2008 - UCM 46 Sequencing: Search Tree Sequencing: Search Tree • Expand a roadmap in the parametric space of • Determine paths leading to configurations in a the new motion primitive associated with c different support mode, and add new leafs search tree search tree … … … M. Kallmann 2008 - UCM 47 M. Kallmann 2008 - UCM 48
Sequencing Examples Extension to Characters • Analytical IK needed M. Kallmann, Analytical Inverse Kinematics with Body Posture Control , M. Kallmann, R. Bargmann and M. Mataric´, Planning the Sequencing Computer Animation and Virtual Worlds, vol. 19, num.2, May 2008, pp. 79-91(13). of Movement Primitives , SAB 2004, Los Angeles, CA,. M. Kallmann 2008 - UCM 49 M. Kallmann 2008 - UCM 50 Coordination: Concurrency Search Space • DOFs divided in two parts, for ex: • Sample in configuration-time space: – Rear part used by dominant motion skill: walking – Each configuration (c a ,t) has 7 DOFs for arm or leg, plus time component in [t a ,t b ] – The rest used by a controlled skill: arm motion ( p , q 1 ,…, q r-1 , q r ,…, q n ) = (c w , c a ) in C W × C A • For every sample (c a ,t) – Compose full body posture (m w (t), c a ) to test validity when dynamic world is w(t) A. Shapiro, M. Kallmann, and P. Faloutsos, Interactive Motion Correction and Object Manipulation , ACM SIGGRAPH Symposium on Interactive 3D graphics and Games (I3D), 2007. M. Kallmann 2008 - UCM 51 M. Kallmann 2008 - UCM 52
Example: Motion Correction Example: Motion Correction • Avoiding post with umbrella while walking • Additional post added… M. Kallmann 2008 - UCM Full video - http://graphics.ucmerced.edu/videos/2007_i3d_motioncorrection.mp4 53 M. Kallmann 2008 - UCM Full video - http://graphics.ucmerced.edu/videos/2007_i3d_motioncorrection.mp4 54 Example: Dynamic Environments Example: Dynamic Environments • Dynamic environment and dynamic targets Moving obstacles and moving targets Moving obstacles, moving targets, moving character Full video - http://graphics.ucmerced.edu/videos/2007_i3d_motioncorrection.mp4 Full video - http://graphics.ucmerced.edu/videos/2007_i3d_motioncorrection.mp4 M. Kallmann 2008 - UCM 55 M. Kallmann 2008 - UCM 56
Example: Object Manipulation Approach 3. Learning 1. Manipulation 2. Whole-Body Coordination M. Kallmann 2008 - UCM Full video - http://graphics.ucmerced.edu/videos/2007_i3d_motioncorrection.mp4 57 M. Kallmann 2008 - UCM 58 Dynamic Roadmaps Learning Attractor Points • Attractor points are easier to maintain • Pre-compute roadmap only with static obstacles • On-line roadmap updates with a grid mapping – Updates can be significant M. Kallmann and M. Mataric´, Motion Planning Using Dynamic Roadmaps , Proceedings X. Jiang and M. Kallmann, Learning Humanoid Reaching of the IEEE International Conference on Robotics and Automation (ICRA), 2004. Tasks in Dynamic Environments , IROS, 2007. M. Kallmann 2008 - UCM 59 M. Kallmann 2008 - UCM 60
Attractor-Guided Planning Attractor-Guided Planning Attractor Attractor Expanding Node Expanding Node Obstacle Obstacle Sample Node Sample Node M. Kallmann 2008 - UCM 61 M. Kallmann 2008 - UCM 62 Attractor-Guided Planning Attractor-Guided Planning Attractor Attractor Expanding Node Expanding Node Obstacle Obstacle Sample Node Sample Node M. Kallmann 2008 - UCM 63 M. Kallmann 2008 - UCM 64
Recommend
More recommend