I'm trying to calculate the maximum velocity of an object given:

  • acceleration
  • deceleration
  • starting position (0)
  • ending position
  • initial velocity

I've been trying to use formulas from: https://stackoverflow.com/questions/153507/calculate-the-position-of-an-accelerating-body-after-a-certain-time http://easycalculation.com/physics/classical-physics/constant-acc-velocity.php

but I still can't seem to figure it out.

The closest I've gotten is: $$t = \frac{V_{max} - V_0}{a} + \frac{0 - V_{max}}{d}$$

But even trying to solve that for Vmax leaves an unknown '$t$' in the equation, and doesn't take into account the ending position either.

A sort of real world example for this, if it helps, is of a car. The car starts at p=0, with a rolling start (in either direction). At the finish line (ending position) is a brick wall. The car must stop with the front bumper touching the brick wall. It must accelerate at a for as long as possible, then decelerate at d, ending at that brick wall, with v=0.

(I'm writing an Arduino library for controlling servos, with speed limits, acceleration and deceleration. I need to know whether the max velocity it can reach given the acceleration and deceleration will ever exceed the max velocity the library user specifies, so I can calculate whether there needs to be any time spent "coasting" between acceleration and deceleration.)

  • $\begingroup$ a and d are both constant, and there's a given "ending position" the object must reach, and be at rest, so there must be a maximum velocity, unless I'm missing something. $\endgroup$ Commented Jan 13, 2014 at 16:43

1 Answer 1


We assume the object starts at time $t=0$ at position $x=0$ and ends at position $\ell$. It accelerates constantly with acceleration $a$ and then suddenly at time $t=t_1$ it decelerates constantly with deceleration $d$ (positive) until stopping at the point $\ell$. Let us call $t_2$ the deceleration time.

Then $v_\max=v_0+at_1$. To find $t_1$, note that $$v_0+at_1-dt_2=0;$$ this is the condition that the speed at $x=\ell$ is zero. And the distance has to be $\ell$, so $$ v_0t_1+\frac12at_1^2+(v_0t_2+at_1t_2-\frac12dt_2^2)=\ell. $$ The term between brackets comes from the fact that the speed during the deceleration process is $v_\max-dt$, so the distance covered during the deceleration process is $v_\max t_2-\frac12dt_2^2$.

From the first equation, we get $t_2=(v_0+at_1)/d$. Plugging this into the second equation and solving, $$ t_1=-\frac{v_0}a+\frac1a\sqrt{\frac{d v_0^2+2a\ell d}{a+d}}. $$ So $$ v_\max=v_0+at_1=\sqrt{\frac{d v_0^2+2a\ell d}{a+d}}. $$

  • $\begingroup$ This looks really good, but I think it doesn't account for a non-zero initial velocity. It's definitely a step in the right direction though. I have no idea how to work that into your first equation though. (at1−dt2=0) That's where I get stuck every time I try to solve this. $\endgroup$ Commented Jan 13, 2014 at 17:31
  • $\begingroup$ Sorry, I didn't notice that the initial velocity was non-zero. I'll edit in a few minutes. $\endgroup$ Commented Jan 13, 2014 at 17:49
  • $\begingroup$ Please see the edit. $\endgroup$ Commented Jan 13, 2014 at 18:13
  • $\begingroup$ Thanks for the edit. :) I'm not entirely clear on the term in the brackets in the 2nd equation. I think I follow your explanation of it, though I'm confused about the "v0t2 + at1" part of it. I think it's intended to be equal to vmax. If that's the case, should it be something like (v0t1 + at1)? (With the brackets, to multiply all that by t2 when substituting vmax with that.) $\endgroup$ Commented Jan 13, 2014 at 19:01
  • $\begingroup$ $v_0t_1+at_1$, makes no sense: $v_0t_1$ has units of distance, while $at_1$ has units of speed. When the deceleration starts, the initial speed for this second part of the problem is $v_0+at_1$. The distance covered is the integral of the speed, $-\frac12 dt_2^2$ plus the initial speed times $t_2$; that's precisely the expression in brackets. $\endgroup$ Commented Jan 13, 2014 at 19:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .