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

Lost feedback on python actionclient #213

Open
Doomerdinger opened this issue Mar 2, 2023 · 2 comments
Open

Lost feedback on python actionclient #213

Doomerdinger opened this issue Mar 2, 2023 · 2 comments

Comments

@Doomerdinger
Copy link

If using the python action client, sometimes the last (1 or more) feedback message(s) can get lost if the goal is marked as completed before the feedback callback is triggered.

This appears to be an intentional decision as seen here, where the feedback callback is skipped if the commstate is done.

However, I do not see this issue when using the c++ client. The same code on the c++ side can be seen here, which does not appear to check if the goal is completed or not.

This causes issues on the python side if the feedback is significant and we want to ensure we receive all feedback the server sends.

If my understanding of the c++ functionally is correct, this seems to be a mistake on the python side.
If I can get some consensus here I will happily open a PR.

@Timple
Copy link

Timple commented Mar 3, 2023

Interesting that there is a discrepancy between c++ and python...

I do want to add a concern here. We send a lot of consecutive action goals. What I certainly would see a regression if feedback from a previous goal ended up while a new goal was send out.

Our feedback messages contain a progress. Now imagine we send out a new goal, but a 99.9% feedback message arrives from a previous goal. We would draw wrong conclusions from this...

On the other hand, if no new goal is active we don't mind receiving it.

Personally I always saw action feedback like I see (non-latched) topics. Information might be missed. Therefor we put all important info in the result of the action. But of course this does not have to hold for everyone.

@Doomerdinger
Copy link
Author

That's a good point.

Could potentially account for that using the goal_id.

Either way I'd just like it to be consistent across the two platforms which I do not think it is at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants