Introduction

A nonlinear control method, based on differential flatness theory, is proposed for the model that is formed after connecting a DC motor to a DC–DC converter. This scheme can be used for the exploitation of the power produced by photovoltaic units, since the DC–DC converter controls the level of the produced output voltage. In turn the DC output voltage can be fed into DC motors, as for instance in the case of actuators, mechatronic devices and pumps [13]. Nonlinear control approaches for DC–DC converters connected to DC motors have been presented in [48]. In particular global linearization approaches and flatness-based control of such systems have been presented in [915]. In this article, a state-space description is obtained first for the system consisting of the DC–DC converter and the DC motor. Next,the differential flatness properties of this model are proven using as flat output the rotation angle of the motor. Differential flatness means that all state variables and the control input of the system can be expressed as functions of the flat output and its derivatives [1621].

By proving that the system is a differentially flat one, it is confirmed that it can be transformed to the linear canonical (Brunovsky) form [2228]. After such a transformation the computation of a stabilizing feedback control input becomes possible. To estimate the non-measurable state variables of the system the Derivative-free nonlinear Kalman Filter is proposed [1921]. This consists of the Kalman Filter recursion applied on the equivalent linearized model of the system [2931]. Moreover, it makes use of an inverse transformation which is based on differential flatness theory and which allows to obtain estimates of the state variables of the initial nonlinear model. Next, the Derivative-free nonlinear Kalman Filter is designed as a disturbance observer. This enables simultaneous estimation of the state variables of the system and of disturbance terms affecting it [32, 33]. By identifying such disturbance inputs, their compensation becomes possible with the inclusion of an additional control term in the aggregate feedback control signal.

The structure of the article is as follows: in Section “Dynamics of the Model Formed by the DC–DC Converter and the DC Motor” an analysis is given about the dynamics of the model which consists of the DC–DC converter connected to the DC motor. In Section “Differential Flatness of the Model of the DC–DC Converter and the DC Motor” the differential flatness properties of the aforementioned system are proven. In Section “Transformation of the Dynamic Model into the Canonical Form” the state-space model of the system is transformed into the linear canonical form. In Section “Disturbances Compensation with the Derivative-Free Nonlinear Kalman Filter” the Derivative-free nonlinear Kalman is used for estimating the non-measurable state variables of the system. Moreover, this filter is redesigned as a disturbance observer so as to estimate additive perturbation terms affecting this model. In Section “Simulation Tests” the performance of the control scheme is evaluated through simulation experiments. Finally, in Section “Conclusions” concluding remarks are stated.

Dynamics of the Model Formed by the DC–DC Converter and the DC Motor

DC motors controlled through DC–DC converters can be found in several applications, as for instance in photovoltaic power pumps or in desalination units (Fig. 1). Control is implemented through a pulse-width-modulation (PWM) approach. The equivalent circuit of the system that is formed after connecting a DC motor to a DC–DC (buck) converter is depicted in Fig. 2.

Fig. 1
figure 1

Photovoltaic powered pump

Fig. 2
figure 2

Circuit of the DC–DC converter connected to a DC motor

PWM is applied for the converter’s control. The amplitude of the output voltage \(V_o\) is determined by the duty cycle of the PWM. The on/off state of the switch Q sets voltage u to E or to 0 for specific time intervals within the sampling period. The ratio between the time interval in which \(u=E\) and the sampling period defines the duty cycle. By varying the duty cycle one can control the voltage output \(V_o\), as if a variable input voltage E was applied to the circuit.

The dynamics of the electrical part of the circuit comes from the application of Kirchhoff’s laws. It holds:

$$\begin{aligned}&L{{dI} \over {dt}}+V_c=u\nonumber \\&{L_m}{{d{I_a}} \over {dt}}+{R_m}{I_a}+{K_e}{\omega }=V_c\\&I={I_c}+{I_R}+{I_a} \ or \ I=C{{d{V_c}} \over {dt}}+{V_c \over R}+I_a\nonumber \end{aligned}$$
(1)

The dynamics of the mechanical part of the circuit comes from the laws of rotational motion. It holds that:

$$\begin{aligned}&\dot{\theta }=\omega \nonumber \\&J\dot{\omega }=-B{\omega }+{K_a}{I_a}+\tau _L \end{aligned}$$
(2)

where \(\tau _L\) is the load’s torque. By defining the state variables \(x_1=\theta \), \(x_2=\omega \), \(x_3=I\), \(x_4=V_c\) and \(x_5=I_a\) one obtains the following state-space model:

$$\begin{aligned} \dot{x}_1= & {} x_2\nonumber \\ \dot{x}_2= & {} -{B \over J}{x_2}+{{K_a} \over J}{x_5}+{1 \over J}\tau _d\nonumber \\ \dot{x}_3= & {} -{1 \over L}{x_4}+{1 \over L}u\nonumber \\ \dot{x}_4= & {} {1 \over C}{x_3}-{1 \over {RC}}{x_4}+{1 \over C}{x_5}\nonumber \\ \dot{x}_5= & {} {1 \over L_m}{x_4}-{R_m \over L_m}{x_5}+{K_e \over L_m}{x_2} \end{aligned}$$
(3)

Without loss of generality it is considered that the load’s torque is \(\tau _L={mgl}\mathrm{sin}(x_1)\) (the motor is considered to be rotating a rod of length l having a mass m at its end), the previous state-space description is written in the following matrix form

$$\begin{aligned} \begin{pmatrix} \dot{x}_1 \\ \dot{x}_2 \\ \dot{x}_3 \\ \dot{x}_4 \\ \dot{x}_5 \end{pmatrix}\!=\! \begin{pmatrix} x_2 \\ -{B \over J}{x_2}+{{K_a} \over J}{x_5}+{1 \over J}{mgl}\mathrm{sin}(x_1) \\ -{1 \over L}{x_4} \\ {1 \over C}{x_3}-{1 \over {RC}}{x_4}+{1 \over C}{x_5} \\ {K_e \over L_m}{x_2}+{1 \over L_m}{x_4}-{R_m \over L_m}{x_5} \end{pmatrix}\!+\! \begin{pmatrix} 0 \\ 0 \\ {1 \over L} \\ 0 \\ 0 \end{pmatrix}u \end{aligned}$$
(4)

Differential Flatness of the Model of the DC–DC Converter and the DC Motor

Next, the differential flatness properties of the model are proven. The flat output of the system is taken to be \(y=x_1\), that is the turn angle of the rotor. From the first row of the model one gets

$$\begin{aligned} x_2=\dot{x}_1=\dot{y} \end{aligned}$$
(5)

From the second row of the model one gets

$$\begin{aligned} x_5={{\dot{x}_2+{B \over J}{x_2}-{1 \over J}mgl\mathrm{sin}(x_1)} \over {K_a \over J}}{\Rightarrow }{x_5}={f_a}(y,\dot{y},\ddot{y}) \end{aligned}$$
(6)

From the fifth row of the model one gets

$$\begin{aligned} x_4={{\dot{x}_5+{K_e \over L_m}{x_2}+{R_m \over L_m}{x_5}} \over {1 \over L_m}}{\Rightarrow }{x_4}={f_b}\big (y,\dot{y},\ddot{y},y^{(3)}\big ) \end{aligned}$$
(7)

From the fourth row of the model one gets

$$\begin{aligned} x_3={{\dot{x}_4+{1 \over {RC}}{x_4}+{1 \over C}{x_5}} \over {1 \over C}}{\Rightarrow }{x_3}={f_c}\big (y,\dot{y},\ddot{y},y^{(3)},y^{(4)}\big ) \end{aligned}$$
(8)

From the third row of the model one gets

$$\begin{aligned} u=L\Big (\dot{x}_3+{1 \over L}{x_4}\Big )\,{\Rightarrow }\,u=f_d\big (y,\dot{y},\ddot{y},y^{(3)},y^{(4)},y^{(5)}\big ) \end{aligned}$$
(9)

Consequently, all state variables and control inputs of the model are differential functions of the flat output and the model is a differentially flat one.

Transformation of the Dynamic Model into the Canonical Form

Knowing that the dynamic model of the system that is formed by the DC–DC converter and the DC motor is a differentially flat, its transformation to the linear canonical (Brunovsky) form is assured. Indeed by differentiating the first row of the state-space model with respect to time one obtains:

$$\begin{aligned} \dot{x}_1=x_2{\Rightarrow }\ddot{x}_1=\dot{x}_2{\Rightarrow }\ddot{x}_1=-{B \over J}{x_2}+{K_m \over J}{x_5}+{mgl}\mathrm{sin}(x_1) \end{aligned}$$
(10)

By differentiating once more with respect to time one gets:

