A Simulative Study on Active Disturbance Rejection Control (ADRC) as a Control Tool for Practitioners
As an alternative to both classical PID-type and modern model-based approaches to solving control problems, active disturbance rejection control (ADRC) has gained significant traction in recent years. With its simple tuning method and robustness agai…
Authors: Gernot Herbst
This is a preprint version. The final article is av ailable at doi:10.3390/electronics2030246 . Please cite as: G. Herbs t, “ A Simulativ e S tudy on A ctiv e Disturbance R ejection Control (ADRC) as a Control T ool f or Practitioners, ” Electronics , v ol. 2, no. 3, pp. 246–279, Aug. 2013. This revision of the preprint includes post-publication corrections. A Simulativ e Study on A ctiv e Disturbance Rejection Control (ADR C) as a Control T ool f or Practitioners Gernot Herbst Siemens A G, Chemnitz, Germany gernot.herbst@siemens.com Abstract As an alternative to both classical PID-type and modern model-based approaches to sol ving control problems, activ e disturbance rejection control (ADRC) has gained signif- icant traction in recent years. With its simple tuning method and robustness agains t process parameter v ariations, it puts itself f or ward as a valuable addition to the toolbo x of control engineering practitioners. This ar ticle aims at providing a single-source introduction and ref erence to linear ADR C with this audience in mind. A simulative study is car ried out using generic first- and second-order plants to enable a quic k visual assessment of the abilities of ADR C. Finall y , a modified f orm of the discrete-time case is introduced to speed up real-time implementations as necessary in applications with high dynamic requirements. 1 Introduction A ctiv e disturbance rejection control (ADR C) [9, 8, 6, 7] has emerged as an alter nativ e that combines easy appli- cability known from classical PID-type control methods with the pow er of moder n model-based approaches. The f oundation f or ADRC is an obser v er who jointly treats actual disturbances and modeling uncer tainties, such that only a v er y coarse process model is necessar y in order to design a control loop, which makes ADR C an attractiv e choice f or practitioners and promises good robustness agains t process variations. Present applications range from po wer electronics [15], motion control [14] and superconducting radio frequency ca vities [16] to tension and temperature control [17]. While it can be shown ( cf . Section 2.3) that the linear case of ADR C is equivalent to a special case of classical state space control with disturbance estimation and compensation based on the internal model principle [4], there is an impor tant difference to model-based approaches, such as model predictive control [12] or embedded model control [2]: f or the latter, an e xplicit model of the process to be controlled is necessar y . ADRC, on the other hand, does onl y assume a certain canonical model regardless of the actual process dynamics and leav es all modeling errors to be handled as a disturbance. Of course this may come at the price of per f or mance losses compared to a controller built around a precise process model or a model of the ref erence trajectory . Theref ore, while emplo ying the same mathematical tools, ADR C’s unified vie w and treatment of disturbances can be seen as a cer tain depar ture from the model-based control school [13], shifting back the f ocus from modeling to control. This may be ke y to its appeal f or practitioners. The remainder of this ar ticle is organized as follo ws: After providing a step-by -step introduction to the linear case of ADR C in the f ollowing section, a ser ies of simulativ e e xperiments is car ried out to demonstrate the abilities of ADR C when being faced with varying process parameters or structural uncer tainties and to visually pro vide insights into the effect of its tuning parameters. For the discrete-time case, which is introduced afterwards, an optimized f or mulation is presented, which enables a controller implementation with v ery low input-output delay . 2 Linear A ctiv e Disturbance R ejection Control The aim of this section is to repeat and present the linear case of ADRC in a self-contained manner , follo wing [6, 3]. While the majority of ar ticles introduces ADRC with a second-order process, here the first-order case will be considered first and e xplicitly , due to its practical impor tance, since there are man y sys tems—albeit technicall y nonlinear and higher -order —which e xhibit a dominating first-order -like beha vior , at leas t in certain operating points. The second-order case will be dev eloped subsequentl y with a similar use case in mind. A dditionally , it will be sho wn in Section 2.3 that linear ADRC can be seen as a special case from the perspective of classical state space control with disturbance compensation based on the inter nal model pr inciple. 2 Gernot Herbst 2.1 First-Order ADR C Consider a simple first-order process, 𝑃 ( 𝑠 ) , with a DC gain, 𝐾 , and a time constant, 𝑇 : 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 𝑇 𝑠 + 1 s c 𝑇 · ¤ 𝑦 ( 𝑡 ) + 𝑦 ( 𝑡 ) = 𝐾 · 𝑢 ( 𝑡 ) (1) W e add an input disturbance, 𝑑 ( 𝑡 ) , to the process, abbreviate 𝑏 = 𝐾 𝑇 and rearrange: ¤ 𝑦 ( 𝑡 ) = − 1 𝑇 · 𝑦 ( 𝑡 ) + 1 𝑇 · 𝑑 ( 𝑡 ) + 𝐾 𝑇 · 𝑢 ( 𝑡 ) = − 1 𝑇 · 𝑦 ( 𝑡 ) + 1 𝑇 · 𝑑 ( 𝑡 ) + 𝑏 · 𝑢 ( 𝑡 ) As our last modeling step, we substitute 𝑏 = 𝑏 0 + Δ 𝑏 , where 𝑏 0 shall represent the known part of 𝑏 = 𝐾 𝑇 and Δ 𝑏 , an (unknown) modeling er ror , and, finally , obtain Equation (2). W e will see soon that all that we need to kno w about our first-order process to design an ADR C is 𝑏 0 ≈ 𝑏 , i.e ., an appro ximate value of 𝐾 𝑇 . Modeling er rors or varying process parameters are represented by Δ 𝑏 and will be handled inter nall y . ¤ 𝑦 ( 𝑡 ) = − 1 𝑇 · 𝑦 ( 𝑡 ) + 1 𝑇 · 𝑑 ( 𝑡 ) + Δ 𝑏 · 𝑢 ( 𝑡 ) | {z } generalized disturbance 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) = 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) (2) By combining − 1 𝑇 · 𝑦 ( 𝑡 ) , the dis turbance 𝑑 ( 𝑡 ) , and the unkno wn par t Δ 𝑏 · 𝑢 ( 𝑡 ) to a so-called g eneralized disturbance, 𝑓 ( 𝑡 ) , the model f or our process changed from a first-order lo w-pass type to an integ rator . The fundamental idea of ADR C is to implement an extended state observer (ESO) that provides an estimate, ˆ 𝑓 ( 𝑡 ) , such that we can compensate the impact of 𝑓 ( 𝑡 ) on our process (model) b y means of disturbance rejection. All that remains to be handled b y the actual controller will then be a process with appro ximately integ rating behavior , whic h can easily be done, e.g. b y means of a simple propor tional controller . In order to derive the estimator , a state space description of the disturbed process in Equation (2) is necessar y : ¤ 𝑥 1 ( 𝑡 ) ¤ 𝑥 2 ( 𝑡 ) = 0 1 0 0 | {z } 𝑨 · 𝑥 1 ( 𝑡 ) 𝑥 2 ( 𝑡 ) + 𝑏 0 0 | {z } 𝑩 · 𝑢 ( 𝑡 ) + 0 1 · ¤ 𝑓 ( 𝑡 ) 𝑦 ( 𝑡 ) = 1 0 | {z } 𝑪 · 𝑥 1 ( 𝑡 ) 𝑥 2 ( 𝑡 ) (3) Since the “vir tual” input, ¤ 𝑓 ( 𝑡 ) , cannot be measured, a state obser v er f or this kind of process can, of course, only be built using the in put, 𝑢 ( 𝑡 ) , and output, 𝑦 ( 𝑡 ) , of the process. An estimated s tate, ˆ 𝑥 2 ( 𝑡 ) , how ev er , will provide an approximate value of 𝑓 ( 𝑡 ) , i.e ., ˆ 𝑓 ( 𝑡 ) , if the actual generalized disturbance, 𝑓 ( 𝑡 ) , can be considered piecewise constant. The equations f or the extended state obser v er (integ rator process e xtended by a g eneralized disturbance) are given in Equation (4). N ote that f or linear ADR C, a Luenberg er observer is being used, while in the or iginal case of ADR C, a nonlinear obser v er was employ ed [7]. ¤ ˆ 𝑥 1 ( 𝑡 ) ¤ ˆ 𝑥 2 ( 𝑡 ) = 0 1 0 0 · ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) + 𝑏 0 0 · 𝑢 ( 𝑡 ) + 𝑙 1 𝑙 2 · ( 𝑦 ( 𝑡 ) − ˆ 𝑥 1 ( 𝑡 ) ) = − 𝑙 1 1 − 𝑙 2 0 | {z } 𝑨 − 𝑳𝑪 · ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) + 𝑏 0 0 | {z } 𝑩 · 𝑢 ( 𝑡 ) + 𝑙 1 𝑙 2 | {z } 𝑳 · 𝑦 ( 𝑡 ) (4) One can now use the estimated v ar iables, ˆ 𝑥 1 ( 𝑡 ) = ˆ 𝑦 ( 𝑡 ) and ˆ 𝑥 2 ( 𝑡 ) = ˆ 𝑓 ( 𝑡 ) , to implement the disturbance rejection and the actual controller . 𝑢 ( 𝑡 ) = 𝑢 0 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) 𝑏 0 with 𝑢 0 ( 𝑡 ) = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) (5) The according structure of the control loop is presented in Figure 1. Since 𝐾 P acts on ˆ 𝑦 ( 𝑡 ) , rather than the actual output 𝑦 ( 𝑡 ) , w e do hav e a es timation-based state f eedback controller , but the resemblance to a classical propor tional controller is str iking to practitioners. In Equation (5), 𝑢 0 ( 𝑡 ) represents the output of a linear proportional controller . A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 3 Process K P 1 b 0 1 b 0 Observer u y r ˆ y = ˆ x 1 ˆ f = ˆ x 2 − − u 0 Figure 1. Control loop structure with ADR C for a first-order process. The remainder of the control law in 𝑢 ( 𝑡 ) is chosen such that the linear controller acts on a nor malized integrator process if ˆ 𝑓 ( 𝑡 ) ≈ 𝑓 ( 𝑡 ) holds. The effect can be seen by putting Equation (5) in Equation (2): ¤ 𝑦 ( 𝑡 ) = 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 0 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) 𝑏 0 = 𝑓 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) + 𝑢 0 ( 𝑡 ) ≈ 𝑢 0 ( 𝑡 ) = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) If ˆ 𝑦 ( 𝑡 ) ≈ 𝑦 ( 𝑡 ) holds, we obtain a first-order closed loop beha vior with a pole, 𝑠 CL = − 𝐾 P : 1 𝐾 P · ¤ 𝑦 ( 𝑡 ) + ˆ 𝑦 ( 𝑡 ) ≈ 1 𝐾 P · ¤ 𝑦 ( 𝑡 ) + 𝑦 ( 𝑡 ) ≈ 𝑟 ( 𝑡 ) If the state estimator and disturbance rejection w ork properl y , one has to design a propor tional controller only one single time to obtain the same closed loop behavior , regardless of the parameters of the actual process. For e xample, one can calculate 𝐾 P from a desired first-order sys tem with 2%-settling time: 𝐾 P ≈ 4 𝑇 settle (6) In order to w ork properly , obser v er parameters, 𝑙 1 and 𝑙 2 , in Equation (4) still hav e to be determined. Since the observer dynamics must be fas t enough, the obser v er poles, 𝑠 ESO 1 / 2 , must be placed left of the closed loop pole, 𝑠 CL . A simple rule of thumb suggests f or both poles: 𝑠 ESO 1 / 2 = 𝑠 ESO ≈ ( 3 . . . 10 ) · 𝑠 CL with 𝑠 CL = − 𝐾 P ≈ − 4 𝑇 settle (7) Placing all obser v er poles at one location is also known as “bandwidth parameter ization ” [6]. Since the matr ix ( 𝑨 − 𝑳 𝑪 ) deter mines the er ror dynamics of the obser v er , we can compute the necessar y observer gains f or the common pole location, 𝑠 ESO , from its characteristic polynomial: det ( 𝑠 𝑰 − ( 𝑨 − 𝑳 𝑪 ) ) = 𝑠 2 + 𝑙 1 · 𝑠 + 𝑙 2 ! = 𝑠 − 𝑠 ESO 2 = 𝑠 2 − 2 𝑠 ESO · 𝑠 + 𝑠 ESO 2 From this equation, the solutions for 𝑙 1 and 𝑙 2 can immediately be read off: 𝑙 1 = − 2 · 𝑠 ESO and 𝑙 2 = 𝑠 ESO 2 (8) T o summar ize, in order to implement a linear ADR C f or a first-order sys tem, four steps are necessar y : 1. Modeling: For a process with (dominating) first-order beha vior , 𝑃 ( 𝑠 ) = 𝐾 𝑇 𝑠 + 1 , all that needs to be known is an estimate 𝑏 0 ≈ 𝐾 𝑇 . 2. Control structur e: Implement a propor tional controller with disturbance rejection and an extended state observer , as giv en in Equations (4) and (5): ¤ ˆ 𝑥 1 ( 𝑡 ) ¤ ˆ 𝑥 2 ( 𝑡 ) = − 𝑙 1 1 − 𝑙 2 0 · ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) + 𝑏 0 0 · 𝑢 ( 𝑡 ) + 𝑙 1 𝑙 2 · 𝑦 ( 𝑡 ) 𝑢 ( 𝑡 ) = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) − ˆ 𝑓 ( 𝑡 ) 𝑏 0 = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑥 1 ( 𝑡 ) ) − ˆ 𝑥 2 ( 𝑡 ) 𝑏 0 4 Gernot Herbst 3. Closed loop dynamics: Choose 𝐾 P , e.g. according to a desired settling time Equation (6): 𝐾 P ≈ 4 𝑇 settle . 4. Obser v er dynamics: Place the observer poles left of the closed loop pole via Equations (7) and (8): 𝑙 1 = − 2 · 𝑠 ESO , 𝑙 2 = 𝑠 ESO 2 with 𝑠 ESO ≈ ( 3 . . . 10 ) · 𝑠 CL and 𝑠 CL = − 𝐾 P It should be noted that the same control structure can be applied to a first-order integ rating process: 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 I 𝑠 s c 𝑦 ( 𝑡 ) = 𝐾 I · 𝑢 ( 𝑡 ) With an input disturbance, 𝑑 ( 𝑡 ) , and a substitution, 𝐾 I = 𝑏 = 𝑏 0 + Δ 𝑏 , with Δ 𝑏 representing the unknown par t of 𝐾 I , we can model the process in an identical manner as Equation (2), with all differences hidden in the generalized disturbance, 𝑓 ( 𝑡 ) : ¤ 𝑦 ( 𝑡 ) = ( 𝑑 ( 𝑡 ) + Δ 𝑏 · 𝑢 ( 𝑡 ) ) | {z } gen. disturbance 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) = 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) Theref ore, the design of the ADR C f or a first-order integrating process can follo w the same f our design steps giv en abov e, with the only distinction that 𝑏 0 must be set to 𝑏 0 ≈ 𝐾 I in step 1. 2.2 Second-Order ADR C Follo wing the previous section, w e now consider a second-order process, 𝑃 ( 𝑠 ) , with a DC gain, 𝐾 , damping f actor , 𝐷 , and a time constant, 𝑇 . 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 𝑇 2 𝑠 2 + 2 𝐷𝑇 𝑠 + 1 s c 𝑇 2 · ¥ 𝑦 ( 𝑡 ) + 2 𝐷 𝑇 · ¥ 𝑦 ( 𝑡 ) + 𝑦 ( 𝑡 ) = 𝐾 · 𝑢 ( 𝑡 ) (9) As f or the first-order case, we add an input disturbance, 𝑑 ( 𝑡 ) , abbreviate 𝑏 = 𝐾 𝑇 2 and split 𝑏 into a kno wn and unkno wn par t, 𝑏 = 𝑏 0 + Δ 𝑏 : ¥ 𝑦 ( 𝑡 ) = − 2 𝐷 𝑇 · ¤ 𝑦 ( 𝑡 ) − 1 𝑇 2 · 𝑦 ( 𝑡 ) + 1 𝑇 2 · 𝑑 ( 𝑡 ) + Δ 𝑏 · 𝑢 ( 𝑡 ) | {z } generalized disturbance 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) = 𝑓 ( 𝑡 ) + 𝑏 0 · 𝑢 ( 𝑡 ) (10) With ev er ything else combined into the g eneralized disturbance, 𝑓 ( 𝑡 ) , all that remains of the process model is a double integrator . The state space representation of the disturbed double integrator is: © « ¤ 𝑥 1 ( 𝑡 ) ¤ 𝑥 2 ( 𝑡 ) ¤ 𝑥 3 ( 𝑡 ) ª ® ¬ = © « 0 1 0 0 0 1 0 0 0 ª ® ¬ | {z } 𝑨 · © « 𝑥 1 ( 𝑡 ) 𝑥 2 ( 𝑡 ) 𝑥 3 ( 𝑡 ) ª ® ¬ + © « 0 𝑏 0 0 ª ® ¬ | {z } 𝑩 · 𝑢 ( 𝑡 ) + © « 0 0 1 ª ® ¬ · ¤ 𝑓 ( 𝑡 ) 𝑦 ( 𝑡 ) = 1 0 0 | {z } 𝑪 · © « 𝑥 1 ( 𝑡 ) 𝑥 2 ( 𝑡 ) 𝑥 3 ( 𝑡 ) ª ® ¬ (11) In order to employ a control law similar to the first-order case, an e xtended state obser v er is needed to provide an estimation, ˆ 𝑥 1 ( 𝑡 ) = ˆ 𝑦 ( 𝑡 ) , ˆ 𝑥 2 ( 𝑡 ) = ¤ ˆ 𝑦 ( 𝑡 ) and ˆ 𝑥 3 ( 𝑡 ) = ˆ 𝑓 ( 𝑡 ) : © « ¤ ˆ 𝑥 1 ( 𝑡 ) ¤ ˆ 𝑥 2 ( 𝑡 ) ¤ ˆ 𝑥 3 ( 𝑡 ) ª ® ¬ = © « 0 1 0 0 0 1 0 0 0 ª ® ¬ · © « ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) ˆ 𝑥 3 ( 𝑡 ) ª ® ¬ + © « 0 𝑏 0 0 ª ® ¬ · 𝑢 ( 𝑡 ) + © « 𝑙 1 𝑙 2 𝑙 3 ª ® ¬ · ( 𝑦 ( 𝑡 ) − ˆ 𝑥 1 ( 𝑡 ) ) = © « − 𝑙 1 1 0 − 𝑙 2 0 1 − 𝑙 3 0 0 ª ® ¬ | {z } 𝑨 − 𝑳𝑪 · © « ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) ˆ 𝑥 3 ( 𝑡 ) ª ® ¬ + © « 0 𝑏 0 0 ª ® ¬ | {z } 𝑩 · 𝑢 ( 𝑡 ) + © « 𝑙 1 𝑙 2 𝑙 3 ª ® ¬ | {z } 𝑳 · 𝑦 ( 𝑡 ) (12) A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 5 Process K P 1 b 0 1 b 0 Observer u y r ˆ y = ˆ x 1 ˆ f = ˆ x 3 − − − u 0 K D ˙ ˆ y = ˆ x 2 Figure 2. Control loop structure with activ e disturbance rejection control (ADR C) f or a second-order process. Using the estimated v ariables, one can implement the disturbance rejection and a linear controller for the remaining double integ rator behavior , as shown in Figure 2. A modified PD controller (without the der iv ative par t f or the reference v alue 𝑟 ( 𝑡 ) ) will lead to a second-order closed loop beha vior with adjustable dynamics. Ag ain, this actually is an estimation-based state feedbac k controller . 𝑢 ( 𝑡 ) = 𝑢 0 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) 𝑏 0 with 𝑢 0 ( 𝑡 ) = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) − 𝐾 D · ¤ ˆ 𝑦 ( 𝑡 ) (13) Pro vided the estimator deliv ers good estimates, ˆ 𝑥 1 ( 𝑡 ) = ˆ 𝑦 ( 𝑡 ) ≈ 𝑦 ( 𝑡 ) , ˆ 𝑥 2 ( 𝑡 ) = ¤ ˆ 𝑦 ( 𝑡 ) ≈ ¤ 𝑦 ( 𝑡 ) and ˆ 𝑥 3 ( 𝑡 ) = ˆ 𝑓 ( 𝑡 ) ≈ 𝑓 ( 𝑡 ) , one obtains after inser ting Equation (13) into Equation (10): ¥ 𝑦 ( 𝑡 ) = 𝑓 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) + 𝑢 0 ( 𝑡 ) ≈ 𝑢 0 ( 𝑡 ) ≈ 𝐾 P · ( 𝑟 ( 𝑡 ) − 𝑦 ( 𝑡 ) ) − 𝐾 D · ¤ 𝑦 ( 𝑡 ) U nder ideal conditions, this leads to: 1 𝐾 P · ¥ 𝑦 ( 𝑡 ) + 𝐾 D 𝐾 P · ¤ 𝑦 ( 𝑡 ) + 𝑦 ( 𝑡 ) = 𝑟 ( 𝑡 ) While an y second-order dynamics can be set using 𝐾 P and 𝐾 D , one practical approac h is to tune the closed loop to a critically damped behavior and a desired 2% settling time 𝑇 settle , i.e ., choose 𝐾 P and 𝐾 D to get a negativ e-real double pole, 𝑠 CL 1 / 2 = 𝑠 CL : 𝐾 P = 𝑠 CL 2 and 𝐾 D = − 2 · 𝑠 CL with 𝑠 CL ≈ − 6 𝑇 settle (14) Similar to the first order case, the placement of the obser v er poles can f ollo w a common r ule of thumb: 𝑠 ESO 1 / 2 / 3 = 𝑠 ESO ≈ ( 3 . . . 10 ) · 𝑠 CL with 𝑠 CL ≈ − 6 𝑇 settle (15) Once the pole locations are chosen in this manner, the observer gains are computed from the characteristic polynomial of ( 𝑨 − 𝑳 𝑪 ) : det ( 𝑠 𝑰 − ( 𝑨 − 𝑳 𝑪 ) ) = 𝑠 3 + 𝑙 1 · 𝑠 2 + 𝑙 2 · 𝑠 + 𝑙 3 ! = 𝑠 − 𝑠 ESO 3 = 𝑠 3 − 3 𝑠 ESO · 𝑠 2 + 3 · 𝑠 ESO 2 · 𝑠 − 𝑠 ESO 3 The respectiv e solutions for 𝑙 1 , 𝑙 2 and 𝑙 3 are: 𝑙 1 = − 3 · 𝑠 ESO , 𝑙 2 = 3 · 𝑠 ESO 2 and 𝑙 3 = − 𝑠 ESO 3 (16) T o summar ize, ADR C f or a second-order system is designed and implemented as f ollo ws: 1. Modeling: For a process with (dominating) second-order beha vior , 𝑃 ( 𝑠 ) = 𝐾 𝑇 2 𝑠 2 + 2 𝐷𝑇 𝑠 + 1 , one only needs to kno w an approximate value 𝑏 0 ≈ 𝐾 𝑇 2 . 2. Control structur e: Implement a propor tional controller with disturbance rejection and an extended state observer , as giv en in Equations (12) and (13): © « ¤ ˆ 𝑥 1 ( 𝑡 ) ¤ ˆ 𝑥 2 ( 𝑡 ) ¤ ˆ 𝑥 3 ( 𝑡 ) ª ® ¬ = © « − 𝑙 1 1 0 − 𝑙 2 0 1 − 𝑙 3 0 0 ª ® ¬ · © « ˆ 𝑥 1 ( 𝑡 ) ˆ 𝑥 2 ( 𝑡 ) ˆ 𝑥 3 ( 𝑡 ) ª ® ¬ + © « 0 𝑏 0 0 ª ® ¬ · 𝑢 ( 𝑡 ) + © « 𝑙 1 𝑙 2 𝑙 3 ª ® ¬ · 𝑦 ( 𝑡 ) 𝑢 ( 𝑡 ) = 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) − 𝐾 D · ¤ ˆ 𝑦 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) 𝑏 0 = ( 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑥 1 ( 𝑡 ) ) − 𝐾 D · ˆ 𝑥 2 ( 𝑡 ) ) − ˆ 𝑥 3 ( 𝑡 ) 𝑏 0 6 Gernot Herbst 3. Closed loop dynamics: Choose 𝐾 P and 𝐾 D , e.g. according to a desired settling time as given in Equation (14): 𝐾 P = 𝑠 CL 2 , 𝐾 D = − 2 · 𝑠 CL with 𝑠 CL ≈ − 6 𝑇 settle 4. Obser v er dynamics: Place the observer poles left of the closed loop poles via Equations (15) and (16): 𝑙 1 = − 3 · 𝑠 ESO , 𝑙 2 = 3 · 𝑠 ESO 2 , 𝑙 3 = − 𝑠 ESO 3 with 𝑠 ESO ≈ ( 3 . . . 10 ) · 𝑠 CL 2.3 Relation to Linear State Space Control with Disturbance Estimation and Compen- sation Giv en that linear ADR C only emplo y s tools kno wn from classical linear state space control, ho w can it be compared to exis ting approaches? In this section, we will demonstrate that linear ADR C can be related to state space control with disturbance estimation and compensation based on the inter nal model principle [4]. W e will s tar t with a linear state space model of a process disturbed by 𝑑 ( 𝑡 ) , as f ollo w s: ¤ 𝒙 ( 𝑡 ) = 𝑨 𝒙 ( 𝑡 ) + 𝑩 𝒖 ( 𝑡 ) + 𝑬 𝒅 ( 𝑡 ) , 𝒚 ( 𝑡 ) = 𝑪 𝒙 ( 𝑡 ) (17) Further, w e assume to possess a model f or the generation of the disturbance, 𝑑 ( 𝑡 ) : ¤ 𝒙 d ( 𝑡 ) = 𝑨 d 𝒙 d ( 𝑡 ) , 𝒅 ( 𝑡 ) = 𝑪 d 𝒙 d ( 𝑡 ) (18) Note that 𝑨 d and 𝑪 d in Eq uation (18) refer to modeling the disturbance g enerator in this section only and should not be mistaken for the discrete-time v ersions of 𝑨 and 𝑪 used in Section 4. The process model is no w being e xtended b y incor porating the inter nal state variables, 𝒙 d ( 𝑡 ) , of the disturbance generator , resulting in an augmented process model in Equation (19), for which an obser v er given in Equation (20) can be set up [11]: ¤ 𝒙 ( 𝑡 ) ¤ 𝒙 d ( 𝑡 ) = 𝑨 𝑬 𝑪 d 0 𝑨 d · 𝒙 ( 𝑡 ) 𝒙 d ( 𝑡 ) + 𝑩 0 · 𝒖 ( 𝑡 ) , 𝑦 ( 𝑡 ) = 𝑪 0 · 𝒙 ( 𝑡 ) 𝒙 d ( 𝑡 ) (19) ¤ ˆ 𝒙 ( 𝑡 ) ¤ ˆ 𝒙 d ( 𝑡 ) = 𝑨 𝑬 𝑪 d 0 𝑨 d | {z } e 𝑨 · ˆ 𝒙 ( 𝑡 ) ˆ 𝒙 d ( 𝑡 ) + 𝑩 0 | {z } e 𝑩 · 𝒖 ( 𝑡 ) + 𝑳 𝑳 d | {z } e 𝑳 · 𝑦 ( 𝑡 ) − 𝑪 0 | {z } e 𝑪 · ˆ 𝒙 ( 𝑡 ) ˆ 𝒙 d ( 𝑡 ) (20) A ccordingly , the standard state space control law can no w be enhanced by the estimated state variables of the disturbance g enerator in order to compensate or minimize the impact of the disturbance on the process, if a suitable f eedback matrix, 𝑲 d , can be f ound: 𝒖 ( 𝑡 ) = 𝐺 · 𝒓 ( 𝑡 ) − 𝑲 · ˆ 𝒙 ( 𝑡 ) − 𝑲 d · ˆ 𝒙 d ( 𝑡 ) (21) After inser ting Equation (21) into Equation (17), it becomes apparent that—pro vided an accurate estimation, ˆ 𝒙 d ( 𝑡 ) , is av ailable—the disturbance ma y be compensated to the e xtent that 𝑩 𝑲 d = 𝑬 𝑪 d can be satisfied [11]. W e will no w compare the combined state and disturbance observer based on the augmented process model, as w ell as the control law to linear ADRC presented before. The first- and second-order case will be distinguished by (a) and (b): • Process model and disturbance gener ator : When comparing Equations (20) to (4) and (12), respectiv ely , one obtains the (double) integ rator process with a constant disturbance model. The respectiv e matr ices 𝑬 can be f ound using Equations (2) and (10): (a) 𝑨 = 0 , 𝑩 = 𝑏 0 , 𝑪 = 1 , 𝑬 = 1 𝑇 , 𝑨 d = 0 , 𝑪 d = 𝑇 = 𝐾 𝑏 0 (b) 𝑨 = 0 1 0 0 , 𝑩 = 0 𝑏 0 , 𝑪 = 1 0 , 𝑬 = 0 1 𝑇 2 , 𝑨 d = 0 , 𝑪 d = 𝑇 2 = 𝐾 𝑏 0 • Contr ol law : The compar ison of Equations (5) and (21) or (13) can be made with ˆ 𝑓 = ˆ 𝑥 d being the estimated state of the disturbance generator: A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 7 (a) 1 𝑏 0 · 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) − ˆ 𝑓 ( 𝑡 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑡 ) − 𝐾 P 𝑏 0 · ˆ 𝑥 1 ( 𝑡 ) − 1 𝑏 0 · ˆ 𝑓 ( 𝑡 ) giv es: 𝐾 d = 1 𝑏 0 , 𝐾 = 𝐾 1 = 𝐾 P 𝑏 0 , 𝐺 = 𝐾 P 𝑏 0 = 𝐾 1 (b) 1 𝑏 0 · 𝐾 P · ( 𝑟 ( 𝑡 ) − ˆ 𝑦 ( 𝑡 ) ) − 𝐾 D · ¤ ˆ 𝑦 ( 𝑡 ) − ˆ 𝑓 ( 𝑡 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑡 ) − 𝐾 P 𝑏 0 · ˆ 𝑥 1 ( 𝑡 ) − 𝐾 D 𝑏 0 · ˆ 𝑥 2 ( 𝑡 ) − 1 𝑏 0 · ˆ 𝑓 ( 𝑡 ) giv es: 𝐾 d = 1 𝑏 0 , 𝑲 = 𝐾 1 𝐾 2 with 𝐾 1 = 𝐾 P 𝑏 0 , 𝐾 2 = 𝐾 D 𝑏 0 , 𝐺 = 𝐾 P 𝑏 0 = 𝐾 1 One can see that the obser v er and control law are equivalent in str ucture f or both linear ADR C and a s tate space approach based on the inter nal model principle, and the model of the disturbance g enerator in ADR C could be made more visible b y this compar ison. If the standard design procedure of a state space obser v er and controller with disturbance compensation will lead to the same parameter values as ADRC will be verified subsequentl y b y f ollowing the necessar y steps to design 𝑲 , 𝑲 d , 𝑮 and e 𝑳 based on the same design goals used in linear ADR C bef ore: • F eedback gain 𝑲 : The closed loop dynamics are determined by the eigen v alues of ( 𝑨 − 𝑩 𝑲 ) . For ADR C, all poles w ere placed on one location, 𝑠 CL . With this design goal, one obtains f or 𝑲 : (a) det ( 𝑠 𝑰 − ( 𝑨 − 𝑩 𝑲 ) ) ! = 𝑠 − 𝑠 CL giv es 𝐾 1 = − 𝑠 CL 𝑏 0 (b) det ( 𝑠 𝑰 − ( 𝑨 − 𝑩 𝑲 ) ) ! = 𝑠 − 𝑠 CL 2 giv es 𝐾 1 = 𝑠 CL 2 𝑏 0 and 𝐾 2 = − 2 𝑠 CL 𝑏 0 • Gain compensation 𝑮 : In order to eliminate steady state tracking er rors, 𝑮 must be chosen to 𝑮 = − 𝑪 · ( 𝑨 − 𝑩 𝑲 ) − 1 · 𝑩 − 1 , which gives 𝐺 = 𝐾 1 f or both the first- and second-order case. • Obser v er g ain e 𝑳 : The dynamics of the obser v er f or the augmented sys tem are deter mined by placing the eigen values of e 𝑨 − e 𝑳 e 𝑪 as desired, which is the identical procedure, as in Equations (8) and (16). • Disturbance compensation gain 𝑲 d : As mentioned abov e, 𝑲 d should be chosen to achiev e 𝑩 𝑲 d ! = 𝑬 𝑪 d if possible: (a) 𝑩 𝑲 d = 𝑏 0 · 𝐾 d ! = 𝑬 𝑪 d = 1 gives 𝐾 d = 1 𝑏 0 (b) 𝑩 𝑲 d = 0 𝑏 0 · 𝐾 d ! = 𝑬 𝑪 d 0 1 giv es 𝐾 d = 1 𝑏 0 Obviousl y , both designs deliver the same parameters. Based on this compar ison, one may view linear ADR C and its controller design as a special case of classical state space control with an obser v er using a sy stem model augmented b y a cer tain disturbance generator model (follo wing the inter nal model pr inciple) and disturbance compensation. Ho w e v er , a subtle, but impor tant, distinction has to be made: while the latter relies on a model of the plant (like all moder n model-based control approaches), ADR C does alwa ys deliberately assume an integrator model for the plant and leav es all modeling errors to be handled b y the disturbance estimation. Theref ore, ADR C can be applied without accurately modeling the process, which presents a depar ture from the model-based control school [13]. 3 Simulativ e Experiments In the ideal case—with noise-free measurements and unlimited, ideal actuators in the control loop—ADRC w ould be able to suppress basicall y all effects of disturbances and parameter variations of the process. In practice, ho w e v er , w e hav e to liv e with constraints, such as limited obser v er dynamics or saturated controller outputs, leading to a compromise when choosing the parameters of the controller . This section is meant to provide insights into the abilities and limitations of continuous-time ADR C in a visual manner. T o that end, the controller —designed once and then left unchang ed—will be confronted with a hea vily varying process. The influence of the ESO pole placement (relative to the closed loop poles) will also be 8 Gernot Herbst e xamined, as well as limitations of the actuator . The experiments are carr ied out b y means of Matlab/Simulink -based simulations. In Section 4.2, fur ther simulations will be perf ormed f or the discrete-time implementation of ADR C, also addressing the effect of noise and sampling time. 3.1 First-Order ADR C with a First-Order Process In a first ser ies of experiments, a continuous-time ADR C (as introduced in Section 2.1) operating on a first-order sys tem will be ex amined. The process structure and nominal parameters used to design the controller are: 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 𝑇 𝑠 + 1 with 𝐾 = 1 and 𝑇 = 1 The ADR C is designed f ollowing the f our steps descr ibed in Section 2.1. For no w , w e assume perfect kno wledg e of our process and set 𝑏 0 = 𝐾 𝑇 = 1 , but will lea v e this value unchanged f or the rest of the e xperiments in this section. The desired closed loop settling time is chosen, 𝑇 settle = 1 . T o this end, the propor tional g ain of the linear controller is, according to Equation (6), set to 𝐾 P = 4 𝑇 settle = 4 . U nless other wise noted in individual e xper iments, the observer poles are chosen be 𝑠 ESO 1 / 2 = 𝑠 ESO = 10 · 𝑠 CL = 10 · ( − 𝐾 P ) = − 40 . The respective values of the obser v er gains are obtained via Equation (8). Throughout Section 3.1, noise-free control v ariables and ideal measurements will be assumed. R eaction on noisy measurements will be part of fur ther e xperiments in Section 4.2. 3.1.1 Sensitivity to Process Parameter V ariations Giv en the e xplicit f eature of ADRC to cope with modeling errors, our first goal will be to provide visual insights into the control loop behavior under (hea vy) variations of process parameters. A ser ies of simulations was run with fix ed ADR C parameters as giv en abo ve and a first-order process with v ar ying parameters, 𝐾 (DC gain) and 𝑇 (time constant). In Figure 3, the closed loop s tep responses are displa yed on the left- and the according controller outputs on the r ight-hand side. F or both 𝐾 and 𝑇 , v alues were chosen from an inter v al reaching from 10% of the nominal value to 1000%, i.e ., a decrease and increase b y factors up to ten. The results are quite impressiv e. One can see that the closed loop step response remains similar or nearl y identical to the desired behavior (settling time of one second) f or most process parameter settings in Figure 3. Almost onl y f or the fiv e- and ten-f old increased time constant, larg er ov ershoots become visible. In theor y , ideal beha vior ( i.e ., almost complete ignorance of parameter variations) can be obtained b y placing the obser v er poles far enough to the left of the closed loop poles, as will be sho wn in Section 3.1.2. N ote that we are not constrained b y actuator saturation here; this case will be e xamined in Section 3.1.3. 3.1.2 Effect of Observer Pole Locations In the previous Section 3.1.1, the obser v er poles were placed ten times f aster than the closed loop pole ( 𝑠 ESO 1 / 2 = 𝑠 ESO = 10 · 𝑠 CL ). Ho w does the choice of this factor influence the behavior and abilities regarding process parameter variations? W e will repeat the simulations with v arying time constant, 𝑇 , of process both with slo w er and faster obser v ers. T o demonstrate a rather extreme case, as w ell, we will, for the faster setting, apply a factor of 𝑠 ESO = 100 · 𝑠 CL . The results in Figure 4 are ordered from fastes t (top) to slow est obser v er setting (bottom). For the fas test setting, the theoretical ability to almost completel y ignore any modeling er ror is confirmed. In order to achie ve this beha vior in practice, the actuator must be fast enough and must not saturate within the desired range of parameter variations. For slo w er obser v er settings, the actual closed loop dynamics increasingl y differ from the desired dynamics, noticeable especially from larg er ov ershoots f or process variations with stronger lo w-pass character . 3.1.3 Effect of Actuator Saturation In practice, the abilities of any controller are tied to limitations of the actuator , i.e ., its dynamics and the realizable range of v alues of the actuating variable. While the actuator dynamics can be view ed as part of the process dynamics during controller design, one has to take possible effects of actuator saturation into account. If parameters of our ex ample process chang e, the control loop behavior may be influenced or limited b y actuator saturation in different wa ys: If the process becomes slo w er ( i.e ., the time constant 𝑇 increases), actuator saturation A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 9 0 0.5 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (a) 0 0.5 1 1.5 2 2.5 3 −5 0 5 10 15 20 t u K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (b) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (c) 0 0.5 1 1.5 2 −5 0 5 10 15 20 t u T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (d) Figure 3. Experiment 3.1.1: fix ed first-order ADRC controlling first-order process with v ar ying parameters. Nom- inal process parameters: 𝐾 = 1 , 𝑇 = 1 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 = 1 , 𝑇 settle = 1 , 𝑠 ESO = 10 · 𝑠 CL . ( a ) V ar iation of 𝐾 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) V ar iation of 𝑇 , closed loop step response; ( d ) Controller output 𝑢 f or ( c ). will increase the settling time. If, on the other hand, the DC gain of the process decreases, the control loop may be not be able to reach the reference value under actuator saturation. In classical PID-type control, some sor t of anti-windup strategy would be required to prev ent the side-effects of actuator saturation. W e will see in the e xperiments of this section that f or ADR C, those effects can be ov ercome v er y simply by feeding the state observer with the limited actuating variable, 𝑢 lim ( 𝑡 ) , instead of 𝑢 ( 𝑡 ) , either by a measured value or b y an actuator model, cf . Figure 5. T o demonstrate the behavior of ADR C under actuator saturation, the experiments of Section 3.1.1 will now be repeated under an (arbitrarily chosen) limitation of the actuating v ariable, | 𝑢 lim | ≤ 5 . Figure 6 show s the control loop behavior with v ar ying process parameters, 𝐾 and 𝑇 . On the r ight-hand side of Figure 6, the controller outputs are shown before being f ed into the actuator model, i.e ., bef ore the limitation becomes effectiv e. One can see that f or reduced process gains, 𝐾 ≤ 0 . 2 , the reference v alue cannot be reached anymore. From the respectiv e controller outputs, it becomes apparent that 𝑢 ( 𝑡 ) does not wind up when actuator saturation tak es effect, but conv erg es to a steady -state value. For slo w er process dynamics, 𝑇 = 5 and 𝑇 = 10 , the settling time increases considerably , yet there is almost no o vershoot visible. Since the actuator is saturated, this already is the fastes t possible step response. Obviousl y , the controller recov ers v ery well from per iods of actuator saturation. T o summar ize, f or practical implementations of ADR C, this means that apar t from the small modification shown in Figure 5, there are no further anti-windup measures necessary . 3.1.4 Effect of Dead Time Man y practical processes with dominating firs t-order behavior do exhibit a dead time. While there are man y specialized model-based approaches to control such processes, we are interested in how ADRC will handle an 10 Gernot Herbst 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (a) 0 0.5 1 1.5 2 −10 0 10 20 30 40 t u T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (b) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (c) 0 0.5 1 1.5 2 −5 0 5 10 15 20 t u T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (d) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (e) 0 0.5 1 1.5 2 −5 0 5 10 15 t u T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (f) Figure 4. Experiment 3.1.2: effect of pole locations for the extended state observer (ESO) on a fixed first-order ADR C controlling first-order process with varying parameter, 𝑇 . N ominal process parameters: 𝐾 = 1 , 𝑇 = 1 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 = 1 , 𝑇 settle = 1 , 𝑠 ESO varying. ( a ) Closed loop step response, 𝑠 ESO = 100 · 𝑠 CL ; ( b ) Controller output 𝑢 for ( a ); ( c ) Closed loop step response, 𝑠 ESO = 10 · 𝑠 CL ; ( d ) Controller output 𝑢 for ( c ); ( e ) Closed loop step response, 𝑠 ESO = 5 · 𝑠 CL ; ( f ) Controller output 𝑢 f or ( e ). unkno wn—albeit small—amount of dead time in the control loop. In Figure 7, simulations w ere per f ormed as in pre vious e xperiments, and a dead time, 𝑇 dead , was added to the process with 𝑇 dead ≤ 0 . 1 , i.e ., up to 10 %, compared to the time constant, 𝑇 , of the process. As e xpected, oscillations are inevitabl y starting to appear with increasing 𝑇 dead , especially in the controller output. Ho w ev er , this situation can be impro v ed if the dead time of the process is—at least appro ximatel y—kno wn. An easy wa y of incor porating small dead times into ADR C can be f ound b y dela ying the controller output f ed into the observer b y 𝑇 ESO dead , i.e ., using 𝑢 ( 𝑡 − 𝑇 ESO dead ) instead of 𝑢 ( 𝑡 ) in Equation (4). In Figure 7c and (d), this approach was implemented using 𝑇 ESO dead = 0 . 05 . Clearl y , the oscillations in the controller output are less prominent, e v en if 𝑇 ESO dead does not match the A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 11 Process K P 1 b 0 1 b 0 Observer u lim y r ˆ y = ˆ x 1 ˆ f = ˆ x 2 − − u 0 u Actuator model Figure 5. Control loop structure of first-order ADRC considering actuator saturation. 0 0.5 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (a) 0 0.5 1 1.5 2 2.5 3 −2 0 2 4 6 8 10 t u K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (b) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (c) 0 0.5 1 1.5 2 −2 0 2 4 6 8 10 t u T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (d) Figure 6. Experiment 3.1.3: effect of actuator saturation, | 𝑢 lim | ≤ 5 , on fixed a first-order ADRC controlling first- order process with varying parameters. Nominal process parameters: 𝐾 = 1 , 𝑇 = 1 . ADRC parameters: 𝑏 0 = 𝐾 𝑇 = 1 , 𝑇 settle = 1 , 𝑠 ESO = 10 · 𝑠 CL . On the r ight-hand side, the controller outputs are sho wn bef ore the limitation (dashed line) takes effect. ( a ) V ar iation of 𝐾 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) V ar iation of 𝑇 , closed loop step response; ( d ) Controller output 𝑢 for ( c ). actual dead time. 3.1.5 Effect of Structural Uncertainties In the experiments carr ied out so far in this section, it was assumed that our process could be reasonably well described by a first-order model. In practice, such a first-order model almost alwa ys results from neglecting higher- order dynamics, e.g. of the actuator . While it could already be seen that ADR C can handle variations of parameters v er y w ell, ho w does it behav e if higher -order dynamics become une xpectedl y visible in the process? T o demonstrate this beha vior, a second pole was added to the process in the simulations from Figure 8, resulting in a second time constant, 𝑇 2 ≤ 0 . 1 , i.e ., up to 10% of the dominant time constant, 𝑇 . One can see that some oscillations start to appear dur ing the transient as the higher-order pole approac hes the dominant pole. While these results are acceptable, fur ther simulations sho w ed that ADRC did not provide an advantag e compar ing to standard PI controllers as larg e as it does in the case of parameter robustness, cf . Section 3.1.6. 12 Gernot Herbst 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T dead = 0 T dead = 0.01 T dead = 0.05 T dead = 0.1 (a) 0 0.5 1 1.5 2 0 1 2 3 4 5 t u T dead = 0 T dead = 0.01 T dead = 0.05 T dead = 0.1 (b) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T dead = 0 T dead = 0.01 T dead = 0.05 T dead = 0.1 (c) 0 0.5 1 1.5 2 0 1 2 3 4 5 t u T dead = 0 T dead = 0.01 T dead = 0.05 T dead = 0.1 (d) Figure 7. Experiment 3.1.4: effect of dead time, 𝑇 dead , on a first-order ADR C controlling a process with first-order dynamics ( 𝐾 = 1 , 𝑇 = 1 ) and unknown dead time. ADRC parameters: 𝑏 0 = 𝐾 𝑇 = 1 , 𝑇 settle = 1 , 𝑠 ESO = 2 · 𝑠 CL . In ( c ) and ( d ), a fixed dead time, 𝑇 ESO dead , was incorporated into the obser v er to improv e the controller beha vior . ( a ) V ariation of 𝑇 dead , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) Closed loop step response, obser v er with 𝑇 ESO dead = 0 . 05 ; ( d ) Controller output 𝑢 f or ( c ). 3.1.6 Comparison to PI Control Giv en the ubiquity of PID-type controllers in industrial practice, ho w does the standard approach keep up against ADR C? T o that end, we will repeat the e xperiment regarding sensitivity tow ards process parameter variations and compare the ADR C results to a PI controller . For the first-order process, a PI controller is sufficient to achie v e any desired first-order closed loop beha vior . In order to obtain comparable results, the PI controller is designed for near ly identical closed loop dynamics as the ADR C by aiming for the same settling time and placing a zero on the pole of the first-order process: 𝐶 PI ( 𝑠 ) = 𝐾 P + 𝐾 I 𝑠 with 𝐾 I = 3 . 85 𝐾 · 𝑇 settle = 3 . 85 and 𝐾 P = 𝐾 I · 𝑇 = 3 . 85 The simulation results in Figure 9 clearl y demonstrate the ability of the ADRC approach to k eep the closed loop dynamics similar , ev en under major parameter v ariations. The PI controller deliv ers dynamics that vary heavil y , as do the process parameters. 3.1.7 Disturbance Rejection of ADR C and PI As a final experiment f or the continuous-time first-order ADR C, we w ant to e xamine the disturbance rejection abilities by injecting an input disturbance into the process for both ADR C and the PI controller from Section 3.1.6. On the left-hand side of Figure 10, a closed loop step response is sho wn. The input disturbance is effectiv e during the per iod from 𝑡 = 2 until 𝑡 = 4 . While both controllers w ere tuned f or the same reaction on setpoint chang es, the impact of the disturbance is compensated for much faster by ADR C compared to the PI controller . A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 13 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T 2 = 0.001 T 2 = 0.01 T 2 = 0.05 T 2 = 0.1 (a) 0 0.5 1 1.5 2 0 1 2 3 4 t u T 2 = 0.001 T 2 = 0.01 T 2 = 0.05 T 2 = 0.1 (b) Figure 8. Experiment 3.1.5: effect of structural uncertainties on a first-order ADRC controlling a process with dominating firs t-order beha vior ( 𝐾 = 1 , 𝑇 = 1 ) and higher -order dynamics caused b y an unkno wn second pole at 𝑠 = − 1 / 𝑇 2 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 = 1 , 𝑇 settle = 1 , 𝑠 ESO = 2 · 𝑠 CL . ( a ) V ar iation of 𝑇 2 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ). 0 0.5 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (a) 0 0.5 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 K = 10 (b) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (c) 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.1 T = 0.2 T = 0.5 T = 2 T = 5 T = 10 (d) Figure 9. Experiment 3.1.6: compar ison of first-order ADR C and PI controller faced with varying process pa- rameters, 𝐾 and 𝑇 . Nominal process and ADRC parameters are as throughout Section 3.1. For each combination, the closed loop step response is sho wn. ( a ) V ar iation of 𝐾 , ADR C; ( b ) V ariation of 𝐾 , PI; ( c ) V ar iation of 𝑇 , ADRC; ( d ) V ar iation of 𝑇 , PI. In classical control, one would need to tune the PI controller much more aggressivel y and add a setpoint filter or f ollow another 2DOF approach in order to obtain similar results [1]. 14 Gernot Herbst 0 1 2 3 4 5 6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y ADRC PI (a) 0 1 2 3 4 5 6 −1 0 1 2 3 4 t u ADRC PI (b) Figure 10. Experiment 3.1.7: compar ison of disturbance rejection behavior (first-order ADRC vs . PI controller). Process and ADR C parameters are as throughout Section 3.1. Input disturbance, 𝑑 = 1 , was effectiv e from 𝑡 = 2 until 𝑡 = 4 . ( a ) Step response and reaction on disturbance; ( b ) Controller output 𝑢 f or ( a ). 3.2 Second-Order ADR C with a Second-Order Process The second-order ADR C will be ex amined using a second-order process with the f ollowing nominal parameters: 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 𝑇 2 𝑠 + 2 𝐷 𝑇 𝑠 + 1 with 𝐾 = 1 , 𝐷 = 1 and 𝑇 = 1 Ag ain, perfect kno wledg e of the process is assumed, 𝑏 0 = 𝐾 𝑇 2 = 1 , but then 𝑏 0 is left unchang ed throughout Section 3.2. The desired closed loop settling time is 𝑇 settle = 5 . The parameters of the PD controller are, f ollowing Equation (14), set to 𝐾 P = 6 𝑇 settle 2 = 1 . 44 and 𝐾 D = 12 𝑇 settle = 2 . 4 . Unless other wise noted in individual e xper iments, the observer poles are chosen to be 𝑠 ESO 1 / 2 / 3 = 𝑠 ESO = 10 · 𝑠 CL = 10 · − 6 𝑇 settle = − 12 . The respective values of the observer g ains, 𝑙 1 / 2 / 3 , are obtained via Equation (16). As in Section 3.1, throughout this section, noise-free control variables and ideal measurements will be assumed. 3.2.1 Sensitivity to Process Parameter V ariations For the second-order ADR C, sensitivity to v ar iations of the process parameters will be examined firstly . Deviations from the or iginal DC gain ( 𝐾 = 1 ) were made in a range of 10% to 500% by setting 𝐾 to one of the values 0 . 1 , 0 . 2 , 0 . 5 , 2 and 5 . The damping factor , 𝐷 , of the process w as varied within a range of 10% to 1000% of the original value, 𝐷 = 1 , using settings 0 . 1 , 0 . 2 , 0 . 5 , 2 , 5 and 10 . Finall y , the time constant, 𝑇 , of the second-order process was varied in a range of 50% to 350% of the or iginal value, 𝑇 = 1 , using the values 0 . 5 , 2 , 3 and 3 . 5 . From the results in Figure 11, one can see that the closed loop behavior is almost not at all affected, ev en by relativ ely larg e chang es of 𝐾 and 𝐷 . Onl y for very small values of 𝐾 , the step response becomes slo w er; and f or v er y larg e v alues of the damping, 𝐷 , some o v ershoot becomes visible. Changes in the time constant, 𝑇 , do, for larg er values, increase ov ershoot and oscillations more than in the first-order case. In order to fully appreciate the robustness tow ards parameter changes of the process, one has to compare these results agains t standard controllers, such as PID, as will be done in Section 3.2.6. 3.2.2 Effect of Observer Pole Locations In the pre vious section, we saw that chang es in the process time constant, 𝑇 , affected the closed loop beha vior strong er than chang es in 𝐾 and 𝐷 . W e will theref ore demonstrate the influence of the obser v er poles on the sensitivity b y repeating the e xper iments with varying 𝑇 for different obser v er pole locations. In the previous experiments, the obser v er poles w ere set ten times to the left of the closed loop poles in the 𝑠 -plane, i.e ., 𝑠 ESO = 10 · 𝑠 CL . Here, both slo wer and faster observers will be e xamined, as well, b y setting 𝑠 ESO = 100 · 𝑠 CL and 𝑠 ESO = 5 · 𝑠 CL . As visible in the simulation results in Figure 12, almost ideal beha vior can—at least in theory—be obtained b y placing the obser v er poles far enough left in the 𝑠 -plane, i.e ., choosing larg e factors 𝑘 in 𝑠 ESO = 𝑘 · 𝑠 CL . Of A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 15 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (a) 0 5 10 15 −5 0 5 10 15 t u K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (b) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (c) 0 5 10 15 0 1 2 3 4 5 6 t u D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (d) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (e) 0 5 10 15 −2 0 2 4 6 t u T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (f) Figure 11. Experiment 3.2.1: a fixed second-order ADR C controlling second-order process with varying parame- ters. Nominal process parameters: 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 . ADRC parameters: 𝑏 0 = 𝐾 𝑇 2 = 1 , 𝑇 settle = 5 , 𝑠 ESO = 10 · 𝑠 CL . ( a ) V ariation of 𝐾 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) V ar iation of 𝐷 , closed loop step response; ( d ) Controller output 𝑢 f or ( c ); ( e ) V ariation of 𝑇 , closed loop step response; ( f ) Controller output 𝑢 for ( e ). course, this comes at the price of the need f or f aster actuators and larg er controller outputs. Furthermore—as we will see in Section 4.2—faster observers are more sensitive to measurement noise and will be limited b y sample time restrictions in discrete time implementations. 3.2.3 Effect of Actuator Saturation Analogously to Section 3.1.3, the e xperiments were car ried out b y e xtending the controller str ucture, such that the saturated controller output, 𝑢 lim ( 𝑡 ) , was f ed bac k to the obser v er instead of 𝑢 ( 𝑡 ) (compare Figure 5 f or the first-order case). The resulting step responses and controller outputs f or varying process parameters can be f ound in Figure 16 Gernot Herbst 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (a) 0 5 10 15 −5 0 5 10 15 t u T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (b) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (c) 0 5 10 15 −2 0 2 4 6 t u T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (d) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (e) 0 5 10 15 −1 0 1 2 3 4 t u T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (f) Figure 12. Experiment 3.2.2: effect of obser v er pole locations for a second-order ADR C controlling second-order processes with varying parameter , 𝑇 . Nominal process parameters: 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 2 = 1 , 𝑇 settle = 5 , 𝑠 ESO varying. ( a ) Closed loop step response, 𝑠 ESO = 100 · 𝑠 CL ; ( b ) Controller output 𝑢 for ( a ); ( c ) Closed loop step response, 𝑠 ESO = 10 · 𝑠 CL ; ( d ) Controller output 𝑢 f or ( c ); ( e ) Closed loop step response, 𝑠 ESO = 5 · 𝑠 CL ; ( f ) Controller output 𝑢 f or ( e ). 13. As expected, lo wering the DC gain, 𝐾 , of the process forced the controller into saturation, such that the desired process output could not be reached anymore. It has to be stressed again that the controller output did not wind up, as visible in Figure 13. When decelerating the process (increased damping 𝐷 ), the closed loop dynamics suffered when the controller output ran into saturation (increased settling time), but there were no additional oscillations after recov er ing from saturation, as kno wn from classical PID control without anti-windup measures. A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 17 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (a) 0 5 10 15 −1 0 1 2 3 4 5 t u K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (b) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (c) 0 5 10 15 0 1 2 3 4 t u D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (d) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (e) 0 5 10 15 −1 0 1 2 3 4 t u T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (f) Figure 13. Experiment 3.2.3: effect of actuator saturation, | 𝑢 lim | ≤ 3 , on a fix ed second-order ADR C controlling a second-order process with varying parameters. Nominal process parameters: 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 2 = 1 , 𝑇 settle = 5 , 𝑠 ESO = 10 · 𝑠 CL . The controller outputs are shown before the limitation (dashed line) takes effect. ( a ) V ar iation of 𝐾 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) V ar iation of 𝐷 , closed loop step response; ( d ) Controller output 𝑢 f or ( c ); ( e ) V ar iation of 𝑇 , closed loop step response; ( f ) Controller output 𝑢 f or ( e ). 3.2.4 Effect of Dead Time Similar to Section 3.1.4, the second-order ADR C was confronted with an unknown dead time in the process with 𝑇 dead ≤ 0 . 3 . One can see from Figure 14a that the controller and observer work v er y well together , such that the output is hardly being affected b y the dead time, which is also an impro v ement compared to the first-order case in Section 3.1.4. In the controller output in Figure 14b, how ev er, oscillations become increasingly visible with larg er values of 𝑇 dead . Again, this situation can be improv ed by delaying the input of the obser v er , i.e ., using 𝑢 ( 𝑡 − 𝑇 ESO dead ) instead of 𝑢 ( 𝑡 ) in Equation (12). For a fixed value, 𝑇 ESO dead = 0 . 1 , the controller beha vior is sho wn in Figure 14c and 18 Gernot Herbst 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T dead = 0 T dead = 0.1 T dead = 0.2 T dead = 0.3 (a) 0 5 10 15 0.4 0.6 0.8 1 1.2 1.4 1.6 t u T dead = 0 T dead = 0.1 T dead = 0.2 T dead = 0.3 (b) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T dead = 0 T dead = 0.1 T dead = 0.2 T dead = 0.3 (c) 0 5 10 15 0.4 0.6 0.8 1 1.2 1.4 1.6 t u T dead = 0 T dead = 0.1 T dead = 0.2 T dead = 0.3 (d) Figure 14. Experiment 3.2.4: effect of dead time, 𝑇 dead , on a second-order ADR C controlling a process with second- order dynamics ( 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 ) and unknown dead time. ADR C parameters: 𝑏 0 = 𝐾 𝑇 2 = 1 , 𝑇 settle = 5 , 𝑠 ESO = 5 · 𝑠 CL . In ( c ) and ( d ), a fixed dead time, 𝑇 ESO dead , was incor porated into the obser v er to impro ve the controller beha vior . ( a ) V ar iation of 𝑇 dead , closed loop step response; ( b ) Controller output 𝑢 f or ( a ); ( c ) Closed loop step response, obser v er with 𝑇 ESO dead = 0 . 1 ; ( d ) Controller output 𝑢 f or ( a ). (d), where the controller oscillations are already significantly reduced, ev en if 𝑇 ESO dead does not match the actual dead time. 3.2.5 Effect of Structural Uncertainties Besides unknown dead times, the controller may be f aced with higher -order dynamics in the process. Theref ore, the effect of an unknown third pole in the process was ex amined in Figure 15. The time constant, 𝑇 3 , of the third pole was varied within 0 . 001 ≤ 𝑇 3 ≤ 1 , i.e ., the third pole was identical to the two known poles of the plant in the e xtreme case. In contrast to the first-order ADR C in Section 3.1.5, the second-order ADR C prov ed to hav e v ery good robustness against an unkno wn higher-order dynamics, ev en in the more challenging cases of Figure 15. 3.2.6 Comparison to PI and PID Control T o view and assess the abilities of the second-order ADRC from a perspective of classical control, we will no w emplo y s tandard PI and PID controllers and—after fixing their parameters—expose them to the same process parameter variations, as done in Section 3.2.1. T o ensure comparability , all controllers are being designed f or the same closed loop dynamics (settling time 𝑇 settle = 5 , no ov ershoot) using the nominal process parameters, 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 . The PI controller is giv en and parameter ized as f ollow s: 𝐶 PI ( 𝑠 ) = 𝐾 P + 𝐾 I 𝑠 with 𝐾 I = 2 . 55 𝐾 · 𝑇 settle = 0 . 51 and 𝐾 P = 𝐾 I · 1 . 5 · 𝐷 · 𝑇 = 0 . 765 A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 19 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T 3 = 0.001 T 3 = 0.01 T 3 = 0.1 T 3 = 1 (a) 0 5 10 15 0.5 1 1.5 2 t u T 3 = 0.001 T 3 = 0.01 T 3 = 0.1 T 3 = 1 (b) Figure 15. Experiment 3.2.5: effect of s tructural uncer tainties on a second-order ADR C controlling a process with dominating second-order behavior ( 𝐾 = 1 , 𝐷 = 1 , 𝑇 = 1 ) and higher-order dynamics caused by an unkno wn third pole at 𝑠 = − 1 / 𝑇 3 . ADR C parameters: 𝑏 0 = 𝐾 𝑇 2 = 1 , 𝑇 settle = 5 , 𝑠 ESO = 5 · 𝑠 CL . ( a ) V ar iation of 𝑇 3 , closed loop step response; ( b ) Controller output 𝑢 f or ( a ). 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (a) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (b) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y K = 1 K = 0.1 K = 0.2 K = 0.5 K = 2 K = 5 (c) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (d) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (e) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y D = 1 D = 0.1 D = 0.2 D = 0.5 D = 2 D = 5 D = 10 (f) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (g) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (h) 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y T = 1 T = 0.5 T = 2 T = 3 T = 3.5 (i) Figure 16. Experiment 3.2.6: comparison of second-order ADR C, PI and PID controllers f aced with varying process parameters, 𝐾 , 𝐷 and 𝑇 . Nominal process and ADR C parameters are as throughout Section 3.2. For each combination, the closed loop step response is sho wn. ( a ) V ar iation of 𝐾 , ADRC; ( b ) V ariation of 𝐾 , PI; ( c ) V ariation of 𝐾 , PID; ( d ) V ar iation of 𝐷 , ADR C; ( e ) V ar iation of 𝐷 , PI; ( f ) V ar iation of 𝐷 , PID; ( g ) V ar iation of 𝑇 , ADRC; ( h ) V ar iation of 𝑇 , PI; ( i ) V ariation of 𝑇 , PID. 20 Gernot Herbst 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 1.2 1.4 t y ADRC PI PID (a) 0 5 10 15 20 25 30 35 0 0.5 1 1.5 2 2.5 3 t u ADRC PI PID (b) Figure 17. Experiment 3.2.7: comparison of disturbance rejection beha vior (second-order ADR C vs . PI vs . PID controller). Process and ADRC parameters are as throughout Section 3.2. Input disturbance, 𝑑 = 0 . 5 , effectiv e from 𝑡 = 15 until 𝑡 = 25 . ( a ) Step response and reaction on disturbance; ( b ) Controller output 𝑢 f or ( a ). For the PID controller , we will emplo y a PIDT 1 -type controller in two-pole-tw o-zero form, designed such that the zeros of the controller cancel the process poles. The controller gain is chosen to matc h the closed loop dynamics to the PI and ADR C case: 𝐶 PID ( 𝑠 ) = 𝐾 I · ( 1 + 𝑇 Z1 · 𝑠 ) ( 1 + 𝑇 Z2 · 𝑠 ) 𝑠 · ( 1 + 𝑇 1 · 𝑠 ) with 𝐾 I = 3 𝐾 · 𝑇 settle = 0 . 6 , 𝑇 Z1 / 2 = 𝑇 = 1 and 𝑇 1 = 0 . 2 The simulation results are compiled in Figure 16, where each column represents one of the three controller types and each row , a different process parameter being varied. T o summarize, it has to be stated that in each case, the ADR C approac h sur passes the results of PI and PID control by a larg e margin with respect to sensitivity to wards parameter variations, with a slight advantag e of PID compared to PI control. 3.2.7 Disturbance Rejection of ADR C, PI and PID As our final e xperiment for the second-order case, w e will ev aluate the disturbance rejection capabilities of ADR C, PI and PID control using the controller settings from the previous section. All of them are tuned for the same closed loop response. For each control loop, an input disturbance, 𝑑 = 0 . 5 , is applied dur ing a ten-second interval after reaching steady state; compare Figure 17. One can easil y recognize that ADR C compensates the disturbance much faster , such that its effect on the control variable remains v er y low . While both PI and PID controllers could also be tuned more aggressiv ely f or a similar disturbance rejection beha vior , one w ould hav e to employ additional measures, such as setpoint filters, to retain a non-oscillating ref erence tracking beha vior . 4 Discre te Time ADR C Practical implementations of a controller with a state obser v er, such as the ADRC approach, will most lik ely be done in discrete time form, e.g. emplo ying a microcontroller . Since the actual control law f or linear ADR C is based on propor tional state feedbac k, a discrete time version can already be obtained by only discretizing the e xtended state observer , which will be done in Section 4.1. The quasi-continuous approach will be valid onl y f or sufficiently fas t sampling, of course. Otherwise, the state f eedback should be designed e xplicitl y f or a discretized process model incorporating sampling delay s. In Section 4.2, simulative experiments will be car ried out in order to visually assess the influence of the discretisation process and measurement noise on the control loop performance. 4.1 Discretisation of the State Observ er For a sys tem without a feed-through ter m, the standard approach for a discrete-time observer is: ˆ 𝒙 ( 𝑘 + 1 ) = 𝑨 d · ˆ 𝒙 ( 𝑘 ) + 𝑩 d · 𝒖 ( 𝑘 ) + 𝑳 p · ( 𝑦 ( 𝑘 ) − 𝑪 d · ˆ 𝒙 ( 𝑘 ) ) (22) A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 21 If we look at the equation f or the estimation er ror of Equation (22), w e can see that—just as in the continuous case—the dynamics of the error decay are deter mined by the matr ix 𝑨 d − 𝑳 p · 𝑪 d : 𝒆 ( 𝑘 + 1 ) = 𝒙 ( 𝑘 + 1 ) − ˆ 𝒙 ( 𝑘 + 1 ) = 𝑨 d − 𝑳 p · 𝑪 d · ( 𝒙 ( 𝑘 ) − ˆ 𝒙 ( 𝑘 ) ) Since the obser v er gains in 𝑳 p influence the pole placement f or the matr ix 𝑨 d − 𝑳 p · 𝑪 d , they can be chosen such that the estimation settles within a desired time. Here, 𝑨 d , 𝑩 d and 𝑪 d ref er to time-discrete versions of the respectiv e matrices in the state space process models Equations (3) and (11) obtained by a discretisation method. Since there is no matrix 𝑫 d in the obser v er equations, the discretisation of the model must deliv er 𝑫 d = 0 , f or e xample, via zero order hold (ZOH) sampling. This observer approach is also being called “prediction obser v er”, since the cur rent measurement, 𝑦 ( 𝑘 ) , will be used as a correction of the estimate only in the subsequent time step, ˆ 𝒙 ( 𝑘 + 1 ) . In order to reduce unnecessar y time dela ys (which may ev en destabilize the control loop), it is advisable [10] to emplo y a different obser v er approach called “filtered obser v er” or “cur rent obser v er” [5]. The underl ying idea is—similar to Kalman filter ing—to split the update equation in two steps, namel y a prediction step to predict ˆ 𝒙 ( 𝑘 | 𝑘 − 1 ) based on measurements of the previous time step, 𝑘 − 1 , and a cor rection s tep to obtain the final estimate, ˆ 𝒙 ( 𝑘 | 𝑘 ) , incor porating the most recent measurement, 𝑦 ( 𝑘 ) : ˆ 𝒙 ( 𝑘 | 𝑘 − 1 ) = 𝑨 d · ˆ 𝒙 ( 𝑘 − 1 | 𝑘 − 1 ) + 𝑩 d · 𝒖 ( 𝑘 − 1 ) (prediction) ˆ 𝒙 ( 𝑘 | 𝑘 ) = ˆ 𝒙 ( 𝑘 | 𝑘 − 1 ) + 𝑳 c · ( 𝑦 ( 𝑘 ) − 𝑪 d · ˆ 𝒙 ( 𝑘 | 𝑘 − 1 ) ) (correction) If we put the prediction into the correction equation and abbreviate ˆ 𝒙 ( 𝑘 | 𝑘 ) = ˆ 𝒙 ( 𝑘 ) , w e obtain one update equation for the observer: ˆ 𝒙 ( 𝑘 ) = ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) · ˆ 𝒙 ( 𝑘 − 1 ) + ( 𝑩 d − 𝑳 c · 𝑪 d · 𝑩 d ) · 𝑢 ( 𝑘 − 1 ) + 𝑳 c · 𝑦 ( 𝑘 ) (23) From the estimation er ror , we can see that, in contrast to the prediction obser v er , the er ror dynamics are determined by the matr ix ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) : 𝒆 ( 𝑘 + 1 ) = 𝒙 ( 𝑘 + 1 ) − ˆ 𝒙 ( 𝑘 + 1 ) = ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) · ( 𝒙 ( 𝑘 ) − ˆ 𝒙 ( 𝑘 ) ) When computing the obser v er gains in 𝑳 c , this has to be taken into account, i.e ., one must choose 𝑳 c , such that the eigen values of ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) match the desired obser v er pole locations. The discrete time v ersions of the matr ices 𝑨 , 𝑩 and 𝑪 from the the state space process models, which are necessary for the obser v er equations, can be obtained by ZOH discretisation [5]: 𝑨 d = 𝑰 + ∞ 𝑖 = 1 𝑨 𝑖 · 𝑇 𝑖 sample 𝑖 ! , 𝑩 d = ∞ 𝑖 = 1 𝑨 𝑖 − 1 · 𝑇 𝑖 sample 𝑖 ! ! · 𝑩 , 𝑪 d = 𝑪 , 𝑫 d = 𝑫 (24) For the first-order process in Equation (3), 𝑨 and 𝑩 are being discretized as f ollow s, while 𝑪 d = 𝑪 = 1 0 and 𝑫 d = 𝑫 = 0 remain unchang ed: 𝑨 = 0 1 0 0 , 𝑩 = 𝑏 0 0 giv es 𝑨 d = 1 𝑇 sample 0 1 , 𝑩 d = 𝑏 0 · 𝑇 sample 0 This can be computed via Equation (24) easily , since 𝑨 𝑖 = 0 f or 𝑖 ≥ 2 . Follo wing the same procedure f or the second-order case in Equation (11), 𝑪 d = 𝑪 = 1 0 0 and 𝑫 d = 𝑫 = 0 remain unchang ed, and one obtains f or 𝑨 d and 𝑩 d (since 𝑨 𝑖 = 0 for 𝑖 ≥ 3 ): 𝑨 = © « 0 1 0 0 0 1 0 0 0 ª ® ¬ , 𝑩 = © « 0 𝑏 0 0 ª ® ¬ giv es 𝑨 d = © « 1 𝑇 sample 𝑇 2 sample / 2 0 1 𝑇 sample 0 0 1 ª ® ¬ , 𝑩 d = © « 𝑏 0 · 𝑇 2 sample / 2 𝑏 0 · 𝑇 sample 0 ª ® ¬ No w , one can compute the obser v er gain, 𝑳 c = 𝑙 1 𝑙 2 T (first-order case) or 𝑳 c = 𝑙 1 𝑙 2 𝑙 3 T (f or the second-order ADRC) to obtain the desired observer dynamics. The desired pole locations can, in a first step, be f or mulated in the 𝑠 -plane, as in Sections 2.1 and 2.2, and then be mapped to the 𝑧 -plane: 𝑧 ESO = e 𝑠 ESO · 𝑇 sample . The 22 Gernot Herbst computation of 𝑳 c ma y either be done numerically or anal yticall y . T o demonstrate this, we will der iv e the equations f or the first-order case with one common pole location, 𝑧 ESO , f or both poles: det ( 𝑧 𝑰 − ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) ) ! = 𝑧 − 𝑧 ESO 2 det 𝑧 + 𝑙 1 − 1 𝑙 1 · 𝑇 sample − 𝑇 sample 𝑙 2 𝑧 + 𝑙 2 · 𝑇 sample − 1 ! = 𝑧 2 − 2 · 𝑧 ESO · 𝑧 + 𝑧 ESO 2 𝑧 2 + 𝑙 1 + 𝑙 2 · 𝑇 sample − 2 · 𝑧 + ( 1 − 𝑙 1 ) ! = 𝑧 2 − 2 · 𝑧 ESO · 𝑧 + 𝑧 ESO 2 By compar ing the coefficients, one obtains for 𝑙 1 and 𝑙 2 (solutions f or higher -order observers can be found in [10]): † 𝑙 1 = 1 − 𝑧 ESO 2 , 𝑙 2 = 1 𝑇 sample · 1 − 𝑧 ESO 2 (25) As in the continuous time case in Section 2, the implementation and design of a discrete time linear ADR C can be summarized in four steps, where the first-order and second-order case are distinguished by (a) and (b): 1. Modeling: (a) For a process with dominating first-order behavior , 𝑃 ( 𝑠 ) = 𝐾 𝑇 𝑠 + 1 , one should pro vide an estimate 𝑏 0 ≈ 𝐾 𝑇 . (b) For a second-order process, 𝑃 ( 𝑠 ) = 𝐾 𝑇 2 𝑠 2 + 2 𝐷𝑇 𝑠 + 1 , an appro ximate value 𝑏 0 ≈ 𝐾 𝑇 2 is sufficient. 2. Control structur e: Implement a discrete-time obser v er with two state variables, ˆ 𝒙 ( 𝑘 ) = ˆ 𝑥 1 ( 𝑘 ) ˆ 𝑥 2 ( 𝑘 ) T (f or the first-order case) or three state variables ˆ 𝒙 ( 𝑘 ) = ˆ 𝑥 1 ( 𝑘 ) ˆ 𝑥 2 ( 𝑘 ) ˆ 𝑥 3 ( 𝑘 ) T (f or the second-order case), as follo ws: ˆ 𝒙 ( 𝑘 ) = ( 𝑨 d − 𝑳 c · 𝑪 d · 𝑨 d ) · ˆ 𝒙 ( 𝑘 − 1 ) + ( 𝑩 d − 𝑳 c · 𝑪 d · 𝑩 d ) · 𝑢 ( 𝑘 − 1 ) + 𝑳 c · 𝑦 ( 𝑘 ) Using the estimated state variables, implement a propor tional state feedbac k controller: (a) 𝑢 ( 𝑘 ) = 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑦 ( 𝑘 ) ) − ˆ 𝑓 ( 𝑘 ) 𝑏 0 = 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑥 1 ( 𝑘 ) ) − ˆ 𝑥 2 ( 𝑘 ) 𝑏 0 (b) 𝑢 ( 𝑘 ) = 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑦 ( 𝑘 ) ) − 𝐾 D · ¤ ˆ 𝑦 ( 𝑘 ) − ˆ 𝑓 ( 𝑘 ) 𝑏 0 = ( 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑥 1 ( 𝑘 ) ) − 𝐾 D · ˆ 𝑥 2 ( 𝑘 ) ) − ˆ 𝑥 3 ( 𝑘 ) 𝑏 0 3. Closed loop dynamics: Choose the controller parameters, e.g. via pole placement according to a desired settling time: (a) 𝐾 P = − 𝑠 CL with 𝑠 CL ≈ − 4 𝑇 settle (b) 𝐾 P = 𝑠 CL 2 , 𝐾 D = − 2 · 𝑠 CL with 𝑠 CL ≈ − 6 𝑇 settle 4. Obser v er dynamics: Place the desired obser v er poles f ar enough left of the closed loop poles in the 𝑠 -plane, e.g. b y a common location, 𝑠 ESO = 𝑘 ESO · 𝑠 CL ≈ ( 3 . . . 10 ) · 𝑠 CL . Map to the 𝑧 -plane via 𝑧 ESO = e 𝑠 ESO · 𝑇 sample and compute the necessary obser v er gains: (a) 𝑙 1 = 1 − 𝑧 ESO 2 , 𝑙 2 = 1 𝑇 sample · 1 − 𝑧 ESO 2 (b) 𝑙 1 = 1 − 𝑧 ESO 3 , 𝑙 2 = 3 2 · 𝑇 sample · 1 − 𝑧 ESO 2 · 1 + 𝑧 ESO , 𝑙 3 = 1 𝑇 2 sample · 1 − 𝑧 ESO 3 A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 23 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 t y Ts = 0.01 Ts = 0.02 Ts = 0.05 Ts = 0.1 Ts = 0.2 (a) 0 0.5 1 1.5 2 0 1 2 3 4 t u Ts = 0.01 Ts = 0.02 Ts = 0.05 Ts = 0.1 Ts = 0.2 (b) Figure 18. Experiment 4.2.1: influence of different sample time settings on discrete-time ADR C. Measurement noise variance: 𝜎 2 noise = 0 . 0001 . Obser v er pole placement: 𝑘 ESO = 5 . ( a ) V ar iation of 𝑇 sample , closed loop step response; ( b ) Controller output 𝑢 f or ( a ). 4.2 Simulativ e Experiments As in the continuous-time e xper iments in Section 3.1, a first-order process will be ex amined in this section: 𝑃 ( 𝑠 ) = 𝑦 ( 𝑠 ) 𝑢 ( 𝑠 ) = 𝐾 𝑇 𝑠 + 1 with 𝐾 = 1 and 𝑇 = 1 U nless other wise noted in individual e xperiments, the ADR C will be designed assuming perfect know ledge, 𝑏 0 = 𝐾 / 𝑇 = 1 , with 𝑘 ESO = 5 , and a desired 2% settling time, 𝑇 settle = 1 . The discretisation will be based on a sampling time 𝑇 sample = 0 . 01 . Gaussian measurement noise will be added with a variance 𝜎 2 noise = 0 . 0001 . 4.2.1 Effect of Sample Time When choosing the sampling time f or a discrete-time implementation of a controller with an observer , one has to consider not only the process dynamics, but also the dynamics of the obser v er . If, on the other hand, restr ictions to sample times are present, the dynamics of the obser v er will be limited. In the case of ADR C, this would mean that the desired beha vior of the process ma y not be achie ved under all circumstances. In Figure 18, simulations were perf ormed using sample times f or ADR C ranging from 𝑇 sample = 0 . 01 to 𝑇 sample = 0 . 20 . As expected, oscillations in the controller output are increasingl y visible f or large sample times. Consequentl y , the closed loop dynamics differ from the desired first-order behavior as the sampling interval becomes too coarse. 4.2.2 Effect of Measurement Noise While state f eedback controllers based on obser v ers rather than direct measurements are less susceptible to mea- surement noise, oscillations in the controller output will still occur with higher noise le v els. In the simulations presented in Figure 19, normally distributed noise with increasing variance ranging from 𝜎 2 noise = 0 to 𝜎 2 noise = 0 . 001 was added to the process output. The results cor respond to these e xpectations. The effect of measurement noise on oscillations in the controller output, ho w e v er , ma y be mitigated b y designing an obser v er with slow er dynamics, which will be demonstrated in the follo wing e xperiment. 4.2.3 Effect of Observer Pole Locations In the simulations with varying observ er dynamics presented in Figure 20, the typical trade-off between fas t setpoint tracking and noise rejection becomes visible. If the observ er poles are placed far enough left of the closed loop poles in the 𝑠 -plane via 𝑘 ESO , the closed loop dynamics can adopt the desired first-order behavior , but the control variable becomes more sensitive to measurement noise and increasingly exhibits un wanted oscillations. On the other hand, placing obser v er poles near the closed loop poles provides good measures to suppress the effect of measurement noise on the control action, but the closed loop dynamics will suffer, especially under process parameter chang es, cf . Sections 3.1.2 and 3.2.2. 24 Gernot Herbst 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 t y noise = 0 noise = 0.001 noise = 0.0001 noise = 1e−05 (a) 0 0.5 1 1.5 2 0 1 2 3 4 t u noise = 0 noise = 0.001 noise = 0.0001 noise = 1e−05 (b) Figure 19. Experiment 4.2.2: influence of different lev els of measurement noise on discrete-time ADR C. Sample time: 𝑇 sample = 0 . 01 . Observ er pole placement: 𝑘 ESO = 5 . ( a ) V ariation of 𝜎 2 noise , closed loop step response; ( b ) Controller output 𝑢 f or ( a ). 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 t y kESO = 5 kESO = 1 kESO = 2 kESO = 10 (a) 0 0.5 1 1.5 2 0 1 2 3 4 t u kESO = 5 kESO = 1 kESO = 2 kESO = 10 (b) Figure 20. Experiment 4.2.3: influence of observer pole placement via 𝑘 ESO on discrete-time ADR C. Sample time: 𝑇 sample = 0 . 01 . Measurement noise variance: 𝜎 2 noise = 0 . 0001 . ( a ) V ar iation of 𝑘 ESO , closed loop step response; ( b ) Controller output 𝑢 f or ( a ). 5 Optimized Discre te- T ime Implementation In a practical discrete-time implementation with tight timing constraints, the lag betw een sensor input and controller output should be as small as possible, which means that one should tr y to reduce the computational effor t f or a controller . Due to the obser v er-based approach, ADRC has a bigger computational f ootpr int than a classical PID- type controller . In this section, we will try to reduce the number of computations, on the one hand, and present an implementation f ocused on low input-output delay , on the other hand. 5.1 State V ariable T ransf ormation W e start with the discrete-time obser v er from Equation (23) in the f ollo wing abbreviated form: ˆ 𝒙 ( 𝑘 ) = 𝑨 ESO · ˆ 𝒙 ( 𝑘 − 1 ) + 𝑩 ESO · 𝑢 ( 𝑘 − 1 ) + 𝑳 ESO · 𝑦 ( 𝑘 ) and with a control la w f or the first-order or second-order case: 𝑢 ( 𝑘 ) = 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑥 1 ( 𝑘 ) ) − ˆ 𝑥 2 ( 𝑘 ) 𝑏 0 or 𝑢 ( 𝑘 ) = ( 𝐾 P · ( 𝑟 ( 𝑘 ) − ˆ 𝑥 1 ( 𝑘 ) ) − 𝐾 D · ˆ 𝑥 2 ( 𝑘 ) ) − ˆ 𝑥 3 ( 𝑘 ) 𝑏 0 One can simplify the controller structure b y scaling the outputs of the obser v er , such that the multiplications b y 𝑏 0 , 𝐾 P and 𝐾 D (the latter onl y f or the second-order case) can be omitted. The desired scaling of the ne w state variables, e 𝑥 𝑖 , is achie ved via: A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 25 Process K P b 0 Observer u y r ˜ x 1 − ˜ x 2 − (a) Process K P b 0 Observer u y r ˜ x 1 ˜ x 3 − − ˜ x 2 − (b) Figure 21. Control loop with modified ADRC structure and transf ormed state v ar iables, ˜ 𝑥 . ( a ) Modified firs t-order structure; ( b ) Modified second-order structure. (a) ˜ 𝑥 1 = 𝐾 P 𝑏 0 · ˆ 𝑥 1 , ˜ 𝑥 2 = 1 𝑏 0 · ˆ 𝑥 2 (f or the first-order case) (b) ˜ 𝑥 1 = 𝐾 P 𝑏 0 · ˆ 𝑥 1 , ˜ 𝑥 2 = 𝐾 D 𝑏 0 · ˆ 𝑥 2 , ˜ 𝑥 3 = 1 𝑏 0 · ˆ 𝑥 3 (f or the second-order case) The ADRC structure can then be modified as giv en in Figure 21. Generally speaking, we perform a coordinate transf or mation from the old estimated variables ˆ 𝒙 to ˜ 𝒙 by means of a transformation matrix: 𝑻 − 1 = 1 𝑏 0 · 𝐾 P 0 0 1 (1 st order ADR C) or 𝑻 − 1 = 1 𝑏 0 · © « 𝐾 P 0 0 0 𝐾 D 0 0 0 1 ª ® ¬ (2 nd order) (26) Using this matrix 𝑻 , the state space equations f or the extended state observer must be transf or med in order to obtain an ESO w orking with our new state variables, ˜ 𝒙 = 𝑻 − 1 · ˆ 𝒙 : e 𝑨 ESO = 𝑻 − 1 · 𝑨 ESO · 𝑻 , e 𝑩 ESO = 𝑻 − 1 · 𝑩 ESO , e 𝑳 ESO = 𝑻 − 1 · 𝑳 ESO (27) In this manner, multiplications of the state variables b y 𝑏 0 , 𝐾 P and 𝐾 D can be av oided. Pro vided the reference, 𝑟 ( 𝑘 ) , does not chang e at each point in time, one can precompute 𝐾 P 𝑏 0 · 𝑟 , as well. The control la w s are being simplified to the f ollowing f orm: 𝑢 ( 𝑘 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑘 ) − ˆ 𝑥 1 ( 𝑘 ) − ˆ 𝑥 2 ( 𝑘 ) or 𝑢 ( 𝑘 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑘 ) − ˜ 𝑥 1 ( 𝑘 ) − ˜ 𝑥 2 ( 𝑘 ) − ˜ 𝑥 3 ( 𝑘 ) 5.2 Minimizing Latency b y Precomputation In an application with fixed sampling frequency , the controller per f ormance can be improv ed b y minimizing the latency between acquisition of input signals and output of the updated controller action within a sampling per iod. This input-output lag is not necessar il y dependent on the o v erall number of computations of a control law , but rather on the computations necessar y to deliv er the controller output, with the computations left being per f or med after that during the remaining time of the sampling per iod. W e will optimize the discrete-time implementation of ADR C in this regard and, subsequently , derive fur ther equations in detail for the second-order case. Follo wing the ideas of the previous section, the estimated state variables must be updated according to Equation (28) and used to compute the controller output in Equation (29), at each point in time 𝑘 : ˜ 𝒙 ( 𝑘 ) = e 𝑨 ESO · ˜ 𝒙 ( 𝑘 − 1 ) + e 𝑩 ESO · 𝑢 ( 𝑘 − 1 ) + e 𝑳 ESO · 𝑦 ( 𝑘 ) (28) 26 Gernot Herbst with ˜ 𝒙 = © « ˜ 𝑥 1 ˜ 𝑥 2 ˜ 𝑥 3 ª ® ¬ , e 𝑨 ESO = © « e 𝑎 11 e 𝑎 12 e 𝑎 13 e 𝑎 21 e 𝑎 22 e 𝑎 33 e 𝑎 31 e 𝑎 32 e 𝑎 33 ª ® ¬ , e 𝑩 ESO = © « e 𝑏 1 e 𝑏 2 e 𝑏 3 ª ® ® ¬ , e 𝑳 ESO = © « ˜ 𝑙 1 ˜ 𝑙 2 ˜ 𝑙 3 ª ® ¬ 𝑢 ( 𝑘 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑘 ) − ˜ 𝑥 1 ( 𝑘 ) − ˜ 𝑥 2 ( 𝑘 ) − ˜ 𝑥 3 ( 𝑘 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑘 ) − 1 1 1 · ˜ 𝒙 ( 𝑘 ) (29) When inser ting Equation (28) into Eq uation (29), one can see that 𝑢 ( 𝑘 ) depends both on variables from time 𝑘 , 𝑦 ( 𝑘 ) and 𝑟 ( 𝑘 ) , and from time 𝑘 − 1 , 𝑢 ( 𝑘 − 1 ) and ˜ 𝒙 ( 𝑘 − 1 ) . An idea f or providing 𝑢 ( 𝑘 ) with lo w er latency would theref ore be to precompute all ter ms stemming from time 𝑘 − 1 already at 𝑘 − 1 and only update this precomputed value, 𝑢 ( 𝑘 | 𝑘 − 1 ) , at time 𝑘 to obtain and output 𝑢 ( 𝑘 ) = 𝑢 ( 𝑘 | 𝑘 ) , as soon as the necessar y measurements become a vailable. Further optimization is possible if the ref erence value, 𝑟 , does not chang e rapidly , remains constant or is known in advance. W e will denote this by 𝑟 ( 𝑘 + 1 | 𝑘 ) , i.e ., 𝑟 ( 𝑘 + 1 ) is already known at time 𝑘 , f or any of the reasons mentioned. Then, only the measured process output, 𝑦 ( 𝑘 ) , has to be included in the update step to obtain 𝑢 ( 𝑘 ) = 𝑢 ( 𝑘 | 𝑘 ) : 𝑢 ( 𝑘 ) = 𝑢 ( 𝑘 | 𝑘 − 1 ) − 1 1 1 · e 𝑳 ESO · 𝑦 ( 𝑘 ) = 𝑢 ( 𝑘 | 𝑘 − 1 ) − ˜ 𝑙 1 + ˜ 𝑙 2 + ˜ 𝑙 3 · 𝑦 ( 𝑘 ) (30) In Equation (30), the sum ( ˜ 𝑙 1 + ˜ 𝑙 2 + ˜ 𝑙 3 ) can be precomputed as well, such that only one multiplication and one addition is necessar y to calculate the controller output, 𝑢 ( 𝑘 ) . After that, the remaining time of the sampling per iod can be used to update the obser v er states via Equation (31) and precompute the output via Equation (32) f or the ne xt point in time, 𝑘 + 1 : ˜ 𝒙 ( 𝑘 + 1 | 𝑘 ) = e 𝑨 ESO · ˜ 𝒙 ( 𝑘 | 𝑘 − 1 ) + e 𝑳 ESO · 𝑦 ( 𝑘 ) | {z } ˜ 𝒙 ( 𝑘 ) + e 𝑩 ESO · 𝑢 ( 𝑘 ) (31) 𝑢 ( 𝑘 + 1 | 𝑘 ) = 𝐾 P 𝑏 0 · 𝑟 ( 𝑘 + 1 | 𝑘 ) − 1 1 1 · ˜ 𝒙 ( 𝑘 + 1 | 𝑘 ) (32) Note that the actual observer states, ˜ 𝒙 ( 𝑘 ) , are not explicitl y present and updated in the equations an ymore, since only the precomputed values, ˜ 𝒙 ( 𝑘 + 1 | 𝑘 ) , are needed. T o summar ize, a latency-optimized discrete-time implementation has to per f or m the f ollowing f our steps at each point in time 𝑘 , with the ne w controller output, 𝑢 ( 𝑘 ) , being av ailable already after the second step: 1. A cquire the cur rent measurement of the process output, 𝑦 ( 𝑘 ) . 2. Calculate and output 𝑢 ( 𝑘 ) b y Equation (30). 3. U pdate the internal obser v er states by Equation (31). 4. Precompute the controller output f or 𝑘 + 1 using Equation (32). 6 Conclusions By means of simulative experiments using generic first-order and second-order plants, it could be demonstrated that ADR C can be a pow er ful control tool. In this article, the linear case w as e xamined. It can adapt ev en to hea vily varying process parameters, and—in contras t to “classical” adaptiv e controllers—do so without ha ving to maintain an e xplicit model of the process. Since only little kno w ledge about a process has to be provided along with the desired closed loop dynamics, the parameter ization is easy f or both continuous time and discrete time cases and, theref ore, appealing to practitioners. For control problems with high dynamic requirements, an optimized f or mulation of the discrete time linear ADR C equations can be found, whic h enables the controller output to be computed with only one addition and one multiplication after the sensor input becomes av ailable. If ADR C can sho w its full potential in a specific application does, how ev er , depend on the relation of process dynamics, observer dynamics, sampling time and measurement noise. In order to pro vide the adaptability , the observer has to be fas t enough compared to the process and closed loop dynamics, on the one hand. On the other hand, the placement of the observer poles will be limited by sampling frequency and the increasing effects of noise on the control action. As long as a good compromise can be found in this regard, ADRC has to be considered as a strong and welcome alter nativ e to solving practical control problems. A Simulativ e Study on A ctive Dis turbance Rejection Control (ADR C) as a Control T ool f or Practitioners 27 R ef erences [1] Mituhik o Araki and Hidefumi T aguchi. T w o-deg ree-of-freedom PID controllers. International Journal of Control, Automation, and Syst ems , 1(4):401–411, December 2003. [2] Enrico Canuto. Embedded Model Control: Outline of the theor y . ISA T r ansactions , 46(3):363–377, 2007. doi:10.1016/j.isatra.2007.01.006 . [3] Xing Chen, Donghai Li, Zhiqiang Gao, and Chuanfeng W ang. T uning method for second-order activ e disturbance rejection control. In Proceedings of the 30th Chinese Control Conf er ence , pages 6322–6327, 2011. [4] Bruce A. Francis and W alter Mur ra y W onham. The inter nal model pr inciple of control theory . Automatica , 12(5):457–465, 1976. doi:10.1016/0005- 1098(76)90006- 6 . [5] Gene F . Franklin, Michael L. W orkman, and Dav e P o well. Digital Control of Dynamic Syst ems . Addison- W esle y Longman Publishing, Boston, MA, US A, 3rd edition, 1997. [6] Zhiqiang Gao. Scaling and bandwidth-parameter ization based controller tuning. In Proceedings of the 2003 American Control Conf er ence , pages 4989–4996, 2003. doi:10.1109/ACC.2003.1242516 . [7] Zhiqiang Gao. Activ e disturbance rejection control: A paradigm shift in f eedback control system design. In Proceedings of the 2006 American Control Conf erence , pag es 2399–2405, 2006. doi:10.1109/ACC.2006. 1656579 . [8] Zhiqiang Gao, Yi Huang, and Jingqing Han. An alter nativ e paradigm for control sys tem design. In Proceedings of the 40th IEEE Confer ence on Decision and Control , 2001. doi:10.1109/CDC.2001.980926 . [9] Jingqing Han. From PID to active disturbance rejection control. IEEE T r ansactions on Industrial Electronics , 56(3):900–906, 2009. doi:10.1109/TIE.2008.2011621 . [10] R ober t Mikloso vic, Aaron Radke, and Zhiqiang Gao. Discrete implementation and generalization of the e xtended state obser v er . In Pr oceedings of the 2006 American Control Conf er ence , pages 2209–2214, 2006. doi:10.1109/ACC.2006.1656547 . [11] Eric Oster tag. Mono- and Multivariable Control and Estimation . Spr ing er, 2011. [12] S. Joe Qin and Thomas A. Badgwell. A sur v ey of industrial model predictive control technology . Control Engineering Practice , 11(7):733–764, 2003. doi:10.1016/S0967- 0661(02)00186- 7 . [13] Aaron Radk e and Zhiqiang Gao. A surv e y of state and dis turbance obser v ers f or practitioners. In Proceedings of the 2006 American Control Confer ence , pages 5183–5188, 2006. doi:10.1109/ACC.2006.1657545 . [14] Y . X. Su, C. H. Zheng, and B. Y . Duan. Automatic disturbances rejection controller f or precise motion control of permanent-magnet synchronous motors. IEEE T ransactions on Industrial Electronics , 52(3):814–823, 2005. doi:10.1109/TIE.2005.847583 . [15] Bosheng Sun and Zhiqiang Gao. A DSP-based active disturbance rejection control design for a 1-kW H-bridge DC-DC po w er con v erter . IEEE T r ansactions on Industrial Electronics , 52(5):1271–1277, 2005. doi:10.1109/TIE.2005.855679 . [16] John Vincent, Dan Mor r is, Nathan Usher, Zhiqiang Gao, Shen Zhao, Ac hille Nicoletti, and Qinling Zheng. On active disturbance rejection based control design f or superconducting RF ca vities. Nuclear Instruments and Methods in Physics Resear c h A , 643(1):11–16, 2011. doi:10.1016/j.nima.2011.04.033 . [17] Qing Zheng and Zhiqiang Gao. On practical applications of activ e disturbance rejection control. In Proceed- ings of the 29th Chinese Control Confer ence , pages 6095–6100, 2010. Errata † . In this updated v ersion of the preprint, equation (25) and its der iv ation hav e been cor rected. The cor rect result for the obser v er gain 𝑙 2 is 𝑙 2 = 1 𝑇 sample · 1 − 𝑧 ESO 2 instead of the incor rect equation 𝑙 2 = 1 𝑇 sample · 1 − 𝑧 ESO 2 previousl y reported in the original publication, which is a vailable at doi:10.3390/electronics2030246. The author would like to thank Raf ał Madoński for repor ting this issue.
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment