1. Introduction {#sec1-sensors-17-01607}
===============

Autonomous Underwater Vehicles (AUVs) and underwater gliders have found important applications in ocean exploration, oil and gas production, environmental monitoring, underwater infrastructure monitoring, weather services, and coastal surveillance \[[@B1-sensors-17-01607],[@B2-sensors-17-01607],[@B3-sensors-17-01607]\]. Typically, these vehicles are programmed to visit a number of predetermined targets, perform some tasks at the target locations, and then return home. With the increased demand and commercial success of the AUVs and gliders, it is of increasing interests to employ a fleet of vehicles simultaneously and cooperatively to perform a mission. Therefore, multi-vehicle task assignment and path planning become an important research topic in recent years.

Due to the size, weight, and fuel constraints, these vehicles have strong limitations in underwater missions, such as limited mission length, stringent nonholonomic motion constraints, and limited communication with each other or with the home base. A nonholonomic motion constraint requires that the vehicle motion is along a smooth curvature without reversing direction. This often requires that the vehicle paths satisfy geometric continuity to support their kinematic constraints \[[@B4-sensors-17-01607],[@B5-sensors-17-01607]\]. For point-to-point path planning, Dubins curves have been widely utilized to achieve $G^{1}$ continuity and shortest path length \[[@B6-sensors-17-01607],[@B7-sensors-17-01607]\]. Recent literatures on Dubins vehicles also consider environmental conditions such as ocean currents \[[@B8-sensors-17-01607],[@B9-sensors-17-01607]\], obstacle avoidance \[[@B10-sensors-17-01607],[@B11-sensors-17-01607]\], and vehicle/glider characteristics \[[@B12-sensors-17-01607],[@B13-sensors-17-01607]\]. However, most of the works only consider 2-dimensional (2D) Dubins curve, and the extension to 3D Dubins curve is recently proposed in \[[@B14-sensors-17-01607]\] for unmanned aerial vehicles by using linear interpolation. This method is also adopted in \[[@B12-sensors-17-01607],[@B13-sensors-17-01607]\] for path planning of gliders and AUVs.

The multi-target multi-AUV task assignment and path planning problem is commonly modeled by the multiple traveling salesperson (MTSP) problem. In the review paper \[[@B10-sensors-17-01607]\], Zhu et al. provided a detailed report on the recent progress in this area. The MTSP problems are often solved by the K-means clustering method \[[@B8-sensors-17-01607]\], the genetic algorithm (GA) \[[@B15-sensors-17-01607],[@B16-sensors-17-01607]\], or the heuristic search algorithms \[[@B17-sensors-17-01607],[@B18-sensors-17-01607]\]. Due to the high computational complexity, the MTSP problem is often solved by using the Euclidean distances between targets as the cost function. The resulting task assignments and tour sequences are then post-processed to account for vehicle dynamics, environmental constraints, and possible environmental changes. Ocean environmental conditions, such as the effect of strong ocean current, are considered in many recent works \[[@B8-sensors-17-01607],[@B9-sensors-17-01607],[@B17-sensors-17-01607],[@B19-sensors-17-01607],[@B20-sensors-17-01607]\]. In addition, several approaches have been developed to adapt to changing environment, including the fast marching-based approach in \[[@B20-sensors-17-01607]\], the Self Organizing Map (SOM) neural network approach in \[[@B21-sensors-17-01607]\], and the dynamic task assignment approach in \[[@B22-sensors-17-01607]\].

To account for the nonholonomic motion constraint, the tour sequence is mapped to point-to-point Dubins curves with a constraint that the incoming and outgoing headings at the joints are the same. In a large tour sequence where the number of targets to be visited is large, the search for shortest Dubins path is also computationally intensive. Several approaches have been proposed in the literature. An Alternating Algorithm is proposed in \[[@B23-sensors-17-01607]\], which only maps half of the tour points to Dubins curves, thus reducing the search size for the shortest Dubins path. Two beading methods have also been presented in \[[@B23-sensors-17-01607]\] to map the point-to-point paths with shortest bead-shaped paths. Other path-smoothing methods are presented in \[[@B24-sensors-17-01607]\], which use continuous-curvature paths such as Clothoids, Bezier curves, and B-splines.

Most of the Dubins TSP solutions also have the limitation of using the 2D Dubins curves without considering the 3D underwater space. A few recent works extend the 2D Dubins curves to 3D \[[@B12-sensors-17-01607],[@B13-sensors-17-01607],[@B14-sensors-17-01607]\] without considering multiple targets. Some works in 3D multi-target task assignment \[[@B11-sensors-17-01607]\] consider targets in the 3D space without path smoothing. In this paper, we integrate the 3D Dubins curve with the MTSP model for 3D multi-target task assignment and path planning. We impose the energy consumption constraint of each AUV with the Tour Hop Balance (THB) and Tour Length Balance (TLB) criteria in the GA algorithm when solving for the tour sequences of multiple AUVs. We call these algorithms the THB-3Dubins-MTSP algorithm and TLB-3Dubins-MTSP algorithm, respectively. We investigate the simple linear interpolation method of 3D Dubins curve in the multi-target path planning scenario and demonstrate that the simple 3D Dubins curves fail to meet with $G^{1}$ continuity at multiple targets, because although the 3D Dubins path may be $G^{1}$ continuous in the $X - Y$ plane, they are discontinuous in the *Z*-domain.

Based on this finding, we propose a simple solution for accommodating the vehicle dynamics. The interpolated 3D Dubins curves are checked against the AUV dynamics constraint in the *Z*-domain and the ones satisfying the constraint are accepted to finalize the 3D Dubins curve selection. We call this rejection-acceptance method. Simulation results demonstrate that the integration of the 3D Dubins curve with the MTSP model is successful and effective for solving the 3D target assignment and path planning problem.

2. Problem Statement {#sec2-sensors-17-01607}
====================

Consider multiple AUVs constituting a collaborative team and performing the mission of tracking multiple underwater targets in a 3D underwater environment, as shown in [Figure 1](#sensors-17-01607-f001){ref-type="fig"}. Assume a set of static targets $\mathcal{T} = \left\{ T_{1},T_{2},\ldots,T_{N} \right\}$ and a set of homogeneous mobile AUVs $\mathcal{A} = \left\{ A_{1},A_{2},\ldots,A_{K} \right\}$ that are randomly deployed in the $X \times Y \times Z$ three dimensional underwater space, with *N* and *K* denoting the total numbers of static targets and mobile AUVs, respectively. Also assume $K < N$, as this is commonly encountered in many practical applications. Each AUV has the same initial energy $E_{init}$ and the same energy consumption model which is a linear function of its tour length. In order to illustrate design detailed methodology of proposed algorithm, we summarize the simplified notation in [Table 1](#sensors-17-01607-t001){ref-type="table"} for the reader's convenience.

The objective of task assignment and path planning is to assign a tour sequence of targets $\mathcal{D}_{k},k = 1,2,\ldots,K$ from the target set $\mathcal{T}$ to each AUV such that each target is visited by an AUV once and only once, and the total cost of visiting all targets is minimized.

Let $N_{k}$ and $\mathcal{L}_{k}$ denote the number of targets and tour length of sequence $\mathcal{D}_{k}$, respectively. The tour cost of tour sequence $\mathcal{D}_{k}$ is denoted as $\mathbb{C}\left( \mathcal{D}_{k} \right)$, and the task assignment and path planning problem is to minimize $$\mathbb{C}_{Total} = \sum\limits_{k = 1}^{K}{\mathbb{C}\left( \mathcal{D}_{k} \right)}$$ subject to $$\begin{array}{l}
{\mathcal{T} = \bigcup\limits_{k = 1}^{K}\mathcal{D}_{k}} \\
\end{array}$$ $$\begin{array}{l}
{\mathcal{D}_{k}\bigcap\mathcal{D}_{l} = \varnothing,\forall k,l{and} k \neq l} \\
\end{array}$$ $$\begin{array}{l}
\left. {Var}\left( N_{k} \right)\rightarrow 0 \right. \\
\end{array}$$ $$\begin{array}{l}
\left. {Var}\left( \mathcal{L}_{k} \right)\rightarrow 0 \right. \\
\end{array}$$ where Equations ([4](#FD4-sensors-17-01607){ref-type="disp-formula"}) and ([5](#FD5-sensors-17-01607){ref-type="disp-formula"}) are the Tour Hop Balance (THB) constraint and the Tour Length Balance (TLB) constraint, respectively, and ${Var}\left( \cdot \right)$ denotes the intra-AUV variance which is calculated in the following section, → means as small as possible. For example, $N_{k} = \frac{N}{K},\forall k$ if *N* is divisible by *K*.

2.1. Vehicle Kinematic Constraints {#sec2dot1-sensors-17-01607}
----------------------------------

An AUV belongs to a body-fixed coordinate system with six degrees of freedom, and so its motion can be described relative to an inertial-fixed reference frame. However, we only consider the position value and motion heading of an AUV in this paper since it is enough for path planning with Z-axis linear interpolation method. The location and motion of an AUV in three-dimensional Cartesian space are shown in [Figure 2](#sensors-17-01607-f002){ref-type="fig"}, where the position of the AUV is denoted as $\mathbf{X} = \left\{ x,y,z \right\}$, and its motion heading is denoted as $\mathbf{\Phi} = \left\{ \phi,\theta \right\}$, where $\theta$ and $\phi$ are the X-Y plane angle and Z-axis angle projected from the AUV's motion heading, respectively. The velocity scalar of the AUV is denoted as ***F***, and the projected X-Y plane angle and Z-axis angle are bounded, making its motion nonholonomic constraints \[[@B8-sensors-17-01607]\] such that $$\left\{ \begin{array}{l}
{\overset{˙}{x} = \mathbf{F}\cos\theta\cos\phi} \\
{\overset{˙}{y} = \mathbf{F}\cos\theta\sin\phi} \\
{\overset{˙}{z} = \mathbf{F}\sin\theta} \\
\end{array} \right.$$ where the dot operator is the derivative, and $$\begin{array}{l}
{\overset{˙}{\phi} = \xi,\xi \in \left\lbrack {- \omega_{1},\omega_{1}} \right\rbrack} \\
\end{array}$$ $$\begin{array}{l}
{\overset{˙}{\theta} = \Theta,\Theta \in \left\lbrack {- \omega_{2},\omega_{2}} \right\rbrack} \\
\end{array}$$ where $\omega_{1}$ and $\omega_{2}$ represent the curvature bounds. The nonholonomic constraints requires that the AUV paths satisfy the $G^{0}$ and $G^{1}$ continuities \[[@B24-sensors-17-01607],[@B25-sensors-17-01607]\] which are defined as follows:

$G^{0}$ *continuity*: $P\left( u \right) = \left\lbrack x\left( u \right),y\left( u \right),z\left( u \right) \right\rbrack$ and $Q\left( w \right) = \left\lbrack x\left( w \right),y\left( w \right),z\left( w \right) \right\rbrack$ be two regular parametric 3D curves in the $X \times Y \times Z$ space, where $u \in \left\lbrack 0,1 \right\rbrack$ and $w \in \left\lbrack 0,1 \right\rbrack$ are the parameters with 0 and 1 denoting the starting and ending points, respectively. If $P\left( 1 \right) = Q\left( 0 \right) = J$, then the two parametric curves meet at joint *J* with $G^{0}$ continuity.

$G^{1}$ *continuity*: If $\overset{˙}{P}\left( u \right)\left| {}_{u = 1} = \overset{˙}{Q}\left( w \right) \right|_{w = 0}$, then the two parametric curves meet at joint *J* with $G^{1}$ continuity.

2.2. The 2D Dubins Curve {#sec2dot2-sensors-17-01607}
------------------------

For 2D path planning kinematic constraints, a classical path model is to use the 2D Dubins curve \[[@B6-sensors-17-01607],[@B7-sensors-17-01607]\] to satisfy the $G^{1}$ continuity. Given any two points in the $X \times Y$ plane, starting at $\mathbf{x}_{0} = \left( x_{0},y_{0} \right)$ and ending at $\mathbf{x}_{1} = \left( x_{1},y_{1} \right)$, the Dubins curves satisfy the dynamic constraints expressed in Equations ([6](#FD6-sensors-17-01607){ref-type="disp-formula"}) and ([7](#FD7-sensors-17-01607){ref-type="disp-formula"}) by a combination of maximum curvature arcs (C) and/or a straight line segment (S) to form two families of curves: family CCC and family CSC. Note that all arcs are with radius $\rho$. The family CCC contains curves with types $RLR$ and $LRL$, where *R* and *L* denote a right turn arc (or clockwise) and a left turn arc (counter clock), respectively; The family CSC includes four types: $RSR$, $LSL$, $RSL$, and $LSR$, where *S* is a straight line segment. Therefore, the shortest Dubins path between two points are selected from the six types $\mathcal{\Re} = \left\{ LSL,RSR,RSL,LSR,RLR,LRL \right\}$. For example, [Figure 3](#sensors-17-01607-f003){ref-type="fig"} shows the four CSC types of Dubins curves with $\phi_{0} = - \pi/4$ and $\phi_{1} = - 3\pi/4$ and two points $\left( 0,0 \right)$ and $\left( 0, - d \right)$. Note that $\phi_{0}$ and $\phi_{1}$ are measured counter-clockwise with respect to the positive x-axis. It is obvious that the Type 1 Dubins curve has the shortest length.

The 2D Dubins curves have been well investigated in the literature. It has been shown \[[@B7-sensors-17-01607]\] that for the long path case where the distance between the starting point and ending point, denoted as *d* and normalized by the turning radius $\rho$, satisfies $d > \sqrt{4 - \left( \middle| \cos \right.\phi_{0}\left| + \middle| \cos \right.\phi_{1}{|)}^{2}}\left. + \middle| \sin \right.\phi_{0}\left| + \middle| \sin \right.\phi_{1}|$, the shortest path cannot be in the CCC family. The shortest paths with given $\phi_{0}$ and $\phi_{1}$ can be easily determined by the quadrants that the two angles fall in Ref. \[[@B7-sensors-17-01607]\]. The elements of the $4 \times 4$ matrix, $a_{i,j}$, represents the quadrant number *i* of the starting angle and the quadrant number *j* of the ending angle. The shortest 2D Dubins curves starting from $\left( 0,0 \right)$ and ending at $\left( d,0 \right)$ are then determined by [Table 2](#sensors-17-01607-t002){ref-type="table"}, where the different types in [Table 2](#sensors-17-01607-t002){ref-type="table"} are determined by certain switching functions defined in \[[@B7-sensors-17-01607]\].

The exact path and its length can be calculated by the three operators, $L_{\gamma}$ for left turn, $R_{\gamma}$ for right turn, and $S_{\gamma}$ for straight, which transform an arbitrary point $\left\lbrack x,\phi \right\rbrack$ into its corresponding image point $$\left\{ \begin{array}{l}
{L_{\gamma}\left( \mathbf{x},\phi \right) = \left\lbrack \left( x + \sin\left( \phi + \gamma \right) - \sin\phi,y - \cos\left( \phi + \gamma \right) + \cos\phi \right),\phi + \gamma \right\rbrack} \\
{R_{\gamma}\left( \mathbf{x},\phi \right) = \left\lbrack \left( x - \sin\left( \phi - \gamma \right) + \sin\phi,y + \cos\left( \phi - \gamma \right) - \cos\phi \right),\phi - \gamma \right\rbrack} \\
{S_{\gamma} = \left\lbrack \left( x + \gamma\cos\phi,y + \gamma\sin\phi \right),\phi \right\rbrack} \\
\end{array} \right.$$ where $\mathbf{x} = \left( x,y \right)$, and the index $\gamma$ means that the path segment is of length $\gamma$. For example, the $LSR$ path with respective lengths of $t,p,q$ between point $\left\lbrack \left( 0,0 \right),\phi_{0} \right\rbrack$ and $\left\lbrack \left( d,0 \right),\phi_{1} \right\rbrack$ is solved by $$R_{q}\left( S_{p}\left( L_{t}\left( \left\lbrack \left( 0,0 \right),\phi_{0} \right\rbrack \right) \right) \right) = \left\lbrack \left( d,0 \right),\phi_{1} \right\rbrack$$ or $$\left\{ \begin{array}{l}
{p\cos\left( \phi_{0} + t \right) + 2\sin\left( \phi_{0} + t \right) - \sin\phi_{0} - \sin\phi_{1} = d,} \\
{p\sin\left( \phi_{0} + t \right) - 2\cos\left( \phi_{0} + t \right) - \cos\phi_{0} - \cos\phi_{1} = 0,} \\
{\phi_{0} + t - q = \phi_{1}\left\{ {mod}2\pi \right\}} \\
\end{array} \right.$$

The solution is denoted $t_{LSR}$, $p_{LSR}$, and $q_{LSR}$, respectively. The total path length is then $\mathcal{L}_{LSR} = t_{LSR} + p_{LSR} + q_{LSR} = \phi_{1} - \phi_{2} + 2t_{LSR} + p_{LSR}$. Details of other types of paths can be found in \[[@B7-sensors-17-01607]\].

2.3. The Multiple Traveling Salesmen Problem for Dubins Vehicle {#sec2dot3-sensors-17-01607}
---------------------------------------------------------------

Multi-vehicle path planning is often casted as a Multiple Traveling Salesmen Problem (MTSP) \[[@B15-sensors-17-01607]\] which is to find a set of closed paths for multiple traveling salesmen to visit a set of cities such that each and every city is visited exactly once and the total cost of visiting all cities are minimized. In the AUV path planning problem, the cost is the sum of Euclidean distances along the paths. It is difficult to find the optimal solution to the MTSP and heuristic iterative algorithms, such as the Genetic Algorithm (GA), Reactive Tabu Search, and Clustering and Actioning \[[@B8-sensors-17-01607]\] are often used. In this work, we use the GA algorithm \[[@B15-sensors-17-01607]\].

The MTSP is first converted into an equivalent mixed integer programming (MIP) problem \[[@B15-sensors-17-01607]\] by introducing a binary selection variable $I_{i,j}^{k} \in \left\{ 0,1 \right\}$ defined as the indicator for the *k*th iteration of GA algorithm. If $I_{i,j}^{k} = 1$, then the AUV $A_{k}$ is assigned to travel from target $T_{i}$ to target $T_{j}$. Otherwise, if $I_{i,j}^{k} = 0$, then AUV $A_{k}$ is assigned not to visit targets $T_{i}$ and $T_{j}$. Given an undirected graph $G = \left( \mathcal{T},\mathcal{E} \right)$, where $\mathcal{T}$ is the set of static targets (nodes), $\mathcal{E} = \left\{ \left( i,j \right),i,j \in \mathcal{T} \right\}$ is the set of edges, and $i,j = 0,1,\ldots,N$ with $i = 0$ and $j = 0$ denoting the home node or the starting/returning location of the AUVs. A cost matrix $\mathbb{C} = \left\{ c_{i,j} \right\}$ is defined on edges $\left( i,j \right)$ associated with $\mathcal{E}$. The MIP optimization is to $${minimize}\sum\limits_{i = 0}^{N}\sum\limits_{j = 0}^{N}\sum\limits_{k = 1}^{K}{c_{i,j}I_{i,j}^{k}}$$ subject to $$\begin{array}{l}
{\sum\limits_{j = 1}^{N}\sum\limits_{k = 1}^{K}I_{1,j}^{k} = K,} \\
\end{array}$$ $$\begin{array}{l}
{\sum\limits_{i = 1}^{N}\sum\limits_{k = 1}^{K}I_{i,1}^{k} = K,} \\
\end{array}$$ $$\begin{array}{l}
{\sum\limits_{j = 0}^{N}\sum\limits_{k = 1}^{K}I_{i,j}^{k} = 1, i = 2,3,\ldots,N.} \\
\end{array}$$ $$\begin{array}{l}
{\sum\limits_{i = 0}^{N}\sum\limits_{k = 1}^{K}I_{i,j}^{k} = 1, j = 2,3,\ldots,N.} \\
\end{array}$$ $$\begin{array}{l}
{\sum\limits_{i}\sum\limits_{j}{c_{i,j}I_{i,j}^{k}} \leq S, k = 1,2,\ldots,K.} \\
\end{array}$$

The constraints ([13](#FD13-sensors-17-01607){ref-type="disp-formula"}) and ([14](#FD14-sensors-17-01607){ref-type="disp-formula"}) ensure that the *K* salesmen start from the home node and return to the home node. Constraints ([15](#FD15-sensors-17-01607){ref-type="disp-formula"}) and ([16](#FD16-sensors-17-01607){ref-type="disp-formula"}) ensure that each node is visited (entered and left) only once. The constraint ([17](#FD17-sensors-17-01607){ref-type="disp-formula"}) is to ensure that the cost of each AUV is capped at *S*. Note that the constraints in ([4](#FD4-sensors-17-01607){ref-type="disp-formula"}) and ([5](#FD5-sensors-17-01607){ref-type="disp-formula"}) are used as the stop criterion.

The GA algorithm solves the MTSP by treating all possible tour sequences as the population, a specific tour sequence as an individual, the nodes in a tour sequence as a chromosome, and the travel length of a tour sequence as the fitness function. The GA algorithm starts with a random population with *M* individuals, and calculates the fitness function for each of the *M* individuals; then it creates new population by parent selection, parent crossover, chromosome mutation, and descendant acceptance; A new population results from replacing individuals by descendants with better fitness. Next the generated new population is used in the next iteration that iterates through the new population generation process, until the stop condition is satisfied. The solution to the MTSP is the set of selection variables $I_{i,j}^{k}$. The tour sequence for the *k*th AUV is the set of edges selected by the GA algorithm with $I_{i,j}^{k} = 1$. That is $$\left. \mathcal{D}_{k} = \left\{ \left( i,j \right) \middle| I_{i,j}^{k} = 1 \right\}\mapsto\left\{ T_{n} \right\}, k = 1,\ldots,K. \right.$$

Note that the AUV dynamics and $G^{1}$ continuity constraints have to be considered when applying the MTSP model to AUVs target assignment and path planning. Using Dubins curves, the MTSP model can be applied to solve the Dubins target assignment and path planning problem in three steps:Step 1 uses the Euclidean distances between the nodes as the cost $c_{i,j}$ and assigns the *N* targets to the *K* AUVs through the GA algorithm.Step 2 converts the tour sequence of each AUV into the Dubins paths by selecting a set of headings at each node and computing the lengths of Dubins curves;Step 3 chooses the Dubins path and its associated headings with the shortest total distance.

The headings of the AUVs are discretized to $2^{B}$ angles such that $\phi_{0},\phi_{1},\theta_{0}$ and $\theta_{1}$ take values at $\pi b/2^{B}$ with $b = 1,\ldots,2^{B + 1} - 1$ and excluding multiples of $\pi/2$. The discretization can greatly reduce the computational complexity in searching for the shortest Dubins path. The total length of a tour sequence is then calculated as $$\mathbb{C}\left( \mathcal{D}_{k} \right) = \mathcal{L}\left( \left\lbrack \mathbf{X}_{N_{k}},\mathbf{\Phi}_{N_{k}} \right\rbrack;\left\lbrack \mathbf{X}_{0},\mathbf{\Phi}_{0} \right\rbrack \right) + \sum\limits_{m = 0}^{N_{k} - 1}\mathcal{L}\left( \left\lbrack \mathbf{X}_{m},\mathbf{\Phi}_{m} \right\rbrack;\left\lbrack \mathbf{X}_{m + 1},\mathbf{\Phi}_{m + 1} \right\rbrack \right)$$ for $k = 1,\ldots,K$, and the total cost of all AUVs is computed as in ([1](#FD1-sensors-17-01607){ref-type="disp-formula"}).

In comparison, an existing method called the Alternating Algorithm \[[@B23-sensors-17-01607]\] also uses the first approach that solves the Euclidean MTSP then maps the tour sequences to Dubins path. However, to reduce the computational complexity of the Dubins search, only odd-indexed edges in the tour sequence are replaced by minimum length Dubins paths, the even-indexed edges keep the straight Euclidean path.

3. Target Assignment and Path Planning in 3D Space {#sec3-sensors-17-01607}
==================================================

This section extends the target assignment and path planning algorithms from 2D to 3D by incorporating the 3D Dubins curves. We use the first approach in which the GA algorithm solves the Euclidean MTSP for the multiple targets and multiple AUVs, then maps the Dubins curves in 3D. We follow the simple linear interpolation method in \[[@B13-sensors-17-01607],[@B14-sensors-17-01607]\] and analyze the $G^{1}$ continuity of the resulting 3D Dubins paths.

3.1. The 3D Dubins Curves and Their Path Lengths {#sec3dot1-sensors-17-01607}
------------------------------------------------

To extend the 2D Dubins curves to 3D space using the linear interpolation method, the 3D tour sequences are first projected on to the 2D $X \times Y$ plane in a global coordinate system. Taking a starting point $\left\lbrack \mathbf{X}_{0},\mathbf{\Phi}_{0} \right\rbrack$ and an ending point $\left\lbrack \mathbf{X}_{1},\mathbf{\Phi}_{1} \right\rbrack$ in the 3D space and project them on to the 2D plane, as shown in [Figure 4](#sensors-17-01607-f004){ref-type="fig"}. Then the starting and ending points become 2D parameters $\left\lbrack \left( x_{0},y_{0} \right),\phi_{0} \right\rbrack$ and $\left\lbrack \left( x_{1},y_{1} \right),\phi_{1} \right\rbrack$. The 2D Dubins curve is designed as described in [Section 2.2](#sec2dot2-sensors-17-01607){ref-type="sec"}, and the lengths of the arcs and line segment are calculated by ([10](#FD10-sensors-17-01607){ref-type="disp-formula"}). Let $\mathcal{L}_{0,x}$ and $\mathcal{L}_{0,1}$ denote the lengths along the 2D Dubins curve from $\left( x_{0},y_{0} \right)$ to $\left( x,y \right)$ and from $\left( x,y \right)$ to $\left( x_{1},y_{1} \right)$, respectively.

The linear interpolation adds the *z* coordinate by $$z = z_{0} + \frac{\mathcal{L}_{0,x}}{\mathcal{L}_{0,1}}\left( z_{1} - z_{0} \right)$$ where $z_{0}$ and $z_{1}$ are the *Z* coordinates of the starting and ending points. The resulting 3D Dubins curve is illustrated in [Figure 4](#sensors-17-01607-f004){ref-type="fig"}a.

The length of the interpolated 3D Dubins curve is calculated as $$\begin{array}{r}
{\mathcal{L}_{3D} = \sqrt{t^{2} + \left( z_{0} - z_{m} \right)^{2}} + \sqrt{p^{2} + \left( z_{m} - z_{n} \right)^{2}} + \sqrt{q^{2} + \left( z_{n} - z_{1} \right)^{2}}} \\
\end{array}$$ where $t,p$, and *q* are the CSC segment lengths of the 2D Dubins curve, and $z_{m}$ and $z_{n}$ are the *Z* coordinates of the segment joints which are linearly interpolated as $$\begin{array}{rcl}
z_{m} & = & {z_{0} + \frac{t}{t + p + q}\left( z_{1} - z_{0} \right),} \\
\end{array}$$ $$\begin{array}{rcl}
z_{n} & = & {z_{0} + \frac{t + p}{t + p + q}\left( z_{1} - z_{0} \right) = z_{1} - \frac{q}{t + p + q}\left( z_{1} - z_{0} \right).} \\
\end{array}$$

Equation ([21](#FD21-sensors-17-01607){ref-type="disp-formula"}) is easily derived from [Figure 5](#sensors-17-01607-f005){ref-type="fig"}, since for the straight segment, the sides with length $p,p^{\ast}$, and $z_{m} - z_{n}$ form a right triangle. Thus, $p^{\ast} = \sqrt{p^{2} + \left( z_{m} - z_{n} \right)^{2}}$. For the left turn segment (the ending segment in this example), $q^{\ast} = \sqrt{q^{2} + \left( z_{1} - z_{n} \right)^{2}}$ if the cylinder containing the arc segments $q^{\ast}$ and *q* is opened and laid flat, thus the segments $q,q^{\ast}$ and $z_{m} - z_{1}$ form a right triangle. Similar to the left turn segment, the right turn segment satisfies $t^{\ast} = \sqrt{t^{2} + \left( z_{m} - z_{0} \right)^{2}}$. As a result, the total length of the 3D Dubins curve is $\mathcal{L}_{3D} = t^{\ast} + p^{\ast} + q^{\ast}$.

Next, we show that the shortest 2D Dubins curve results in the shortest 3D Dubins curve and present the proof in Theorem 1. We also analyze the $G^{1}$ continuity of the interpolated 3D Dubins curves and present the results in Theorem 2.

The shortest 2D Dubins curve corresponds to the shortest 3D Dubins curve if linear interpolation is used to generate the Z coordinates.

Let $\mathcal{L}_{2D} = t + p + q$ be the length of the 2D Dubins curve. Substituting ([22](#FD22-sensors-17-01607){ref-type="disp-formula"}) into ([21](#FD21-sensors-17-01607){ref-type="disp-formula"}) yields $$\begin{array}{cl}
\mathcal{L}_{3D} & {= t\sqrt{1 + \frac{\left( z_{1} - z_{0} \right)^{2}}{\mathcal{L}_{2D}^{2}}} + p\sqrt{1 + \frac{\left( z_{1} - z_{0} \right)^{2}}{\mathcal{L}_{2D}^{2}}} + q\sqrt{1 + \frac{\left( z_{1} - z_{0} \right)^{2}}{\mathcal{L}_{2D}^{2}}}} \\
 & {= \left( t + p + q \right) \times \sqrt{1 + \frac{\left( z_{1} - z_{0} \right)^{2}}{\mathcal{L}_{2D}^{2}}}} \\
 & {= \sqrt{\mathcal{L}_{2D}^{2} + \left( z_{1} - z_{0} \right)^{2}}} \\
 & {\leq \mathcal{L}_{2D} + \left| z_{1} - z_{0} \right|} \\
\end{array}$$

Therefore, the shortest length $\mathcal{L}_{2D}$ of 2D Dubins curve leads to the shortest 3D Dubins curve. ☐

The 3D Dubins curves generated by linear interpolation of Z coordinates from the 2D Dubins curve can preserve $G^{1}$ continuity in the $X - Y$ plane but would lose the $G^{1}$ continuity in Z.

As shown in [Figure 4](#sensors-17-01607-f004){ref-type="fig"}, the 2D Dubins curve between a starting and an ending target is composed of three segments: arc, line, and arc, which joint at two joints. These three segments meet at the joints with $G^{1}$ continuity because the line segment designed by ([10](#FD10-sensors-17-01607){ref-type="disp-formula"}) ensures the $G^{1}$ continuity of each Dubins curve on the $X - Y$ plane. When the tour sequence contains multiple targets, the two Dubins curves meet at one target location, and the $G^{1}$ continuity can be preserved by forcing the end heading $\phi_{1}$ of the first Dubins curve equal to the start heading $\phi_{0}$ of the second Durbins curve.

However, in the *Z* domain, the linear interpolation among three or more targets cannot guarantee the $G^{1}$ continuity at the joints. For example, let targets 1, 2, and 3 be linked by two line segments. The end of the first line segment joins the start of the second line segment. when the two line segments are not aligned, the start heading $\theta_{0}$ of the second line segment (in *Z* domain) is not equal to the end heading $\theta_{1}$ of the first line segment. Therefore, the two line segments meet at the joint without $G^{1}$ continuity. For a particular example: $z_{i - 1} = 10$, $z_{i} = 15$, $z_{i + 1} = 10$, so the AUV will have to increase its height from $\mathbf{X}\left( i - 1 \right)$ to $\mathbf{X}\left( i \right)$, and it must decrease its height from $\mathbf{X}\left( i \right)$ to $\mathbf{X}\left( i + 1 \right)$ . If the AUV has an initial upward heading angle $\phi_{i - 1}$ because $z_{i} - z_{i - 1} = 5$, then it might turn to a downward heading $\phi_{i}$ at $\mathbf{X}\left( i \right)$ because $z_{i + 1} - z_{i} = - 5$. Therefore, the AUV will have to change its heading angle $\mathbf{\Phi} = \left( \phi,\theta \right)$ suddenly before traveling down to $z_{i + 1} = 10$. ☐

3.2. Path Planning for Multiple AUVs in 3D Space {#sec3dot2-sensors-17-01607}
------------------------------------------------

This section describes the detailed solution to the multiple targets tracking task assignment problem in three dimensional underwater workspace with constraints of Tour Hop Balance (THB) or Tour Length Balance (TLB). The three step approach in [Section 2.3](#sec2dot3-sensors-17-01607){ref-type="sec"} is used, where step 1 applies the multiple traveling salesman problem (MTSP) algorithm with Euclidean distances as the fitness function. $$\mathit{fitness} = \frac{1}{\sum_{k}\mathcal{L}_{e}\left( \mathbf{X}_{\mathcal{D}_{k}} \right)}$$

To incorporate the Tour Hop Balance (THB) or Tour Length Balance (TLB) constraints into the Genetic Algorithm, the variances of $N_{k}$ and $\mathcal{L}_{k}$ are estimated as $$\begin{array}{rc}
{\hat{\sigma}}_{N_{k}} & {= \frac{1}{K - 1}\sum_{k = 1}^{K}\left( N_{k} - \hat{\mu}\left( N_{k} \right) \right)^{2}} \\
\end{array}$$ $$\begin{array}{rc}
{\hat{\sigma}}_{\mathcal{L}_{k}} & {= \frac{1}{K - 1}\sum_{k = 1}^{K}\left( \mathcal{L}_{k} - \hat{\mu}\left( \mathcal{L}_{k} \right) \right)^{2}} \\
\end{array}$$ where $\hat{\mu}\left( N_{k} \right)$ and $\hat{\mu}\left( \mathcal{L}_{k} \right)$ are the estimated expectations of $N_{k}$ and $\mathcal{L}_{k}$, respectively. These variances are used by the GA as the termination rule. The resulting algorithms are called the THB-3Dubins-MTSP algorithm and TLB-3Dubins-MTSP algorithm, respectively. The outputs of the GA algorithms are a set of tour sequences for all AUVs.

Then step 2 maps the direct paths in a tour sequence into 2D Dubins curves, which is accomplished by projecting the 3D target locations onto the $X - Y$ plane and design 2D Dubins curves. Since different headings on the 2D plane can result in different solutions, the curves include all possible starting $\phi_{0}$ and ending $\phi_{1}$ for all target pairs. The shortest 2D path is selected by computing the total distances and selecting the smallest one.

The last step converts the 2D Dubins path into 3D curves by linear interpolation of the *Z* coordinates at each target pair. Then the headings $\theta_{0}$ and $\theta_{1}$ are calculated. Since linear interpolation loses the $G^{1}$ continuity, the difference between $\theta_{0}$ and $\theta_{1}$ at each joint *J* of the 3D Dubins path is computed as $\Theta\left( J \right) = \theta_{1}\left( J \right) - \theta_{0}\left( J \right)$. The results $\Theta\left( J \right)$ for all *J* are compared against the bound $\omega_{2}$. If any joint of the Dubins path has a $\Theta\left( J \right) > \omega_{2}$, then the 3D Dubins path is rejected, and another 2D Dubins path, computed in Step 2, has to be used to be interpolated to the 3D Dubins curve. The process is repeated until the 3D Dubins path satisfies the vehicle dynamics constraint. This method is called rejection-acceptance method.

In summary, the pseudo-code of the proposed algorithms is described in Algorithm 1. For all we know, there are a small collision probabilities when multiple robots cruising in the same 3D underwater space. Two and more than two AUVs will be collided when multiple AUVs are arriving at the same coordinates at the same time. However, we run simulations of MTSP for collision check and find the collision between AUVs is negligible since the quantity of AUVs is small because of its high cost. Moreover, another sub-optimal paths can be generated with GA if there is a collision.

Algorithm 1

The pseudo-code of the proposed algorithms

Input:

Set of static targets

T

;

Set of mobile AUVs

A

;

Total number of static targets

N

;

Total number of mobile AUVs

K

;

Output:

Tour sequence for the

k

th AUV:

D

k

,

k

=

1

,

2

,

...

,

K

;

Tour trajectory for the

k

th AUV:

S

k

,

k

=

1

,

2

,

...

,

K

;

1:

Initialization:

n

=

1

;

2:

while

(

n

≤

N

)

do

3:

 if(THB-3Dubins-MTSP)

4:

  \# GA based MTSP calculation

5:

  \# Break when reaching THB constraint;

6:

 else if (TLB-3Dubins-MTSP)

7:

  \#GA based MTSP calculation

8:

  Break when reaching TLB constraint;

9:

 end if

10:

n

:

=

n

\+

1

;

11:

end while

12:

Initialization:

k

=

1

,

S

k

:

=

∅

;

13:

while

(

k

≤

K

)

do

14:

 Initialization:

v

=

0

;

15:

while

(

v

\<

N

k

)

do

16:

  \# 3D Dubins curve plotting

17:

S

k

:

=

\[

S

k

,

3

D

\_

Dubins

(

T

v

,

T

v

\+

1

)

\]

;

18:

v

:

=

v

\+

1

;

19:

end while

20:

S

k

:

=

\[

S

k

,

3

D

\_

Dubins

(

T

N

k

,

T

0

)

\]

;

21:

k

:

=

k

\+

1

;

22:

end while

23:

return

S

k

, for

k

=

1

,

2

,

...

,

K

4. Simulation Results {#sec4-sensors-17-01607}
=====================

Simulations were set up with multiple underwater targets deployed randomly in a cube of $20 \times 20 \times 10$ units, where 1 unit is the minimum turning radius $\rho$ of each AUV. For example, the turning radius of Iver2 AUV used in \[[@B8-sensors-17-01607]\] is set to 5 m, so the proposed unit equals to 5 m. The number of targets varied from 10 to 50 in increments of 5, and the number of AUVs varied between 2 and 5. For the sake of simplicity, we choose the typical azimuth headings set for AUV movement as $\phi_{ij} \in \left\{ \frac{b\pi}{4} \right\}$ with $b = 1,3,5,7$. The proposed algorithm was implemented in Matlab and was developed on an Intel 2.5GHz i5-3210M CPU with 4GB RAM and running Windows 7. The computing time of the proposed algorithm with different targets number and AUV number are compared in [Figure 6](#sensors-17-01607-f006){ref-type="fig"}. The parameters for the GA is listed in [Table 3](#sensors-17-01607-t003){ref-type="table"}.

[Figure 7](#sensors-17-01607-f007){ref-type="fig"} illustrates 3D Dubins based MTSP trajectories of 2 or 4 AUVs generated by 3Dubins-MTSP algorithm. The x-axis and y-axis coordinates with their differential values are compared in [Figure 8](#sensors-17-01607-f008){ref-type="fig"}. In comparison, the 3D Alternating Algorithm (AA-3DTSP) extended the 2D Alternating Algorithm \[[@B23-sensors-17-01607]\] by assigning *Z*-coordinates with linear interpolation and the resulting path is shown in [Figure 9](#sensors-17-01607-f009){ref-type="fig"}. A DTSP tour in (AA-3DTSP) can be constructed by retaining all odd-numbered edges (except the n-th), and replacing all even-numbered edges with minimum-length Dubins' paths preserving the point ordering. In [Figure 9](#sensors-17-01607-f009){ref-type="fig"}, the Green curves denote odd-numbered edges, and the Blue curves denote even-numbered edges. It is clear non-smooth trajectories fail to $G^{1}$ continuity in either the *X*--*Y* plane nor the z-axis, as shown in [Figure 10](#sensors-17-01607-f010){ref-type="fig"}. Comparing [Figure 10](#sensors-17-01607-f010){ref-type="fig"} to [Figure 8](#sensors-17-01607-f008){ref-type="fig"}, it is evident that cruise trajectories derived from our algorithm are $G^{1}$ continuous, however, cruise trajectories derived from Alternating Algorithm are only $G^{0}$ continuous because the tangent angle of each point on the path is not continuous. Therefore, 3D Alternating Algorithm (AA-3DTSP) is not appropriate for nonholonomic AUV and so it is excluded in the following simulations.

Next, we demonstrate the effectiveness of the THB-3Dubins-MTSP algorithm and TLB-3Dubins-MTSP constraints in comparison with the TSP without constraints and the Random Tour (RT) Algorithm. The Random Tour (RT) algorithm uses a set of random headings to achieve cruise paths without any constraints. The 3D Dubins based TSP (3Dubins-TSP) algorithm use only one AUV to trace all targets while cruising along 3D Dubins curves. Performance metrics include energy consumption, energy balance rate, cruise speed, and task life cycle. Energy consumption denotes the total energy consumption of all AUVs in the mission of tracking all targets, which is measured by the total tour length with assumption that each AUV consumes one unit energy at each unit tour length. Energy balance rate denotes with RMS (root mean square) value of energy consumption of each AUV, which is defined as Equation ([28](#FD28-sensors-17-01607){ref-type="disp-formula"}). Cruise speed is defined the maximal tour length of the AUV team in one cruise process, which denotes that the maximal time needed to finish one cruise for all targets. Task life cycle denotes the repeated number of each cruise mission, and it equals to the round number when one of AUV exhausts its energy. In this paper, it is assumed that the mobile AUV will carry out targets detection mission iteratively, and cruise lifetime is measured as the number of targets detection mission. $$RMS = \sqrt{\frac{\sum_{k = 1}^{K}\left( \mathbb{C}\left( \mathcal{D}_{k} \right) - \overline{\mathbb{C}\left( \mathcal{D}_{k} \right)} \right)^{2}}{K}}$$

For a given number of targets, we simulated 100 Monte Carlo trails and computed the average length of 3D tours generated by different algorithms. The standard deviation value is relatively small since the proposed algorithms can achieve progressive optimization using a large number of iterations of GA. The comparison results of energy consumption, energy balance, cruise speed and task life cycle are shown in [Figure 11](#sensors-17-01607-f011){ref-type="fig"}, [Figure 12](#sensors-17-01607-f012){ref-type="fig"}, [Figure 13](#sensors-17-01607-f013){ref-type="fig"} and [Figure 14](#sensors-17-01607-f014){ref-type="fig"}, respectively.

[Figure 11](#sensors-17-01607-f011){ref-type="fig"} shows that our proposed algorithms consume almost the same energy comparing to Random Tour algorithm, but they are much lower than 3Dubins-TSP algorithm. [Figure 12](#sensors-17-01607-f012){ref-type="fig"} shows the improvements of energy balance ratio, there is at most 50% improvement with Random Tour algorithm on the RMS metric. [Figure 13](#sensors-17-01607-f013){ref-type="fig"} shows the cruise speed comparisons of different mechanism, we find the cruise distance (e.g., the maximal cruise time) will decrease with the proposed algorithms clearly, and it is even obvious with more AUVs. [Figure 14](#sensors-17-01607-f014){ref-type="fig"} shows the task life cycle comparisons, it is obvious the lifetime can be extended with our proposed algorithms, especially with more targets in the underwater region. In summary, the proposed THB-3Dubins-MTSP and TLB-3Dubins-MTSP algorithms will improve performances such as energy balance ratio, cruise speed and task life cycle comparing to Random Tour (RT) algorithm greatly, thus verify that the proposed algorithms can achieve better performance with $G^{1}$ continuous constraints. Moreover, the proposed THB-3Dubins-MTSP and TLB-3Dubins-MTSP algorithms have similar performances.

5. Conclusions and Future Work {#sec5-sensors-17-01607}
==============================

This paper has studied the 3D Dubins curves for target assignment and path planning for multiple underwater targets visited by multiple AUVs. The MTSP for 3D path planning is solved by using the inverse of the Euclidean distances as the fitness function and the Tour Hop Balance (THB) and Tour Length Balance (TLB) constraints as the stop criterion. The resulting target assignment (tour sequence) is then projected onto the 2D $X - Y$ planes and 2D Dubins curves are designed with a set of possible headings and with nonholonomic motion constraints. The resulting 2D Dubins curves are interpolated linearly to obtain the *Z*-coordinates of each 2D curve. We derived the path length calculation for 3D Dubins curves and analyzed the $G^{1}$ continuity of the 3D Dubins curve. It is demonstrated that the linear interpolation fails to achieve $G^{1}$ continuity in the *Z* coordinate, and other smooth interpolation may have to be used when the continuity is required. Moreover, we find there are small collision probabilities between AUVs from above analysis. Therefore, in our future work, we will study how to avoid multiple underwater obstacles and inter-AUV collision for path planning of multi-AUV team.

The research work of Wenyu Cai was partially supported by the Natural Science Foundation of Zhejiang Province (No.LY16F030004, No.LY15F030018 and Y18F030025) and National Natural Science Foundation of China (No.6170060208). The work of Y.R. Zheng was support in part by the National Science Foundation of the USA under grant \#ECCS1408316.

Wenyu CAI proposed the main idea, Wenyu CAI and Meiyan Zhang generated the simulation results and drafted the manuscript. Yahong Rosa Zheng supervised the research work and refined the manuscript. They also responded the reviewers' comments.

The authors declare no conflict of interest.

![Targets tracking with multiple AUVs.](sensors-17-01607-g001){#sensors-17-01607-f001}

![AUV and its motion heading in 3D Cartesian space.](sensors-17-01607-g002){#sensors-17-01607-f002}

![Four CSC types of 2D Dubins curves with $\phi_{0} = - \pi/4$ and $\phi_{1} = - 3\pi/4$.](sensors-17-01607-g003){#sensors-17-01607-f003}

![The RSL example of 2D and 3D Dubins curves. (**a**) 3D coordinates and its interpolated 3D Dubins curve; (**b**) 2D Dubins curve.](sensors-17-01607-g004){#sensors-17-01607-f004}

![3D cylindrical spiral model.](sensors-17-01607-g005){#sensors-17-01607-f005}

![Computing time comparison.](sensors-17-01607-g006){#sensors-17-01607-f006}

![3D Dubins curves based targets tracking task assignment with 20 targets. Color online. (**a**) 3D Dubins curves with two AUVs; (**b**) 3D Dubins curve with four AUVs; (**c**) 3D Dubins curces projected 2D plane with two AUVs; (**d**) 3D Dubins curves projected 2D plane with four AUVs.](sensors-17-01607-g007){#sensors-17-01607-f007}

![$G^{1}$ continuity of the 3D Dubins paths generated by the proposed algorithm. (**a**) in the $X - Y$ plane; (**b**) in the *Z* axis.](sensors-17-01607-g008){#sensors-17-01607-f008}

![The 3D Alternating Algorithm (AA-3DTSP) with one AUV. (**a**) with 10 targets; (**b**) with 20 targets.](sensors-17-01607-g009){#sensors-17-01607-f009}

![$G^{0}$ continuity in the $X - Y$ coordinates for the AA-3DTSP algorithm. The *Z*-axis continuity is similar to that in [Figure 8](#sensors-17-01607-f008){ref-type="fig"}b.](sensors-17-01607-g010){#sensors-17-01607-f010}

![Energy consumption comparisons. (**a**) 2 AUVs; (**b**) 4 AUVs.](sensors-17-01607-g011){#sensors-17-01607-f011}

![Energy balance comparisons. (**a**) 2 AUVs; (**b**) 4 AUVs.](sensors-17-01607-g012){#sensors-17-01607-f012}

![Cruise speed comparisons. (**a**) 2 AUVs; (**b**) 4 AUVs.](sensors-17-01607-g013){#sensors-17-01607-f013}

![Task life cycle comparisons. (**a**) 2 AUVs; (**b**) 4 AUVs.](sensors-17-01607-g014){#sensors-17-01607-f014}

sensors-17-01607-t001_Table 1

###### 

List of Notations.

  Notation                                                                                                                                              Definition
  ----------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------
  $\mathcal{T}$                                                                                                                                         the set of static targets
  $\mathcal{A}$                                                                                                                                         the set of mobile AUVs
  $T_{n}$                                                                                                                                               the *n*-th static target
  $A_{k}$                                                                                                                                               the *k*-th mobile AUV
  *N*                                                                                                                                                   total number of static targets
  *K*                                                                                                                                                   total number of mobile AUVs
  $\mathcal{D}_{k}$                                                                                                                                     tour sequence for the *k*th AUV, $k = 1,2,\ldots,K$
  $\mathcal{S}_{k}$                                                                                                                                     tour trajectory for the *k*th AUV, $k = 1,2,\ldots,K$
  $N_{k}$                                                                                                                                               the number of targets in sequence $\mathcal{D}_{k}$
  $\mu\left( N_{k} \right)$                                                                                                                             intra-AUV mean of the number of assigned targets
  $\mathcal{L}_{k}$                                                                                                                                     tour length of sequence $\mathcal{D}_{k}$
  $\mu\left( \mathcal{L}_{k} \right)$                                                                                                                   intra-AUV mean of the assigned tour lengths
  $\mathbf{x} = \left( x,y \right)$                                                                                                                     point coordinates in 2D plane
  $\phi$                                                                                                                                                heading in 2D Dubins curve
  $\mathcal{L}_{2D}$                                                                                                                                    length of 2D Dubins curve
  $\mathcal{L}\left( \left\lbrack x_{0},\phi_{0} \right\rbrack;\left\lbrack x_{1},\phi_{1} \right\rbrack \right)$                                       length of 2D Dubins curve from point $\mathbf{x}_{0}$ to point $\mathbf{x}_{1}$
  $\mathbf{X} = \left( x,y,z \right)$                                                                                                                   point coordinates in 3D space
  $\mathbf{\Phi} = \left( \phi,\theta \right)$                                                                                                          azimuth and elevation headings of 3D Dubins curve
  $\mathcal{L}_{3D}$                                                                                                                                    length of 3D Dubins curve
  $\mathcal{L}\left( \left\lbrack \mathbf{X}_{0},\mathbf{\Phi}_{0} \right\rbrack;\left\lbrack \mathbf{X}_{1},\mathbf{\Phi}_{1} \right\rbrack \right)$   length of 3D Dubins curve from point $\mathbf{X}_{0}$ to point $\mathbf{X}_{1}$
  $\Lambda$                                                                                                                                             the set of possible headings in 2D plane
  *ℜ*                                                                                                                                                   set of Dubins curves
  $t,p,q$                                                                                                                                               lengths of three segments of a Dubins curve
  $I_{n,k}^{u}$                                                                                                                                         binary indicator

sensors-17-01607-t002_Table 2

###### 

Decision table for shortest 2D Dubins curves based on the quadrant numbers of the starting and ending angles.

  $\mathbf{\mathbf{a}_{\mathbf{ij}}}$   $\mathbf{\mathbf{j} = 1}$   $\mathbf{\mathbf{j} = 2}$   $\mathbf{\mathbf{j} = 3}$   $\mathbf{\mathbf{j} = 4}$
  ------------------------------------- --------------------------- --------------------------- --------------------------- ---------------------------
  *i* = 1                               RSL                         RSR/RSL                     RSR/LSR                     LSR/RSL/RSR
  *i* = 2                               LSL/RSL                     LSL/RSL/RSR                 RSR                         RSR/RSL
  *i* = 3                               LSL/LSR                     LSL                         RSR/LSR/LSL                 RSR/LSR
  *i* = 4                               RSL/LSR/LSL                 LSL/RSL                     LSL/LSR                     LSR

sensors-17-01607-t003_Table 3

###### 

The GA Parameters for the MTSP.

  Parameters           Values
  -------------------- --------
  Population Size      80
  Maximal Iterations   5000
  Mutation Ratio       5%
  Group Size           5

[^1]: The work of Wenyu Cai and Meiyan Zhang was performed during their one-year visit to Missouri University of Science and Technology in 2016.
