Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rclcpp_action] Add public cancel goal method to server goal handle #884

Closed
wants to merge 1 commit into from

Conversation

jacobperron
Copy link
Member

This gives the option to cancel an active goal from the action server implementation.
In the context of action servers with a single-goal policy, this let's the server trigger
a cancel event upon receiving a new goal request.

See related discussion in #759

This gives the option to cancel an active goal from the action server implementation.
In the context of action servers with a single-goal policy, this let's the server trigger
a cancel event upon receiving a new goal request.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
@jacobperron jacobperron added the in review Waiting for review (Kanban column) label Oct 8, 2019
Copy link
Member

@wjwwood wjwwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jacobperron
Copy link
Member Author

I'm second guessing this change. The only difference between the CANCELED and ABORTED states is semantics: CANCELED implies the goal was preempted by an action client and ABORTED implies the goal was preempted by the action server. If we open up the possibility for an action server to trigger a cancel event, then it kind of removes the meaning of these states.

@wjwwood
Copy link
Member

wjwwood commented Oct 10, 2019

I'm second guessing this change. The only difference between the CANCELED and ABORTED states is semantics: CANCELED implies the goal was preempted by an action client and ABORTED implies the goal was preempted by the action server. If we open up the possibility for an action server to trigger a cancel event, then it kind of removes the meaning of these states.

I wasn't aware of the distinction. Seems like the server should just abort it? Fine by me.

@jacobperron
Copy link
Member Author

Seems like the server should just abort it? Fine by me.

Yes, though we then leave it up to the user to implement an intermediate state aborting if they want to ensure a previous goal is finished before starting the next one. I believe this is what's being done in navigation2's simple action server, but I'm not sure if it's necessary or if it is how common.

@clalancette clalancette deleted the jacob/server_goal_handle_cancel branch January 15, 2021 16:32
nnmm pushed a commit to ApexAI/rclcpp that referenced this pull request Jul 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in review Waiting for review (Kanban column)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants