How does acceleration work?


I’m using the Mini Maestro 12 to get multiple servos moving. Currently I’m able to easily set targets with speed and acceleration. What I’m trying to accomplish is getting multiple servos moving different distances from each other, to reach their target positions at approximately the same time.

However, I am not clear on how acceleration is actually working. Will the servo accelerate until the middle pulse width (e.g. (current position - target position)/2) or max speed, whichever comes first, then start to decelerate? How can I determine when the servo starts to decelerate as it reaches it’s target position? In the documentation, it doesn’t seem to give the kind of detail I’m looking for, merely stating that it will begin decelerating as it approaches it’s target.

Thanks for your help.


The Maestro determines if it is heading towards its target and if the equation below is true:

abs(target - position) × acceleration <= velocity × velocity × 4

If these two things are true, then it starts slowing down the servo. You might be able to use that equation to get a rough calculation for timing and acceleration values for each of your servos, but I think it would probably be faster to just use trial and error.