**1. Introduction**

The suspension system's qualities determine the vehicle's smoothness and handling stability [1]. Traditional passive suspension systems have fixed parameters such as stiffness and damping, so they cannot effectively suppress vehicle vibration in the face of complex driving conditions. In order to reduce body vibration brought on by outside disturbances and give passengers a comfortable ride experience under various driving conditions, the active suspension can adjust the vehicle suspension in real time through active control force according to the road condition information [2–4].

For the controller design and optimization of active suspension systems, many researchers have proposed some simple and feasible control methods, such as linear quadratic regulator (LQR) control, PID control, optimal control, adaptive control, and sliding mode control [5–8]. Among them, PID control is favored by many researchers due to its relatively mature technology and wide application market. The traditional proportional-integralderivative (PID) controller has the advantages of simple structure, good real-time performance, and low cost [9]. However, in today's practical engineering applications, many new control strategies have good improvements compared to PID control [10]. The parameters of the traditional PID controller are difficult to set accurately and are fixed after setting, and they cannot adapt to all suspension conditions as the vehicle working conditions change in real time [11].

In order to be able to improve the control effect of the PID controller, much in-depth research has been carried out. For example, fuzzy control is used to correct the PID

**Citation:** Li, M.; Li, J.; Li, G.; Xu, J. Analysis of Active Suspension Control Based on Improved Fuzzy Neural Network PID. *World Electr. Veh. J.* **2022**, *13*, 226. https:// doi.org/10.3390/wevj13120226

Academic Editors: Yong Li, Xing Xu, Lin Zhang, Yechen Qin and Yang Lu

Received: 6 October 2022 Accepted: 2 November 2022 Published: 24 November 2022

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

**Copyright:** © 2022 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/).

parameters, allowing the PID parameters to vary in real time within a specific range, improving the accuracy of the controller [12]. In the literature [13], a type of PID transverse interconnected electronically controlled air suspension system controller based on an optimization algorithm has been designed, and the optimal solution of PID controller parameters obtained. In addition, the highly parallel structure and powerful learning capability of the neural network system can also be well used to achieve online realtime adjustment of PID parameters [14–16]. It can be seen that, by combining different optimization strategies with PID control and real-time optimization of PID controller parameters, better control results can be achieved. However, a single optimization strategy also has certain defects; for example, fuzzy control has a strong subjectivity and uncertainty, which can be considered as a subjective means of expressing domain expert knowledge, and as the number of fuzzy rules increases, the parameters and structure of this control system will become increasingly difficult to establish. Neural network control is also not perfect, and there are many drawbacks in practical applications, such as the uncontrollability of network behavior, convergence and stability being difficult to guarantee, and multiple instances of trial and error being needed for the network.

It was found that hybrid control has better results for PID controllers compared to a single optimization strategy. Based on the 14-degree-of-freedom whole vehicle model, in [17], two control systems, the fuzzy PID controller and the neural network controller, have been used to substantially improve lateral stability and vehicle handling. In addition, in [18], the fuzzy road information is collected in real time and used to adjust the control performance of the fuzzy PID, so as to develop a new road condition-based fuzzy PID control strategy that meets the control performance requirements under different road conditions. A vibration-controlled active suspension based on an adaptive fuzzy fractionalorder PID controller is proposed in [19], which was very effective in reducing driver body vibrations, thus improving the ride quality of the driver. In order to optimize the control system, an attempt was made in [20] to optimize the PID controller and Fuzzy PID controller using a particle swarm optimization (PSO) algorithm with excellent efficiency in reducing the vertical displacement of the body and obtaining a suitable control signal.

In addition to achieving active suspension control through a combination of control methods, a new control method with better performance has been proposed by combining fuzzy control theory and neural network control theory. In a sense, this design approach does not have the same heavy reliance on expert experience as fuzzy control, while retaining the adaptive performance and learning capability of neural network control. For example, the Adaptive Neuro-Fuzzy Inference System (ANFIS) is an artificial neural network integrated fuzzy logic control system whose control rules are obtained by implementing the Sugeno first-order fuzzy inference system in the form of a network. In [21], a comparison of the control of a semi-vehicle suspension system using PID, LQR, FUZZY, and ANFIS controllers was analyzed, and it was found that the ANFIS controller provided the best performance in terms of "stabilization time" and "peak overshoot". Meanwhile, in [22], a fuzzy control and neuro-fuzzy inference system was tested; the solenoid valve was controlled by an ANFIS, and the proposed method improved the ride comfort while maintaining road safety. The latter was a fuzzy neural network composed of an RBF neural network model, whose biggest advantage is that the fuzzy inference process and the RBF function have functional equivalence and are suitable for real-time control of the system. In [23], a Takagi–Sugeno fuzzy controller was designed to control the contraction–expansion factor to satisfy the control input current of the MR damper by introducing a fuzzy neural network controller with PSO and BP learning and training algorithms, and the results showed that the system approach was effective. For the regulation of the PID controller, an effective real-time control strategy is needed. Therefore, this paper proposes an active suspension control strategy based on particle swarm optimization with fuzzy neural network PID control. The real-time control performance of the fuzzy neural network is used to achieve the rectification of the PID controller parameters for the purpose of real-time control of the suspension system. However, the fuzzy neural network has many parameters such

as center, width, and weights, and it is difficult to obtain a reliable set of parameters. For this reason, the particle swarm optimization method is used to calculate a set of optimal parameters offline based on the objective function. In addition, it can avoid the problem that the neural network using gradient descent method may lead to gradient explosion, or the network not being able to converge for a long time due to too large or too small optimization weights [24]. Through MATLAB/Simulink simulation, it is shown that the FNN-PID control strategy of particle swarm optimization has a certain control effect on the active suspension system.

The rest of this paper is organized as follows. In Section 2, the mathematical model of the active suspension system for a 2-degree-of-freedom 1/4 vehicle and the road excitation model are presented, and the principles of PID control and fuzzy neural network PID control, as well as the combined optimization algorithm of particle swarm optimization algorithm and gradient descent method, are introduced. In Section 3, the simulation results of the suspension system controller design are shown. Finally, the conclusion and summary are presented in Section 4.

#### **2. Materials and Methods**

*2.1. Active Suspension Simulation Model*

The 2-degree-of-freedom 1/4 suspension model is shown in Figure 1, and the following assumptions are made regarding the model.

**Figure 1.** 2-degree-of-freedom 1/4 active suspension model.


As shown in Figure 1, M denotes the mass on the spring and m denotes the mass under the spring; xr denotes the road disturbance excitation, xt denotes the vertical displacement of the mass under the spring, and xs denotes the vertical displacement of the mass on the spring; c denotes the suspension equivalent damping; k1 is the tire equivalent stiffness and k2 is the suspension stiffness; and u is the actuator active control force.

According to Newton's second law, combined with the suspension system dynamics model, the 1/4 active suspension dynamics equation is established as follows:

$$\mathbf{M}\ddot{\mathbf{x}}\_{\sf s} + \mathbf{k}\_2(\mathbf{x}\_{\sf s} - \mathbf{x}\_{\sf t}) + \mathbf{c}(\dot{\mathbf{x}}\_{\sf s} - \dot{\mathbf{x}}\_{\sf t}) - \mathbf{u} = \mathbf{0} \tag{1}$$

$$\mathbf{k}\mathbf{m}\ddot{\mathbf{x}}\_{\mathsf{t}} - \mathbf{k}\_{1}(\mathbf{x}\_{\mathsf{t}} - \mathbf{x}\_{\mathsf{t}}) - \mathbf{k}\_{2}(\mathbf{x}\_{\mathsf{t}} - \mathbf{x}\_{\mathsf{t}}) - \mathbf{c}(\dot{\mathbf{x}}\_{\mathsf{t}} - \dot{\mathbf{x}}\_{\mathsf{t}}) + \mathbf{u} = \mathbf{0} \tag{2}$$

Meanwhile, the state variable is selected as: *x*1 = xs − xt, *x*2 = .xs, *x*3 = xr − xt, *x*4 = . xt. The state vector is *X* = [*x*1 *x*2 *x*3 *<sup>x</sup>*4]*<sup>T</sup>*. The output variable is *y*1 = .*x*2 = ..xs, *y*2 = *x*1 = xs − xt, *y*3 = *x*3 = xr − xt. The output vector is represented as *Y* = [*y*1 *y*2 *<sup>y</sup>*3]*<sup>T</sup>*. The input vector is *U* = [*u xr*]*<sup>T</sup>*.

Then, the state equation of the model is shown in (3).

$$\begin{cases} \dot{X} = AX + BUI\\ Y = CX + DUI \end{cases} \tag{3}$$

$$\begin{aligned} \text{Among them,} & A = \begin{bmatrix} 0 & 1 & 0 & -1 \\ -\frac{\mathbf{k}\_2}{\mathbf{M}} & -\frac{\mathbf{c}}{\mathbf{M}} & 0 & \frac{\mathbf{c}}{\mathbf{M}} \\ 0 & 0 & 0 & -1 \\ \frac{\mathbf{k}\_2}{\mathbf{m}} & \frac{\mathbf{c}}{\mathbf{M}} & \frac{\mathbf{k}\_1}{\mathbf{m}} & -\frac{\mathbf{c}}{\mathbf{M}} \end{bmatrix}, B = \begin{bmatrix} 0 & 0 \\ \frac{\mathbf{l}}{\mathbf{M}} & 0 \\ 0 & 1 \\ \frac{1}{\mathbf{M}} & 0 \end{bmatrix}, C = \begin{bmatrix} -\frac{\mathbf{k}\_2}{\mathbf{M}} & -\frac{\mathbf{c}}{\mathbf{M}} & 0 & \frac{\mathbf{k}\_2}{\mathbf{M}} \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix}, \\\ & \begin{bmatrix} \frac{1}{\mathbf{M}} & 0 \\ 0 & 0 \\ 0 & 0 \end{bmatrix}. \end{aligned}$$

#### *2.2. Road Excitation Model*

*D*

using the filtered white noise method:

2.2.1. White Noise Road Excitation

The difference between different grades of road mainly lies in the difference in road roughness, which is generally expressed by the road unevenness coefficient, Gq. According to the "Draft Method for Representation of Road Unevenness" presented by the International Organization for Standardization in ISO/TC108/SC2N67, the power spectrum density of a road can be expressed as follows [25]:

$$\mathbf{G\_{q}(n)} = \mathbf{G\_{q}(n\_{0})} \left(\frac{n}{n\_{0}}\right)^{-w} \tag{4}$$

In the formula, n is the spatial frequency, n0 is the reference spatial frequency, n0 = 0.1 m<sup>−</sup>1, Gq(n0) is the reference spatial frequency of the road power spectral density, and w is the frequency index, often taken as w = 2.

For the analysis of vehicle suspension system dynamics, the vehicle travel speed is also a factor to be considered [26]. Converting the spatial frequency power spectral density, Gq(n), to the temporal frequency power spectral density, Gq(f), the variable of vehicle speed can be introduced. When a vehicle travels at a certain speed on a road surface with spatial frequency n, its equivalent time frequency can be expressed as:

> f

$$= \mathbf{v}\mathbf{n} \tag{5}$$

In the formula, v is the speed of the vehicle in <sup>m</sup>·s<sup>−</sup><sup>1</sup> and f is the time frequency in s<sup>−</sup>1. As a result, the following may be deduced about the road excitation model created

$$\dot{\mathbf{x}}(\mathbf{t}) + 2\pi \mathbf{f} \mathbf{u}(\mathbf{t}) = 2\pi \mathbf{n}\_0 \sqrt{\mathbf{G\_q(n\_0)}} \mathbf{v} \mathbf{W(t)} \tag{6}$$

In the formula, x(t) is the road displacement, <sup>W</sup>(t) is the mean value of 0 Gaussian white noise, f0 is the lower cutoff frequency, n0 = 0.1 m<sup>−</sup>1, and f0 = 0.1 Hz.

The basic idea of the model is to abstract the random fluctuations of the road process as white noise satisfying certain conditions, and then fit the time domain model of the random unevenness of the road by a hypothetical system with appropriate transformation. The pavement unevenness refers to the deviation of the road surface from the ideal plane. The rougher the pavement and the worse the pavement grade, the higher the geometric mean of power spectral density. In this paper, we simulate and analyze the A–D pavements, respectively, and the specific parameters are shown in Table 1.



#### 2.2.2. Step Noise Road Excitation

The white noise pavement excitation is mainly used to simulate continuously uneven pavement, such as asphalt pavement, gravel road surface, etc. However, it is usually necessary to consider the response to an encountered shock in addition to the continuous vibration. Here, step pavement excitation is used for simulation. The specific mathematical expression is as follows:

$$\mathbf{x}(t) = \begin{cases} 0, & t < t\_1 \\ \mathbf{x}, & t \ge t\_1 \end{cases} \tag{7}$$

From the equation, x denotes the displacement of the step and *t*1 denotes the time when the step occurs.

#### *2.3. Controller Design Principle*

#### 2.3.1. FNN-PID Controller

The structure of the FNN-PID controller is shown in Figure 2.

**Figure 2.** FNN-PID controller structure model.

In Figure 2, the input of the FNN is the deviation of Sprung Mass Acceleration, e(k), and the rate of change of deviation, de/dt; the input of the PID controller is e(k) [27] and u(k) is the control quantity. The anticipated value of the system is denoted by r(k), and the actual output value is denoted by y(k). After the fuzzy neural network algorithm has been trained, the best control parameters for the PID controller are obtained. According to the optimal control parameters, the PID controller enables real-time control of the suspension system by adjusting the magnitude of the control quantity, u(k).

#### 2.3.2. PID Control

In the field of industrial automation control, the PID algorithm is a common control algorithm [28]. The discrete control rate of a commonly used PID algorithm is shown in Equation (8).

$$\mathbf{u}(\mathbf{k}) = \mathbf{K}\_{\mathbf{p}} \mathbf{e}(\mathbf{k}) + \mathbf{K}\_{\mathbf{i}} \sum\_{i=0}^{k} \mathbf{e}(\mathbf{i}) + \mathbf{K}\_{\mathbf{d}} [\mathbf{e}(\mathbf{k}) - \mathbf{e}(\mathbf{k} - \mathbf{1})] \tag{8}$$

In the formula, the error between the system's input and output is denoted as e(k); Ki ∑<sup>k</sup> i=0 e(i)is the cumulative sum of the error, and the error's rate of change is e(k) − e(k − 1).

In PID control, the proportional link is used to quickly eliminate the error between input and output; the larger the proportional coefficient, Kp, the faster the system response. The integral link is used to lower the system's static error; the larger the integral coefficient, Ki, the more accurate the system response. The differential link is used to eliminate the oscillation in the control process; the larger the differential coefficient, Kd, the more robust the system response process.

The control of the active suspension system often uses incremental PID control. According to Formulas (9) and (10), it can be seen that, when the three coefficients, Kp, Ki, and Kd, in the PID control are determined after only using the deviation measured before and after the moment to derive the control increment by the formula, the control amount corresponds to the increment of the last few errors. There is no accumulation of errors; only those related to the last three sampling values belong to the recursive algorithm.

$$\Delta \mathbf{u}(\mathbf{k}) = \mathbf{K}\_{\mathbb{P}}[\mathbf{e}(\mathbf{k}) - \mathbf{e}(\mathbf{k} - 1)] + \mathbf{K}\_{\mathbf{i}}\mathbf{e}(\mathbf{k}) + \mathbf{K}\_{\mathbf{d}}[\mathbf{e}(\mathbf{k}) - 2\mathbf{e}(\mathbf{k} - 1) + \mathbf{e}(\mathbf{k} - 2)] \tag{9}$$

$$\mathbf{u}(\mathbf{k}) = \mathbf{u}(\mathbf{k} - \mathbf{1}) + \Delta \mathbf{u}(\mathbf{k}) \tag{10}$$

#### 2.3.3. FNN Control

The structure of the FNN is displayed in Figure 3, and it is split into five layers, including input layer, fuzzification layer, fuzzy inference layer, normalization layer, and output layer.

**Figure 3.** FNN structure model.

Input layer: the vector of input is x = [x1, x2, ··· , xn]. The nodes of this layer of the network are directly connected to each component, xi, and the error, e(k), and the error rate of change, ec(k), are the inputs to the general FNN. The result of the first layer is y1 i.