$$\begin{aligned} x_1^{(3)}= & {} -{B \over J}\dot{x}_2+{K_m \over J}\dot{x}_5+{mgl}\mathrm{cos}(x_1)\dot{x}_1{\Rightarrow }\nonumber \\ x_1^{(3)}= & {} -{B \over J}\left[ -{B \over J}{x_2}+{K_a \over J}{x_5}+{mgl}\mathrm{sin}(x_1)\right] \nonumber \\&+\,{K_m \over J}\left( {K_e \over L_m}{x_2}+{1 \over L_m}{x_4}-{R_m \over L_m}{x_5}\right) \nonumber \\&+\,{mgl}\mathrm{cos}(x_1)\dot{x}_1 \end{aligned}$$
(11)

After intermediate operations one obtains:

$$\begin{aligned} x_1^{(3)}=&\left[ \left( {B \over J}\right) ^2+\left( {{{{K_a}{K_e}} \over {{J}{K_m}}}}\right) \right] {x_2}\nonumber \\&+\,\left[ -{{Bmgl} \over J}\mathrm{sin}(x_1)+mgl{\mathrm{cos}(x_1)}{x_2}\right] \nonumber \\&+\,{{K_a} \over {J{L_m}}}{x_4}+\left[ -{{B{K_a}} \over J^2}-{{{K_a}{R_m}} \over {J{L_m}}}\right] {x_5} \end{aligned}$$
(12)

By differentiating once more with respect to time one arrives at:

$$\begin{aligned} x_1^{(4)}=&\left[ \left( {B \over J}\right) ^2+\left( {{{K_a}{K_e}} \over {J{L_m}}}\right) \right] \dot{x}_2\nonumber \\&+\left[ -{{Bmgl} \over J}\mathrm{cos}(x_1)\dot{x}_1-{mgl\mathrm{sin}(x_1)}{\dot{x}_1}{x_2}\right. \nonumber \\&\left. +\,{mgl}\mathrm{cos}(x_1)\dot{x}_2\right] \nonumber \\&+{{K_a} \over {J{L_m}}}\dot{x}_4+\left[ -{{{B}{K_a}} \over J^2}-{{{K_a}{R_m}} \over {{J}{L_m}}}\right] \dot{x}_5 \end{aligned}$$
(13)

which after intermediate operations gives

$$\begin{aligned} x_1^{(4)}= & {} \left[ \left( {B \over J}\right) ^2\left( {{{K_a}{K_e} \over {J{L_m}}}}\right) +{mgl}\mathrm{cos}(x_1)\right] \nonumber \\&\times \left[ -{B \over J}{x_2}+{K_a \over J}{x_5}+mgl\mathrm{cos}(x_1)\right] \nonumber \\&+\left[ -{{Bmgl} \over J}\mathrm{cos}(x_1){x_2}-{mgl}\mathrm{sin}(x_1){x_2^2}\right] \nonumber \\&+{{K_a} \over {J{L_m}}}\left[ {1 \over c}{x_3}-{1 \over {RC}}{x_4}+{1 \over C}{x_5}\right] \nonumber \\&+\left[ -{{B{K_a}} \over {J^2}}-{{{K_a}{R_m}} \over {J{L_m}}}\right] {\cdot }\left[ {1 \over c}{x_3}-{1 \over {RC}}{x_4}+{1 \over C}{x_5}\right] \nonumber \\ \end{aligned}$$
(14)

By differentiating once more with respect to time one gets:

$$\begin{aligned} x_1^{(5)}= & {} -\left[ mgl\mathrm{sin}(x_1)\dot{x}_1\right] {\cdot }\left[ -{B \over J}\dot{x}_2+{K_a \over J}\dot{x}_5+{mgl}\mathrm{cos}(x_1)\right] \nonumber \\&+\,\left[ \left( {B \over J}\right) ^2+{{{K_a}{K_e}} \over {J{L_m}}} \right] +{mgl}\mathrm{cos}(x_1)\nonumber \\&{\cdot }\left[ -{B \over J}\dot{x}_2+{K_a \over J}\dot{x}_5+{mgl}\mathrm{cos}(x_1)\dot{x}_1\right] \nonumber \\&+\,\left[ {{Bmgl} \over J}\mathrm{sin}(x_1){\dot{x}_1}{x_2}-{{Bmgl} \over J}\mathrm{cos}(x_1)\dot{x}_2\right. \nonumber \\&-{mgl}\mathrm{cos}(x_1)\dot{x}_1{x_2^2} -\,\left. mgl\mathrm{sin}(x_1)2{x_2}\dot{x}_2\right] \nonumber \\&+\,{{K_a} \over {J{L_m}C}}\left( -{1 \over L}\right) {x_4}+{{K_a} \over {J{L_m}C}}\left( {1 \over L}\right) u \end{aligned}$$
(15)

