Preprint
Article

Classification Scheme for the Three-Points Dubins Problem

Altmetrics

Downloads

92

Views

23

Comments

0

A peer-reviewed article of this preprint also exists.

This version is not peer-reviewed

Submitted:

12 August 2024

Posted:

13 August 2024

You are already at the latest version

Alerts
Abstract
This paper proposes an optimal path type classification scheme for the three-point Dubins problem. It allows to directly extract the shortest path type from a Dubins set, evaluating only the relative initial and final configurations with the via point position using a suitable partition of the Cartesian plane. Two alternative approaches are proposed to address the problem: an analytical approach and a heuristic one. The latter was revealed to be much faster from a computational point of view. The proposed classification logic makes the path planning for the three-point Dubins problem much more effective and suitable for real-time applications. Numerical examples are provided to show the efficiency of the proposed strategy.
Keywords: 
Subject: Engineering  -   Control and Systems Engineering

1. Introduction

The technological advances of the last years opened up astonishing possibilities for research. From virtual reality to artificial intelligence and self-driving cars, the promise of a tomorrow’s world where such technologies permeate into human society is exciting, and it drives the research in these fields with a renewed and powerful thrust. Among the most fascinating topics, the goal of designing mobile devices that autonomously are able to safely handle human mobility is advancing every day to reality.
In this latter scenario, and other similar ones, a central theme is the autonomy of a device in decision-making, ensuring that robots are able to find feasible paths in various environments, avoiding obstacles and minimizing travel time or energy consumption. For this reason, the challenging problem of safe and autonomous navigation surged as a central topic in robotics and autonomous systems. Overall, path planning is a foundational aspect of robotic vehicle that impacts the performance, safety, and effectiveness of robotic systems across a wide range of applications [1]. One key aspect of path planning is to produce feasible reference paths for the robot, namely paths that are compliant with the robot kinematics, so that it is able to track them without jumps or errors. A fundamental kinematic model that has been extensively explored in path planning applications is the `Dubins vehicles’ [2]. Basically, it refers to a point moving in the plane with constant forward speed and bounded curvature, while Dubins path refers to the shortest path between two poses of a Dubins vehicle [2]. It is well suited to represent the movement of vehicles that do not require hard braking, slowdown or stop; common examples are airplanes or marine crafts. For these reasons, since the milestone contribution by Dubins [3], the Dubins vehicle has been constantly studied over the years, as witnessed by the works in [4,5,6,7]. In these works, Dubins paths are obtained through necessary optimality conditions derived by exploiting the theoretical framework based on the Pontryagin’s Maximum Principle. However, this approach results in solutions that are computationally demanding and not readily applicable for real-time applications. A significant contribution to overcome this issue is the work in [8], where the computational complexity is reduced by selecting the optimal path type based only on the initial and final pose (namely, position and orientation) in the Cartesian plane. Other research lines emerged over the years are related to the generalizations of the Dubins problem through N points, as the Dubins Traveling Salesman Problem (DTSP) [9,10,11,12].
Several contributions on this subject [13] showed that when the order of via-points is fixed, the solution of the DTSP can be decomposed at each step in sub-problems known as three-Point Dubins Problem, namely the path planning problem for a Dubins vehicle with an intermediate via point [14,15,16].
The three points Dubins problem leads to efficient navigation solutions in different application domains including air, ground and marine environments. In the field of Unmanned Aerial Vehicles (UAVs), solving the 3PDP is essential for optimizing flight paths when navigating through constrained environments or for executing complex missions. This can be particularly important in surveillance, reconnaissance, and delivery operations [17]. Even drones used in precision agriculture often need to navigate around specific via points. In [18], for example, a variation of a Traveling Salesman Problem (TSP) solver, that is an extension of the 3PDP, is proposed to investigate optimal trajectories in order to visit a specific number of plants that require intervention. Aircraft, especially those with limited maneuverability, may encounter the 3PDP during specific flight scenarios [19], such as air-to-air refueling or navigating around airspace restrictions. Efficient path planning is crucial for ensuring safe and precise movements in these situations.
In scenarios where search and rescue missions involve aerial or ground vehicles with Dubins motion constraints, solving the 3PDP with fast algorithms can be a key tool for safe and length-optimal reference path generation. Indeed, these applications often require real-time path planning to reach a target location with an intermediate point, optimizing the trajectory for quick and effective response [20]. Moreover, Dubins vehicles, such as autonomous cars and ground robots, encounter the 3PDP when planning paths that involve navigating around obstacles or following specific via point. Solving this problem is vital for ensuring safe and efficient transportation in urban environments or other constrained spaces [21,22]. In automated warehouses, multiple robots may need to navigate through narrow aisles and around obstacles while efficiently reaching intermediate points for picking or restocking purposes. Solving the 3PDP is relevant basis for optimizing the movement of robotic vehicles in such environments [23].
Also Autonomous underwater vehicles (AUVs) face challenges in path planning, especially when they need to travel from one point to another with an intermediate via point. The 3PDP and its extension Multiple Traveling Sales Person (MTSP) solution can be applied to optimize their trajectories and conserve energy during underwater missions [24].
Summarizing, the significance of solving the Three Points Dubins Problem lies in its potential to enhance the performance, safety, and efficiency of various autonomous systems operating in diverse real-world applications. This has motivated recent researches on developing increasingly faster and more efficient methods to address the 3PDP [13,14,25]. The solution proposed in [13] is based on inversive geometry. Two methods are presented, an “Approximate Method” that, while computationally efficient, provides an approximate optimal heading at the via-point, and an “Iterative Method” that recursively converges to the exact heading by iterative corrections, thus achieving greater accuracy at the cost of increased computational resources. A significant contribution is found in the work of [14], which utilizes the Pontryagin principle and optimality criteria. This research offers a solution encompassing all possible cases. The method requires solving polynomial equations, ensuring an accurate/exact solution by construction. A promising solution has been proposed recently in [25], it is based on novel methodologies related to optimal properties of conic sections. The solution can be computed either graphically, or analytically, utilizing the matrix description of conic sections. It provides solutions with an adequate level of accuracy as well as a reduced computational effort. Overall, any existing approach for the 3PDP, despite its peculiar methodology, selects the minimum length path through an exhaustive search among all possible path type combinations. This is detrimental for the run time and it is a significant drawback for these methodologies when dealing with the applications described above. The main goal of this paper is to remove this bottleneck, thus extending the classification rules from [8] to the 3PDP. This would allow for the direct determination of the optimal path type based on the initial and final poses and the intermediate via point only. As a result, the results of this paper can be applied in conjunction with any algorithm, to get solutions in real-time applications.

2. Problem Formulation

In the following, we introduce the logical framework of the problem, and we briefly summarize some classical results that are the basis of our analysis, together with the notation that we adopt along the paper.

2.1. Notation and Preliminary Results

Consider a vehicle whose motion is described by:
x ˙ = cos θ , y ˙ = sin θ , θ ˙ = u , | | u | | Ω ;
where Ω is a bound on the maximal curvature. A feasible path is a curve in the plane that is viable for the Dubins vehicle, namely a curve satisfying (1), whose maximum curvature along the path is bounded by Ω .
The state vector q = ( P , θ ) is the pose or configuration of the vehicle, where P = ( x , y ) is the position of the vehicle in the Euclidean plane, and θ [ 0 , 2 π ) its orientation (see Figure 1a); the control u sets the angular speed, within the range defined by the bound Ω . Associated to each configuration, we draw two circles of radius Ω 1 each lying on one side of the position P (denoted, resp., C l for the left circle and C r for the right circle, and their centers c l and c r ), each corresponding to the sharpest turn.
Given an initial configuration q i = ( P i , θ i ) and a final configuration q f = ( P f , θ f ) , without loss of generality (as in [8]), it is possible to set P i = ( 0 , 0 ) and P f = ( d , 0 ) , with d the Euclidean distance between them, as depicted in Figure 1b.
Consider two such circles C a b , with a A = { i , f } (namely, “initial" or “final”) and b B = { r , l } (i.e., “right” or “left”), it is possible to identify four different common tangent lines, i.e., two cross tangents and two external ones (see e.g., Figure 2). We denote all possible common tangent lines between an initial and a final circle as r c d t s , with c , d B , t { c , e } , and s { + , } (where c and e stand for “cross” and “external”, + and − for “superior” and “inferior”).
Consider a line r in the Cartesian plane described by all the points P = ( x , y ) satisfying y = m r x + q r , (see Figure 3); r divides the Cartesian plane into two half-planes. A point P = ( x P , y P ) is in the upper half-plane if y P > m r x P + q r and it is shortly denoted by P > r . The point P is said to be in the lower half-plane if y P < m r x P + q r , denoted in the following by P < r .
Finally, each directed line r o with unit vector v r o divides the Cartesian plane into two half-planes; the one on its right is shortly denoted as π r o r , and the other on its left denoted as π r o l . If v r o points to the right, then π r o l coincides with the upper half-plane.

2.2. Preliminary Results

One fundamental topic within this framework is the shortest path Problem, that consists in finding the shortest curve among the viable ones connecting an initial configuration q i = ( P i , θ i ) to a final configuration q f = ( P f , θ f ) for a Dubins’ car. This problem was firstly introduced and solved by L.E. Dubins [3] by showing that an optimal path is constructed by combining at most three segments, which can be either a straight line (denoted as S) or a circular arc of maximum curvature (denoted as C).
A circular path C can have a right or left turning direction, and in the following it is denoted resp. by R or L. As a consequence, the minimum length path can be found by direct search among six possible combinations given by the { L S L , R S R , R S L , L S R , R L R , L R L } cases, or part of them. If the distance between the initial and final points is sufficiently large, more than 4 Ω 1 , C C C paths are never optimal and the analysis can be restricted to the occurrence of C S C paths. Moreover C C C paths are incovenient in practice since small variations on the terminal configurations produce large variations of solutions, namely the recalculation of a reference path may produce a completely different reference path, with possible serious drawbacks on a mission execution.
For these reasons, in this paper we propose an algorithm that seeks the solution type of the optimal-length Dubins Path restricted to a search among the four combinations { L S L , R S R , R S L , L S R } . When P v is far more than 4 Ω 1 both from P i and P f , the path type solution is optimal, in general for most of the practical applications such path type is the most reasonable choice.
The Three-Point Dubins Problem (3PDP) is as follows. For any assigned triple ( q i , P v , q f ), namely the initial configuration q i = ( P i , θ i ) , the final configuration q f = ( P f , θ f ) and a pre-assigned via point P v far from P i and P f more than 4 Ω 1 , find the shortest curve of (1) connecting P i , P v and P f , with tangent direction θ i at P i and θ f at P f , among all the curves in the plane with curvature bounded by Ω .
According to the Bellman’s principle for optimality, the solution of the optimal path for a Dubins vehicle between three consecutive configurations can be obtained by concatenating two optimal Dubins paths:
  • the path between the initial configuration q i = ( P i , θ i ) and the via point configuration q v = ( P v , θ v ) with length denoted as L 1 , and
  • the path between the via point configuration q v = ( P v , θ v ) and the final configuration q f = ( P f , θ f ) with length denoted as L 2 .
In this paper, we deduce the classification rules for selecting the type of the optimal path for those points P v of the plane far from P i and P v more than 4 Ω 1 , so that each of the elementary optimal Dubins path must be of type C S C , so the solution is made of three elementary motions: left or right turn both along a circle of radius Ω 1 , straight line motion, and left or right turn both along a circle of radius Ω 1 . In the following we denote as t, p and q the length of its basic elements referring to resp. the initial turn, the straight line segment and the final turn and we add the subscript 1 or 2 to refer resp. to the path between P i to P v and from P v to P f , see Figure 4.
We can therefore state that the optimal-length path through three consecutive points satisfying the long distance hypothesis is the concatenation of two Dubins paths of type C S C , hence the solution of the 3PDP must be of a type C S C C S C . If such hypothesis is not satisfied, however, one may use a sub-optimal solution of C S C C S C type, thus a-priori avoiding C C C curves (which can be optimal, but notwithstanding unconveninent).
An important result, conjectured in [15], and then proved in [26] and [13], is related to the optimality conditions for a shortest path of type C S C C S C :
Lemma 1. 
Given ( q i , q f , P v ) , in a shortest path of type CSC-CSC the line segment between P v and the center of the circle associated with the optimal heading bisects the angle between the line segment p 1 and p 2 .
Denote by v i and v f the vectors parallel to the initial and final line segments of the path C S C C S C , ( P 1 and P 2 in Figure 4 and Figure 5), and with v v the vector connecting the center of the circle associated with the optimal heading at the via point P v . Define v θ v as the vector parallel to the optimal heading at the via point, hence, orthogonal to v v , by construction, as shown in Figure 5.
Denoting by v the vector bisecting the angle between v i and v f , the optimality condition of Lemma 1can be equivalently rewritten as:
v T v θ v = 0 .
Moreover, since two arcs incident to the via point must have the same turning direction, it holds:
Corollary 1. 
The optimal solution of the 3PDP when P v is far more than 4 Ω 1 from both P i and P v must be of a type in T = { R S R R S R , L S R R S R , R S R R S L , L S R R S L , L S L L S L , R S L L S L , L S L L S R , R S L L S R } , where any circular arc may possibly be of zero length.
As a consequence, the optimal-length path through three consecutive points can be found by direct search among the eight possible combinations in T .

2.3. A Classification Approach for Fast Solution

In this paper, we propose a classification based on a partition of the Cartesian plane which allows to drastically reduce the number of potential path types.
Indeed, in order to solve the 3PDP, one should calculate the lengths of all path type in T , and then select the shortest one of the computed paths. This requires to compute the optimal orientation angle at the via point θ v (not specified a priori) for each path type, given by the following length optimality criterion:
θ v * = arg min θ v [ 0 , 2 π ) ( L 1 ( θ v ) + L 2 ( θ v ) ) .
The problem addressed in this paper can be formulated as follows.
Problem 1. 
Given the 3PDP, find a simple logical procedure to select the optimal path type among the combinations given in T without any explicit length computation.
Inspired by the classification rules derived in [8], in this paper we extend this strategy to the 3PDP, namely given a 3PDP problem, find a simple logical procedure to select the optimal path type among those in T without any explicit length computation.

3. Classification Rules

Our goal is to build a partition of the Cartesian plane as the one illustrated in Figure 6, which represents a partition for the classification of a 3PDP with distance d = 15 between the initial and final point, and initial and final orientation, θ i and θ f on quadrant I. Recurring to this partition, given any via point P v , it is possible to immediately deduce the optimal path type by simply identifying the region to which it belongs to. Consider the via point P v = ( 10 , 15 ) in Figure 6, it lies on the region classified as L S R R S L . Indeed, computing the optimal path type with the conventional methods available in literature, the resulting path reported in Figure 6 is actually a L S R R S L path type.
In general, to build a complete path type classification, we need to select the optimal turning directions in the three points of interest, i.e., the curvature at the initial point C i n i t i a l , the curvature at the final point C f i n a l , and the curvature at the via point C v i a P o i n t .

3.1. Curvature at the Initial Point

As a first step, draw a straight line starting from P i with orientation θ i , and denote it as λ i , as in Figure 6. A first simple intuitive idea that we explode is that, if the via point P v is on the left of λ i , then the first turning direction is necessarily on the left, while if P v is on the right with respect to λ i , then the optimal path turn is on the right (see Figure 7).
However, a deeper insight on this point shows that there are some points close to λ i which do not follow the above logic, and the reason is subtle. Without loss of generality, consider the example reported in Figure 8 where the via point P v is on the right, near to λ i . In such a case the optimal path type has the first turn on the left instead of on the right.
It is possible to clarify the reason for this phenomenon, which is the following. The orientation at P v requires a right turn, so if the initial turning point ( P v q 1 in Figure 8) is on the opposite side of P v with respect to λ i , then the initial turn is on the left.
In order to correctly identify and manage this phenomenon, two different approaches can be adopted: an analytical approach and a heuristic one.

3.1.1. Analytical Approach

As an illustrative example, we still consider a case with θ i and θ f on quadrant I as in Figure 8.
The analytical approach exploits the optimal condition, Eq. (2)).Following this approach, the main goal is to derive the exact boundary, denoted as I i in the following, between paths that differs for curvature at the initial point, i.e., R S R R S L and L S R R S L for the example under investigation. Analytically, the boundary of the two regions R S R R S L and L S R R S L is defined by those points P v for which R S R R S L and L S R R S L paths have the same lengths, i.e.,:
L 1 R S R ( θ v ) + L 2 R S L ( θ v ) = L 1 L S R ( θ v ) + L 2 R S L ( θ v ) ,
From a geometrical point of view, given that the second elementary Dubins paths between the via point and the final configuration are the same ( R S L type of length L 2 R S L ), the two types of paths R S R R S L and L S R R S L have the same lengths when the length of the straight line segment p 1 associated to the first elementary Dubins path is the same,
L 1 R S R ( θ v ) = L 1 L S R ( θ v ) .
For the R S R path, the segment p 1 is given by the common external tangent r r r e + between the circles C i r and C v r ; while for the L S R path, the segment p 1 is given by the common cross tangent r l r c between the circles C i l Frontier between and C v r (see tangents in the Figure 9). As a consequence, the optimality condition in eq. (4) is:
r r r e + r l r c .
This happens when the circle C v r is tangent to the line λ i , in this case the point P v q 1 λ i . As a consequence, the first arc t 1 has zero length (i.e., t 1 = 0 ) and the two paths collapse in a path of type S R R S L . Refer to Figure 9 for a clear geometric representation of the optimality condition.
In order to actually find the locus of via points that correspond to such an optimal S R R S L path type, the optimality condition given by the Lemma 1 for the S R R S L path should be verified, that is:
v T v v = 0 ,
where
v = e v i + e v f ,
e v i = c v r c i r | c v r c i r | = [ cos ( θ i ) sin ( θ i ) ]
e v f = R ( γ ) c v r c f l | c v r c f l | , with γ = sin 1 2 Ω 1 | c v r c f l | ,
v θ v = [ ( y v y v r ) , ( x v x v r ) ] ,
and R ( γ ) R 2 is the standard rotation matrix. We also recall that in the intersection domain the first arc vanishes, i.e., t 1 = 0 , the direction of e v i coincides with the initial orientation θ i and the first elementary Dubins path reduces to a S R type path (see Figure 10).
As a result, the centers c v r = ( x v r , y v r ) lie on the line λ i r , namely a line parallel to λ i and distant Ω 1 on its right, so that the optimal right via point circle C v r is a circle passing through the via point and tangent to the line λ i . The versor e v f identifies the direction of the cross tangent of the circles C v r and C f l . Hence, the points of the curve I i can be obtained by adding at each center c v r , the versor e v (i.e., the versor in the direction of v = e v i + e v f ) multiplied by Ω 1 .
Summarizing, from an analytical point of view, we have one equation (6) with two variables x v r and y v r . We can solve it by taking one variable as a parameter. The analytical result is a curve I i that admits as asymptote the line λ i r (see Figure 11).
Figure 11a and Figure 11b show the curve I i , i.e., the frontier between the regions R S R R S L and L S R R S L for θ i and θ f on quadrant I, for different values of the maximum turning radius: Ω 1 = 1 and Ω 1 = 2 , respectively. At this point, we can formulate the classification rules for identifying the curvature at the initial point C i n i t i a l as given in Algorithm 1.
Algorithm 1 Initial Curvature - Analytical approach
  • Require: q i , q f , P v
  • Ensure: C i n i t i a l
  •  compute curve I i from eq. (6) 
  • if P v π I i r then 
  •      C i n i t i a l = R  
  • else 
  •      C i n i t i a l = L  
  • end if
It is worth noting that the derivation of the exact curve I i could be demanding from a computational point of view (it requires solving nonlinear equations), so when the available computational load is limited, it could be preferable to resort to an heuristic approach - which is simpler, more efficient and practical - as detailed below.

3.1.2. Heuristic Approach

A heuristic solution to determine the initial curvature for points close to λ i is still based on the fact that the boundary is associated to paths having P v q 1 λ i (hence, the first arc of zero length t 1 = 0 for the example under investigation). As a result, the maximum distance between the point P v on the frontier and the line λ i is 2 Ω 1 . It is obtained by imposing that the optimal circle at the via point is tangent to the line λ i , or equivalently, for the example under investigation, the first arc of zero length, i.e., t 1 = 0 . This allows to consider a region, between λ i and the line λ i r (being λ i r a line parallel to λ i on its right and distant 2 Ω 1 ) where the investigation should consider two types of potentially optimal paths (either starting with L turn, or R turn). This region is highlighted in grey in Figure 11a. A practical way to manage the points in this region is to test both possibilities, which is simpler and less demanding.
The above result is still valid for θ i on quadrant II, whereas symmetric considerations hold for θ i on quadrants III and IV. In the latter cases, the region that requires to test both possibilities is the area between λ i and the line λ i l , namely a line parallel to λ i on its left and distant 2 Ω 1 (see Figure 12).
The resulting classification rules for identifying the curvature at the initial point are summarized in Algorithm 2. The output of the algorithm is the turning direction at the initial point: "R" for a right turning, "L" for a left turning, and "C" for a generic curvature on the left or on the right (that is when both should be tested). It is worth noticing that in the boundary between the quadrants Q I - Q I V and Q I I - Q I I I (i.e., θ i { 0 , π } ) a more conservative region has been considered, that is the union of the candidate regions associated to both cases.
Algorithm 2 Initial Curvature - Heuristic approach
  • Require: q i , P v
  • Ensure: C i n i t i a l  
  • C i n i t i a l = C  
  • if  θ i ( 0 , π ) ( θ i { Q I , Q I I } ) then 
  •    if  P v π λ i l  then 
  •       C i n i t i a l = L
  • else if  P v π λ i r r then
  •       C i n i t i a l = R  
  •    end if
  • else if  θ i ( π , 2 π ) ( θ i { Q I I I , Q I V } ) then
  •    if  P v π λ i l l  then 
  •       C i n i t i a l = L
  •   else if  P v π λ i r then
  •       C i n i t i a l = R
  •    end if
  •  else if  θ i { 0 , π } then
  •    if  P v π λ i l l  then 
  •       C i n i t i a l = L
  •  else if  P v π λ i r r then
  •       C i n i t i a l = R  
  •    end if 
  • end if

3.2. Curvature at the Final Point

Similar considerations hold for the optimal turning direction at the final point. Draw the line λ f passing through P f = ( x f , y f ) with orientation θ f . If the via point P v is on the left of λ f then the last turning direction is on the left, while if P v is on its right the optimal path type is associated to a right last turn. An example is illustrated in Figure 13.
Also in this case, if the via point P v lies in the neighborhood of λ f , an analogous phenomenon to the one described in Section 3.1 happens.
Consider Figure 14a where the via point P v is near to λ f and on its left. In such a case the optimal path type has the last turn on the right (instead of on the left). Again, it is possible to manage this phenomenon adopting an analytical approach or an heuristic one.

3.2.1. Analytical Approach

As an illustrative example, we still take a case with θ i and θ f on quadrant I as shown in Figure 6. We can resort to an analytical approach, similar to the one presented in the previous section, to derive the exact frontier that differs for curvature at the final point, e.g., R S L L S L and R S L L S R for the example at hand. This partition domain is given by the via points where the two types of paths have the same length. Similarly to the case of initial turning direction, such a condition is satisfied when the turning operation at P v have its ending point P v t 2 on the line λ f , i.e., P v t 2 λ f so that the two paths collapse in a path of type R S L L S , and the last arc q 2 has zero length (i.e., q 2 = 0 ). In order to actually find the locus of via points corresponding to such an optimal R S L L S path type, the optimality condition given by the Lemma 1 for the R S L L S path is:
v v θ v = 0 ,
where        
v = e v i + e v f
e v i = R ( γ ) c v r c i r | c v r c i r | , w i t h γ = sin 1 2 Ω 1 | c v r c i r | ,
e v f = c v r c f l | c v r c f l | = [ cos ( θ f ) sin ( θ f ) ] ,
v θ v = [ ( y v y v r ) , ( x v x v r ) ] .
Again, in the intersection domain the last arc vanishes, i.e., q 2 = 0 , so that the direction of e v f coincides with the final orientation θ f . As a result, the centers c v l = ( x v l , y v l ) lie on the line λ f l , namely a line parallel to λ f on its left and distant Ω 1 , so that the optimal left via point circle C v l will be a circle passing through the via point and tangent to the line λ f .
Therefore, from an analytical point of view, Eq. (11) with the two variables x v l and y v l provides the solution. The analytical result is a curve I f that admits as asymptote the line λ f l . The classification rules for identifying the curvature at the final point C f i n a l are given in Algorithm 3.
Algorithm 3 Final Curvature - Analytical approach
  • Require: q i , q f , P v  
  • Ensure: C f i n a l  
  • compute curve I f from eq. (11
  • if P v π I f r then 
  •     C f i n a l = R  
  • else 
  •     C f i n a l = L  
  • end if

3.2.2. Heuristic Approach

The heuristic solution to determine the final curvature for points close to λ f is based on the fact that the boundary is associated to paths having the point P v t 2 λ f (hence, the last arc of zero length q 2 = 0 for the example under investigation). As a consequence, the maximum distance between the point P v on the frontier and the line λ f is 2 Ω 1 . Again, it is possible to consider a region between λ f and the line λ f l parallel to λ f on its left and distant 2 Ω 1 , so that a way to manage the points in this region is to test both possibilities. This region is highlighted in grey in Figure 14a. Outside this region the curvature can be immediately obtained following a simple classification rule.
This result is valid for θ f { Q I , Q I I } , whereas when the final orientation θ f { Q I I I , Q I V } , symmetric considerations holds, so the line λ f r parallel to λ f on its right should be considered, as shown in Figure 14b. The resulting classification rules for identifying the curvature at the final point are summarized in Algorithm 4.
Algorithm 4 Final Curvature - Heuristic approach
  • Require:  q f , P v  
  • Ensure:  C f i n a l  
  • C f i n a l = C  
  • if  θ f ( 0 , π ) ( θ f { Q I , Q I I } ) then 
  •    if  P v π λ f l l  then 
  •       C f i n a l = L
  •  else if  P v π λ f r then
  •       C f i n a l = R  
  •    end if
  •   else if  θ f ( π , 2 π ) ( θ f { Q I I I , Q I V } ) then
  •    if  P v π λ f l  then 
  •       C f i n a l = L
  •   else if  P v π λ f r r then
  •       C f i n a l = R  
  •    end if
  •   else if  θ f { 0 , π } then
  •    if  P v π λ f l l  then 
  •       C f i n a l = L
  •   else if  P v π λ f r r then
  •       C f i n a l = R  
  •    end if 
  • end if

3.3. Curvature at the via Point

In this subsection, we complete the classification scheme with the identification of the turning direction at the via point. We consider separately the cases of paths with “zero” and “non-zero” curvature at the via point.

3.3.1. Paths with Zero Curvature at the via Point

We start with the consideration that paths with zero curvature at the via point P v are all and only those having the via point P v on the length-optimal Dubins path between P i and P f (see for example the light blue line in Figure 15). We denote such an oriented segment (starting from the initial optimal circle and ending to the final optimal circle) as λ 0 from now on (its orientation is defined as positive from P i to P f ). The importance of the segment λ 0 is that all the via-points on the left of λ 0 ( P v π λ 0 l ) are associated to paths with right turning direction at the via point C v i a P o i n t = R (hence of type C S R R S C ), and those on the right ( P v π λ 0 r ) are paths with left turning direction at C v i a P o i n t = L , i.e., C S L L S C paths.
In order to derive the conditions to identify paths with zero curvature at the via point, we start from the property of the Three-Point Dubins Path provided in Lemma 1, see Figure 5.
According to Lemma 1, for a shortest path of type C S C C S C , the bisector v between v i and v f is collinear with v v (see Figure 5) and consequently orthogonal to v θ v , leading to the optimality condition v v θ v = 0 .
The condition of zero curvature at the via point is verified when the bisector v is the null vector, i.e., v = 0 , that is when
v i = v f .
In this condition, v i and v f lie on the common tangent between the circles associated to the optimal initial and final turn.

3.3.2. Paths with Non-Zero Curvature at the via Point

As for paths with a non-zero curvature at the via point, it is possible to derive a condition useful to identify regions that differ only for the curvature at the via point. Indeed, the boundary of these regions is made of all points P v for which the two types of path have the same length. In order to exploit such idea, consider again the example of partition of the Cartesian plane in Figure 16.
Note that there are distinct areas where the optimal path type has different curvature at the via point. It is useful to define an appropriate notation to separate these areas:
  • P v Region 1: boundary RSR RSR / RSL LSR denoted as I 1
  • P v Region 0: boundary RSR RSL / RSL LSL denoted as I 0
  • P v Region 2: boundary LSR RSL / LSL LSL denoted as I 2
In the following, we derive the exact frontier between paths with different curvatures at the via point as follows either recurring to an analytical or and to the heuristic one.

3.3.3. Derivation of the Boundary between Domains with Different Curvatures at the via Point

Consider the boundary RSR RSR / RSL LSR first. A clear representation of this case is illustrated in Figure 17 where θ i and θ f are on quadrant I.
The R S R R S R and R S L L S R path types associated to the via point P v in Figure 17 have the same length, they differ only for the curvature at the via point. The optimal direction θ v R associated to the R S R R S R path type and θ v L associated to the R S L L S R path type have opposite direction, so that
θ v R = θ v L + π .
Therefore, they are both orthogonal to the vector v v , having denoted with v v the vector connecting the center of the circle associated with the optimal heading and the via point P v .
In order to analytically derive the partition boundary between R S R R S R and R S L L S R path types, the first condition to be verified is that the two types of path should have the same length, so:
L 1 R S R R S R ( θ v R ) + L 2 R S R R S R ( θ v R ) = L 1 R S L L S R ( θ v L ) + L 2 R S L L S R ( θ v L ) ,
that results in the following equation:
( x i r x v r ) 2 + ( y i r y v r ) 2 + ( x v r x f r ) 2 + ( y v r y f r ) 2 = = ( x i r x v l ) 2 + ( y i r y v l ) 2 2 Ω 2 + ( x v l x f r ) 2 + ( y v l y f r ) 2 2 Ω 2
From the optimality condition (Lemma 1) for the R S R R S R and R S L L S R paths, the following condition must be verified:
( e i R + e f R ) v θ v R = 0 ,
( e i L + e f L ) v θ v L = 0
where the superscripts R and L denote that the versors e i or e f refer to the path with right and left curvature at the via point, respectively. This leads to a system of three equations (17-19) with four variables ( P v = ( x v , y v ) , θ v R , θ v L ):
e i R = c v r c i r | c v r c i r |
e f R = c v r c f r | c v r c f r |
v θ v R = [ ( y v y v r ) , ( x v x v r ) ]
e i L = R ( γ i ) c v l c i r | c v l c i r | w i t h γ i = sin 1 2 Ω 1 | c v l c i r |
e f L = R ( γ f ) c v l c f r | c v l c f r | w i t h γ f = sin 1 2 Ω 1 | c v l c f r |
v θ v L = [ ( y v y v l ) , ( x v x v l ) ]
c v r = [ x v + Ω 1 sin ( θ v R ) , y v Ω 1 cos ( θ v R ) ]
c v l = [ x v Ω 1 sin ( θ v L ) , y v + Ω 1 cos ( θ v L ) ]
The analytical result, obtained solving the above system of equations, is a curve I 1 quite close to the common tangent (superior cross tangent) r r r c + between the circles associated to the optimal initial and final turn as shown in Figure 18.
The classification rule for identifying the curvature at the via point C v i a P o i n t related to the considered boundary is given in Algorithm 5.
Algorithm 5 Via Point Curvature - Analytical approach - Example in Figure 17 - P v Region 1
  • Require:  q i , q f , P v  
  • Ensure:  C v i a p o i n t  
  • compute curve I 1 from eq. (17-19) 
  • if  P v π I 1 l then 
  •     C v i a p o i n t = R  
  • else 
  •     C v i a p o i n t = L  
  • end if
Alternatively, following an heuristic approach, the solution can be sought considering an approximation of this boundary given by r r r c + . The resulting classification rules are summarized in Algorithm 6.
Algorithm 6 Via Point Curvature - Heuristic approach - Example in Figure 17 - P v Region 1
  • Require:  q i , q f , P v  
  • Ensure:  C v i a p o i n t  
  • C v i a p o i n t = C  
  • if  P v π r r r c + l l  then 
  •     C v i a p o i n t = R
  •   else if  P v π r r r c + r r  then
  •     C v i a p o i n t = L  
  • end if
More generally, by following the described approach to derive each boundary, one can verify that each boundary can be approximated by an appropriate common tangent line.
For the sake of completeness, the complete scenario that occurs when θ i and θ f are on quadrant I (see for example Figure 19) resorting to an heuristic approach (i.e., to a proper approximation of each boundary) is summarized in Algorithms 7 and 8.
Algorithm 7 Via Point Curvature - Heuristic approach - { θ i , θ f } Q I - P v Region 1
  • C v i a p o i n t = C  
  • if  m r r l e + > m λ f then 
  •    if  P v > r r l e +  then  
  •       C v i a p o i n t = R
  •   else if  λ f < P v < r r l e +  then
  •       C v i a p o i n t = L
  •   else if  r r r c + < P v < λ f  then
  •       C v i a P o i n t = R
  •   else if  P v < r r r c +  then
  •       C v i a p o i n t = L
  •    end if 
  • else 
  •    if  P v > r r r c +  then 
  •       C v i a p o i n t = R
  •    else
  •       C v i a p o i n t = L
  •    end if 
  • end if
Algorithm 8 Via Point Curvature - Heuristic approach - { θ i , θ f } Q I - P v Region 2
  • C v i a P o i n t = C  
  • if  m r r l e + < m λ i then 
  •    if  P v > r l l c + || r r l e < P v < λ i  then  
  •       C v i a P o i n t = R  
  •    else 
  •       C v i a P o i n t = L  
  •    end if 
  • else 
  •    if  P v > r l l c +  then 
  •       C v i a P o i n t = R
  •   else if  r r l e + < P v < r l l c +  then
  •       C v i a P o i n t = L
  •   else if  r r l e < P v < r r l e +  then
  •       C v i a P o i n t = R
  •   else if  P v > r r l e  then
  •       C v i a P o i n t = L  
  •    end if 
  • end if
For the sake of brevity, the general schema that occurs for heading at initial and final points within any of the four quadrants is not detailed here. However, any case can be derived following analogously the detailed case afforded so far.

4. An Illustrative Example

In this section we provide a simple example to illustrate how the proposed classification rules work, demonstrating the functionality of the proposed algorithms. Let consider the following initial and final configurations q i ( 0 , 0 , 50 ) , q f ( 10 , 0 , 35 ) , a maximal curvature Ω = 1 , and the via point P v = ( 10 , 15 ) (see Figure 19).
The optimal path type have the form " C i n i t i a l S C v i a P o i n t C v i a P o i n t S C f i n a l ", thus we need to identify the Curvature at the initial point, at the final point, and at the via point. We can rely to the heuristic approach - more practical with respect to the analytical counterpart. Applying Algorithm 2 since θ i Q I and P v π λ i l , we immediately deduce that C i n i t i a l = L . Similarly, Applying Algorithm 4 since θ i Q I and P v π λ f l l , we immediately deduce that C f i n a l = L . With reference to the curvature at the via point, since the initial and final configurations are both in the first quadrant, and the via point is on Region 2 we can apply the Algorithm 8. This allow us to deduce that C v i a P o i n t = R . Thus, we can directly deduce the optimal path type without making any calculation.
Following a conventional approach the optimal solution should have been found by searching among the eight candidate paths: { R S R R S R , L S R R S R , R S R R S L , L S R R S L , L S L L S L , R S L L S L , L S L L S R , R S L L S R } using any of the existing methods in the literature, such as those presented in references [13,14,25]. By applying one of these methods, the lengths of the eight candidate paths should have been calculated and compared to determine the optimal path.

5. Conclusions

In this paper, we afforded the shortest path type classification between an initial and a final configuration passing through an intermediate via point for a Dubins vehicle. The proposed methodology allows to select the optimal path type without any calculation, so that it is well fit to be used in real-time applications. The proposed strategy is described through the explanation of a simple worked example. Future research includes the extension of the approach to a time-varying and multi-robot scenario, as well as the use of the algorithm in practice.

References

  1. Lin, S.; Liu, A.; Wang, J.; Kong, X. A Review of Path-Planning Approaches for Multiple Mobile Robots. Machines 2022, 10. [Google Scholar] [CrossRef]
  2. LaValle, S.M. Planning Algorithms; Cambridge University Press: USA, 2006. [Google Scholar]
  3. Dubins, L.E. On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents. American Journal of mathematics 1957, 79, 497–516. [Google Scholar] [CrossRef]
  4. Boissonnat, J.D.; Cérézo, A.; Leblond, J. Shortest paths of bounded curvature in the plane. Journal of Intelligent and Robotic Systems 1994, 11, 5–20. [Google Scholar] [CrossRef]
  5. Bicchi, A.; Pallottino, L. On Optimal Cooperative Conflict Resolution for Air Traffic Management Systems. IEEE Transactions on Intelligent Transportation Systems 2000, 1, 221–231. [Google Scholar] [CrossRef]
  6. Savla, K.; Frazzoli, E.; Bullo, F. Traveling salesperson problems for the Dubins vehicle. IEEE Transactions on Automatic Control 2008, 53, 1378–1391. [Google Scholar] [CrossRef]
  7. Meyer, Y.; Isaiah, P.; Shima, T. On Dubins paths to intercept a moving target. Automatica 2015, 53, 256–263. [Google Scholar] [CrossRef]
  8. Shkel, A.M.; Lumelsky, V. Classification of the Dubins set. Robotics and Autonomous Systems 2001, 34, 179–202. [Google Scholar] [CrossRef]
  9. Berdyshev, Y. Berdyshev, Y. Time-optimal control of a nonlinear system in the problem of visiting a group of points. Cybernetics and Systems Analysis 1991, 27, 949–952. [Google Scholar] [CrossRef]
  10. Berdyshev, Y. A problem of the sequential approach to a group of moving points by a third-order non-linear control system. Journal of Applied Mathematics and Mechanics 2002, 66, 709–718. [Google Scholar] [CrossRef]
  11. Kaya, C. Markov-Dubins interpolating curves. Computational Optimization and Applications 2019, 73, 647–677. [Google Scholar] [CrossRef]
  12. Frego, M.; Bevilacqua, P.; Saccon, E.; Palopoli, L.; Fontanelli, D. An iterative dynamic programming approach to the multipoint markov-dubins problem. IEEE Robotics and Automation Letters 2020, 5, 2483–2490. [Google Scholar] [CrossRef]
  13. Sadeghi, A.; Smith, S.L. On efficient computation of shortest dubins paths through three consecutive points. Decision and Control (CDC), 2016 IEEE 55th Conference on. IEEE, 2016, pp. 6010–6015.
  14. Chen, Z.; Shima, T. Shortest Dubins paths through three points. Automatica 2019, 105, 368–375. [Google Scholar] [CrossRef]
  15. Parlangeli, G.; Ostuni, L.; Mancarella, L.; Indiveri, G. A motion planning algorithm for smooth paths of bounded curvature and curvature derivative. Mediterranean Conference on Control and Automation(MED); IEEE,, 2009; pp. 73–78.
  16. Parlangeli, G.; Indiveri, G. Dubins inspired 2D smooth paths with bounded curvature and curvature derivative. IFAC Proceedings Volumes 2010, 43, 252–257. [Google Scholar] [CrossRef]
  17. Hota, S.; Ghose, D. Optimal trajectory planning for unmanned aerial vehicles in three-dimensional space. Journal of aircraft 2014, 51, 681–688. [Google Scholar] [CrossRef]
  18. Becce, L.; Bloise, N.; Guglieri, G. Optimal path planning for autonomous spraying uas framework in precision agriculture. 2021 International Conference on Unmanned Aircraft Systems (ICUAS). IEEE, 2021, pp. 698–707.
  19. Hansen, K.D.; La Cour-Harbo, A. Waypoint planning with Dubins curves using genetic algorithms. 2016 European Control Conference (ECC). IEEE, 2016, pp. 2240–2246.
  20. Zhu, M.; Zhang, X.; Luo, H.; Wang, G.; Zhang, B. Optimization Dubins path of multiple UAVs for post-earthquake rapid-assessment. Applied Sciences 2020, 10, 1388. [Google Scholar] [CrossRef]
  21. Du, X.; Li, X.; Liu, D.; Dai, B. Path planning for autonomous vehicles in complicated environments. 2016 IEEE International Conference on Vehicular Electronics and Safety (ICVES). IEEE, 2016, pp. 1–7.
  22. Bayar, G. Reference path generation and obstacle avoidance for autonomous vehicles based on waypoints, dubins curves and virtual force field method. International Journal of Applied Mathematics Electronics and Computers 2017, 5, 1–6. [Google Scholar] [CrossRef]
  23. Sharma, K.; Doriya, R. Coordination of multi-robot path planning for warehouse application using smart approach for identifying destinations. Intelligent Service Robotics 2021, 14, 313–325. [Google Scholar] [CrossRef]
  24. Cai, W.; Zhang, M.; Zheng, Y.R. Task assignment and path planning for multiple autonomous underwater vehicles using 3D dubins curves. Sensors 2017, 17, 1607. [Google Scholar] [CrossRef] [PubMed]
  25. Parlangeli, G.; De Palma, D.; Attanasi, R. A novel approach for 3PDP and real-time via point path planning of Dubins’ vehicles in marine applications. Control Engineering Practice 2024, 144, 105814. [Google Scholar] [CrossRef]
  26. Goaoc, X.; Kim, H.S.; Lazard, S. Bounded-curvature shortest paths through a sequence of points using convex optimization. SIAM Journal on Computing, Society for Industrial and Applied Mathematics 2013, 42, 662–684. [Google Scholar] [CrossRef]
Figure 1. a) Graphic interpretation of the left and right centres for an initial configuration q i = ( P i , θ i ) . b) Initial and final configurations.
Figure 1. a) Graphic interpretation of the left and right centres for an initial configuration q i = ( P i , θ i ) . b) Initial and final configurations.
Preprints 115035 g001
Figure 2. Representation of the common tangents between the circles C i r and C f l : r r l c + superior cross tangent, r r l c inferior cross tangent, r r l e + superior external tangent, and r r l e inferior external tangent.
Figure 2. Representation of the common tangents between the circles C i r and C f l : r r l c + superior cross tangent, r r l c inferior cross tangent, r r l e + superior external tangent, and r r l e inferior external tangent.
Preprints 115035 g002
Figure 3. Notation used for identifying the position of a point with respect to a line r and an oriented line (curve) r o .
Figure 3. Notation used for identifying the position of a point with respect to a line r and an oriented line (curve) r o .
Preprints 115035 g003
Figure 4. A sketch of L S L L S L path.
Figure 4. A sketch of L S L L S L path.
Preprints 115035 g004
Figure 5. The vectors v i , v f , v v , and v θ v for a R S R R S R path.
Figure 5. The vectors v i , v f , v v , and v θ v for a R S R R S R path.
Preprints 115035 g005
Figure 6. Classification of C S C C S C paths with θ i and θ f on quadrant I: example of partition
Figure 6. Classification of C S C C S C paths with θ i and θ f on quadrant I: example of partition
Preprints 115035 g006
Figure 7. Optimal paths with P v on the right and on the left of the straight line λ i .
Figure 7. Optimal paths with P v on the right and on the left of the straight line λ i .
Preprints 115035 g007
Figure 8. Example with P v is on the right of λ i and first turn on the left.
Figure 8. Example with P v is on the right of λ i and first turn on the left.
Preprints 115035 g008
Figure 9. Geometric representation of the optimality condition in (5).
Figure 9. Geometric representation of the optimality condition in (5).
Preprints 115035 g009
Figure 10. Optimal S R R S L path ( t 1 = 0 ).
Figure 10. Optimal S R R S L path ( t 1 = 0 ).
Preprints 115035 g010
Figure 11. Frontier between R S R R S L and L S R R S L for θ i and θ f on quadrant I: a) radius of the limiting circles Ω 1 = 1 , b) radius of the limiting circles Ω 1 = 2 .
Figure 11. Frontier between R S R R S L and L S R R S L for θ i and θ f on quadrant I: a) radius of the limiting circles Ω 1 = 1 , b) radius of the limiting circles Ω 1 = 2 .
Preprints 115035 g011
Figure 12. Example of optimal path with θ i on quadrant III where P v is on the left of λ i but the optimal initial turn is right.
Figure 12. Example of optimal path with θ i on quadrant III where P v is on the left of λ i but the optimal initial turn is right.
Preprints 115035 g012
Figure 13. Example of optimal paths where P v is on the right and on the left of the straight line λ f .
Figure 13. Example of optimal paths where P v is on the right and on the left of the straight line λ f .
Preprints 115035 g013
Figure 14. a) Example of situation with θ f on quadrant I b) Example of situation with θ f on quadrant IV
Figure 14. a) Example of situation with θ f on quadrant I b) Example of situation with θ f on quadrant IV
Preprints 115035 g014
Figure 15. The vectors P i and P f for a path with zero curvature at the via point.
Figure 15. The vectors P i and P f for a path with zero curvature at the via point.
Preprints 115035 g015
Figure 16. Example of plane partitioning for classification. Three different regions are highlighted in the Cartesian plane.
Figure 16. Example of plane partitioning for classification. Three different regions are highlighted in the Cartesian plane.
Preprints 115035 g016
Figure 17. Example of paths with equal length for a case with θ i and θ f on quadrant I, and P v on r r r c + : a) R S R R S R path type, b) R S L L S R path type.
Figure 17. Example of paths with equal length for a case with θ i and θ f on quadrant I, and P v on r r r c + : a) R S R R S R path type, b) R S L L S R path type.
Preprints 115035 g017
Figure 18. Curve I 1 : frontier between R S R R S R and R S L L S R path types computed numerically exploiting eq. (16) and eq. (17).
Figure 18. Curve I 1 : frontier between R S R R S R and R S L L S R path types computed numerically exploiting eq. (16) and eq. (17).
Preprints 115035 g018
Figure 19. Illustrative Example: q i = ( 0 , 0 , 50 ) and q f = ( 10 , 0 , 35 )
Figure 19. Illustrative Example: q i = ( 0 , 0 , 50 ) and q f = ( 10 , 0 , 35 )
Preprints 115035 g019
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

© 2024 MDPI (Basel, Switzerland) unless otherwise stated