randomized approaches to motion-planning problem hennadiy leontyev the university of north carolina...

33
Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Upload: victor-peters

Post on 11-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Approaches to Motion-Planning Problem

Hennadiy Leontyev

The University of North Carolina at Chapel Hill

Page 2: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Talk Outline

• Brief review of path-planning.• Rapidly-growing Random Trees.• Randomized Roadmaps.• Ariadne’s Clew algorithm.• Conclusion.

Page 3: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Configuration Space Model

• Path planning is usually performed in configuration space C.

• Path is a subset of Cfree.• Explicit representation

of free space Cfree is not usually available.

• We can test whether certain configuration q is in Cfree.

Real World

Start

Configuration Space is a bizarre 3D manifold R2xS!

?

Finish

Page 4: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Aspects of Path-Planning

• Dynamic or static?• Single-query or multiple-query?• How fast should it be?• Randomized or complete?

Page 5: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Talk Outline

• Brief review of path-planning.• Rapidly-growing Random Trees [1].• Randomized Roadmaps [2].• Ariadne’s Clew algorithm [3].• Conclusion.

Page 6: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Basic (the algorithm)• BUILD-RRT constructs a tree of

sample points in Cfree, which is rooted at initial configuration.

• The procedure RandomConfig returns a random point from Cfree

• The procedure EXDEND spans the tree as much as possible to given direction.

• The procedure NEW-CONFIG is a local movement planning function.

BUILD-RRT(qinit) T.init(qinit) for i=1 to K do qnext=RandomConfig() EXTEND(T,qnext) return T.

EXTEND(T,q) qnear=NEAREST-NEIGHBOR(T,q) If NEW-CONFIG(q,qnear,qnew) Then T.addVertex(qnew) T.addEdge(qnear,qnew) If qnew=q Then return Reached Else return Advanced

Page 7: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Basic (in action)

qinit

An obstacle

qnear q

qnew

Configurations in the tree

Goal configuration

e

EXTEND advances to the distance at most e

Page 8: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Connect (the algorithm)

• Extends RRT-basic.

• Uses two trees Ti

and Tg to find the path.

• Aggressive tree expansion.

CONNECT(T,q) repeat S=EXTEND(T,q) until S!=Advanced

RRT-CONNECT(qinit,qgoal) Ti.init(qinit); Tg.init(qgoal) for j:=1 to K do qrand :=RANDOM-CONFIG() If EXTEND(Ti, qrand)!=Trapped Then If CONNECT(Tg,qnew)=Reached Then

return PATH(Ti,Tg) SWAP(Ti,Tg) return Failure

Page 9: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Connect (in action)

qinit

qnew

qgoal

qrand

Ti

Configurations in the tree Ti

Goal configuration

Initial configuration

Configurations in the tree Tg

Tg

Page 10: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Connect (performance)

In RRT-Basic search is biased by large Voronoi regions. The treecovers unexplored space rapidly.

Two search trees of RRT-Connectare growing towards each other

Page 11: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Connect (performance)• 270 MHz Silicon O2

workstation.• ~1 sec. to find a

solution for examples on the right.

• Grand Piano moving problem (4500 triangles) was solved in 12 sec.

• Virtual chess player arm modelled as 7-DOF kinematic chain and 8000 triangles required 2 sec to move a figure.

Page 12: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

RRT-Connect (conclusion)

• Does not require parameter tuning.• Preprocessing is not required.• Simple and consistent behavior is

observed.• The method is well-suited for

incremental distance computation and nearest-neighbor algorithms.

Page 13: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Talk Outline

• Brief review of path-planning.• Rapidly-growing Random Trees [1].• Randomized Roadmaps [2].• Ariadne’s Clew algorithm [3].• Conclusion.

Page 14: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (the algorithm)

• Planning is also performed in C-space.

• Sample points are generated on obstacle surfaces δCfree

(collision detection algorithms are heavily used) .

• These sample points are then connected to a roadmap.

S={si}-obstacles in real-worldS’={si’}-obstacles in C-spaceVi – candidate nodesV - final set of nodes

For each object si’ in S’ do Vi:=GenerateRandomPoints(si’) V:=V+Vi

For each p in V do For each sj’ in S’ do If sj’.contains(p) Then

V:=V-pBUILD-ROADMAP(V)

Page 15: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (sampling)

• Find an origin point o inside the object.

• Generate m uniformly distributed directions.

• Use binary search to identify boundaries.

+ Rather simple implementation.

- Not good for “thin” objects.

Candidate points

Object boundaries

o

Page 16: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (improvements)

• How do we select a center?• How do we deal with “thin” objects?• What happens if the object has folds?

Page 17: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (selecting object center)

od2

d1

Random origin is bad:the distance between sample points is uneven.

Center point

Object boundaries

Using the center of masses as an origin within the object

o

d2

d1

Bad news: Needs more time for preprocessing and fast algorithms.

Page 18: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (dealing with “thin” objects)

For “thin” objects no selection oforigin will give good distribution.

od2

d1

Sample points

Object boundaries

Origin

Bad news: Requires knowledge ofobject topology and more preprocessing time.

od2

d1

Auxiliary points

Use auxiliary points to cover spaces.

Page 19: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (dealing with foldings)

If we know that the object “folds” this does nothelp to avoid complex computations.

Sample points

Object boundaries

Origin

o

