## 3 Experiment and Application
### Engineering Application: Multi-UAVs Cooperative Path Planning
#### Path Cost Function  
The purpose of multi-UAV cooperative path planning is that, on the premise of satisfying the requirements of a safe flight and space-time cooperation, every UAV can search the corresponding path, and the synthetic path cost of UAV fleet must be the least. Therefore, path planning requires the establishment of a path cost function as an index to evaluate the quality of a path. The satisfaction of the spatial and temporal cooperative constraints of multi-UAV by considering the dynamics and threat constraints of a single UAV in multi-UAV cooperative path planning is required. Thus, given the planning objective, the following cost indexes are considered in the present work: the performance indexes of a single UAV include fuel consumption, maximum climb/slide angle, flying altitude, peak threat, and multi-UAV time cooperation. Spatial cooperation is manifested in multi-UAV path collision avoidance. We set different flight altitudes that must be avoided by each UAV. The synthetic cost function is established as:  
\[J=\omega_{1}J_{fud}+\omega_{2}J_{angle}+\omega_{3}J_{height}+\omega_{4}J_{threat}+\omega_{5}J_{cap}, \tag{16}\]where \(\omega_{1}\), \(\omega_{2}\), \(\omega_{3}\), \(\omega_{4}\) and \(\omega_{5}\) refer to the weights of different cost indexes, and the sum of weights is 1. The paths that satisfy different requirements can be obtained by adjusting the weights. To ensure that all cost indexes are involved in path planning, the functions are normalized in accordance with the range of their values, and then weighted summation is performed. Fuel consumption cost is related to the length of flight path and flying speed. Assuming that UAVs consistently fly at a certain speed, fuel costs can be replaced by the length of the path:  
\[f_{fud}=\sum\
olimits_{i=1}^{n-1}\sqrt{\left(x_{i+1}-x_{i}\right)^{2}+\left(y_ {i+1}+y_{i}\right)^{2}+\left(z_{i+1}-z_{i}\right)^{2}}, \tag{17}\]  
where \(\left(x_{i+1},y_{i+1},z_{i+1}\right)\) and \(\left(x_{i},y_{i},z_{i}\right)\) correspond to the coordinates of the adjacent path points. \(J_{angle}\) refers to the cost of the maximum climb/slide angle and is expressed as:  
\[J_{angle}=\sum\
olimits_{i=1}^{n}\theta_{i}|\theta_{i}=arctan\left(\frac{ \left|z_{i+1}-z_{i}\right|}{\sqrt{\left(x_{i+1}-x_{i}\right)^{2}+\left(y_{i+1} -y_{i}\right)^{2}}}\right) \tag{18}\]  
where \(\theta_{i}\) refers to the climb/slide angle of the adjacent points of a certain path. To satisfy the requirements of flight safety and concealment, the flight altitude cannot be overly low or high. Height cost can be expressed as:  
\[J_{height}=\sum\
olimits_{i=1}^{n}\left|h_{i}-safth_{i}\right|, \tag{19}\]  
where \(h_{i}\) refers to the height of path point \(i\) on a certain path, and \(safth_{i}\) refers to the minimum safety height for each UAV. Collision with the mountain in the flying course of the UAV must be avoided. In Reference [73], the peak model is represented by a cone approximate representation. The path is divided into \(m\) equal sections, and \(m\)\(-\)\(1\) sampling points are obtained in the center. The threat cost of the whole path is expressed as  
\[J_{threat}=\sum\
olimits_{i=1}^{n}\sum\
olimits_{j=1}^{m}\sum\
olimits_{k=1 }^{K}\mathit{threat}(j,k), \tag{20}\]  
where \(n\) refers to the number of path points, \(K\) represents the number of peaks, and \(\mathit{threat}(j,k)\) is the threat cost of the sampling point \(\left(x_{i},y_{i},z_{i}\right)\) in the current section and a certain peak and is expressed as:  
\[\mathit{threat}(j,k)=\left\{ \begin{array}{cc}0&h_{j}>H(k)\ \mathit{or}\ d_{T}>R_{T}+d_{min}\\ R_{T}(h)+d_{T_{min}}-d_{T}&h_{j}<H(k)\ \mathit{and}\ d_{T}<R_{T}+d_{T_{min}} \end{array} \right. \tag{21}\]  
where \(n\) refers to the number of path points, \(K\) represents the number of peaks, \(H(k)\) refers to the height of peak \(k\), and \(R_{T}\) refers to the maximum extension radius.