This library can be used to limit the first and second derivative of a variable as it approaches a target value.
It's easiest to think of in terms of position, velocity, and acceleration. If used with a servo, for example, the servo will smoothly move to a target value with a trapezoidal velocity profile. The formula in this program supports being run at uneven intervals, and allows for editing the target, position, and velocity while it runs since it doesn't rely on calculating a motion profile ahead of time.

Author: Joshua Phelps

Maintainer: Joshua Phelps

Read the documentation


This library is compatible with all architectures so you should be able to use it on all the Arduino boards.


To use this library, open the Library Manager in the Arduino IDE and install it from there.