Keywords

1 Introduction

Motion planning involves path as well as trajectory planning. Path planning is a very important matter regarding unmanned autonomous vehicles. It can be defined as a search of a feasible path starting at any initial point to a final one in which a collision-free environment can be obtained. Hence, kinematic limitations of the system can be met. It is significant to point that there is a difference between path and trajectory planning. The first one considers the path geometry. The other one is more related to how a path evolves over time. Thus, in this research a path planning with 2D Dubins curves is developed and proposed. Moreover, other 3D paths are also generated similar to the ones studied in [15, 16]. Dubins paths designed for aerial vehicles are indeed more difficult due to the altitude changes. It looks like short paths will be able reduce consumption of fuel, travel time, energy and even life cycle of the platform. An unmanned aircraft flying at a steady altitude might save fuel. To determine an appropriate path planning approach, a vehicle and an aeronautics or aerospace reference frame have to be defined. Also, a 2D path planning option could help to a path with an unchanging altitude. So, path planning is a very remarkable issue to ensure that an unmanned aircraft can travel considerable distance missions completely. [13, 17,18,19].

2 Dubins Curves

As it is presented in [8], to be able to find a short path between two points, a mixture of lines and circular segments is needed. As stated earlier, Dubins paths can be classified as low, medium, or high altitude gains. Therefore, both altitude changes and steady altitude are looked into. There are three possibilities for a body to travel. These are straight lines, left and right curves. The resulting paths can be either CCC or CSC. C describes a circular arc in which the radius is \(\rho \) or \(R_{min}\). S shows a straight line. This is method known as the Dubins path. Hence, some of path configurations that can be got from a Dubins are: D = LSL, LSR, RSR, RSL, LRL, RLR. The arcs should be a left (L) and right (R) turn illustration and (S) is a straight line. The first point is for Dubins path generation is to establish what type of path will be employed. [9, 11]. Similary, other path planning options can be found in [1, 4, 5].

3 Dubins Aircraft Model

An airplane should be considered to move with a continuous velocity v and a steady altitude h. Thus, g is neglected since an aerial vehicle will be taken. So, the 2D system is as follows:

                  Dubins’ car model:      Dubins’ aerial vehicle model:

$$\begin{aligned} \begin{bmatrix} \dot{x}\\ \dot{y}\\ \dot{\psi } \end{bmatrix}= \begin{bmatrix} cos \ \psi \\ sin \ \psi \\ u \end{bmatrix} \qquad \qquad \qquad \begin{bmatrix} \dot{x}\\ \dot{y}\\ \dot{\psi } \end{bmatrix}= \begin{bmatrix} v \ cos \ \psi \\ v \ sin \ \psi \\ \omega \end{bmatrix} \end{aligned}$$
(1)

where \(\omega \) is the turning rate of the aircraft, v is the velocity, x and y are the inertial position and \(\psi \) is the heading angle.

3.1 Dubins Paths

For Dubins paths generation that can be feasible, it is necessary to consider vehicle constraints. The minimum turning radius is one of the most important ones. Besides the starting and ending points, the orientation of the angle is also crucial. Hence, if the curvature constraint is denoted as \(\kappa \), the path planning equation may be written as:

$$\begin{aligned} P_i(x_i,\ y_i,\ \psi _i) \ \xrightarrow {\kappa } P_f(x_f,\ y_f,\ \psi _f) \end{aligned}$$
(2)

If an unmanned vehicle flyes around a circle at constante velocity, the circle radius and turning angular velocity can be described as follows:

$$\begin{aligned} R_{min} =\frac{v^2}{g \sqrt{n^2-1}} \end{aligned}$$
(3)

To be able to obtain the smallest turning radius, the highest load factor and a low velocity are required. Likewise, to get an important turning rate, the largest possible load factor is also needed. The minimum velocity is selected. At any velocity the maximum load factor for a continuous turning flight is limited by the available thrust. [2, 7, 12].

$$\begin{aligned} \omega = \frac{g\sqrt{n^2-1}}{v} \end{aligned}$$
(4)

