Animation using closed-loop control

A common choice for industrial control systems is a so called PID-controller, PID in this case stands for proportional, integral, and derivative, referring to the three linearly combined terms producing the controller output. The coefficients, usually called gain, are the ones determining the behavior of the controller, and are (usually) not time dependant.

I recently prototyped some camera movement routines, where I had a top-down view and basically set up a PID-controller to track the cameras position above ground, again taking the output as acceleration. This had the effect that I could simply set the new height as a set-point reference whenever I wanted to zoom in or out, and it would move there smoothly without a hitch. Rapidly updating the value, such as when moving laterally across different ground levels, was also handled smoothly and the movement felt natural.

{more …}