A new concept on flatness-based control of nonlinear dynamical systems Gerasimos Rigatos
Pierluigi Siano
Nikolaos Zervos
Unit of Industrial Automation Industrial Systems Institute 26504, Rion Patras, Greece email:
[email protected]
Department of Industrial Engineering University of Salerno Fisciano, 84084, Italy email:
[email protected]
Unit of Industrial Automation Industrial Systems Institute 26504, Rion Patras, Greece email:
[email protected]
Abstract—The paper proposes a new method for the control of nonlinear dynamical systems which is based on differential flatness theory. The method assumes that the system is already found or can be transformed to the so-called triangular form. The controller design proceeds by showing that each row of the statespace model of the nonlinear system stands for a differentially flat system, where the flat output is chosen to be the associated state variable. Next, for each subsystem which is linked with a row of the state-space model a virtual control input is computed, that can invert the subsystem’s dynamics and can eliminate the subsystem’s tracking error. From the last row of the state-space description, the control input that is actually applied to the nonlinear system is found. This control input contains recursively all virtual control inputs which were computed for the individual subsystems associated with the previous rows of the state-space equation. Thus, by tracing the rows of the state-space model backwards, at each iteration of the control algorithm, one can finally obtain the control input that should be applied to the nonlinear system so as to assure that all its state vector elements will converge to the desirable setpoints. The proposed flatnessbased control method can solve efficiently several nonlinear control problems. Indicative evaluation results are presented in the manuscript in the form of simulation experiments. These confirm also the potential application of the proposed control method to electric power generators and to renewable power generation systems.
I. I NTRODUCTION Differential flatness theory is currently a main direction in nonlinear control systems analysis and synthesis [1-4]. A system is considered to be differentially flat if all its state variables and its control inputs can be expressed as functions of one single algebraic variable which is the so-called flat output, and also as functions of the flat-output’s derivatives [5-8]. The differential flatness property enables the transformation of the nonlinear system’s dynamics into the linear canonical form and the design of a state feedback controller through the application of pole placement techniques in the linearized equivalent model of the system [9-10]. In this paper, a different approach is developed for controller design in nonlinear dynamical systems which exhibit the differential flatness property. The method makes use of the initial nonlinear model of the system and of its decomposition into a set of nonlinear subsystems for which the differential flatness property holds.
l-)))
The proposed control method is directly applicable to nonlinear systems of the so-called triangular form, or to system’s which can be transformed into such a form. Each row of the state-space model of the nonlinear system is considered to be subsystem, which satisfies the differential flatness properties. For each subsystem which is associated with a row of the state-space model, a virtual control input is computed, capable of inverting the subsystem’s dynamics and of eliminating the subsystem’s tracking error. The control input that is actually applied to the nonlinear system is found from the last row of the state-space description. This control input incorporates in a recursive manner all virtual control inputs which were computed for the individual subsystems associated with the previous rows of the state-space equation. The control input that should be applied to the nonlinear system so as to assure that all its state vector elements will converge to the desirable setpoints, is obtained at each iteration of the control algorithm, by tracing the rows of the state-space model backwards. The performance of the proposed control method is evaluated through simulation experiments. These demonstrate, among other cases, the suitability of the proposed nonlinear control method for electric power generators and for the control of renewable energy systems. The structure of the paper is as follows: in Section II an overview of the properties of differentially flat systems is given. In Section III the new approach for differential flatness theory-based control of nonlinear dynamical systems has been analyzed. In Section IV the dynamics of the closed loop of the proposed nonlinear feedback control scheme is analyzed and stability proof is provided. In Section V simulation tests are carried out to evaluate the performance of the proposed feedback control scheme, using as case study the model of a synchronous electric power generator. Finally, in Section VI concluding remarks are stated. II. P ROPERTIES OF DIFFERENTIALLY FLAT SYSTEMS Differential flatness is a structural property of a class of nonlinear systems, denoting that all system variables (such as state vector elements and control inputs) can be written in
terms of a set of specific variables (the so-called flat outputs) and their derivatives [2], [3], [5], [6]. The nonlinear system 𝑥(𝑡) ˙ = 𝑓 (𝑥(𝑡), 𝑢(𝑡)) is considered. The time is 𝑡∈𝑅, the state vector is 𝑥(𝑡)∈𝑅𝑛 with initial conditions 𝑥(0) = 𝑥0 , and the input is 𝑢(𝑡)∈𝑅𝑚 . Next, the properties of differentially flat systems are given [4], [7], [9] : The finite dimensional system 𝑥(𝑡) ˙ = 𝑓 (𝑥(𝑡), 𝑢(𝑡)) can be written in the general form of an ordinary differential equation ˙ 𝑤, ¨ ⋅ ⋅ ⋅ , 𝑤(𝑖) ) = 0, 𝑖 = 1, 2, ⋅ ⋅ ⋅ , 𝑞. (ODE), i.e. 𝑆𝑖 (𝑤, 𝑤, The term 𝑤 is a generic notation for the system variables (these variables are for instance the elements of the system’s state vector 𝑥(𝑡) and the elements of the control input 𝑢(𝑡)) while 𝑤(𝑖) , 𝑖 = 1, 2, ⋅ ⋅ ⋅ , 𝑞 are the associated derivatives. The definition of differentially flat systems is as follows: Definition: The system 𝑥˙ = 𝑓 (𝑥, 𝑢), 𝑥∈𝑅𝑛 , 𝑚 is differentially flat if there exist relations: 𝑢∈𝑅 𝑟+1 (𝑅𝑚 )𝑟 →𝑅𝑛 and and ℎ : 𝑅𝑛 ×(𝑅𝑚 ) →𝑅𝑚 , 𝜙 : 𝑚 𝑟+1 𝑚 ˙ ⋅ ⋅ ⋅ , 𝑢(𝑟) ), 𝜓 : (𝑅 ) →𝑅 , such that 𝑦 = ℎ(𝑥, 𝑢, 𝑢, (𝑟−1) 𝑥 = 𝜙(𝑦, 𝑦, ˙ ⋅⋅⋅ ,𝑦 ) and 𝑢 = 𝜓(𝑦, 𝑦, ˙ ⋅ ⋅ ⋅ , 𝑦 (𝑟−1) , 𝑦 (𝑟) ). This means that all system dynamics can be expressed as a function of the flat output and its derivatives, therefore the state vector and the control input can be written as 𝑥(𝑡) = 𝜙(𝑦(𝑡), 𝑦(𝑡), ˙ ⋅ ⋅ ⋅ , 𝑦 (𝑟) (𝑡)), and (𝑟+1) (𝑡)). 𝑢(𝑡) = 𝜓(𝑦(𝑡), 𝑦(𝑡), ˙ ⋅⋅⋅ ,𝑦 After proving differential flatness properties for a dynamical system, flatness-based control is usually implemented through its transformation to the linear canonical form. This is explained in the following example. Example: The following state-space equation of a nonlinear DC motor is considered: 𝑥˙ 1 = 𝑥2 𝑥˙ 2 = 𝑘1 𝑥2 + 𝑘2 𝑥3 + 𝑘3 𝑥23 + 𝑘4 𝑇1 𝑥˙ 3 = 𝑘5 𝑥2 + 𝑘6 𝑥2 𝑥3 + 𝑘7 𝑥3 + 𝑘8 𝑢
(1)
where, 𝑥1 = 𝜃 is the rotor’s turn angle, 𝑥2 = 𝜃˙ is the rotor’s angular speed and 𝑥3 = 𝐼 is the armature’s current. Moreover, 𝑇1 the load torque, 𝑢 is the input voltage and 𝑘𝑖 are coefficients. From the second row of Eq. (1) one obtains,
𝑥˙ 1 = 𝑥2 𝑥˙ 2 = 𝑘2 𝑥3 + 𝑘3 𝑥23 𝑥˙ 3 = 𝑘5 𝑥2 + 𝑘6 𝑥2 𝑥3 + 𝑘7 𝑥3 + 𝑘8 𝑢
(4)
Then, setting the flat output to be 𝑦 = 𝑥1 one can see that all state variables 𝑥𝑖 , 𝑖 = 1, 2, 3 and the control input 𝑢 can be expressed as functions of this output and its derivatives. Indeed it holds 𝑥1 = 𝑦 𝑥2 = √ 𝑦˙ 2
−𝑘 +
∣𝑘 +4𝑘 𝑦¨∣
3 𝑥3 = 2 2𝑘32 1 𝑢 = 𝑔¯(𝑥) [𝑦 (3) − 𝑓¯(𝑥)]
(5)
The aforementioned system of Eq. (4) can be written in the Brunovsky (canonical) form: ⎛ ⎞ ⎛ 0 𝑦˙ 1 ⎝𝑦˙ 2 ⎠ = ⎝0 𝑦˙ 3 0
1 0 0
⎞⎛ ⎞ ⎛ ⎞ 0 𝑦1 0 1⎠ ⎝𝑦2 ⎠ + ⎝0⎠ 𝑣 𝑦3 0 1
(6)
where 𝑣 = 𝑓¯(𝑥, 𝑡) + 𝑔¯(𝑥, 𝑡)𝑢. Using a control input of the form 𝑢 = 𝑔¯(𝑥, 𝑡)−1 [𝑣 − 𝑓¯(𝑥, 𝑡)] it is possible to make the electric motor’s angle track any desirable setpoint. Therefore, a transformation of the system into a linear equivalent is obtained and then it is straightforward to design a a controller based on linear control theory. Thus, given the reference trajectory [𝑥∗1 , 𝑥∗2 , 𝑥∗3 ]𝑇 one can find the transformed reference trajectory [𝑦1∗ , 𝑦˙ 1∗ , 𝑦¨1∗ ]𝑇 and select the appropriate control input 𝑣 that succeeds tracking. Knowing 𝑣, the control 𝑢 of the initial system can be found. For the linearized description of the system given above, the (3) 𝑦 − 𝑦¨𝑑 ) − 𝑘𝑓2 (𝑦˙ − state feedback controller is 𝑣 = 𝑦𝑑 − 𝑘𝑓1 (¨ 𝑦˙ 𝑑 ) − 𝑘𝑓3 (𝑦 − 𝑦𝑑 ). This results in tracking error dynamics of the form 𝑒(3) (𝑡) + 𝑘𝑓1 𝑒¨(𝑡) + 𝑘𝑓2 𝑒(𝑡) ˙ + 𝑘𝑓3 𝑒(𝑡) = 0. By selecting the feedback gains 𝑘𝑓𝑖 , 𝑖 = 1, 2, 3 such that the previous characteristic polynomial is a Hurwitz one, it assured that 𝑙𝑖𝑚𝑡→∞ 𝑒(𝑡) = 0. III. A NEW APPROACH TO FLATNESS - BASED CONTROL FOR
𝑥 ¨2 = 𝑘1 𝑥˙ 2 + 𝑘2 𝑥˙ 3 + 2𝑘3 𝑥3 𝑥˙ 3 ⇒ 𝑥 ¨2 = 𝑘1 𝑥˙ 2 + 𝑘2 𝑥˙ 3 + 2𝑘3 𝑘5 𝑥2 𝑥3 + 2𝑘3 𝑘6 𝑥2 𝑥23 + +2𝑘3 𝑘7 𝑥23 + 2𝑘3 𝑘8 𝑥3 𝑢
NONLINEAR DYNAMICAL SYSTEM
(2)
The following nonlinear dynamical system is now examined:
(3)
𝑥˙ = 𝑓 (𝑥) + 𝑔(𝑥)𝑢 𝑥∈𝑅𝑛 𝑢∈𝑅 𝑦 = ℎ(𝑥)
Thus the input-output relation can be written as 𝑥 ¨2 = 𝑓¯(𝑥) + 𝑔¯(𝑥)𝑢
where, 𝑓¯(𝑥) = 𝑘1 𝑥˙ 2 + 𝑘2 𝑥˙ 3 + 2𝑘3 𝑘5 𝑥2 𝑥3 + 2𝑘3 𝑘6 𝑥2 𝑥23 + 2𝑘3 𝑘7 𝑥23 , and 𝑔¯(𝑥) = 2𝑘3 𝑘8 𝑥3 . Taking 𝑘1 = 0 and considering the torque 𝑇1 as external disturbance, the nonlinear DC motor model of Eq. (1) becomes
(7)
Moreover, it is considered that the system can be written in the so-called triangular form (this is also succeeded through transformation to the canonical form):
𝑥˙ 1 = 𝑓1 (𝑥1 ) + 𝑔1 (𝑥1 )𝑥2 𝑥˙ 2 = 𝑓2 (𝑥1 , 𝑥2 ) + 𝑔2 (𝑥1 , 𝑥2 )𝑥3 𝑥˙ 3 = 𝑓3 (𝑥1 , 𝑥2 , 𝑥3 ) + 𝑔3 (𝑥1 , 𝑥2 , 𝑥3 )𝑥4 ⋅⋅⋅ 𝑥˙ 𝑖 = 𝑓𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 ) + 𝑔𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 )𝑥𝑖+1 ⋅⋅⋅ 𝑥˙ 𝑛−1 = 𝑓𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 ) + 𝑔𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 )𝑥𝑛 𝑥˙ 𝑛 = 𝑓𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 ) + 𝑔𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 )𝑢 (8) The following virtual control inputs 𝛼𝑖 = 𝑥𝑖+1 are defined per row of the state-space model of Eq. (8)
the virtual control input 𝛼𝑖 is a function of this flat output and its derivatives. Therefore, each local subsystem is also differentially flat. Next, one can compute the virtual inputs which are applied to each subsystem. For the first subsystem, which is associated with the first row of Eq. (8), and by defining 𝑧𝑖 = 𝑥𝑖 − 𝑥𝑑𝑖 = 𝑥1 − 𝛼𝑖−1 , the virtual control input is given by ⋅(𝑥˙ 𝑑1
1 ⋅ 𝛼1 = 𝑥∗2 = 𝑔1 (𝑥 1) 1 − 𝑓( 𝑥1 ) − 𝐾1 (𝑥1 − 𝑥𝑑1 )) ⇒ 1 ⋅ 𝛼1 = 𝑥∗2 = 𝑔1 (𝑥 1) 𝑑 ⋅(𝑥˙ 1 − 𝑓( 𝑥1 ) − 𝐾11 𝑧1 )
(14)
𝑥˙ 1 = 𝑓1 (𝑥1 ) + 𝑔1 (𝑥1 )𝛼1 𝑥˙ 2 = 𝑓2 (𝑥1 , 𝑥2 ) + 𝑔2 (𝑥1 , 𝑥2 )𝛼2 From the second row of Eq. (8), and using that 𝑧2 = 𝑥2 −𝑥∗2 = 𝑥˙ 3 = 𝑓3 (𝑥1 , 𝑥2 , 𝑥3 ) + 𝑔3 (𝑥1 , 𝑥2 , 𝑥3 )𝛼3 𝑥2 − 𝛼1 one has ⋅⋅⋅ 𝑥˙ 𝑖 = 𝑓𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 ) + 𝑔𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 )𝛼𝑖 𝛼2 = 𝑥∗3 = 𝑔2 (𝑥11 ,𝑥2 ) ⋅ ∗ ⋅⋅⋅ ⋅(𝑥˙ 2 − 𝑓2 (𝑥1 , 𝑥2 ) − 𝐾12 (𝑥2 − 𝑥∗2 )) ⇒ 𝑥˙ 𝑛−1 = 𝑓𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 ) + 𝑔𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 )𝛼𝑛−1 (15) 𝑥˙ 𝑛 = 𝑓𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 ) + 𝑔𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 )𝑢 𝛼2 = 𝑥∗3 = 𝑔2 (𝑥11 ,𝑥2 ) ⋅ (9) ⋅(𝛼˙ 1 − 𝑓2 (𝑥1 , 𝑥2 ) − 𝐾12 𝑧2 ) The system of Eq. (9) is a differentially flat one. It is considered that 𝑦 = 𝑥1 is the flat output of system. It can From the third row of Eq. (8), and using that be easily shown that each virtual control input 𝛼𝑖 = 𝑥𝑖+1 , 𝑧3 = 𝑥3 − 𝑥∗3 = 𝑥3 − 𝛼2 one has 𝑖 = 1, 2, ⋅ ⋅ ⋅ can be expressed as a function of the flat output and its derivatives, since it holds 1 ⋅ 𝛼3 = 𝑥∗4 = 𝑔3 (𝑥1 ,𝑥 2 ,𝑥3 ) ∗ ⋅(𝑥˙ 3 − 𝑓3 (𝑥1 , 𝑥2 , 𝑥3 ) − 𝐾13 (𝑥3 − 𝑥∗3 )) ⇒ 1 𝛼𝑖 = 𝑔𝑖 (𝑥1 ,𝑥2 ,⋅⋅⋅ ,𝑥𝑖 ) (𝑥˙ 𝑖 − 𝑓( 𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 )) (10) (16) 1 𝛼3 = 𝑥∗4 = 𝑔3 (𝑥1 ,𝑥 ⋅ For 𝑖 = 1 one has 2 ,𝑥3 ) ⋅(𝛼˙ 2 − 𝑓3 (𝑥1 , 𝑥2 , 𝑥3 ) − 𝐾13 𝑧3 ) 𝛼1 = 𝑔1 1(𝑥1 (𝑥˙ 1 − 𝑓( 𝑥1 )) (11) Continuing in a similar manner and from the 𝑖-th row of the which means that 𝛼1 is a function of the flat output and its state-space description of the system given in Eq. (8), and also using that 𝑧𝑖 = 𝑥𝑖 − 𝑥∗𝑖 = 𝑥𝑖 − 𝛼𝑖−1 one obtains derivative. For 𝑖 = 2 one has 𝛼2 =
1 ˙2 𝑔2 (𝑥1 ,𝑥2 ) (𝑥
− 𝑓2 (𝑥1 , 𝑥2 ))
(12)
which means that 𝛼2 = 𝑥3 is a function of the flat output 𝑦 = 𝑥1 and its derivatives. Continuing in a similar manner one has that 𝛼𝑛−1 = 𝑥𝑛 and consequently 𝛼𝑛 = 𝑢 is also a function of the flat output 𝑦 = 𝑥1 and its derivatives. According to the above, one has a nonlinear dynamical system in which, all its state variables and the control input can be written as functions of the flat output and its derivatives. Therefore, such a system is differentially flat.
𝛼𝑖 = 𝑥∗𝑖+1 = 𝑔𝑖 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑖 ) ⋅ ⋅(𝑥˙ ∗𝑖 − 𝑓𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 ) − 𝐾1𝑖 (𝑥𝑖 − 𝑥∗𝑖 )) ⇒ 𝛼𝑖 = 𝑥∗𝑖+1 = 𝑔𝑖 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑖 ) ⋅ ⋅(𝛼˙ 𝑖−1 − 𝑓𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥3 ) − 𝐾1𝑖 𝑧𝑖 )
Equivalently, from the 𝑛 − 1-th row of the state-space model of Eq. (8) and using that 𝑧𝑛−1 = 𝑥𝑛−1 −𝑥∗𝑛−1 = 𝑥𝑛−1 −𝛼𝑛−2 one has
Additionally, by considering each row of the model of Eq. (9), one has a set of 𝑛 subsystems of the form 𝑥˙ 𝑖 = 𝑓𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 ) + 𝑔𝑖 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑖 )𝛼𝑖
(17)
(13)
where each subsystem describes the dynamics of the single state variable 𝑥𝑖 . For each one of these subsystems one can consider the state variable 𝑥𝑖 as the flat output. Obviously,
(𝑥˙ ∗𝑛−1
𝛼𝑛−1 = 𝑥∗𝑛 = 𝑔𝑛−1 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑛−1 ) ⋅ − 𝑓𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 ) − 𝐾1𝑛−1 (𝑥𝑛−1 − 𝑥∗𝑛−1 )) ⇒ 𝛼𝑛−1 = 𝑥∗𝑛 = 𝑔𝑛−1 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑛−1 ) ⋅ (𝛼˙ 𝑛−2 − 𝑓𝑛−1 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛−1 ) − 𝐾1𝑛−1 𝑧𝑛−1 )
(18)
Finally, from the 𝑛-th row of the state-space model of Eq. (8) and using that 𝑧𝑛 = 𝑥𝑛 − 𝑥∗𝑛 = 𝑥𝑛 − 𝛼𝑛−1 one has
𝑥˙ 1 = 𝑥˙ 1 − 𝐾11 (𝑥1 − 𝑥𝑑1 )⇒ (𝑥˙ 1 − 𝑥˙ 𝑑1 ) + 𝐾11 (𝑥1 − 𝑥𝑑1 ) = 0⇒ 𝑧˙1 + 𝐾11 𝑧1 = 0
𝛼𝑛 = 𝑢 = 𝑔𝑛 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑛 ) ⋅ ∗ ⋅(𝑥˙ 𝑛 − 𝑓𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 ) − 𝐾1𝑛 (𝑥𝑛 − 𝑥∗𝑛 )) ⇒ 𝛼𝑛 = 𝑥∗𝑛 = 𝑔𝑛 (𝑥1 ,𝑥12 ,⋅⋅⋅ ,𝑥𝑛 ) ⋅ ⋅(𝛼˙ 𝑛−1 − 𝑓𝑛 (𝑥1 , 𝑥2 , ⋅ ⋅ ⋅ , 𝑥𝑛 ) − 𝐾1𝑛 𝑧𝑛 )
(19)
The computation of the control input 𝑢 that should be actually applied to the nonlinear system is performed in a recursive manner by processing backwards the virtual control inputs described in Eq. (14) to Eq. (19). Thus, from the last row of the state-space description, the control input that is actually applied to the nonlinear system is found. This control input contains recursively all virtual control inputs which were computed for the individual subsystems associated with the previous rows of the statespace equation. Consequently, by tracing the rows of the state-space model backwards, at each iteration of the control algorithm, one can finally obtain the control input that should be applied to the nonlinear system so as to assure that all its state vector elements will converge to the desirable setpoints. IV. C LOSED - LOOP DYNAMICS By substituting Eq. (19) into the last row of the state space model of Eq. (8), and using the definition 𝑥˙ 𝑛 − 𝑎˙ 𝑛−1 = 𝑧𝑛 , one obtains: 𝑥˙ 𝑛 = 𝑎˙ 𝑛−1 − 𝐾1𝑛 (𝑥𝑛 − 𝛼𝑛−1 )⇒ (𝑥˙ 𝑛 − 𝑎˙ 𝑛−1 ) + 𝐾1𝑛 (𝑥𝑛 − 𝛼𝑛−1 ) = 0⇒ 𝑧˙𝑛 + 𝐾1𝑛 𝑧𝑛 = 0
(20)
By substituting Eq. (18) into the last row of the state space model of Eq. (8), and using the definition 𝑥˙ 𝑛−1 − 𝑎˙ 𝑛−2 = 𝑧𝑛−1 , one obtains: 𝑥˙ 𝑛−1 = 𝑎˙ 𝑛−2 − 𝐾1𝑛−1 (𝑥𝑛−1 − 𝛼𝑛−2 )⇒ (𝑥˙ 𝑛−1 − 𝑎˙ 𝑛−2 ) + 𝐾1𝑛−1 (𝑥𝑛−1 − 𝛼𝑛−2 ) = 0⇒ 𝑧˙𝑛−1 + 𝐾1𝑛−1 𝑧𝑛−1 = 0
Finally, by substituting Eq. (14) into the first row of the state space model of Eq. (8), one has:
Therefore, after the application of the feedback control law, the closed-loop dynamics becomes 𝑧˙1 + 𝐾11 𝑧1 = 0, 𝑧˙2 + 𝐾12 𝑧2 = 0, 𝑧˙3 + 𝐾13 𝑧3 = 0, ⋅ ⋅ ⋅ , 𝑧˙𝑖 + 𝐾1𝑖 𝑧𝑖 = 0, ⋅ ⋅ ⋅ , 𝑧˙𝑛−1 + 𝐾1𝑛−1 𝑧𝑛−1 = 0, 𝑧˙𝑛 + 𝐾1𝑛 𝑧𝑛 = 0. In matrix form, the closed-loop dynamics is written as ⎞ ⎛ ⎞⎛ ⎞ −𝐾11 0 0 ⋅ ⋅ ⋅ 0 ⋅ ⋅ ⋅ 0 0 𝑧1 𝑧˙1 ⎜ 𝑧˙2 ⎟ ⎜ 0 − 𝐾12 0 ⋅ ⋅ ⋅ 0 ⋅ ⋅ ⋅ 0 0 ⎟ ⎜ 𝑧2 ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ 𝑧˙3 ⎟ ⎜ 0 0 − 𝐾13 ⋅ ⋅ ⋅ 0 ⋅ ⋅ ⋅ 0 0 ⎟ ⎜ 𝑧3 ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⋅⋅⋅ ⎟ ⎜ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⎟⎜ ⋅⋅⋅ ⎟ ⎜ ⎜ ⎟=⎜ ⎟ ⎟ ⎜ 𝑧˙𝑖 ⎟ ⎜ 0 0 0 ⋅ ⋅ ⋅ − 𝐾1𝑖 ⋅ ⋅ ⋅ 0 0 ⎟ ⎜ 𝑧𝑖 ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⋅⋅⋅ ⎟ ⎜ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⎟⎜ ⋅⋅⋅ ⎟ ⎜ ⎜ ⎟ ⎜ ⎟ ⎟ ⎝𝑧˙𝑛−1 ⎠ ⎝0 0 0 ⋅ ⋅ ⋅ 0 ⋅ ⋅ ⋅ − 𝐾1𝑛−1 0⎠ ⎝𝑧𝑛−1 ⎠ 𝑧˙𝑛 𝑧𝑛 0 0 0 ⋅ ⋅ ⋅ 0 ⋅ ⋅ ⋅ 0 − 𝐾1𝑛 ⎛
𝑍˙ = 𝐾𝑍
(22)
while continuing backwards and by substituting Eq. (15) into the second row of the state space model of Eq. (8), and using the definition 𝑥˙ 2 − 𝑎˙ 1 = 𝑧2 , one gets: 𝑥˙ 2 = 𝑎˙ 1 − 𝐾12 (𝑥2 − 𝛼1 )⇒ (𝑥˙ 2 − 𝑎˙ 1 ) + 𝐾12 (𝑥2 − 𝛼1 ) = 0⇒ 𝑧˙2 + 𝐾12 𝑧2 = 0
(23)
(26)
By selecting the eigenvalues of matrix 𝐾 to be in the left complex semiplane, one has that 𝑙𝑖𝑚𝑡→∞ 𝑍 = 0𝑛×1
(27)
which also implies that 𝑙𝑖𝑚𝑡→∞ 𝑥1 = 𝑥𝑑1 , 𝑙𝑖𝑚𝑡→∞ 𝑥2 = 𝛼1 = 𝑥𝑑2 , 𝑙𝑖𝑚𝑡→∞ 𝑥3 = 𝛼2 = 𝑥𝑑3 , ⋅ ⋅ ⋅ , 𝑙𝑖𝑚𝑡→∞ 𝑥𝑖 = 𝛼𝑖−1 = 𝑥𝑑𝑖 , = 𝛼𝑛−2 = 𝑥𝑑𝑛−1 , and ⋅ ⋅ ⋅ , 𝑙𝑖𝑚𝑡→∞ 𝑥𝑛−1 𝑑 𝑙𝑖𝑚𝑡→∞ 𝑥𝑛 = 𝛼𝑛−1 = 𝑥𝑛 . To prove asymptotic stability for the proposed control scheme the following Lyapunov function can be defined ∑𝑁
1 2 𝑖=1 2 𝑧𝑖
(28)
The time derivative of the aforementioned Lyapunov function is
By substituting Eq. (17) into the last row of the state space model of Eq. (8), and using the definition 𝑥˙ 𝑖 − 𝑎˙ 𝑖−1 = 𝑧𝑖 , one obtains: 𝑥˙ 𝑖 = 𝑎˙ 𝑖−1 − 𝐾1𝑛−1 (𝑥𝑖 − 𝛼𝑖−1 )⇒ (𝑥˙ 𝑖 − 𝑎˙ 𝑖−1 ) + 𝐾1𝑖 (𝑥𝑖 − 𝛼𝑖−1 ) = 0⇒ 𝑧˙𝑖 + 𝐾1𝑖 𝑧𝑖 = 0
(25)
or equivalently
𝑉 = (21)
(24)
∑𝑁 ∑𝑁 𝑉˙ = 𝑖=1 𝑧𝑖 𝑧˙𝑖 ⇒𝑉˙ = − 𝑖=1 𝐾1𝑖 𝑧𝑖2 ⇒𝑉˙ < 0
(29)
By selecting the feedback control gains 𝐾1𝑖 , 𝑖 = 1, ⋅ ⋅ ⋅ , 𝑛 to be 𝐾1𝑖 > 0, the asymptotic stability of the control loop is assured. V. S IMULATION TESTS A. Control of a 1-DOF robotic manipulator The proposed control scheme was applied to the model of a 1-DOF robotic manipulator which is depicted in Fig. 1. The model comprises a DC electric actuator and a link with a mass attached to its end effector.
5.5
12
5
10
4.5 8 4 6 x2
x1
3.5 3
4
2.5 2 2 0
1.5 1
0
5
10 time
15
−2
20
0
5
10 time
(a)
15
20
(b)
Fig. 2. Setpoint 1 (a) Convergence of state variable 𝑥1 to the desirable setpoint, (b) Convergence of state variable 𝑥2 to the desirable setpoint
20
100 80
15
60
Fig. 1.
10
Model of the 1-DOF robotic manipulator
40 20
0
−20
−5
˙ The following state variables are defined: 𝑥1 = 𝜃, 𝑥2 = 𝜃, 𝑥3 = 𝐼. Moreover, the following parameters are defined 𝐽𝑙 is the aggregate moment of inertia of the rotating part of the system (rotor of the electric motor, link and mass attached to its end) and 𝑁 is the gravity torque exerted on the link and on the mass attached to its end. Thus, the considered robotic model is: 𝑥˙ 1 = 𝑥2 𝐼 𝑥˙ 2 = − 𝐽𝐵𝑙 𝑥2 + 𝐽𝑁𝑙 𝑠𝑖𝑛(𝑥1 ) + 𝐾 𝐽𝑙 𝑥 3 𝐾𝑏 𝑅 𝑤 1 𝑥˙ 3 = − 𝐿 𝑥3 − 𝐿 𝑥2 − 𝐿 + 𝐿 𝑢
(30)
−40 −10 −60 −15
2
4
6
8
10 time
12
14
16
18
20
−100
2
4
6
(a)
8
10 time
12
14
16
18
20
(b)
Fig. 3. Setpoint 1 (a) Convergence of state variable 𝑥3 to the desirable setpoint, (b) Control input 𝑢
substituted by the proposed flatness-based control method. A backstepping control law can be derived for systems of the triangular form [11-13]. However, as it was previously analyzed, by showing that each row of the state-space model stands for a subsystem that satisfies differential flatness properties one can apply effectively to each subsystem the controller design stages found in input-output linearizing flatness-based control methods.
The performance of the proposed control scheme was evaluated in the aforementioned model of the robotic manipulator, in the case of tracking of several setpoints. The associated results are presented in Fig. 2 to Fig. 3, in Fig. 4 to Fig. 5 and in Fig. 6 to Fig. 7. In all cases, the state variables of the robot (blue lines) converged with accuracy to the reference setpoints (red lines) while the associated control input varied smoothly. Besides the proposed control scheme performed well under modeling uncertainty and external disturbances. It can be also noted that the so-called backstepping control which is based on the recursive computation of the control signal of the system after applying virtual control inputs to the individual rows of the state-space model, can be completely
−80
−20
2.5
3
2 2
1.5 1
1
x1
0.5 x2
As in the previously presented example, the definition of the model makes use of the following parameters: 𝜃: is the rotor’s rotation angle, 𝐼 is the armature’s current, 𝐾𝐼 is a torque constant, 𝐾𝑏 is a back electromotive coefficient, 𝐵 is the viscous bearing friction coefficient, 𝑙 is the length of the link, 𝑀 is the mass of the payload, 𝑚 is the mass of the link, 𝐿 is the rotor’s inductance, 𝑅 is the rotor’s resistance, 𝑉 is the input voltage, and 𝐽 is the inertia of the actuator’s rotor.
0
u
x3
5
0
0
−0.5 −1
−1 −1.5
−2
−2 −2.5
0
5
10 time
(a)
15
20
−3
0
5
10 time
15
20
(b)
Fig. 4. Setpoint 2 (a) Convergence of state variable 𝑥1 to the desirable setpoint, (b) Convergence of state variable 𝑥2 to the desirable setpoint
20
100
15
20
80
15
15 60
10
10
10
40
0
u
0
5
−20
−5
5 x2
20 x1
x3
5
0
0
−40
−5
−10 −60
−5 −10
−15
−80
−20
2
4
6
8
10 time
12
14
16
18
−100
20
2
4
6
(a)
8
10 time
12
14
16
18
−10
20
0
5
10 time
(b)
10 time
15
20
100 80
15
4
60 10
3
40
2 5
−1
1
20
0
u
x2
0
x3
2
1 x1
5
(b)
20
3
0 −20
−5
0
−40
−2
−10
−1
−60
−3 −15
−2
−4 −5
0
Fig. 8. Setpoint 4 (a) Convergence of state variable 𝑥1 to the desirable setpoint, (b) Convergence of state variable 𝑥2 to the desirable setpoint
5
4
−15
20
(a)
Fig. 5. Setpoint 2 (a) Convergence of state variable 𝑥3 to the desirable setpoint, (b) Control input 𝑢 5
15
0
5
10 time
15
−3
20
−20 0
5
10 time
(a)
15
20
−80 2
4
6
8
10 time
12
14
16
18
−100
20
2
4
(a)
(b)
6
8
10 time
12
14
16
18
20
(b)
Fig. 6. Setpoint 3 (a) Convergence of state variable 𝑥1 to the desirable setpoint, (b) Convergence of state variable 𝑥2 to the desirable setpoint
Fig. 9. Setpoint 4 (a) Convergence of state variable 𝑥3 to the desirable setpoint, (b) Control input 𝑢
B. Control of a Permanent Magnet Synchronous Generator
( where the state vector 𝑥 is defined as 𝑥 = Δ𝛿 Δ𝜔 The vector fields 𝑓 (𝑥) and 𝑔(𝑥) are defined as
The proposed flatness-based control method is also applied to the model of a Permanent Magnet Synchronous Generator (PMSG). The single-machine infinite-bus model of the PMSG (Fig. 10) is described by a nonlinear state space model of the form 𝑥˙ = 𝑓 (𝑥) + 𝑔(𝑥)𝑢
20
60 10 40
⎞
( 𝑔(𝑥) = 0 0
) 1 𝑇 𝑇𝑑𝑜
(33)
20
0
u
x3
.
with control input 𝑢 = 𝐸𝑓 being the field voltage (equivalent voltage in the excitation coil) and measurable output the rotation speed of the rotor
80
5
𝜔 − 𝜔0
)𝑇
′ ⎜ 𝐷 ⎟ ⎜− (𝜔 − 𝜔0 ) + 𝜔0 𝑃𝑚 − 𝜔0 1 𝑉𝑠′𝐸𝑞 𝑠𝑖𝑛(Δ𝛿)⎟ 𝑓 (𝑥) = ⎜ 2𝐽 2𝐽 2𝐽 𝑥 ⎟ 𝑑𝜎 ′ ⎝ ⎠ ′ 1 1 𝑥𝑑 −𝑥𝑑 − 𝑇 ′ 𝐸𝑞 + 𝑇𝑑𝑜 𝑥′ 𝑉𝑠 𝑐𝑜𝑠(Δ𝛿) 𝑑 𝑑𝜎 (32)
(31)
100
15
⎛
′
𝐸𝑞
0
𝑦 = ℎ(𝑥) = 𝛿 − 𝛿0
−20
−5
(34)
−40 −10 −60 −15 −20
−80 2
4
6
8
10 time
(a)
12
14
16
18
20
−100
2
4
6
8
10 time
12
14
16
18
20
(b)
Fig. 7. Setpoint 3 (a) Convergence of state variable 𝑥3 to the desirable setpoint, (b) Control input 𝑢
The obtained results are depicted in Fig. 11 and Fig. 12. It can be noticed that the proposed control method succeeds fast and accurate tracking of the reference setpoints for the state variables of the generator. The associated variations of the control input remain also smooth. This comes to confirm the previously given theoretical analysis about the stability and convergence of the proposed control scheme and to show its potential application to electric power generation systems.
Fig. 10. Model of the Permanent Magnet Synchronous Generator connected to an infinite buss
2.5
100 80
2
model of the nonlinear system is shown to be a differentially flat system, while the associated state variable is taken to be the flat output. Next, a virtual control input is computed for each subsystem which is obtained from a row of the state-space model. The virtual control input can invert the subsystem’s dynamics while also eliminating the subsystem’s tracking error. The control input that is actually applied to the nonlinear system is computed from the last row of the state-space description. This control input contains recursively all virtual control inputs which were found for the individual subsystems associated with the previous rows of the state-space equation. Thus, at each iteration of the control algorithm and by tracing the rows of the state-space model backwards, one can finally obtain the control input that should be applied to the nonlinear system so as to assure that all its state vector elements will converge to the desirable setpoints. The performance of the proposed control method has been tested through simulation experiments, using as case study the model of a synchronous electric power generator.
60 40
1.5
u
x2
20 1
R EFERENCES
0 −20
0.5
−40 −60
0
−80 −0.5
0
5
10 time
15
−100
20
2
4
6
(a)
8
10 time
12
14
16
18
20
(b)
Fig. 11. (a) The deviation Δ𝜔 of the PMSG rotor angular velocity from the synchronous speed converges to 0, (b) associated control input 𝐸𝑓
VI. C ONCLUSIONS The paper has introduced and analyzed a new approach for the control of nonlinear dynamical systems, based on differential flatness theory. The method is directly applicable to systems with a state-space model in the so-called triangular form, or can be used in systems which can be transformed to the triangular form after a change of variables. In the proposed controller design method each row of the state-space 1.2
100 80
1 60 0.8
40 20 u
x2
0.6
0.4
0 −20 −40
0.2
−60 0 −80 −0.2
0
5
10 time
(a)
15
20
−100
2
4
6
8
10 time
12
14
16
18
20
[1] G. Rigatos, Nonlinear Control and Filtering Using Differential Flatness Approaches: Applications to Electromechanical Systems, Springer, 2015. [2] J. Rudolph, Flatness Based Control of Distributed Parameter Systems, Examples and Computer Exercises from Various Technological Domains, Shaker Verlag, Aachen, 2003. [3] H. Sira-Ramirez and S. Agrawal, Differentially Flat Systems, Marcel Dekker, New York, 2004. [4] G.G. Rigatos, Modelling and control for intelligent industrial systems: adaptive algorithms in robotcs and industrial engineering, Springer, 2011. [5] J. L´evine, On necessary and sufficient conditions for differential flatness, Applicable Algebra in Engineering, Communications and Computing, Springer, vol. 22, no. 1, pp. 47-90, 2011. [6] M. Fliess and H. Mounier, Tracking control and 𝜋-freeness of infinite dimensional linear systems, In: G. Picci and D.S. Gilliam Eds.,Dynamical Systems, Control, Coding and Computer Vision, vol. 258, pp. 41-68, Birkha¨user, 1999. [7] J. Villagra, B. d’Andrea-Novel, H. Mounier and M. Pengov, Flatnessbased vehicle steering control strategy with SDRE feedback gains tuned via a sensitivity approach, IEEE Transactions on Control Systems Technology, vol. 15, pp. 554- 565, 2007. [8] P. Martin and P. Rouchon, Two remarks on induction motors, CESA 96 IMACS Multiconference, vol. 1, pp. 76-79, Lille, France, 1996. [9] S. Bououden, D. Boutat, G. Zheng, J.P. Barbot and F. Kratz, A triangular canonical form for a class of 0-flat nonlinear systems, International Journal of Control, Taylor and Francis, vol. 84, no. 2, pp. 261-269, 2011. [10] H. Sira-Ramirez and M. Fliess, On the output feedback control of a synchronous generator, 43rd IEEE Conference on Decision and Control Dec. 2004, Bahamas. [11] H. Khalil, Nonlinear Systems, Prentice Hall, 1996 [12] G.G. Rigatos, Adaptive fuzzy control for field-oriented induction motor drives, Neural Computing and Applications, Springer, vol. 21, no. 1, 9-23, 2011. [13] G.G. Rigatos and S.G. Tzafestas, Adaptive Fuzzy Control for the Ship Steering Problem, Journal of Mechatronics, Elsevier, vol. 16, no. 6, pp. 479-489, 2006.
(b)
Fig. 12. (a) The deviation Δ𝜔 of the PMSG rotor angular velocity from the synchronous speed is made to track a reference setpoint, (b) associated control input 𝐸𝑓