9.1 Controller Output Limitation
9.1.1 Magnitude Limitation and Windup Protection
9.1.2 Rate Limitation
9.2 Bumpless Transfer
9.2.1 Transfer from Manual to Automatic Control
-
State-space implementation: As outlined in [4], one option involves enabling the observer earlier than the controller and feeding the externally provided control signal u and plant output y to the observer. This approach can be called tracking, and if this is done in time to allow the observer to reach a settled state before the controller output is being activated, bumpless transfer can be achieved. If the observer state is not yet fully settled, the transfer will still be (slightly) bumpy, as specifically demonstrated in Fig. 9.5 (second example).Another option allows to simultaneously enable controller and observer at time step k by means of direct initialization of the observer state to a meaningful previous value \(\hat {\boldsymbol {x}}(k-1)\). Given a measurement value of the plant output y(k − 1) and the initial control action u(k − 1) (e.g., from manual control), a simple initialization strategy consists of setting the estimated output to the measured value, i.e., \(\hat {x}_1(k-1) = \hat {y}(k-1) = y(k-1)\), and adjusting the total disturbance such that the controller output will match the given value u(k − 1) if r = y is being chosen:$$\displaystyle \begin{aligned} \hat{\boldsymbol{x}}(k-1) = \begin{pmatrix} y(k-1) \\ \boldsymbol{0}^{(N-1) \times 1} \\ -b_0 \cdot u(k-1) \end{pmatrix} . {} \end{aligned} $$(9.3)Attention! It is important to note that the z−1 element in the observer implementation of Fig. 9.1 does not hold the state \(\hat {\boldsymbol {x}}\), since \(\hat {\boldsymbol {x}}(k)\) is being formed by the output of said z−1 element plus l ⋅ y(k). To initialize the observer output to the desired value given in (9.3), one must therefore set the (N + 1) storage variables of the z−1 element to the value \(\hat {\boldsymbol {x}}(k-1) - \boldsymbol {l} \cdot y(k)\). The third example shown in Fig. 9.5 uses this approach to achieve bumpless transfer.
-
Error-based ADRC, state-space implementation: For direct initialization of the observer state, (9.3) gets simplified under these conditions and now reads$$\displaystyle \begin{aligned} \hat{\boldsymbol{x}}(k-1) = \begin{pmatrix} \boldsymbol{0}^{N \times 1} \\ b_0 \cdot u(k-1) \end{pmatrix} . {} \end{aligned} $$(9.4)In a settled state r = y, which implies e = r − y = 0, this value can directly be written into the (N + 1) storage variables of the z−1 element of the observer in Fig. 8.10. Alternatively, the tracking approach can, of course, also be adapted to the initialization of error-based ADRC.
-
Error-based ADRC, dual-feedback transfer function implementation: Similar to the steps described above for output-based ADRC, initializing the minimum-footprint variants shown in Fig. 8.13 can be done for the state variables (unit delays) in a recursive manner. Given an externally provided previous control action u(k − 1) and assuming zero control error for the time instant of enabling the controller, one obtains the following procedure.
9.2.2 Bumpless Parameter Changes
9.3 Dealing with Measurement Noise
-
Bandwidth selection: An obvious approach to this problem is to reduce the bandwidth when tuning ADRC, particularly regarding the observer dynamics. It was evident from Fig. 5.8 in Sect. 5.3.3 that the choice of kESO quite drastically affects the sensitivity of the controller output to high-frequency measurement noise. To demonstrate this fact with a time-domain example, Fig. 9.8 builds on the second-order example from Fig. 9.7 and compares observer designs with kESO = 5 and kESO = 10. Solving the noise sensitivity problem with reduced kESO values, on the other hand, must be traded in for reduced disturbance rejection abilities and the fact that closed-loop dynamics will increasingly fall short of the design goals, as visible from closed-loop step responses in Fig. 9.7, as well.×
-
Half-gain tuning: A more subtle solution to tuning ADRC with reduced noise sensitivity in mind was proposed in [7], called half-gain tuning. It can be applied to tuning both controller and observer within ADRC, and the application of this method is very simple in continuous-time domain: Firstly, compute controller and/or observer gains using bandwidth parameterization; then reduce these gains to 50 % afterward. This results in closed-loop dynamics that—when applied only to the observer—are almost indistinguishable from regular bandwidth parameterization but lead to reduced high-frequency gains and hence improved noise suppression. In Fig. 9.8 two additional test cases demonstrate the effect of using half-gain tuning for the observer.Applying half-gain tuning to discrete-time ADRC involves a few more steps: Compute the continuous-time eigenvalues of the closed outer loop for the virtual plant (3.17) using halved controller gains kT or the eigenvalues of the closed-loop observer (3.16) using halved observer gains l. Map these poles to the discrete-time domain, and then perform pole placement for the discrete-time virtual plant (8.12) or the discrete-time observer (8.5), yielding the desired results for kT or l.
-
Additional low-pass filter: As demonstrated in Sect. 5.4.2, an additional pole added to the plant might—if fast enough, of course—be barely noticeable in the closed-loop dynamics. Adding a simple low-pass filter in the feedback path with a time constant being only a fraction of the plant time constant is therefore one possible option to reduce the impact of measurement noise.Table 9.1Mean absolute deviation (MAD) and root mean square (RMS) values of the noise levels in the examples of Fig. 9.8, computed for kESO = 5 and kESO = 10, both without and with half-gain tuning for the observer (cases labeled “HGO”). These values were obtained from steady-state simulations, averaging 100000 samples. Caused by Gaussian noise, the MAD and RMS levels are related by a factor of \( \sqrt {2/\pi }\) [6]. Using half-gain tuning for the observer reduces the noise levels by approximately more than 25 %, without noticeable impact on the closed-loop dynamicsCriterionkESO = 5kESO = 5, HGOkESO = 10kESO = 10, HGOMAD0.038400.027610.155550.11585RMS0.048150.034620.195010.14534
-
Enhanced ADRC structures: ADRC can be equipped with additional countermeasures against measurement noise. As one example, cascading multiple extended state observers is proposed in [8]. This, however, comes with some drawbacks on its own, such as additional tuning parameters or the burden of selecting the correct structure [9]. It should therefore be considered an ongoing research topic to keep an eye on.