<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">OJOp</journal-id><journal-title-group><journal-title>Open Journal of Optimization</journal-title></journal-title-group><issn pub-type="epub">2325-7105</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ojop.2019.82006</article-id><article-id pub-id-type="publisher-id">OJOp-93638</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject><subject> Engineering</subject><subject> Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  Dubins Waypoint Navigation of Small-Class Unmanned Aerial Vehicles
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Larry</surname><given-names>M. Silverberg</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Dahan</surname><given-names>Xu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Mechanical and Aerospace Engineering, North Carolina State University, Raleigh, USA</addr-line></aff><pub-date pub-type="epub"><day>30</day><month>06</month><year>2019</year></pub-date><volume>08</volume><issue>02</issue><fpage>59</fpage><lpage>72</lpage><history><date date-type="received"><day>9,</day>	<month>June</month>	<year>2019</year></date><date date-type="rev-recd"><day>27,</day>	<month>June</month>	<year>2019</year>	</date><date date-type="accepted"><day>30,</day>	<month>June</month>	<year>2019</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  This paper considers a variation on the Dubins path problem and proposes an improved waypoint navigation (WN) algorithm called Dubins waypoint navigation (DWN). Based on the Dubins path problem, an algorithm is developed that is updated in real-time with a horizon of three waypoints. The purpose of DWN is to overcome a problem that we find in existing WN for small-class fixed-wing unmanned aerial vehicles (UAV) of not accurately reaching waypoints. This problem results at times in high overshoot and, in the presence of wind disturbances, it can cause a vehicle to miss the waypoint and swirl around it. To prevent this, the DWN creates “new waypoints” that are in the background, called turning points. Examples illustrate the improvement of the performance of WN achieved using the DWN algorithm in terms of the targeting of waypoints while reducing fuel and time.
 