The input–output linearized system is also written in the concise form:

$$\begin{aligned} y^{(5)}=f(y,\ldots ,y^{(5)})+g(y,\ldots ,y^{(5)})u \end{aligned}$$
(16)

and by defining \(v=f(y,\ldots ,y^{(5)})+g(y,\ldots ,y^{(5)})u\) one gets the equivalent description

$$\begin{aligned} y^{(5)}=v \end{aligned}$$
(17)

For the previous description, the design of a stabilizing feedback controller gives:

$$\begin{aligned} u=&{y_d^{(5)}}-{k_1}\big (y^{(4)}-y_d^{(4)}\big )-{k_2}\big (y^{(3)}-y_d^{(3)}\big )\nonumber \\&-\,{k_3}(\ddot{y}-\ddot{y}_d)-{k_4}(\dot{y}-\dot{y}_d)-{k_5}(y-y_d) \end{aligned}$$
(18)

while the control input that is actually exerted on the system is

$$\begin{aligned} u={1 \over {g(y,\ldots ,y^{(5)})}}\big [v-f(y,\ldots ,y^{(5)})\big ] \end{aligned}$$
(19)

with the previous control law the closed-loop dynamics becomes

$$\begin{aligned} e^{(5)}+{k_1}e^{(4)}+{k_2}e^{(3)}+{k_3}\ddot{e}+{k_4}\dot{e}+{k_5}e=0 \end{aligned}$$
(20)

Thus, through suitable selection of the feedback control gains \(k_i \ i=1,\ldots ,5\) so as the associated characteristic polynomial to be a Hurwitz stable one, it is assured that

$$\begin{aligned} \lim \limits _{t{\rightarrow }\infty }e(t)=0 \end{aligned}$$
(21)

Disturbances Compensation with the Derivative-Free Nonlinear Kalman Filter

Next, the problem of disturbances compensation is treated. Without loss of generality it is assumed that additive input disturbances \(\tilde{d}\) affect the linearized model of the converter

$$\begin{aligned} y^{(5)}=v+\tilde{d} \end{aligned}$$
(22)

and that these disturbances are described by their time derivatives up to order 3, that is \(\tilde{d}^{(3)}=f_d\). Actually, every signal \(\tilde{d}\) can be equivalently described by its time derivatives up to order n and the associated initial conditions. However, since estimation of the signal \(\tilde{d}\) and of its derivatives is going to be performed with the use of Kalman Filtering, there is no prior constraint about knowing these initial conditions.

Fig. 3
figure 3

Tracking of setpoint 1 for the system consisting of the DC–DC converter connected to the DC motor. a State variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

The state vector of the DC–DC converter’s model is extended by introducing as additional state variables the disturbance inputs and their derivatives. Thus, \(z_1=y\), \(z_2=\dot{y}\), \(z_3=\ddot{y}\), \(z_4=y^{(3)}\), \(z_5=y^{(4)}\), \(z_6=\tilde{d}\), \(z_7=\dot{\tilde{d}}\) and \(z_8=\ddot{\tilde{d}}\). In this manner, and by defining the extended state vector \(Z=[z_1,z_2,\ldots ,z_8]^T\) one arrives at a state-space description into the linear canonical (Brunovsky) form:

$$\begin{aligned} \begin{pmatrix} \dot{z}_1 \\ \dot{z}_2 \\ \dot{z}_3 \\ \dot{z}_4 \\ \dot{z}_5 \\ \dot{z}_6 \\ \dot{z}_7 \\ \dot{z}_8 \end{pmatrix}= \begin{pmatrix} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ \end{pmatrix} \begin{pmatrix} z_1 \\ z_2 \\ z_3 \\ z_4 \\ z_5 \\ z_6 \\ z_7 \\ z_8 \end{pmatrix}+ \begin{pmatrix} 0 &{} 0\\ 0 &{} 0\\ 0 &{} 0\\ 0 &{} 0\\ 1 &{} 0\\ 0 &{} 0\\ 0 &{} 0\\ 0 &{} 1 \end{pmatrix} \begin{pmatrix} v \\ f_d \end{pmatrix} \end{aligned}$$
(23)
$$\begin{aligned} z^m=\begin{pmatrix} 1&0&0&0&0&0&0&0 \end{pmatrix}Z \end{aligned}$$
(24)

The previous description of the system is written in the linear state-space form:

$$\begin{aligned}&\dot{z}=Az+B\tilde{v}\nonumber \\&z^m=Cz \end{aligned}$$
(25)

To perform simultaneous estimation of the non-measurable state vector elements and of the disturbance inputs the following disturbance observer is defined

$$\begin{aligned} \dot{\hat{z}}={A_o}\hat{z}+{B_o}v+{K_f}(z_m-\hat{z}_m) \hat{z}_m={C_o}\hat{z} \end{aligned}$$
(26)

where \(A_o=A\), \(C_o=C\) and

$$\begin{aligned} B_o=\begin{pmatrix} 0&0&0&0&1&0&0&0 \end{pmatrix}^T \end{aligned}$$
(27)

The observer’s gain is computed through the Kalman Filter’s recursion [2931]. To apply Kalman Filtering on the linearized equivalent model of the system, which is also known as Derivative-free nonlinear Kalman Filter, matrices \(A_o,B_o,C_o\) are subjected to discretization with the use of common discretization methods. The filter also comprises an inverse transformation based on differential flatness theory and on Eqs. (5), (6), (7) and (8), which enables to obtain state estimates of the initial nonlinear model. The discrete-time equivalents of the aforementioned matrices are denoted as \(A_d\), \(B_d\) and \(C_d\). The Kalman Filter’s algorithm consists of a measurement update and a time-update stage. By denoting as Q, R the process and measurement noise covariance matrices, as \(P^{-}\) the state vector error covariance matrix prior to measurement taking and by P the state vector error after measurement taking one has

Measurement update

$$\begin{aligned} K_f(k)=P^{-}(k){C_d^T}[C_d{P^{-}(k)}{C_d^T}+R]^{-1}\nonumber \\ \hat{x}(k)=\hat{x}^{-}(k)+{K_f}(k)[z_m-\hat{z}_m]\nonumber \\ P(k)=P^{-}(k)-{K_f}(k)C_dP^{-}(k) \end{aligned}$$
(28)

Time update

$$\begin{aligned} P^{-}(k+1)=A_d{P(k)}{A_d^T}+Q\nonumber \\ \hat{x}^{-}(k+1)=A_d\hat{x}(k)+B_dv(k) \end{aligned}$$
(29)
Fig. 4
figure 4

Tracking of setpoint 2 for the system consisting of the DC–DC converter connected to the DC motor. a State variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

Fig. 5
figure 5

Tracking of setpoint 3 for the system consisting of the DC–DC converter connected to the DC motor. a state variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

Simulation Tests

The efficiency of the proposed control scheme was tested through simulation experiments. Flatness-based control was applied to the system consisting of the DC–DC converter and of the DC motor. The only measurable state variable of the system was taken to be the rotor’s turn angle \(x_1=\theta \). The Derivative-free nonlinear Kalman Filter was used as a disturbance observer, for estimating simultaneously the non-measurable state variables of the model and the additive disturbance inputs that were affecting it. Indicative values for the parameters of the electric circuit formed by the DC–DC converter and the DC motor, that is shown in Fig. 2 are as follows [13]: \(E=56\,\mathrm{V}\), \(R=61.7\,\Omega \), \(L=118.6\) mH, \(C=114.4\,{\upmu }\)F, \(R_a=0.965\,\Omega \) and \(L_a=2.22\) mH while the moment of inertia of the rotor is \(J=118.2\,{\times }\,10^{-3}\,\mathrm{kg}\,\mathrm{m}^2\).

The obtained results are depicted in Figs. 3, 4, 5, 6, 7, and 8. The real value of the state variable is depicted with the blue line, the estimated value of it is depicted with the green line while the reference setpoint is depicted with the red line. It can be noticed that, despite implementation of a state estimation-based control scheme and despite the presence of external disturbances, the flatness-based control succeeded fast and accurate tracking to the reference setpoints for all state variables of the system.

Fig. 6
figure 6

Tracking of setpoint 4 for the system consisting of the DC–DC converter connected to the DC motor. a state variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

Fig. 7
figure 7

Tracking of setpoint 5 for the system consisting of the DC–DC converter connected to the DC motor. a State variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

Fig. 8
figure 8

Tracking of setpoint 6 for the system consisting of the DC–DC converter connected to the DC motor. a State variables \(x_2=\omega \) and \(x_3=I\), b state variables \(x_4=V_c\) and \(x_5=I_a\)