In which n is the load factor and g is the gravity acceleration. The equations described previously are based on the aircraft dynamic performance. There is another possible way to calculate the minimum turning radius. It is shown in [11] as:

$$\begin{aligned} \rho _{min} = \frac{v^2}{g\ tan\ \phi _{max}} \end{aligned}$$
(5)

The following expression is a manner to show the equations applied to compute start and finish circles based on the vehicle performance:

for \(C_i(x_{ci},\ y_{ci})\):

$$\begin{aligned} C_{x_{ci}}&= x_i + R_{min} \ cos\ \left( \psi _i + \frac{\pi }{2}\right) \end{aligned}$$
(6)
$$\begin{aligned} C_{y_{ci}}&= y_i + R_{min} \ sin\ \left( \psi _i + \frac{\pi }{2}\right) \end{aligned}$$
(7)

and for \(C_f(x_{cf}, y_{cf})\):

$$\begin{aligned} C_{x_{cf}} = x_f + R_{min} \ cos\ \left( \psi _f + \frac{\pi }{2}\right) \end{aligned}$$
(8)
$$\begin{aligned} C_{y_{cf}} = y_f + R_{min} \ sin \ \left( \psi _f + \frac{\pi }{2}\right) \end{aligned}$$
(9)

Similarly, the angle \(\psi _L\) is the angle measured from the straight line segment \(\chi _{(ci - cf)}\) to the y axis is given as follows:

$$\begin{aligned} \psi _L = \psi _{ci - cf} = tan^{-1}\left( \frac{y_{cf} - y_{ci}}{x_{cf} - x_{ci}}\right) \end{aligned}$$
(10)

The shortest path is estimated by matching the distance between the center of the circles. The distance between the center of the circles \(CR_i\) and \(CR_f\) is calculated as:

$$\begin{aligned} \chi _{(ci - cf)} = \sqrt{(x_{cf} - x_{ci})^2 + (y_{cf} - y_{ci})^2} \end{aligned}$$
(11)

The total length of the Dubins path is given by:

$$\begin{aligned} \chi _{Dubins} = \chi _{arc i} + \chi _{tangent} + \chi _{arc f} \end{aligned}$$
(12)

3.2 Dubins Airplane Paths

There is an option to get a 3D model. A significant analysis associated to disturbances is that wind is not considered in the equations of motion when the Dubins aircraft model is utilized. Thus, the kinematics model can be described as:

$$\begin{aligned} \begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \\ \dot{\psi } \end{bmatrix}= \begin{bmatrix} v \ cos \ \gamma \ cos \ \psi \\ -v \ cos \ \gamma \ sin \ \psi \\ v \ sin \ \gamma \\ \omega \end{bmatrix} \end{aligned}$$
(13)

where v is the airspeed, \(\psi \) is the heading angle and \(\gamma \) is the angle of flight. The relationship between the yaw angle \(\psi \) and the roll or bank angle \(\phi \) is as follows:

$$\begin{aligned} \dot{\psi } = \frac{g}{v}\ tan\ \phi \end{aligned}$$
(14)

where g is the gravity acceleration. Another hypothesis taken into consideration is that the well-tuned autopilot. So, the airframe model can be given as follows: [3, 10, 11].

$$\begin{aligned} \left( \begin{aligned} \dot{x}&= v \ cos \ \psi \ cos \ \gamma \\ \dot{y}&= -v \ sin \ \psi \ cos \ \gamma \\ \dot{z}&= v \ sin \ \gamma \\ \dot{\psi }&= \frac{g}{v} \ tan\ \phi \end{aligned} \right) \end{aligned}$$
(15)

The height of the vehicle could be modified if the flight path angle \(\gamma \) is changed. Moreover, the physical aircraft restrictions set some limitations to both roll and flight path angles. Such restrictions are shown as: [14].

$$\begin{aligned} |\phi ^c|&= \ \leqslant \bar{\phi } \end{aligned}$$
(16)
$$\begin{aligned} |\gamma ^c|&= \ \leqslant \ \bar{\theta } \end{aligned}$$
(17)
Table 1. Dubins parameters for quadrotor paths

