fix(planner_manager): use LIFO policy in approved modules unregistering #3434
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The planner manager doesn't control the order of removing expired modules from approved modules but I'm sure that it is better to define removing policy.
Since the last added module's output path is generated from first added module's output, perhaps the last added module's output changes greatly if it removes the first added module at first. And I think that it is safer to remove modules based on Last In First Out rule.
In this PR, I use Last In First Out policy in unregistering logic.
On the other hand, when the lane change module finishes with
ModuleStatus::SUCCESS
, root lanelet and the input of first added module (module A in following fig) will be updated.This also causes large path change, so the manager waits for all module success, only when it removes lane change module.
Related links
Tests performed
[LC+Avoidance scenarios] All PASS
Notes for reviewers
Interface changes
Nothing
Effects on system behavior
Improve LC+Avoidance maneuver.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.