Download presentation
Presentation is loading. Please wait.
1
Adaptive Dynamic Collision Checking for Many Moving Bodies Mitul Saha Department of Computer Science, Stanford University. NSF-ITR Workshop Collaborators: Fabian Schwarzer, Jean-Claude Latombe
2
Static vs. Dynamic Collision Checking Static collision checking tests a single configuration q for collision Dynamic collision checking ensure that all configurations on a continuous path are collision-free. Dynamic Static
3
Motivation (1) Bottleneck in PRM planning: Efficient testing of sampled configurations and connections for collision. ( Usually people trade-off reliability for speed in dynamic collision checking.) qaqa qbqb
4
[Quinlan, 94] [Gottschalk, Lin, Manocha, 96] Static collision tests (for sampled configurations) are done efficiently using pre-computed bounding volume (BV) hierarchies Motivation (2) AB
5
But dynamic collision tests (for connections between sampled configurations) using BV hierarchies are usually approximate. Motivation (3) too large collisions are missed too small slow test of local paths 1 2 3 2 3 3 3
6
Motivation (3) But dynamic collision tests (for connections between sampled configurations) using BV hierarchies are usually approximate.
7
Previous Approaches to Dynamic Collision Testing o Bounding-volume (BV) hierarchies Discretization issue o Feature-tracking methods [Lin, Canny, 91] [Mirtich, 98] V-Clip [Cohen, Lin, Manocha, Ponamgi, 95] I-Collide [Basch, Guibas, Hershberger, 97] KDS Geometric complexity issue with highly non-convex objects Sequential strategy (first collision) that is not efficient for PRM path segments o Swept-volume intersection [Cameron, 85] [Foisy, Hayward, 93] Swept-volumes are expensive to compute. Too much data. No pre-computed BV hierarchies o Algebraic trajectory parameterization [Canny, 86] [Schweikard, 91] [Redon, Kheddar, Coquillard, 00] High-degree polynomials, expensive o Combination [Redon, Kheddar, Coquillard, 00] BVH + algebraic parameterization [Ehmann, Lin, 01] BVH + feature tracking Sequential strategy
8
Desirables in Nutshell Desirables in Nutshell o Adaptive resolution o Exact collision checking o Competitive with discrete checkers w.r.t. speed
9
Definitions A i (q a ) WorkspaceC-space A i (q b ) qaqa qbqb qaqa i (q a,q b ) i (q a,q b ) ≡ curveLength (A i ) on q a … q b qbqb
10
Definitions WorkspaceC-space A i (q b ) A j (q b ) qaqa qbqb qbqb qaqa η ij (q b ) ij (q) ≡ distance (A i, A j ) ij (q) = 0 Collision
11
Key Lemma A i (q a ) WorkspaceC-space A j (q a ) A i (q b ) A j (q b ) qaqa qbqb qbqb qaqa η ij (q a ) η ij (q b ) i (q a,q b ) j (q a,q b ) Key Lemma: If i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ), then there exists no collision between A i and A j along q a -q b
12
Key Lemma Key Lemma: If i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ), then there exists no collision between A i and A j along q a -q b Intuition behind the key lemma: η ij i AiAi AjAj i < η ij Safe
13
Collision Checking using the Lemma Hence bisect Not sure! else If i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ) Collision -free η ij (q a ) η ij (q b ) i (q a,q b ) + j (q a,q b )
14
Collision Checking using the Lemma After the collision check a collision-free connection may look like: Each sub-segment segment satisfies the lemma: i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ) and hence the collision checking is exact The collision checking is adaptive
15
o Robot(s) and static obstacles treated as collection of rigid bodies A1, …, An. o If i (q,q’) + j (q,q’) < ij (q) + ij (q’) then Ai and Aj do not collide between q and q’ Generalization: Large Number of Moving Bodies
16
Generalized Bisection Method for Large Number of Moving Objects I.Until Q is not empty do: 1. [q a,q b ] ij remove-first(Q) 2. If i (q a,q b ) + j (q a,q b ) ij (q a ) + ij (q b ) then a. q mid (q a +q b )/2 b. If ij (q mid ) = 0 then return collision c. Else insert [q a,q mid ] ij and [q mid,q b ] ij into Q II.Return no collision o Each pair of bodies is checked independently of the others priority queue Q of elements [q a,q b ] ij o Initially, Q consists of [q,q’] ij for all pairs of bodies Ai and Aj that need to be tested.
17
Heuristic Ordering Q o Goal: Discover collision quicker if there is one. o Sort Q by decreasing values of: [ i (q a,q b ) + j (q a,q b )] – [ ij (q a ) + ij (q b )]
18
o Things to note: o Different pair of bodies tested with different resolutions, i.e. usually close pair of objects are checked with finer resolution than the distant ones. o Usually close pair of objects are considered before the distant ones. Generalized Bisection Method for Large Number of Moving Bodies
19
Calculating Terms in the Key Lemma How do we get ij (q) and i (q a,q b ) ? i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ) A j (q) i (q a, q b ) ij (q) A j (q b ) A i (q)A i (q a )
20
Need to find η ij ’s Exact and approximate distance computations are very expensive compared to pure collision checking So is there any alternative? Lower bound on Distance between Bodies AjAj η ij AjAj
21
Lower bound on Distance between Bodies ij (q) o Use a classical BVH collision checker with a slight modification o Compute distance between BVs instead of just testing BV overlap BVs are RSSs o returns values often much larger than ½ distances o much faster than BV-based exact or ½-approximate distance computation o almost as fast as pure collision checking
22
Calculating Terms in the Key Lemma How do we get ij (q) and i (q a,q b ) ? i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ) A j (q) i (q a, q b ) ij (q) A j (q b ) A i (q)A i (q a )
23
Bounding Motions in Workspace i (q a,q b ) q3q3 A3A3 q2q2 A2A2 q4q4 A4A4 q1q1 A1A1 Upper Bound Path LengthRigid Body A1A1 1 (q a,q b ) Lq a,1 q b,1 2 (q a,q b ) 2Lq a,1 q b,1 Lq a,2 q b,2 3 (q a,q b ) (2L D)q a,1 q b,1 (L D)q a,2 q b,2 q a,3 q b,3 4 (q a,q b ) (3L D)q a,1 q b,1 (2L D)q a,2 q b,2 q a,3 q b,3 Lq a,4 q b,4 A2A2 A3A3 A4A4
24
Comparative Experiment Robot: 2,502 triangles Obstacles: 432 Triangles SBL 17 sec A-SBL 4.8 sec SBL: PRM planner (single-query, bi-directional, lazy in cc) with fixed-discretization collision checker A-SBL: Same planner, with new collision checker Experiment: Run SBL 10 times on same planning problem with some resolution If a collision has been missed, reduce and repeat If no collision has been missed, return average planning time Run A-SBL 10 times and return average planning time
25
Some Result Robot: 2,502 triangles Obstacles: 432 Triangles SBL 17 sec A-SBL 4.8 sec Robot: 2,991 triangles Obstacles: 74,681 triangles SBL 1.20 sec A-SBL 0.81 sec Robot: 2,991 triangles Obstacles: 432 Triangles SBL 83 sec A-SBL 44 sec Robot: 2,502 triangles Obstacles: 34,171 triangles SBL 3.2 sec A-SBL 2.1 sec Robots: 6 x 2,991 triangles Obstacles: 19,668 triangles SBL 85 sec A-SBL 52 sec
26
In Action
28
Summing up.. New dynamic collision checker which: Never misses a collision Eliminates need for determining resolution factor: e Is even faster than the discrete checker in PRM planning Techniques that considerably improve efficiency: Greedy Distance Computation algorithm, nearly as efficient as pure collision checker Fast technique for bounding lengths of paths traced out in workspace Heuristics for ordering collisions tests Represent deformable objects with a large number of small rigid objects vs
29
Summing up.. A free downloadable c++ implementation of the new dynamic collision checker is on the web: http://robotics.stanford.edu/~mitul/mpk
30
Adaptive Dynamic Collision Checking for Many Moving Objects Mitul Saha Department of Computer Science Stanford University NSF-ITR Workshop Collaborators: Fabian Schwarzer, Jean-Claude Latombe Any Question?
31
SBL [Sanchez-Ante, Latombe, 01] X
32
SBL mbmbmbmb mgmgmgmg
33
Our New Collision Checker oBased on “Adaptive Bisection” oIdeas: oRelate configuration changes to path lengths in workspace oUse distance computation rather than pure collision checking
34
Extension to deformable objects Large number of small bodies can be used to approximate deformable objects Current Research
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.