Next Article in Journal
Effect of Sodium on Methanogens in a Two-Stage Anaerobic System
Next Article in Special Issue
Structural Design and Parameter Optimization of Bionic Exhaust Tailpipe of Tractors
Previous Article in Journal
High-Throughput Online Visual Detection Method of Cracked Preserved Eggs Based on Deep Learning
Previous Article in Special Issue
Configuration Design and Trans-Media Control Status of the Hybrid Aerial Underwater Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Three-Dimensional Obstacle Avoidance Strategy for Fixed-Wing UAVs Based on Quaternion Method

National Key Laboratory of Transient Physics, Nanjing University of Science and Technology, Nanjing 210094, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(3), 955; https://doi.org/10.3390/app12030955
Submission received: 3 December 2021 / Revised: 4 January 2022 / Accepted: 13 January 2022 / Published: 18 January 2022
(This article belongs to the Special Issue Bionic Design and Manufacturing of Innovative Aircraft)

Abstract

:

Featured Application

This work provides a generalization of the velocity obstacle (VO) collision avoidance strategy to nonlinear second-order underactuated systems in three-dimensional dynamic uncertain environments.

Abstract

This work provides a generalization of the three-dimensional velocity obstacle (VO) collision avoidance strategy for nonlinear second-order underactuated systems in three-dimensional dynamic uncertain environments. A hierarchical architecture is exploited to deal with conflicting multiple subtasks, which are defined as several rotations and are parameterized by quaternions. An improved VO method considering the kinodynamic constraints of a class of fixed-wing unmanned aerial vehicles (UAV) is proposed to implement the motion planning. The position error and velocity error can be mapped onto one desired axis so that, only relying on an engine, UAVs can achieve the goal of point tracking without collision. Additionally, the performance of the closed-loop system is demonstrated through a series of simulations performed in a three-dimensional manner.

1. Introduction

In recent years, fixed-wing UAVs have gained growing applications in the civilian field as well as military fields, such as search, mapping, rescue, surveillance, and patrol. These applications commonly require the UAV to autonomously track predefined waypoints or prescribed trajectories. In addition, the autonomous detection of potential threats and an online obstacle avoidance algorithm are necessary for UAVs to ensure adequate security [1]. Accordingly, the control problem of UAVs is a multi-objective issue, which indicates that it is extremely important to introduce an integrated approach, taking into account global navigation as well as the local potential obstacle avoidance simultaneously. However, fixed-wing UAVs are typical underactuated systems with nonholonomic constraints, and it is still a challenging problem to develop a guidance framework when facing such a system.
Another important case is that UAVs need to perform multiple tasks, especially as there exist conflicts in sub-tasks, which motivates us to carry out our research. To this end, we introduce a hierarchical architecture [2,3,4] to cope with an arbitrary number of subtasks.

1.1. Related Works

Substantial research on motion planning for UAVs has been conducted, including sampling-based methods [5] and search-based methods [6]. For UAVs, the methods mentioned above are not directly applicable since they heavily rely on target prior information and large-scale iteration.
In view of the aforementioned considerations, reactive collision avoidance methods have been utilized to tackle the motion planning problem of systems with limited computing resources. The VO method was first proposed in [7], and it was originally developed for moving obstacles, considering the velocity of each obstacle in the environment. Since the VO method computes the avoidance velocity reactively based on the instantaneous geometric relationship of collisions, target prior information becomes needless. Compared with other reactive collision avoidance methods, such as artificial potential field (APF) methods [8,9,10], the VO method guarantees a lower computational cost and is less prone to problems with local minimums. Refs. [11,12,13] extend VO methods to heterogeneous agents. Ref. [11] relies on specific implicit coordination, Ref. [12] assumes that agents have the same type of control input, and Ref. [13] depends on an abstraction kinodynamic model of the robot; the latter makes the VO algorithm truly independent of the model. VO methods were further extended to the system with non-holonomic constraints by testing the optimality of sampling control [14], by mapping between the holonomic speed and the nonholonomic control input [15]. The latter guarantees a lower computational cost. Following the concept proposed in Ref. [15], we map the avoidance velocity to the nonholonomic control input. Thanks to the contributions of Refs. [16,17] on the three-dimensional velocity obstacle (3D-VO) method, the range of feasible solutions (obstacle avoidance velocity or acceleration) has been significantly expanded. Our method builds on the concept proposed in [17] which was successfully verified by experiments for collision avoidance with static obstacles [18] and extended to the dynamic system with nonholonomic constraints. The approaches mentioned above directly update velocities to avoid moving obstacles, and thus, it is summarized as the first-order method. Actually, compared with the quadcopter, the fixed-wing UAV cannot instantly change the direction of the velocity vector. Instead of computing an avoidance velocity command, it is possible to produce an avoidance acceleration that ensures that the collision avoidance can always be maintained.
A systematical extension of VO methods to second-order or higher-order systems has been conducted [12,13,19,20,21]. However, the aforementioned approaches contain some assumptions that limit their application to UAVs, such as only considering the simplified linear robot model, calculating the solution in a two-dimensional plane, and supposing that the robot can implement omni-directional acceleration. In [22], a 3D collision cone was utilized to examine collision condition and rigid quadrotor dynamics were considered. However, the obstacle avoidance only considers static obstacles in the environment. The fixed-wing UAV involved in our research has more complex dynamics. To the best of our knowledge, the extension of the 3D-VO method to a second-order nonlinear dynamic system of an underactuated fixed-wing UAV cannot be found in the literature. Mainly, there are the following difficulties: (1) a fixed-wing UAV is not only a nonholonomic system, but also a kinodynamic constrained nonholonomic system. It must take explicitly into account this nature of UAVs in planning strategies. However, collision avoidance may then no longer be guaranteed. (2) The dynamics of a fixed-wing UAV is represented as a second-order nonlinear differential equation with variable coefficients, which make it extremely difficult to directly derive a feasible velocity set or acceleration set, as described in [12,19,20].

1.2. Contributions

(1) Inspired by the work [19], we incorporate second-order kinodynamic constraints into the velocity by limiting the set of feasible velocities to those that can be achieved with position error below a predefined value. A reference trajectory resulting from the 3D-VO approach can be retained as formulated in [20]. We derive the control input of the velocity loop as well as the attitude loop to enable the UAV to converge to the reference trajectory, such that the motion planning problem can be transformed into a trajectory tracking problem, which has been extensively studied [23,24]. Since the derivation of the reference trajectory does not directly depend on the kinodynamic model of the UAV, complex derivation of control obstacles (CO) [20] or acceleration–velocity obstacles (AVO) [19] can be avoided.
(2) The additional tasks add to the overall flexibility of the UAV. Inspired by the concept of behavior-based control [2,25], we establish a guidance framework, where multi-tasks are arranged according to a hierarchy plan and conducted in a desired priority. The subtasks can be defined as velocity vectors as presented in [25]. In line with the conventional behavior-based approaches and similar to the approach proposed in [2], we decompose the overall mission into several rotations, which are parameterized by quaternions.

1.3. Organization

The rest of the paper is organized as follows. In Section 2, we give some important definitions, the dynamic model of a fixed-wing UAV, and the problem statement. In Section 3, we introduce an improved 3D-VO method for the UAV collision avoidance. In Section 4, a hierarchical architecture to deal with the multiple task is represented. In Section 5, we describe in detail the design of the translation loop and attitude loop controllers. The results presented in this paper are illustrated by a series of simulations in Section 6. The paper ends with conclusion in Section 7.

