**1. Introduction**

Automotive active suspension has been developed over the last few decades, and can be controlled via a computer. An excellent automotive active suspension possesses lots of advantages. Instead of driven suspension, the height of the car body above the ground is kept at a reasonable value by adjusting its own parameters [1]. In this way, the handling stability and the ride of the car can be highly improved through the appliance of automotive active suspensions. However, the high cost and the high hardware requirements limit the popularization and application of the automotive active suspension in automobiles.

Up to now, active suspension is gradually being widely used, and many papers have proposed control methods of active suspension, such as H-infinity control [2–5]. The literature [6] proposes a synergetic law of discontinuous control of the active suspension system of the car in order to reduce the influence of hysteresis and the dead zone. In the literature [7], the paper has designed event-trigger control for the fuzzy T-S systems with parameter uncertainties and disturbances. Simulations are given for the vehicle suspension systems. Control methods such as adaptive harmonic control [8], double time-delay feedback control [9] and nonlinear robust control [10] are adopted in active suspension research. The literature [11] applies the voice coil motor (VCM) to the active suspension in order to improve robustness of active suspension. Furthermore, the active suspension is not only applied in automotive, but is also adopted in other fields. The literature [12] outlines the potential for active suspensions in railway applications, and the literature [13] investigates the lateral stability of this mobile robot when it reconfigures itself to adjust its roll angle with the active suspension.

With the development of automobile suspension technology, people's requirements for vehicle riding comfort are also increasing. The appearance of automotive air suspension meets people's needs [14,15]. The control link of the active suspension is equipped with a device that is capable of producing a jerk, which can inhibit the impact force of the road surface on the body and adjust the car body height [16]. The air suspension keeps the constant driving height of the vehicle on different road surfaces by adjusting the charging and discharging of the air suspension bag. The air suspension can also automatically adjust the height of the body according to the speed and set different vehicle damping. The research model of this paper is automotive air suspension. At the same time, many studies have performed research on air suspension. The literature [17] presents a new nonlinear adaptive sliding-mode control method for electronically controlled air suspension. The literature [18] focuses on the evaluation of the dynamic load reduction at all axles of a semi-trailer with an air suspension system. The literature [19] describes the structure and design principle of the air suspension system, and makes an analysis and a discussion on the key use effect, i.e., the damping effect. Different control methods are proposed, such as the semi-active control strategy of the vehicle [20] and interconnected state control [21].

In this paper,the backstepping method is used to design the controller. Its main idea is to recursively construct the Lyapunov function of the closed-loop system to obtain the feedback controller, and to select the control law to make the derivative of the Lyapunov function along the trajectory of the closed-loop system have a certain type of performance to ensure the boundedness and convergence of the trajectory of the closed-loop system to the equilibrium point. The method of backstepping is used in much of the literature. The literature [22] presents an adaptive backstepping sliding mode tracking control method for an underactuated unmanned surface vehicle. Adaptive backstepping is also adopted in nonlinear systems [23] and is designed for trajectory tracking and payload delivery in a medical emergency. In the literature [24], closed loop system characteristics with an incremental backstepping controller are investigated through theoretical analysis when both measurement biases and model uncertainties exist.

Adaptive control is also adopted to design the controller of the nonlinear air spring suspension. Adaptation is the ability of a system to change its behavior in order to adapt to a new environment. Therefore, adaptive control can be viewed as a feedback control system that can intelligently adjust its own characteristics in response to changes in the environment so that the system can work optimally according to some set criteria. The literature [25] presents a novel adaptive feedforward controller design for reset control systems. Furthermore, adaptive control has been applied in different fields and is used to study different objects [26,27].

From the above literature analysis, many references have proposed great control algorithms and have obtained excellent results. Although some reports have studied the air suspension system and have designed adaptive control algorithms; however, the uncertainties of nonlinear air suspension systems, which has become a difficult problem, are neglected by many designed control methods. Thus, this paper innovatively proposes an adaptive control algorithm to specifically address the problem of vehicle height regulation and ride comfort for nonlinear active air suspension systems with uncertainties. Under this control method, both ride comfort and vehicle height regulation can be taken into account when the uncertainty of a nonlinear system is considered.

The remainder of the paper is structured as follows. Section 2 established the controller based on adaptive backstepping. In Section 3, simulation is given to the controller. Two different road inputs are used to verify the controller effectiveness. Finally, Section 4 presents the conclusion of this research.

#### **2. Problem Formulation and Controller Design**

