## 3 Fast-Path-Plan Algorithm Considering the Fixed-Wing Aerial Vehicle's Turn Rate Limit
Algorithm 1 is utilized to form motionPoints. Recall that a simulation node is called an openSimulationNode if the simulation node has a motionPoint. Furthermore, Algorithm 2 is utilized to make \(R\) move to an openSimulationNode, e.g., \(n^{c}\), which is nearest to the destination \(\mathbf{D}\). \(R\) moves to an openSimulationNode, which is nearest to \(\mathbf{D}\), since we want to find a shortest path to \(\mathbf{D}\). Algorithm 2 is explained as follows. Under Algorithm 2, \(R\) searches for an openSimulationNode, say \(n^{c}\), which is nearest to the destination \(\mathbf{D}\). Note that an openSimulationNode can be closed as time goes on, since \(f_{R}\) is removed from a motionPoint, as presented at the last line of Algorithm 2. \(R\) keeps searching for an openSimulationNode among all simulation nodes. If no openSimulationNode can be found, then \(AlgorithmDone\) becomes true. This implies that a safe path to the destination cannot be found. Thus, we re-initialize Algorithm 3, so that the entire process for finding a safe path can be reset. In Algorithm 2, \(n^{c}\) is an openSimulationNode, which is nearest to the destination \(\mathbf{D}\). In Algorithm 2, \(f_{R}\) is a motionPoint of \(n^{c}\), that will be visited by \(R\) after \(R\) moves to \(n^{c}\). \(R\) sets a motionPoint, which is nearest to the destination, as \(f_{R}\). Thereafter, \(R\) moves to \(f_{R}\). Thereafter, one stores \(n^{c}\) as a parent of \(f_{R}\). In addition, \(f_{R}\) is deleted from a motionPoint of \(n^{c}\). If \(n^{c}\) has no motionPoints, then \(n^{c}\) is closed. Once \(R\) meets \(f_{R}\), it spawns a new simulation node at \(f_{R}\). Note that \(R\) sets a motionPoint, which is nearest to the destination, as \(f_{R}\). In this way, \(R\) is steered towards the destination. This steering movement is utilized for minimizing the path length to the destination. In short, the simulated vehicle's maneuver is steered to reach the destination to find a short path to the destination. Algorithm AnalysisWe prove that Algorithm 3 forms a safe and smooth path, considering the maximum turn rate limits of the real aerial vehicle. Theorem 1 proves that the real aerial vehicle avoids crossing an obstacle boundary while satisfying the maximum turn rate limits, as the vehicle tracks along a path formed under Algorithm 3. Theorem 1: _As the real fixed-wing aerial vehicle tracks along a path formed under Algorithm 3, it avoids crossing an obstacle boundary, while satisfying the maximum turn rate limits._  
Proof: Algorithm 3 forms a path from \(n_{init}\) to the destination \(D\) by backtracking the parent relationship starting from \(D\). MotionPoints of \(n\) are reachable, as the simulated vehicle \(R\) moves from \(parent(n)\) to \(n\). Using the definition of motionPoints, a fixed-wing aerial vehicle avoids crossing obstacle boundaries as it moves from one simulation node to its motionPoint. Hence, as a vehicle moves from one simulation node towards the node's parent, the vehicle avoids crossing obstacle boundaries. As we generate a motionPoint, we use (15), which implies that as a vehicle moves along its generated path, the path satisfies the maximum turn rate limits. We have proven this theorem. We next analyze the computational complexity of Algorithm 3. Recall that whenever a new simulation node is spawned, we store the node in the simulation node list, so that all nodes in the list are sorted in the ascending order considering the relative distance to the destination \(\mathbf{D}\). Also, recall that whenever a motionPoint is generated at a simulation node \(n\), we store the point in a list, termed the motionPoint list of \(n\), so that all motionPoints in the list are sorted in the ascending order considering the relative distance to the destination \(\mathbf{D}\)Inside the main loop of Algorithm 3, \(R\) spawns a new simulation node, e.g., \(n\), at its 3D location, if there is no simulation node at its location. We can apply the bisection search [36] for checking if there is no simulation node at \(\mathbf{n}\).