# Cooperative Control of Interconnected Air Suspension Based on Model Predictive Control
## 3 Cooperative Control Design Based on MPC  
### MPC Controller Design  
There are outstanding advantages, applying MPC theory, in dealing with the optimization problem with constraints in a finite time domain, so it has numerous applications in the field of suspension control [13]. The MPC controller flow chart of the whole control system is shown in Figure 3. In Figure 3, a cooperative control strategy using MPC theory is designed based on the linear full-vehicle vertical model to compute the best suspension force. Then, the rule is defined to distribute the best suspension force between IMA and OMA. Finally, the generated suspension force is fed back to the system. \(\hat{\mathbf{x}}\) is the estimated value of vehicle state variables; \(\mathbf{y}(t)\) is system output. The nonlinear characteristic in the established model makes the controller more complicated and reduces computational efficiency. Thus, it is necessary to linearize to meet the requirements of the high real-time application scenarios of suspension control. When \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameter** & **Value** & **Parameter** & **Value** \\ \hline \(M_{\text{s}}\) (kg) & 4500 & \(l_{\text{r}}\) (mm) & 1270 \\ \(M_{\text{uff}}\), \(M_{\text{uff}}\) (kg) & 300 & \(K_{\text{f}}\) (kN/m) & 210 \\ \(M_{\text{url}}\), \(M_{\text{urr}}\) (kg) & 500 & \(B_{\text{f}}\) (mm) & 1665 \\ \(I_{\text{r}}\) (kg\(\cdot\)m\({}^{2}\)) & 3757 & \(B_{\text{r}}\) (mm) & 1525 \\ \(I_{\text{p}}\) (kg\(\cdot\)m\({}^{2}\)) & 7391 & \(c_{\text{uff}}\), \(c_{\text{uff}}\), \(c_{\text{url}}\), \(c_{\text{urr}}\) (N\(\cdot\)s/m) & 2600 \\ \(I_{\text{f}}\) (mm) & 2665 & \(A_{\text{eff}}\), \(A_{\text{eff}}\), \(A_{\text{eff}}\), \(A_{\text{err}}\) (m\({}^{2}\)) & 0.03 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Parameters of the vehicle model. Figure 3: Cooperative control flow chart of interconnected air suspension. the solenoid valves in the OMA and IMA are turned off, the full-vehicle linear state space equation is written as:  
\[ \begin{cases}\dot{\mathbf{x}}(t)=\mathbf{Ax}(t)+\mathbf{B}_{\text{u}}\mathbf{u}(t)+\mathbf{B}_{ \mathbf{\omega}}\mathbf{\omega}(t)\\ \mathbf{y}(t)=\mathbf{Cx}(t)+\mathbf{D}_{\text{u}}\mathbf{u}(t)+\mathbf{D}_{\text{\omega}}\mathbf{\omega }(t)\end{cases}  \tag{3}\]  
The state vector is defined as follows:  
\(\mathbf{x}=[Z_{\text{s}},\,\dot{Z}_{\text{s}},\,\dot{\theta},\,\dot{\varphi},\, \dot{Z}_{\text{ufl}},\,\dot{Z}_{\text{ufl}},\,Z_{\text{ufl}},\,Z_{\text{ufl}},\,Z _{\text{ufl}},\,Z_{\text{ufl}},\,Z_{\text{ufl}},\,Z_{\text{ufl}},\,Z_{\text{ufl }},\,Z_{\text{ufl}}]^{\text{T}}\)  
The input vector is defined as follows:  
\(\mathbf{U}=[u_{\text{fl}},\,u_{\text{tr}},\,F_{\text{rl}},\,F_{\text{rr}}]^{\text{ T}};\,\omega=[q_{\text{fl}},\,q_{\text{tr}},\,q_{\text{rl}},\,q_{\text{rr}}]^{\text{T}}\)  
The output vector is defined as follows:  
\(\mathbf{Y}=[\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfl}}, \ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{sfl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{ \text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_{\text{ufl}},\ddot{Z}_ {\text{ufl}},\ddot{Z}_{\text{ufl}},fd_{\text{lr}},fd_{\text{lr}},fd_{\text{lr }}]^{\text{T}}\). where \(u_{\text{fl}},\,u_{\text{fr}},\,u_{\text{rl}},\,u_{\text{rl}}\) are the suspension control force. \(\mathbf{A},\,\mathbf{B}_{\text{u}},\,\mathbf{B},\,\mathbf{C},\,\mathbf{D}_{\text{u}}\) are corresponding Jacobian matrices. \(\mathbf{B}_{\mathbf{\omega}},\,\mathbf{D}_{\mathbf{\omega}}\) are disturbance matrixes. When the IMA and OMA work, the pressure change in the air spring is linearized, cited by [19]  
\[ \begin{cases}\dot{\mathbf{p}}_{i}=A_{i}\mathbf{q}_{i}\\ \dot{\mathbf{q}}_{i}=A_{i}\mathbf{p}+\mathbf{B}_{i}\mathbf{q}_{i}\end{cases}  \tag{4}\]  
For IMA, \(i=I\), matrix \(\dot{\mathbf{P}}_{1}= \begin{bmatrix}\dot{P}_{\text{lf}},\,\dot{P}_{\text{lfr}}, \,\dot{P}_{\text{lr}},\,\dot{P}_{\text{lr}}\end{bmatrix}