presentation by: eric ng cs326a: paper review spring 2003

31
“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments” Schwarzer, Saha, and Latombe Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Upload: dale-compton

Post on 02-Jan-2016

24 views

Category:

Documents


2 download

DESCRIPTION

“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments” Schwarzer, Saha, and Latombe. Presentation by: Eric Ng CS326A: Paper Review Spring 2003. Static Collision Checking. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in

Complex Environments”Schwarzer, Saha, and Latombe

Presentation by: Eric NgCS326A: Paper Review

Spring 2003

Page 2: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Static Collision Checking

• Static collision checking tests a single configuration of objects for overlaps.

Aj

Ai(q)

Page 3: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Dynamic Collision Checking

• Dynamic collision checking ensures that all configurations between A and B are collision-free.

• Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into length segments.

is user defined and is function of accuracy and calculation time.

Page 4: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Dynamic Collision Checking

• Dynamic collision checking ensures that all configurations between A and B are collision-free.

• Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into length segments.

is user defined and is function of accuracy and calculation time.

A

B

Page 5: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Fixed Resolution Collision Checker

• Dynamic collision checking ensures that all configurations between A and B are collision-free.

• Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into length segments.

is user defined and is function of accuracy and calculation time.

A

B

Page 6: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Fixed Resolution Collision Checker

• Dynamic collision checking ensures that all configurations between A and B are collision-free.

• Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into length segments.

is user defined and is function of accuracy and calculation time.

A

B

Page 7: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Fixed Resolution Collision Checker

• Dynamic collision checking ensures that all configurations between A and B are collision-free.

• Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into length segments.

is user defined and is function of accuracy and calculation time.

A

B

Page 8: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Drawbacks of Fixed Resolution Checking(1) determines accuracy. If isn’t fine enough,

collision at a point between checks will not be detected.

(2) Refining resolution improves accuracy, but calculation becomes more expensive.

q1

q2

q1

q2

Undetectedobstacle

Page 9: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Why Adaptive Dynamic Checking?

Adaptive Dynamic Checking offers:

(1) Ability to never miss collisions.

(2) And not costing much more than classical collision checking.

(3) Has one drawback: requires calculation of distances between objects, not just collision checking => can be computationally expensive. (Ameliorated with optimizations!)

Page 10: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Basis for Adaptive Dynamic Collision Checking

• The robot and obstacles are defined by: A1,…,An, whose placement in workspace is q=(q1,…,qn)

AjAi(q)

Page 11: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Basis for Adaptive Dynamic Collision Checking

• nij(q) is lower bound distance between Ai and Aj

(q)

AjAi(q)

Page 12: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Basis for Adaptive Dynamic Collision Checking

• nij(q) is lower bound distance between Ai and Aj

(q)

AjAi(q) Ai(q1)

i(q1,q2)

Aj(q2)

i(q1,q2) is upper bound path length of Ai from config 1 to 2.

Page 13: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Basis for Adaptive Dynamic Collision Checking

Ai

qa qb

i (qa,qb)

qb

qa

j (qa,qb)

Aj

If i (qa,qb) + j (qa,qb) < nij (qa) + nij (qb),

then there exists no collisions between qa and qb

nij (qa)

nij (qb)

Lemma

Page 14: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

What if Inequality Fails?• It does not mean there is a collision between “a”

and “b”!!

• Inequality only determines non-collisions.

• Collision is defined by zero distance between Ai and Aj, ie: nij=0.

Ai

qaqb

qbqa

Aj

nij(qb)=0

Page 15: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Adaptive Bisection of Paths

• Run Inequality test on path segment.

[PASS] = no collisions between qa and qb

qa qb

Page 16: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Adaptive Bisection of Paths

• Run Inequality test on path segment.

[PASS] = no collisions between qa and qb

[FAIL] = check if robot makes collision at qmid

If qmid doesn’t have a collision, recursively test both sub-segments until collision is found, or both sub-segments pass inequality test ==> never misses collision!

qa qbqmid

Run Inequality Test

Page 17: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Adaptive Bisection of Paths

• Run Inequality test on path segment.

[PASS] = no collisions between qa and qb

[FAIL] = check if robot makes collision at qmid

If qmid doesn’t have a collision, recursively test both sub-segments until collision is found, or both sub-segments pass inequality test ==> never misses collision!

qa qbqmid

Run Inequality Test

Page 18: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Calculating the terms in the Inequality

i (qa,qb) + j (qa,qb) < nij (qa) + nij (qb)

• But how do we get nij and i (qa,qb)?

Ai(q1)

i(q1,q2)

Aj(q2)

(q)

AjAi(q)

Page 19: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Computing Lower Bound Dist. Betw. Objects: nij

Algorithm GREEDY-DIST(Bi, Bj) = distance(Object i,Object j)

– If > 0, then return – Else, we need to investigate further

Object i

Half,i1

Leaf,i1 Leaf,i2

Half,i2

Object j

Half,j1

Leaf,j1 Leaf,j2

Half,j2

Page 20: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Computing Lower Bound Dist. Betw. Objects: nij

Algorithm GREEDY-DIST(Bi, Bj)

Object i

Half,i1

Leaf,i1 Leaf,i2

Half,i2

Object j

Half,j1

Leaf,j1 Leaf,j2

Half,j2

• Test both Half,j1 and Half,j2 against Object i – Dist1 = Greedy-Dist(Object I, Half,j1)– Dist2 = Greedy-Dist(Object I, Half,j2)

• Dist2 > 0 (stop in that search path)

• Dist1 !> 0 (need to continue further)

= 0 > 0 = 0

Page 21: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Computing Lower Bound Dist. Betw. Objects: nij

