## 2 Material and Methods
### ESO-MPC Active Control Design
#### 2.2.2 ESO Design  
By observing the system equations of state (12), we can see that \(d_{z}\), \(d_{\theta}\), and \(d_{\varphi}\) are unknown comprehensive perturbations, which include external excitation, the nonlinear part of the system, and the modeling error. If an unknown disturbance is observed via a state observer, the system's state can be estimated based on its output. This allows for compensation measures to be taken in advance within the controller, simplifying the controller's design. In this study, the ESO is employed to observe unknown and complex disturbances \(d_{z}\), \(d_{\theta}\), and \(d_{\varphi}\). The ESO comprises three main components: state observation, disturbance observation, and state feedback control [18]. ESO represents the comprehensive disturbance as an extended state and estimates this extended state according to the output of the system, which is used to calculate the real-time state of the active interconnected hydropneumatic suspension. For further simplification, the four active controlling forces \(f_{i}\) (\(i=1,\ 2,\ 3,\ 4\)) are regarded as three equivalent controlling forces. \(F_{z}\), \(F_{\theta}\), and \(F_{\varphi}\) are forces that directly impact the vehicle system's vertical, pitch, and roll modes, respectively. The calculation method is as follows:  
\[\left[ \begin{matrix}T_{z}\\ T_{\theta}\\ T_{\varphi}\end{matrix} \right]=\left[ \begin{matrix}1&1&1&1\\ -a&-a&b&b\\ t_{f}&-t_{r}&t_{f}&-t_{r}\end{matrix} \right]\left[ \begin{matrix}f_{1}\\ f_{2}\\ f_{3}\\ f_{4}\end{matrix} \right] \tag{13}\]  
Figure 4: ESO-MPC force controller algorithm flowchart. The unified form of the dynamic equation, obtained by combining (12) and Equation (13), is as follows:  
\[\left\{ \begin{array}{l}\ddot{z}_{s}=-\frac{2}{m_{s}}\left(k_{sf}z_{s}+c_{sf} \dot{z}_{s}\right)-\frac{2}{m_{s}}\left(k_{sr}z_{s}+c_{sr}\dot{z}_{s}\right)+ \frac{1}{m_{s}}T_{z}+d_{z}\\ \ddot{\theta}=-\frac{2\theta^{2}}{f_{x}}\left(k_{sf}\dot{\theta}+c_{sf}\dot{ \theta}\right)-\frac{2\theta^{2}}{f_{x}}\left(k_{sr}\dot{\theta}+c_{sr}\dot{ \theta}\right)+\frac{1}{f_{x}}T_{\theta}+d_{\theta}\\ \ddot{\varphi}=-\frac{2t_{f}^{2}}{f_{y}}\left(k_{sf}\dot{\varphi}+c_{sf}\dot{ \varphi}\right)-\frac{2t_{f}^{2}}{f_{y}}\left(k_{sr}\dot{\varphi}+c_{sr}\dot{ \varphi}\right)+\frac{1}{f_{y}}T_{\varphi}+d_{\varphi}\end{array} \right. \tag{14}\]  
For the vertical-mode subsystem, the pitch-mode subsystem and the roll-mode subsystem have similar forms. From the observer's perspective, the combined disturbance is observable and can therefore be compensated by the equal effect \(T_{ie}\), satisfying the following formula:  
\[T_{ie}=T_{i}+\frac{1}{O_{l2}}m_{i3} \tag{15}\]  
where \(i=z,\;\theta,\;\text{and}\;\varphi\) represent the three modal subsystems of the body's vertical, pitch, and roll motion, respectively. The normalized parameters [19] are as follows: \(O_{z1}=2/m_{s}\), \(O_{z2}=2/m_{s}\), \(O_{z3}=2/m_{s}\), \(O_{\theta 1}=2a^{2}/f_{x}\), \(O_{\theta 2}=2b^{2}/f_{x}\), \(O_{\theta 3}=1/f_{x}\), \(O_{\varphi 1}=2t_{f}^{2}/f_{y}\), \(O_{\varphi 2}=2t_{f}^{2}/f_{y}\), and \(O_{\varphi 3}=1/f_{y}\). \(m_{i1}\) is the state observation quantity of vertical displacement, pitch angle, and roll angle; \(m_{i2}\) is the state observation quantity of vertical displacement velocity, pitch-angle velocity, and roll-angle velocity; and \(m_{i3}\) is the state observation quantity of comprehensive disturbance (di). The extended state observer is established via simultaneous system Equations (10) and (11). \[\left\{ \begin{array}{l}\dot{e_{i}}_{i=}\;\dot{m}_{i1}-y_{i}\\ \dot{\dot{m}}_{i1}=\;m_{i2}-\dot{\alpha}_{i1}e_{i}\\ \dot{\dot{m}}_{i2}=-O_{i1}(k_{sf}\dot{m}_{i1}+c_{sf}\dot{m}_{i2})-O_{i2}(k_{sr} \dot{m}_{i1}+c_{sr}\dot{m}_{i2})+\dot{m}_{i3}-\dot{\alpha}_{i2}e_{i}+O_{i3}T_{ ie}\\ \dot{\dot{m}}_{i3}=-\dot{\alpha}_{i3}e_{i}\end{array} \right. \tag{16}\]  
By combining Equations (15) and (16), the error dynamic matrix equation of the extended state observer is obtained as follows:  
\[\left\{