I am doing research on robot trajectory planning. Specifically, trajectory planning through waypoints. Basically, I have a set of waypoints and I need to generate a trajectory that passes through those positions. Thus, I know that is possible to achieve that with moveIt and I would like to understand the concept behind. How is it done? Is done by cubic/quintic polynomial functions between every 2 positions? Spline functions?
MoveIt has a few different “time parameterization” algorithms that smooth the motion between waypoints. After the path planner finds a series of waypoints, time parameterization fills in the velocities and accelerations between waypoints. The best open source time parameterization algorithm we have right now is called TOTG (Time Optimal Trajectory Generation). Here’s a paper on it. Basically it works by integrating backwards from the target state, applying min or max acceleration at each point.