## 3 Multi-Domain Informative Path Planning
### Path Planning Based On Heuristic GLNS  
A brief description of the GLNS algorithm is as follows: The input for GLNS is a weighted graph: \(G(V,E,\omega)\). The graph contains the information of vertices of clusters and edges. Each round of a GLNS search starts with an initial tour which is randomly selected; then a vertex will be inserted according to heuristics. After each iteration, the new tour is accepted or declined based on an annealing criterion, for which either a fixed number of non-improving iterations is run or warm restarts. In this study, we set heuristics according to the domain such that the HAUV would have minimal energy consumption in the various mission modes. The heuristic GLNS solver was used to find the solution for the optimization problem of the coverage path. Each information spot in the target space corresponded to a vertex. KMEANS cluster solver defined the informative spots. Edges were defined as the Euclidean weighted distances between pairs of spots. The weight of each edge was related to the specific environment. For comparison, a common TSP solver, the ant colony algorithm (ACO), was also used to find target spots with the input of center spots \(c_{1,2},\dots c_{n}\). Recall that for each path segment between \(p_{i}\) and \(p_{i+1}\), there are four possible types of mission environment. The energy cost differs when the HAUV is moving underwater, aerially, and transitioning between the two. According to the experimental data, we can assume the energy cost of the HAUV moving underwater is five times that of flying per meter. Let \(\xi_{sea}\) be the energy weight of the HAUV moving one meter underwater, and \(\xi_{sea}\) equals \(5\xi_{air}\). Under such situations, the HAUV can be regarded as a particle, whereas its length \(velt_{L}\) must be considered when it switches medium. Figure 8a,b gives a comparison between an output path with a weighted edge and a path without a weighted edge. In the latter situation, the HAUV may choose a shorter path but with a higher energy cost. Figure 7: Randomly generated information spots. Through KMEANS (MATLAB) the spots were clustered into several sets. The input for ACO is the center of each set, and the input for GLNS is all the clustered spots. While the HAUV switches transport media, the HAUV will be half underwater and half aerial at a certain point. Therefore, the energy cost weight function can be generalized as Equation (6):  
\[\xi_{surf} =\frac{\left(\xi*\frac{L}{2}+5\xi*\frac{L}{2}\right)}{L} \tag{6}\] \[=3\xi\]  
For example, to calculate the cost \(C_{i}\) of the trip between \(p_{i}\) and \(p_{i+1}\), the first thing is to find the cross point \(p_{i}^{\prime}\). Let \(D_{i}^{air}\) be the distance between \(p_{i}\) and \(p_{i}^{\prime}\), and \(D_{i}^{sea}\) be that of \(p_{i+1}\) and \(p_{i}^{\prime}\). The cost in a static environment is calculated as Equation (7):  
\[ \begin{split} C_{i}&=\left(D_{i}^{air}-\frac{L}{2} \right)*\xi_{air}+\frac{L}{2}*\xi_{surf}+\left(D_{i}^{sea}-\frac{L}{2}\right)* \xi_{sea}\\ &=D_{i}^{air}*\xi_{air}+D_{i}^{sea}*\xi_{sea}\end{split}  \tag{7}\]  
Then the cost \(C_{i}\) in a static environment for each spot is put into an iteration cycle of removal and insertion functions in the GLNS solver as a parameter. As we mentioned in Section 2.2.3, we consider the lift for flight and resistance and lift underwater, based on Equation (2), Equation (3), and Equation (4). We can roughly calculate the weighted edge parameter caused by currents by Equation (8):  
\[\frac{\xi_{i}^{air/water}}{\xi_{i}^{c}}=\frac{Y_{air/ssc}-Y_{air/sea}}{Y_{air/ sea}} \tag{8}\]  
We roughly regard both sides of Equation (8) as equal. Therefore, the overall cost function can be written as Equation (9):  
\[C_{i}=D_{i}^{air}*\xi_{air}+D_{i}^{sea}*\xi_{sea}+D_{i}*\xi_{c} \tag{9}\]  
Given the best path \(\Phi\), if the HAUV is required to stop at a specific location and perform some function, such as sampling, there is no need to generate a smooth trajectory.