# PSO Optimized Active Disturbance Rejection Control for Aircraft Anti-Skid Braking System
## 4 Controller Design
### Optimization of Control Parameters Based on Improved Particle Swarm Optimization  
Although it is easy to implement in industry, the parameter adjustment of ADRC is more complicated than other algorithms. There are more than ten parameters, and there is no specific standard for selecting parameters. The selection of parameters depends on the experience of the designer, so it can be time consuming, laborious, and limited in effect. In this paper, the improved PSO is used to adjust the parameters of the anti-skid braking active disturbance rejection controller. A flow chart of the particle swarm optimization is shown in Figure 7.  
The basic PSO algorithm can be expressed as:  
\[\left\{ \begin{array}{l}V_{ij}(t+1)=V_{ij}(t)+c_{1}r_{1}\big{(}P_{ij}-X_{ij} \big{)}+c_{2}r_{2}\big{(}P_{gj}-X_{ij}\big{)}\\ X_{ij}(t+1)=X_{ij}(t)+V_{ij}(t+1)\end{array} \right. \tag{21}\]  
For more on the basic particle swarm optimization algorithm, refer to the literature. The basic particle swarm algorithm needs to adjust few variables, and it is simple and convenient to use. However, there are also shortcomings. The most prominent problem is that it is easy to converge prematurely, and the more the algorithm iterates later, the easier it is to converge prematurely. As researchers' understanding of particle swarm optimization has continued to deepen, inertial weights have been proposed, which can represent the trend of particles' past motion and expand the search space of particles. The size of the weight affects the search ability and the accuracy of the particle swarm. When the weight is increased, the algorithm focuses on the global search; when the inertia weight is reduced, the algorithm focuses on the local search accuracy. The standard particle swarm algorithm  
Figure 7: Flow chart of particle swarm optimization. uses linearly decreasing weights. The principle is to use larger weights in the early stage, while in the later stages of the algorithm, the weights will be automatically adjusted to be linearly decreasing. The velocity formula after adjusting the inertia weight is as follows:  
\[V_{ij}(t+1)=\omega V_{ij}(t)+c_{1}r_{1}\big{(}V_{ij}-X_{ij}\big{)}+c_{2}r_{2} \big{(}P_{gj}-X_{ij}\big{)} \tag{22}\]  
where \(\omega\) decreases linearly:  
\[\omega=\omega_{\text{start}}\,-\frac{\omega_{\text{start}}\,-\omega_{\text{ end}}}{t_{\text{max}}}\times t \tag{23}\]  
where \(\omega_{\text{start}}\) is the starting weight, \(\omega_{\text{end}}\) is the ending weight, \(\omega_{\text{start}}>\omega_{\text{end}}\), and \(\omega_{\text{start}}\) eventually decays linearly to \(\omega_{\text{end}}\) as the iteration progresses. In the initial stage of the algorithm iteration, a larger inertia weight can prevent the particle harvesting speed from being too fast, resulting in prematurely obtaining a local optimal solution. In the later stage of the algorithm, the smaller inertia weight can improve the convergence accuracy of the algorithm. Usually, you can assume \(\omega_{\text{start}}=0.9\), and \(\omega_{\text{end}}=0.4\). In a standard particle swarm, linearly decreasing inertia weights are used, and the learning factors c1 and c2 are not improved. In this paper, a new form of inertia weight is selected on the basis of the standard particle swarm, and the learning factor of the particle swarm is readjusted. The following nonlinear functions are optimized, and the effects of different weight forms and learning factors on the optimization process are compared and analyzed. For the comparison and simulation of linearly decreasing weight and adaptive adjustment weight, the form of the linearly decreasing weight is as follows:  
\[\omega_{k}=\omega_{\text{end}}\,+(\omega_{\text{start}}\,-\omega_{\text{end}} \,)\bigg{(}1-\frac{k}{T}\bigg{)} \tag{24}\]  
In the above formula, \(K\) is the current number of iterations, and \(T\) is the maximum number of iterations. The adaptive adjustment weights are as follows:  
\[\omega=\left\{