-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds gjk tolerance to the CollisionRequest #283
Adds gjk tolerance to the CollisionRequest #283
Conversation
+@sherm1 for review, please. Review status: 0 of 4 files reviewed at latest revision, all discussions resolved. Comments from Reviewable |
It's worth noting that FCL's master branch doesn't currently build with The CI failures are the usual Mac suspects; no new problems. Reviewed 4 of 4 files at r1. include/fcl/narrowphase/collision_request.h, line 50 at r1 (raw file):
BTW period missing here and in several briefs below. include/fcl/narrowphase/collision_request.h, line 68 at r1 (raw file):
BTW will -> we'll ? or CollisionRequest will return ? test/test_fcl_collision.cpp, line 843 at r1 (raw file):
BTW Per f2f, I think you should include a comment here saying that you would have preferred to test for better answers but had trouble getting libccd to behave reasonably. test/test_fcl_collision.cpp, line 886 at r1 (raw file):
BTW please consider "loose_" and "tight_tolerance" here -- "low" and "high" can be ambiguous since low is actually the larger number. BTW "high" seems too tight for any non-trivial algorithm to achieve. I'd suggest ε^(7/8) (≈ 10⁻¹⁴ in double) as the most you could really ask for. Comments from Reviewable |
83ce4a5
to
c97fd7f
Compare
Comments addressed. PTAL. Review status: 2 of 4 files reviewed at latest revision, 4 unresolved discussions. include/fcl/narrowphase/collision_request.h, line 50 at r1 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done For the record, I intentionally omitted periods because these aren't sentences. They are noun phrases. However, I did a bit of homework and decided these can be considered "sentence fragments" if they end with punctuation. While sentence fragments were considered a sin by my third-grade teacher, they are not incorrect in an absolute sense. So, I've added periods. include/fcl/narrowphase/collision_request.h, line 68 at r1 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done I'd left this alone as I didn't actually know the semantics. But I'll go out on a limb for the sake of grammatical correctness. test/test_fcl_collision.cpp, line 843 at r1 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done test/test_fcl_collision.cpp, line 886 at r1 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done Comments from Reviewable |
Reviewed 2 of 2 files at r2. include/fcl/narrowphase/collision_request.h, line 50 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
No change to this one? test/test_fcl_collision.cpp, line 899 at r2 (raw file):
BTW should be result_loose/tight to match previous change. Comments from Reviewable |
Sets the tolerance in the request and propagate it through to the solvers. NOTE: This does *not* provide the same functionality for continuous collision request.
c97fd7f
to
fccaeb8
Compare
Review status: 2 of 4 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed. include/fcl/narrowphase/collision_request.h, line 50 at r1 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done Just checking to see if you were paying attention...errr...yeah. test/test_fcl_collision.cpp, line 899 at r2 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done Comments from Reviewable |
All good! Reviewed 2 of 2 files at r3. Comments from Reviewable |
Sets the tolerance in the request and propagate it through to the solvers.
Only a single tolerance is exposed through the
CollisionRequest
interface because there is only a single tolerance value forlibccd
. So, for theindep
the single tolerance is applied to both gjk and epa algorithms.This PR includes:
CollisionRequest
.GJKSolver_*
.CollisionRequest
struct.CollisionRequest
produces different (better?) answers.NOTE: This does not provide the same functionality for continuous collision request.
Fixes #280
This change is