The Bang-Bang Motion Profile
![The Bang-Bang Motion Profile](/content/images/size/w960/2024/02/Bang-bang-cover-simon-kadula.jpg)
Prerequisites- None
When designing robots that physically move, a common task is for them to move from one point to another; often as fast as possible.
![](https://mechatronics.studio/content/images/2024/02/Dot-Motion-Picture-Small-1.png)
In this article, we will introduce the time optimal bang-bang motion profile and derive an equation that computes the time required to complete a move from one point to another given the distance to move $\Delta x$, the acceleration $a$, and the target velocity $v_t$.
Kinematic Equations
We will need the below two equations. For a motion with constant acceleration, these equations relate travel distance with start/end velocity, acceleration, and travel time:
$$v_f^2 = v_i^2 + 2a\Delta x \: [1]$$
$$\Delta x = v_it + \frac{1}{2}at^2 \:[2]$$
where $\Delta x$ is the travel distance, $t$ is the travel time, $v_i$ is the initial velocity, $v_f$ is the final velocity, and $a$ is the acceleration. We will not derive these equations in this article.
Constant Velocity Motion Profile
An intuitive proposal for a motion profile is to instantaneously modify the velocity of the point (from a stop to target velocity $v_t$), move it at constant velocity between points $a$ and $b$, then instantaneously bring it to a stop.
Unfortunately, it is not physically possible to instantaneously transition a physical robot from stationary to moving at some velocity. A force must be applied to cause the object's speed to change via acceleration per the relationship:
$$F = ma$$
Bang Bang Motion Profile
The bang-bang motion profile conforms to physics by applying an initial acceleration until a target velocity is achieved and then applying a deceleration to slow the robot down at the end point.