Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.

Similar presentations


Presentation on theme: "Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe."— Presentation transcript:

1 Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe

2 Motivation Robotics: hyper-redundant snake-like robots (Mark Yim) (Joel Burdick)

3 Motivation – cont. Molecular Simulation – exploring the conformational space of polypeptides (4PTI backbone)

4 Motivation – cont. Both types of applications require: Efficient updating of the chain after changes to its DOFs Efficient detection of self-collisions caused by these changes

5 Outline of Talk Description of the Problem Previous approaches Our chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

6 Outline of Talk Description of the Problem Previous approaches The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

7 Problem Description Update the chain at each time-step to reflect the changes Assuming no self-collisions at previous time-step, find any/all self-collisions caused by latest changes Given a chain of N links which deforms over time through changes to its DOFs:

8 Outline of Talk Description of the Problem Previous approaches The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

9 I-COLLIDE (Cohen et al ’95) Project objects onto each axis Sort intervals Find pairs of intervals that overlap on all axes Reuse previous order to speed up sorting at next time-step O(N) update time O(N) detection time

10 Grid (e.g. Halperin and Overmars ’98) Insert objects into grid one at a time Check inserted objects for collisions with objects in neighboring cells O(N) update time O(N) detection time

11 Bounding Volume Hierarchies Spheres (Quinlan ’94) OBBs (Gottschalk et al ’96) AABBs (van den Bergen ’97) k-DOPs (Klosowski et al ’98) Build a BV hierarchy Test the hierarchy against itself to find collisions At each time step update the BVs O(N logN) update time Ω(N) detection time

12 Previous Approaches - Drawbacks In a kinematic chain – local changes have global effects. One change may cause O(N) links to move When few changes are applied to the chain, large pieces of it remain rigid.

13 Maintenance of Kinematic Structures (Halperin et al ’96) Algorithm for dynamic maintenance of kinematic chains Does not support self-collision testing update time

14 Outline of Talk Description of the Problem Previous approaches The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

15 Chain Representation A Sequence of reference frames connected by rigid-body transformations TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) Hierarchy of shortcut transformations

16 Bounding Volume Hierarchy Chain-aligned: bottom-up, along the chain Each BV encloses its two children in the hierarchy Each BV is stored in the reference frame of its left- most link. At each time step only BVs that contain the changed joints need to be recomputed

17 Outline of Talk Description of the Problem Previous approaches The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

18 Self-Collision Detection Test the hierarchy against itself to find collisions. But … Do not test inside BVs that were not updated after the last set of changes Benefits: Many unnecessary overlap tests are avoided No leaf node tested against itself.

19 Self-Collision: Example

20 Outline of Talk Previous approaches Description of the Problem The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

21 Experimental Results We tested our algorithm (dubbed ChainTree) against three others: Grid – Collisions detected by indexing into a 3D grid using a hash table. 1-OBBTree – An OBB hierarchy is created from scratch after each change and then tested against itself for collisions. K-OBBTree – After each move an OBBTree is built for each rigid piece of the chain. Each pair of OBBTrees is tested for collisions.

22 Results – Compact Chain

23 Results – Protein Backbones

24 Outline of Talk Previous approaches Description of the Problem The chain representation Detecting self-collisions Experimental results Analysis and theoretical results Conclusions

25 Analysis – Updating For each joint change: O(log N) shortcut transformations need to be recomputed O(log N) BVs need to be recomputed For k simultaneous changes O(k log N) time, but never more than O(N) Previous BV hierarchies required O(N log N) updating time

26 Analysis – Collision Detection This bound is very stable - holds for “not so tight” hierarchies like ours Lower bound holds for any convex BV. Slightly worse than Θ(N) we show for a regular hierarchy If topology of regular hierarchy is not updated, can deteriorate to Θ(N 2 ) in the worst case

27 Outline of Talk Previous approaches Description of the Problem The chain representation Detecting self-collisions Analysis and theoretical results Experimental results Conclusions

28 We presented an algorithm for efficient maintenance and self-collision detection of kinematic chains update time and detection time in the worst case It is very fast in practice Most efficient when k << N


Download ppt "Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe."

Similar presentations


Ads by Google