I am programming a robot that has to be able to accelerate do the maximum velocity possible within a known distance knowing the initial velocity, final velocity, acceleration and deceleration. Is there a formula? Or do you know of an algorithm that might calculate it? Any help is appreciated.

  • $\begingroup$ Just google kinematic equations $\endgroup$
    – Gobabis
    Oct 29, 2017 at 6:14
  • $\begingroup$ Sketch a velocity against time graph noting that its gradient is the acceleration and the area under it is the displacement. This may help you set up the relevant equations. $\endgroup$
    – Farcher
    Oct 29, 2017 at 9:31
  • $\begingroup$ Kinematic equations won't do the job. If this is a real world robot, it moves in 3 dimensions, and probably has one or more rotating joints. The solution is quite complicated, and consists of matrices that describe the motion of different parts of the robot in terms of acceleration, velocity, and displacement. $\endgroup$ Dec 7, 2018 at 6:11

1 Answer 1


Your robot surely needs this...

Consider your robot (Let's name him Rob!!) has been destined to have a maximum acceleration $\alpha$ and maximum deceleration $\beta$. For this time interval $t$, Rob covers a distance of $s$. Let's work this from a graphical approach rather than using derivatives : Velocity-time curve

Now Rob's maximum velocity $v_m$ is represented by the peak Q.

All inferences has been based on the graph.

$T=t_1 + t_2$

Slope of OQ curve= $\alpha$=$\frac {v_m}{t_1}$

Slope of PQ curve=$\beta$=$\frac {v_m}{t_2}$

From here let's put the values of $t_1$ and $t_2$ in the first equation which goes by-

$$T=\frac {v_m}{\alpha} + \frac {v_m}{\beta}$$

$$\Rightarrow v_m=\frac {\alpha \beta T}{\alpha + \beta}$$

For Rob's $v_m$ to be a function of $s$ you can easily do by using other physical consequences of the graph that I leave upto you.

Now Rob looks polished.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.