A physical model of automobile air suspension can be built as in Figure 1. Here, *zs* is the vertical displacement of the sprung mass, *zw* is the vertical displacement of the unsprung mass, *zr* is the pavement vertical input, *ms* is the sprung mass, *mw* is the unsprung mass, *cs* is the damping coefficient of the suspension shock absorber, *cw* is the tire vertical

damping, *kw* is vertical stiffness of the wheel table, and *Q* is the air mass flow through the solenoid valve.

**Figure 1.** Physical model of air spring suspension.

According to the physical model shown in Figure 1, the dynamic model of sprung mass is established as

$$P\_{\rm as}A\_{\rm as} + c\_s(\dot{z}\_w - \dot{z}\_s) + F\_s = m\_s \ddot{z}\_s \tag{1}$$

where *P*as is air spring chamber pressure, *Aas* is the effective cross-sectional area of the air spring, and *Fs* is the upper bound is known to be uncertain.

The dynamic model of the unsprung mass is

$$\begin{aligned} k\_w(z\_r - z\_w) + c\_w(\dot{z}\_r - \dot{z}\_w) - P\_{as}A\_{as} \\ -c\_s(\dot{z}\_w - \dot{z}\_s) + F\_w = m\_s \dot{z}\_w \end{aligned} \tag{2}$$

where *Fw* is the upper bound is known to be uncertain. The dynamic model of the air pressure chamber of the air spring is

$$
\dot{P}\_{\text{as}}A\_{\text{as}}(z\_{\text{a}0} + z\_{\text{s}} - z\_{\text{w}}) = -KP\_{\text{as}}A\_{\text{as}}(\dot{z}\_{\text{s}} - \dot{z}\_{\text{w}}) + KRTQ + F\_{\text{p}} \tag{3}
$$

where *za*<sup>0</sup> is the air spring at the beginning of high degree, *K* is the variable index, *R* is the ideal gas constant, *T* is the gas temperature, *Fp* is the upper bound, a known uncertainty.

The above formula can be sorted out:

$$\begin{cases} \begin{array}{rcl} \dot{P}\_{\text{35}} &=& \frac{KRT}{A\_{\text{Av}}(z\_{d0}+z\_{s}-z\_{w})}Q - \frac{KP\_{\text{dv}}}{z\_{s0}+z\_{s}-z\_{\text{iv}}}(\dot{z}\_{s}-\dot{z}\_{\text{av}})\\ & \quad \quad \quad \quad + \frac{F\_{\text{dv}}}{A\_{\text{Av}}(z\_{d0}+z\_{s}-z\_{\text{iv}})} \\\ \ddot{z}\_{s} &=& \frac{A\_{\text{dv}}}{m\_{s}}P\_{\text{as}} + \frac{\zeta\_{s}}{m\_{s}}(\dot{z}\_{\text{av}}-\dot{z}\_{\text{s}}) + \frac{F\_{\text{s}}}{m\_{s}} \\\ \ddot{z}\_{\text{uv}} &=& \frac{k\_{\text{uv}}}{m\_{\text{uv}}}(z\_{\text{r}}-z\_{\text{av}}) + \frac{\zeta\_{\text{uv}}}{m\_{\text{uv}}}(\dot{z}\_{\text{r}}-\dot{z}\_{\text{uv}}) - \frac{A\_{\text{ds}}}{m\_{\text{s}}}P\_{\text{as}} \\ & \quad \quad \quad - \frac{\zeta\_{s}}{m\_{\text{uv}}}(\dot{z}\_{\text{av}}-\dot{z}\_{\text{s}}) - \frac{F\_{\text{uv}}}{m\_{\text{uv}}} \end{array} \tag{4}$$

$$\begin{array}{c} \text{Let } \mathbf{x}\_1 = z\_5, \mathbf{x}\_2 = \dot{z}\_5, \mathbf{x}\_3 = z\_{w\prime}, \mathbf{x}\_4 = \dot{z}\_{w\prime}, \mathbf{x}\_5 = P\_{\mathbf{z}\prime}, \mathbf{x}\_6 = \frac{A\_{\rm id}}{m\_{\rm i}} \dot{\mathbf{x}}\_5 + \frac{\mathbf{c}\_{\rm i}}{m\_{\rm i}} (\mathbf{x}\_4 - \mathbf{x}\_2), Q = u\_{\rm i} \\\ \frac{F\_i}{m\_{\rm i}} = F\_1, \frac{F\_i}{m\_{\rm i}} = F\_3, \frac{F\_p}{m\_{\rm i}(z\_{d0} + z\_{\rm i} - z\_{w\prime})} = F\_2. \end{array}$$