2. Problem Formulation

2.1. Notation

Matrices are in capital M , vectors are in bold x , sets are in mathcal , and the Minkowski sum of two sets is expressed as . The Euclidean norm of vector x is expressed as x . The superscript indicates the coordinate, and the coordinate systems involved in this article include the inertial coordinate system [26], n; body coordinate system, b; velocity coordinate system, s; error coordinate, e; avoidance coordinate system, a; and desired coordinate system, d.
The conversion between coordinate systems commonly relies on rotation matrixes or quaternions. A velocity vector v in b-frame v b = [ v x b v y b v z b ] Τ 3 coincides with the x-axis of the s-frame. Then, the velocity vector v in the s-frame is expressed as v s = [ v b 0 0 ] Τ = R b s v b , where the rotation matrix
R b s S O 3 = { R 3 : R Τ R = Ι ,   det ( R ) = 1 }
( Ι is an identity matrix) represents the rotation from frame-b to frame-s. The quaternion is represented by a column matrix:
q s b = [   q 0 q 1 q 2 q 3 ] Τ = [ η s b ε s b Τ ] Τ = [ cos ( θ s b 2 ) k s b Τ sin ( θ s b 2 ) ] Τ
where η s b is a scalar, ε s b 3 is a vector, θ s b = cos 1 ( v b   ·   v s v s 2 ) represents the rotation angle, and k s b 3 = v b × v s v b × v s represents the rotation axis. The quaternion and the rotation matrix can be transformed through the equation:
R b s = I + 2 η s b S ( ε s b ) + 2 S 2 ( ε s b ) ,   S ( v ) = [ 0 v 3 v 2 v 3 0 v 1 v 2 v 1 0 ]
Taking the derivative of the rotation matrix, we get R ˙ b s = R b s S ( w s b b ) , where is the projection of the rotation of vector b relative to vector c on b.
Quaternion multiplication can deal with the problem of combing finite time rotations of the rigid body. Supposing there are two consecutive rotation quaternions, then they can be combined into an equivalent quaternion through quaternion multiplication: q p = M ( q ) p , where M ( · ) is the quaternion multiplication operator: M ( q ) = [ q 0 q 1 q 2 q 3 q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 ] .
Theorem 1.
([27]).If a rigid body makes a finite number of consecutive rotations around the axes that pass the same fixed point, then the size of the composite rotation angle has nothing to do with the order of each continuous rotation, but the direction of the composite rotation is related to the order of each continuous rotation.
That is to say, the final attitude of the rigid body is related to the sequence of continuous rotation, and the position of the composite rotation axis changes with the sequence of continuous rotation.
The rotation of the UAV between two coordinate systems can be disassembled into multiple continuous rotations: q n a = q n e q e a , where the formula represents the rotation from frame-a to frame-e, and then to frame-n. According to Theorem 1, defining the current quaternion q e a relative to the previous quaternion q n e .guarantees the direction that a vector rotated by q n a is pointing in is determine by the last quaternion q e a . This inspires us to define each rotation as a subtask and arrange subtasks according to their importance, then combine subtasks into a total task. For example, the task represented by quaternion q e a takes precedence over the task represented by q n e . After the high-level task q e a is completed, it will degenerate into a unit quaternion [ 1 0 Τ ] Τ , and its effect on the composite rotation will reduce to zero. Then, the system will proceed to the next task defined as q n e .

2.2. UAV Dynamics Model

The dynamic of a fixed-wing UAV is represented by the following equations of motion:
p ˙ U A V n = R b n v U A V b
m v ˙ U A V b = F a g b ( v U A V b ) m S ( w n b b ) v U A V b + m u 1
J w ˙ n b b = M a t b ( w n b b , v U A V b ) S ( w n b b ) J w n b b + A u 2
In the Equation (2), p U A V n represents the position of the UAV relative to the n-frame, and v U A V b = [ v x b v y b v z b ] Τ is the velocity of the UAV in b-frame. In the Equation (3), m is the quality of the UAV, F a g b is the combined force of the aerodynamic and gravity forces of the UAV in b-frame, which is a nonlinear function of v U A V b . u 1 = [ T x b 0 0 ] Τ is the control input of the translation loop, and only includes a thrust of the body. In the Equation (4), J is the inertia matrix, M a t b is the resultant moment of the aerodynamic and thrust moments of the UAV, which is a nonlinear function of w n b b , v U A V b , and u 2 = [ ϖ a ϖ e ϖ r ] Τ is the control input of the rotation loop, denoting the rudder angle.
The guidance system computes a desired quaternion, a desired angular velocity, and a desired angular acceleration. The translation loop and rotation loop solve the control inputs u 1 ,   u 2 to track the desired speed and attitude, respectively. The structure of the UAV controller is shown in Figure 1.

2.3. Problem Statement

Assumption:
1.
The UAV and obstacle are seen as spheres with radii r U A V ,   r O B S , respectively;
2.
The obstacle mentioned in this article is assumed to be a moving but non-maneuvering obstacle;
3.
Suppose sensors mounted on the UAV can accurately provide measurements, such as locations p U A V ,   p O B S 3 , velocities v U A V ,   v O B S 3 and radii r U A V ,   r O B S of the UAV itself and obstacles;
4.
The control system cycle is consistent with the detection system cycle;
5.
The influence of wind is ignored during the flight of the UAV to simplify the problem.
The UAV and the obstacle are moving in a three-dimensional space W = 3 . X m 1 represents the set of states of the UAV, m1 denotes the dimension of the state space, U m 2 represents the set of control input of the UAV, and m2 denotes the dimension of the control input
x ˙ ( t ) = f 1 ( x ( t ) ) + f 2 ( x ( t ) ) u ( t )
where x X , u U , f 1 ( ) and f 2 ( ) are nonlinear functions of the state x . Given an initial x ( t 0 ) and a control input u ( t ) , the state of the robot at time t t 0 can be solved. If rank [ f 2 ( x ( t ) ) ] < dim [ x ( t ) ] , the system described in Equation (5) is said to be underactuated. The position of the UAV p UAV can be derived from x ( t 0 ) and u ( t ) :
p U A V ( t ) = f 3 ( x ( t 0 ) ,   u ( t ) )
where f 3 ( ) X × U 3 . D ( p ,   r ) = { l   |   l - p r } denotes the area occupied by a sphere, centered at p with radius r . Similarly, the airspace occupied by the UAV can be expressed as O ( p UAV ) = D ( p U A V , r U A V ) 3 , where r U A V is the radius of the UAV. This also applies to obstacles O ( p O B S ) = D ( p O B S ,   r O B S ) 3 .
Definition 1.
The UAV will remain collision-free with the obstacle in period τ .
O ( p U A V ( t ) ) O ( p O B S ( t ) ) = ,   t [ t 0 t 0 + τ )
Definition 2.
The UAV arrives at the destination p p r e .
e : = p U A V p p r e ,   e ( t 0 ) > ε > 0 ,   t > 0 ,   ε e ( t ) Λ
When e ( t ) Λ , we conclude that the UAV has arrived at the destination point. To achieve Definitions 1 and 2, we define a desired frame-d and make the frame-s align with the desired frame-d by controlling the attitude and speed of the UAV. Quaternions q e a and q n e are used to represent the obstacle avoidance and target tracking sub-task, respectively, and then the quaternion multiplication q n a = q n e q e a is utilized to combine these sub-tasks into a total task, which is defined as the desired quaternion, q n d : : = q n a . The purpose of this work can be defined as follows: given the initial state x ( t 0 ) and the information of the obstacle, computing a control input u ( t ) for the UAV, such that
q n d [ 1 0 Τ ] Τ

