-
Notifications
You must be signed in to change notification settings - Fork 1
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
Enable reaction to planner failure in the planner logic #3
Enable reaction to planner failure in the planner logic #3
Conversation
Multiple consecutive hybrid planning requests seem to work. The is no maximum amount of retries or timeout anymore when using the hybrid planner. |
...ros/hybrid_planning/global_planner/global_planner_component/src/global_planner_component.cpp
Outdated
Show resolved
Hide resolved
...d_planning_manager_component/include/moveit/hybrid_planning_manager/hybrid_planning_events.h
Show resolved
Hide resolved
...d_planning_manager_component/include/moveit/hybrid_planning_manager/hybrid_planning_events.h
Show resolved
Hide resolved
.../hybrid_planning/hybrid_planning_manager/planner_logic_plugins/src/single_plan_execution.cpp
Outdated
Show resolved
Hide resolved
...d_planning_manager_component/include/moveit/hybrid_planning_manager/hybrid_planning_events.h
Outdated
Show resolved
Hide resolved
...d_planning_manager_component/include/moveit/hybrid_planning_manager/hybrid_planning_events.h
Outdated
Show resolved
Hide resolved
@JensVanhooydonck I think it's important to note, this is a demo. It's not really meant to be perfectly polished and capable of handling all edge cases. With that said, I think the way to handle repeated global planning failures is similar to this commit. Basically it added a failure count for the local planner and aborts if STUCK_ITERATIONS_THRESHOLD is exceeded. I think you could do something really similar in the global planner plugin ( Is that the way you would suggest to handle repeated global failures, @sjahr? |
@JensVanhooydonck thanks a lot for verifying that this works! |
Thanks @sjahr! I'll merge it. If @JensVanhooydonck still has an issue we can fix it in the main PR or do a followup PR later. |
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments Don't const& for built-in types Co-authored-by: Tyler Weaver <[email protected]>
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments Don't const& for built-in types Co-authored-by: Tyler Weaver <[email protected]>
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments Don't const& for built-in types Co-authored-by: Tyler Weaver <[email protected]>
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments Don't const& for built-in types Co-authored-by: Tyler Weaver <[email protected]>
* Add unsuccessful action Hybrid Planning events and handle them in logic * Replace std::once with simple bool variable * Remove unneeded variable and update comments Don't const& for built-in types Co-authored-by: Tyler Weaver <[email protected]>
Description
I've addressed the inability to react in the logic to a failure of the global/local planner action by adding additional Hybrid Planning events. This way it is possible to define the reaction to those events in the planner logic plugin and make it easy to customize this behavior.
Additionally, I fixed the issue @JensVanhooydonck mentioned in moveit#763 that it is not possible to send multiple consecutive hybrid planning requests by simply adding a bool flag.
@AndyZe and @JensVanhooydonck can you verify that this works?
Checklist