12
Computation of Configuration- Space Obstacles Using the Fast Fourier Transform by Lydia E. Kavraki pres. Rex Tien

Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

Embed Size (px)

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

Page 1: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

Computation of Configuration-Space Obstacles Using the Fast Fourier

Transform

by Lydia E. Kavrakipres. Rex Tien

Page 2: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

Page 3: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

Page 4: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

Page 5: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

Page 6: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

Creating C-space, cont.

• C-space is free if:

• With fixed θ, A is only translating

• Subbing - a convolution:

Minkowski Difference!

Page 7: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

Incorporating Fourier

Page 8: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform
Page 9: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

Page 10: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

FFT vs. O(nA + nB)

Robot Shape FFT Method Geometric Method

Simple 90s 11s

Medium 91s 22s

Complex 91s 32s

Page 11: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

FFT vs. O(N4)

• FFT is better in asymptotic performance

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

multiplication

• 90s vs…

Page 12: Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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