**1. Introduction**

A vehicle can experiment different road disturbances while maneuvering in normal conditions such as bumps or bends. The suspension system of a car is designed to attenuate those disturbances to preserve comfort for the passengers while maintaining safe driving conditions to control the car's direction. However, when road conditions are harsh, passive suspension systems may fail to preserve both comfort and road holding.

The Active Suspension system has been used to improve road-holding conditions while improving the comfort of passengers by means of a hydraulic actuator. To provide Active Suspension control, several control strategies have been proposed in the literature such as PID controller [1–4], H2 and H∞ control [5–9], fuzzy logic control [10–13], and sliding mode control [14–17]. All these controllers have exhibited a trade-off between comfort and road holding, with specific tuning conditions to manage each one of the design specifications according to the desired performance.

Another control strategy widely used in Active Suspensions is Model Predictive Control (MPC). MPC approaches encompass several MIMO control strategies involving the prediction of the future behavior of the system along a prediction horizon *Np* and finding an optimal control solution subject to constraints in inputs, outputs and states. The general structure of the MPC strategy is to solve at each step an optimization problem where a cost function is minimized subject to constraints to find the optimal input sequence to be introduced in the system.

Some MPC approaches for Active Suspension systems are the following. In [18] an autoregressive with exogenous variable (ARX) model-based predictive control is presented to improve passenger comfort and road holding in a vehicle using a semi-Active Suspension with a Bouc–Wen representation. The results showed improvement when compared with passive suspension; however, the results were limited by the type of suspension used in

**Citation:** Rodriguez-Guevara, D.; Favela-Contreras, A.; Beltran-Carbajal, F.; Sotelo, D.; Sotelo, C. Active Suspension Control Using an MPC-LQR-LPV Controller with Attraction Sets and Quadratic Stability Conditions. *Mathematics* **2021**, *9*, 2533. https://doi.org/ 10.3390/math9202533

Academic Editor: Paolo Mercorelli

Received: 26 July 2021 Accepted: 25 August 2021 Published: 9 October 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

81

this application. In [19] a full-car suspension model is controlled by a linear MPC with 6 degrees of freedom (6-DOF). In this approach, the control goal is to achieve a desired tilt angle to preserve comfort and road holding. The actuator is considered to be ideal, which results in a linear behavior of the system. This allows real-time implementation due to the short optimization time; however, the performance of the control algorithm may not be as effective as the one shown in simulation due to the linear design of the controller. Other MPC approaches using linear models are presented in [20–22].

Another MPC approach for the Active Suspension system is presented in [23]. In previous work, the Active Suspension quarter-car system was modeled as nonlinear by considering the nonlinear effect of the actuator. To comply with the MPC approach, the system is modeled as a Takagi–Sugeno model (T–S) by a fuzzy representation consisting of two sub-models. The Model Predictive Control is also designed as a fuzzy MPC where there exist two interconnected linear models and the switching between one model and the another is performed by fuzzy logic. Additionally, terminal equality constraints are included in terms of Linear Matrix Inequalities (LMI) to ensure stability. In [24] a robust model predictive controller (RMPC) for an Active Suspension full-car system is presented. This approach considers both the nonlinearities of the hydraulic actuator and the nonlinearities presented by the relationship of the movement of each one of the four corners of the car. Therefore, to design the MPC, the model is simplified into a linear fuzzy logic system. To add robustness to the control approach, an adaptive control law is proposed based on the MPC and a fractional PID controller.

As shown in the previous works, the nonlinear model of an Active Suspension system is represented by linear representations to comply with the MPC strategy. In this research work, a Linear Parameter Varying (LPV) representation is proposed. This kind of representation is common in semi-Active Suspension control approaches [25–27]. In this approach, the LPV representation is done using one scheduling parameter embedding the nonlinearities of the hydraulic actuator.

Therefore, the proposed control strategy consists of a Model Predictive Controller for an Active Suspension system with an electro-hydraulic actuator with a servo spool valve. The model of the system is constructed as a Linear Parameter Varying model using one scheduling variable *ρ*1. Quadratic Stability conditions are included in the MPC algorithm as LMI, as presented in [28]. To improve performance, a terminal cost using attraction sets is included, as shown in [29]. Finally, the inclusion of a terminal set and a Linear Quadratic Regulator (LQR) controller in the terminal set is included.

The rest of the paper is organized in the following structure. Section 2 presents the Active Suspension with electro-hydraulic actuator model. Section 3 shows a state–space LPV representation of the Active Suspension. Section 4 describes the MPC-LPV control algorithm. Section 5 shows a Recursive Least Squares (RLS) algorithm for the prediction of the scheduling parameter along the prediction horizon. Section 6 presents the Quadratic Stability conditions for the MPC-LPV approach. Section 7 describes the attraction sets and terminal set for control switching. Results and simulations are presented in Section 8 and conclusions are discussed in Section 9.

#### **2. Quarter-Car Active Suspension Model**

Active Suspension systems add an actuator to the passive system mainly consisting of the wheel mass and the chassis mass. Figure 1 presents a schematic model of an Active Suspension system as found in [7]. In this model, the actuator produces a force *fs* which reduces the vertical movement of both masses *ms*, which is the sprung mass representing the chassis body, and *mus*, which is the unsprung mass representing the suspension unit and wheel of the quarter-car.

The dynamic force equations of the system are the following:

