What I understand from the document is that: once we return
rclcpp_action::GoalResponse::ACCEPT_AND_EXECUTE from the
handle_goal (passed to the
create_server), then at some point, the
handle_accepted function will get called and we can perform the task inside the
But for cancelling the action, I am a little bit confused reading the document. From the document, it is written that:
- CANCELING - The client has requested that the goal be canceled and the action server has accepted the cancel request. This state is useful for any user-defined “clean up” that the action server may have to do.
But once we return
rclcpp_action::CancelResponse::ACCEPT in the function
handle_cancel (passed to the
create_server), what happen and what does the “CANCELING” state in the figure do? Where should we define the user-defined “clean up” function?