2.3.1. Fuzzy ADRC Controller Design
The fuzzy ADRC controller consists of two parts: fuzzy algorithm and ADRC control.
Han Jingqing [
16] proposed an ADRC that includes a tracking differentiator (TD) [
17], a nonlinear-state error feedback (NLSEF) [
18], and an extended-state observer (ESO) [
19]. The core of ADRC technology is to estimate and compensate the total disturbance of the system by reducing the unmodeled dynamic disturbance and the out-of-position disturbance of the system.
TD in ADRC can track the input signal interfered with by noise and extracting its differential signal. The discrete expression of TD is
where
v is the input signal;
r0 is the speed factor;
h is the integration step;
h0 is the filter factor;
k is the current moment;
fh is the fastest control function of the discrete system.
ESO is the core part of ADRC, which is mainly used to detect the input and output of the system to estimate the interference of the system. For common second-order systems, the ESO discrete expression is
where
z1 is the observed value of the system output y;
z2 is the observed value of the system output differential;
z3 is the observed value of the total disturbance of the system;
α1,
α2,
β01,
β02, and
β03 are adjustable parameters of the controller;
b is the compensation factor of the system; and
fal is the noise filter nonlinear function.
NLSEF obtains the actual control quantity of the system through a nonlinear combination of the difference between the estimated value and the actual value observed by ESO. The discrete expression of NLSEF is
where
v1 is the tracking signal output from the TD module;
v2 is the differentiation of the tracking signal output from the TD module;
β1 and
β2 are nonlinear error gains and are parameters to be adjusted;
u is the final control amount of the system; and
u0 is the control amount of the system when it is not compensated. The calculation process of the nonlinear function is the same as that of the ESO part.
From the above, it can be observed that the ADRC controller needs to set more parameters. For instance, the second-order active disturbance rejection controller necessitates the tuning of 14 parameters, with the value range of β01 being [100, 104]. The setting of these parameters significantly increases the difficulty of practically applying the ADRC controller.
Fuzzy control is an intelligent control method that achieves control requirements by simulating human fuzzy reasoning behavior and decision making behavior [
20]. The fuzzy control algorithm adaptively adjusts the parameters of NLSEF in ADRC to reduce the time required for parameter setting and enhance the system’s control capability during the design of the active disturbance rejection controller.
The designed fuzzy ADRC controller is illustrated in
Figure 3. The equation representing the fuzzy control algorithm for setting the NLSEF parameters is shown as Equation (9). The control process is as follows. The controller compares the theoretical lifting height of the stubble breaking obstacle avoidance device with the actual measured value of the displacement sensor. This comparison yields the error amount
e and the error rate
ec, which are then converted into fuzzy quantities using the membership function. These fuzzy quantities serve as inputs to the fuzzy controller. The change amounts Δ
β1 and Δ
β2 corresponding to the gain coefficients
β1 and
β2 in the NLSEF are also transformed into fuzzy quantities through the membership function, serving as outputs of the fuzzy controller. The controller applies fuzzy inference based on control rules, and ultimately, the output parameters are defuzzified using the center of gravity method to obtain the compensation values of the NLSEF parameters [
21].
According to the control process of the fuzzy controller, seven fuzzy linguistic variables are defined as follows: PB (positive large), PM (positive medium), PS (positive small), ZO (zero value), NS (negative small), NM (negative medium), and NB (negative large) [
22]. Additionally, based on the experience of parameter regulation of NLSEF in ADRC [
23], the theoretical domain of input quantities
e and
ec is [−3, 3], the theoretical domain of output quantity Δ
β1 is [−0.3, 0.3], and the theoretical domain of Δ
β2 is [−0.06, 0.06].
The input and output membership functions are formulated by combining Gaussian and triangular functions. Triangular functions are used in the central region, while Gaussian functions are employed on both sides. The choice of a triangular membership function in the middle region simplifies calculations, reduces the number of operations, improves the speed of the controller’s speed, and has less impact on the fuzzy values. On the other hand, the selection of smooth curves and fast convergence Gaussian-type membership functions on the edges of the interval is crucial as they have a greater impact on the system. The membership function curves of the fuzzy controller’s input and output variables are illustrated in
Figure 4 and
Figure 5.
After establishing the input and output universes and membership functions, fuzzy rules are formulated. The commonly used fuzzy inference methods include the Mamdani method, Zadeh method, Yager method, and Zadeh method. In this paper, the Mamdani method is chosen for fuzzy inference in conjunction with the MATLAB Fuzzy Toolbox. Through repeated debugging and experience summarization, it has been found that the role of Δβ1 is to enhance the system response speed; the larger the value of Δβ1, the faster the system response speed. However, increasing Δβ1 can lead to overshoot and reduce system stability. On the other hand, the role of Δβ2 is to enhance the system dynamic response speed and increase the stability of the system. However, increasing Δβ2 will increase the system regulation time. Based on the variables’ influence on the system, the following fuzzy rules are established:
When the deviations of e and ec are large, set Δβ1 as large and Δβ2 as zero or small to increase the system’s response speed and reduce overshoot;
When the deviation of e and ec is moderate, set Δβ1 as small and Δβ2 as moderate to ensure a reasonable response time and overshoot range;
When
e and
ec are small, set Δ
β1 as large and Δ
β2 as large to improve the system’s steady-state performance. The fuzzy rules for Δ
β1 are listed in
Table 2, and the fuzzy rules for Δ
β2 are in
Table 3.
The output of fuzzy inference yields a fuzzy value. In practical engineering applications, when the input signal of a control system is an exact value, defuzzification is employed to extract an exact value that best represents the fuzzy set obtained through fuzzy inference. Commonly used defuzzification methods include the regional center of gravity method, weighted average method, maximum criterion method, and maximum membership method. In this study, the regional center of gravity method is selected as the defuzzification method due to its advantages of encompassing all information in the fuzzy subset, providing a smooth inference control output, and achieving a high data utilization rate. The equation for calculating the defuzzified value is as follows:
where
m is the number of fuzzy rules; and
U(
v) is the output fuzzy set;
vi is the value corresponding to the area center of the membership function of the fuzzy subset
U, which corresponds to the conclusion of the inference of the
ith rule.
2.3.2. BPNN-Optimized Fuzzy ADRC Controller Design
Although fuzzy control can optimize ADRC parameters to some extent, it has limitations in terms of learning ability and steady-state error. This paper proposes the application of the BPNN algorithm to the fuzzy ADRC controller by inputting the optimized Δβ1 and Δβ2 to the fuzzy ADRC controller to optimize the empirically designed fuzzy controller. This approach not only enhances the system’s nonlinear tracking ability, but also ensures improved system robustness.
In 1985, Rumelhart et al. proposed the BP neural network, which is a multilayer feedforward network utilizing an error backpropagation algorithm. It possesses excellent nonlinear generalization and information processing capabilities. The learning process of the BP neural network primarily involves forward transmission and backpropagation. The standard BP model consists of an input layer, a hidden layer, and an output layer [
24]. The network topology is illustrated in
Figure 6, with
n input nodes,
m hidden layer nodes, and one output node.
In this paper, the BPNN algorithm is employed to predict and adjust the
β1 and
β2 parameters of the fuzzy ADRC. The adjusted parameters Δ
β1 and Δ
β2 are then input into the NLSEF of the ADRC, enabling parameter sub-regulation of the nonlinear feedback control. The structure diagram of the fuzzy ADRC control based on BPNN is illustrated in
Figure 7.
When taking output Δβ1 as an example, the prediction is performed by the BP neural network-optimized fuzzy control. The BP neural network consists of five layers of neurons with a network structure of 2 × 14 × 7 × 7 × 1. The layers include the input layer i, fuzzified layer j, fuzzy rule layer k, output membership layer l, and output layer m. The network utilizes forward propagation and error backward propagation for its operations. The main roles of each layer are as follows:
Fuzzified layer: This layer represents the membership function layer, where neurons connected with e and ec are the corresponding seven fuzzy language variables. This layer mainly fuzzifies the two input variables and calculates the membership functions of the fuzzy sets of e and ec belonging to each language variable value, respectively.
Fuzzy rule layer: Each neuron in the fuzzy rule layer represents a fuzzy rule and is responsible for calculating the fitness of each rule.
Output membership layer: The output membership layer calculates the language variable values of each rule’s output variable.
Output layer: The output layer is responsible for defuzzification and obtaining the adjustable parameters of the active disturbance rejection controller. The calculation process of the BPNN optimal fuzzy control is as follows:
where mij is the central value of the membership function of the jth language variable of the ith input variable xi; θij is the width of the membership function of the jth language variable of the ith input variable xi; I is the input of each layer neuron; O is the output of each layer neuron; ukm is the central value of the language-valued membership function of the mth output variable of the first rule; and σ is the width value of the language-valued membership function of the mth output variable of the first rule.