I have a question about the handling of the updates to the Goal Position, Profile Velocity and Profile Acceleration in the X series. I understand how the trajectory is produced when these parameters are sent to the servo and how they generate (if all used) a sigmoid position graph leading to reduced jerk.
The situation that I have though is that the 3 registers are updated in a synchronisation loop at a certain frequency (ex. 50 Hz) from a ROS node. If I have, let’s say, a desired position to be reached in 2 seconds the node calculates an appropriate velocity profile and acceleration profile and then saves them into some internal proxys for the servo registers. The loop then syncs these with the servo 50 x 2 = 100 times (same value).
The question is what happens inside the servo in respect to the position trajectory determination: will the resend of the same data preserve the already calculated trajectory or the trajectory is recalculated based on the present position of the servo and the indicated velocity profile and acceleration profile. Because I have the feeling that when acceleration profile is used the trajectory ends up recalculated and undershoots the desired time and leads to excessive jerk in the end.
Could somebody confirm this or suggest a better way to handle it?