Fix Costmap Filters system tests #3098
Closed
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.
This PR fixes failing in CI
test_keepout_filter
,test_speed_filter_global
,test_speed_filter_local
tests.Basic Info
ghcr.io/ros-planning/navigation2:main
(Ubuntu 22.04, ros2 rolling), local testing at Ubuntu 20.04Description of contribution in a few bullet points
The following problems were detected on CircleCI testing with Costmap Filters system tests:
Problem1
During all Costmap Filters testcases run the following problem appear:
This appears due to double-attempt to configure already configured (by
navigation_launch.py
script)bt_navigator
node. Appeared since 35561ba. Removal ofbt_navigator
from the list of lifecycle nodes in testing scripts resolves the problem.Problem2
Adding the keepout zone to the global/local costmap for the

test_keepout_filter
test forces robot to plan on non-straight line around this zone. However, instead of bypassing of the obstacle on costmap, robot became to turn left/right in place as shown at the picture below:This behavior change is concerned with DWB part of 7872c73 commit, that increased default
prune_distance
parameter from1.0
to2.0
meters. It seems that robot tries to cut-down for the shortened distance between its actual start and pruned end point on the prepared local plan and is being getting stuck. Decreasing theprune_distance
back to the1.0
value restores robot normal behavior in keepout test (checked locally and on Docker container).Problem3
The problem appeared only on
FastRTPS
implementation fortest_keepout_filter
test . It concerned with that Keepout Filter fails to set the constmap filter info subscriber, does not receive the costmap filter info message, then misses filter mask and thus passes through keepout area. This is being indicating by following errors:This problem is most probably related to the #3014, which is yet to be resolved.
One
CycloneDDS
this issue was never detected.For Maintainers: