-
Notifications
You must be signed in to change notification settings - Fork 110
Description
Hi, I wanted to note that it can be desirable to throw rclcpp_action::exceptions::UnknownGoalHandleError or at least any kind of exception on cancelGoal() if the goal response has not arrived yet. In fact, I am relying on such a case in my application, because I want to make sure that the goal is canceled either way, so I wait until it has arrived and proceed with the cancellation. After merging #53, there is no way for me to detect if haltTree() ran into a problem or not. Before I did like below:
try {
tree.haltTree();
} catch (const rclcpp_action::exceptions::UnknownGoalHandleError& e) {
// If tree is halted directly after an action started, the goal response might not have been
// received yet. In this case we assume the goal is about to arrive and asynchronously retry to HALT
}I have a seperate ROS2 node that tries to halt the tree and doesn't know about when a RosActionNode published goal requests, so it is mandatory for this case to be detectable during halting the tree.
I am falling back to a previous commit, until this issue has been resolved.
Originally posted by @robin-mueller in #53 (comment)