# Understanding and using IterativeParabolicTimeParameterization

I’m a little bit confused about IterativeParabolicTimeParameterization and how to use it :

1. As I understood it is currently used internally by Moveit! after the planner found the IK solution, to add velocities and accelerations on the trajectory while checking for collisions. And then we can use it again to modify the trajectory as we wish. Is it correct ?

2. What are all the things we can do with IterativeParabolicTimeParameterization ? From the source code it’s hard for me to guess every possibility. What are the different options we have to modify a trajectory ? And what kind of modification can we make (on position, velocity, acceleration) ?

3. I am currently having issues with my robot (6dof robotic arm), the velocity from the Moveit! trajectory is weird : sometimes it decreases in the middle of the trajectory (and then increases again), making the robot almost stop multiple times in one trajectory, which is not acceptable for my use case. (that’s not the point here, but this error only occurs on kinetic, I was not having this issue at all on indigo. For more info about what I mean, check out https://github.com/ros-planning/movei... , I get the exact same kind of behavior). My question is : Could IterativeParabolicTimeParameterization be responsible of that (and what could possibly have happened between indigo and kinetic), and is there a way I can ask Moveit! to make the velocity increasing, then staying constant, then decreasing ?

4. Can IterativeParabolicTimeParameterization modify only a part of the trajectory ? For example I also would like to reduce the acceleration only at the very beginning and at the very end of the trajectory, in order to enable the robot to start and stop more slowly, while keeping the same behavior for the rest of the trajectory. (something like 3% - 94% - 3% of the trajectory : the 94% in the middle stays the same, or adapt to keep the same global time with the modified beginning and ending)

5. I was only speaking about IterativeParabolicTimeParameterization in this question. Is there another way to do what I want to do in those questions, that I didn’t think about ?

Any help would be appreciated :) Thanks in advance

edit retag close merge delete