3. Improved 3D-VO Method for UAV Collision Avoidance

Under the guidance framework proposed in this work, all subtasks are described by position vectors in the n-frame. In this section, we introduce obstacle avoidance points resulting from the improved 3D-VO algorithm.

3.1. Formation of 3D-Velocity Obstacle Set

For UAVs, 3D-VO [17] methods define the set of velocities that will collide with moving obstacles within the time horizon τ . The set is denoted by V O U A V | O B S ( v O B S ) :
V O U A V | O B S ( v O B S ) = { v U A V |   R ( p U A V , v U A V v O B S ) ( D ( p U A V , r U A V ) D ( p O B S , r O B S ) )   }
where R ( p , v ) = { p + t v | t > 0 } includes the rays with the starting point p and the direction v . The UAV will not collide with the moving obstacle with velocity v O B S when v U A V lies outside V O U A V | O B S ( v O B S ) . The geometry of V O U A V | O B S ( v O B S ) is a cone. Related parameters are shown in Equation (11).
{ O v o = v O B S ,   d a i = d u o 2 r p s 2 d v o = d a i 2 d u o ,   r v o = r p s d a i d u o η v o = arcsin ( r v o d a i ) k v o = [ cos θ u o   cos ψ u o cos θ u o   sin ψ u o   sin θ u o ] d v o
where d u o is the distance between the UAV and the moving obstacle, k v o and η V O represent the axis and the half angle of the cone, respectively, as shown in Figure 2a. The position of the obstacle is described by the spherical coordinates relative to frame-n. The vertex O V O of the cone is translated from the position O v o of the UAV along v O B S , as shown in Figure 2b.
A standard cone parametric equation is illustrated in Equation (12)
[ x c y c z c ] = [ q q tan η v o cos φ q tan η v o sin φ ]
where q [ 0 , d V O ] , φ [ 0 , 2 π ] . Further, it is necessary to rotate the above cone twice to align its cone axis with k v o and translate along v O B S until the vertex coincides with O v o . Finally, we obtain the geometry of V O U A V | O B S ( v O B S ) , which is called the VO cone. This process is represented by Equation (13).
When the distance d u o between the UAV and the obstacle below the safety threshold distance d s a f e ( d s a f e > r U A V + r O B S ), V O U A V | O B S ( v O B S ) is updated in real time to determine whether the collision will happen in the future. This is mainly based on whether the positive extension of v U A V is inside the VO cone.
[ x V O y V O z V O ] = [ cos ψ U O sin ψ U O 0 sin ψ U O cos ψ U O 0 0 0 1 ] [ cos θ U O 0 sin θ U O 0 1 0 sin θ U O 0 cos θ U O ] [ x c y c z c ] + O v o
{ d U O d s a f e [ v U A V O v o ] k v o > cos η v o v U A V O v o
If the condition in Equation (14) is satisfied, the positive extension of v U A V is inside the VO cone, then the set of avoidance velocities further generate A V U A V | O B S = W \ V O U A V | O B S ( v O B S ) . When the avoidance velocity v a v o of the UAV in the next time horizon belongs to A V U A V | O B S , the collision can be avoided. The solution of v a v o is introduced in Section 4.2. The termination of obstacle avoidance mode cannot be judged by v U A V V O U A V | O B S ( v O B S ) alone. When the obstacle avoidance mode is nearing the end, it is often the moment that the distance is close to the minimum, which can easily distort the VO cone, resulting in failing to find the correct obstacle avoidance velocity and even causing the control commands of the UAV chattering. Consequently, we introduce a λ angle, which is the angle between two vectors. The stage shown in Figure 3a is the initial stage of obstacle avoidance λ 1 > λ , where λ is a design parameter. Figure 3c shows λ 3 < λ , indicating that the avoidance mode has ended. The UAV is between the obstacle and the destination point. The stage shown in Figure 3b is the critical stage and λ 2 = λ . Hence, the judgment basis of the avoidance mode is redefined as
{ d U O d s a f e [ v U A V O v o ] k v o > cos η v o v U A V O v o λ > λ

3.2. Avoidance Planes

Similar to two-dimensional velocity obstacle (2D-VO) methods, the UAV needs to independently find the avoidance velocity in the set A V U A V | O B S that is constantly being updated in real time. However, compared with the 2D-VO method, the topological dimension of the configuration space is expanded to three, and the difficulty of solving the avoidance velocity also increases. Hence, we follow the concept on the avoidance planes mentioned in Refs. [17,28]. Avoidance planes help transform the 3D problems into a series of 2D setups. S is defined as a series of discrete planes that rotate around the x-axis of the s-frame at certain angles. The plane of rotation angle δ is denoted as S δ S , shown in Figure 2b.
The cross section obtained by the intersection of V O U A V | O B S ( v O B S ) and the plane S δ = 2 is denoted as S U A V | O B S δ ( v B ) . If there is a collision in the S δ plane, then selecting the avoidance velocity v a v o S δ \ S U A V | O B S δ ( v B ) outside the area S U A V | O B S δ ( v B ) can avoid the collision.
To obtain expressions of conic sections in any obstacle avoidance plane, we implement a rotation-plane coordinate system { x δ , y δ , z δ } by rotating the s-frame around the x s axis at an angle of δ and then projecting the VO cone under the rotation-plane coordinate system:
[ x δ y δ z δ ] = R s δ [ x s y s z s ] ,               R s δ = [ 1 0 0 0 cos δ sin δ 0 sin δ cos δ ]
We set the z δ - axis coordinate of the VO cone to zero and obtain the coordinate points set F = = { ( x v o δ , y v o δ ) | z v o δ = 0 } , which is the coordinates of the conic section on the avoidance plane S δ . When z δ = 0 , for each φ , there exists a unique q corresponding to it. The mapping relationship is described as
q | z δ = 0 = O v o y sin δ O v o z cos δ sin ψ u o cos θ u o sin δ tan η v o cos φ cos ψ u o sin δ tan η v o sin φ sin ψ u o sin θ u o sin δ + sin θ u o cos δ + tan η v o sin φ cos θ u o cos δ
When δ takes different values, the shape of the conic section is different, roughly divided into ellipse, hyperbola, and triangle. Generally, there is a strong correlation between the shape of the conic section and collision risk for the UAV. The shapes of the collision risk from high to low are the triangle, hyperbola, and ellipse. Therefore, we would better find an appropriate v a v o in the elliptical conic section, which can be selected by judging the relationship between ζ δ and η V O :
ζ δ = arccos ( k v o d v o [ 0 sin δ cos δ ] )
When
ζ δ < π 2 η V O
the conic section shape is an ellipse; otherwise it is a hyperbola or triangle.

3.3. Avoidance Velocity

We rely on the concept of the VO cone and the avoidance plane introduced in the previous sections to solve the avoidance velocity, mainly referring to Ref. [17], additionally taking into account the kinematic and dynamic constraints of the fixed-wing UAV. The original VO methods usually update the avoidance velocity to a point on the boundary of the VO cone. There are many ways to solve such a velocity, for example: by changing the magnitude without changing the direction, changing the direction without changing the magnitude, or a combination the two strategies, according to a certain optimization index. For fixed-wing UAVs, its velocity magnitude must be greater than the stall speed. At the same time, the top speed is limited, due to physical limitations. Therefore, the velocity control range seems to be narrow. Moreover, due to the inertia of the UAV, the thrust is less sensitive for controlling the velocity. Consequently, relying on rudders to change the direction of the velocity is considered to be the best way in this work.
Constraints 1 (dynamic constraints): We introduce the concept of the maximum deflection angle α , which is the maximum change of the velocity in the direction, in order to characterize the dynamic constraints of the UAV, similar to the motion primitives proposed in Ref. [13]. In this work, v a v o is a continuous control parameter v a v o u ( v a v o ) , indicating the magnitude and direction of the velocity of the UAV, defining the reference trajectory from the moment the UAV avoidance mode starts.
p r e f ( t ) = p ( t 0 ) + ( t t 0 ) v a v o   ,   t t 0
Meanwhile, the trajectory p U A V ( t ) is the bijective function of the initial state x ( t 0 ) and the control input u ( t ) . The control input needs to meet the dynamic constraints of the UAV:
U = { u 3 , respect   all   dynamic   constrains }
The trajectory of the UAV gradually converges to the reference trajectory under the control force. The maximum error between the trajectory and the reference trajectory χ ( t ) = max ( p U A V ( t ) p r e f ( t ) ) shows a significant difference under different initial states and control input. The influence of the control parameter v a v o on χ is what we are concerned about. As shown in Figure 4b, the UAV can track the reference trajectory of the original direction with a small error, and the maximum error value increases almost linearly with the increase in α  Figure 4a. We can quickly query the maximum error corresponding to a different value of α , which is constant relative to a given initial value. Given the initial state x ( t 0 ) , the set of control parameters that limit the maximum error below χ is defined as follows:
A : = { v a v o |   max ( p U A V ( t ) p r e f ( t ) ) χ   u U }
where v a v o refers to the boundary of the set A , corresponding to the maximum deflection angle α max . In the avoidance plane S δ = 2 , the relationship between the original velocity of the UAV and the avoidance velocity is expressed as follows:
{ v a v o δ = K ( α ) v U A V δ K ( α ) = [ cos ( α ) sin ( α ) sin ( α ) cos ( α ) ] ( α α max )
Constraints 2 (collision avoidance and kinematic constraints): In addition to the magnitude constraint, v a v o must satisfy the obstacle avoidance constraint as well, that is, the end of the vector, which we call the velocity point, should be on the conic section F .
( v a v o x δ , v a v o y δ ) { ( x v o δ , y v o δ ) | z v o δ = 0 } { ( x δ , y δ ) | ( x δ ) 2 + ( y δ ) 2 = v U A V 2 }
In Equation (23), the velocity point in the avoidance plane S δ is defined as the intersection of the conic section F and circular curve { ( x δ , y δ ) | ( x δ ) 2 + ( y δ ) 2 = v U A V 2 } . As shown in Figure 5, three situations need to be considered: (a) F and the circular curve only have one intersection, v a v o 1 , in the feasible region (gray). Then this point is defined as the velocity point. (b) There are two intersection points of F and the circular curve in the feasible region. Then the vector with the smallest α is chosen as the avoidance velocity. (c) There is no intersection point of F and the circular curve in the feasible region. Then the vector corresponding to α max is the avoidance velocity. In this case, a reasonable selection of d safe [11] can ensure that the UAV avoids collision in the worst scenario (the UAV flying toward the obstacle):
{ d min = ( 2 v U A V r p z τ α max + v O B S T ) 2 + r p z 2 T = τ α max arctan ( 2 v U A V r p z τ α max v U A V τ α max r p z ) d safe d min
where τ is the control system cycle. The smaller α max is, the larger d safe is needed. Nevertheless, the selection of d safe needs to meet the requirements of α max and consider the detection range of the sensor.
When Equation (15) is satisfied, v a v o δ is calculated in each avoidance plane S δ ( δ = δ 1 , δ = δ 2 δ = δ n ) . Among these solutions, the avoidance velocity with the smallest angle α will be selected and mapped to the inertial coordinate system to generate the avoidance points:
p a v o n ( t ) = p U A V n ( t 0 ) + t 0 t v a v o n ( t )   d t
where t 0 is the initial time of the avoidance mode, v a v o n ( t ) is constantly updated, and p a v o n ( t ) will be used in the next chapter to construct the avoidance coordinate system and be mapped onto the control input.

4. Multiple Task Implementation Using a Hierarchical Architecture

Dealing with conflicting tasks is considered the key to behavior control, the difference of which is reflected in the way they arrange conflicting tasks and the way they construct subtasks into a total task. The hierarchical architecture used in this work is a form of behavior control. It arranges conflicting tasks in order of their importance. High-level tasks always subsume low-level tasks. The construction structure is shown in Figure 6. Ref. [29] utilized quaternion to describe the desired attitude of the UAV and applied it to the waypoint tracking problem. Our approach extends this previous work, defines the outputs of each subtask module as a task quaternion and calculates the total task quaternion by the quaternion multiplication. We assume that the UAV is flying under the effect of two behaviors.
Behavior 1: destination point tracking, task quaternion q n e .
Behavior 2: obstacle avoiding, task quaternion q e c .
The task quaternion of obstacle avoiding is established relative to the task quaternion of destination point tracking, so q e c always subsumes q n e , which coincides with the concept of hierarchical architecture. Each task is defined by describing the error between the current position and the desired position. As shown in Figure 7, p U A V n ,   p a v o n ,   p O B S n ,   p d n respect the position of the UAV, avoidance point, obstacle, and destination point, respectively.

4.1. Task Quaternion 1: Destination Point Tracking

To guide the UAV to the destination point, the position error of the UAV is projected onto the x e axis of the error coordinate system. Then, the UAV translates along with x e under the action of the attitude controller until the destination point is reached. As in Figure 7, e u d n denotes the position error between p d n and p U A V n in the n-frame. The positive direction of the x-axis of the e-frame is aligned with e u d n , so the e-frame can be defined through the rotation:
e u d e = [ e u d n 0 0 ] Τ = R n e ( p d n p U A V n ) = R n e e u d n
The control objective is to make e e [ 0 Τ ] Τ . The rotation quaternion between the n-frame and the e-frame and the rotation matrix can be defined as
θ n e = cos 1 ( e u d e   ·   e u d n e u d n 2 )   k n e = e u d e × e u d n e u d e × e u d n
q n e = [ η n e ε n e Τ ] Τ = [ cos ( θ n e 2 ) k n e Τ sin ( θ n e 2 ) ] Τ
R e n = Ι + 2 η n e S ( ε n e ) + 2 S 2 ( ε n e )
To obtain the desired angular velocity, we first take the derivative of Equation (26), which gives
e ˙ e = S ( w n e e ) e e R b e v U A V b
Then, substituting equation S ( w n e e ) e e = S ( e e ) w n e e into Equation (30), gives
[ e ˙ u d n 0 0 ] = [ 0 e u d n w n e e ( 2 ) e u d n w n e e ( 3 ) ] R b e v U A V b
It can be seen from Equation (31) that w n e e only contains the second and third terms. Therefore, rewriting Equation (30) as Equation (32) will not affect the final calculation result of w n e e .
S ( e u d e ) w n e e = R b e v U A V b
w n e e = S ( e u d e ) R b n R n e v U A V b
Equation (28) defines the rotation between two coordinate systems. When the task quaternion in Equation (28) degenerates into a unit quaternion, we think that two coordinate systems have reached a coincidence and the task is completed. At the same time, the desired angular velocity in Equation (33) converges to zero.

4.2. Task Quaternion 2: Collision Avoidance

What remains is establishing the avoidance coordinate system denoted as an a-frame. Ideally, the a-frame should be aligned with v a v o ; however, this cannot be achieved since the acceleration of obstacles is difficult to measure in practice. Therefore, we build the a-frame based on the avoidance points mentioned in Section 2. As shown in Figure 7, a u a n denotes the error between p U A V n and p a v o n , and the positive x-axis direction of the a-frame is aligned with a u a n .
a a = [ a e 0 0 ] Τ = R e a R n e ( p a v o n p U A V n ) = R e a R n e a n
where a n rotates from n-frame to e-frame, and then generates the quaternion to rotate from a e to a a . That is to say, a n first rotates to align with the e-frame, and then to align with the a-frame. The obstacle avoidance task quaternion, the rotation matrix between the e-frame and the a-frame, and the obstacle avoidance angular velocity are expressed by the following Equations (35)–(38).
θ e a = cos 1 ( a a · a e a e 2 )   k e a = a a × a e a a × a e
q e a = [ η e a ε e a Τ ] Τ = [ cos ( θ e a 2 ) k e a Τ sin ( θ e a 2 ) ] Τ
R a e = I + 2 η e a S ( ε e a ) + 2 S 2 ( ε e a )
ω e a a = S ( a a ) ( R e a S ( ω n e e ) R n e a n R n e R e a ( v O B S n v U A V n ) )
Finally, two subtask quaternions are combined into a total task quaternion, which is defined as the desired quaternion. The desired angular velocity is also derived:
{ q n d : = q n a = q n e q e a w n d d : = w n a a = R e a w n e e + w e a a

5. Attitude and Velocity Control Commands

The desired quaternion and the desired angular velocity are derived in the previous section. What remains is deriving the attitude and velocity control commands to track the desired attitude and velocity, respectively. For underactuated UAVs, Ref. [29] designed a sliding mode attitude controller, Ref. [30] proposed a velocity controller based on the backstepping technique, and Ref. [31] utilized a virtual saturated controller guaranteed the attitude error and the velocity error converge to zero. The controller designed in this chapter is mainly based on Refs. [29,30].

5.1. Velocity Controller

Given the Equation (3), we know the UAV is underactuated since u 1 contains only a thrust T x b along x b . Hence, our approach introduces a velocity scalar and then utilizes the backstepping method to design a velocity controller to make the velocity scalar converge to a desired value v d . The speed scalar of the UAV is defined as
v U A V = ( v U A V b ) Τ v U A V b
Taking the derivative of Equation (40), we obtain
v ˙ U A V = 1 v U A V ( v U A V b ) Τ v ˙ U A V b = ( v U A V b ) Τ F a g b ( v U A V b ) m v U A V + v U A V x b T x b m v U A V
where we use the fact, v 1 Τ S ( v 2 ) v 1 = 0 . The desired velocity scalar is a constant v d > 0 , and the velocity error is defined as v ^ : = v U A V v d . Given Equation (41) and the introduced variables x 1 = 0 t v ^   d τ   and   x 2 = v ^ , we find
{ x ˙ 1 = x 2 x ˙ 2 = ( v U A V b ) Τ F a g b ( v U A V b ) m v U A V + v U A V x b T x b m v U A V
We further introduce a Lyapunov function V 1 = 1 2 x 1 2 , then take the derivative of it, giving V ˙ 1 = x 1 x 2 . Another Lyapunov function is constructed as V 2 = V 1 + 1 2 z 2 , where z = x 2 + k 1 x 1 . Taking the derivative of V 2 gives
V ˙ 2 = V ˙ 1 + z z ˙ = x 1 z k 1 x 1 2 + z ( x ˙ 2 + k 1 x 2 ) = x 1 z k 1 x 1 2 + z ( ( v U A V b ) Τ F a g b ( v U A V b ) m v U A V + v U A V x b T x b m v U A V + k 1 x 2 )
Above, a control input of the thrust is designed as
T x b = m v U A V v U A V x b ( ( v U A V b ) Τ F a g b ( v U A V b ) m v U A V k 1 x 2 x 1 k 2 z )
where parameters k 1 ,   k 2 > 0 . Substituting Equation (44) into Equation (43), we find
V ˙ 2 = k 1 x 1 2 k 2 z 2 k 1 x 1 2 k 2 x 2 2
According to the Lyapunov stability theory, when ( x 1 , x 2 ) ( 0 , 0 ) , the velocity error v ^ will go to zero.

5.2. Attitude Controller

In this section, we implement a sliding mode attitude controller to align the s-frame of the UAV with the d-frame. We do so firstly by defining the rotational quaternion between the s-frame and the d-frame: q d s = q d n q n b q b s . When q d s [ 1 0 ] Τ under the effect of the control input, we think that the s-frame coincides with the d-frame. However, from a control point of view, we are more accustomed to the control variable converging to the relative origin. Therefore, we introduce a virtual variable q d s : = [ 1 0 ] Τ q d s such that q d s [ 0 ] Τ is equivalent to q d s [ 1 0 ] Τ . Then, taking the derivative of q d s gives q ˙ d s = D q ( q d s ) w d s s , where D q ( q d s ) : = 1 2 [ ε d s Τ η d s I + S ( ε d s ) ] . Finally, we define the sliding variable [29,30]:
s = w n b b w r e f b
w r e f b = w n d b w b s b κ 1 R s b D q Τ q d s
where w r e f b is the projection of the reference angular velocity relative to n-frame on the b-frame.
s ˙ = 1 J ( M a t b ( w n b b , v U A V b ) S ( w n b b ) J w n b b + A u 2 ) w ˙ r e f b
We introduce a Lyapunov function V 3 = 1 2 κ 2 ( q d s ) Τ q d s + 1 2 s Τ J s and take the derivative of V 3 , giving
V ˙ 3 = κ 2 ( q d s ) Τ D q w d s s + s Τ ( M a t b ( w n b b , v U A V b ) S ( w n b b ) J w n b b + A u 2 J w ˙ r e f b )
where κ 2 > 0 , and since w d s s = R b s ( s κ 1 R s b D q Τ q d s ) , V ˙ 3 can be rewritten as
V ˙ 3 = κ 1 κ 2 ( q d s ) Τ D q D q Τ q d s + s Τ ( M a t b ( w n b b , v U A V b ) S ( w n b b ) J w n b b + A u 2 J w ˙ r e f b + κ 2 R s b D q Τ q d s )
The control input u 2 can be given similar to before as
u 2 = A 1 ( S ( w n b b ) J w n b b M a t b ( w n b b , v U A V b ) + J w ˙ r e f b κ 2 R s b D q Τ q d s K s s )
where K s is a positive-definite matrix. Substituting Equation (51) into Equation (50) gives
V ˙ 3 = κ 1 κ 2 ( q d s ) Τ D q D q Τ q d s - s Τ K s s κ 1 κ 2 8 q d s 2 λ min ( K s ) s 2
where λ min is the minimal eigenvalue of the matrix K s . According to the Lyapunov stability theory and Equation (52), we find ( q d s , s ) ( 0 ,   0 ) ; then, as a consequence, the s-frame coincides with the d-frame.
A flowchart of the overall method is shown in Figure 8. Algorithm 1 summarizes the collision avoidance guidance frame, where V k is the set of the avoidance velocity at the K-th step, and the function feasible   Section ( δ ) checks if the shape of the conic section is expected, given a rotation angle δ in Equation (18). If Equation (19) satisfied, then return ‘true’; else ‘false’. We assumed that the control system as well as the detection system operate at the same rate and uniformly set the cycle as the time constant τ .
Algorithm 1. Attidude and Velocity Commands at the K-th Step
1.   design parameter: r ps   ,   d s a f e   ,   α max   ,   p d n , τ , A G = [ 0 ° , ± π 4 , π 2 ]
2.   Input: p U A V n   ,   p O B S n   ,   v U A V   ,   v O B S   ,   r O B S
3.   Output: u 2   ,   T x b
4.    begin
5.     obtain q n e ( k ) , w n e e ( k ) by substituting p U A V n ( k ) ,   p d n into Equations (26)–(33)
6.       if p U A V n p O B S n 2 < d s a f e and meet the conditions: Equation (15) then
7.           for each δ in A G , do
8.             v a v o δ Solution of quadratic Equation (23) with constrain Equation (22)
9.                if feasible Section(δ) = ’Ture’
10.                   V k V k     v a v o δ
11.              end if
12.          end for
13.          if V k then
14.            select v a v o ( k ) V k with the smallest rotation angle α
15.            return v a v o ( k )
16.            // If V k = , the A G needs to be extended
17.          end
18.         Map v a v o ( k ) to q e a ( k )   ,   w e a a ( k ) following Equation (25), Equations (34)–(38)
              q n d ( k ) ←Equation (39)
19.     else
20.          q e a ( k ) [ 1 0 ] Τ   ;   w e a a ( k ) [ 0 ] Τ ; q n d ( k ) Equation (39)
21.     end if
22.     Compute velocity command T x b ( k ) following Equations (40)–(44)
23.     Compute Attitude command u 2 ( k ) following Equations (46)–(51)
24.     Apply controls
25.  end

6. Simulation

We performed a numerical simulation on a laptop to verify the effectiveness of the three-dimensional obstacle avoidance guidance algorithm proposed above. The laptop ran Windows 10 Professional 64-bit with an AMD Ryzen 7 4800H with Radeon Graphics CPU (2.9 GHz) and 16 GB RAM. All simulations were developed in the MATLAB 2020b environment. The parameters of the UAV, collision avoidance algorithm, and control system are summarized in Table 1. The initial states of the obstacle are set as p O B S n ( 0 ) = [ 984.4 1396.43 390.1 ] Τ , and v O B S = [ 0 40 0 ] Τ . The deflection angle is constrained in the range of ± 15 ° , and the maximum thrust of the engine is limited to 250 N.
Figure 9 a shows the trajectory of the UAV and the obstacle in the inertial coordinate system. The solid line represents the flight trajectory of the UAV. It can be seen from Figure 9a that the controller of the UAV leads to a smooth and continuous trajectory. Dashed and dotted lines respectively represent the moving target and the UAV in a non-avoidance mode. They intersect at a collision point (t = 23.8 s), indicating that if the avoidance maneuver is not performed, a collision will occur at that time. Figure 9b shows the change of the distance between the UAV and the moving obstacle over time, and the minimum distance between the UAV and the moving obstacle is greater than r p s as expected. It took 41.35 s to complete the task.
Figure 10 shows the control input of the rotation loop and the translation loop, the velocity, the angular velocity, and the attitude information of the UAV.
Figure 10c shows that the thrust engine is started in the initial stage (t = 0–2.1 s), pushing the UAV to a predetermined velocity. As shown in Figure 10d,e during the period (t = 0–17.2 s), the quaternion q ds representing the error between the d-frame and the s-frame gradually converges to zero, indicating that the UAV can be directed toward the destination point. When an obstacle is detected and Equation (15) is satisfied, signal Y becomes 1 and the controller continuously controls the UAV keeps a certain safety distance with the obstacle, as in Figure 10a,b. In Figure 10f, the dotted, dashed, and solid lines represent v a v o x ,   v a v o x and v a v o z , respectively. In the avoidance mode (t = 17.2–18.8 s), v a v o x increases, v a v o x as well as v a v o z decrease, and the thrust remains at 0, indicating that the UAV has only changed the direction of the velocity. Due to the avoidance maneuver, the attitude of the UAV changes drastically. Figure 10 g shows the attitude, including the roll, pitch and yaw angle. During the period (t = 17.2–18.8 s), the yaw angle continues to decrease, indicating that the UAV has adopted the strategy of avoiding obstacles on the right side. The sudden increase in the attack angle and the sideslip angle are shown in Figure 10h reflects the fact that the b-frame cannot be aligned with the s-frame immediately due to the existence of the UAV’s moment of inertia. As shown in Figure 10d, q d s has undergone two obvious divergence and reconvergence processes after experiencing the initial disturbance and then converging to 0. The first time is the process of converging to the obstacle avoidance point in the avoidance mode, and the latter is the process of re-converging to the destination point in the guidance mode.
Simulation 2: Fixed avoidance plane with different rotation angles: δ 1 = 0 ° ,   δ 2 = 45 ° ,   δ 3 = 45 ° and δ 4 = 90 ° .
We also performed a simulation where the UAV does not update the avoidance plane but chooses a fixed avoidance plane with a pre-set rotation angle, while the initial state and control parameters are the same as before. The simulation was implemented to quantify the impact of the rotation angle of the obstacle avoidance plane on the obstacle avoidance. Figure 11a shows four trajectories of the UAV with different avoidance planes. It can be seen from Figure 11b that different avoidance planes mainly affect the minimum distance and avoidance time in the macroscopic view.
When the obstacle avoidance plane rotation angle is δ = 90 ° ,   45 ° , the flight time is 46.2 s and 44.9 s, respectively. However, the flight time is 42.4 s when the obstacle avoidance plane rotation angle is δ = 0 °   or   45 ° , and the trajectory is smoother. When we adopted the strategy of updating the rotation angle, under the same initial conditions, the flight time was 41.35 s, which is less than that in the fixed avoidance plane case. By analyzing the minimum distance between the UAV and the moving obstacle, we can observe that the algorithm adopting an updated avoidance plane can guarantee a less conservative avoidance trajectory. The reason for this difference is that in the fixed-angle avoidance plane, the choice of the avoidance velocity cannot always be guaranteed to be the smallest deviation from the original velocity; thus, the UAV flew over an unnecessarily long path. As shown in Figure 11b the minimum distance between the UAV and the obstacle was 113.84 m when the rotation angle of avoidance planes was defined as π 4 . This is because the velocity of the UAV and the moving obstacle are almost simultaneously in the S δ plane during the avoidance stage. Therefore, comparing the fixed avoidance plane and updated avoidance plane implementations of the method, we found that the latter guarantees the trajectory to be a less conservative and faster process.

7. Conclusions

In this work, we present a guidance framework that can enable the UAV to move along the collision-free smooth reference trajectory. In particular, we extend the traditional 3D-VO methods to kinodynamic constrained nonholonomic UAVs. The approach was to limit the set of feasible velocities to those that can be achieved with a position error below a predefined value. A reference collision-free trajectory resulting from the 3D-VO approach can be retained by integrating the updated avoidance velocity. The simulation results verified that the UAV can implement collision avoidance maneuvers under allowable trust and torque. We discussed fixed avoidance plane and updated avoidance plane implementations of the method and showed that the latter guarantees the trajectory to be more optimized but processed slower. Compared with other VO-based algorithms, the main innovation of this method is reflected in the extension of the 3D-VO to underactuated systems. The approach is to map underactuated variables to existing actuators. The method we proposed in this paper allows for fast online control and low computational cost, and flexible task assignment was presented in the detailed simulation experiments.
Although the guidance framework proposed in this paper is desirable, there is still large room for improvement. This algorithm was not tested in a multi-obstacle scenario. The extension to cooperative obstacle avoidance of UAV formation is yet to be considered, which will become our next research focus. The robustness against external disturbances, such as wind gusts, was not discussed.

Author Contributions

Writing—original draft preparation, Y.Q.; writing—review and editing, Y.Q.; supervision, W.Y.; funding acquisition, W.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the financial support from the National Natural Science Foundation of China (11472136), China Postdoctoral Science Foundation Project (2019M651838) and Jiangsu Postgraduate Research and Practice Innovation Program (KYCX20_0327).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhu, X.; Yan, B.; Yue, Y. Path planning and collision avoidance in unknown environments for usvs based on an improved d* Lite. Appl. Sci. 2021, 11, 7863. [Google Scholar] [CrossRef]
  2. Oland, E.; Andersen, T.S.; Kristiansen, R. Subsumption architecture applied to flight control using composite rotations. Automatica 2016, 69, 195–200. [Google Scholar] [CrossRef] [Green Version]
  3. Moe, S.; Antonelli, G.; Pettersen, K.Y.; Schrimpf, J. Experimental results for set-based control within the singularity-robust multiple task-priority inverse kinematics framework. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics, Zhuhai, China, 6–9 December 2015; pp. 1233–1239. [Google Scholar]
  4. Moe, S.; Teel, A.R.; Antonelli, G.; Pettersen, K.Y. Stability analysis for set-based control within the singularity-robust multiple task-priority inverse kinematics framework. In Proceedings of the 2015 54th IEEE Conference on Decision and Control, Osaka, Japan, 15–18 December 2015; pp. 171–178. [Google Scholar]
  5. Lin, Y.; Saripalli, S. Sampling-Based Path Planning for UAV Collision Avoidance. IEEE Trans. Intell. Transp. Syst. 2017, 18, 3179–3192. [Google Scholar] [CrossRef]
  6. Fan, Y.; Sun, X.; Wang, G.; Mu, D. Collision Avoidance Controller for Unmanned Surface Vehicle Based on Improved Cuckoo Search Algorithm. Appl. Sci. 2021, 11, 9741. [Google Scholar] [CrossRef]
  7. Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  8. Park, S.O.; Lee, M.C.; Kim, J. Trajectory Planning with Collision Avoidance for Redundant Robots Using Jacobian and Artificial Potential Field-based Real-time Inverse Kinematics. Int. J. Control Autom. Syst. 2020, 18, 2095–2107. [Google Scholar] [CrossRef]
  9. Zhang, J.; Yan, J.; Zhang, P. Fixed-wing UAV formation control design with collision avoidance based on an improved artificial potential field. IEEE Access 2018, 6, 78342–78351. [Google Scholar] [CrossRef]
  10. Choi, D.; Kim, D.; Lee, K. Enhanced potential field-based collision avoidance in cluttered three-dimensional urban environments. Appl. Sci. 2021, 11, 11003. [Google Scholar] [CrossRef]
  11. Jenie, Y.I.; Van Kampen, E.J.; De Visser, C.C.; Ellerbroek, J.; Hoekstra, J.M. Selective velocity obstacle method for deconflicting maneuvers applied to unmanned aerial vehicles. J. Guid. Control Dyn. 2015, 38, 1140–1145. [Google Scholar] [CrossRef]
  12. Bareiss, D.; Van Den Berg, J. Generalized reciprocal collision avoidance. Int. J. Robot. Res. 2015, 34, 1501–1514. [Google Scholar] [CrossRef]
  13. Alonso-Mora, J.; Beardsley, P.; Siegwart, R. Cooperative Collision Avoidance for Nonholonomic Robots. IEEE Trans. Robot. 2018, 34, 404–420. [Google Scholar] [CrossRef] [Green Version]
  14. Wilkie, D.; Van Den Berg, J.; Manocha, D. Generalized velocity obstacles. In Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, St. Louis, MO, USA, 11–15 October 2009; pp. 5573–5578. [Google Scholar]
  15. Alonso-mora, J.; Breitenmoser, A.; Rufli, M.; Beardsley, P.; Siegwart, R. Optimal Reciprocal Collision Avoidance for Multiple Non-Holonomic Robots; Springer: Berlin/Heidelberg, Germany, 2013; Volume 83, pp. 203–216. [Google Scholar]
  16. Chakravarthy, A.; Ghose, D. Generalization of the collision cone approach for motion safety in 3-D environments. Auton. Robots 2012, 32, 243–266. [Google Scholar] [CrossRef]
  17. Jenie, Y.I.; Van Kampen, E.J.; De Visser, C.C.; Ellerbroek, J.; Hoekstra, J.M. Three-dimensional velocity obstacle method for uncoordinated avoidance maneuvers of unmanned aerial vehicles. J. Guid. Control Dyn. 2016, 39, 2312–2323. [Google Scholar] [CrossRef] [Green Version]
  18. Tan, C.Y.; Huang, S.; Tan, K.K.; Teo, R.S.H. Three Dimensional Collision Avoidance for Multi Unmanned Aerial Vehicles Using Velocity Obstacle. J. Intell. Robot. Syst. Theory Appl. 2020, 97, 227–248. [Google Scholar] [CrossRef]
  19. Van Den Berg, J.; Snape, J.; Guy, S.J.; Manocha, D. Reciprocal collision avoidance with acceleration-velocity obstacles. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 3475–3482. [Google Scholar]
  20. Rufli, M.; Alonso-Mora, J.; Siegwart, R. Recipro collision avoidance with motion continuity constraints. IEEE Trans. Robot. 2013, 29, 899–912. [Google Scholar] [CrossRef]
  21. Ma, Y.; Manocha, D.; Wang, W. AutoRVO: Local Navigation with Dynamic Constraints in Dense Heterogeneous Traffic. arXiv 2018, arXiv:1804.02915. [Google Scholar]
  22. Park, J.; Baek, H. Stereo vision based obstacle collision avoidance for a quadrotor using ellipsoidal bounding box and hierarchical clustering. Aerosp. Sci. Technol. 2020, 103, 105882. [Google Scholar] [CrossRef]
  23. Ji, J.; Khajepour, A.; Melek, W.W.; Huang, Y. Path planning and tracking for vehicle collision avoidance based on model predictive control with multiconstraints. IEEE Trans. Veh. Technol. 2017, 66, 952–964. [Google Scholar] [CrossRef]
  24. Elmokadem, T.; Zribi, M.; Youcef-Toumi, K. Trajectory tracking sliding mode control of underactuated AUVs. Nonlinear Dyn. 2016, 84, 1079–1091. [Google Scholar] [CrossRef] [Green Version]
  25. Arrichiello, F.; Chiaverini, S.; Indiveri, G.; Pedone, P. The null-space-based behavioral control for mobile robots with velocity actuator saturations. Int. J. Robot. Res. 2010, 29, 1317–1337. [Google Scholar] [CrossRef]
  26. Egeland, O.; Gravdahl, J.T. Modeling and Simulation for Automatic Control; Marine Cybernetics: Trondheim, Norway, 2002; ISBN 9788292356012. [Google Scholar]
  27. Xiao, S. Multiplication of Quaternion Matrix and Its Feasibility. ACTA Mech. Sin. 1984, 16, 159–166. [Google Scholar]
  28. Ellerbroek, J.; Brantegem, K.C.R.; Rene Van Paassen, M.M.; Mulder, M. Design of a coplanar airborne separation display. IEEE Trans. Hum.-Mach. Syst. 2013, 43, 277–289. [Google Scholar] [CrossRef] [Green Version]
  29. Oland, E.; Schlanbusch, R.; Kristiansen, R. Underactuated Waypoint Tracking of a Fixed-Wing UAV; IFAC: Compiegne, France, 2013; Volume 2, ISBN 9783902823571. [Google Scholar]
  30. Guan, J.; Yi, W.J.; Chang, S.J.; Liang, Z.D.; Lyu, Y.P. Study of flight path tracking and control of an UAV in 3D sp7ace. Binggong Xuebao/Acta Armamentarii 2016, 37, 64–70. [Google Scholar]
  31. Oland, E.; Kristiansen, R. Trajectory tracking of an underactuated fixed-wing UAV. AIP Conf. Proc. 2014, 1637, 1345–1354. [Google Scholar]
Figure 1. Controller structure.
Figure 1. Controller structure.
Applsci 12 00955 g001
Figure 2. (a) Geometric elements of the VO cone. (b) The VO cone relative to different coordinate systems.
Figure 2. (a) Geometric elements of the VO cone. (b) The VO cone relative to different coordinate systems.
Applsci 12 00955 g002
Figure 3. Task status: (a) collision avoidance, (b) critical state, (c) way point tracking.
Figure 3. Task status: (a) collision avoidance, (b) critical state, (c) way point tracking.
Applsci 12 00955 g003
Figure 4. (a) Maximum tracking errors in (m) for the fixed-wing UAV and for varying direction of control velocities v a v o . (b) The flight trajectory of the fixed-wing UAV under varying direction of control velocities. Example in the picture, the initial velocity is set to v U A V = 40 m/s and the initial quaternion to   q b s = [ 1   0 T ] T .
Figure 4. (a) Maximum tracking errors in (m) for the fixed-wing UAV and for varying direction of control velocities v a v o . (b) The flight trajectory of the fixed-wing UAV under varying direction of control velocities. Example in the picture, the initial velocity is set to v U A V = 40 m/s and the initial quaternion to   q b s = [ 1   0 T ] T .
Applsci 12 00955 g004
Figure 5. Different situations of the conic sections of the VO cone.
Figure 5. Different situations of the conic sections of the VO cone.
Applsci 12 00955 g005
Figure 6. The hierarchical architecture.
Figure 6. The hierarchical architecture.
Applsci 12 00955 g006
Figure 7. Position vectors in the relative three-dimensional space.
Figure 7. Position vectors in the relative three-dimensional space.
Applsci 12 00955 g007
Figure 8. Collision avoidance flow chart.
Figure 8. Collision avoidance flow chart.
Applsci 12 00955 g008
Figure 9. (a) Trajectory of fix-wing UAV and obstacle in inertial coordinate system, (b) distance between fixed-wing UAV and obstacle (Simulation 1).
Figure 9. (a) Trajectory of fix-wing UAV and obstacle in inertial coordinate system, (b) distance between fixed-wing UAV and obstacle (Simulation 1).
Applsci 12 00955 g009
Figure 10. Related parameters of fix-wing UAV (Simulation 1): (a) status signal of UAV, (b) control input, (c) thrust, (d) attitude tracking error, (e) error of angular velocity, (f) velocity in inertial coordinate system, (g) attitude, (h) alpha and beta.
Figure 10. Related parameters of fix-wing UAV (Simulation 1): (a) status signal of UAV, (b) control input, (c) thrust, (d) attitude tracking error, (e) error of angular velocity, (f) velocity in inertial coordinate system, (g) attitude, (h) alpha and beta.
Applsci 12 00955 g010
Figure 11. (a) Trajectories of fixed-wing UAVs in Inertial coordinate system for several values of δ (Simulation 2), (b) distance between the fixed-wing UAV and obstacle for several values of δ.
Figure 11. (a) Trajectories of fixed-wing UAVs in Inertial coordinate system for several values of δ (Simulation 2), (b) distance between the fixed-wing UAV and obstacle for several values of δ.
Applsci 12 00955 g011
Table 1. Parameters of the fixed-wing UAV, collision avoidance and control system.
Table 1. Parameters of the fixed-wing UAV, collision avoidance and control system.
Fixed-Wing UAV3D-VO Collision AvoidanceControl System
m = 20.64   kg p U A V n ( 0 ) = [ 0   0   - 100 ] Τ r p s = 100   m d s a f e = 500   m k 1 = 2   k 2 = 2
v U A V b ( 0 ) = [ 30   0   0 ] Τ q n b ( 0 ) = [ 1   0   0   0 ] Τ λ = 90 ° v d = 40   m / s κ 1 = 2 κ 2 = 2
w n b b ( 0 ) = [ 0   0   0 ] Τ p d n = [ 20   10   10 ] Τ 10 3 α max = 90 ° τ = 0 . 5 s K s = 2 Ι Λ = 5   m
Simulation 1: Use the algorithm that updates the avoidance plane in real time.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Qu, Y.; Yi, W. Three-Dimensional Obstacle Avoidance Strategy for Fixed-Wing UAVs Based on Quaternion Method. Appl. Sci. 2022, 12, 955. https://doi.org/10.3390/app12030955

AMA Style

Qu Y, Yi W. Three-Dimensional Obstacle Avoidance Strategy for Fixed-Wing UAVs Based on Quaternion Method. Applied Sciences. 2022; 12(3):955. https://doi.org/10.3390/app12030955

Chicago/Turabian Style

Qu, Yue, and Wenjun Yi. 2022. "Three-Dimensional Obstacle Avoidance Strategy for Fixed-Wing UAVs Based on Quaternion Method" Applied Sciences 12, no. 3: 955. https://doi.org/10.3390/app12030955

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop