Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

Preview:

DESCRIPTION

Computation of Configuration-Space Obstacles Using the Fast Fourier Transform. by Lydia E. Kavraki p res. Rex Tien. Goal of the Study. To quickly calculate a configuration space bitmap from robot, obstacle information regardless of shape complexity - PowerPoint PPT Presentation

Citation preview

Computation of Configuration-Space Obstacles Using the Fast Fourier

Transform

by Lydia E. Kavrakipres. Rex Tien

Goal of the Study

• To quickly calculate a configuration space bitmap from robot, obstacle information regardless of shape complexity

– C-space bitmap: n-dim array, 1: collisions, 0: “free” space

– Useful for dynamic obstacles when C-space must be recalculated often

– Useful when robot or objects have complicated, non-convex shapes

Notation

• W: Workspace, Rn

• A: Robot, a rigid body in W

• B: Obstacle, a rigid body in W

• C: Configuration space of A

• q: Current configuration of robot

• A(q): subset of W occupied by A at configuration q

• CB: Mapping of B into C

Existing Algorithms

• Analytical Algorithms (results must be sent to a C-space constructor)– Generalized convex polygons: O(nA + nB)

– Nonconvex polygons: O(nA2nB

2log(nAnB))

– Locally nonconvex: O(nA2nB

2log(nAnB)), not locally nonconvex: O((nAnB + c)log(nAnB))

– Convex polyhedra: O(nA+nB+c)

– Any polyhedra: O(nA3nB

3log(nAnB))

• Bitmap Algorithms– Rectilinearly convex A and B: O(N)– Depend not on n of vertices but rather N size of bitmap

Creating C-space Bitmap (2D Case)

• Split W into NxN cells– W(i,j) = 1 if there is an obstacle in celli,j

• C-space is NxNxN binary array described by (x,y,θ), points correspond to W i,j and a different map for each θ

• For each (x,y,θ), A(x,y,θ)= 1 where robot body is present

Creating C-space, cont.

• C-space is free if:

• With fixed θ, A is only translating

• Subbing - a convolution:

Minkowski Difference!

Incorporating Fourier

Why FFT?

• It’s fast ( O(N logN))– Direct computation would take O(N4)

• Discrete

• Can be generalized to N dimensions

• Hardware implementation

• Popular algorithm

FFT vs. O(nA + nB)

Robot Shape FFT Method Geometric Method

Simple 90s 11s

Medium 91s 22s

Complex 91s 32s

FFT vs. O(N4)

• FFT is better in asymptotic performance

• With small robot mesh, Direct is faster – bitwise operations instead of

multiplication

• 90s vs…

Future Considerations

• Rotation not handled explicitly by method

• Inaccuracy of discrete Fourier

• Mesh has constant spacing– Why do we need dense mesh in empty space?

• Number of maps grows very large as robot complexity increases

Recommended