3.3 The Shortest Dubins Paths

In the RSR case, the total length is as follows:

$$\begin{aligned} \begin{aligned}&\chi _{Dubins 1} = \varphi _i R_{min}\left[ \left( \psi _L - \frac{\pi }{2}\right) - \left( \psi _i - \frac{\pi }{2}\right) \right] \\&+ \chi _{tangent(ci - cf)} + \varphi _f R_{min}\left[ \left( \psi _f - \frac{\pi }{2}\right) - \left( \psi _L - \frac{\pi }{2}\right) \right] \end{aligned} \end{aligned}$$
(18)

where \(\varphi \) points how the path is moving along the arcs of the circles. The directions can be clockwise or counter-clockwise as shown in Fig. 1.

In the RSL case (Fig. 4), the total length is:

$$\begin{aligned} \begin{aligned}&\chi _{Dubins 2} = \sqrt{\chi ^2_{(c_i-c_f)}-4R_{min}^2} + R_{min}\left[ \left( \psi _L + \varphi _i + \psi _l \right) - \psi _L \left( \psi _i - \frac{\pi }{2}\right) \right] \\&+ R_{min}\left[ \left( \psi _L + \pi \right) - \left( \psi _f + \frac{\pi }{2}\right) \right] \end{aligned} \end{aligned}$$
(19)

With respect to LSR path (Fig. 3), the total length is given by:

