Skip to content

User provided callback for failed Actions #1192

@pascalauroboa

Description

@pascalauroboa

The current Action API allows users to only access the result directly if the action was successful. In case of an abort or cancel the failedCallback is called, which is user supplied but only gets the response as a string. This makes it difficult to parse the action result to report cause or a more detailed feedback why the action was unsuccessful. This behaviour has been introduced by #1103. Is this intentional? The action clients implemented in rclcpp supply a WrappedResult type to the callback which basically includes the GoalStatus (code field) as well as the field values, which is the Result type as defined in the .action file.

I am happy to contribute a fix if I can get guidance on how the API should look like.
Ideally both the the GoalStatus as well as the Response should be function argument of the user callback to offer as much insight as possible.

As a proposed solution I could revert to the previous behaviour where resultCallback is called regardless of Status and supply the GoalStatus as an additional input to the resultCallback signature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions