# Cooperative Control of Interconnected Air Suspension Based on Model Predictive Control
## 3 Cooperative Control Design Based on MPC
### MPC Controller Design
^{\text{T}}\) represents the pressure change rate of the front-left (FL), front-right (FR), rear-left (RL), and rear-right (RR) air springs due to IMA; matrix \(\mathbf{P}\) is the current pressure in the FL, FR, RL, and RR air spring; matrix \(\dot{\mathbf{q}}_{1}= \begin{bmatrix}\dot{q}_{\text{lfr}},\,\dot{q}_{\text{lfr}}, \,\dot{q}_{\text{lr}},\,\dot{q}_{\text{lr}}\end{bmatrix} ^{\text{T}}\) represents the total gas mass flow change of the FL, FR, RL, and RR air springs; \(\mathbf{A}_{\text{pl}},\,\mathbf{B}_{\text{p}},\,\mathbf{A}_{\text{ql}},\,\mathbf{B}_{\text{ql}}\) are the corresponding state matrixes. In OMA, \(i=H\), matrix \(\dot{\mathbf{P}}_{\text{o}}= \begin{bmatrix}\dot{P}_{\text{rh}},\,\dot{P}_{\text{ Hfr}},\,\dot{P}_{\text{rh}},\,\dot{P}_{\text{hfr}},\,\dot{P}_{\text{hfr}},\,\dot{P}_{\text{t}} \end{bmatrix} ^{\text{T}}\) refer to the pressure change rate of FL, FR, RL, and RR air springs and high-pressure tanks; \(\mathbf{q}= \begin{bmatrix}\mathbf{P}_{\text{o}}+\mathbf{B}_{\text{p}}\mathbf{x},\,P_{\text{t}}, \,\mathbf{P}_{\text{a}}\end{bmatrix} ^{\text{T}}\) are the current pressure of air springs, high-pressure tank pressure, and atmospheric pressure, respectively. The existing continuous-time state equation is discretized by the sample time \(T_{\text{s}}\) and the zero-order holder considering MPC used to solve the optimization problem in the discrete-time domain. The discretized equation of state is described as  
\[ \begin{cases}\mathbf{x}[k+1]=\mathbf{A}_{\text{d}}\mathbf{x}[k]+\mathbf{B}_{\text{du}}\mathbf{u}[k ]+\mathbf{B}_{\text{d}\mathbf{\omega}}\mathbf{\omega}[k]\\ \mathbf{y}[k]=\mathbf{C}_{\text{d}}\mathbf{x}[k]+\mathbf{D}_{\text{du}}\mathbf{u}[k]+\mathbf{D}_{\text{ d}\mathbf{\omega}}\mathbf{\omega}[k]\end{cases}  \tag{5}\]  
in which  
\[\mathbf{A}_{\text{d}}=\mathbf{e}^{A\mathbf{T}_{\text{s}}}=\mathbf{C}^{-1}\Big{\{}(s\text{I}- \mathbf{A})^{-1}\Big{\}}_{\text{t=T}_{\text{s}}}\]  
\[ \begin{bmatrix}\mathbf{B}_{\text{du}}\\ \mathbf{B}_{\text{d}\mathbf{\omega}}\end{bmatrix} =\left(\int_{\tau=0}^{T_{\text{s}}}e^ {A\tau}d\tau\right) \begin{bmatrix}\mathbf{B}_{\text{u}}\\ \mathbf{B}_{\text{u}\mathbf{\omega}}\end{bmatrix} =\mathbf{A}^{-1}(\mathbf{A}_{\text{d}}-I) \begin{bmatrix}\mathbf{B}_{\text{u}}\\ \mathbf{B}_{\text{u}\mathbf{\omega}}\end{bmatrix} \]  
\[\mathbf{C}_{\text{d}}=\mathbf{C}\]  
\[\mathbf{D}_{\text{d}}=\mathbf{D}\]  
The standard form of MPC controller cost function is obtained as  
\[J=\sum_{i=1}^{N}\Big{(}y(k+i)-y_{ref}(k+i)\Big{)}^{\text{T}}Q_{i}\Big{(}y(k+i)- y_{ref}(k+i)\Big{)}+\sum_{0}^{N-1}u(k+i)^{\text{T}}P_{i}(u(k+i)) \tag{6}\]  
in which \(\mathbf{Q}_{i}\) and \(\mathbf{R}_{i}\)are symmetric and positive definite weighting matrices. Matrix \(\mathbf{Q}_{i}\) is chosen to minimize sprung mass vertical acceleration of the vehicle \( \begin{bmatrix}\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfr}},\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfl}}\end{bmatrix} \), the suspension dynamic travels \([Z_{\text{sfl}}-Z_{\text{ufl}},Z_{\text{sfr}}-Z_{\text{ufl}},Z_{\text{sfl}}-Z_{ \text{ufl}},Z_{\text{sfl}}-Z_{\text{ufl}},Z_{\text{sfl}}-Z_{\text{ufl}}]\), and the vertical displacements of the four tires \([Z_{\text{ufl}}-q_{\text{fl}},Z_{\text{ufl}}-q_{\text{fr}},Z_{\text{ufl}}-q_{ \text{rl}},Z_{\text{ufl}},Z_{\text{ufl}}-q_{\text{rr}}]\); matrix \(R\)i is the weight of demanded energy; \(\mathbf{y}_{\text{ref}}\) is the reference signal. In the real system, suspension dynamic travels and suspension control forces \(\mathbf{u}\), which are generated by IMA and OMA, are limited by physical restrictions. These constraints in MPC controller ensure that the optimal control quantity is within the range of suspension capacity. The suspension control force of four air springs \(U_{\text{Ii}}\) in IMA are constrained as  
\[ \begin{cases}0\leq U_{\text{Ii}}\leq\Delta P_{\text{Ii}}[k]A_{\text{e}i}&q_{ \text{i}}[k]\geq 0\\ \Delta P_{\text{Ii}}[k]A_{\text{e}i}\leq U_{\text{Ii}}\leq 0&q_{i}[k]<0\end{cases}