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}}}}