# Calculate maximum velocity that one can reach given the accel, decel, distance of the 'road', initial velocity and final velocity

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.

• Just google kinematic equations Oct 29, 2017 at 6:14
• 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. Oct 29, 2017 at 9:31
• 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. Dec 7, 2018 at 6:11

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 :

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.

Cheers!!