1.0 Introduction
In multi-agent systems, each agent autonomously achieves its object in cooperation with other agents. Multi-agent systems are used for tasks such as swarming, consensus, flocking, formation, etc [Reference Toyota and Namerikawa1].
The formation design is one of the common requirements in the robots flocking and comprehensive research has been carried out in this area. According to Lee et al. [Reference Lee and Chwa2], the formation control can be divided into three groups: virtual structure, leader-follower and behaviour-based approaches.
In the first method, the group members adopt and maintain a certain geometric position relative to each other by following a virtual structure [Reference Ren and Beard3]. In this technique, the real geometric formation tends to the virtual structure and becomes traceable to it through minimising the difference of position between the real formation and the virtual structure by a type of controller [Reference Liu and Bucknall4].
The second approach is a centralised strategy of controlling the group movement of where the members of the group hold their position at a certain angle and distance from the group leader [Reference Dang and Horn5, Reference Achmadi, Marjono and Miswanto6].
Finally, in the last one, each member has its own specific control system, and the control system configuration of each member is designed based on its functional requirements to coordinate with other group members [Reference Oh, Park and Ahn7]. Hence, the behaviour-based approach is a decentralised strategy for controlling robots [Reference Issa and Rashid8].
According to the literature, Table 1 summarises different formation approaches and their comparisons in terms of advantages and disadvantage.
Table 1 Different formation approaches and their properties
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_tab1.png?pub-status=live)
The main topic of the present study is the straight-line formation flight of Fixed-Wing Unmanned Aerial Vehicles (FWUAVs) and following the leader to carry out search as well as reconnaissance missions. In this regard, it is necessary to use the leader-follower approach in order to be able to guide the entire group of UAVs with just one leader through the ground station. On the other hand, because the use of the virtual structure method makes the formation resistant to environmental obstacles, in other words, less formation geometric deformation occurs in the face of obstacles, the combination of these two techniques can meet the requirements of this research.
Review of the literature shows that leader-follower method is widely used despite its single point of failure, and theoretically guarantees formation stability as well as convergence [Reference Qian, Tong and Li11]. Different tools, such as graph theoretic techniques, direct Lyapunov method, input-output linearisation, backstepping, the artificial potential, etc. are utilised in the leader-follower approach [Reference Kowdiki, Barai and Bhattacharya12]. Among these tools, the potential function technique has been the centre of attention of many researchers due to its simple design and feasibility for real-time system control due to its fast computation time [Reference Dang, La and Nguyen13]. To design a real-time motion planning, a potential field strategy is adopted in our formation flight planning.
In practical applications, the issue of formation control without considering environmental constraints is an incomplete issue. Thus, the issue of obstacle avoidance is also assessed in the present study. In addition, consideration of dynamic constraints of UAVs in path planning is crucial because they cannot follow planned paths without considering these constraints.
Numerous studies have been performed on avoiding obstacles to holonomic robots [Reference Tang, Dian and Gu14–Reference Rostami, Sangaiah and Wang16]. However, little research has been conducted on FWUAVs, which are a type of non-holonomic robot due to dynamic constraints.
Regarding avoiding obstacles of fixed-wing airplanes, Sasongko et al. [Reference Sasongko, Rawikara and Tampubolon17] defined an algorithm, according to which obstacles were enclosed inside elliptical shapes. Estimation of contact points between ovals and the normal plane of the airplane velocity vector resulted in determining points, which were the basis of change in the trajectory and avoiding of collision with obstacles.
Han K. et al. [Reference Han, Lee and Kim18] aimed to design a mechanism for avoiding obstacles by a swarm of UAVs through enclosing obstacles into elliptical shapes and placing the repulsive potential function (the repulsive potential function is an artificial repulsive force derived from mathematical relations) in the shapes. While this method would reduce the emergence of local minima in collision points, compared to the traditional technique (use of a circle for activating the potential function), the generation of local minima is still possible in collisions that are near the obstacle centre. In addition, the functional constraints of FWUAVs have not been considered in that research.
Stastny et al. [Reference Stastny, Garcia and Keshmiri19] presented an approach to obstacle avoidance in fixed-wing aircraft using morphing potential field. They also considered functional constraints of single fixed-wing aircraft. In 2017, Ai et al. [Reference Ai, Yu and Chen20] applied the algorithm proposed in [Reference Stastny, Garcia and Keshmiri19] for group movement of FWUAVs.
However, in references [Reference Han, Lee and Kim18, Reference Stastny, Garcia and Keshmiri19], the issue of local minimum formation remained in cases of UAV’s collision with the obstacle centre. In addition, there was no clear image or guarantee of adherence to functional constraints of FWUAVs at the collision point.
In the previous work, the authors [Reference Mirzaee Kahagh, Pazooki and Etemadi Haghighi21] proposed a new algorithm where variable repulsive circles were applied in the design of UAV’s paths when encountering a static obstacle. Two subjects were emphasised there. Firstly, at no place in the trajectory is the radius of a turn smaller than the minimum radius of turn of the FWUAVs. Secondly, the designed path is the optimal trajectory in terms of the least deviation from the main path, and, therefore, the least deformation occurs in the formation structure. However, the disadvantages of that work include offline trajectory design and static obstacles.
In previous work [Reference Mirzaee Kahagh, Pazooki and Etemadi Haghighi21], only fixed obstacles were discussed and a large number of variable repulsive circles (VRC method) were considered to form a spindle shape around the obstacle at each iteration of the simulation. In contrast, this research considers dynamic obstacles, as well as static obstacles, and only the circles of minimum radius of UAV’s turn, are applied in the path planning. Accordingly, the proposed algorithm is more efficient in terms of computational complexity and therefore, suitable for online applications. In addition, contrary to previous research, where a single integrator model was used as the UAVs model, this research employs the double integrator (transitional dynamics) of the UAVs to investigate the performance characteristics of the UAVs. In the present paper, in addition to the changes made to the obstacle avoidance algorithm, the formation algorithm is also upgraded by adding new potential functions and combining them with the virtual structure method.
2.0 Formation control design
2.1 Problem formulation
A novel formation control algorithm is developed based on the virtual structure, leader-follower, and artificial potential fields methods to benefit from the advantages found in these approaches. All guidance and navigation commands are given to the leader and all group members follow the leader.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig1.png?pub-status=live)
Figure 1. V-shape formation structure.
The minimum communication information of the members is applied, i.e. merely the relative position information in the inertial coordinate frame. A mobile coordinate frame is defined with its origin placed on the leader. In the two-dimensional space, one of the axes of the introduced frame is tangent to the leader’s movement path, while the other one is perpendicular to the path. The position of each member is defined virtually with the desired formation in the mobile coordinate frame. Subsequently, the geometric positions of each virtual member are transferred to the inertial coordinate frame using transformation matrices. Finally, a desired virtual structure is obtained in the inertial coordinate frame, to which, the real members should correspondingly approach. It is necessary to obtain the angle between the tangent line to the leader’s movement path with one of the inertial coordinate frame axes, as follows, to find the orientation angle of the mobile coordinate frame relative to the inertial coordinate frame (Fig. 1).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn1.png?pub-status=live)
$\theta(t)$
: The orientation angle of the mobile coordinate frame relative to the inertial coordinate frame at time t.
$\left[ {\begin{array}{*{20}{c}}{{x_l}\left( t \right)}\\{{y_l}\left( t \right)}\end{array}} \right]$
: The relative position vector of the leader in the inertial coordinate frame.
The focus is on the formation and maintenance of V-shaped formation, while following the virtual leader in the simulation process. The formation algorithm is designed such that it would be adjustable in terms of the number of group members and the value of the V-shaped angle. The formation of the straight-line shape can also be achieved by increasing the value of the V-shaped angle to
$\;{180^{\circ}}$
.
The positions of all virtual members should be calculated first in relation to the mobile coordinate frame according to Fig. 1, which will be then transferred to the inertial coordinate frame, as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn2.png?pub-status=live)
n: Number of agents.
D: Desired inter-agent distance.
${D_L}$
: Desired distance between middle agents (
$({n + 1})/2$
) and leader
$\left( {n + 1} \right)$
.
$\bar p_i^L$
: The position vector of the virtual member in the mobile coordinate frame. The index (L) is the symbol of the mobile coordinate frame, which is attached to the leader.
The position of each virtual member relative to the inertial coordinate frame can be calculated as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn3.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn4.png?pub-status=live)
$\bar p_i^E = \left[ {\begin{array}{*{20}{c}}{\bar x_i^E}\\{\bar y_i^E}\end{array}} \right]$
: The position vector of the virtual member in the inertial coordinate frame. The index (E) is the symbol of the inertial coordinate frame.
$C_L^E$
: Homogeneous transformation matrix.
After obtaining the position of the virtual structure in the inertial coordinate frame, the real members are forced to be pushed towards the virtual members to pursue the virtual members by defining the potential functions between the real and virtual members. To this end, the distance error between the corresponding virtual and real members is defined as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn5.png?pub-status=live)
${\bar p_i} = \left[ {\begin{array}{*{20}{c}}{\bar x_i^E}\\{\bar y_i^E}\end{array}} \right]$
and
${p_i} = \left[ {\begin{array}{*{20}{c}}{x_i^E}\\{y_i^E}\end{array}} \right]$
: The position vectors of virtual and real members in the inertial coordinate frame, respectively. For simplicity, the superscript E is omitted in the rest of the paper.
The general kinematic model of the members for an n-member group with relative positions of
${p_i}$
in the inertial coordinate frame is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn6.png?pub-status=live)
Where,
${u_i}$
is the total control input vector, which is a combination of the control inputs as is described in the continuation of Section 2 and Section 3.
2.2 Formation control
The first input is a function directing the real members of the group to the corresponding virtual members. This function is obtained from the gradient of the potential function, which is defined on the error variable (
${e_i}$
) as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn7.png?pub-status=live)
${U_{1i}}$
: The potential function between real and virtual members.
The second term in Equation (7) is the damper term, which can be adjusted by the weighting coefficient (
${W_{1vi}})$
. The terms
${v_i}$
and
${\bar v_i}$
are the velocity of real and virtual members, respectively.
In this paper, the gradient was obtained based on the distance between the group members because agents move in the direction of the negative gradient of the potential function.
The following potential function is applied to converge the group real members toward the virtual structure.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn8.png?pub-status=live)
Where,
${W_{1i}}$
is the weighting coefficient of attractive force between real and virtual agents.
2.3 Collision avoidance
A repulsive potential function is defined to guarantee collision avoidance of the group members. The gradient of this function drastically increases by reducing the distance between the members. The function is merely activated in the neighborhood of each member in a certain radius. Since the dynamics of the group members are as dimensionless point masses, the dimensions of members should be considered in calculating the radius of repulsive potential activation. Thus, the desired radius is obtained by summing the diameters of the real members, the safety margin, and the distance required to create the formation as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn9.png?pub-status=live)
Where,
${d_r}$
is the largest dimension of real dynamics of the group members,
${d_s}$
denotes the safety margin,
${d_{ij}}$
shows the distance required between two members of i, j to keep the desirable position in the formation and
${r_{ij}}$
is the radius of repulsive force activation (Fig. 2).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig2.png?pub-status=live)
Figure 2. The position of two members relative to each other.
Thus, the second input of the formation control system is the gradient of the repulsive potential function around each member, defined as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn10.png?pub-status=live)
where,
${U_2}$
is the repulsive potential function and
${F_{damp}}$
shows the damper of the relative movement between two members.
${p_i}\;$
and
$\;\;{p_j}$
are position vectors of i and j agents.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn11.png?pub-status=live)
${W_{2vi}}$
is weighting coefficient.
${v_i}$
and
${v_j}$
are the velocity of agents i and j, respectively.
In this paper, a novel potential function is introduced, which efficiently creates repulsive forces between the group members. The proposed function (Equation (12)) has a proper efficiency in creating a repulsive force in avoiding obstacle collision. Due to its soft behaviour when interacting with other forces, chattering at the collision area is less. It is also not very sensitive to changes in weighting coefficients, so adjusting the weighting coefficients of this function is easy.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn12.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn13.png?pub-status=live)
Where,
$\;{w_{2i}}\;\;$
and
${\alpha _1}$
are weighting coefficient and a constant coefficient, respectively. The values of
${w_{2i}}\;\;$
and
${\alpha _1}$
are obtained by trial and error in the simulation process. Their values were given in Table 2. The function (
${\rm{csch}}$
) is the hyperbolic cosecant function.
Table 2 The simulation parameters
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_tab2.png?pub-status=live)
Note 1:
$\|z\|_\sigma $
(the σ-norm of a vector) is a
${R^m} \to R \ge 0$
mapping, which is defined as follows [Reference Olfati-Saber15].
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn14.png?pub-status=live)
$\varepsilon \;$
is the small positive number shown in Table 2.
Figure 3 displays the gradient behaviour of the potential function.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig3.png?pub-status=live)
Figure 3. Repulsive function for
${d_r} = 10m$
,
${w_{2i}} = 1$
,
$\alpha = 1000$
.
Thus, the formation control input is obtained regardless of the environmental disturbances as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn15.png?pub-status=live)
The algorithm introduced up to this stage can be utilised in all robots, whose dynamics can be described as the model presented in Equation (6). Nevertheless, the physical and functional constraints of robots should be considered in practical applications.
3.0 Obstacle avoidance strategy
Enclosing the obstacle inside a circle (sphere in a 3D space) appears to be one of the conventional and applied methods in the design of obstacle avoidance (AO) algorithms in problems concerning potential functions. In this paper, the circle is used to enclose the obstacle (two-dimensional spaces). The circle circumference acts like a switch in this approach; thus, once a robot enters the circumference of the circle, the repulsive potential function is activated to repel it and prevents the collision with the obstacle.
However, this traditional method is not viable in practical applications, particularly in the movement of non-holonomic robots such as FWUAVs. Indeed, local minima can occur in the collision area and the robot’s speed reaches zero in such areas due to the interference of attractive guidance forces and the obstacle repulsive forces. In addition, drastic sudden and abnormal changes in the outcome of forces applied to the robots make significant changes in the robots’ speed and moving direction, which is inconsistent with the capability of many robots in practice. These are the disadvantages of the traditional method, which have been solved in this paper (Fig. 4).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig4.png?pub-status=live)
Figure 4. Traditional AO.
The formation flight control of FWUAVs is a practical application of the algorithm designed in the previous section. Here, the simplified kinematic model of the UAVs are considered, which has been widely used in many literatures [Reference Ai, Yu and Chen20, Reference Chang, Xia and Huang22, Reference Wang and Xin23].
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn16.png?pub-status=live)
Where,
$x$
,
$y$
are the locations of the UAVs in the inertial coordinate system.
$v$
and χ are linear velocity and heading angle, respectively. The linear velocity is assumed to be equal to the ground speed, and all work is considered in the absence of wind. In addition, the model assumes that the aircraft thrust is directed along the velocity vector, the Earth is flat, and the centre of mass is time-invariant.
The translational dynamics model of the UAVs is presented as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn17.png?pub-status=live)
where,
$\;{m_i}$
is mass,
${T_i}$
denotes thrust force,
${L_i}$
represents lift force,
${D_i}$
is drag force, g shows gravity, and
${\phi _i}$
is bank angle.
${T_i}$
,
${L_i}$
and
${\phi _i}$
are control inputs of the UAVs. Using the feedback linearisation technique, the nonlinear model given in Equations (16) and (17) is converted to a double-integrator model as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn18.png?pub-status=live)
The
$\;{a_{xi}}$
and
$\;{a_{yi}}$
are virtual accelerations and new control inputs, which can be obtained by the gradient of potential functions. The real control inputs are calculated based on the virtual accelerations using the following relations.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn19.png?pub-status=live)
Note that the functional constraints of UAVs should be considered in the design of the flight path of FWUAVs. The dynamics of these flying vehicles are non-holonomic, which impose the following functional constraints.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn20.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn21.png?pub-status=live)
${R_m}$
refers to the Minimum Turn Radius (MTR), which depends on the minimum velocity (
${v_{min}}$
) and the maximum bank angle (
${\phi _{max}}$
) or the maximum load factor (
${n_{max}}$
). The minimum flight speed and the minimum turn radius are the major functional constraints of UAVs, which must be considered in designing the flight path.
The potential functions are used as a basis for designing the algorithm introduced here, suggesting that it has proposed a novel strategy to confront obstacles using repulsive circles. Relying on drawing MTR circles, it is managed to combine the potential functions around the obstacle in such a way that the members of the group will not face sharp changes in the direction and rate of the speed in collision with the obstacle (Figs. 5 and 9).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig5.png?pub-status=live)
Figure 5. Static AO mechanism.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig6.png?pub-status=live)
Figure 6. The designed AO algorithm.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig7.png?pub-status=live)
Figure 7. Zoom of Fig. 6.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig8.png?pub-status=live)
Figure 8. Minimum radius of AO mechanism activation.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig9.png?pub-status=live)
Figure 9. Dynamic AO mechanism.
3.1 Static obstacles
As illustrated in Fig. 5, to apply the obstacle avoidance algorithm in online flights, the obstacle avoidance mechanism is activated, when the UAV reaches the distance
${R_{am}}$
(Equation (27)) from the obstacle. A tangent line to the flight path is drawn from the time the UAV reaches the
${R_{am}}$
radius. This line is named ‘collision line’. If the collision line (
${p_{tt}}$
) intersects the obstacle circle (the circle that surrounds the obstacle with radius of
${R_o}$
and the centre point of O) at two points, the collision will definitely happen. The intersection points are called
${c_1}$
and
${c_2}$
.
Next, a line is sketched from point H, in the middle of points
${c_1}$
and
${c_2}$
, which passes through the centre of the obstacle circle (point O). This line is perpendicular to the collision line. Subsequently, a circle with a radius
${R_m}$
and centre
${O_{m1}}$
(relation (23)) is generated so that the circle centre is located on the line perpendicular to the collision line, which is also tangent to the obstacle circle according to Fig. 5. Continuing the process, two circles
${O_{m2}}$
and
${O_{m3}}$
, which are tangent to the collision line as well as to the circle
${O_{m1}}$
, are derived. Finally, three circular sectors from the three introduced circles of
${O_{m1}}$
,
${O_{m2}}$
, and
${O_{m3}}$
are selected.
These circular sectors are indeed the ideal and desirable flight path for the UAVs collision avoidance with the obstacle. This is because it is the closest path to the obstacle, which is compatible with the functional constraints of the UAVs.
The information required to estimate the positions of the mentioned circles is given as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn22.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn23.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn24.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn25.png?pub-status=live)
Where,
${\vec a_1}$
&
${\vec a_2}$
represent the relative position vectors of the intersections of the collision line and a circle with radius
${R_a}$
and the centre of O (centre of the obstacle).
$\vec O$
is the position vector of obstacle circle.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn26.png?pub-status=live)
${R_a}\left( i \right)$
is the instantaneous radius of the activation circle. The activation circle acts as a switch, which activates the OA mechanism when any UAV enters inside it.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn27.png?pub-status=live)
${R_{am}}$
is the maximum value of
${R_a}$
, i.e.,
$\overrightarrow {HO} = 0$
. Meanwhile, the minimum distance requires sensing the obstacle for successful operation of AO mechanism. As shown in Equation (27), it is only dependent on
${R_o}$
and
${R_m}$
.
Three potential functions in the centre point of each circle
$\;{\vec O_{m1}}$
,
${\vec O_{m2}}$
, and
${\vec O_{m3}}$
are defined for guiding the UAVs to follow the desired path. These functions are active only inside the circles
${O_1}$
,
${O_2}$
, and
${O_3}$
, respectively. The circles
${O_1}$
,
${O_2}$
, and
${O_3}$
are shown in Fig. 6 and Fig. 7 (not illustrated in Fig. 5 due to the large number of images). Note that the direction of the repulsive force in the circles
${\vec O_{m2}}$
and
${\vec O_{m3}}$
is inwards, while it is in the opposite direction in the circle
${O_{m1}}$
.
The repulsive potential functions of obstacle avoidance are defined as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn28.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn29.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn30.png?pub-status=live)
The results of the obstacle avoidance forces, obtained from the gradient of the defined potential functions, can be calculated as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn31.png?pub-status=live)
Figure 6 illustrates an instance of applying the introduced algorithm on a UAV.
Note 2: Since the presented algorithm relies on the collision line at every moment, these collision lines must be drawn continuously tangent to the ideal path (the path that does not sense the obstacle). Hence, an ideal path is required to be defined simultaneously with the real path. This ideal path will be the basis for designing the obstacle avoidance mechanism. This virtual ideal path is shown in the simulation section in green color.
3.2 Dynamic obstacles
For optimal obstacle avoidance of moving obstacles, whose positions change with time, appropriate predictions of their future positions should be done. Otherwise (i.e., when information is online and there is no information on the obstacle’s behaviour in future moments), a safety range should be considered to avoid obstacle collision in case of unexpected behaviours. As such, it is deviated from the ideal and optimal behaviour in dealing with a static obstacle. Nonetheless, it is worth noting that this behaviour should be at least as close as possible to the ideal behaviour.
When designing the dynamic obstacle avoidance strategy, in addition to considering UAV functional constraints, the state of the collision must also be predicted. Thus, as depicted in Fig. 8, the obstacle circle was enclosed inside an MTR circle to have the longest distance between the obstacle circle and the turn circle in line with the obstacle’s trajectory. In this way, the collision line hits the MTR circle before hitting the obstacle circle to activate the avoidance mechanism. The design steps of this mechanism are explained as follows.
The first step of avoidance mechanism is to determine the minimum distance from the obstacle, where the mechanism should be activated in order to implement the avoidance process based on the desired criteria (Fig. 8), and is calculated as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn32.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn33.png?pub-status=live)
$\beta $
: The angle between the obstacle velocity vector and the UAV velocity vector.
${R_{dam}}\left( i \right)$
: The minimum distance that requires sensing the obstacle for successful operation of AO mechanism.
${\vec e_{{v_o}}}$
: The unit vector of the obstacle velocity vector.
Continuing the process, dynamic AO mechanism is presented in Fig. 9. Figure 5 is a special case of Fig. 9. In Fig. 5, because the obstacle is fixed, a line perpendicular to the velocity vector of the UAVs (instead of the obstacle velocity vector) is used to design the OA mechanism. Two potential functions (Equations (37) and (38)) are defined in the centre point of each circle
$\;{\vec O_{m4}}$
and
${\vec O_{m5}}$
for guiding the UAVs to follow the desired path. The first function is active only inside the circle
${O_4}$
. The other required data are presented as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn34.png?pub-status=live)
${\vec e_{{v_i}}}$
: The unit vector of the UAV velocity vector.
${R_{da}}\left( i \right)$
is the instantaneous radius of the activation circle.
Note 3: It is notable that when
$\overline {PO} (i) \gt {\overline {PO} _{m4}}(i)$
,
${k_1} = 1$
; otherwise,
${k_1} = - 1$
.
The position of the MTR circle that surrounds the obstacle is as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn35.png?pub-status=live)
For optimisation of the OA mechanism behaviour (In order to minimise deviation from the ideal path), the instantaneous speed of the obstacle must also be available, till proportion to the relative speed changes (between UAV and obstacle), the radius of circle Om4 and the weight coefficients are adjusted. Of course, to do this, it is necessary to add an algorithm to the current mechanism to apply the previous settings according to the working conditions.
There are times when the collision is unexpected, and the angle of impact is such that the UAV does not have enough time to bypass the obstacle from behind. This occurs when the collision line experiences the first encounter with the obstacle from the front and at a very close distance to the obstacle.
In other words, the following condition is met according to Fig. 10.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn36.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig10.png?pub-status=live)
Figure 10. Unexpected AO mechanism.
Where
$p_i'$
is the i th ideal member of the group (Note 2) and
$\mu $
denotes the impact sharpness coefficient, which is a function of the relative speed between the UAV and obstacle where
$0 \lt \mu \lt 1$
.
The mechanism of obstacle avoidance for this condition is illustrated in Fig. 10. The governing relation in this part is similar to the previous section, except it is necessary to select
${k_1} = - 1$
and
${k_2} = - 1$
.
In this section, the repulsive potential functions of obstacle avoidance are considered as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn37.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn38.png?pub-status=live)
where
${w_{o4\;}}$
and
${w_{o5}}$
are weighting coefficient.
${\alpha _2}$
is a constant coefficient.
The results of the obstacle avoidance forces, obtained from the gradient of the defined potential functions, can be calculated as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn39.png?pub-status=live)
Ultimately, the output of the total algorithm can be summarised, i.e. the aggregation of formation and the obstacle avoidance algorithms as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn40.png?pub-status=live)
where
${u_i}$
is the total input to the group members’ dynamics,
${u_{fi}}$
denotes the formation control input regardless of environmental disturbances (Equation (15)) and
${u_{oi}}$
is the sum of the obstacle avoidance forces.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig11.png?pub-status=live)
Figure 11. Encountering an obstacle from centre.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig12.png?pub-status=live)
Figure 12. Encountering an obstacle from sides.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig13.png?pub-status=live)
Figure 13. Encountering an obstacle with velocity of
${\left[ {0{\rm{\;}} - 15} \right]^T}$
.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig14.png?pub-status=live)
Figure 14. Encountering an obstacle with velocity of
${\rm{\;}}{\left[ {7{\rm{\;}} - 15} \right]^T}$
.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig15.png?pub-status=live)
Figure 15. Encountering an obstacle with velocity of
${\rm{\;}}{\left[ { - 7{\rm{\;}} - 15} \right]^T}$
.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_fig16.png?pub-status=live)
Figure 16. Functional characteristic of UAVs in OA.
4.0 Simulation results and discussion
4.1 Static AO simulation
The simulation results are presented in the Matlab software. The functional constraints of Aerosonde [Reference Niculescu24], which is a UAV manufactured by AAI corporation of USA, are considered in the simulation process. The dynamics of the virtual leader is assumed as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqn41.png?pub-status=live)
where
${p_l}\left( t \right) = \left[ {{x_l}\left( t \right),\;\;{y_l}\left( {} \right)} \right]$
: Indicating the position vector of the leader at time t in the inertial coordinate system.
${v_l}$
&
${\psi _l}$
: The leader’s linear velocity and orientation angle, respectively. The leader control input is assumed as follows.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqnu1.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqnu2.png?pub-status=live)
Note that the following functional constraints are always applied to UAVs in all stages of the simulation.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqnu3.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqnu4.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221109120718240-0755:S0001924022000094:S0001924022000094_eqnu5.png?pub-status=live)
The attractive forces between virtual and real members should be calculated based on Equation (7) as well as the repulsive forces around a member for anti-collision between agents from Equation (10) and repulsive forces between members of the group with the obstacle based on Equations (29), (30) and the parameters indicated in Table 2. Finally, the total input of the system is obtained by substitution in Equation (40).
The initial conditions for simulation began with random locations in the [300m × 300m] space and with the random angles.
In all simulation processes, merely agent No. 2 is illustrated due to the large number of images. Agent No. 2 has the highest deviation from the normal pass, and thus has the worst motion condition.
Figure 11 displays the simulation of the movement of three UAVs with a straight-line formation or V-shaped formation with an angle of
${180^{\circ}}$
. The simulations are performed at a constant altitude and the zero-path angle (γ = 0). It has been conducted from different angles and in the most critical states possible in colliding with obstacles for fully demonstrating the capability of the designed algorithm.
Based on the initial assumption of the problem (considering the obstacle within a circle), only two cases may happen with the collision of the UAV from any angle and direction. The first case involves a collision with the centre of the obstacle, which would be the worst possible situation as the highest deviation in the UAV trajectory can occur (Fig. 11). In the second case, the collision may occur from lateral points outside the centre of the circle. In such a case, the path deviation rate depends on the distance of the collision point from the centre of the circle (Fig. 12).
The trajectories of the UAVs with the straight-line formation in facing an obstacle with a diameter of 60m are displayed in Fig. 11a. As shown, the UAVs have maintained the desired formation while following the leader. The members of the group return to the desired geometric shape with the minimum disorganisation after colliding with the obstacle. This feature of the algorithm suggests the robustness of the formation structure against environmental conditions. The magnification of the obstacle collision location is shown in Fig. 11b. As shown, the UAVs change direction very gently with a smooth curvature to pass the obstacle, indicating the compatibility of the designed path with the flight capabilities of UAVs. According to Fig. 11c, the UAVs reach from random positions to the desired distance of the adjacent UAV (radius of repulsive force activation in formation keeping algorithm:
${r_{ij}} = 50m$
) after about 20 seconds and well maintain the distance over time, while following the leader. These distances are temporarily interrupted in the face of obstacles; however, they immediately return to the desired state. In the meantime, the distance between the UAVs never approaches the critical distance (
${d_r} = 10m$
) due to using the unbounded (from left) inter-agent repulsive function. This feature highly matters in practical applications to observe safety and prevent the collision of UAVs with each other.
Another scenario is displayed in Fig. 12, where the obstacle is in the middle of the paths of two adjacent UAVs. Accordingly, the obstacle is well avoided and crossed in this case as well with no collision and turbulence on the flight path. As indicated, state variables and control inputs have also shown proper behaviour.
Figure 12a and 12b indicate the trajectories of UAVs and the magnification of the trajectories, respectively. As shown, smooth passes are also generated in this case. As shown in Fig. 12b and 12c, in the time interval of 30 to 40 seconds, the formation composition is disturbed due to facing the obstacle. The distance between the UAVs has been reduced below 50 metres. That is, the repulsive force is activated.
Figure 12c demonstrates the distance between UAV2 and UAV3, which changes up to 120m around the obstacle but the distance between UAV1 and UAV2 does not reach below the critical distance (
${d_r} = 10m$
). Figure 12d and 12e illustrate the magnitude of state variables of velocities and heading angle. Figure 12f, g and h depict the time history of control inputs of thrust force, bank angle, and lift force, respectively.
The scenarios presented are indeed the most complex possible states that may occur in the case of obstacles, especially when the UAVs themselves are turning. Accordingly, other conditions of collision will be available.
4.2 Dynamic AO simulation
Similar to the previous section, the formation flight of UAVs was simulated with the same dynamic in this part, where the leader’s movement occurs with the fixed angle of
${\psi _l} = 0.5\;\left( {rad} \right)$
.
Figure 13 reveals the trajectories of three UAVs with the straight-line formation when encountering an obstacle at a
${\left[ {0{\rm{\;}} - 15} \right]^T}$
speed. As observed, the group of UAVs accomplished its mission, while following the leader, keeping the formation with the least disorganisation, when encountering a dynamic obstacle.
Figure 13c presents the distances between the UAVs and the centre of the obstacle. As illustrated, the distance of none of the UAVs with the obstacle reached below 60 m (radius of the obstacle circle), meaning that they did not collide with the obstacle.
Figure 13d shows the distance between UAVs. As observed, while the distance between UAVs 2 and 3 is about 150 m when encountering obstacles, the distance between UAVs 1 and 2 is by no means less than the critical distance (10 m).
Figures 14 and 15 show the obstacle movements at speeds of
${\left[ {7{\rm{\;}} - 15} \right]^T}$
and
${\left[ { - 7{\rm{\;}} - 15} \right]^T}$
, respectively. Formation kipping and lack of colliding of members with the obstacle and each other are evident in the trajectories of UAVs, similar to the previous scenario.
The behaviour of state variables and control inputs is also shown in Figure 16 to display the functional characteristics of UAVs in encountering a dynamic obstacle. For the sake of brevity, we only mentioned the mode, where the obstacle moved at a speed of
${\left[ { - 7{\rm{\;}} - 15} \right]^T}$
. Notably, the performance characteristics of UAVs in other scenarios are similar.
Figure 16f, g and h show the control inputs of thrust force, bank angle, and lift force, respectively. As shown, all of the inputs are saturated based on dictated limitations at the beginning of the simulation section. The key point is the moments of collision with an obstacle (i.e. the interval of 22s to 32s), where the control inputs act with maximum power. This feature is a declaration of accomplishing a coordinated turn by minimum radius, which is in compliance with the principle of flight dynamics reported in basic literature [Reference Roskam25].
5.0 Conclusion
As demonstrated by the simulations’ results, the introduced algorithm provides satisfactory performance in the formation control of UAVs in presence of static and dynamic obstacles.
In this research, a new potential function is introduced that is suitable for creating repulsive forces in high-speed collision avoidance. It behaves smoothly without chattering when combined with other potential field forces.
In designing the shape of the geometric formation, there is no limitation in terms of the number of group members and the value of the formation angle. Given the use of functional constraints of FWUAVs in algorithm development, the resulting paths are formed in a way that these UAVs can follow the trajectories. In addition, the low complexity property of the introduced algorithm enables it proper for online applications, which is an important operational feature in the field of UAV application.
To verify the effectiveness of the introduced algorithm, several complex simulation scenarios have been illustrated (when the UAVs were turning at the same time as colliding with the obstacle). Accordingly, the formation geometry is maintained even in the worst scenarios and the resulted trajectories do not have any perturbation.
Note that the combination of UAV turn manoeuver with an obstacle collision has not been investigated in any of the previous works in the field of application of potential functions in obstacle avoidance.
The designed trajectory is optimal for passing the static obstacle because the UAVs’ minimum radius of turn is employed in path planning. Thus, the obtained trajectory is the nearest possible path for an FWUAV to pass an obstacle. Therefore, the least path deviation and changes of formation geometry shape occur, when encountering an obstacle.
Trajectory design for the dynamic OA is not as desirable as the static OA, due to considering the safety margin in cases of unexpected collisions. This is due to the uncertainties existence in dealing with moving and unexpected obstacles. However, the algorithm can be upgraded by smartly tuning the weighting coefficients of potential functions.
In the next work, metaheuristic optimisation methods will be employed for automatic adjustment of weighting coefficients and optimisation of the algorithm.