$$\mathbf{y}\_{\mathbf{i}}^{1} = \mathbf{x}\_{\mathbf{i}}, \mathbf{i} = 1, 2, \cdots, \mathbf{n} \tag{11}$$

Fuzzification layer: Each neuron in this layer represents 1 Gaussian subordinate function, whose role is to divide the input values into fuzzy intervals and fuzzy them [29]. The output is represented as follows:

$$\mathbf{y}\_{\text{ij}}^2 = \exp\left[\frac{\left(\mathbf{u}\_{\text{ij}} - \mathbf{c}\_{\text{ij}}\right)^2}{\mathbf{b}\_{\text{ij}}^2}\right] \tag{12}$$

In the formula, i = 1, 2, ··· , n, j = 1, 2, ··· , mi, the quantity of input vectors is n, and the number of fuzzy rules is mi. The Gaussian function's center and width, respectively, are denoted by cij and bij. The output quantity is expressed as y2ij.

Fuzzy inference layer: A fuzzy rule from the fuzzy rule base is represented by each neuron. The aim is to determine each rule's fitness, and the common calculation methods are the minimum value method and the product method. The product method is chosen here for calculation.

$$\mathbf{y}\_{\text{h}}^{3} = \mathbf{x}\_{1}^{\text{i}\_{1}} \cdot \mathbf{x}\_{2}^{\text{i}\_{2}} \cdot \cdots \cdot \mathbf{x}\_{\text{m}}^{\text{i}\_{m}} \tag{13}$$

In the formula, ij = 1, 2, ··· , mi, h = 1, 2, ··· , m, m = ∏n j=1 mj.

Normalization layer: The output of the fuzzy inference layer is normalized. The quantity of nodes in this layer is equal to the amount of nodes in the fuzzy inference layer, and the output of the normalization layer is as stated below.

$$\mathbf{y}\_{\mathbf{h}}^{4} = \frac{\mathbf{y}\_{\mathbf{h}}^{3}}{\sum\_{\mathbf{h}=1}^{\mathbf{m}} \mathbf{y}\_{\mathbf{h}}^{3}} \tag{14}$$

Output layer: This layer uses the center of gravity approach to realize the clarification and defuzzification process, and the output obtained after calculation is the result of PID parameter adjustment.

$$\mathbf{y}\_{\mathbf{k}} = \sum\_{\mathbf{h}=1}^{\mathbf{m}} \mathbf{y}\_{\mathbf{h}}^{\mathbf{4}} \boldsymbol{\omega}\_{\mathbf{s}}^{\mathbf{j}} = \sum\_{\mathbf{h}=1}^{\mathbf{m}} \frac{\mathbf{y}\_{\mathbf{h}}^{\mathbf{3}}}{\sum\_{\mathbf{h}=1}^{\mathbf{m}} \mathbf{y}\_{\mathbf{h}}^{\mathbf{3}}} \boldsymbol{\omega}\_{\mathbf{s}}^{\mathbf{j}} \tag{15}$$

In the formula, in the fuzzy inference layer, there are m nodes, k = 1, 2, ··· ,r; the output layer's node count is denoted by the symbol r, and ωj s is the jth weight corresponding to the sth output.

#### 2.3.4. FNN Optimization Algorithm

The learning optimization strategy of FNN is usually to continuously adjust the parameters of the network by the gradient descent method to obtain the ideal control parameters. Determining the best learning parameters and avoiding local optimality can be accomplished using a particle swarm algorithm (PSO) to solve continuous and discrete optimization problems [30,31]. However, the optimization speed of PSO is not very quick, its local search performance is subpar, and it is simple to fall into a local extremum. In general, the PSO method is very slow in searching around the global optimum. To address the shortcomings of existing optimization algorithms, the gradient descent algorithm and PSO algorithm are combined to optimize the network parameters. The approximate optimal solutions of the network weight parameters are found by using the particle swarm algorithm's global search capability, after which they are adjusted and optimized using the gradient descent approach, thus improving the training accuracy of the fuzzy neural network.

1. Gradient Descent;

> The network weight learning error metric is defined as:

