the acc of last trajectory point in FollowJointTrajectory is not zero
Hi, all, I'm using MoveIt to plan a trajectory to reach certain. The trajectory is sent via FollowJointTrajectory action. I intend to receive the goal in FollowJointTrajectory and interpolate between the traj points in follow_joint_trajectory/goal using quintic spline, then send these points to motor.
But I found the acceleration of the last trajectory point is not zero, while the velocity is zero, the joint position is desired position. I don't know why the last acc is not zero. This would cause oscillation after this point.
Thanks for any help!
I'd suggest to check whether MoveIt
master
version (or anything newer than Kinetic) has this problem.checked using the demo.launch in panda_moveit_config on ros noetic. The problem still exists.
This depends on the retiming algorithm you use (IPTP, TOTG, TOPPRA...). Did you try different ones? IIRC the ones that are open-source aren't jerk-limited.
do we already have a MoveIt integration for that?
I tried to use
AddIterativeSplineParameterization
instead of the defaultAddTimeParameterization
just now. seems it works. the acc of last point is 0.I don't have TOPPRA currently.
Thanks very much@gvdhoorn@fvd
There's no MoveIt integration for TOPPRA yet. I'll post an answer.
BTW: Is there any retiming algorithm that can consider the max jerk? The trajectory given by "AddIterativeSplineParameterization" has a large jerk.
I don't know about open-source ones, but there are at least some commercial options.