Page 20: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (building the roadmap)

• Connect samples from different objects using a local planner.– How accurate the map

should be?– What resources do we

have to build the map?– This affects the number

of connections (usually a tradeoff).

• Identify connected components.

• Build “corridors” that determine collision-free paths in C-space

Boundary points

Collision-free route

Page 21: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (planning)

• Connect start and finish nodes with a roadmap by simple or random planner

• Identify the path between roadmap points

• Build the full path.Boundary points

Collision-free route

q0 – start configuration

qgoal – goal

Page 22: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (performance)

• 100 MHz MIPS R4600.

• 6-DOF articulated robot with fixed base.

E1 – five objects E2-5 – two objectswith a narrow passage

Time to connect configurations is near 1/100 of a second.

Page 23: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Randomized Roadmaps (conclusion)

• Multiple planning queries could be served quickly.

• The preprocessing could be parallelized.• The complexity of the map depends on the

number of obstacles (may be huge for cluttered environments).

• Significant amount of preprocessing is required.

• Taking good sample points is a non-trivial task.

Page 24: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Talk Outline

• Short definitions of path-planning.• Rapidly-growing Random Trees [1].• Randomized Roadmaps [2].• Ariadne’s Clew algorithm [3].• Conclusion.

Page 25: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (the algorithm)

• Search is performed in trajectory space (a1,r1,a2,r2,…al,rl) which leads to ql – this path has k*l steps in it, where k is the number of DOF.

• Exists a distance function d(ql,qgoal) .

• The combination of two routines: SEARCH and EXPLORE

• SEARCH attempts to find a configuration that minimizes the distance to the goal.

• EXPLORE attempts to approximate free space by a set of landmarks to which the path of l steps is known.

a1

a2

a3

al

r1

r2

r3

ql

q0

q0 Initial configuration

ql Final configurationai Rotation angle

ri Distance in the world

Page 26: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (search)

qj

qgoal

q0

minl d(ql,qgoal)

Goal configuration

Min distance configuration

Non-mins

+Tries to find a configuration with minimal distance to the goal.-- Could be trapped in local minima-- Length of trajectories may be too small

Attempts to find a path of l steps length that minimizes distance minR

l d(ql,qgoal) to the goal.

qk

qj

ql

Page 27: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (explore)

• Path from initial position to any landmark is known.

• Landmarks are spread uniformly in C.

• The procedure finds a configuration which maximizes the distance and path no longer than l.

+ Approximates free space by a set of landmarks

--Knows nothing about the goal

maxl d(ql,L)

New landmark

Previously set landmarks L

ql

Page 28: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (in action)ALGORITHM-ARIADNE(q0,qgoal,r) i:=1; λi=q0

Li={λi};e=infinity while(e>r) /* Run local planner SEARCH */ if( minl d(qgoal,ql)=0) Then return Path else /* Place new landmark with

EXPLORE*/ i:=i+1 λi:=q:supl d(Li-1,ql) Li:=Li-1+ {λi} e=d(Li-1, λi) L=Li

return NO PATH

Landmark (given by EXPLORE)

Config found by SEARCH

Initial config

Goal configuration

Page 29: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (performance)

• Two 6-DOF arms are used. One arm is a robot, the other performs random movements.

• Meganode of 128 T800 (25MHz) transputers is used to make planning.

• Parallel genetic algorithm implementation.– Trajectories are Manhattan paths of order 2. R12 for

SEARCH and (i,R12) for EXPLORE.– Each DOF is discretized with 9 bits.– Max number of landmarks 256.– All possible data is encoded with 119 bit strings.

Page 30: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

1. Generate a random movement for Robot B

2. Send the position of B and desired position of A to the Meganode.

3. Get planned path for A from the Meganode and execute it.

4. Wait for a random time and stop A, goto 1.

The mean time to compute a single path for the new environment is 1.5 sec.

Page 31: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Ariadne’s Clew (conclusion)

• SEARCH and EXPLORE could work in parallel over the same set of landmarks.

• Thus the performance of the algorithm is improved greatly by using parallel search and collision-detection.

• Constraints might not be only obstacles but rather arbitrary constraints on paths.

• Experiments showed that the algorithm performs well in realistic dynamic environments.

Page 32: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

Conclusion

RRT Randomized Roadmaps

Ariadne’s Clew

Number of queries

Single Multiple Single

Preprocessing No Yes No

Is dynamic Barely No Yes

Implementation complexity

Low High Medium

Parallelizable No Yes Yes

Page 33: Randomized Approaches to Motion-Planning Problem Hennadiy Leontyev The University of North Carolina at Chapel Hill

References• [1] Kuffner J.J. Jr. and LaValle S.M. “RRT-connect: An efficient

approach to single-query path planning.” In Proceedings of the ’00. IEEE International Conference on Robotics and Automation, vol. 2 pages 995-1001, April 2000.

• [2] Amato N.M and Wu Y. “A randomized roadmap method for path and manipulation planning.”, In Proceedings of the 1996 International Conference on Robotics and Automation, vol. 1, pages 113—120, April 1996.

• [3] Jean Manuel Ahuactzin, Emmanuel Mazer and Pierre Bessiere “The ariadne’s clew algorithm.”, Journal of Artificial Intelligence Research, 9, 1998.

• Steven LaValle. “Planning Algorithms.”, Cambridge University Press, 2006.