-
Notifications
You must be signed in to change notification settings - Fork 367
[JTC] Non-0 velocity commanded after closed-loop execution #671
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
Comments
That's a good point, (b) is almost certainly not the desired behavior for closed loop effort control. So unless we have more info about how to prevent the race condition, we may just need to revert to 2.17.3 for the time being. |
Isn't the real source of the problem that After the PR you proposed, the action tests fail with a segmentation fault -> see #688, but I haven't found the explanation for that yet. |
@christophfroehlich you are right. Should we revert this merge? @bmagyar and I were probably too optimistic when agreeing to merge this. |
See #688 (comment) I'm not sure about the change introduced with #682 makes sense for itself, but tending to revert and bring #558 |
@christophfroehlich Apologies, I was out the past couple of weeks. I believe the PR that fixes #514 can fix this as well, but this issue specifically highlights successful execution (where #565 exposes successful executions to 514's issue by removing the previous behavior where the final trajectory waypoint was continuously commanded. So a PR that both fixes We'll continue to use our fork until said fix is back-ported to humble, and happy to help in any way to expedite that. |
fyi: #558 got merged, but first will be released to rolling/iron before an eventual backport to humble. |
While we're not on rolling, I did base our internal force gate controller off of the Rolling JTC, and it appears to solve the issue. Thanks! I think this can either be closed now or after a |
It'll be backported only after some feedback on the changes from the rolling branch.. |
Describe the bug
PR #565 sets
traj_point_active_ptr_
tonullptr
after trajectory execution to avoid a race condition.This changes the behavior of closed-loop execution from (a) continuously commanding the last trajectory waypoint, to (b) leaving the last interface command in place after the goal tolerance has been reached.
This leads to behavior where, if the goal tolerance has been reached with a non-0 velocity (likely in a closed-loop velocity-only command setting), we continue to command that velocity after reporting a successful execution.
If we with to maintain (b), we should explicitly command the final desired velocity when
traj_point_active_ptr_
becomes null, I'll submit a PR to this effect.To Reproduce
Steps to reproduce the behavior:
Expected behavior
Comment out L339.
Repeat previous steps. Observe 0 velocity after execution has been reported a success.
Screenshots
N/A
But I can provide video of our physical robot (a modified Kinova JACO2) if necessary.
Environment (please complete the following information):
ros-humble-joint-trajectory-controller
v2.20.0-1jammy.20230522.072811The text was updated successfully, but these errors were encountered: