1 / 12

Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

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

nadine
Download Presentation

Computation of Configuration-Space Obstacles Using the Fast Fourier Transform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. Existing Algorithms • Analytical Algorithms (results must be sent to a C-space constructor) • Generalized convex polygons: O(nA + nB) • Nonconvex polygons: O(nA2nB2log(nAnB)) • Locally nonconvex: O(nA2nB2log(nAnB)), not locally nonconvex: O((nAnB+ c)log(nAnB)) • Convex polyhedra: O(nA+nB+c) • Any polyhedra: O(nA3nB3log(nAnB)) • Bitmap Algorithms • Rectilinearly convex A and B: O(N) • Depend not on n of vertices but rather N size of bitmap

  5. 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 NxNxNbinary array described by (x,y,θ), points correspond to Wi,jand a different map for each θ • For each (x,y,θ), A(x,y,θ)= 1 where robot body is present

  6. Creating C-space, cont. • C-space is free if: • With fixed θ, A is only translating • Subbing - a convolution: Minkowski Difference!

  7. Incorporating Fourier

  8. Why FFT? • It’s fast ( O(NlogN)) • Direct computation would take O(N4) • Discrete • Can be generalized to N dimensions • Hardware implementation • Popular algorithm

  9. FFT vs. O(nA + nB)

  10. FFT vs. O(N4) • FFT is better in asymptotic performance • With small robot mesh, Direct is faster • bitwise operations instead of multiplication • 90s vs…

  11. 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

More Related