1 Introduction

The generalized predictive control (GPC) [13] is a very powerful method. It has been the subject of many researches during the last decade [4, 5]. For single input single output (SISO) system case, the controlled auto regressive integrated moving average (CARIMA) model is widely used in the GPC method [6, 7], where the expected behavior of the real process can be predicted in the extended time horizon.

The GPC law is given from the iterative resolution of two Diophantine equations and the quadratic criterion minimization at every step time [8, 9]. It has the ability to be transformed into an equivalent polynomial RST form [9]. This transformation is much desired in control engineering to reduce the recursive resolution of the diophantine equations and the possibility to examine the stability and the performance robustness, where the maximum singular values of its sensitivity and complementary sensitivity functions are used in frequency domain [9]. Several works have been developed to control a nominal plant using GPC controllers, where a good tracking dynamic of the set-point reference is guaranteed. Unfortunately, its trade-off robustness between nominal performances and the robust stability is not ensured in a set of neighboring plant cases [10, 11].

Various design synthesis methods have been proposed also since the late of the nineties to resolve this problem. Yoon et al. used the C-polynomial approach in CARIMA model to enhance the rejection dynamic of the load disturbances [12]. Unfortunately, this choice remains complicated for a higher order transfer functions. Gossner et al., Ansay et al., and Olaru et al. suggested an extra parameter called Q-parameter [10, 13, 14]. This parameter is introduced to enhance the trade-off robustness between the nominal performances and the stability robustness. It is obtained from resolving a non-linear optimization problem. However, it is difficult to achieve this compromise in practice when the order of the transfer function of the Q-parameter is very high. Stoica et al. propose a robustification method based on a constrained linear optimization where the designed controller is based on two-step procedures [15]: a primary GPC controller is first designed with a deterministic model, and its robustness is then enhanced via the Youla parameterization. This parameterization allows formulating frequency- and time-domain constraints as a convex optimization problem. Afterwards, this problem is approximated by a linear programming with inequality constraints, and the optimal Q-parameter is derived. A disadvantage of this method is expressed by a hard choice of an optimal order transfer function of the Q-parameter, which was determined after several trials. In addition, the optimal solution of the optimization search problem is not guaranteed. The convergence speed gets slowing down when approaching the optimal solution due to the higher number of the Q-parameter variables. These variables are determined by optimization and they depend on the plant dimension. Consequently, the computational cost increases exponentially as the optimization size increases and becomes rapidly prohibitive as the order of the Q-parameter increases, which leads to numerical ill-conditioning. This method requires also a good choice of the Q-parameter order, which is very difficult to find and would be given after several trails.

Knowing that, the H control theory offers the possibility of including robustness considerations explicitly in the synthesis controller step [16]. The controller parameters are given from minimizing of the weighted-mixed sensitivity problem, which contains all robustness properties of the closed-loop system. Several works have confirmed the efficiency of the H controller for controlling the uncertain plant. Its stability and performance robustness are guaranteed with better margins. Unfortunately, its tracking dynamic is degraded when their robustness margins are increased.

In this paper, the robustified GPC controller is designed to ensure the better trade-off robustness given by the H controller. As well as, it can conserve the same better tracking dynamic that is provided by the primary GPC controller. The fundamental difference between the robustification method proposed in this paper and those available in the literature is the way to design the Q-parameter, which is the main contribution of this work.

2 Brief review of the GPC law

In predictive control, the CARIMA model is usually used, and it is given by Eq. (1) as follows [17]:

$$ A(q^{ - 1} )y(t) = B(q^{ - 1} )u(t - 1) + \frac{{C(q^{ - 1} )}}{{\Delta (q^{ - 1} )}}\zeta (t) $$
(1)

where \( y \), \( u \) and \( \zeta \) denote, respectively, the output, input and Gaussian white-noise which is presented by zero mean and constant variance, \( q^{ - 1} \) is the backward shift operator and the polynomial function \( \Delta (q^{ - 1} ) = 1 - q^{ - 1} \) denotes the integral action on CARIMA model, which cancels the effect of the load disturbance signals.

\( A(q^{ - 1} ) \), \( B(q^{ - 1} ) \) and \( C(q^{ - 1} ) \) denote the polynomial transfer function that is defined by:

$$ \left\{ \begin{array}{l} A(q^{ - 1} ) = 1 + a_{1} q^{ - 1} + a_{2} q^{ - 2} + \cdots + a_{{n_{a} }} q^{{ - n_{a} }} \\ B(q^{ - 1} ) = b_{0} + b_{1} q^{ - 1} + b_{2} q^{ - 2} + \cdots + b_{{n_{b} }} q^{{ - n_{b} }} \hfill \\ C(q^{ - 1} ) = c_{0} + c_{1} q^{ - 1} + c_{2} q^{ - 2} + \cdots + c_{{n_{c} }} q^{{ - n_{c} }} \\ \end{array} \right. $$
(2)

where \( C(q^{ - 1} ) \) is assumed as \( C(q^{ - 1} ) = 1 \). In all receding horizon predictive control strategies, the control law provides an optimal control-increment \( \Delta u(t) = u(t) - u(t - 1) \) that is given by solving the following quadratic optimization problem [17]:

$$ \begin{aligned} \begin{array}{*{20}c} {\mathop {\hbox{min} \left\{ J \right\}}\limits_{\Delta u} } & = & {\mathop {\hbox{min} }\limits_{\Delta u} \left\{ {\sum\limits_{{k = N_{1} }}^{{N_{2} + N_{1} - 1}} {\left[ {\hat{y}(t + k) - w(t + k)} \right]^{2} } } \right.} \\ \end{array} \hfill \\ \left. {\begin{array}{*{20}c} {} & + & {\lambda \sum\limits_{k = 1}^{{N_{u} }} {\left[ {\Delta u(t + k - 1)} \right]^{2} } } \\ \end{array} } \right\} \hfill \\ \end{aligned} $$
(3)

Such that: \( \left[ {\Delta u(t + k - 1)} \right] = 0 \) for \( k \ge N_{u} \).

Where \( \hat{y}(t + k) \) is the optimum k-step ahead prediction of the process output on the data up to time \( t \),\( w(t) \) denotes the future set-point reference for the process output \( y(t) \), \( N_{1} \) is the minimum output prediction horizon, which is assumed equal to 1, \( N_{2} \) and \( N_{u} \)(with respect to \( N_{u} \le N_{2} \)) denote, respectively, the maximum output prediction horizon and the maximum control prediction horizon, \( \lambda \) is the positive parameter that penalizes the control energies. The optimal predictor of GPC law is defined by [14, 17]:

$$ \hat{y}(t + k) = G_{{v_{k} }} \Delta u(t + k - 1) + H_{k} \Delta u\left( {t - 1} \right) + F_{k} y(t) \, , \, k = 1, \ldots ,N_{2} $$
(4)

where \( G_{{v_{k} }} ,H_{k} ,F_{k} ,E_{k} \) are the polynomial transfer functions in the backward shift operator \( q^{ - 1} \). These functions are determined from solving iteratively two diophantine equations that is defined by [15, 17]:

$$ \left\{ \begin{aligned} 1 = E_{k} (q^{ - 1} )A(q^{ - 1} )\Delta (q^{ - 1} ) + q^{ - k} F_{k} (q^{ - 1} ) \hfill \\ E_{k} (q^{ - 1} )B(q^{ - 1} ) = G_{{v_{k} }} (q^{ - 1} ) + q^{ - k} H_{k} (q^{ - 1} ) \hfill \\ \end{aligned} \right.\quad k = 1, \ldots ,N_{2} $$
(5)

The optimal increment-control vector \( \Delta \tilde{U}_{opt} \) is determined from Eqs. (35), and also yields:

$$ \Delta \tilde{U}_{\text{opt}} (t) = - iM(q^{ - 1} )\left[ {iF(q^{ - 1} ).\tilde{Y}(t)} \right. + \left. {iH(q^{ - 1} ).\Delta \tilde{U}(t - 1) - \tilde{W}(t)} \right] $$
(6)

where \( iH(q^{ - 1} ) \), \( iF(q^{ - 1} ) \) and \( iM(q^{ - 1} ) \) are the polynomial transfer matrices that are defined by:

$$ \left\{ \begin{array}{*{20}l} iH(q^{ - 1} ) = \left( \begin{array}{l} H_{1} (q^{ - 1} ) = H_{0}^{1} .q^{0} + \cdots + H_{{n_{b} - 2}}^{1} .q^{{ - n_{b} + 2}} \hfill \\ \vdots \qquad \qquad \vdots \qquad\qquad \vdots \hfill \\ H_{{N_{2} }} (q^{ - 1} ) = H_{0}^{{N_{2} }} .q^{0} + \cdots + H_{{n_{b} - 2}}^{{N_{2} }} .q^{{ - n_{b} + 2}} \hfill \\ \end{array} \right) \\ iF(q^{ - 1} ) = \left( \begin{array}{l} F_{1} (q^{ - 1} ) = F_{0}^{1} .q^{0} + \cdots + F_{na}^{1} .q^{ - na} \hfill \\ \vdots \qquad\qquad \vdots \qquad\qquad \vdots \hfill \\ F_{{N_{2} }} (q^{ - 1} ) = F_{0}^{{N_{2} }} .q^{0} + \cdots + F_{na}^{{N_{2} }} .q^{ - na} \hfill \\ \end{array} \right) \hfill \\ G_{v} (q^{ - 1} ) = \left[ {\begin{array}{*{20}l} {G_{{v_{1} }}^{1} } & 0 & \cdots & 0 \\ \vdots & \vdots & \cdots & \vdots \\ {G_{{v_{{N_{2} }} }}^{{N_{2} }} } & {G_{{v_{{N_{2} - 1}} }}^{{N_{2} }} } & \cdots & {G_{{v_{{N_{2} - N_{u} + 1}} }}^{{N_{2} }} } \\ \end{array} } \right] \hfill \\ iM(q^{ - 1} ) = \left( {G_{v}^{T} G_{v} + \lambda .I_{{N_{u} \times N_{u} }} } \right)^{ - 1} G_{v}^{\text{T}} \hfill \\ \end{array}\right. $$
(7)

and

$$ \left\{ \begin{array}{*{20}l} \tilde{Y}(t) = \left( {y(t + 1), \ldots y(t + N_{2} )} \right)^{\text{T}} \hfill \\ \tilde{W}(t) = \left( {w(t + 1), \ldots ,w(t + N_{2} )} \right)^{\text{T}} \hfill \\ \Delta \tilde{U}_{\text{opt}} (t) = \left( {\Delta u_{\text{opt}} (t), \ldots ,\Delta u_{\text{opt}} (t + N_{u} - 1)} \right)^{\text{T}} \hfill \\ \end{array} \right. $$
(8)

Furthermore, only the first component of the vector \( \Delta \tilde{U}_{opt} \) is effectively applied as the optimal control to the system. We can obtain:

$$ u_{\text{opt}} (t) = u_{\text{opt}} (t - 1) + iM(q^{ - 1} )\left[ {\tilde{W}(t) - F_{c} (q^{ - 1} )} \right] $$
(9)

where \( F_{c} (q^{ - 1} ) = iF(q^{ - 1} ).Y(t) - iH(q^{ - 1} ).\Delta \tilde{U}(t - 1) \), and \( iM_{1} (q^{ - 1} ) \) is the first row of the polynomial transfer matrix \( iM(q^{ - 1} ) \).

3 Design of primary GPC controller

The control law given by (9) is usually converted to the polynomial transfer functions \( R_{0} S_{0} T_{0} \), which are defined the primary GPC controller. We get [14, 15]:

$$ S_{0} (q^{ - 1} )\Delta (q^{ - 1} )u_{\text{opt}} (t) = T_{0} (q^{ - 1} )w(t) - R_{0} (q^{ - 1} )y(t) $$
(10)

Comparing the two Eqs. (9) and (10) yields the following polynomial transfer functions:

$$ \left\{ \begin{array}{*{20}l} S_{0} (q^{ - 1} ) = 1 + q^{ - 1} \cdot iM_{1} (q^{ - 1} ) \cdot iH(q^{ - 1} ) \hfill \\ R_{0} (q^{ - 1} ) = iM_{1} (q^{ - 1} ) \cdot iF(q^{ - 1} ) \hfill \\ T_{0} (q^{ - 1} ) = iM_{1} (q^{ - 1} ) \cdot \begin{array}{*{20}c} {[q} & \cdots & {q^{{N_{2} }} } \\ \end{array} ]^{\text{T}} \hfill \\ \end{array} \right. $$
(11)

4 Youla parameterization

As given in [18], the robustified GPC controller can be presented by the following polynomial transfer functions \( R_{1} S_{1} T_{1} \). We get:

$$ \left\{ \begin{array}{*{20}l} R_{1} (q^{ - 1} ) = R_{0} (q^{ - 1} ) + \Delta (q^{ - 1} )Q(q^{ - 1} )A(q^{ - 1} ) \hfill \\ S_{1} (q^{ - 1} ) = S_{0} (q^{ - 1} ) - q^{ - 1} Q(q^{ - 1} )B(q^{ - 1} ) \hfill \\ T_{1} (q^{ - 1} ) = T_{0} (q^{ - 1} ) \hfill \\ \end{array} \right. $$
(12)

\( Q(q^{ - 1} ) \) denotes the stable transfer function (to be determined) that should improve the trade-off robustness of the primary GPC controller. As well as, it should conserve its better tracking dynamic. To achieve both previous goals, let us consider the feedback-control system of the robustified GPC controller, which is given by Fig. 1 [15, 18].

Fig. 1
figure 1

Feedback–control system given by robustified GPC controller

According to Fig. 1, we can obtain the generalized feedback-control system, which is given by Fig. 2 [19], where \( e(t) \), \( d(t) \), \( \eta (t) \) and \( w_{f} (t) \) are, respectively, the error signal, load disturbance input, measurement noise input and the filtered set-point reference. \( G(q^{ - 1} ) \) denotes the nominal plant, \( H_{(0;1)} (q^{ - 1} ) \) and \( K_{(0;1)} (q^{ - 1} ) \) are, respectively, the pre-controller and post-controller where the polynomials presented by the index (0) and the index (1) are, respectively, referred to the primary and robustified GPC controllers. We get:

$$ \left\{ \begin{array}{*{20}l} G(q^{ - 1} ) = q^{ - 1} \frac{{B(q^{ - 1} )}}{{A(q^{ - 1} )}} \hfill \\ K_{(0;1)} (q^{ - 1} ) = \frac{{R_{(0;1)} (q^{ - 1} )}}{{\Delta (q^{ - 1} )S_{(0;1)} (q^{ - 1} )}} \hfill \\ H_{(0;1)} (q^{ - 1} ) = \frac{{T_{(0;1)} (q^{ - 1} )}}{{R_{(0;1)} (q^{ - 1} )}} \hfill \\ \end{array} \right. $$
(13)
Fig. 2
figure 2

Generalized feedback–control system

According to Fig. 2, for the primary GPC controller case, the closed-loop system from the set-point reference to the process output is given by [19]:

$$ G_{{c_{0} }} (q^{ - 1} ) = H_{0} (q^{ - 1} )\left[ {\frac{{G(q^{ - 1} )K_{0} (q^{ - 1} )}}{{1 + G(q^{ - 1} )K_{0} (q^{ - 1} )}}} \right] $$
(14)

where better dynamic tracking heavily depends by a good choice of the tuning parameters \( \left( {N_{2} ,N_{u} ,\lambda } \right) \), which are specified by the user. According to Eqs. (1214), it is easy to see that the robustified GPC controller can conserve this previous tracking dynamic, i.e.,

$$ \left\{ \begin{aligned} G_{{c_{0} }} (q^{ - 1} ) = \frac{{G(q^{ - 1} )K_{0} (q^{ - 1} )H_{0} (q^{ - 1} )}}{{1 + G(q^{ - 1} )K_{0} (q^{ - 1} )}} \hfill \\ G_{{c_{1} }} (q^{ - 1} ) = \frac{{G(q^{ - 1} )K_{1} (q^{ - 1} )H_{1} (q^{ - 1} )}}{{1 + G(q^{ - 1} )K_{1} (q^{ - 1} )}} \hfill \\ \end{aligned} \right. \Rightarrow \;G_{{c_{0} }} (q^{ - 1} ) = G_{{c_{1} }} (q^{ - 1} ), \, \forall Q(q^{ - 1} ) $$
(15)

According to Fig. 2, two sensitivity functions can be determined when the robustified GPC controller is used. We get:(a) Sensitivity function [19, 20]:

$$ \begin{aligned} S_{{d_{1} }} (q^{ - 1} ) &= \frac{1}{{1 + G(q^{ - 1} )K_{1} (q^{ - 1} )}} \Rightarrow \\ S_{{d_{1} }} (q^{ - 1} ) &= \frac{{A\Delta S_{1} }}{{A\Delta S_{1} + q^{ - 1} BR_{1} }} \end{aligned} $$
(16)

Knowing that, Eq. (16) gives information on the nominal performances in frequency domain. It presents also the closed-loop system between the load disturbance (d) and the process output (y). So that, an ideal form of the sensitivity function is achieved when their maximal singular values \( \bar{\sigma }\left( {S_{{d_{1} }} (\omega )} \right) \) are vanished as much as possible in low frequencies and reached the unity 1 in high frequencies. According to Eq. (16), it is easy to verify the following relationship:

$$ S_{{d_{1} }} (q^{ - 1} ) = S_{{d_{0} }} (q^{ - 1} )\left( {1 - q^{ - 1} \frac{\Delta QB}{{\Delta S_{0} }}} \right) $$
(17)

where \( S_{{d_{0} }} (q^{ - 1} ) \) denotes the initial sensitivity function and \( \left( {1 - q^{ - 1} \frac{\Delta QB}{{\Delta S_{0} }}} \right) \) is the polynomial responsible to achieve the perfect form that is previously mentioned.

Proof

\( S_{{d_{1} }} (q^{ - 1} ) = \frac{1}{{1 + q^{ - 1} \frac{B}{A}.\frac{{R_{1} }}{{\Delta S_{1} }}}} \Rightarrow S_{{d_{1} }} (q^{ - 1} ) = \frac{{A\Delta S_{1} }}{{A\Delta S_{1} + q^{ - 1} BR_{1} }} \Rightarrow \) \( S_{{d_{1} }} (q^{ - 1} ) = \frac{{A\Delta \left( {S_{0} - q^{ - 1} QB} \right)}}{{A\Delta \left( {S_{0} - q^{ - 1} QB} \right) + q^{ - 1} B\left( {R_{0} + \Delta QA} \right)}} \Rightarrow \)

$$ S_{{d_{1} }} (q^{ - 1} ) = \frac{{A\Delta S_{0} }}{{A\Delta S_{0} + q^{ - 1} BR_{0} }}\left( {1 - q^{ - 1} \frac{\Delta QB}{{\Delta S_{0} }}} \right) \Rightarrow $$
$$ S_{{d_{1} }} (q^{ - 1} ) = S_{{d_{0} }} (q^{ - 1} )\left( {1 - q^{ - 1} \frac{\Delta QB}{{\Delta S_{0} }}} \right) $$

(b) Complementary sensitivity function:

$$ S_{{c_{1} }} (q^{ - 1} ) = \frac{{G(q^{ - 1} )K_{1} (q^{ - 1} )}}{{1 + G(q^{ - 1} )K_{1} (q^{ - 1} )}} \Rightarrow $$
$$ S_{{c_{1} }} (q^{ - 1} ) = \frac{{q^{ - 1} BR_{1} }}{{A\Delta S_{1} + q^{ - 1} BR_{1} }} $$
(18)

\( S_{{c_{1} }} (q^{ - 1} ) \) is the complementary sensitivity function that gives information on the stability robustness in frequency domain. It presents also the closed-loop system between the noise measurement (\( \eta \)) and the process output (\( y \)). So that, a perfect form of \( S_{{c_{1} }} (q^{ - 1} ) \) is achieved when their maximal singular values \( \bar{\sigma }\left( {S_{{c_{1} }} (\omega )} \right) \) are vanished as much as possible in high frequencies and reached the unity 0 dB in low frequencies. According to Eq. (18), it is easy to verify the following relationship:

$$ S_{{c_{1} }} (q^{ - 1} ) = S_{{c_{0} }} (q^{ - 1} )\left( {1 + \frac{\Delta QA}{{R_{0} }}} \right) $$
(19)

where \( S_{{c_{0} }} (q^{ - 1} ) \) is the initial complementary sensitivity function and \( \left( {1 + \frac{\Delta QA}{{R_{0} }}} \right) \) is the term responsible to attain the desired form that is previously cited.

Proof

$$ \begin{aligned} S_{{c_{1} }} (q^{ - 1} ) = \frac{{\left( {q^{ - 1} \frac{B}{A}} \right).\left( {\frac{{R_{1} }}{{\Delta S_{1} }}} \right)}}{{1 + \left( {q^{ - 1} \frac{B}{A}} \right).\left( {\frac{{R_{1} }}{{\Delta S_{1} }}} \right)}} \Rightarrow S_{{c_{1} }} (q^{ - 1} ) = \frac{{q^{ - 1} BR_{1} }}{{A\Delta S_{1} + q^{ - 1} BR_{1} }} \Rightarrow \hfill \\ S_{{d_{1} }} (q^{ - 1} ) = \frac{{q^{ - 1} QB\left( {R_{0} + \Delta QA} \right)}}{{A\Delta \left( {S_{0} - q^{ - 1} QB} \right) + q^{ - 1} B\left( {R_{0} + \Delta QA} \right)}} \Rightarrow \hfill \\ S_{{d_{1} }} (q^{ - 1} ) = \frac{{q^{ - 1} QBR_{0} }}{{A\Delta S_{0} + q^{ - 1} BR_{0} }}\left( {1 + \frac{\Delta QA}{{R_{0} }}} \right) \Rightarrow \hfill \\ S_{{c_{1} }} (q^{ - 1} ) = S_{{c_{0} }} (q^{ - 1} )\left( {1 + \frac{\Delta QA}{{R_{0} }}} \right). \hfill \\ \end{aligned} $$

In robust control theory, the optimal trade-off robustness can be formulated as the following weighted-mixed-sensitivity problem [19, 20]:

$$ \mathop {\hbox{min} }\limits_{{K_{1} \in \Re H_{\infty } }} \left\{ {J_{\infty } } \right\} = \mathop {\hbox{min} }\limits_{\begin{subarray}{l} K_{1} \in \Re H_{\infty } \\ \left\{ {q^{ - 1} = e^{ - j\omega } } \right\} \end{subarray} } \left\{ {\mathop {\sup }\limits_{{\omega \in \left[ {0{ , }\frac{\pi }{{T_{e} }}} \right]}} \left[ \begin{aligned} W_{1} ({\text{e}}^{ - j\omega } )S_{{d_{1} }} ({\text{e}}^{ - j\omega } ) \hfill \\ W_{3} ({\text{e}}^{ - j\omega } )S_{{c_{1} }} ({\text{e}}^{ - j\omega } ) \hfill \\ \end{aligned} \right]} \right\} $$
(20)

This is equivalent to the numerical inequality:

$$ \left\| \begin{aligned} W_{1} (e^{ - j\omega } )S_{{d_{1} }} (e^{ - j\omega } ) \hfill \\ W_{3} (e^{ - j\omega } )S_{{c_{1} }} (e^{ - j\omega } ) \hfill \\ \end{aligned} \right\|_{\infty } \le\, \gamma $$
(21)

where \( T_{e} \) and \( \gamma \) denote, respectively, the sampling time and the better H performance level, \( W_{1} \) and \( W_{3} \) denote, respectively, the weighting functions that penalize the control error \( e(t) \) and the process output \( y(t) \) [19, 20]. Practical considerations such as rate saturation, pure time delays and unmodeled dynamics can be included in those above weighting functions. Nevertheless, the procedure of choosing these weights is indeed empirical. The selection is iterative and may go on until a satisfactory performance is achieved with an acceptable trade-off. According to Eqs. (17), (19) and (20), the optimal Q-parameter is determined from resolving the following optimization problem, we get:

$$ \begin{aligned} \mathop {\hbox{min} }\limits_{{Q \in \Re H_{\infty } }} \left\{ {J_{\infty } (Q)} \right\} = \hfill \\ \mathop {\hbox{min} }\limits_{{Q \in \Re H_{\infty } }} \left\{ {\mathop {\sup }\limits_{{\omega \in \left[ {0{ , }\frac{\pi }{{T_{e} }}} \right]}} \left[ {\left. \begin{aligned} W_{1} ({\text{e}}^{ - j\omega } )S_{{d_{0} }} ({\text{e}}^{ - j\omega } )\left( {1 - {\text{e}}^{ - j\omega } \cdot \frac{\Delta QB}{{\Delta S_{0} }}} \right) \hfill \\ W_{3} ({\text{e}}^{ - j\omega } )S_{{c_{0} }} ({\text{e}}^{ - j\omega } )\left( {1 + \frac{\Delta QA}{{R_{0} }}} \right) \hfill \\ \end{aligned} \right]} \right.} \right\} \hfill \\ \end{aligned} $$
(22)

Where the optimal Q-parameter is given from solving the optimization problem (22) using the hinfsyn function of the Matlab software.

5 Results and discussion

In this section, the primary and robustified GPC controllers are applied to the hydraulic actuator (benchmark problem, see [21]) where its dynamic behavior is modeled by the following nominal plant model [21]:

$$ G_{N} \left( s \right) = \frac{9000}{{s^{3} + 30s^{2} + 700s + 1000}} $$
(23)

Knowing that, all uncertainties that affect the above process have been modeled as an unstructured-multiplicative model called also \( \Delta_{m} (s) \), which satisfies the following condition [21]:

$$ \left\| {\Delta_{m} (s)} \right\|_{\infty } = \left\| {\frac{{G_{p} \left( s \right) - G_{N} (s)}}{{G_{N} \left( s \right)}}} \right\|_{\infty } <\, 1 $$
(24)

where \( G_{p} \left( s \right) \) denotes the perturbed system. For performance specifications, \( W_{1} (s) \) is selected as a second-order system described by:

$$ W_{1} (s) = \frac{{1 + \left( {{\raise0.7ex\hbox{$s$} \!\mathord{\left/ {\vphantom {s {30}}}\right.\kern-0pt} \!\lower0.7ex\hbox{${30}$}}} \right)^{2} }}{{0.01\left( {1 + {\raise0.7ex\hbox{$s$} \!\mathord{\left/ {\vphantom {s 1}}\right.\kern-0pt} \!\lower0.7ex\hbox{$1$}}} \right)^{2} }} $$
(25)

where the line-of-sight error signal should be attenuated at least 100:1 to 1 rad/s.

For robust stability, \( W_{3} (s) \) is selected as a first-order system described by:

$$ W_{3} (s) = \frac{{1 + \left( {{\raise0.7ex\hbox{$s$} \!\mathord{\left/ {\vphantom {s {10}}}\right.\kern-0pt} \!\lower0.7ex\hbox{${10}$}}} \right)}}{{3.16\left( {1 + {\raise0.7ex\hbox{$s$} \!\mathord{\left/ {\vphantom {s {300}}}\right.\kern-0pt} \!\lower0.7ex\hbox{${300}$}}} \right)}} $$
(26)

where the robust stability robustness specification has a closed-loop bandwidth 30 rad/s. (more details are available in actdemo/help of Matlab software)

According to Ref. [21], both proprieties, which are the tracking dynamic and the trade-off robustness are guaranteed by solving the weighted-mixed sensitivity problem using the \( H_{\infty } \) method based on two Riccati equations. Its optimal solution given with the performance level \( \gamma = 0.8 \) yields also the robust \( H_{\infty } \) controller \( K_{H} \left( s \right) \), which is given by the following continuous state-space system [21]: \( K_{H} \left( s \right) = \left( {\begin{array}{*{20}c} {A_{H} } & {B_{H} } \\ {C_{H} } & {D_{H} } \\ \end{array} } \right) \) where:

$$ \begin{aligned} A_{H} = \left( {\begin{array}{*{20}r} \hfill { - 332.6916} & \hfill { - 0.1619} & \hfill {0.0230} \\ \hfill { - 0.0104} & \hfill { - 2.0064} & \hfill {0.1786} \\ \hfill {0.0001} & \hfill { - 3.7988} & \hfill { - 2.6026} \\ \hfill { - 0.0002} & \hfill { - 9.6135} & \hfill {9.3157} \\ \hfill {0.0027} & \hfill { - 74.2941} & \hfill {114.4444} \\ \hfill { - 0.0008} & \hfill {21.2806} & \hfill { - 32.7812} \\ \end{array} } \right. \hfill \\ \left. {\begin{array}{*{20}r} \hfill { - 1.4401} & \hfill {0.5268} & \hfill { - 7.9889} \\ \hfill { - 0.0720} & \hfill { - 0.0671} & \hfill { - 0.2227} \\ \hfill {9.6866} & \hfill {5.4420} & \hfill {18.0290} \\ \hfill { - 34.9763} & \hfill { - 19.6783} & \hfill { - 65.2037} \\ \hfill { - 209.0938} & \hfill { - 334.1902} & \hfill {468.6990} \\ \hfill {59.8923} & \hfill { - 0.6739} & \hfill { - 234.7583} \\ \end{array} } \right) \hfill \\ \end{aligned} $$
$$ B_{H} = \left( {\begin{array}{*{20}c} { - 0.0023} & {3.9261} & { - 1.1003} & { - 3.2160} \\ \end{array} } \right.\left. {\begin{array}{*{20}c} { - 25.1013} & {7.1899} \\ \end{array} } \right)^{\text{T}} $$
$$ {\text{C}}_{H} { = }\left( {\begin{array}{*{20}c} {30503} & {14} & 2 & {130} & { - 52} & {800} \\ \end{array} } \right){\text{and}}\;D_{H} = 0. 2 3 4 2 5 $$

For the GPC method, all previous continuous systems, which are the nominal plant and robust \( H_{\infty } \) controller, are discretized using the Tustin method and the sampling time T e  = 0.01 s. The CARIMA model is therefore given by:

$$ \left\{ \begin{array}{l} A(q^{ - 1} ) = 1 - 2.68q^{ - 1} + 2.422q^{ - 2} - 0.7408q^{ - 3} \hfill \\ q^{ - 1} B(q^{ - 1} ) = 0.001389 + 0.005164q^{ - 1} + 0.001196q^{ - 2} \hfill \\ \end{array} \right. $$

The tuning parameters of the GPC law, which ensure a better tracking dynamic are chosen as:\( \left( {N_{2} ,N_{u} ,\lambda } \right) = \left( {6, \, 1, \, 0.04} \right) \). It is very important to say that these parameters have been chosen after several tuning trials. Consequently, the primary GPC controller under the RST structure is determined by:

$$ \left\{ \begin{array}{l} R_{0} (q^{ - 1} ) = 155.9 - 365.5 \, q^{ - 1} + 295.3q^{ - 2} - 81.73q^{ - 3} \hfill \\ S_{0} (q^{ - 1} ) = 1 + 0.5774 \, q^{ - 1} + 0.6543q^{ - 2} + 0.1319q^{ - 3} \hfill \\ T_{0} (q^{ - 1} ) = 2.022 + 1.131 \, q^{ - 1} + 0.5199q^{ - 2} + 0.1674q^{ - 3} \hfill \\ \qquad\qquad + 0.02267q^{ - 4} \hfill \\ \end{array} \right. $$

The robustified GPC controller is then determined from solving the optimization problem given by Eq. (22) where its optimal solution defines the polynomial transfer function of the Q-parameter. We get: \( Q(q^{ - 1} ) = \frac{{Q_{N} (q^{ - 1} )}}{{Q_{D} (q^{ - 1} )}} \), where:

$$ \begin{aligned} Q_{N} (q^{ - 1} ) &= - 1 5 0. 4 2\left( {1 - 1.98q^{ - 1} + 0.98q^{ - 2} } \right) \hfill \\ &\quad \left( {1{ + 0} . 5 1 3 4q^{ - 1} { + 0} . 0 6 6 1 3q^{ - 2} } \right)\left( {1 - 1.487q^{ - 1} + 5626q^{ - 2} } \right) \hfill \\ &\quad \left( {1{ + 0} . 0 9 6 9q^{ - 1} + 0. 0 2 5 6 6q^{ - 2} } \right) \hfill \\ &\quad \left( {1 - 1.564q^{ - 1} + 0. 6 9 4 7q^{ - 2} } \right)\left( {1 - 5. 3 9 6\times 1 0^{ - 5} q^{ - 1} } \right) \hfill \\ \end{aligned} $$

and

$$ \begin{aligned} Q_{D} (q^{ - 1} ) & = \left( {1 - q^{ - 1} } \right)\left( {1 - 0. 9 8 4 9q^{ - 1} } \right)\left( {1 - 0. 7 9 1 2q^{ - 1} } \right) \hfill \\ &\quad \left( {1 + 0. 2 8 9 4q^{ - 1} } \right)\left( {1 + 0. 2 4 9 1q^{ - 1} } \right)\left( {1 - 0. 0 0 0 2 0 9 6q^{ - 1} } \right) \hfill \\ &\quad \left( {1 - 4. 2 4 9\times 1 0^{ - 5} q^{ - 1} + 2. 3 8 7\times 1 0^{ - 9} q^{ - 2} } \right) \hfill \\ &\quad \left( {1 - 1.76q^{ - 1} + 0. 7 8 0 1q^{ - 2} } \right)\left( {1 - 1.695q^{ - 1} + 0.7522q^{ - 2} } \right) \hfill \\ \end{aligned} $$

Figures 3 and 4 compare, respectively, the curve of the maximal singular values of the complementary sensitivity and the direct sensitivity functions, which are provided by the primary GPC, robustified GPC and the H controllers in the frequency range \( \omega = \left[ {10^{ - 3} , \, 10^{ + 5} } \right] \) radians/seconds. However, Figs. 5 and 6 compare, respectively, the obtained process outputs and the control energies taking into account the load disturbance \( d \), which is assumed to be a unit-step function with a gain of 0.35, and the measurement noise vector (\( \eta \)), which is assumed to be a Gaussian distributed random signal with mean and variance values equal to 0 and 0.001, respectively. The load disturbance \( d \) is carried on the output of the plant at t = 1.5 s, and the measurement noise signal \( \eta \) is carried on the output of the plant at time t = 2.5 s.

Fig. 3
figure 3

Stability robustness

Fig. 4
figure 4

Nominal Performances

Fig. 5
figure 5

Obtained process outputs

Fig. 6
figure 6

Obtained control energies

According to Fig. 3, for the primary GPC controller case, it can be seen that the curve of the maximal singular values of the complementary sensitivity function \( \left\{ {S_{{c_{0} }} } \right\} \) has an undesired resonance peak where \( \left\| {S_{{c_{0} }} } \right\|_{\infty } = 5.894 \) at the frequency ω = 202.6 radian/s. It can be seen also that the stability robustness condition is violated in high-frequency range except in interval: 22.95 ≤ ω ≤ 10+5 radians/s. This can be explained by a higher sensitivity of the feedback-control system to the noise measurement signals in time domain. Figure 3 shows also the obtained complementary sensitivity function by the \( H_{\infty } \) and the robustified GPC controllers, which are identical at all frequency points. These sensitivities are bounded by \( 1/\left| {W_{3} } \right| \), which confirm the improvement of obtained stability robustness by the primary GPC controller.

According to Fig. 4, all maximal singular values of three controllers are bounded by \( 1/\left| {W_{1} } \right| \) at all frequencies. However, \( \left\{ {S_{{d_{0} }} } \right\} \) has an undesired resonance peak where \( \left\| {S_{{d_{0} }} } \right\|_{\infty } = 6.851 \) at \( \omega = 202.6 \) radian/second. This can be explained by a poor rejection dynamic of load disturbance signals in time domain. Also, we can see that the other two controllers provide the same nominal performances. As a conclusion, Figs. 3 and 4 confirm that the better trade-off robustness is well guaranteed by the robustified GPC controller compared with that given by the primary GPC one.

Table 1 summarizes the time specifications given by three previous controllers where the better results are mentioned in bold.

Table 1 Time specifications provided by previous three controllers

6 Conclusion

This paper proposes a robustification method based on Youla parameterization, while its polynomial transfer function is determined by solving a weighted-mixed-sensitivity problem using the \( H_{\infty } \) method based on two Riccati equations. The obtained controller enhances the nominal performances and the stability robustness of the primary GPC controller for the hydraulic actuator taking into account the load disturbance and the Gaussian noise measurement signals. The obtained simulation results show the notable improvement that the GPC acquires.