You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
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
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).
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.
The text was updated successfully, but these errors were encountered: