Skip to content
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

Fix culling and delay implementation #86

Merged
merged 5 commits into from Sep 16, 2022
Merged

Conversation

mxgrey
Copy link
Contributor

@mxgrey mxgrey commented Sep 8, 2022

During intensive long-run testing, it was discovered that bad inputs from schedule participants can lead to harmful behavior in the traffic schedule. This PR helps in two ways

  • Excessive cumulative delays for schedule participants trigger the creation of new routes within the timeline storage so that older route information can be safely culled in a reasonable time.
  • The Participant API was changed to make it much easier to correctly set the cumulative delay, even in heavily async code.

Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
@codecov
Copy link

codecov bot commented Sep 8, 2022

Codecov Report

Merging #86 (c79026c) into main (dc17527) will decrease coverage by 0.07%.
The diff coverage is 19.25%.

@@            Coverage Diff             @@
##             main      #86      +/-   ##
==========================================
- Coverage   23.24%   23.17%   -0.08%     
==========================================
  Files         370      370              
  Lines       30751    30768      +17     
  Branches    14369    14372       +3     
==========================================
- Hits         7147     7129      -18     
- Misses      14106    14166      +60     
+ Partials     9498     9473      -25     
Flag Coverage Δ
tests 23.04% <19.25%> (-0.07%) ⬇️

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

Impacted Files Coverage Δ
..._traffic/include/rmf_traffic/schedule/Database.hpp 0.00% <ø> (ø)
...affic/include/rmf_traffic/schedule/Participant.hpp 0.00% <ø> (ø)
..._traffic/agv/planning/DifferentialDrivePlanner.cpp 44.86% <0.00%> (ø)
.../src/rmf_traffic/schedule/internal_Participant.hpp 100.00% <ø> (ø)
rmf_traffic/test/unit/agv/test_Negotiator.cpp 10.83% <0.00%> (-0.04%) ⬇️
rmf_traffic/test/unit/schedule/test_Mirror.cpp 14.06% <0.00%> (-0.36%) ⬇️
...mf_traffic/test/unit/schedule/test_Participant.cpp 11.27% <3.84%> (-1.26%) ⬇️
rmf_traffic/test/unit/schedule/utils_Database.hpp 17.85% <18.18%> (-3.36%) ⬇️
rmf_traffic/src/rmf_traffic/schedule/Database.cpp 49.12% <20.00%> (-3.52%) ⬇️
...f_traffic/src/rmf_traffic/schedule/Participant.cpp 52.57% <52.63%> (-5.72%) ⬇️
... and 6 more

Signed-off-by: Michael X. Grey <grey@openrobotics.org>
@mxgrey mxgrey mentioned this pull request Sep 10, 2022
Copy link
Member

@luca-della-vedova luca-della-vedova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Been doing a series of long high intensity tests and indeed this set of PRs helps increase the reliability a lot, thanks!

@luca-della-vedova luca-della-vedova merged commit 6594a26 into main Sep 16, 2022
@luca-della-vedova luca-della-vedova deleted the robust_to_bad_cull branch September 16, 2022 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants