Download presentation
Presentation is loading. Please wait.
Published byMatthew Jefferson Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.