-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Obstacle Layer is still current after enable/disable #4465
Comments
Hey, it would be nice if you call fill in the issue template as it is given. With the info regarding the distro, robot configs we can try to help you better.
Do you mean the planner is planning right through the obstacle? I right now tried placing an obstacle in front of the robot, when the obstacle layer was enabled, it just planned around and when disabled, it was just planning through the obstacle. |
@bektaskemal this is a good point. This is from a time before we had logic that checked if the total-costmap was current if each of the layers were current or the non-current layers were disabled #3356. So, the let you disable without making it non-current which was helpful when you wanted to toggle sources, which is often done in the sensor processing pipelines, but infrequently in the static/inflation layers. I think with the PR I linked to above, we can add in Can you open a PR and test that hypothesis? |
I quickly tested it and yes adding But because of the The potential solution I can think of, removing isEnabled check there and setting current true in
What do you think? |
I'm not totally following your description. If dynamic parameters sets I think we could make that change or just leave it, it doesn't make a functional impact? |
So for me the main idea is I want Currently for obstacle layer, isCurrent returns true after either enabled or disabled because current_ is not updated. If we make current_ false after disabled as you suggested, when we enabled it back isCurrent will return false which is nice. But my question was can we or should we get the same behavior after it is disabled? Now we still get isCurrent true after a layer disabled because disabled layers are not checked in |
If once |
Bug report
After
enabled
parameter is updated, layer plugins like static or inflation setscurrent
to false but obstacle layer doesn't? Is it a bug or is there a reason for it?As a result of this, planner server doesn't wait for costmap update if obstacle layer is disabled/enabled.
navigation2/nav2_costmap_2d/plugins/obstacle_layer.cpp
Line 311 in 9fbae3e
The text was updated successfully, but these errors were encountered: