## 3 Nonlinear Model Predictive Control Formulation
### Model Predictive Control with Input Constraints  
The MPC computes a control signal by optimizing the outputs based on a predicted model within a limited time window. Thus, the MPC can be formulated as an optimization problem subjected to some constraints, and the MPC formulations are shown as follows. Define a new state as  
\[\mathbf{x}=[\dot{\mathbf{z}}^{T}\;\mathbf{e}^{T}]^{T} \tag{20}\]  
where \(\mathbf{e}\) is the tracking error defined as  
\[\mathbf{e}=\mathbf{y}-\mathbf{r}_{f} \tag{21}\]  
in which \(\mathbf{r}_{f}\) is a constant reference signal to be tracked by the output \(\mathbf{y}\). Taking the derivative of the state-space equation in Equation (2) with respect to time leads to  
\[\ddot{\mathbf{z}}=\mathbf{A}\dot{\mathbf{z}}+\mathbf{B}\dot{\mathbf{v}} \tag{22}\]  
Also, the time derivative of Equation (21) leads to  
\[\dot{\mathbf{e}}=\dot{\mathbf{y}}=\mathbf{C}\dot{\mathbf{z}} \tag{23}\]  
Based on the definition of the new state shown in Equation (20), combining Equations (22) and (23) become to the augmented model as  
\[\dot{\mathbf{x}}=\mathbf{A}_{g}\mathbf{x}+\mathbf{B}_{g}\dot{\mathbf{v}},\; \mathbf{e}=\mathbf{C}_{g}\mathbf{x} \tag{24}\]  
where:  
\[\mathbf{A}_{g}=\left[ \begin{array}{cc}\mathbf{A}&\mathbf{0}_{t_{out}\times n _{state}}^{T}\\ \mathbf{C}&\mathbf{0}_{t_{out}\times n_{tot}}\end{array} \right],\;\mathbf{B}_ {g}=\left[ \begin{array}{cc}\mathbf{B}\\ \mathbf{0}_{t_{out}\times n_{in}}\end{array} \right],\;\mathbf{C}_{g}=\left[ \begin{array}{cc}\mathbf{0}_{t_{out}\times n_{state}}&\mathbf{I}_{n_{out} \times n_{out}}\end{array} \right] \tag{25}\]  
in which \(n_{int}\), \(n_{out}\) and \(n_{state}\) are the numbers of inputs, outputs and states, respectively. Therefore, the MPC optimization problem can be formulated as [29]  
\[\text{Min}\;J=\int_{0}^{T_{p}}\left(\mathbf{x}^{T}(t_{i}+\tau)\mathbf{Q} \mathbf{x}(t_{i}+\tau)+\dot{\mathbf{v}}^{T}(\tau)\mathbf{R}\dot{\mathbf{v}}( \tau)\right)d\tau \tag{26}\]  
Figure 1: A signal approximated by using 2, 4 and 6 Laguerre functions. subjected to the augmented equations as (24) and the input constraints as (17), where \(t_{i}\) is the current time in the model predictive control; \(T_{p}\) is the time of horizon window; \(\mathbf{Q}\) and \(\mathbf{R}\) are the weighting diagonal matrices for state and input, respectively. The Laguerre functions are applied to estimate the control signal expressed as  
\[\dot{v}_{i}(t)=\mathbf{L}_{i}^{T}(t)\mathbf{\eta}_{i} \tag{27}\]  
where \(v_{i}(t)\) is the \(i\)th control signal in vector \(\mathbf{v}(t)\); \(\mathbf{L}_{i}(t)\) and \(\mathbf{\eta}_{i}\) are two \((N_{i}\times 1)\) vectors associated with the control \(v_{i}(t)\), and \(N_{i}\) is the number of the Laguerre functions regarding to the \(i\)th control \(v_{i}(t)\). Since the Laguerre functions have the property of the orthonormality, Equation (27) substituted into (17) and (24) leads to  
\[\overline{\mathbf{M}}\mathbf{\eta}\leq\overline{\mathbf{\gamma}} \tag{28}\]  
\[\mathbf{x}(t_{i}+\tau)=e^{\mathbf{A}_{g}\tau}\mathbf{x}(t_{i})+\Phi^{T}(\tau )\mathbf{\eta} \tag{29}\]  
where \(\mathbf{\eta}\) is a vector consisting all \(\mathbf{\eta}_{i}\), and  
\[\overline{\mathbf{M}}=\left[ \begin{array}{c}diag(\mathbf{L}_{1}^{T}(0) \Delta t,\mathbf{L}_{2}^{T}(0)\Delta t,\cdots,\mathbf{L}_{n_{in}}^{T}(0) \Delta t\\ diag(-\mathbf{L}_{1}^{T}(0)\Delta t,-\mathbf{L}_{2}^{T}(0)\Delta t,\cdots,- \mathbf{L}_{n_{in}}^{T}(0)\Delta t\end{array}