Upload
chase-torres
View
23
Download
2
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
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