In the previous section, the trajectory tracking model has been established. Then, in this section, the trajectory tracking controller will be designed based on MPC and robust theory, respectively. Specifically, both controllers will be built with model described in Eq. (10) to compare the differences between them.
3.1 Trajectory Tracking Controller Based on MPC
3.1.1 Formulation of Augmented System
As analyzed above, the trajectory tracking task can be taken as a predictive control problem with multi-constraints. Note that the model described in Eq. (10) is a continuous-time system. To facilitate MPC controller design, the continuous-time system should be transformed into a discrete state-space mode with the fixed sampling period. Here, the zero-order hold (ZOH) method is applied and the Eq. (10) can be converted as:
$$\left\{ \begin{array}{*{20}ll} x\left( {k + 1} \right) = A_{d} x\left( k \right) + B_{d} u\left( k \right) + D\left( k \right), \\ y\left( k \right) = C_{d} x\left( k \right), \\ \end{array} \right.$$
(11)
where \(A_{d} \in R^{5 \times 5} ,\; B_{d} \in R^{5 \times 2}\) and \(C_{d} \in R^{4 \times 5}\) are the system coefficient matrices and \(k\) means the time step.
Furthermore, to achieve a better control performance, the state vector \(x\left( k \right)\) and the increment input \(\Delta u\left( k \right)\) are usually coupled in an augmented vector, which can be represented as \(\tilde{x}\left( k \right) = \left[ {x\left( k \right), \;\Delta u\left( k \right)} \right]^{{\text{T}}}\). And the control input can be calculated by
$$u\left( k \right) = u\left( {k - 1} \right) + \Delta u\left( k \right).$$
(12)
Thus, the system Eq. (11) can be rewritten as the following equations:
$$\left\{ \begin{array}{*{20}ll} \tilde{x}\left( {k + 1} \right) = \tilde{A}\left( k \right)\tilde{x}\left( k \right) + \tilde{B}\left( k \right)\Delta u\left( k \right) + \tilde{D}\left( k \right), \\ \tilde{y}\left( k \right) = \tilde{C}\left( k \right)\tilde{x}\left( k \right), \\ \end{array} \right.$$
(13)
where \(\tilde{A}\left( k \right) = \left[ {\begin{array}{*{20}c} {A_{d} } & {B_{d} } \\ {0_{2 \times 5} } & {I_{2} } \\ \end{array} } \right]\), \(\tilde{B}\left( k \right) = \left[ {\begin{array}{*{20}c} {B_{d} } \\ {I_{2} } \\ \end{array} } \right]\) and \(\tilde{C}\left( k \right) = \left[ {\begin{array}{*{20}c} {C_{d} } & {0_{4 \times 2} } \\ \end{array} } \right].\)
The sequence of future incremental inputs and disturbances at time step \(k\) are denoted as \(\Delta U\left( k \right)\) and \(\overline{D}\left( k \right)\), respectively.
$$\left\{ \begin{aligned} \Delta U\left( k \right) & = \left[ {\Delta u\left( k \right),\Delta u\left( {k + 1} \right), \cdots ,\Delta u\left( {k + N_{c} - 1} \right)} \right]^{{\text{T}}} , \\ \overline{D}\left( k \right) & = \left[ {\tilde{D}\left( k \right),\tilde{D}\left( {k + 1} \right), \cdots ,\tilde{D}\left( {k + N_{p} - 1} \right)} \right]^{{\text{T}}} , \\ \end{aligned} \right.$$
(14)
where \(N_{p}\) is the prediction horizon and \(N_{c}\) means the control horizon.
Therefore, the predicted output can be calculated by the following formulations:
$$\left\{ \begin{gathered} \tilde{x}\left( {k + 1} \right) = \tilde{A}\tilde{x}\left( k \right) + \tilde{B}\Delta u\left( k \right) + \tilde{D}\left( k \right), \hfill \\ \tilde{x}\left( {k + 2} \right) = \tilde{A}^{2} x\left( k \right) + \tilde{A}\tilde{B}\Delta u\left( k \right) + \tilde{A}\tilde{D}\left( k \right) + \hfill \\ \tilde{B}\Delta u\left( {k + 1} \right) + \tilde{D}\left( {k + 1} \right), \hfill \\ \vdots \hfill \\ \tilde{x}\left( {k + N_{c} } \right) = \tilde{A}^{{N_{c} }} x\left( k \right) + \tilde{A}^{{N_{c} - 1}} \tilde{B}\Delta u\left( k \right) + \tilde{A}^{{N_{c} - 1}} \tilde{D}\left( k \right) + \ldots \hfill \\ + \tilde{B}\Delta u\left( {k + N_{c} - 1} \right) + \tilde{D}\left( {k + N_{c} - 1} \right), \hfill \\ \vdots \hfill \\ \tilde{x}\left( {k + N_{p} } \right) = \tilde{A}^{{N_{p} }} x\left( k \right) + \tilde{A}^{{N_{p} - 1}} \tilde{B}\Delta u\left( k \right) + \tilde{A}^{{N_{p} - 1}} \tilde{D}\left( k \right) + \ldots \hfill \\ + \tilde{A}^{{N_{p} - N_{c} }} \tilde{B}\Delta u\left( {k + N_{c} - 1} \right) + \tilde{A}^{{N_{p} - N_{c} }} \tilde{D}\left( {k + N_{c} - 1} \right) \hfill \\ + \ldots \tilde{D}\left( {k + N_{p} - 1} \right). \hfill \\ \end{gathered} \right.$$
(15)
Here, define the predicted outputs of the predictive state-space model at time step k as:
$$Y\left( k \right) = \left[ {\tilde{y}\left( {k + 1} \right),\tilde{y}\left( {k + 2} \right), \cdots ,\tilde{y}\left( {k + N_{p} } \right)} \right]^{{\text{T}}} .$$
(16)
Denote the performance outputs over the prediction horizon \(N_{p}\) as a compact matrix form:
$$Y\left( k \right) = \Gamma \tilde{x}\left( k \right) + \Theta \Delta U\left( k \right) + \xi \overline{D}\left( k \right),$$
(17)
with \(\Gamma = \left[ {\tilde{C}\tilde{A}, \tilde{C}\tilde{A}^{2} , \cdots \tilde{C}\tilde{A}^{{N_{c} }} , \cdots ,\tilde{C}\tilde{A}^{{N_{p} }} } \right]^{{\text{T}}}\),
$$\Theta = \left[ {\begin{array}{*{20}c} {\tilde{C}\tilde{B}} & 0 & \cdots & 0 \\ {\tilde{C}\tilde{A}\tilde{B}} & {\tilde{C}\tilde{B}} & \cdots & \vdots \\ \vdots & \vdots & \cdots & 0 \\ {\tilde{C}\tilde{A}^{{N_{c} - 1}} \tilde{B}} & {\tilde{C}\tilde{A}^{{N_{c} - 2}} \tilde{B}} & \cdots & {\tilde{C}\tilde{B}} \\ \vdots & \vdots & \ddots & \vdots \\ {\tilde{C}\tilde{A}^{{N_{c} - 1}} \tilde{B}} & {\tilde{C}\tilde{A}^{{N_{c} - 2}} \tilde{B}} & \cdots & {\tilde{C}\tilde{A}^{{N_{p} - N_{c} }} \tilde{B}} \\ \end{array} } \right],$$
$$\xi = \left[ {\begin{array}{*{20}c} {\tilde{C}} & 0 & \cdots & 0 \\ {\tilde{C}\tilde{A}} & {\tilde{C}} & \cdots & 0 \\ {\tilde{C}\tilde{A}^{2} } & {\tilde{C}\tilde{A}} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ {\tilde{C}\tilde{A}^{{N_{p} - 1}} } & {\tilde{C}\tilde{A}^{{N_{p} - 2}} } & \cdots & {\tilde{C}} \\ \end{array} } \right].$$
3.1.2 Formulation of Trajectory Tracking Problem Using MPC
The aim of MPC-based trajectory tracking controller is to make the predicted outputs as close as possible to the reference trajectory within the predictive horizon, and the reference trajectory \(Y_{r} \left( k \right)\) is assumed to remain unchanged during current optimization window. The reference signals are described as:
$$Y_{r} \left( k \right) = \left[ {\tilde{y}_{r} \left( {k + 1} \right),\tilde{y}_{r} \left( {k + 2} \right), \cdots ,\tilde{y}_{r} \left( {k + N_{p} } \right)} \right]^{{\text{T}}} .$$
(18)
Thus, a typical tracking accuracy and control smoothness-oriented cost function over the predictive horizons is defined:
$${\mathcal{L}}\left( {x,u\left( {k - 1} \right),U\left( k \right)} \right) = \mathop {\min }\limits_{{\Delta U_{k} }} \left\{ {[Y_{r} \left( k \right) - Y\left( k \right)]^{{\text{T}}} \overline{Q}[Y_{r} \left( k \right) - Y\left( k \right)] + \Delta U^{{\text{T}}} \left( k \right)\overline{R}\Delta U\left( k \right)} \right\},$$
(19)
where diagonal matrices \(\overline{Q}\) and \(\overline{R}\) are the positive definite weight matrices (i.e., \(\overline{Q} > 0\) and \(\overline{R} > 0\)) which can be regulated to achieve desired closed-loop performance. The first item in cost function reflects the tracking error between the predictive outputs and the reference trajectory. The second one refers to the penalty on the control inputs that is to make the control process smoother.
On the other hand, vehicles have many inherent physical limitations. These limitations on the capacity of control actuators result in the hard constrains of the tracking system. Besides, there are also some restrictions imposed on output variables due to environment conditions (i.e., road boundary, speed limit, etc.). Here, the constrains for this trajectory tracking problem are specified as:
$$\left\{ \begin{aligned} & \Delta U_{\min } \left( k \right) \le \Delta U\left( k \right) \le \Delta U_{\max } \left( k \right), \\ & U_{\min } \left( k \right) \le G\Delta U + Fu\left( {k - 1} \right) \le U_{\max } \left( k \right), \\ & Y_{\min } \le Y\left( k \right) \le Y_{\max } , \\ \end{aligned} \right.$$
(20)
with
$$G = \left[ {\begin{array}{*{20}c} 1 & 0 & \cdots & 0 & 0 \\ 1 & 1 & \cdots & 0 & 0 \\ 1 & 1 & \ddots & \vdots & \vdots \\ 1 & 1 & \cdots & 1 & 0 \\ 1 & 1 & \cdots & 1 & 1 \\ \end{array} } \right]_{{N_{c} \times N_{c} }} \quad F = \left[ \begin{gathered} 1 \hfill \\ 1 \hfill \\ \vdots \hfill \\ 1 \hfill \\ 1 \hfill \\ \end{gathered} \right]_{{N_{c} \times 1 }}$$
where \(\Delta U_{\min } , \;\Delta U_{\max } , \;U_{\min } , \;U_{\max } \in R^{{2N_{c} \times 1}}\), \(Y_{{{\text{min}}}} ,\) \(Y_{{{\text{max}}}} \in R^{4 \times 1}\) and \(u\left( {k - 1} \right)\) is the control inputs at time k − 1.
Then, combined Eq. (19) with Eq. (20), the trajectory tracking problem is converted to solve the following optimal problem with multi-constrains:
$$\begin{gathered} {\mathcal{L}}\left( {x,u\left( {k - 1} \right),U\left( k \right)} \right) = \hfill \\ \mathop {\min }\limits_{{\Delta U_{k} }} \left\{ {[Y_{r} \left( k \right) - Y\left( k \right)]^{{\text{T}}} \overline{Q}[Y_{r} \left( k \right) - Y\left( k \right)] + \Delta U^{{\text{T}}} \left( k \right)\overline{R}\Delta U\left( k \right)} \right\}, \hfill \\ \end{gathered}$$
$${\text{s}}.{\text{t}}.,\;\left\{ \begin{aligned} & \Delta U_{\min } \le \Delta U \le \Delta U_{\max } , \\ & U_{\min } \le G\Delta U + Fu\left( {k - 1} \right) \le U_{\max } , \\ & Y_{\min } \le Y\left( k \right) \le Y_{\max } . \\ \end{aligned} \right.$$
(21)
It’s found that the optimization problem Eq. (21) is based on linear system and the cost function is convex quadratic, which means it’s can be remade as quadratic program (QP) issues if the constrains are convex too. The problem described in Eq. (21) needs to be translated into standard form of quadratic problems:
$$\begin{array}{*{20}c} {{\mathcal{L}^{\prime}}\left( {x,u\left( {k - 1} \right),U\left( k \right)} \right) = \mathop {\min }\limits_{{\Delta U_{k} }} \left\{ {\frac{1}{2}\Delta U^{{\text{T}}} \left( k \right)G_{k} \Delta U\left( k \right) + H^{{\text{T}}} \Delta U\left( k \right)} \right\}} \\ {{\text{s}}.{\text{t}}., \left\{ \begin{aligned} & \Delta U_{\min } \le \Delta U \le \Delta U_{\max } , \\ & U_{\min } \le G\Delta U + Fu\left( {k - 1} \right) \le U_{\max } , \\ & Y_{\min } \le Y\left( k \right) \le Y_{\max } , \\ \end{aligned} \right.} \\ \end{array}$$
(22)
where \(G_{k} = 2(\Theta^{{\text{T}}} {\overline{\text{Q}}}\Theta + {\overline{\text{R}}})\), \(H = \Theta^{{\text{T}}} {\overline{\text{Q}}}\left( {\Gamma \tilde{x} - Y_{r} + \xi \overline{D}} \right)\).
Then, at time step k, the above quadratic problem can be solved (i.e., quadprog function in Matlab) and will get a solution \(\Delta U_{k}^{*}\). Once the solution is obtained, the first element of solution vector in vector, namely, \(\Delta u_{k}^{*}\) will be used and the optimal control inputs at this time step is computed as:
$$u\left( k \right) = u\left( {k - 1} \right) + \Delta u_{k}^{*}$$
(23)
Similarly, at next time step \(k + 1\), new input measurements and updated system states produce new quadratic problem that needs to solve. In conclusion, by solving a quadratic problem at each time step, the MPC controller will get an optimal input for next time step.
3.2 Trajectory Tracking Controller Based on RSC
3.2.1 Preliminary Knowledge of RSC
We re-emphasize that the main objective of this paper is a comparative study of different control strategies. Both MPC-based and RSC-based tracking controllers use standard design methods, and specifically, the RSC-based tracking controller design mainly adopts the theory applied in Refs. [10, 21]. The design of RSC is also based on the linearized vehicle model Eq. (10) and the objective function is defined as follows:
$$\int \limits_{0}^{t} y^{{\text{T}}} \left( t \right)y\left( t \right){\text{d}}t \le \gamma^{2} \int \limits_{0}^{t} D^{{\text{T}}} \left( t \right)D\left( t \right){\text{d}}t,$$
(24)
where the main task is to obtain a control law that can make the closed-loop system satisfy the asymptotically stability and fulfill the \(H_{\infty }\) performance index \(\gamma\) that attenuate the effect of the external disturbance \(D\left( t \right)\).
Before the controller design, some essential lemmas and theorems also need to be introduced. Consider a polytopic linear parameter varying (LPV) system, which is described as follows:
$$\left\{ \begin{aligned} \dot{x}\left( t \right) & = A_{0} \left( q \right)x\left( t \right) + B_{0} \left( q \right)u\left( t \right), \\ y\left( t \right) & = C_{0} \left( q \right)x\left( t \right). \\ \end{aligned} \right.$$
(25)
It’s equal to the following equations:
$$\left\{ \begin{aligned} \dot{x}\left( t \right) & = \sum \limits_{i = 1}^{n} q_{i} \left[ {A_{0i} x\left( t \right) + B_{0i} u\left( t \right)} \right], \\ y\left( t \right) & = \sum \limits_{i = 1}^{n} q_{i} C_{0i} x\left( t \right), \\ \sum \limits_{i = 1}^{n} q_{i} & = 1, q_{i} \ge 0, \\ \end{aligned} \right.$$
(26)
where the \(A_{0i} , \;B_{0i}\) and \(C_{0i}\) are the values of \(A_{0} \left( q \right)\), \(B_{0} \left( q \right)\) and \(C_{0} \left( q \right)\) at the vertex \(q_{i}\) of the parameters polytope.
Theorem 1
Given a positive scalar \(\gamma_{0}\), the system described in Eq. (26) is asymptotically stable and meets the \(H_{\infty }\) performance index in Eq. (24), if and only if there exists \(n\) symmetric definite matrices \(P_{i}\) and a matrix \(S_{0}\) satisfying the following conditions
$$\left[ {\begin{array}{*{20}c} {A_{0i} S_{0} + S_{0}^{{\text{T}}} A_{0i}^{{\text{T}}} } & {S_{0}^{{\text{T}}} B_{0i}^{{\text{T}}} } & {C_{0i} } & {P_{i} - S_{0}^{{\text{T}}} } \\ * & { - \gamma_{0} I} & 0 & 0 \\ * & * & { - \gamma_{0} I} & 0 \\ * & * & * & 0 \\ \end{array} } \right] < 0, i = 1,2, \cdots ,n.$$
(27)
The proof of this theorem can be found in Ref. [21]. The RSC-based controller design is on account of linear matrix inequality (LMI) method. So far, the preliminary knowledge has been prepared sufficiently for the RSC-based controller design.
3.2.2 Formulation of Trajectory Tracking Problem
Similar to MPC-based controller, the constrains imposed on inputs should be taken into consideration [33]. Define Lyapunov equation as follows:
$$V\left( t \right) = x\left( t \right)^{{\text{T}}} Px\left( t \right).$$
(28)
And it’s assumed that the following conditions are satisfied
$$x\left( t \right)^{{\text{T}}} Px\left( t \right) < \eta ,$$
(29)
$$u\left( t \right) = Kx\left( t \right),$$
(30)
where \(K\) is the gain of the controller and \(\eta\) is a given constant. The maximum inputs are denoted as \(u_{{{\text{max}}}}\), then,
$$\begin{aligned} \max\parallel u\left( t \right)\parallel^{2} & = \max\parallel x^{{\text{T}}} \left( t \right)K^{{\text{T}}} Kx\left( t \right)\parallel \\ & = \max \parallel x^{{\text{T}}} \left( t \right)P^{\frac{1}{2}} P^{{ - \frac{1}{2}}} K^{\text{T}} KP^{{ - \frac{1}{2}}} P^{\frac{1}{2}} x\left( t \right) \parallel\\ \end{aligned}$$
$$< \eta \theta_{\max } (P^{{ - \frac{1}{2}}} K^{{\rm{T}}} KP^{{ - \frac{1}{2}}} ) \le u_{\max } I,$$
(31)
where \(\theta_{{{\text{max}}}}\) is the largest eigenvalue of the matrix \((P^{{ - \frac{1}{2}}} K^{{\text{T}}} KP^{{ - \frac{1}{2}}} )\).
Based on Schur complement lemma [34] and Eq. (31), the following conditions can be obtained,
$$\left[ {\begin{array}{*{20}c} { - I} & {\sqrt \eta K} \\ {\sqrt \eta K} & { - u_{{{\text{max}}}}^{2} P} \\ \end{array} } \right] \le 0.$$
(32)
For the system depicted by Eq. (10), it can be found that time-varying parameters \(v_{x} , \frac{1}{{v_{x} }}, r\) and \(C_{R}\) are coupled in the system matrices. These parameters need to be processed before carrying out the design of RSC control law. Here, the polytope model method in Ref. [10] is applied to cover the rang of time-varying parameters. Specifically, in this system, the longitudinal velocity is usually bounded. It can be assumed that \(v_{x}\) varies in the range of \(\left[ {v_{{x{\text{min}}}} , v_{{x{\text{max}}}} } \right]\), \(\frac{1}{{v_{x} }}\) is bound in the range of \(\left[ { \frac{1}{{v_{{x{\text{max}}}} }}, \frac{1}{{v_{{x{\text{min}}}} }}} \right]\) and \(v_{{x{\text{min}}}} , v_{{x{\text{max}}}}\) denote the minimum and maximum values of longitudinal velocity. Similarly, the same assumptions are imposed on \(r\) and \(C_{R}\), namely, \(r\) and \(C_{R}\) vary in the range of \(\left[ {r_{{{\text{max}}}} ,r_{{{\text{min}}}} } \right]\) and \(\left[ {C_{{R{\text{min}}}} , \;C_{{R{\text{max}}}} } \right]\), respectively. Therefore, the time-varying parameters \(v_{x} , \frac{1}{{v_{x} }},r\) and \(C_{R}\) can be expressed by a linear combination of the vertices as follows:
$$\left\{ {\begin{array}{*{20}c} {v_{x} = \sum \limits_{i = 1}^{2} \rho_{1i} \sigma_{1i} ,} & {\frac{1}{{v_{x} }} = \sum \limits_{i = 1}^{2} \rho_{2i} \sigma_{2i} ,} \\ {r = \sum \limits_{i = 1}^{2} \rho_{3i} \sigma_{3i} ,} & {C_{R} = \sum \limits_{i = 1}^{2} \rho_{4i} \sigma_{4i} ,} \\ \end{array} } \right.$$
(33)
where \(\sigma\) represents the vertices coordinates of the polytope and \(\rho\) means the weighting factors, which can be denoted as:
$$\left\{ {\begin{array}{*{20}c} {\rho_{11} = \frac{{v_{{x{\text{max}}}} - v_{x} }}{{v_{{x{\text{max}}}} - v_{{x{\text{min}}}} }},} & {\rho_{12} = \frac{{v_{x} - v_{{x{\text{min}}}} }}{{v_{{x{\text{max}}}} - v_{{x{\text{min}}}} }},} \\ {\rho_{21} = \frac{{\frac{1}{{v_{{x{\text{max}}}} }} - \frac{1}{{v_{x} }}}}{{\frac{1}{{v_{{x{\text{max}}}} }} - \frac{1}{{v_{{x{\text{min}}}} }}}},} & {\rho_{22} = \frac{{\frac{1}{{v_{x} }} - \frac{1}{{v_{{x{\text{min}}}} }}}}{{\frac{1}{{v_{{x{\text{max}}}} }} - \frac{1}{{v_{{x{\text{min}}}} }}}},} \\ {\rho_{31} = \frac{{r_{{{\text{max}}}} - r}}{{r_{{x{\text{max}}}} - r_{{x{\text{min}}}} }},} & {\rho_{32} = \frac{{r - r_{{{\text{min}}}} }}{{r_{{x{\text{max}}}} - r_{{x{\text{min}}}} }},} \\ {\rho_{41} = \frac{{C_{{R{\text{max}}}} - C_{{R}}}}{{C_{{R{\text{max}}}} - C_{{R{\text{min}}}} }},} & {\rho_{42} = \frac{{C_{{R}} - C_{{R{\text{min}}}} }}{{C_{{R{\text{max}}}} - C_{{R{\text{min}}}} }},} \\ \end{array} } \right.$$
$$\left\{ {\begin{array}{*{20}c} {\sigma_{11} = v_{{x{\text{min}}}} ,} & {\sigma_{12} = v_{{x{\text{max}}}} ,} \\ {\sigma_{21} = \frac{1}{{v_{{x{\text{min}}}} }},} & {\sigma_{22} = \frac{1}{{v_{{x{\text{max}}}} }},} \\ {\sigma_{31} = r_{{{\text{min}}}} ,} & {\sigma_{32} = r_{{{\text{max}}}} ,} \\ {\sigma_{41} = C_{{R{\text{min}}}} ,} & {\sigma_{42} = C_{{R{\text{max}}}} .} \\ \end{array} } \right.$$
(34)
Combined Eq. (10) and Eq. (33), the system plant of trajectory tracking system can be rewritten in the polytypic form as:
$$\dot{x}\left( t \right) = \sum \limits_{i = 1}^{16} \beta_{i} \left[ {A_{i} x\left( t \right) + B_{i} u\left( t \right) + D_{i} \left( t \right)} \right],$$
(35)
where \(\beta_{1} = \overline{\beta }_{1111} , \beta_{2} = \overline{\beta }_{1112} , \cdots , \beta_{16} = \overline{\beta }_{2222} , \sum \nolimits_{i = 1}^{16} \beta_{i} = 1\) and \(\overline{\beta }_{ijmn} = \sum \nolimits_{i = 1}^{2} \sum \nolimits_{j = 1}^{2} \sum \limits_{m = 1}^{2} \sum \nolimits_{n = 1}^{2} \rho_{1i} \rho_{2j} \rho_{3m} \rho_{4n}\).
Define \(\beta = \left[ {\beta_{1} , \beta_{2} , \cdots ,\beta_{16} } \right]^{{\text{T}}}\), \(y = \left[ {r,e_{y} ,e_{\varphi } ,e_{v} } \right]^{T}\) and the LPV model of trajectory tracking system can be expressed as:
$$\left\{ \begin{aligned} \dot{x}\left( t \right) & = A\left( \beta \right)x\left( t \right) + B\left( \beta \right)u\left( t \right) + D\left( t \right), \\ y\left( t \right) & = Cx\left( t \right), \\ \end{aligned} \right.$$
(36)
with
$$C = \left[ {\begin{array}{*{20}c} 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right].$$
Then, the state-feedback controller is proposed as:
$$u\left( t \right) = K\left( \beta \right)x\left( t \right) = \sum \limits_{i = 1}^{16} \beta_{i} K_{i} x\left( t \right),$$
(37)
where \(K_{i}\) is the control gain.
Combined the Eq. (36) with Eq. (37), the closed-loop system can be obtained:
$$\left\{ \begin{array}{*{20}ll} \dot{x}\left( t \right) = \sum \limits_{i = 1}^{16} \beta_{i} \left[ {(A_{i} + B_{i} K_{i} )x\left( t \right) + D_{i} \left( t \right)} \right], \\ y = Cx\left( t \right). \\ \end{array} \right.$$
(38)
According to theorem 1 and Eq. (38), if the following condition is fulfilled, the controller will achieve the aim of ensuring system stability and \(H_{\infty }\) performance index of the closed-loop system.
$$\left[ {\begin{array}{*{20}c} {(A_{i} + B_{i} K_{i} )S + S^{{\text{T}}} (A_{i} + B_{i} K_{i} )^{{\text{T}}} } & {S^{{\text{T}}} C^{{\text{T}}} } & I & {P_{i} - S^{{\text{T}}} } \\ * & { - \gamma I} & 0 & 0 \\ * & * & { - \gamma I} & 0 \\ * & * & * & 0 \\ \end{array} } \right] < 0, i = 1,2, \cdots ,n,$$
$$\left[ {\begin{array}{*{20}c} { - I} & {\sqrt \eta K_{i} } \\ {\sqrt \eta K} & { - u_{max}^{2} P_{i} } \\ \end{array} } \right] \le 0, i = 1,2, \cdots ,n,$$
(39)
where the \(P_{i}\) is a symmetric positive definite matrix and \(S\) is a matrix with proper dimensions. \(\gamma\) represents the performance index of system in attenuating disturbance.
So far, the key to solve the trajectory tracking issue has converted to calculate the controller gain \(K\left( \beta \right)\) by solving the inequality problems above. In this paper, we use the yalmip toolbox to solve this issue because it has simple syntax and is easy to use.