$$m\_{\mathfrak{s}}\ddot{z}\_{\mathfrak{s}} + k\_{\mathfrak{s}}(z\_{\mathfrak{s}} - z\_{\mathfrak{u}\mathfrak{s}}) + b\_{\mathfrak{s}}(\dot{z}\_{\mathfrak{s}} - \dot{z}\_{\mathfrak{u}\mathfrak{s}}) - f\_{\mathfrak{s}} = 0 \tag{1}$$

$$m\_{\rm uts} \ddot{z}\_{\rm uts} - k\_{\rm s}(z\_{\rm s} - z\_{\rm uts}) - b\_{\rm s}(\dot{z}\_{\rm s} - \dot{z}\_{\rm uts}) + k\_{\rm l} \left(z\_{\rm uts} - r(t)\right) + f\_{\rm s} = 0 \tag{2}$$

with *ks* being the constant of the spring between the two masses and *bs* being the damping coefficient. *kt* represents the tire elastic constant and *r*(*t*) represents the road disturbances. The force *fs* is generated by an electro-hydraulic actuator with a servo spool valve. A schematic of the electro-hydraulic actuator is shown in Figure 2. By means of this actuator, the force *fs* is generated by the pressure supplied to the system *Pl* and the area of the moving piston *A*. Therefore, the force can be expressed using the following equation.

$$f\_s = AP\_l \tag{3}$$

**Figure 2.** Electro-Hydraulic Actuator.

The pressure *Pl* dynamics are modeled using the following differential Equation (4).

$$\frac{V\_t}{4\beta\_\varepsilon}P\_l = Q - \mathcal{C}\_{tp}P\_l - A(\dot{z}\_s - \dot{z}\_{us}) \tag{4}$$

with *<sup>Q</sup>* <sup>=</sup> sgn- *Ps* − sgn(*zv*)*Pl Cdwxv* \* 1 *ρ Ps* − sgn(*zv*)*Pl* , where *Vt* is the total actuator volume, *Q* the load flow, *Be* the effective bulk modulus, *Ctp* the piston leakage coefficient, *Cd* the discharge coefficient, *w* the spool valve area gradient, *ρ* the hydraulic fluid density and *Ps* the pressure supply. The displacement of the spool valve *zv* is proportional to the control action *u*(*k*) which is a voltage signal. The valve displacement is expressed by the following equation.

$$
\dot{z}\_v = \frac{z\_v}{\tau} + k\_v u(k) \tag{5}
$$

where *kv* represents the valve gain and *τ* is a scaling factor.

## **3. LPV-SS Representation of the Quarter-Car Active Suspension Model**

To comply with the MPC strategy, Equations (1) through (5) will be used to build a Linear Parameter Varying state–space (LPV-SS) model with a scheduling parameter *ρ*<sup>1</sup> of the form:

$$\dot{\mathbf{x}}(t) = \mathbf{A}\left(\rho\_1(t)\right)\mathbf{x}(t) + \mathbf{B}u(t) + \mathbf{B}\_\mathbf{r}r(t) \tag{6}$$

with the discrete LPV-SS obtained by a Zero-Order Hold (ZOH) represented as:

$$\mathbf{x}(k+1) = \mathbf{A}\left(\rho\_1(k)\right)\mathbf{x}(k) + \mathbf{B}u(k) + \mathbf{B}\_\mathbf{I}r(k) \tag{7}$$

where **x˙**(*t*)=[*x*<sup>1</sup> *x*<sup>2</sup> *x*<sup>3</sup> *x*<sup>4</sup> *x*<sup>5</sup> *x*6] *<sup>T</sup>* = [*zs z*˙*<sup>s</sup> zus zus*˙ *Pl zv*] *<sup>T</sup>*. With **A** being the state matrix and **B** the input matrix, **Br** represents the input disturbance matrix while *u*(*k*) is the control input. Therefore, the space-state matrices can be defined as the following:

$$\mathbf{A}\left(\rho\_1(k)\right) = \begin{bmatrix} 0 & 1 & 0 & 0 & 0 & 0\\ -\frac{k}{m\_a} & -\frac{b}{m\_a} & \frac{k}{m\_a} & \frac{b}{m\_a} & A & 0\\ 0 & 0 & 1 & 0 & 0\\ \frac{b}{m\_{\text{avg}}} & \frac{b}{m\_{\text{avg}}} & -\frac{k+k\_1}{m\_{\text{avg}}} & -\frac{b}{m\_{\text{avg}}} & -\frac{A}{m\_{\text{avg}}} & 0\\ 0 & -\alpha A & 0 & \alpha A' & -\beta & \gamma p\_1\\ 0 & 0 & 0 & 0 & 0 & \frac{1}{\tau} \end{bmatrix} \tag{8}$$

$$\mathbf{B} = \begin{bmatrix} 0\\ 0\\ 0\\ 0\\ \frac{k}{\tau} \end{bmatrix} \tag{9}$$

$$\mathbf{B}\_{\mathbf{f}} = \begin{bmatrix} 0\\ 0\\ 0\\ \frac{k}{m\_{\text{avg}}}\\ 0\\ 0 \end{bmatrix} \tag{10}$$

With *α* = <sup>4</sup>*β<sup>e</sup> Vt* , *β* = *αCtp*, *γ* = *αCd* <sup>1</sup> *<sup>ρ</sup>* and *<sup>ρ</sup>*<sup>1</sup> <sup>=</sup> sgn- *Ps* −sgn(*x*6)*x*<sup>5</sup> \* *Ps* − sgn(*x*6)*x*<sup>5</sup> . The inclusion of the scheduling variable *ρ*<sup>1</sup> allows the system to be expressed as an LPV-SS representation which allows the MPC law to be computed in a compact matrix form.