The control inputs exerted on the system which consists of the DC–DC converter, are shown in the bottom rows of Figs. 9, 10, and 11. These diagrams depict the ratio between the control input that is applied to the DC–DC converter and the constant voltage E (Fig. 2). This ratio provides information about the implementation of PWM control of the converter and the associated duty cycle. Moreover, in the top rows of Figs. 9, 10, and 11 one can see that the Kalman Filter-based disturbance observer provides accurate estimates of the additive disturbance inputs that affected the converter’s and motor’s model. By identifying in real-time these perturbation terms their compensation became possible, after including an additional input to the feedback control signal.

Fig. 9
figure 9

Top row Kalman Filter-based estimation of disturbance inputs affecting the model of the DC–DC motor and the DC motor, bottom row ratio u / E between the time-varying control input u applied to the DC–DC converter and the constant DC input E, in case of a tracking setpoint 1 b tracking setpoint 2

Fig. 10
figure 10

Top row Kalman Filter-based estimation of disturbance inputs affecting the model of the DC–DC motor and the DC motor, bottom row ratio u / E between the time-varying control input u applied to the DC–DC converter and the constant DC input E, in case of a tracking setpoint 3 b tracking setpoint 4

Fig. 11
figure 11

Top row Kalman Filter-based estimation of disturbance inputs affecting the model of the DC–DC motor and the DC motor, bottom row ratio u / E between the time-varying control input u applied to the DC–DC converter and the constant DC input E, in case of a tracking setpoint 5 b tracking setpoint 6

Remark 1

Differential flatness theory leads to a systematic approach for achieving global linearization of nonlinear dynamical systems. Differential flatness theory allows to define the class of nonlinear systems which admits a global linearization transformation. Actually, all differentially flat systems can be expressed in the linear canonical state-space form through transformations of their state variables. It holds that: (i) All single input models are differentially flat and can be transformed into the linear canonical form (this is the case of the DC–DC converter). (ii) Differential flatness holds for MIMO models that admit static feedback linearization.and which can be transformed into the linear canonical form through a change of variables (diffeomorphism) and feedback of the state vector, (iii) Differential flatness holds for MIMO models that admit dynamic feedback linearization, This is the case of some underactuated systems. In the latter case the state vector of the system is extended by considering as additional state variables some of the control inputs and their derivatives, (iv) Finally, a more rare case is the so-called Liouvillian systems. These are systems for which differential flatness properties hold for part of their state vector (constituting a flat subsystem)while the non-flat state variables can be obtained by integration of the elements of the flat subsystem. In conclusion, a necessary and sufficient condition for a system to admit a global linearizing transformation into the canonical form is to be differentially flat. Differentially flat systems form the widest class to which global linearization-based control methods can be applied (this is a more extended class of systems than the one related with Lie algebra-based control). For the reasons analyzed above, out of all nonlinear control theories, differential flatness theory is the one that provides the most efficient tools for solving nonlinear control problems.

Remark 2

The purpose of proving that a system is differentially flat is that this is a confirmation that the nonlinear system can be finally transformed into an equivalent linear form through a change of state variables (diffeomorphisms). Therefore, by showing that (i) all state variables of the model of the DC–DC converter can be expressed as differential functions of its flat output, (ii) the flat output and its derivatives are differentially independent which means that they are not connected through a relation in the form of a differential equation, then it is assured that the converter’s model is differentially flat. Next, by keeping the relations which express the state-variables of the converter as functions of its flat output, and by deriving successively the flat output with respect to time one arrives at the equivalent input–output linearized form of the system, as well as to an equivalent canonical (Brunovsky) state-space form.

Conclusions

Flatness-based control has been proposed for the model consisting of a DC–DC converter connected to a DC motor. First,it was proven that this system is differentially flat and that the turn angle of the motor stood for the flat output. It was demonstrated that all state variables and the control input of the model could be expressed as differential functions of the flat output. By exploiting its differential flatness properties the state-space model of the system was transformed into the linear canonical (Brunovsky) form. For the equivalent linearized description of the system a stabilizing feedback controller was designed.

Next, state estimation-based control was implemented with the use of the Derivative-free nonlinear Kalman Filter. This filtering method consisted of the Kalman Filter recursion applied on the equivalent linearized model of the system and of an inverse transformation that was based on differential flatness theory and which provided estimates of the state variables of the initial nonlinear model. Moreover, by redesigning this filter as a disturbance observer it became possible to estimate simultaneously the state vector of the model and additive perturbation terms affecting it. The efficiency of the proposed control scheme was further confirmed through simulation experiments.