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

Fix initializing quadratic trajectory in smoother #1482

Open
wants to merge 6 commits into
base: production
Choose a base branch
from

Conversation

Puttichai
Copy link
Collaborator

Background

When a parabolic trajectory segment is checked for constraint violation via CheckPathAllConstraints (in the function SegmentFeasible2 in parabolicsmoother), the resulting trajectory segment returned from the check function may be slightly different due to modifications from the check function. Parabolicsmoother handles this slight modification by

  1. computing the acceleration value that is the most consistent with the position and velocity boundary conditions (here) and
  2. if the computed acceleration value might violate the acceleration limit, the smoother does further adjustment by forcing the ramp's acceleration value to be the acceleration limit.

If the ramp is still consistent with the new acceleration value, then the ramp is accepted as valid.

Even though acceleration values of all ramps are computed and validated by the smoother, they are not getting written to the output trajectory.

Issue

When a trajectory output from parabolicsmoother is fed back as an input to parabolicsmoother (as part of different computation process, for example), during initialization of ramps, the smoother only does step 1 above (computing the acceleration values most consistent with the boundary conditions) but without the step 2 (adjusting acceleration value in case of limit violation).

This discrepancy between when the ramps were first produced by the smoother and when the ramps are being initialized anew from an OpenRAVE trajectory instance may lead to an error later on.

@rdiankov
Copy link
Owner

@cielavenir did you test for regressions? thanks

@cielavenir
Copy link
Collaborator

this branch has been tested at latest_test pipeline, and we ran some cycles as morning test

@cielavenir
Copy link
Collaborator

I ran some cycles at the real cell and I don't think there are issues

cc @ntohge


@Puttichai Is this still draft?

@Puttichai
Copy link
Collaborator Author

I ran some cycles at the real cell and I don't think there are issues

cc @ntohge

@Puttichai Is this still draft?

I have been running simulations with these changes and have not noticed any issues so far. So I'm changing the status to ready now. Thanks for helping check it @cielavenir

@Puttichai Puttichai marked this pull request as ready for review January 8, 2025 09:34
@Puttichai Puttichai changed the title Draft: Fix initializing quadratic trajectory in smoother Fix initializing quadratic trajectory in smoother Jan 8, 2025
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

Successfully merging this pull request may close these issues.

3 participants