Currently, trying to cancel a workcell task results in a NOOP if the task is being executed, and removing from the queue if it is not running yet. This behavior is embedded in the workcell orchestrator.
There might be types of workcells that can actually offer cancel a running task, so this should at least be configurable, two possible approaches:
Currently, trying to cancel a workcell task results in a NOOP if the task is being executed, and removing from the queue if it is not running yet. This behavior is embedded in the workcell orchestrator.
There might be types of workcells that can actually offer cancel a running task, so this should at least be configurable, two possible approaches:
Add a cancel method to
Capabilitythat will let users define a cancellation behavior. https://github.com/osrf/nexus/blob/main/nexus_capabilities/include/nexus_capabilities/capability.hppAllow users to specify a BT that the System / Workcell orchestrator should run upon cancellation.