ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Tbh, personally I find it really weird a random client can cancel all goals currently being processed by an action server, but it appears it's part of the service spec (from here):
# Cancel one or more goals with the following policy: # # - If the goal ID is zero and timestamp is zero, cancel all goals. # - If the goal ID is zero and timestamp is not zero, cancel all goals accepted # at or before the timestamp. # - If the goal ID is not zero and timestamp is zero, cancel the goal with the # given ID regardless of the time it was accepted. # - If the goal ID is not zero and timestamp is not zero, cancel the goal with # the given ID and all goals accepted at or before the timestamp.
I've not checked it, but from the documentation, it would appear submitting a new goal with ID 0
and stamp 0
would result in all goals getting cancelled.
You might even be able to achieve the same thing by invoking the (hidden) service which is used to submit goals directly.
2 | No.2 Revision |
Tbh, personally I find it really weird a random client can cancel all goals currently being processed by an action server, but it appears it's part of the service spec (from here):
# Cancel one or more goals with the following policy: # # - If the goal ID is zero and timestamp is zero, cancel all goals. # - If the goal ID is zero and timestamp is not zero, cancel all goals accepted # at or before the timestamp. # - If the goal ID is not zero and timestamp is zero, cancel the goal with the # given ID regardless of the time it was accepted. # - If the goal ID is not zero and timestamp is not zero, cancel the goal with # the given ID and all goals accepted at or before the timestamp.
I've not checked it, but from the documentation, it would appear submitting a new goal with ID 0
and stamp 0
would result in all goals getting cancelled.
You might even be able to achieve the same thing by invoking the (hidden) service which is used to submit goals directly.
3 | No.3 Revision |
Tbh, personally I find it really weird a random client can cancel all goals currently being processed by an action server, but it appears it's part of the service spec (from here):
# Cancel one or more goals with the following policy: # # - If the goal ID is zero and timestamp is zero, cancel all goals. # - If the goal ID is zero and timestamp is not zero, cancel all goals accepted # at or before the timestamp. # - If the goal ID is not zero and timestamp is zero, cancel the goal with the # given ID regardless of the time it was accepted. # - If the goal ID is not zero and timestamp is not zero, cancel the goal with # the given ID and all goals accepted at or before the timestamp.
I've not checked it, but from the documentation, it would appear submitting a new goal with ID 0
and stamp 0
would result in all goals getting cancelled.
You might even be able to achieve the same thing by invoking the (hidden) service which is used to submit goals directly.
That should be doable using ros2 service ...
.
4 | No.4 Revision |
Tbh, personally I find it really weird a random client can cancel all goals currently being processed by an action server, but it appears it's part of the service spec (from here):
# Cancel one or more goals with the following policy: # # - If the goal ID is zero and timestamp is zero, cancel all goals. # - If the goal ID is zero and timestamp is not zero, cancel all goals accepted # at or before the timestamp. # - If the goal ID is not zero and timestamp is zero, cancel the goal with the # given ID regardless of the time it was accepted. # - If the goal ID is not zero and timestamp is not zero, cancel the goal with # the given ID and all goals accepted at or before the timestamp.
I've not checked it, but from the documentation, it would appear submitting a new goal with ID 0
and stamp 0
would result in all goals getting cancelled.cancelled (this is actually how async_cancel_all_goals(..) is implemented.
You might even be able to achieve the same thing by invoking the (hidden) service which is used to submit goals directly.
That should be doable using ros2 service ...
.