$$\mathbf{E(k)} = \frac{1}{2}\mathbf{e(k)}^2 = \frac{1}{2}[\mathbf{r(k)} - \mathbf{y(k)}]^2 \tag{16}$$

From the gradient descent method, the learning algorithm of the network is expressed as [32]:

$$
\Delta\boldsymbol{\omega}\_{\sf s}^{\rm j}(\mathbf{k}) = -\eta \frac{\partial \mathbf{E}(\mathbf{k})}{\partial \boldsymbol{\omega}\_{\sf s}^{\rm j}} \tag{17}
$$

$$
\omega\_{\mathbf{s}}^{\mathbf{j}}(\mathbf{k}) = \omega\_{\mathbf{s}}^{\mathbf{j}}(\mathbf{k} - 1) + \Delta\omega\_{\mathbf{s}}^{\mathbf{j}}(\mathbf{k}) + \mathfrak{a} \left[ \omega\_{\mathbf{s}}^{\mathbf{j}}(\mathbf{k} - 1) - \omega\_{\mathbf{s}}^{\mathbf{j}}(\mathbf{k} - 2) \right] \tag{18}
$$

where η is the learning rate, α is the momentum factor, and η ∈ [0, 1], α ∈ [0, 1]. The same can be obtained:

$$\mathbf{c}\_{\overline{\mathbb{I}}}(\mathbf{k}) = \mathbf{c}\_{\overline{\mathbb{I}}}(\mathbf{k} - 1) + \Delta \mathbf{c}\_{\overline{\mathbb{I}}}(\mathbf{k}) + \mathfrak{a} \left[ \mathbf{c}\_{\overline{\mathbb{I}}}(\mathbf{k} - 1) - \mathbf{c}\_{\overline{\mathbb{I}}}(\mathbf{k} - 2) \right] \tag{19}$$

$$\mathbf{b}\_{\overline{\mathbf{i}}\rangle}(\mathbf{k}) = \mathbf{b}\_{\overline{\mathbf{i}}\rangle}(\mathbf{k} - 1) + \Delta \mathbf{b}\_{\overline{\mathbf{i}}\rangle}(\mathbf{k}) + \alpha \left[ \mathbf{b}\_{\overline{\mathbf{i}}\rangle}(\mathbf{k} - 1) - \mathbf{b}\_{\overline{\mathbf{i}}\rangle}(\mathbf{k} - 2) \right] \tag{20}$$

#### 2. Particle swarm algorithm

The population intelligence optimization approach designated as particle swarm optimization (PSO) is frequently employed in multi-objective optimization situations [33,34]. The specific working process is as follows: Suppose a particle swarm with M particles searches for the optimal position in a space of N dimensions. Assuming that the position of the ith particle (i =1, 2, ... , M) is xi and the velocity is vi, the individual extreme value, pibest, and the group extreme value, pgbest, of the particle are determined according to the particle fitness value, and the particle is continuously updated according to pibest and pgbest. Its own position and velocity are updated to find the global optimal solution. The particle velocity and position update formulas are expressed as:

$$\mathbf{v\_{id}^{t+1}} = \omega \mathbf{v\_{id}^t} + \mathbf{c\_1 r\_1} \left(\mathbf{p\_{ibestd}^t} - \mathbf{x\_{id}^t}\right) + \mathbf{c\_2 r\_2} \left(\mathbf{p\_{gbestd}^t} - \mathbf{x\_{id}^t}\right) \tag{21}$$

$$\mathbf{x}\_{\rm id}^{\rm t+1} = \mathbf{x}\_{\rm id}^{\rm t} + \mathbf{v}\_{\rm id}^{\rm t+1} \tag{22}$$

In the formula, ω is the inertia weight, t is the number of current iteration steps, c1 and c2 are learning factors, r1 and r2 are random numbers between 0 and 1, and d = 1, 2, ··· , D; i = 1, 2, ··· , M.

#### 2.3.5. Hybrid Algorithm Optimization Process

The hybrid algorithm of the particle swarm algorithm and gradient descent method to optimize the fuzzy neural network PID controller is denoted as PSO-FNN-PID. The specific steps of the hybrid algorithm to optimize the fuzzy neural network are shown in Figure 4.


**Figure 4.** Hybrid algorithm optimization flow chart.
