540 likes | 639 Vues
This study presents a novel approach for computing the Generalized Penetration Depth (PDg) in solid and physical modeling. The method considers both translational and rotational motion, improving accuracy in collision detection and avoidance. The algorithm defines new distance metrics and offers practical solutions for complex 6DOF configurations. Applications include haptic rendering, robot motion planning, and tolerance verification.
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.