-
Notifications
You must be signed in to change notification settings - Fork 226
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
Attempt to fix the goal time violated issue #882
Attempt to fix the goal time violated issue #882
Conversation
@RobertWilbrandt might want to review this patch ? |
@fmauch and @RobertWilbrandt ? |
And again @fmauch and @RobertWilbrandt |
While I do see the issue you've pointed out (thank you for that by the way), I'm afraid I don't think this solution satisfies the controller's intentioned behavior regarding timing failures. I'm not sure whether we ever stated that clearly, it's definitively not inside the documentation, but
In fact, I wasn't able to generate any timing-related violation with the code from this PR. So, if we would use the "real" time passed when the trajectory is done, we should be at the desired goal. @firesurfer do you agree? Sidenote: The upstream code regarding tolerances will change soon so we can actually set the tolerances in the trajectory goal which will enable us to provide proper integration tests for this feature :-) |
Hi @fmauch I think the only thing we have to agree on is: What does a violated goal time mean if we scale down the trajectory execution. From my point of view the only reasonable answer is: The goal time has to be extended in the same way the trajectory has been scaled down. I think this patch implements this behavior. (See explanation below) The reason I created this patch was that the Scaled JTC on the main branch is currently not usable with a configured goal time - which is on the other hand needed if you want the JTC to actually reach its target within the specified goal tolerance. (This change was introduced a while ago in the upstream JTC - see: ros-controls/ros2_controllers#759) |
Yes, I am aware of the problems on the main branch and I agree we need to do something about it. As written above my understanding of goal time constraints when under scaling is different, but I do also understand that handling this differently to the checks during execution is somehow confusing. Since the current state isn't really functional I would be fine with going the approached way at least temporarily and reevaluate once we adapt to the mentioned upstream changes that will make this question much more relevant. |
Given that we use this patch in combination with #883 for multiple months now in our setup I think it is safe to merge :) |
@fmauch So whats the state with this PR? I saw in the ros2_control wg meeting document that you plan on upstreaming this controller rather sooner than later. From my point of view it would be desirable to have this issue fixed before any code is upstreamed. |
A friendly ping @fmauch :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As written above, let's go with that change for now until we figured out the final version inside ros2_controllers.
Thanks again @firesurfer for fixing this and for your persistence! |
Co-authored-by: Lennart Nachtigall <[email protected]> (cherry picked from commit 3f423ed)
Co-authored-by: Lennart Nachtigall <[email protected]> (cherry picked from commit 3f423ed)
Co-authored-by: Lennart Nachtigall <[email protected]> (cherry picked from commit 3f423ed) Co-authored-by: Lennart Nachtigall <[email protected]>
Co-authored-by: Lennart Nachtigall <[email protected]> (cherry picked from commit 3f423ed) Co-authored-by: Lennart Nachtigall <[email protected]>
This is the same as #880 but is based on main and does not include #871.
Tries to fix the issue described in #871 @fmauch