Algorithm GREEDY-DIST(Bi, Bj)

Object i

Half,i1

Leaf,i1 Leaf,i2

Half,i2

Object j

Half,j1

Leaf,j1 Leaf,j2

Half,j2

= 0 > 0 = 0

• Test Half,j1 against Half,i1 and Half,i2– Dist1 = Greedy-Dist(Half,j1, Half,i1)– Dist2 = Greedy-Dist(Half,j1,Half,i2)

• Both Dist1 and Dist 2 > 0 => DONE!

• Return min(dist1, dist2) as nij

Page 22: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Bounding Motion Calculation: i

q4

q2

q1

q3

A1

A2

A3

A4

D: dist by q3

L: length of eachrigid body

• 4 d.o.f. robot• 3 rotational and 1 prismatic joint• D is the max distance travelled by

Q3• L is the length of each rigid body

Page 23: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Bounding Motion Calculation: i

q1A1

1(qa ,qb ) L qa,1 qb,1

2(qa ,qb ) 2L qa,1 qb,1 L qa,2 qb,2

3(qa ,qb ) (2L D)qa,1 qb,1

(L D)qa,2 qb,2 qa,3 qb,3

4 (qa ,qb ) (3L D)qa,1 qb,1

(2L D)qa,2 qb,2 qa,3 qb,3

L qa,4 qb,4

Upper Bound Path LengthRigid Body

A1

Page 24: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Bounding Motion Calculation: i

q2

q1A1

A2

1(qa ,qb ) L qa,1 qb,1

2(qa ,qb ) 2L qa,1 qb,1 L qa,2 qb,2

3(qa ,qb ) (2L D)qa,1 qb,1

(L D)qa,2 qb,2 qa,3 qb,3

4 (qa ,qb ) (3L D)qa,1 qb,1

(2L D)qa,2 qb,2 qa,3 qb,3

L qa,4 qb,4

Upper Bound Path LengthRigid Body

A1

A2

A3

A4

Page 25: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Bounding Motion Calculation: i

q2

q1

q3

A1

A2

A3

1(qa ,qb ) L qa,1 qb,1

2(qa ,qb ) 2L qa,1 qb,1 L qa,2 qb,2

3(qa ,qb ) (2L D)qa,1 qb,1

(L D)qa,2 qb,2 qa,3 qb,3

4 (qa ,qb ) (3L D)qa,1 qb,1

(2L D)qa,2 qb,2 qa,3 qb,3

L qa,4 qb,4

Upper Bound Path LengthRigid Body

A1

A2

A3

A4

Page 26: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Example of Bounding Motion Calculation: i

q4

q2

q1

q3

A1

A2

A3

A4

1(qa ,qb ) L qa,1 qb,1

2(qa ,qb ) 2L qa,1 qb,1 L qa,2 qb,2

3(qa ,qb ) (2L D)qa,1 qb,1

(L D)qa,2 qb,2 qa,3 qb,3

4 (qa ,qb ) (3L D)qa,1 qb,1

(2L D)qa,2 qb,2 qa,3 qb,3

L qa,4 qb,4

Upper Bound Path LengthRigid Body

A1

A2

A3

A4

Page 27: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Conclusions

• Adaptive Bisection Collision Checker is an efficient and robust way to determine if a proposed path is collision-free.

• Even though it is efficient, there is room for improvement. For example, path lengths are overly conservatively computed.

• Bisection method may not be most efficient solution when obstacle is always closeby the robot.

Page 28: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Optimizing the Process

• Let Q be the priority queue containing elements objects being checked.

• If the path segment is collision-free, then the ordering of Q has no impact on running time. But for a colliding path, the calculation can complete as soon as collision is found => ordering matters.

• Since longer path lengths have higher probability of collision, Q is presorted by decreasing path lengths to potentially find collisions earlier.

Page 29: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Comparative Experiment

Robot: 2,502 trianglesObstacles: 432 Triangles

SBL 17 secA-SBL 4.8 sec

SBL: PRM planner (single-query, bi-directional, lazy in cc) with fixed-discretization collision checkerA-SBL: Same planner, with new collision checkerExperiment: • Run SBL 10 times on same planning problem with some resolution • If a collision has been missed, reduce and repeat• If no collision has been missed, return average planning time• Run A-SBL 10 times and return average planning time

Slide courtesy Latombe,2003

Page 30: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

More Results

Robot: 2,502 trianglesObstacles: 432 Triangles

SBL 17 secA-SBL 4.8 sec

Robot: 2,991 trianglesObstacles: 74,681 triangles

SBL 1.20 secA-SBL 0.81 sec

Robot: 2,991 trianglesObstacles: 432 Triangles

SBL 83 secA-SBL 44 sec

Robot: 2,502 trianglesObstacles: 34,171 triangles

SBL 3.2 secA-SBL 2.1 sec

Robots: 6 x 2,991 trianglesObstacles: 19,668 triangles

SBL 85 secA-SBL 52 sec

Page 31: Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Summary

• Adaptive bisection collision checker is a reliable and effective way to test straight line segments.

• Advantages over fixed resolution checker:– Never miss a collision– Eliminates need for determining resolution factor:

• Determines whether subsections (“i” and “j”) of objects collide when moving from configuration “a” to “b”

i (qa,qb) + j (qa,qb) < nij (qa) + nij (qb), does not collide– Requires lower bound distances between two bounding volumes

(BVs) i & j at configs “a” & “b”– Requires upper bound distances in path lengths of objects i & j from

config “a” to “b”• Inequality is performed on BVH binary tree until collision is found, or

tree is fully traversed…leading to no collisions found