$$\begin{cases} \begin{aligned} \dot{\mathfrak{x}}\_{1} &= \mathfrak{x}\_{2} \\ \dot{\mathfrak{x}}\_{2} &= \mathfrak{x}\_{6} + F\_{1} \\ \dot{\mathfrak{x}}\_{3} &= \mathfrak{x}\_{4} \\ \dot{\mathfrak{x}}\_{4} &= \frac{k\_{w}}{m\_{w}}(\mathfrak{z}\_{r} - \mathfrak{x}\_{3}) + \frac{\mathfrak{c}\_{w}}{m\_{w}}(\dot{\mathfrak{z}}\_{r} - \mathfrak{x}\_{4}) - \bar{\mathfrak{x}}\_{1r} + F\_{3} \\ \dot{\mathfrak{x}}\_{6} &= \frac{\mathrm{k}\mathcal{R}T}{m\_{s}(\underline{z}\_{d0} + \mathfrak{x}\_{1} - \mathfrak{x}\_{3})}\mu + \frac{\mathfrak{c}\_{s}}{m\_{s}}(\dot{\mathfrak{x}}\_{4} - \dot{\mathfrak{x}}\_{2}) + F\_{2} \\ & -\frac{k}{\underline{z}\_{s0} + \mathfrak{x}\_{1} - \mathfrak{x}\_{3}}(\mathfrak{x}\_{6} - \frac{\mathfrak{c}\_{s}}{m\_{s}}(\mathfrak{x}\_{4} - \mathfrak{x}\_{2}))(\mathfrak{x}\_{2} - \mathfrak{x}\_{4}) \end{aligned} \tag{5}$$

The control objective is to design controller u, which can make *x*<sup>1</sup> → *x*1*<sup>r</sup>* and stabilize the system. Let *z*<sup>1</sup> = *x*<sup>1</sup> − *x*1*r*, *z*<sup>2</sup> = *x*<sup>2</sup> − *x*2*r*; *x*2*<sup>r</sup>* is a virtual control input. Design *<sup>x</sup>*2*<sup>r</sup>* <sup>=</sup> <sup>−</sup>*F*˜ <sup>1</sup> <sup>−</sup> *<sup>k</sup>*1*z*<sup>1</sup> <sup>+</sup> *<sup>x</sup>*˙1*r*, where *<sup>F</sup>*<sup>ˆ</sup> <sup>1</sup> is the estimated value of *F*1, and *F*˜ <sup>1</sup> is the error between the true value and the estimated value, which can easily have *F*˜ <sup>1</sup> <sup>=</sup> *<sup>F</sup>*<sup>1</sup> <sup>−</sup> *<sup>F</sup>*<sup>ˆ</sup> 1

$$\begin{aligned} \dot{z}\_1 &= \dot{x}\_1 - \dot{x}\_{1r} \\ &= z\_2 + x\_{2r} - \dot{x}\_{1r} \\ &= z\_2 - \ddot{F}\_1 - k\_1 z\_1 \end{aligned} \tag{6}$$

Design the Lyapunov function *V*<sup>1</sup> = <sup>1</sup> <sup>2</sup> *z*<sup>1</sup> <sup>2</sup> + <sup>1</sup> 2*γ*−<sup>1</sup> <sup>1</sup> *<sup>F</sup>*5<sup>2</sup> 1

$$\begin{split} \dot{V}\_1 &= z\_1 z\_1 + \gamma\_1^{-1} \ddot{F}\_1 \dot{\bar{F}}\_1 \\ &= z\_1 z\_2 - k\_1 z\_1^2 - F\_1 (z\_1 + \gamma\_1^{-1} \dot{F}\_1) \end{split} \tag{7}$$

The dynamic equation of *z*<sup>2</sup>

$$\begin{aligned} \dot{z}\_2 &= \dot{x}\_2 - \dot{x}\_{2r} \\ &= x\_6 + F\_1 - \dot{F}\_1 + k\_1 \dot{z}\_1 - \ddot{x}\_{1r} \end{aligned} \tag{8}$$

Let *z*<sup>3</sup> = *x*<sup>6</sup> − *x*6*r*; *x*6*<sup>r</sup>* is also the virtual control input. Design

$$\mathbf{x}\_{6r} = -\mathbf{k}\_2 z\_2 - z\_1 - k\_1 \dot{z}\_1 + \ddot{x}\_{1r} - \hat{F}\_1 - F\_2 + \phi\_1 \tag{9}$$