$$\begin{aligned} \begin{aligned}&\chi _{Dubins 3} = \sqrt{\chi ^2_{(c_i-c_f)}-4R_{min}^2} + R_{min}\left[ \left( \psi _i + \frac{\pi }{2}\right) - (\psi _L + \varphi _i \psi _l) \right] \\&+ R_{min}\left[ \left( \psi _f - \frac{\pi }{2} \right) - (\psi _l + \psi _L + \varphi _i \psi _l - \pi \right] \end{aligned} \end{aligned}$$
(20)

The LSL case looks similar to the RSR path (Fig. 2). Thus, the total length can be given as follows:

$$\begin{aligned} \begin{aligned}&\chi _{Dubins 4} = \varphi _i R_{min}\left[ \left( \psi _f + \frac{\pi }{2}\right) - \left( \psi _L + \frac{\pi }{2}\right) \right] \\&+ \chi _{(c_i-c_f)} + \varphi _f R_{min}\left[ \left( \psi _L + \frac{\pi }{2} \right) - \left( \psi _f + \frac{\pi }{2}\right) \right] \end{aligned} \end{aligned}$$
(21)
Table 2. Flight angle computation
Table 3. Roll angle computation
Table 4. Pitch angle computation
Table 5. Yaw angle computation
Fig. 1.
figure 1

RSR dubins path

Fig. 2.
figure 2

LSL dubins path

Fig. 3.
figure 3

LSR dubins path

Fig. 4.
figure 4

RSL dubins path

3.4 Helical Paths

A helical path can be described as follows:

$$\begin{aligned} p(t) = C_h + \begin{pmatrix} R_h \ cos \ (\varPi _h \ t + \psi _h) \\ R_h \ sin \ (\varPi _h \ t + \psi _h) \\ -t \ R_h \ tan \ \theta _h \end{pmatrix} \end{aligned}$$
(22)

Where \(p(t) = [p_x \ p_y \ p_z]^T\) is the path position, and \(C_h = [C_x \ C_y \ C_z]\) is the helix center. Hence, The initial helix position is given by:

$$\begin{aligned} p(0) = C_h + \begin{pmatrix} R_h \cos \psi _h\\ R_h \sin \psi _h \\ 0 \end{pmatrix} \end{aligned}$$
(23)

Where \(R_h\) is the radius, \(\varPi \) = +1 denotes that the helix rotates in a clockwise direction and \(\varPi = -1\) is the opposite direction. \(\theta _h\) is the helix path angle. Therefore, a helical path can be expressed as:

$$\begin{aligned} \mathcal {P}_h = (C_h \ \psi _h \ \varPi _h \ R_h \ \theta _h) \end{aligned}$$
(24)
Fig. 5.
figure 5

RSR dubins path low altitude

Fig. 6.
figure 6

RSR dubins path high altitude

Fig. 7.
figure 7

RSL dubins path for low altitude

Fig. 8.
figure 8

RSL dubins for high altitude

Fig. 9.
figure 9

LSR dubins path low altitude

Fig. 10.
figure 10

LSR dubins path high altitude

Fig. 11.
figure 11

LSL dubins path low altitude

Fig. 12.
figure 12

LSL dubins path high altitude

Several values for \(\theta _{max}\), \(\psi _{max}\), \(\psi _{min}\), \(H_i\), \(H_f\) and \(R_{min}\) are given (Table 1). Possible Dubins paths for a quadrotor are generated and presented in the following figures. These types of paths applicable when a a quadrotor is flying at a steady speed and when roll and pitch angles have certain constraints. The velocity considered is about \(15\,\text {m/s}\). The minimum radius is decreased to avoid large arcs and keep VTOL features. This particular detail show the way to compute a maximum flight path angle \(\gamma \) of 1.22 radians. It is a close constraint value as in [14]. In addition, Eq. 10 is used to find the flight path angle values (Tables 2, 3, 4). In the same way, pitch and roll angles (\(\phi \) \(\theta \), \(\psi \)) are computed by applying the equations that follow:

$$\begin{aligned} \begin{aligned} \theta = \alpha _a + \gamma \\ \phi = tan^{-1} \frac{v^2}{R_{min}} \end{aligned} \end{aligned}$$
(25)

and the heading angle is found by using Eq. 30. These calculations are done just for the Dubins paths that are a suitable choice for a quadrotor with a \(+\) configuration. Dubins airplane paths are more complicated because of the altitude variable included. The path cases are determined by the difference of the altitude between the start and final positions. These are described as low, medium and high altitude [6, 14]. H is be taken as z for altitude regarding to start and final configurations or altitude difference. Low and high alternatives are only taken in this research work. The path climbs and descends from \(H_i\) to \(H_f\) when \(\gamma \) is varied. So, it can be as follows (Table 5):

$$\begin{aligned} \gamma = tan^{-1} \left( \frac{H_f - H_i}{\chi _{tangent}}\right) \end{aligned}$$
(26)

4 Results

As it is given in Table 1, different values for \(\theta _{max}\), \(\psi _{max}\), \(\psi _{min}\), \(H_i\), \(H_f\) and \(R_{min}\) are determined. (\(R_{min}\), \(\gamma _{max}\) and \(\phi \) are constant). A low level autopilot is included into the computational resource with common aeronautics symbols. It changes within commands of straight lines and helical paths. Also orientation regulation is also adjusted. All Dubins paths are performed for both altitude cases (low and high). A helix parameter is considered as well. However, it is not really accomplished because of the set values and path conditions. It can suggested that the RSL is the shortest path. Quadrotor attitude parameters are established. Thus, after calculating flight angles, all of seem very small without significant variations. Also, the pitch and yaw angles are also very similar specially, the RSL ones at low altitudes. The generated paths are shown in the following graphs (Figs. 5, 6, 7, 8, 9, 10, 11 and 12).

5 Conclusions

It can be inferred that a quadrotor can truly fly in RSR, RSL, LSL and LSR path types keeping a constant minimum radius and velocity. This method has been implemented as an useful way to measure the shortest path with the maximum curvature for an unmanned aerial airplane based on different estimated points. Additionally, a modification of the Dubins car model is established. Thus, another way for turning flight might be achieved just by taking a constant velocity. Therefore, very similar paths with no Dubins curves can be performed. It is observed that helical paths are not easily got or are not really necessary to get the initial and final points. This factor is because of the VTOL characteristics of this type of airplane. Likewise, it appears to be that the integrated autopilot needs proper adjustments. Attitude angles can be computed from basics flight dynamics equations.