diff --git a/mros2_reasoner/mros2_reasoner/ros_reasoner.py b/mros2_reasoner/mros2_reasoner/ros_reasoner.py index bf3f8c3..f7b011d 100644 --- a/mros2_reasoner/mros2_reasoner/ros_reasoner.py +++ b/mros2_reasoner/mros2_reasoner/ros_reasoner.py @@ -115,19 +115,22 @@ def set_initial_fd(self, initial_fd): def objective_cancel_goal_callback(self, cancel_request): self.get_logger().info("Cancel Action Callback!") # Stop reasoning - self.hasObjective = False + if (cancel_request.qos_expected is None): # Checks if there are previously defined objectives. for old_objective in self.reasoner.search_objectives(): self.reasoner.remove_objective(old_objective.name) + self.hasObjective = False return CancelResponse.ACCEPT else: if self.reasoner.remove_objective(cancel_request.qos_expected.objective_id): self.get_logger().info("Objective Cancelled") + self.hasObjective = False return CancelResponse.ACCEPT else: self.get_logger().info("Not found") return CancelResponse.REJECT +