1 / 28

Efficient Maintenance and Self-Collision Testing for Kinematic Chains

Efficient Maintenance and Self-Collision Testing for Kinematic Chains. Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe. Motivation. Robotics: hyper-redundant snake-like robots. (Mark Yim). (Joel Burdick). Motivation – cont. .

ivana
Download Presentation

Efficient Maintenance and Self-Collision Testing for Kinematic Chains

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 Given a chain of N links which deforms over time through changes to its DOFs: • 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

  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. T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) T(R,t) Chain Representation A Sequence of reference frames connected by rigid-body transformations 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 in the worst case • 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 Θ(N2)

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

  28. Conclusions • 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

More Related