Algorithmic robotics and motion planning
1 / 37

Algorithmic Robotics and Motion Planning - PowerPoint PPT Presentation

  • Uploaded on

Algorithmic Robotics and Motion Planning. Fall 2006/7 Dynamic Maintenance and Self-Collision Testing for Large Kinematic Chains. Dan Halperin Tel Aviv University. Kinematic structures. A collection of rigid bodies hinged together---motion along joints

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Algorithmic Robotics and Motion Planning' - arden-glenn

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Algorithmic robotics and motion planning

Algorithmic Roboticsand Motion Planning

Fall 2006/7

Dynamic Maintenance and Self-Collision Testing for Large Kinematic Chains

Dan Halperin

Tel Aviv University

Kinematic structures
Kinematic structures

  • A collection of rigid bodies hinged together---motion along joints

  • LARGE structures:hyper-redundant robots[Burdick, Chirikjian, Rus, Yim and others],macro-molecules

The static model
The static model

  • n links of roughly the same size

  • possibly slightly interpenetrating

  • many favorable properties and simple algorithms (HSR, union boundary construction), in particular, data structures for intersection queries:

    O(n log n) preprocessing -> O(n) rand.

    O(n) space

    O(log n) query -> O(1)

The kinematic model
The kinematic model



chain, tree, graph

Dynamic maintenance self collision testing
Dynamic maintenance, self collision testing

  • the problem:

    Carry out a sequence of operations efficiently

    update of joint values

    the query is for self collision

  • sample motivation: monte carlo simulation of protein folding paths

Dynamic maintenance what s available
Dynamic maintenance:what’s available

dynamic spatial data structures

insertions and deletions

kinetic data structures [Basch, Guibas, Hershberger 97]

independent movements

robot motion planning

small number of degrees of freedom

dynamic maintenance for kinematic struct’s

link-size queries [H-Latombe-Motwani 96,Charikar-H-Motwani 98]

Dynamic maintenance self collision testing1
Dynamic maintenance, self collision testing

  • the problem (reminder):

    Carry out a sequence of operations efficiently

    update of joint values

    the query is for self collision

    n: # of links ~ # of joints

  • theory, worst case: rebuild spatial structure at each update

Collision testing existing techniques
Collision testing, existing techniques

Self collision testing assumptions
Self-collision testing, assumptions

  • a small number of joint values change from one step to the other

  • the chain was self-collision free at the last step

Chain representation












Chain representation

A Sequence of reference frames (links) connected by rigid-body transformations (joints)

Hierarchy of “shortcut” transformations

Bounding volume hierarchy
Bounding Volume Hierarchy

  • Chain-aligned: bottom-up, along the chain

  • Each BV encloses its two children in the hierarchy

  • Shortcuts allow to efficiently compute relative position of BVs

  • At each time step only BVs that contain the changed joints need to be recomputed

Self collision detection
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


  • Many unnecessary overlap tests are avoided

  • No leaf node tested against itself

Experimental results
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 change an OBB hierarchy is built for each rigid piece of the chain. Each pair of hierarchies is tested for collisions

Results extended chain 1
Results: Extended chain (1)

Single Joint Change

Results extended chain 2
Results: Extended chain (2)

100 Joint Changes

Protein backbones
Protein backbones


(1941 atoms)


(969 atoms)


(171 atoms)

Results protein backbones 1
Results: Protein backbones (1)

Single Joint Change

Analysis updating
Analysis – updating

  • For each joint change:

    • shortcut transformations need to be recomputed

    • BVs need to be recomputed

  • For k simultaneous changestime, but never more than

Previous BV hierarchies required O(N log N) updating time

Analysis collision detection
Analysis – collision detection

in the worst case

  • Upper bound holds for “not so tight” hierarchies like ours

  • Lower bound holds for any convex BV

  • Slightly worse than bound we prove for a regular hierarchy

  • If topology of regular hierarchy is not updated, can deteriorate to

  • Guibas et al '02: bounds for spherical hierarchy

Upper bound
Upper bound

we first show for tight spherical hierarchy, the extend to OBBs

tight hierarchy: the bounding sphere is the minimal for the original links at each level

Reminder, well-behaved chain, two constants:

(1) the ratio between the biggest and smallest bounding sphere of a link

(2) the minimum distance between the centers of two bounding sphere of links

Upper bound cont d
Upper bound, cont’d

Step 1: regularize chain

all spheres of same radius r

two successive spheres in the chain are not disjoint

level i=0, tree leaves

at level i there are gi = 2i each bounding volume, a bounding sphere of radius gir

the number of bounding spheres at level i intersecting a single bounding sphere is

Upper bound cont d1
Upper bound, cont’d

Mi can be as large as n/gi

Max Mi is attained for the smallest i such that

which, since gi = 2i, occurs when

Ti denotes the number of sphere overlaps at level I,

T is the overall number of sphere overlaps

Upper bound cont d3
Upper bound, cont’d

  • Will the bound hold for a “not so tight” hierarchy like ours?


  • OBBs are larger than tight bounding spheres by a constant factor at each level

  • This factor is fixed for all levels of the hierarchy

Upper bound cont d4
Upper bound, cont’d

lemma: given two OBBs contained in a sphere D of radius R, the OBB bounding both of them is contained in a sphere of radius √3R concentric with D

Upper bound cont d5
Upper bound, cont’d

lemma: at level I of an OBB hierarchy, each OBB is contained in a sphere of radius c2ir, where c is an absolutre constant


C1 is chosen such that this is true for levels i = 0,1, …, 4

assume for i-1 (i>4) and prove for i

S sphere of radius 2ir containing the subchain bounded by the 32 boxes at level i-5

S0 sphere concentric with S with radius 2ir(1+c/16)

Upper bound cont d6
Upper bound, cont’d

Consider the OBB at level i-4

S1 sphere concentric with S0 with radius √3 times the radius of S0 contains all the OBBs at level i-4

Continuing up to level I we get sphere S5 of radius √352ir(1+c/16) that contains the OBB at this level that contains all the 32 OBBs of level i-5 in its subtree

c must be such that

Upper bound cont d7
Upper bound, cont’d

finally we choose

Lower bound


Lower bound

parameter d

Lower bound a layer
Lower bound, a layer

  • a copy of a unit tranalted by


  • a layer:

    d/8 units

Lower bound overall construction
Lower bound, overall construction

  • a copy of a layer tranalted by


  • overall:

    d/8 layers

  • a unit consists of

    cn1/3 links

Lower bound overall construction cont d
Lower bound, overall construction, cont’d

  • there are c'n2/3 units at the level where the links of a unit are grouped together

  • the convex hull of each unit contains the point

    (2(d-1)r, (d-1)r, (d-1)r/4)

  • overall (n4/3) overlaps

Based on the papers

Based on the papers:

  • Lotan, F. Schwarzer, D. Halperin and J.-C. Latombe Algorithm and data structures for efficient energy maintenance during Monte Carlo simulation of proteinsJournal of Computational Biology 11 (5), 2004, 902-932.

  • Efficient maintenance and self-collision testing for kinematic chains, Proc. 18th ACM Symposium on Computational Geometry, Barcelona, 2002, pp, 43-52.