where *φ*<sup>1</sup> is a tuning function, which is undetermined, and *F*˜ <sup>2</sup> <sup>=</sup> *<sup>F</sup>*<sup>2</sup> <sup>−</sup> *<sup>F</sup>*<sup>ˆ</sup> 2. Design the Lyapunov function *V*<sup>2</sup> = <sup>1</sup> <sup>2</sup> *z*<sup>2</sup> <sup>2</sup> + <sup>1</sup> 2*γ*−<sup>1</sup> <sup>2</sup> *<sup>F</sup>*5<sup>2</sup> <sup>2</sup> +*V*<sup>1</sup>

$$\begin{aligned} \mathcal{V}\_2 &= z\_2 z\_2 + \gamma\_2^{-1} \mathcal{F}\_2 \dot{\mathcal{F}}\_2 + \mathcal{V}\_1 \\ &= z\_2 z\_3 - k\_2 z\_2^2 - k\_1 z\_1^2 - \mathcal{F}\_2 (z\_2 + \gamma\_2^{-1} \dot{\mathcal{F}}\_2) + z\_2 \gamma\_1 (\phi\_2 \gamma\_1^{-1} - \gamma\_1^{-1} \dot{\mathcal{F}}\_1) \\ &+ \bar{\mathcal{F}}\_1 (z\_2 - z\_1 - \gamma\_1^{-1} \dot{\mathcal{F}}\_1) \end{aligned} \tag{10}$$

Let

*φ*<sup>1</sup> = *γ*1(*z*<sup>2</sup> − *z*1) (11)

Combining *φ*<sup>1</sup> = *γ*1(*z*<sup>2</sup> − *z*1) and Equation (10), we can have

$$\dot{W}\_2 = z\_2 z\_3 - k\_2 z\_2^2 - k\_1 z\_1^2 - \mathbb{P}\_2(z\_2 - \gamma\_2^{-1} \dot{\mathbb{P}}\_2) + (\mathbb{P}\_1 + z\_2 \gamma\_1)(z\_2 - z\_1 - \gamma\_1^{-1} \dot{\mathbb{P}}\_1) \tag{12}$$

The dynamic equation of *z*<sup>3</sup>

$$\begin{split} \dot{z}\_{3} &= \dot{x}\_{6} - \dot{x}\_{6r} \\ &= \frac{\text{kRT}}{m\_{s}(z\_{a0} + \chi\_{1} - \chi\_{3})} u + \frac{c\_{s}}{m\_{s}} \left( \dot{x}\_{4} - \dot{x}\_{2} \right) + F\_{2} \\ &- \frac{k}{z\_{a0} + \chi\_{1} - \chi\_{3}} (\chi\_{6} - \frac{c\_{s}}{m\_{s}}(\chi\_{4} - \chi\_{2}))(\chi\_{2} - \chi\_{4}) \\ &- \dot{x}\_{6r} \end{split} \tag{13}$$

Design

$$\begin{split} u &= -\frac{m\_s(z\_{a0} + \mathbf{x}\_1 - \mathbf{x}\_3)}{\mathbf{k}RT}(\frac{c\_s}{m\_s}(\dot{\mathbf{x}}\_4 - \dot{\mathbf{x}}\_2) + \dot{\mathbf{f}}\_2 \\ &- \frac{k}{z\_{a0} + \mathbf{x}\_1 - \mathbf{x}\_3}(\mathbf{x}\_6 - \frac{c\_s}{m\_s}(\mathbf{x}\_4 - \mathbf{x}\_2))(\mathbf{x}\_2 - \mathbf{x}\_4) + k\_2 \dot{z}\_2 \\ &+ \dot{z}\_1 + k\_1 \ddot{z}\_1 - \dddot{\mathbf{x}}\_1 - \dot{\phi}\_1 + k\_3 z\_3 + z\_2 - \phi\_2 - \phi\_3), \end{split} \tag{14}$$

where *φ*<sup>2</sup> and *φ*<sup>3</sup> are also undetermined tuning functions. Plugging *u* into (13) yields

$$\dot{z}\_3 = -\dot{\vec{F}}\_2 + \dot{\vec{F}}\_1 + \ddot{F}\_2 - k\_3 z\_3 - z\_2 + \phi\_2 + \phi\_3 \tag{15}$$

Design *V*<sup>3</sup> = <sup>1</sup> <sup>2</sup> *z*<sup>3</sup> <sup>2</sup>+*V*<sup>2</sup>

