Our custom approach to PID tuning

More content soon. TLDR: if you have the kV and kA feedforward values. we can use that as a model for our system.

Then, we solve for the poles of the system. After some math, we arrive at the following:


This will guarantee a critically damped PID response for a PD controller, given an arbitrary choice of Kp

It is recommended that the following inequality is true:

KpKv24KaK_p \geq \frac{K_v^2}{4K_a}

Otherwise, Kd will be negative and you get a scary non-minimum phase system.

Specifying percent overshoot

A Critically damped system is not necessarily the fastest possible response, sometimes you are okay with a bit of overshoot. This modified version of the SMARTDAMP algorithm allows you to specify a percent overshoot in addition to your proportional gain to give you your optimal choice for Kd

Kd=2ζKaKpKvK_d = 2 \zeta \sqrt{K_a K_p} - K_v

where Zeta is our dampening ratio.

We can find zeta using the following equation given PO (Percent overshoot)

ζ=lnPO100π2+ln2PO100\zeta =\frac{-\ln{\frac{PO}{100}}}{\sqrt{\pi^2 + \ln^2{\frac{PO}{100}}}}

Last updated