LazySets.jl icon indicating copy to clipboard operation
LazySets.jl copied to clipboard

Implement GJK algorithm

Open mforets opened this issue 6 years ago • 9 comments

GJK (Gilbert-Johnson-Keerthi) is an algorithm that can be used for checking intersection between polytopes in v-rep (works in n-dimensions).

Refs:

mforets avatar Nov 20 '18 13:11 mforets

I think it is a classic algorithm in robotic for collision detection. Maybe you can find some example of it in this domain.

roccaa avatar Nov 20 '18 13:11 roccaa

The algorithm can return a certificate, which is useful when applied in a loop with similar sets.

If the positions in the new frame are close to those in the old frame, the algorithm will converge in one or two iterations. This yields collision detection systems which operate in near-constant time.

schillic avatar Apr 13 '19 12:04 schillic

Other Ref:

  • https://modiasim.github.io/Modia3D.jl/resources/documentation/CollisionHandling_Neumayr_Otter_2017.pdf

  • https://github.com/ModiaSim/Modia3D.jl/tree/9edc974cb97854a7e087f7da166ab58c0fac2597

ueliwechsler avatar Dec 28 '19 08:12 ueliwechsler

Thanks for the link! Interesting indeed.

mforets avatar Dec 28 '19 12:12 mforets

Other ref: https://swt.informatik.uni-freiburg.de/staff/bogom/resources/hscc2015-33

mforets avatar Jan 27 '20 11:01 mforets

Another reference: (contains a very nice tutorial) https://github.com/kroitor/gjk.c

mforets avatar Jan 29 '20 13:01 mforets

A Julia implementation:

  • https://github.com/JuliaRobotics/EnhancedGJK.jl
  • referenced from https://discourse.julialang.org/t/julia-interface-to-bullet-physics/12617/17

mforets avatar Jan 29 '20 13:01 mforets

That was not the end of the related packges, there is more :)

  • https://github.com/arlk/ConvexBodyProximityQueries.jl
  • https://github.com/arlk/CurveProximityQueries.jl

mforets avatar Feb 14 '20 16:02 mforets

This feature is now readily available through https://github.com/arlk/ConvexBodyProximityQueries.jl, which has LazySets as an optional dependency.

Hence, i'll add the "documentation" tag for this issue so that searching for "GJK" etc in the LazySets docs returns a pointer to that package.

mforets avatar Apr 10 '20 17:04 mforets