Algorithmic robotics and motion planning
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

Algorithmic Robotics and Motion Planning PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Algorithmic Robotics and Motion Planning

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

links

joints

chain, tree, graph

http://www.youtube.com/watch?v=k-VgI4wNyTo


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

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 (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

Benefits:

  • Many unnecessary overlap tests are avoided

  • No leaf node tested against itself


Self collision example

Self-collision: Example


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

1LOX

(1941 atoms)

1B4E

(969 atoms)

1SHG

(171 atoms)


Results protein backbones 1

Results: Protein backbones (1)

Single Joint Change


Results protein backbones 2

Results: Protein backbones (2)

10 Joint Changes


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 d2

Upper bound, cont’d


Upper bound cont d3

Upper bound, cont’d

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

YES!

  • 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

Proof:

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

d

Lower bound

parameter d


Lower bound one unit 3d links

Lower bound, one unit (3d links)


Lower bound a layer

Lower bound, a layer

  • a copy of a unit tranalted by

    (2r,-2r,0)

  • a layer:

    d/8 units


Lower bound overall construction

Lower bound, overall construction

  • a copy of a layer tranalted by

    (0,-2r,2r)

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


Algorithmic robotics and motion planning

THE END


  • Login