</p></abstract><kwd-group><kwd>Dubins Path</kwd><kwd> Waypoint Navigation</kwd><kwd> Unmanned Aerial Vehicles</kwd><kwd> Autonomy</kwd><kwd> Shortest Path</kwd><kwd> Fuel</kwd><kwd> Optimization</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The user community of unmanned aerial vehicle (UAV) systems has been growing significantly; the commercial market net worth reached a reported $8.3 billion in 2018 [<xref ref-type="bibr" rid="scirp.93638-ref1">1</xref>] , the largest growth in the commercial markets being in small-class (under 55 pounds) vehicles. This paper develops an algorithm for a subset of this class of UAV, in particular, for fixed-wing vehicles. Users of small-class UAV are presently navigating autonomously by open-source algorithms such as Mission Planner, Cape, and Pix4D. These navigational systems employ waypoint navigation (WN), wherein the user enters waypoints, whether a priori (static) or not (dynamic). The practice of WN in this community is a constraint to which development work adheres. The community is growing, and with that, is expected to demand higher accuracy. In RC flight, the racing community already requires reaching targets accurately and the growth in autonomous flight with its varied missions will create more demand to reach waypoints accurately.</p><p>The shortest path between two waypoints with a limited turning radius is called a Dubins path [<xref ref-type="bibr" rid="scirp.93638-ref2">2</xref>] . WN employing Dubins paths has been studied considerably. Ariff and Go conducted a thorough examination of the dynamics involved in WN with a focus on dynamic soaring algorithms [<xref ref-type="bibr" rid="scirp.93638-ref3">3</xref>] . Goerzen, Kong, and Mettler made rigorous comparisons between different path planning algorithms for unmanned vehicle navigation and identified advantages and disadvantages [<xref ref-type="bibr" rid="scirp.93638-ref4">4</xref>] . Manyam, et al. expanded the Dubins path problem from two waypoints to three waypoints where all three points and their headings are constrained [<xref ref-type="bibr" rid="scirp.93638-ref5">5</xref>] . Wolek and Woolsey implemented the Dubins path problem with estimates of unsteady velocity disturbances [<xref ref-type="bibr" rid="scirp.93638-ref6">6</xref>] . McGee and Hedrick considered the situations in which the disturbance is less significant and more predictable [<xref ref-type="bibr" rid="scirp.93638-ref7">7</xref>] . The vehicle was placed in a moving frame as a means of finding a piecewise continuous optimal path. Milutinovic et al. applied the characteristics of a Dubins vehicle to the circumnavigation algorithm, together with a feedback controller to improve the vehicle’s performance [<xref ref-type="bibr" rid="scirp.93638-ref8">8</xref>] . Ketema and Zhao formulated the optimization problem of path planning under wind disturbances and identified situations in which the target points may be not reachable [<xref ref-type="bibr" rid="scirp.93638-ref9">9</xref>] . Meyer, Isaiah and Shima examined and proposed a solution for a vehicle to intercept a moving target with a Dubins path [<xref ref-type="bibr" rid="scirp.93638-ref10">10</xref>] . Criteria were given whether a target can or cannot be intercepted and an analytical solution was obtained by a path elongation algorithm. Wang et al. proposed a solution using a Dubins path to solve the formation rendezvous problem of multiple UAVs [<xref ref-type="bibr" rid="scirp.93638-ref11">11</xref>] . Medeiros and Urrutia optimized both path length and direction changes for a Dubins path problem, by dividing the path planning process into several stages, bringing in the algorithm of the travelling salesman’s problem [<xref ref-type="bibr" rid="scirp.93638-ref12">12</xref>] .</p><p>This paper considers a variation on the Dubins path problem and proposes an improved navigation algorithm called Dubins waypoint navigation (DWN). The proposed DWN algorithm considers a current vehicle state (position and velocity) along with the next two prescribed waypoints to plan the vehicle’s path. Compared with traditional WN, one more waypoint is involved in the determination of the path, enabling consideration of the manner in which the vehicle should circle around its previous waypoint. The objective is similar to the Dubins path problem in that a shortest path and a minimum fuel path between waypoints consists of straight-line segments and arcs. The major difference is that in DWN the heading at the waypoints are not specified and we consider three points instead of two. Also, for simplicity, the paper only considers the case in which the vehicle’s turning radius is constant.</p><p>The interest here lies in an algorithm that is updated in real-time with a horizon of three waypoints. The proposed DWN algorithm employs a current vehicle position and heading for the first waypoint, uses a prescribed vehicle position for the second waypoint, not specifying its heading, and uses a third waypoint to determine how the vehicle should circle around the second waypoint.</p><p>The purpose of DWN is to overcome a problem that we find in existing WN for small-class fixed-wing vehicles of not accurately reaching waypoints. This problem results from the present use of a waypoint radius as a threshold that determines when to move on to a next waypoint. Presently, a vehicle approaches a first waypoint and switches to navigating to a second waypoint when the vehicle is within a waypoint radius around the first waypoint, thereby not accurately reaching the first waypoint. This leads the operator to desire a smaller waypoint radius. However, the smaller waypoint radius causes several problems. First, it causes high overshoot. Secondly, in the presence of wind disturbances, it can cause a vehicle to miss the waypoint and swirl around it.</p><p>When correcting this problem, it became important to preserve the simplicity of prescribing waypoints without adding operator complexity. Therefore, the DWN does not have to change anything in the foreground, including the operator’s specified waypoints. Instead, the DWN creates “new waypoints” that can be in the background, called turning points, as explained in the method section.</p><p>Section 2 describes the DWN algorithm. Section3 compares performances of WN and DWN with and without unknown wind disturbances, and the paper finishes in Section 4 with a summary and conclusions.</p></sec><sec id="s2"><title>2. Method</title><sec id="s2_1"><title>2.1. Flow Chart</title><p>This section develops the DWN. The DWN eliminates waypoint circles and, instead, employs the new concept of turning points along with the new criterion for updating turning points based on whether or not a turning point is reachable. See <xref ref-type="fig" rid="fig1">Figure 1</xref> showing the DWN flow chart. As shown, the DWN approaches navigation as an optimization problem with in a local optimization space that consists of a current point and two future waypoints. At any instant, the vehicle seeks to reach a turning point that is determined by minimizing fuel along the path up to the second future waypoint constituting the horizon. The trajectory, and hence the optimization problem, is updated once the turning point is unreachable. The reachability condition is determined from the vehicle’s position, heading, and turning radius. For the purposes of real-time implementation, the trajectory may be updated more frequently than when the turning point is updated (like under the conditions of high winds). The stated optimization problem yields desired paths that are determined in closed-form.</p></sec><sec id="s2_2"><title>2.2. Finding Turning Points</title><p>Consider the illustrative WN problem shown in <xref ref-type="fig" rid="fig2">Figure 2</xref> and, in particular, the navigation to the second and third waypoints shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><p>The vehicle starts at W<sub>0</sub> and heads to W<sub>1</sub>. At this point, the DWN considers waypoints W<sub>0</sub>, W<sub>1</sub>, and W<sub>2</sub>. The other points are beyond the horizon.</p><p><xref ref-type="fig" rid="fig3">Figure 3</xref> shows the paths from W<sub>0</sub> to W<sub>2</sub> (left drawing) and from W<sub>1</sub> to W<sub>3</sub> (right drawing).</p><p>As shown, T<sub>1</sub> denotes the turning point associated with W<sub>1</sub>. It lies on the line tangent to a turning circle (not to be confused with the waypoint circle in classical WN) that has a turning radius R. The turning radius, specified by the user, is the desirable radius of the turns around waypoints. An optimization problem minimizes the fuel from W<sub>0</sub> around and touching W<sub>1</sub> to W<sub>2</sub>. The orientation of the turning circle is free to rotate about W<sub>1</sub> so the optimization problem is a minimization problem of fuel expressed in terms of the turning circle’s orientation. The fuel consumed during a turn is greater than the fuel consumed while flying in a straight line over the same distance. Even though the minimization is over the distance extending to W<sub>2</sub>, the DWN updates the vehicle’s path once it reaches point T<sub>1</sub>. Thus, the vehicle does not follow the section of the path from T<sub>1</sub> to W<sub>2</sub> (In <xref ref-type="fig" rid="fig3">Figure 3</xref>, the paths followed are solid lines and the paths not followed are dashed lines.) The DWN recalculates that not-followed section of the path in the next iteration. Under ideal conditions, DWN updates the planned path when the vehicle crosses T<sub>1</sub>, at which point T<sub>1</sub> is determined to be unreachable. Under real conditions, disturbances can result in the vehicle not reaching point T<sub>1</sub> accurately. Point T<sub>1</sub> is determined to be unreachable at a point C that is different but nearpoint T<sub>1</sub>. Referring to the right drawing, the new horizon is set to W<sub>3</sub> and the new turning point T<sub>2</sub> is determined from the vehicle’s current point C and current direction of flight and the locations of points W<sub>2</sub> and W<sub>3</sub>. As shown, the optimization problem now minimizes the fuel from C around and touching W<sub>2</sub> to W<sub>3</sub>. The optimization problem is now a minimization problem of fuel from C to W<sub>3</sub> expressed in terms of the new turning circle’s orientation. The DWN updates the iterations until the vehicle reaches its last waypoint.</p></sec><sec id="s2_3"><title>2.3. Key Parameters</title><p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows the n<sup>th</sup> iteration. The vehicle is heading to W<sub>n</sub>. A coordinate system was set up so its x-axis points from C to W<sub>n</sub> and its y-axis is perpendicular to x in the direction of W<sub>n</sub><sub>+1</sub>. The data is scaled such that the x and y coordinates represent non-dimensional lengths of distance divided by turning radius R; equivalently R = 1. We perform all of the calculations after the geometric parameters are normalized with respect to R.</p><p><sup>1</sup>The x axis, because it is along the line through C and W<sub>n</sub>, can cause β to exceed 90˚.</p><p>As shown, α is the heading angle (between –180˚ and 180˚) and β is the turn angle (β is between 0˚ and 90˚)<sup>1</sup>. We assume that there are no sharp turns between specified waypoints (the angle between any two lines connecting three consecutive waypoints is never greater than 90˚). At point C, the vehicle turns</p><p>counter-clockwise (CCW), or clockwise (CW). Likewise, it turns around W<sub>n</sub> CCW or CW. In total, there are four cases: CCW-CCW, CCW-CW, CW-CCW, and CW-CW.</p><p>The interest lies in finding closed-form expressions for the paths as functions of A, B, α and β by curve fitting. Toward this end, note that the minimum fuel paths are continuous with respect to these parameters for each case, individually. Discontinuities occur when transitioning from one case to another. Therefore, the curve-fitting needs to be performed for each case and the case that consumes the smallest amount of fuel yields the true minimum (See <xref ref-type="fig" rid="fig5">Figure 5</xref>).</p></sec><sec id="s2_4"><title>2.4. Optimization Problem</title><p><xref ref-type="fig" rid="fig6">Figure 6</xref> shows the geometry of the CW-CCW case. The fuel from C to W<sub>n</sub><sub>+1</sub> is a function of the orientation angle θ of the turning circle. (The other cases, not shown, are similar.) The fuel is</p><p>F u = w a L a + w s L s (1)</p><p>where L<sub>a</sub> is the total length of the two arcs (around the first and second turning circles), L<sub>s</sub> is the length of the two straight segments (after the first and second turning circles), and w<sub>a</sub> and w<sub>s</sub> are corresponding weights (in units of fuel per length). Letting w<sub>a</sub> = w<sub>s</sub> = 1 (in which the weights have units of 1), yields the shortest path problem:</p><p>L = L a + L s (2)</p><p>In the results section, we will show that the shortest path and minimum fuel solutions are nearly indistinguishable under a broad range of conditions, allowing the shortest path solution to approximate the minimum fuel solution. This is important because the shortest path solution is independent of the vehicle, increasing ease of implementation and the versatility of DWN.</p><p>Referring again to <xref ref-type="fig" rid="fig6">Figure 6</xref>, the first straight line segment starts at tangential point (x<sub>1</sub>, y<sub>1</sub>) and ends at turning point T<sub>n</sub> = (x<sub>2</sub>, y<sub>2</sub>). The second line segment starts at tangential point (x<sub>3</sub>, x<sub>4</sub>). Note that we define the first circle by the current position C and the vehicle’s heading; it is either CCW or CW. The location of the second circle depends on the orientation angle θ. The second line segment is tangent to the second circle and passes through W<sub>n</sub><sub>+1</sub> and therefore is uniquely expressed in terms of the angle δ shown, which, in turn, depends on θ.</p><p>The coordinates x<sub>1</sub>, y<sub>1</sub>, x<sub>2</sub>, y<sub>2</sub>, x<sub>3</sub>, and y<sub>3</sub> for each of the four cases are given in <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>By appropriately manipulating the geometric relationships, the path length (the objective function) becomes a function of the orientation angle θ of the turning circle, and the solution of this 3-point optimization problem becomes a function of θ. This part of the iteration can be solved off-line and curve-fit to determine T<sub>n</sub>. There are two ways to fit T<sub>n</sub>. One way is to directly fit T<sub>n</sub> to A, B, α, and β. The second way is to fit θ to A, B, α, and β followed by determining T<sub>n</sub> from θ. The second way of curve fitting the data will inherently lead to a more accurate curve fit than the first way because the relationship between T<sub>n</sub> and θ is rather complicated and its analytical relationship is available, too [<xref ref-type="bibr" rid="scirp.93638-ref13">13</xref>] .</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Location of the end points of the first line segment</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >x 1</th><th align="center" valign="middle" >y 1</th><th align="center" valign="middle" >x 2</th><th align="center" valign="middle" >y 2</th></tr></thead><tr><td align="center" valign="middle"  rowspan="2"  >CW-CW</td><td align="center" valign="middle" >− A + sin α + cos γ</td><td align="center" valign="middle" >− cos α + sin γ</td><td align="center" valign="middle" >cos θ + cos γ</td><td align="center" valign="middle" >sin θ + sin γ</td></tr><tr><td align="center" valign="middle"  colspan="4"  >γ = arctan sin θ + cos α cos θ + A − sin α + π 2</td></tr><tr><td align="center" valign="middle"  rowspan="2"  >CW-CCW</td><td align="center" valign="middle" >− A + sin α + cos γ</td><td align="center" valign="middle" >− cos α + sin γ</td><td align="center" valign="middle" >cos θ + cos γ</td><td align="center" valign="middle" >sin θ + sin γ</td></tr><tr><td align="center" valign="middle"  colspan="4"  >γ = arctan sin θ + cos α cos θ + A − sin α + arccos 2 ( sin θ + cos α ) 2 + ( cos θ + A − sin α ) 2</td></tr><tr><td align="center" valign="middle"  rowspan="2"  >CCW-CW</td><td align="center" valign="middle" >− A − sin α + cos γ</td><td align="center" valign="middle" >cos α + sin γ</td><td align="center" valign="middle" >cos θ − cos γ</td><td align="center" valign="middle" >sin θ + sin γ</td></tr><tr><td align="center" valign="middle"  colspan="4"  >γ = arctan sin θ − cos α cos θ + A + sin α − arccos 2 ( sin θ − cos α ) 2 + ( cos θ + A + sin α ) 2</td></tr><tr><td align="center" valign="middle"  rowspan="2"  >CW-CCW</td><td align="center" valign="middle" >− A − sin α + cos γ</td><td align="center" valign="middle" >cos α + sin γ</td><td align="center" valign="middle" >cos θ − cos γ</td><td align="center" valign="middle" >sin θ − sin γ</td></tr><tr><td align="center" valign="middle"  colspan="4"  >γ = arctan sin θ − cos α cos θ + A + sin α − π 2</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Location of second line segment</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >x 3</th><th align="center" valign="middle" >y 3</th></tr></thead><tr><td align="center" valign="middle"  rowspan="2"  >CW-CW &amp; CCW-CW</td><td align="center" valign="middle" >cos θ + cos δ</td><td align="center" valign="middle" >sin θ + sin δ</td></tr><tr><td align="center" valign="middle"  colspan="2"  >δ = arctan B cos β − cos θ B sin β − sin θ + arccos 1 ( B cos β − cos θ ) 2 + ( B sin β − sin θ ) 2</td></tr><tr><td align="center" valign="middle"  rowspan="2"  >CW-CCW &amp; CCW-CCW</td><td align="center" valign="middle" >cos θ + cos δ</td><td align="center" valign="middle" >sin θ + sin δ</td></tr><tr><td align="center" valign="middle"  colspan="2"  >δ = arctan B cos β − cos θ B sin β − sin θ − arccos 1 ( B cos β − cos θ ) 2 + ( B sin β − sin θ ) 2</td></tr></tbody></table></table-wrap></sec><sec id="s2_5"><title>2.5. Updating the Turning Point</title><p>As described earlier, the DWN guides a vehicle to a waypoint until it becomes unreachable, at which point it updates the turning point. <xref ref-type="fig" rid="fig7">Figure 7</xref> shows the reachability condition. As shown, a reachability zone consists of CCW and CW circles “enclosed” on the rear by a tangent line. The reachability zone is fixed to the vehicle. The vehicle is trying to reach waypoint T<sub>n</sub>. At agiven instant of time, T<sub>n</sub> could be either inside or outside the reachability zone. (In the figure, T<sub>n</sub> is outside of the reachability zone.). As soon as it is inside the reachability area, T<sub>n</sub> becomes unreachable, and the DWN updates the turning point to T<sub>n</sub><sub>+1</sub>.</p><p>Note that the purpose of “enclosing” the CCW and CW with the line segment was to prevent the possibility of point C passing T<sub>n</sub> undetected, which would otherwise be possible because the detection is not truly performed continuously but only at discrete instances of time.</p><p>Comparing the reachability zone used in DWN with the waypoint circle used in WN, first notice that the reachability zone, in the absence of disturbances, allows the vehicle to accurately reach a first waypoint, as opposed to beginning its turn to a second waypoint before reaching the first waypoint. Secondly, in WN, the operator can easily be fooled into the natural desire to select a waypoint radius that is smaller than the vehicle’s turning radius toward the goal of more closely reaching a waypoint. However, when doing so in the presence of a wind disturbance, this can result in missing the waypoint, finding it difficult to reach, and causing the vehicle to swirl around the waypoint. In the DWN, no waypoint radius is considered.</p></sec><sec id="s2_6"><title>2.6. Parameterization</title><p>We formulated the 3-point horizon optimization problem to keep the computational effort minimal for real-time implementation. To further reduce computational effort and for robustness, we parameterized the solution, effectively reducing it to a look-up table. Toward this end, we determined the orientation angle θ of a turning circle as a function of the four parameters A, B, α, and β. We parameterized the orientation angle by smoothly fitting the data to the four parameters separately for each case (CCW-CCW, CCW-CW, CW-CCW, and</p><p>CW-CW). Toward distinguishing between the different cases, we needed to parameterize the boundaries of each of the cases in terms of the four parameters. In particular, α and β transition from case to case due to changes in A and B. For example, consider the graph of α versus β shown in <xref ref-type="fig" rid="fig8">Figure 8</xref> for particular parameters (A = B = 4, w<sub>a</sub> = w<sub>s</sub> = 1).</p><p>As shown, there are three boundaries and three interior regions. (It turns out that the CW-CW case never produces an optimal orientation angle.) We express the boundary of the turn angle β as a function of the heading angle α in which its coefficients are expressed as a function of the distances A and Bas follows:</p><p>β = { a 0 + a 1 δ + a 2 δ 2   α ≥ − a 1 / 2 a 2 4 a 0 a 2 − a 1 2 4 a 2       α ≤ − a 1 / 2 a 2 2 (3)</p><p>a i = b 0 i + b 1 i A + b 2 i A 2 + b 3 i B + b 4 i B 2 + b 5 i A B   ( i = 1 ,   2 ,   3 ) (4)</p><p>We determined the coefficients b<sub>0i</sub> through b<sub>6i</sub> (i = 1, 2, 3) separately for each of the cases. The real-time procedure of updating the turning points is as follows:</p><p>1) Calculate A, B, α, and β at an instant of time from a current state of the vehicle.</p><p>2) Calculate the coefficients associated with the boundaries between the interior regions (See [<xref ref-type="bibr" rid="scirp.93638-ref13">13</xref>]).</p><p>3) Determine the interior region in which the vehicle lies.</p><p>4) Calculate the orientation angle θ of the next turning circle (See [<xref ref-type="bibr" rid="scirp.93638-ref13">13</xref>]).</p><p>5) Calculate the next turning point T<sub>n</sub> (expressed in terms of θ analytically).</p></sec></sec><sec id="s3"><title>3. Results</title><p>Let us continue with the 6-waypoint example and compare WN and DWN. In WN, navigation performance depends on the minimum turning radius and the waypoint radius. In DWN, navigation performance depends on minimum turning radius alone. The feedback control algorithms are the same for WN and DWN. However, the resulting overshoots differ. An illustrative feedback control algorithm described below accounts for turning toward an endpoint limited by the vehicle’s minimum turning radius R and serves as a basis for the comparison between WN and DWN.</p><sec id="s3_1"><title>3.1. An Illustrative Feedback Control Algorithm</title><p>Consider <xref ref-type="fig" rid="fig9">Figure 9</xref> showing a reference path with endpoints that are waypoints in the case of WN and that are turning points in the case of DWN. A vehicle at time t<sub>i</sub> heads in a direction ϕ<sub>H</sub><sub>i</sub> (not shown) a distance s<sub>i</sub> from the reference path. The vehicle travels a distance vΔt over a time step. At time t<sub>i</sub><sub>+1</sub>, the vehicle heads in a direction ϕ<sub>i</sub><sub>+1</sub> = ϕ<sub>i</sub> + ψ<sub>i</sub> in which ψ<sub>i</sub> is the turn angle over one iteration, given by</p><p>ψ i = {   ψ max     ϕ T i + ϕ R i &gt; ψ max   − ψ max     ϕ T i + ϕ R i &lt; − ψ max     ϕ T i + ϕ R i     | ϕ T i + ϕ R i | ≤ ψ max     ϕ R i = | g s i + h s ˙ i | ϕ T i | ϕ T i |     ψ max = v Δ t R (5)</p><p>Above, ϕ<sub>Ti</sub> is a target angle and ϕ<sub>Ri</sub> is a reference angle (all of the angles are positive counter-clockwise), g and h are control gains, and ϕ T / | ϕ T | determines whether ϕ<sub>R</sub> is counter-clockwise or clockwise.</p><p>The parameters used in the results, both with and without wind disturbances, are as follows: The minimum turning radius was R = 0.7, the time step was 0.02, the vehicle speed was v = 0.8, and the control gains were g = 0.1 and h = 5.25. With these parameters the turning radius was 0.7.</p></sec><sec id="s3_2"><title>3.2. The Shortest Path Approximation</title><p>Let us compare the minimum fuel and the shortest path solutions, the latter determined when w<sub>a</sub> = w<sub>s</sub> = 1. In practice, the distance between waypoints is at least four times larger than the turning radius R. Therefore, we will only consider distances A and B that are more than or equal to 4 times greater than R. When the distances A and B are exactly 4 times greater than R, the vehicle is flying in a straight line the least amount of the time and, for this case, we expect the difference between the minimum fuel solution and the shortest path solution to be the greatest. <xref ref-type="fig" rid="fig1">Figure 1</xref>0 shows minimum fuel solutions in which w<sub>a</sub> varies from 1— the shortest path case—to w<sub>a</sub> = 1.5, for which the fuel cost during turning flight is 50% greater than the fuel cost during straight flight (In small-class fixed-wing vehicles the fuel penalty of turning is less than 50%). As shown, the orientation angle of the turning circle does not change more than 4˚. The minimum-fuel path is very close to the shortest path and therefore the shortest path approximates the minimum fuel path. The use of the shortest path would therefore be</p><p>acceptable in the vast majority of small-class UAV problems. This finding is significant because the shortest path solutions apply to any vehicle whereas the minimum fuel solutions need to consider vehicle parameters. In the results below, we employ the shortest path solutions.</p></sec><sec id="s3_3"><title>3.3. Navigation in the Absence of an Unknown Wind Disturbance</title><p><xref ref-type="fig" rid="fig1">Figure 1</xref>1 compares WN and DWN in the absence of an unknown wind disturbance. Indeed, when the wind disturbance is completely accommodated for (by subtracting it out), DWN and WN exhibit the performance shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>1. The minimum turning radius R of the vehicle is the same in each case. The three cases consider WN waypoint radii of 0.1R, 0.5R, and R, respectively.</p><p>First consider DWN (solid lines). In each case, the vehicle passes through waypoints exactly and follows the minimum fuel paths—by design. Next, consider WN. In the first case, the vehicles passes close to the waypoints but with significant overshoot. In the other two cases, we see as the waypoint radius increases that the vehicle passes farther from the waypoints. In the third case, the vehicle undershoots the desired path. Note that in the WN and DWN cases given above, the feedback control had very little effect on the response because there was no unknown wind disturbance.</p></sec><sec id="s3_4"><title>3.4. Navigation in the Presence of an Unknown Wind Disturbance</title><p><xref ref-type="fig" rid="fig1">Figure 1</xref>2 shows WN and DWN responses in the presence of a wind disturbance. The wind velocity is constant and unknown, set to 10% of the drone’s speed directed from the bottom to the top of the figures (in the horizontal plane) and not accommodated for.</p><p>In the left figure, the waypoint radius was set to be small, intending to achieve higher accuracy. However, the wind exceeds the capability of the feedback controller and the vehicle just misses the second waypoint sending it into a swirl. DWN also misses the turning point paired with the second waypoint but moves on to complete its journey. It can do this because it recognizes the waypoint to be unreachable. In the middle and the right figures, the waypoint radii are larger and WN manages to navigate the vehicles. It is worth noticing that errors exist</p><p>for both WN and DWN. The DWN errors result from using the turning points for navigation instead of waypoints. It is clear that the DWN errors are smaller than the WN errors due to its features already discussed, hence one still recognizes that DWN improves the performance of the WN navigation.</p></sec></sec><sec id="s4"><title>4. Conclusion</title><p>WN suffers from an existing trade-off between minimum turning radius and waypoint radius that prevents vehicles from reaching waypoints and closely following desired paths. This paper developed an algorithm, called Dubins waypoint navigation (DWN) that remedies this problem by not using waypoint circles. Instead, we introduced a reachability zone and turning points. The DWN significantly reduces undershoot, overshoot, and swirl. Furthermore, the algorithm remedies the problem in a way that can be hidden from the operator to avoid confusion. The paper showed, by establishing a horizon that includes two future waypoints, how to improve the performance of WN in terms of the targeting of waypoints while reducing fuel and time. Pertaining to real-time implementation, we also reduced the computational effort, essentially eliminating it, by parameterizing the shortest path solution. We also compared WN and DWN tracking performance (in the absence of an unknown disturbance) and regulation performance (in the presence of an unknown disturbance). The comparisons are illustrative of the improvements in path following (tracking and regulation) obtained by DWN.</p></sec><sec id="s5"><title>Acknowledgements</title><p>The authors gratefully recognize the Namibia Wildlife Aerial Observatory (WAO) for its support of this work.</p></sec><sec id="s6"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Silverberg, L.M. and Xu, D.H. (2019) Dubins Waypoint Navigation of Small-Class Unmanned Aerial Vehicles. Open Journal of Optimization, 8, 59-72. https://doi.org/10.4236/ojop.2019.82006</p></sec><sec id="s8"><title>Nomenclature</title><p>A = distance between current position and the following waypoint</p><p>a = coefficient for curve fitting β with respect to δ</p><p>B = distance between the following two successive waypoints</p><p>b = coefficient for curve fitting a with respect to A and B</p><p>C = current position</p><p>F<sub>u</sub> = total fuel cost</p><p>g = proportional term for PID controller</p><p>h = derivative term for PID controller</p><p>L<sub>a</sub> = total length of the arcs</p><p>L<sub>s</sub> = total length of the straight segments</p><p>R = turning radius of the vehicle</p><p>T = target point</p><p>v = speed of the vehicle</p><p>W = waypoint</p><p>w<sub>a</sub> = fuel cost per unit length travelled on an arc</p><p>w<sub>s</sub> = fuel cost per unit length travelled on a straight line</p><p>α = angle of heading in local system</p><p>β = angle between the following two successive waypoints in local system</p><p>γ = angular position of the first tangential point in local system</p><p>δ = angular position of the last tangential point in local system</p><p>θ = angular position of the center of the turning circle</p><p>ϕi = angle that denotes the heading in global frame at the th time instance</p><p>ϕ<sub>R</sub> = angle of turning resulted from the feedback controller</p><p>ϕ<sub>T</sub> = angle between heading and the target</p><p>ψ = angle of turn in one time step</p></sec></body><back><ref-list><title>References</title><ref id="scirp.93638-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Drubin, C. (2013) UAV Market Worth $8.3 B by 2018. Microwave Journal, 56, 37.</mixed-citation></ref><ref id="scirp.93638-ref2"><label>2</label><mixed-citation publication-type="book" xlink:type="simple">Tsourdos, A., White, B. and Shannugavel, M. (2011) Path Planning in Two Dimensions. In: Tsourdos, A., White, B. and Shanmugavel, M., Eds., Cooperative Planning of Unmanned Aerial Vehicles, Wiley, Chichester, 30.  
https://doi.org/10.1002/9780470974636</mixed-citation></ref><ref id="scirp.93638-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Ariff, O. and Go, T. (2011) Waypoint Navigation of Small-Scale UAV Incorporating Dynamic Soaring. The Journal of Navigation, 64, 29-44.  
https://doi.org/10.1017/S0373463310000378</mixed-citation></ref><ref id="scirp.93638-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Goerzen, C., Kong, Z. and Mettler, B. (2010) A Survey of Motion Planning Algorithms from the Perspective of Autonomous UAV Guidance. Journal of Intelligent and Robotic Systems, 57, 65-100. https://doi.org/10.1007/s10846-009-9383-1</mixed-citation></ref><ref id="scirp.93638-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Manyam, S., Rathinam, S., Casbeer, D. and Garcia, E. (2017) Tightly Bounding the Shortest Dubins Paths through a Sequence of Points. Journal of Intelligent &amp; Robotic Systems, 88, 495-511. https://doi.org/10.1007/s10846-016-0459-4</mixed-citation></ref><ref id="scirp.93638-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Wolek, A. and Woolsey, C. (2015) Feasible Dubins Paths in Presence of Unknown, Unsteady 5 Velocity Disturbances. Journal of Guidance Control and Dynamics, 38, 782-786. https://doi.org/10.2514/1.G000629</mixed-citation></ref><ref id="scirp.93638-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">McGee, T. and Hedrick, J. (2007) Optimal Path Planning with a Kinematic Airplane Model. Journal of Guidance, Control, and Dynamics, 30, 629-633.  
https://doi.org/10.2514/1.25042</mixed-citation></ref><ref id="scirp.93638-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Milutinovic, D., Casbeerm, D., Cao, Y. and Kingston, D. (2017) Coordinate Frame Free Dubins Vehicle Circumnavigation Using Only Range-Based Measurements. International Journal of Robust and Nonlinear Control, 27, 2937-2960.  
https://doi.org/10.1002/rnc.3718</mixed-citation></ref><ref id="scirp.93638-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Ketema, Y. and Zhao, Y. (2010) Micro Air Vehicle Trajectory Planning in Winds. Journal of Aircraft, 47, 1460-1463. https://doi.org/10.2514/1.C000247</mixed-citation></ref><ref id="scirp.93638-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Meyer, Y., Isaiah, P. and Shima, T. (2015) On Dubins Paths to Intercept a Moving Target. Automatica, 53, 256-263. https://doi.org/10.1016/j.automatica.2014.12.039</mixed-citation></ref><ref id="scirp.93638-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Wang, Z., Lium L., Long, T. and Xu, G. (2018) Efficient Unmanned Aerial Vehicle Formation Rendezvous Trajectory Planningf Using Dubins Path and Sequential Convex Programming. Engineering Optimization, 51, 1412-1429.  
https://doi.org/10.1080/0305215X.2018.1524461</mixed-citation></ref><ref id="scirp.93638-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Medeiros, A. and Urrutia, S. (2010) Discrete Optimization Methods to Determine Trajectories for Dubins’ Vehicles. Electronic Notes in Discrete Mathematics, 36, 17-24. https://doi.org/10.1016/j.endm.2010.05.003</mixed-citation></ref><ref id="scirp.93638-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Silverberg, L. and Xu, D. (2018) Minimum-Fuel Hidden Layer Heuristic for Small-Class UAV. Master of Science Thesis, Mechanical Engineering, North Carolina State University, Raleigh.</mixed-citation></ref><ref id="scirp.93638-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Drubin, C. (2013) UAV Market Worth $8.3 B by 2018. Microwave Journal, 56, 37.</mixed-citation></ref><ref id="scirp.93638-ref15"><label>15</label><mixed-citation publication-type="book" xlink:type="simple">Tsourdos, A., White, B. and Shannugavel, M. (2011) Path Planning in Two Dimensions. In: Tsourdos, A., White, B. and Shanmugavel, M., Eds., Cooperative Planning of Unmanned Aerial Vehicles, Wiley, Chichester, 30.  
https://doi.org/10.1002/9780470974636</mixed-citation></ref><ref id="scirp.93638-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Ariff, O. and Go, T. (2011) Waypoint Navigation of Small-Scale UAV Incorporating Dynamic Soaring. The Journal of Navigation, 64, 29-44.  
https://doi.org/10.1017/S0373463310000378</mixed-citation></ref><ref id="scirp.93638-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Goerzen, C., Kong, Z. and Mettler, B. (2010) A Survey of Motion Planning Algorithms from the Perspective of Autonomous UAV Guidance. Journal of Intelligent and Robotic Systems, 57, 65-100. https://doi.org/10.1007/s10846-009-9383-1</mixed-citation></ref><ref id="scirp.93638-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Manyam, S., Rathinam, S., Casbeer, D. and Garcia, E. (2017) Tightly Bounding the Shortest Dubins Paths through a Sequence of Points. Journal of Intelligent &amp; Robotic Systems, 88, 495-511. https://doi.org/10.1007/s10846-016-0459-4</mixed-citation></ref><ref id="scirp.93638-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Wolek, A. and Woolsey, C. (2015) Feasible Dubins Paths in Presence of Unknown, Unsteady 5 Velocity Disturbances. Journal of Guidance Control and Dynamics, 38, 782-786. https://doi.org/10.2514/1.G000629</mixed-citation></ref><ref id="scirp.93638-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">McGee, T. and Hedrick, J. (2007) Optimal Path Planning with a Kinematic Airplane Model. Journal of Guidance, Control, and Dynamics, 30, 629-633.  
https://doi.org/10.2514/1.25042</mixed-citation></ref><ref id="scirp.93638-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Milutinovic, D., Casbeerm, D., Cao, Y. and Kingston, D. (2017) Coordinate Frame Free Dubins Vehicle Circumnavigation Using Only Range-Based Measurements. International Journal of Robust and Nonlinear Control, 27, 2937-2960.  
https://doi.org/10.1002/rnc.3718</mixed-citation></ref><ref id="scirp.93638-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Ketema, Y. and Zhao, Y. (2010) Micro Air Vehicle Trajectory Planning in Winds. Journal of Aircraft, 47, 1460-1463. https://doi.org/10.2514/1.C000247</mixed-citation></ref><ref id="scirp.93638-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Meyer, Y., Isaiah, P. and Shima, T. (2015) On Dubins Paths to Intercept a Moving Target. Automatica, 53, 256-263. https://doi.org/10.1016/j.automatica.2014.12.039</mixed-citation></ref><ref id="scirp.93638-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Wang, Z., Lium L., Long, T. and Xu, G. (2018) Efficient Unmanned Aerial Vehicle Formation Rendezvous Trajectory Planningf Using Dubins Path and Sequential Convex Programming. Engineering Optimization, 51, 1412-1429.  
https://doi.org/10.1080/0305215X.2018.1524461</mixed-citation></ref><ref id="scirp.93638-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Medeiros, A. and Urrutia, S. (2010) Discrete Optimization Methods to Determine Trajectories for Dubins’ Vehicles. Electronic Notes in Discrete Mathematics, 36, 17-24. https://doi.org/10.1016/j.endm.2010.05.003</mixed-citation></ref><ref id="scirp.93638-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Silverberg, L. and Xu, D. (2018) Minimum-Fuel Hidden Layer Heuristic for Small-Class UAV. Master of Science Thesis, Mechanical Engineering, North Carolina State University, Raleigh.</mixed-citation></ref></ref-list></back></article>