open-rmf / rmf_traffic

Traffic management libraries for RMF
Apache License 2.0
28 stars 26 forks source link

Fixing bugs in FCL conservative advancement implementation #61

Closed mxgrey closed 2 years ago

mxgrey commented 2 years ago

It seems that the FCL implementation of conservative advancement for two splines has a few bugs in it that allow the conservative advancement algorithm to overshoot. This PR fixes it for the internal version of FCL used by rmf_traffic. I'll also be submitting a PR to the upstream FCL to fix it likewise there.

codecov[bot] commented 2 years ago

Codecov Report

Merging #61 (3e859bc) into main (8941e06) will decrease coverage by 0.00%. The diff coverage is 45.00%.

@@            Coverage Diff             @@
##             main      #61      +/-   ##
==========================================
- Coverage   22.12%   22.11%   -0.01%     
==========================================
  Files         357      357              
  Lines       29154    29168      +14     
  Branches    13315    13328      +13     
==========================================
+ Hits         6449     6450       +1     
+ Misses      13768    13767       -1     
- Partials     8937     8951      +14     
Flag Coverage Δ
tests 22.11% <45.00%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ude/fcl/math/motion/tbv_motion_bound_visitor-inl.h 26.66% <ø> (ø)
.../detail/conservative_advancement_func_matrix-inl.h 67.35% <ø> (ø)
rmf_traffic/test/unit/test_Conflict.cpp 21.45% <21.42%> (-0.41%) :arrow_down:
...ty/fcl/include/fcl/math/motion/spline_motion-inl.h 61.39% <100.00%> (ø)
...hape_conservative_advancement_traversal_node-inl.h 96.00% <100.00%> (ø)
.../detail/primitive_shape_algorithm/sphere_box-inl.h 54.76% <0.00%> (-2.39%) :arrow_down:
.../detail/convexity_based_algorithm/gjk_libccd-inl.h 20.18% <0.00%> (ø)