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

Can I force phase synchronization? #73

Open
mqnc opened this issue Sep 28, 2021 · 2 comments
Open

Can I force phase synchronization? #73

mqnc opened this issue Sep 28, 2021 · 2 comments
Labels
enhancement New feature or request

Comments

@mqnc
Copy link

mqnc commented Sep 28, 2021

I am using ruckig to control our robot. I want to be sure that the interpolation result is a straight line in joint space and I thought that this is what phase synchronization is for. However, I always obtain a curve in joint space, even if I have 0 velocity and acceleration at start and target.

The source says

Phase, ///< Phase synchronize the DoFs when possible, else fallback to "Time" strategy

but could you elaborate on "when possible"?

Is there a way to enforce phase synchronization even if it makes the result a bit slower?

The alternative I see is to project all limits onto my target direction in joint space and perform a 1D interpolation. Would you recommend this?

@pantor
Copy link
Owner

pantor commented Sep 28, 2021

Hi @mqnc,

first of all, please try again with the latest commit! Ruckig was indeed too strict for deciding when phase synchronization is possible, but that should be fixed now.

Anyway, one necessary condition for phase synchronization is that the input and target velocities and accelerations are collinear (which of course is fulfilled with 0 velocity and acceleration). This becomes a sufficient condition when the trajectory does not need to be time-optimal, otherwise the velocity and acceleration limits need to allow phase synchronization as well. Ruckig currently does only consider time-optimal trajectories for phase synchronization, so there is no way to enforce this by now. But I agree this would be useful feature. Projecting all limits onto the target direction and then using Ruckig for 1 DoF is definitely possible.

Btw, you are IPR alumnus, aren't you?

@mqnc
Copy link
Author

mqnc commented Sep 28, 2021

Thanks for the quick response!
Yes I am! :D I will drop you an email.

@pantor pantor added the enhancement New feature or request label Sep 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants