A PND (proportional to Q and N derivatives of Q) controller that computes the control signal:
More...
template<size_t DerivOrder>
class Controller< DerivOrder >
A PND (proportional to Q and N derivatives of Q) controller that computes the control signal:
where N is specified by the template parameter DerivOrder
.
If an averager is used for q_and_derivs
(as we typically do), there is an induced time offset, , due to the time-weighted averaging. Therefore, the q_and_derivs
that we have in hand are at some time . However, we desire q_and_derivs
at the current time to determine the appropriate control signal. We accomplish this by Taylor expanding . The averager allows for averaging of and its derivatives OR to not average while still averaging the derivatives (the derivatives are always averaged in order to reduce noise due to numerical differentiation). When they are both averaged, the time offset will be identical for and the derivatives, i.e. q_time_offset
= deriv_time_offset
. If an unaveraged is used, then the time offset associated with is zero, i.e. q_time_offset
=0. and the derivative time offset, deriv_time_offset
, remains non-zero.