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

Add feedback to rejected action goal so the client can know why it was rejected #2231

Open
jlack1987 opened this issue Jul 3, 2023 · 4 comments
Labels
backlog enhancement New feature or request

Comments

@jlack1987
Copy link

Feature request

Feature description

When an action goal is sent to a server the server can reject it, but there is no way for the server to tell the client why it was rejected. I think at the very least allowing a string description of why the goal was rejected so the other side can decide what to do next.

@fujitatomoya
Copy link
Collaborator

fujitatomoya commented Jul 10, 2023

I think ROS 2 only returns true (accepted) or false (rejected) as underlying service SendGoalService internally. (saying user callback response is wrapped into the ROS service message.)

IMO, adding arbitrary message field would be useful for the application if we have full control for both service server and client implementation.

@jlack1987
Copy link
Author

Yeah the key motivation for the request is for my particular use case I have a controller providing action interfaces and a non-engineer operating the robot that is just clicking buttons that communicate with the actions. If the operator gives an invalid command I can reject it but I don't currently have a way to communicate to that operator why i've rejected the goal so it's confusing to them

@tgroechel
Copy link

Related to #2154

I think this brings up a more general discussion as to adding accept/reject reasons to any service that has a bool success field. Often I want it for client-side transparency (e.g., something along the lines of rclcpp_action::GoalResponse::REJECT{"reason for rejection"} equivalent) and think it would make the developer / user experience better.

To change this in action is likely a larger-ish lift (from the little I know) but worth the discussion (or if anyone has a link/reasons as to why this is a bad idea).

@clalancette
Copy link
Contributor

The original feature request seems reasonable; we'd just have to add a field to the messages that you would like to add this to.

There is a larger question of returning reject reasons to any service, but I think that is probably outside the scope of this issue.

@clalancette clalancette added enhancement New feature or request backlog labels Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants