540 likes | 630 Views
ACM Solid and Physical Modeling Conference, 2006. Generalized Penetration Depth Computation. http://gamma.cs.unc.edu/pdg. Liang-Jun Zhang Gokul Varadhan Dinesh Manocha Dept of Computer Sci. University of North Carolina Chapel Hill, USA. Young J. Kim Dept of Computer Sci.
E N D
ACM Solid and Physical Modeling Conference, 2006 Generalized Penetration Depth Computation http://gamma.cs.unc.edu/pdg Liang-Jun Zhang Gokul Varadhan Dinesh Manocha Dept of Computer Sci. University of North Carolina Chapel Hill, USA Young J. Kim Dept of Computer Sci. Ewha Womans University Seoul, Korea
d d Distance Measure • Separation → Euclidean distance • Interpenetration → Penetration depth
Translational Penetration Depth (PDt) Minimum translational distance needed to separate objects
d Translational Penetration Depth (PDt) Minimum translational distance needed to separate objects
Physically-based animation 6DOF haptic rendering Robot motion planning Tolerance verification Applications of PDt Time of Contact Force
PDg No Rotational Motion in PDt PDt
Generalized Penetration Depth • PDg • Taking into account both translational and rotational motion
Main Contributions • Definition of PDg • New distance metric, Dg • Properties • Practical algorithms for PDg • Convex/convex • Convex/convex complement • Non-convex/non-convex
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
Previous WorkTranslational Penetration Depth • Intersection depth • [Dobkin et al. 93] • Convex polytope • [Agarwal et al. 00] • Lower bound[van den Bergen01] • Upper bound[Kim et al. 02b] • Non-convex polyhedra • Highercomplexity: O(n6) • [Kim et al. 02a], [Redon et al. 05]
Previous WorkGeneralized Penetration Depth • No directly related work • 6DOF configuration space: O(n12) complexity • Object Containment problem • [Chazella 83], [Milenkovic 99], [Grinde and Cavalier 96], [Avniam and Boissonnat 89], [Agarwal et al 98] • Rotational overlapping minimization • [Milenkovic 98], [Milenkovic and Schmidl 01] • Quadratic metric
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
q1=<x1,y1,θ1> q0=<x0,y0,θ0> Configuration Space (C-space) θ Y Y A X X C-space Workspace
q1 d θ Y q0 X Distance Metric in C-space • To measure the distance for oneobject at two different configurations [LaValle06,Amato00,Kuffner04] • Lp metrics (L2, L1, L∞) • Displacement metric • Maximum displacement • Our Dg distance metric A(q1) Y A(q0) X
l1 A(q1) q0 q1 A(q0) l2 Dg(q0, q1) = Min over every pathconnecting q0 and q1 Max trajectory lengthfor distinct points Dg Metric in C-space Trajectory length Motion Paths in C-Space Y θ Dg(q0,q1) X
PDg definition PDg The minimum Dg distance over all possible collision-free configurations A B
PDt = Special Case of PDg B d PDt: only by translation A A(q)
PDg(A,B) ≤ PDt(A,B) PDg PDt
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
PDg for Convex Objects Theorem PDg(A,B) = PDt(A,B) Pf) • In general, PDg(A,B) ≤ PDt(A,B) • Show that PDg(A,B) < PDt(A,B) is impossible for convex objects
Corollary • Known PDt algorithms directly applicable to computing PDg • PDg(A,B) = PDg(B,A) for convex objects • In general, PDg(A,B)≠PDg(B,A) for non-convex objects
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
PDg vs Containment • Object containment • Can Q contain P, when P is allowed to translate and rotate? • PDg • Consider as the container Q • Harder because we need to find an optimal
Object Containment Problem • Complexities • O(m3n3log(mn)) for 2D polygons • O(mn2) for 2D convex polygons • Motivates us to consider PDg between convex and convex complement
Algorithm Overview • Find a containment • Find a locally optimal containment A
Step 1: Find a Containment • Formulate as a linear programming problem • Containment constraint: • Each point on A is contained in a half space defined by each face in B
Dg(q0,q2) Dg(q0,q1) Step 2: Find a locally optimal containment • Another Linear programming • Optimization objective • Dg(q0, q2) ≤Dg(q0, q1)
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
PDg for Convex/Non-convex • Difficult to compute the exact PDg • May need to compute 6DOF C-space (O(n12)) • Lower bound algorithm • Upper bound algorithm
Lower Bound on PDg • Convex decomposition • Eliminate non-overlapping pairs • PDt for overlapping pairs • LB(PDg) = Max over all PDts PDt PDt
Upper Bounds on PDg • PDg(A,B) ≤ PDt(CHull(A), CHull(B)) • PDg(A,B) ≤ PDt(A, B) More difficult 3. Better bounds
Separating Planes and Separators Non-convexseparator (b) (c) Separating planes Convex separator
Separating Planes • PDt(Chull(A), Chull(B)) yields a upper bound
Enumerating convex separators S For each convex separator S, use convex/convex complement for an upper bound Min over all these upper bounds Convex Separators
Implementation and Results • Timing measured on 2.8 GHz P4, 2G main memory • Lower bound on PDg • Pairwise PDt • Upper bound on PDg • UB1=Containment Optimization • UB2=PDt(CH(A), CH(B))
Hammer in Notch • Hammer • 1692 triangles • 215 convex pieces • Notch • 28 triangles • 28 convex pieces • 1 convex separator • Timings • LB: 4.3 msec • UB: 108 msec
Spoon in Cup • Cup • 8452 triangles • 94 convex pieces • 53 convex separators • Spoon • 336 triangles • 28 convex pieces
Outline • Previous Work • PDg definition • PDg algorithms • Convex/Convex • Convex/Convex complement • Non-convex/Non-convex • Application to motion planning
Application to Motion planning • C-obstacle query • L. Zhang, Y.J. Kim, G.Varadhan, D. Manocha, Fast C-obstacle Query Computation for Motion Planning, ICRA 2006 When the robot’s configuration changes within the C-space cell, Whether the robot ‘escape’ from the obstacle at some moment? Obstacle cell C-space Workspace
PDg for C-obstacle Query • Query criterion: • If the motion of the robot is less than the overlap extent (PDg), the robot can not escape from the obstacle Is Motion bound < PDg ? Motion bound PDg
Results: Motion Planning Time: 110s
Summary • Definition of generalized PD • Proved PDg = PDt for convex objects • Pose PDg problem for convex/convex complement as convex containment optimization • Algorithms for lower and upper bounds on PDg • PDg for motion planning
Limitations • Computes a lower bound and a upper bound for non-convex polyhedra. • Can not guarantee a global minimum. • Convex decomposition and convex separator enumeration impacts on the performance.
Ongoing and Future work • A Simple Path Non-Existence Algorithm for low DOF robots • [L. Zhang, Y.J. Kim, D. Manocha] WAFR2006 • Theoretical side: • Formulate Dg metric in a computational tractable way for exact PDg computation. • Practical side: • Apply PDg for higher DOFs motion planning, dynamic simulation, and tolerance verification.