$$\begin{aligned} \dot{V}\_3 &= z\_3 \dot{z}\_3 + \dot{V}\_2 \\ &= z\_3 \gamma\_2 (\phi\_3 \gamma\_2^{-1} - \gamma\_2^{-1} \dot{\hat{F}}\_2) + \ddot{F}\_2 (z\_3 - z\_2 - \gamma\_2^{-1} \dot{\hat{F}}\_2) \\ &+ z\_3 \gamma\_1 (\phi\_2 \gamma\_1^{-1} + \gamma\_1^{-1} \dot{\hat{F}}\_1) + (\hat{F}\_1 + z\_2 \gamma\_1)(z\_2 \\ &- z\_1 - \gamma\_1^{-1} \dot{\hat{F}}\_1) - \sum\_{i=1}^3 k\_i z\_i^2 \end{aligned} \tag{16}$$

$$\begin{aligned} \text{Let } \boldsymbol{\Phi}\_{2} &= \gamma\_{1}(z\_{1} - z\_{2}), \boldsymbol{\Phi}\_{3} = \gamma\_{2}(z\_{3} - z\_{2}) \\\\ \text{V}\_{3} &= (\text{F}\_{2} + z\_{3}\gamma\_{2})(z\_{3} - z\_{2} - \gamma\_{2}^{-1}\dot{\mathbf{F}}\_{2}) \\ &+ (\ddot{\mathbf{F}}\_{1} + z\_{2}\gamma\_{1} - z\_{3}\gamma\_{1})(z\_{2} - z\_{1} - \gamma\_{1}^{-1}\dot{\mathbf{F}}\_{1}) - \sum\_{i=1}^{3} k\_{i}z\_{i}^{2} \end{aligned} \tag{17}$$

Design ˙ *F*ˆ <sup>1</sup>= (*z*<sup>2</sup> <sup>−</sup> *<sup>z</sup>*1)*γ*<sup>1</sup> and ˙ *<sup>F</sup>*ˆ2= (z3−z2)*γ*2, which leads to *<sup>V</sup>*˙ <sup>3</sup> ≤ 0. According to Barbalat's lemma, we can have *zi* approaches 0 when *t* approaches infinity.

When *z*¨1 = *z*˙2 = *z*˙3 = 0, the system zero dynamics is

$$\begin{cases} \dot{\mathfrak{x}}\_3 = \mathfrak{x}\_4\\ \dot{\mathfrak{x}}\_4 = \frac{k\_{\rm tr}}{m\_{\rm tr}}(z\_r - \mathfrak{x}\_3) + \frac{\varepsilon\_{\rm tr}}{m\_{\rm tr}}(\dot{z}\_r - \mathfrak{x}\_4) - \mathfrak{x}\_{1r} + F\_3 \end{cases} \tag{18}$$

it can be inferred

$$\ddot{x}\_3 + \frac{c\_w}{m\_w}\dot{x}\_3 + \frac{k\_w}{m\_w}x\_3 + \ddot{x}\_{1r} - \frac{c\_w}{m\_w}\dot{z}\_r + \frac{k\_w}{m\_w}z\_r - F\_3 = 0\tag{19}$$

The characteristic equation is

$$s^2 + \frac{c\_{\text{uv}}}{m\_{\text{uv}}}s + \frac{k\_{\text{uv}}}{m\_{\text{uv}}} = 0\tag{20}$$

As *cw* > 0, *kw* > 0, *mw* > 0, *cw mw* <sup>&</sup>gt; 0, *kw mw* > 0 can be inferred. The coefficients of the characteristic equation of the second-order zero-dynamic system are all positive, so the zero-dynamic system is stable. *x*3, *x*<sup>4</sup> is bounded when the road inputs that the value of *zr*, *z*˙*<sup>r</sup>* , the reference signal *x*¨1*<sup>r</sup>* and uncertainty *F*<sup>3</sup> are bounded.

## **3. Simulation Verification**

In order to verify the effectiveness of the adaptive control method, simulation verification is carried out. There are two scenarios. The first case is the pavement vertical input *zr* = 0.01 sin 2*πt* and *x*1*<sup>r</sup>* = 0.01 sin 2*πt*. The other case is *x*1*<sup>r</sup>* = 0, and the pavement vertical input is random. The vehicle parameters in simulation are shown in Table 1 below. The controller parameters are shown in Table 2 below [28].


**Table 1.** Vehicle parameters.

**Table 2.** Controller design parameters.

