tesseract_planning icon indicating copy to clipboard operation
tesseract_planning copied to clipboard

Allow setting minimum timestamp delta between trajectory points in Iterative Spline Parameterization

Open schornakj opened this issue 1 month ago • 5 comments

I ran into a situation where I needed to enforce that the differences between timestamps for consecutive trajectory points were all greater than some minimum threshold. Briefly, this is because some robot controllers can't execute trajectories with arbitrarily-fine time resolution and need to have (for example) at least a 1ms difference between each trajectory point.

One way to resolve this while ensuring that the trajectory is still smooth is to enforce this time delta threshold during the time parameterization stage. This lets us stretch out the trajectory between two waypoints if needed while ensuring that the robot's path for this trajectory segment follows the same positions but just at a slower speed.

I'm using ISP specifically so I only implemented this change there. I did add this parameter to the time parameterizer base class to allow implementing it elsewhere as well. Let me know if there's a better way to approach this, though.

I have to test this more thoroughly on my system and then update the branch to the latest state of main, so I'll keep this PR as a draft until I do both those things.

schornakj avatar Jan 06 '25 20:01 schornakj