## 2 Assumptions and Definitions
In the NED frame, the velocity vector of the simulated vehicle as it moves from \(parent(n)\) to \(n\) is  
\[\mathbf{h}(n)=\frac{\mathbf{n}-\mathbf{parent}(n)}{\|\mathbf{n}-\mathbf{parent }(n)\|}. \tag{9}\]  
Here, \(\mathbf{n}\in\mathcal{R}^{3}\) stands for the 3D location of \(n\), and \(\mathbf{parent}(n)\in\mathcal{R}^{3}\) stands for the 3D location of \(parent(n)\). Recall that \(\{B\}\) is fixed to the simulated vehicle's body such that the origin of \(\{B\}\) is at the vehicle's center. Let \(\mathbf{u}=(1,0,0)^{T}\) stand for the unit velocity vector of the simulated vehicle in the body-fixed frame \(\{B\}\). Utilizing (4), one applies  
\[\mathbf{h}(n)=\mathbf{R}(\psi(n),\theta(n),\phi(n))\times\mathbf{u}. \tag{10}\]  
Since \(\mathbf{h}(n)\) does not consider the rolling of the vehicle, we set \(\phi(n)\) in (10) as zero. One next computes the orientation angle, e.g., \(\psi(n)\) and \(\theta(n)\), associated to the vehicle's velocity vector \(\mathbf{h}(n)\). Let \(\mathbf{h}(n,j)\) stand for the \(j\)-th element of \(\mathbf{h}(n)\), where \(j\in\{1,2,3\}\). Utilizing (10), one has  
\[\mathbf{h}(n)=(\mathbf{h}(n,1),\mathbf{h}(n,2),\mathbf{h}(n,3))^{T}, \tag{11}\]  
Here, \(\mathbf{h}(n,1)=c(\psi(n))\times c(\theta(n)),\mathbf{h}(n,2)=s(\psi(n)) \times c(\theta(n))\), and \(\mathbf{h}(n,3)=-s(\theta(n))\). Utilizing (11), one has  
\[\theta(n)=arctan(-\mathbf{h}(n,3),\sqrt{\mathbf{h}(n,1)^{2}+\mathbf{h}(n,2)^ {2}}). \tag{12}\]  
Utilizing (11), one computes \(\psi(n)\) as follows. If \(c(\theta(n))>0\), then one utilizes  
\[\psi(n)=arctan(\mathbf{h}(n,2),\mathbf{h}(n,1)). \tag{13}\]  
If \(c(\theta(n))<0\), then one utilizes  
\[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]0  
Recall that \(\mathbf{h}(n)\) in (9) stands for the velocity vector of the simulated vehicle as it moves from \(parent(n)\) to \(n\). As the simulated vehicle starts from simulation node \(n\), the vehicle's turn rate is limited by its maximum turn rate. Considering the maximum turn rate \(A_{max,y}\) and \(A_{max,z}\) in (6) and (7), one sets feasible velocity vectors in the NED frame as  
\[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]1 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]2 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]3 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]4 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]5\[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]6 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]7 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]8 \[R_{m}=\frac{v^{2}}{g\times\tan(\rho)} \tag{5}\]9  
Here, _rand_ returns a random number in the interval \([0,1]\). By adding \(\mathbf{n}\) to \(r_{s}\times\mathbf{V}_{\mathbf{j}}^{NED}\), one randomly forms the 3D global coordinates of the \(j\)-th motionPoint (\(j\in\{1,2,...,q=9\}\)) of \(n\). In this way, \(q=9\) random points exist on \(\partial S(n)\). These \(q=9\) random points are termed the _viableMotionPoints_ of \(n\). Among these \(q\) viableMotionPoints, one selects a set of _motionPoints_, e.g., \(m(n)\), satisfying the following safety requirement: _the straight line segment connecting \(n\) and a point in \(m(n)\) is a safe passage for the simulated vehicle \(R\)._  
This safety requirement is used to avoid the case where \(R\) with radius \(r\) crosses an obstacle boundary, while \(R\) tracks along the straight line segment connecting \(n\) and a motionPoint. Suppose that the simulated vehicle \(R\) has been moving from \(parent(n)\) to \(n\). \(R\) can reach a motionPoint of \(n\) without colliding with obstacles. Thus, we say that motionPoints are _reachable_ by \(R\), which has been moving from \(parent(n)\) to \(n\). See Algorithm 1 for the generation of both viableMotionPoints and motionPoints. We say that a simulation node is an _openSimulationNode_ if the simulation node has a motionPoint. We say that an openSimulationNode is _closed_ if the node has no motionPoint.