Next Article in Journal
Method of Moments Based on Equivalent Periodic Problem and FFT with NURBS Surfaces for Analysis of Multilayer Periodic Structures
Previous Article in Journal
System Log Detection Model Based on Conformal Prediction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Tracking Control for Quad-Rotor Using Velocity Field and Obstacle Avoidance Based on Hydrodynamics

by
Julián Rascón-Enríquez
1,
Luis Arturo García-Delgado
1,*,
José R. Noriega
1,
Alejandro García-Juárez
1 and
Eduardo S. Espinoza
2
1
Departamento de Investigación en Física, Univeridad de Sonora, Sonora 83000, Mexico
2
UMI-LAFMIA, CINVESTAV, Mexico City 07360, Mexico
*
Author to whom correspondence should be addressed.
Electronics 2020, 9(2), 233; https://doi.org/10.3390/electronics9020233
Submission received: 9 January 2020 / Revised: 22 January 2020 / Accepted: 23 January 2020 / Published: 31 January 2020
(This article belongs to the Section Systems & Control Engineering)

Abstract

:
In this work, the problem of navigation control of a quad-rotor, which includes path planning (to a desired trajectory with obstacle avoidance) and tracking control, is addressed. Path planning is achieved by means of the velocity field technique, since this method generates smooth trajectories that are suitable for this kind of vehicles. We propose a recursive method for the composition of the total velocity reference. In order to achieve a good tracking of the generated references, a saturated controller is used, namely, nested saturation. It is demonstrated that the velocity reference can be tracked with a reduction in the order of the controller, from four to three saturators, which simplifies the implementation. Numerical results show that a correct tracking could be guaranteed.

1. Introduction

One of the inherent issues in the control of autonomous vehicles is the navigation control, which includes path planning and tracking control [1]. The velocity field could be seen as a stream that drags a vehicle in the direction of that stream at each point. The potential functions are used to generate trajectories and avoid obstacles. The velocity potential functions, obtained from hybrid potential field (HPF), have the advantage of completely eliminating local minima [2]. The velocity field method is attractive because it presents a very low computation cost [3] and is mathematically elegant [2].
Several applications have been proposed using this method. In Reference [4] this technique is used to control multiple three-wheeled robots that cooperate to achieve a task. The use of probabilistic algorithms altogether with the velocity field is developed in Reference [5] where the fuzzy logic defines the velocity to be used in the tracking control. Another application is to generate a trajectory for an unmanned aerial vehicle (UAV) to collect information from a terrain after a natural disaster [6]. In Reference [7] the velocity field is utilized for the movements of an exoskeleton. Recent work in References [8,9,10] uses velocity fields or potential fields, not necessarily to generate strictly a desired path, but for collision avoidance in the path of autonomous vehicles.
The method of velocity field for path planning arose in the early 1990s [11]. Kim and Khosla [2] proposed that this control strategy could be used for real-time control of mobile robots and manipulators. However they just presented numerical results without a dynamic model of a robot. For the purpose of a real path following, an alternative was proposed by P. Y. Li and R. Horowitz [12]; they used a vector field to define a trajectory, thus by tracking the velocity field it is possible to reach the objective. The use of velocity fields for tracking control is considered due to this technique depends on the actual position of the robot, unlike the traditional method which depends on time. The philosophy of this approach is that the robot reaches the velocity defined by the vector field, thus, in that instant the robot will be in the desired trajectory. Some advantages of this method compared to the traditional tracking control, according to [13], are:
  • The velocity field error is a more appropriate way to determine whether the contour is being followed or not.
  • The specification of the task, encoded as vector field, and the speed at which the task is performed can be decoupled.
  • The coordination aspect of the task is explicit.
Masoud [1] mentions that the reference velocity generated with HPF is followed correctly with a massless, single integrator, holonomic system, but not with a more complex system like holonomic vehicles. In order to overcome this problem, he proposes the concept of virtual velocity attractor (VVA) to successfully execute any guidance instruction to drive an UAV closer to its goal. In our work, we propose using an asymptotically stable tracking control in order to track the velocity reference generated by the velocity field. This tracking control takes the velocity error and its derivatives to zero.
Autonomous vehicles like wheeled mobile robots or fixed wing UAVs have non-holonomic constraints; then, with this kind of vehicle the velocity reference is reached by controlling the steering angle, like in References [3,8]. In this paper we use a quad-rotor that can be controlled with decoupled dynamics for pitch and roll, thus, we decompose the velocity vector in x and y components, rather than magnitude of velocity and steering angle.
Recent works [14,15,16] deal with the problem of a UAV tracking a trajectory, like a line or a circular orbit, generated by the vector field method, considering uncertainties associated with modeling errors and compensating for wind uncertainty. Nevertheless, the proposed methods neglect the presence of obstacles. In this work, we propose a trajectory generation using a velocity field similar in the definition of the attractive and evasive field to the one presented in Reference [17]. One fundamental difference is that in Reference [17], the evasive field is added or overlapped, to the global velocity field through a weighted sum of the evasive function to any obstacle. Instead, we propose a strategy, in which each evasive field modifies the previous computed field recursively. Thus the successive derivatives of the desired velocity (references for tracking control) are computed over the last resulting field in a computational recursive way.
Once the velocity field is computed, the vehicle has to track the desired velocity. In order to accomplish a perfect tracking of the velocity field, we used a nested saturation controller [18]. This control law has been proved to be asymptotically stable in regulation and tracking control [19]. Patrikar et al. [20] used the nested saturation method for guidance of UAVs tracking in a circular or elliptical trajectory; however, their work does not considered obstacles avoidance. Tran et al. [21] used nested saturations for quad-rotor trajectory tracking, also neglecting obstacle avoidance. Tran mentions that for the tracking problem it is necessary to track the reference position and its time derivative up to the fourth order. Since the objective of the controller is to track the velocity reference, in our work, we omitted the last saturation term of the nested saturation controller, that corresponds to position, reducing the order of the controller with similar results. Thus demonstrating that, in the case of tracking a velocity reference, our proposed implementation of a nested saturation controller can be simpler than in the complete form, also reducing the computational cost. The tracking form of this controller acts over the velocity error and its successive derivatives; in this case, three successive derivatives of the velocity reference must be computed. We show how to carry out the time derivative of those variables.
This document is organized as follows: in Section 2 we describe the dynamic model of a quad-rotor aerial vehicle; in Section 3 the control strategy for tracking a velocity reference is developed; in Section 4 the velocity field generation is explained; in Section 5 the hydrodynamic theory is used to develop the velocity components which will help us to achieve the obstacle avoidance. The results are shown in Section 6, while conclusions are given in Section 7. Two Appendix A and Appendix B—are included to illustrate the steps required to derive the equations for successive derivatives of attractive and evasive fields.

2. Dynamic Model

The dynamic model of the quad-rotor is obtained, representing the vehicle as a rigid body in a three-dimensional space and attached to one force and three torques. The motors dynamics and propellers flexibility are neglected [22].
Consider a quad-rotor aircraft configuration such as the one shown in Figure 1. The generalized coordinates are
Electronics 09 00233 i001
where ξ = ( x , y , z ) T R 3 denotes the quad-rotor center of mass position, relative to the inertial frame I , and η = ( ϕ , θ , ψ ) R 3 represents the orientation vector of the body frame, expressed in Euler’s angles.
The dynamic model of the quad-rotor is given as:
m x ¨ = u ( c ψ s θ c ϕ + s ψ s ϕ )
m y ¨ = u ( c ψ s ϕ s ψ s θ c ϕ )
m z ¨ = u c θ c ϕ m g
ϕ ¨ = τ ϕ ˜
θ ¨ = τ θ ˜
ψ ¨ = τ ψ ˜ ,
where m stands for the mass of the vehicle, g is the gravitational constant, s a = sin a , c a = cos a , and
τ ˜ = τ ϕ ˜ τ θ ˜ τ ψ ˜ = J 1 ( τ C ( η , η ˙ ) η ˙ )
where τ ˜ is a vector with the quad-rotor torques, τ is a vector with the control inputs, J represents the inertial matrix and C denotes the Coriolis matrix.
The inputs of force and torques, u and τ , respectively, are related with the velocity of the four rotors as follows. The thrust input, u, is the sum of the thrust of each rotor, expressed by
u = f 1 + f 2 + f 3 + f 4
with
f i = κ T ω i 2 , i = 1 , , 4
where κ T > 0 is a constant coefficient and ω i denotes the angular velocity of the i-th rotor.
The torque inputs τ = [ τ ϕ , τ θ , τ ψ ] T , are obtained through
τ ϕ = [ ( f 1 + f 4 ) ( f 2 + f 3 ) ] τ θ = [ ( f 3 + f 4 ) ( f 1 + f 2 ) ] τ ψ = τ M 1 + τ M 2 + τ M 3 + τ M 4 ,
where is the distance from the rotors to the center of gravity of the quad-rotor, and τ M i denotes the gyroscopic torque produced by the motor M i . The torques τ M i are obtained from
τ M i = κ Q ω i 2 , i = 1 , , 4
where κ Q > 0 is a constant coefficient. In general, κ T > > κ Q .

3. Control Strategy

For the aircraft control, we assume that the altitude and yaw angle are fixed at some desired value.

3.1. Altitude and Yaw Control

Let us define ψ d = 0 t > 0 , such that the quad-rotor maintains a zero degree yaw angle during the flight. The control is obtained through
τ ψ = k p ψ ψ ˜ k v ψ ψ ˙ ,
where ψ ˜ = ( ψ ψ d ) , k p ψ and k v ψ denote the proportional and derivative constants of the PD controller, respectively.
In a similar way, the control law for maintaining a constant altitude can be achieved by applying the control input
u = [ ( k p z z ˜ k v z z ˙ ) + m g ] 1 cos θ cos ϕ ,
where z ˜ = z z d represents the altitude error, k p z and k v z are positive constants related to the PD controller. The roll and pitch angles ( ϕ , θ ) must be small to avoid singularities in (8) and to handle them in the linear region. The nested saturation controller allows that these angles will remain small.

3.2. Roll and Pitch Control

For tracking a trajectory, the nested saturation controller is used. This method was proposed by Teel [18]. It is used to stabilize a chain of integrators in cascade and is asymptotically stable for both, regulation and tracking trajectory. In tracking mode, the nested saturation controller allows to reach high speeds of the vehicle while maintaining bounded control inputs, inside the limits of actuator constraints.
Consider the quad-rotor model (1)–(6), under the control inputs (7) and (8). After a finite time, z z d , and z ˜ 0 , then, z ˙ , ψ , ψ ˙ 0 and the system (1)–(6) can be represented as:
x ¨ = g tan θ , θ ¨ = τ ˜ θ
y ¨ = g tan ϕ cos θ , ϕ ¨ = τ ˜ ϕ ,
and considered to be restricted to small angles θ and ϕ , such that tan ( ϕ ) ϕ and cos ( ϕ ) 1 , and so for θ , the system (9)–(10) can be seen as a reduced system:
x ¨ = g θ , θ ¨ = τ ˜ θ
y ¨ = g ϕ , ϕ ¨ = τ ˜ ϕ ,
where both subsystems are integrators in cascade
d d t x x ˙ θ θ ˙ = 0 1 0 0 0 0 g 0 0 0 0 1 0 0 0 0 x x ˙ θ θ ˙ + 0 0 0 1 τ ˜ θ
and
d d t y y ˙ ϕ ϕ ˙ = 0 1 0 0 0 0 g 0 0 0 0 1 0 0 0 0 y y ˙ ϕ ϕ ˙ + 0 0 0 1 τ ˜ ϕ
Let us define the state variables of each subsystem as x and y , thereby
x = x x ˙ θ θ ˙ and y = y y ˙ ϕ ϕ ˙ .
With the purpose to achieve the tracking of the trajectory, it is necessary to apply the control over the error vectors, this is
x e = e x e x ˙ e θ e θ ˙ = x x d x ˙ x ˙ d θ θ d θ ˙ θ ˙ d , y e = e y e y ˙ e ϕ e ϕ ˙ = y y d y ˙ y ˙ d ϕ ϕ d ϕ ˙ ϕ ˙ d .
Given that this system will follow a velocity field, the position error could be neglected of the state error vector, and still follow the desired trajectory, so the error vector could be expressed by
x e = 0 e x ˙ e θ e θ ˙ a n d y e = 0 e y ˙ e ϕ e ϕ ˙ .
Each subsystem can be represented in the form x ˙ = A x x + B x u , as in Equation (13), with state vector x R n as in (16), u R , then a linear transformation exist z x = T z x x e that maps (13) in z ˙ x = A z z x + B z u , where
A z = 0 k 2 k 3 k n 0 0 k 3 k n 0 0 0 k n 0 0 0 0 , B z = 1 1 1 1 ,
where the elements k 1 , , k n 0 R .
In this particular case the transformation matrix elements in T z x matrix are
T z x = k 2 k 3 k 4 g k 2 k 3 + k 2 k 4 + k 3 k 4 g k 2 + k 3 + k 4 1 0 k 3 k 4 g k 3 + k 4 1 0 0 k 4 1 0 0 0 1
with the vector x e of the Equation(16). Given that the state variable e x is set to 0, the element (1, 1) of matrix T z x can be 0, then
T z x = 0 k 2 k 3 + k 2 k 4 + k 3 k 4 g k 2 + k 3 + k 4 1 0 k 3 k 4 g k 3 + k 4 1 0 0 k 4 1 0 0 0 1 .
In a similar way z y = T z y y e , is defined T z y as:
T z y = 0 k 2 k 3 + k 2 k 4 + k 3 k 4 g k 2 + k 3 + k 4 1 0 k 3 k 4 g k 3 + k 4 1 0 0 k 4 1 0 0 0 1
with the vector y e given in Equation (16), where the control law according to the conventional nested saturation function, for the case of tracking trajectory is
u = x d ( n ) σ n ( k n z n + σ n 1 ( k n 1 z n 1 + + σ 1 ( k 1 z 1 ) ) ) ,
with
σ n ( s ) = b , if s < b s , if b s b b , if s > b ,
where b is a positive constant; therefore, the controller for the pitch angle is
τ θ = θ ¨ d σ 4 ( k 4 z 4 x + σ 3 ( k 3 z 3 x + σ 2 ( k 2 z 2 x + σ 1 ( k 1 z 1 x ) ) ) )
and for the roll angle is
τ ϕ = ϕ ¨ d σ 4 ( k 4 z 4 y + σ 3 ( k 3 z 3 y + σ 2 ( k 2 z 2 y + σ 1 ( k 1 z 1 y ) ) ) )
with b 1 , b 2 , b 3 and b 4 as the bounds of the saturation functions.
Since the objective of the vehicle is to follow the desired trajectory according to a velocity field, the error vector (16) could be reduced to
x e = e x ˙ e θ e θ ˙ and y e = e y ˙ e ϕ e ϕ ˙ .
With the new state error vectors (21) instead (16), it is possible to omit the state z 1 in the diffeomorphism z x = T z x x e , then T z x of Equation (17), and in the same way T z y , could be reduced to a 3 × 3 matrix
T z x = k 3 k 4 g k 3 + k 4 1 0 k 4 1 0 0 1 .
Consequently, the saturation controller (19), could be reduced to only 3 saturators, as:
τ θ = θ ¨ d σ 4 ( k 4 z 4 x + σ 3 ( k 3 z 3 x + σ 2 ( k 2 z 2 x ) ) )
and for the roll angle:
τ ϕ = ϕ ¨ d σ 4 ( k 4 z 4 y + σ 3 ( k 3 z 3 y + σ 2 ( k 2 z 2 y ) ) ) .
The control law of three saturators of Equation (23) is equivalent to the control law of Equation (19) with k 1 = 0 . According to Reference [19], if none of the σ i are saturated, the poles of the linearized closed loop system reside at { k 1 , k 2 , k 3 , k 4 } . This means that in the case of the three saturations controller (23), when none of the σ i are saturated, the poles of the linearized closed loop system reside at { 0 , k 2 , k 3 , k 4 } . Both controllers are stable; however, the difference between k 1 = 0 or k 1 0 , going to the same reference, (and in general for every constant k i ) is that for higher k i , the error rates in saturated equilibrium decrease, but the overall settling time can be higher.
In this case, it is convenient to use the transformation of Equation (22) and the control law of Equation (23), because these equations need fewer computational operations.

4. Velocity Field

The objective of the velocity field method in this particular case is to follow a predefined trajectory. For this method, it is necessary to calculate two vector fields, the approaching field and the tangential field. The approaching field is defined by the vectors that aim directly to the trajectory, in which each vector V a c is obtained as the normalized subtraction of the closest point to the trajectory, as proposed by Reference [17]. The trajectory to follow is a circle of radius r t r and the center at the point ( o x , o y ) , expressed by
( x o x ) 2 + ( y o y ) 2 = r t r 2 .
In order to calculate the approaching field, it is necessary to find the closest point from any position of the workspace to the trajectory. This closest point is calculated by
min ( x x t r ) 2 + ( y y t r ) 2 ,
where x t r and y t r are the points conforming the trajectory, that is, the set of all the points that satisfy Equation (25). For this specific case, let us define the vectors:
ξ ¯ = x ¯ y ¯ = x o x y o y , ξ ˜ = x ˜ y ˜ = x c l x y c l y ,
where x ¯ , y ¯ are the difference between any point of the workspace and the center of the circular trajectory, and x ˜ , y ˜ are the position errors from any point of the workspace and its closest point within the desired trajectory.
The coordinates of the closest point to the trajectory are
x c l = o x + r t r cos ( α c l )
y c l = o y + r t r sin ( α c l ) ,
where α c l denotes the angle from the actual position to the closest point of the trajectory. Taking the Equations (28)–(29) to calculate x c l and y c l , we can define the distance between the actual position and the closest point in the trajectory as
ξ ˜ = x ˜ 2 + y ˜ 2 .
The angle α c l is obtained from the derivative of the distance ξ ˜ with respect to α c l , or d ξ ˜ / d α c l = 0 , and it is
α c l = atan 2 ( y ¯ , x ¯ ) .
The approaching field is defined as
V a c = ξ ˜ ξ ˜ .
Let us denote the partial derivatives of x c l and y c l as v x c and v y c .
v c = v x c v y c = x c l / α c l y c l / α c l = r t r sin α c l r t r cos α c l .
These values are necessary to generate the tangential field as follows
V t g = v c v c .
The velocity field is obtained performing the normalized weighted sum
V = F 1 V a c + F 2 V t g F 1 V a c + F 2 V t g ,
where F 1 and F 2 are functions of the Euclidean distance between a point in space and the desired trajectory, which are given by:
F 1 = 2 1 + e γ ξ ˜ 1 , F 2 = 1 F 1
The aim of this function is to increase the effect of the approaching function far from the trajectory and the tangential function close to the trajectory, with γ as the parameter that controls the weighting of both vectors. In Figure 2 is shown a velocity field generated with a value γ = 0.4 , o x = 40 , o y = 30 and r t r = 10 .
The velocity field vector is expressed by (35). It represents the desired velocity that the vehicle must achieve at each instant, in order to track the trajectory. With the nested saturation controller, given by Equations (23) and (24), it is possible to track the vectors x e and y e given in (21).
Since the velocity field vector (35) is a normalized vector, then the magnitude of the velocity vector is one. In order to impose other magnitude to the velocity reference, this vector could be multiplied by a constant K v . The resulting vector could be seen as the desired value of the velocity in x and y coordinates, this is:
x ˙ d y ˙ d = K v V = K v V x K v V y ,
with these desired values, the velocity error variables e x ˙ = x ˙ x ˙ d and e y ˙ = y ˙ y ˙ d can be computed. However, in order to compute the remaining error variables of Equation (21), are still necessary the desired values: θ d , θ ˙ d , ϕ d and ϕ ˙ d , even more, the tracking controllers (23) and (24) need the desired variables θ ¨ d and ϕ ¨ d . From Equations (13) and (14) we have that x ¨ = g θ and y ¨ = g θ , so θ = x ¨ / g and ϕ = y ¨ / g , then
x ˙ d θ d θ ˙ d θ ¨ d = x ˙ d x ¨ d / g x d / g x d / g = K v V x K v V ˙ x / g K v V ¨ x / g K v V x / g
and
y ˙ d ϕ d ϕ ˙ d ϕ ¨ d = K v V y K v V ˙ y / g K v V ¨ y / g K v V y / g .
Equation (38) gives us a way to obtain the desired variables to track, and it means that it is necessary to compute three successive derivatives of the potential velocity (35). Appendix A illustrates the procedure to obtain the successive derivatives of V .

5. Obstacle Avoidance

Obstacle avoidance is achieved by using hydrodynamic theory, specifically the flux of an ideal fluid around a cylinder as shown in Figure 3. Let us define a flux of a planar fluid in stationary state, with a vector velocity field
v ( p ) = u ( x , y ) v ( x , y )
in the point
p = x y Ω .
Here Ω R 2 is the domain occupied by the fluid, then for it to be an ideal fluid it must be incompressible, meaning vanishing divergence, and irrotational, implying a vanishing curl
· v = u x + v y = 0 , × v = v x u y = 0 .
Theorem 1.
The velocity vector field v = [ u ( x , y ) , v ( x , y ) ] T induces a flux of ideal fluid if and only if
f ( z ) = u ( x , y ) i v ( x , y )
is a complex analytic function of z = x + i y [23].
Thus, the components u ( x , y ) and v ( x , y ) are necessarily harmonic conjugates. The corresponding complex function (40) is known as the complex velocity of the fluid flux.
Let f ( z ) allow a complex anti-derivative, that is, a complex analytic function
χ ( z ) = Φ ( x , y ) + i Ψ ( x , y )   that   satisfies   d χ d z = f ( z ) .
Using the Cauchy-Riemann equations for the complex derivative,
d χ d z = Φ x i Φ y = u i v , then Φ x = u , Φ y = v .
Thus, Φ = v , and therefore the real part Φ ( x , y ) of the complex function χ ( z ) defines the velocity potential. Consequently, χ ( z ) is known as the complex potential function for the fluid velocity field.
Taking advantage of this property, it is possible to use any harmonic function for the complex velocity potential and the real velocity of the fluid, Φ = v , is automatically irrotational and incompressible.
Using a circular obstacle that interferes with the approaching vector field flux, where ( x o , y o ) is the center position of the obstacle, with radius r o , the position error with respect to the center of the obstacle is defined as
ξ ˜ o = x x o y y o = x ˜ o y ˜ o .
The proposed velocity potential function for an ideal fluid through a circular obstacle is
Φ ( ξ ˜ o ) = 1 + r o 2 x ˜ o 2 + y ˜ o 2 ( x ˜ o cos β + y ˜ o sin β ) ,
where
β = atan 2 ( V y , V x )
is the angle of the velocity field vector in that point. The flux velocity around a cylinder is defined as the gradient of the Φ function, namely v = Φ .
Then, the x-component of the velocity vector is
V e v x = 2 r o 2 ( x ˜ o 2 + y ˜ o 2 ) 2 ( x ˜ o c β + y ˜ o s β ) x ˜ o + 1 + r o 2 x ˜ o 2 + y ˜ o 2 c β ,
where c β = cos β and s β = sin β . The velocity function in the y-coordinate is
V e v y = 2 r o 2 ( x ˜ o 2 + y ˜ o 2 ) 2 ( x ˜ o c β + y ˜ o s β ) y ˜ o + 1 + r o 2 x ˜ o 2 + y ˜ o 2 s β .
Therefore, the velocity vector for the evasive maneuver is
V e v = V e v x V e v y .
It could be said that the effect of the equations for evasion is to reorient the direction of the velocity vector, which was computed before considering the obstacle, redirecting the velocity reference to try to surround the obstacle. Then, it makes sense that the modified velocity field, V e v , takes the place of the previous velocity field, however, it could be also normalized as
V = V e v V e v .
Appendix B illustrates the procedure to obtain the successive derivatives of the velocity reference V , obtained from Equation (45). These derivatives are necessary for tracking control.
Remark 1.
The method proposed to avoid obstacles allows to manage the evasive field for multiple obstacles in a recursive way. In the case of multiple obstacles, the algorithm starts from the attractive velocity field of Equation (35). The next step is to create a list of the obstacles located in the workspace, from the furthest to the closest to the vehicle. Then, considering sequentially all the obstacles, at each iteration, the previous velocity vector V is transformed, through Equation (45), in the new velocity field (considering evasion of the k-obstacle), and it will become the new reference of velocity, V , in the next iteration. After finishing all iterations, the modified velocity field achieved, becomes the actual velocity reference for Equations (38) and (39).
Figure 4 shows the modification of the velocity field shown in Figure 2, resulting from the incorporation of three obstacles.

6. Results

6.1. Numerical Results

The first simulation consists only of the approaching velocity field of Equation (35). The vehicle begins at position p = [ 0 , 0 ] T . In Table 1 are shown the values of the controller parameters for simulation.
Figure 5 shows the trajectory followed by the vehicle. The “×” symbol points out the initial position, then the vehicle is guided by the velocity field to the circular trajectory.
Figure 6 shows two plots—one for the position error, this is ξ ˜ of Equation (27), and the other one for the speed error, this is [ e x ˙ , e y ˙ ] T , where e x ˙ and e y ˙ are defined in Equation (15). It can be seen that the velocity field is reached after 6 seconds, then the vehicle keeps tracking the velocity field thereafter. An adequate tracking of the velocity field leads the vehicle to follow the circular trajectory which is reached around 25 seconds, according to the position error plot, and the vehicle remains in the circular trajectory thereafter at a speed of 2 m/s, according to the selected value for the constant K v (see Table 1).

6.2. Obstacle Avoidance Strategy

Figure 7 depicts the trajectory followed by the vehicle in the presence of three obstacles. The “×” symbol shows the initial position. It is shown how the vehicle avoids the obstacles guided by the evasive velocity field.
Figure 8 illustrates two plots—one for the position error, this is ξ ˜ of Equation (27), and the other one for the speed error, this is [ e x ˙ , e y ˙ ] T . It can be seen that the vehicle reaches the velocity field and the desired trajectory almost at the same time of the simulation without obstacles, however, in this case, it could be seen two little humps in the speed error plot. The greater hump (up to 0.03 m/s) occurs around 16.5 s and the other one around 18 s; this occurs after the evasion of the second obstacle.

6.3. Experimental Results

For the experiments, a 3DR IRIS+ quad-copter was used. This vehicle has a Pixhawk autopilot, and the position was measured with a GPS. The experiment consist in the flight from the point ( 0 , 0 ) , to the circular reference trajectory with center at the point ( 12 , 12 ) , and radio = 3 m. One obstacle of radio = 1.5 m was virtually positioned in the coordinate ( 4 , 4 ) . The Figure 9 shows the path followed by the quad-rotor. The vehicle completed the task satisfactorily and it showed an acceptable performance.
In this experimental test, the obstacle is virtual. However, real obstacles could be detected with multiple sensors like cameras on board the UAV, fixed cameras like those for motion capture, or other sensors like LIDAR. Whatever means of detection is selected, it must be ensured to provide accurate information of the width of the obstacles, to calculate the radius of the cylinder to evade.

7. Conclusions

The most important contributions of this work are: (i) the recursive generation of a velocity field that includes attractive field and evasive field for obstacle avoidance; (ii) the derivation of the time derivatives of the attractive and evasive velocity reference, needed to compute the desired tracking variables; and (iii) the use of a reduced asymptotically stable tracking control law (from four to three saturators), which results simpler for implementation. Simulation results show that the tracking nested saturation controller for velocity vanishes the velocity error and its derivatives, which indicate that the velocity field is perfectly tracked, showing that the combination of these strategies provides a reasonable tracking performance.
For future work, we will consider obstacles with arbitrary shapes by using the panel method. Also, a robust control for wind perturbations will be considered.

Author Contributions

In this paper, conceptualization, investigation and methodology were performed by J.R.-E., L.A.G.-D., A.G.-J. and J.R.N. Formal analysis and validation were developed by J.R.-E. and E.S.E. The original draft was written by J.R.-E. and L.A.G.-D., while all the authors contributed equally in the review and editing of the manuscript. The project administrator is L.A.G.-D. All authors have read and agree to the published version of the manuscript.

Funding

This work was supported by Universidad de Sonora with internal project USO315005985.

Acknowledgments

We would like to thank CONACyT for the scholarship program, PRODEP for its financial support and UMI-LAFMIA Cinvestav, Zacatenco for their support and guidance in the experimental tests.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Derivative of Velocity field

In order to track the velocity field of Equation (35), with nested saturation controllers of Equations (23) and (24), it is necessary to compute three successive derivatives of the velocity reference (35), according to (38). In this appendix the equations to obtain the first derivative, V ˙ , of the velocity field are derived.

Appendix A.1. First derivative of velocity field

The derivative of the angle α c l (the angle from the actual position to the closest point of the trajectory, of Equation (31)) is
α ˙ c l = x ¯ y ˙ y ¯ x ˙ x ¯ 2 + y ¯ 2 = x ¯ y ˙ y ¯ x ˙ ξ ¯ 2
The time derivative of the points x c l and y c l of Equations (28) and (29) is
x ˙ c l = r t r α ˙ c l sin α c l = α ˙ c l v x c
y ˙ c l = r t r α ˙ c l cos α c l = α ˙ c l v y c
where v x c and v y c are those of Equation(33).
The time derivative of the error between the actual position and the closest point of the trajectory, ξ ˜ of Equation (27), is
ξ ¯ ˙ = v ˜ = x ˜ ˙ y ˜ ˙ = x ˙ c l x ˙ y ˙ c l y ˙
The derivative of the approaching field defined on Equation (32) is
V ˙ a p = ξ ¯ ˙ ( V a p T ξ ¯ ˙ ) V a p ξ ¯
The vector for the derivative of tangential velocity is
v ˙ c = v ˙ x c v ˙ y c = r t r θ ˙ c l cos θ c l r t r θ ˙ c l sin θ c l = θ ˙ c l v y c θ ˙ c l v x c
Then, the time derivative of tangential field of Equation (34) is
V ˙ t g = v ˙ c ( V t g T v ˙ c ) V t g v c
The time derivative of the functions F 1 and F 2 of Equation (36), is defined as
F ˙ 1 = 2 γ e γ ξ ˜ V a p T ξ ¯ ˙ [ 1 + e γ ξ ˜ ] 2 , F ˙ 2 = F ˙ 1
Let
V a = F 1 V a p + F 2 V t g
be the numerator of the velocity field (35). Its time derivative is
V ˙ a = F 1 V ˙ a p + F 2 V ˙ t g + F ˙ 1 V a p + F ˙ 2 V t g
Thus, the time derivative of the velocity field is
V ˙ = V ¨ a ( V T V ˙ a ) V V a

Appendix A.2. Second and Third Derivative of Velocity Field

The derivation of the second and third derivatives implies two successive derivatives of Equations (A1)–(A10). We will just present the second and third derivative of V in order to be more concise.
The second derivative of the velocity field is
V ¨ = V ¨ a ( V ˙ T V ˙ a + V T V ¨ a ) V 2 ( V T V ˙ a ) V ˙ V a
and the third derivative of this function is
V = V a ( V ¨ T V ˙ a + 2 V ˙ T V ¨ a + V T V a ) V 3 ( V ˙ T V ˙ a + V T V ¨ a ) V ˙ 3 ( V T V ˙ a ) V ¨ V a

Appendix B. Derivative of Evasive Velocity Field

The evasive velocity field V is expressed by Equation (45), which requires the vector V e v of Equation (44). The next subsection shows the derivative of the evasive velocity field (45).

Appendix B.1. First Derivative of Velocity Field

The derivative of the angle β , of Equation (41), (the angle of velocity field before the addition of the considered obstacle) is
β ˙ = V x V ˙ y V y V ˙ x V 2
The time derivative of V e v x , of Equation (42) is
V ˙ e v x = 4 ( x ˜ o x ˙ + y ˜ o y ˙ ) x ˜ o 2 + y ˜ o 2 V e v x c β V e v y β ˙ + 2 r o 2 ( x ˜ o 2 + y ˜ o 2 ) 2 ( x ˜ o c β + y ˜ o s β ) ( x ˙ + y ˜ o β ˙ ) + ( x ˜ o s β y ˜ o c β ) ( y ˙ x ˜ o β ˙ )
and, the time derivative of V e v y , of Equation (43) is
V ˙ e v y = 4 ( x ˜ o x ˙ + y ˜ o y ˙ ) x ˜ o 2 + y ˜ o 2 V e v y s β + V e v x β ˙ + 2 r o 2 ( x ˜ o 2 + y ˜ o 2 ) 2 ( x ˜ o c β + y ˜ o s β ) ( y ˙ x ˜ o β ˙ ) ( x ˜ o s β y ˜ o c β ) ( x ˙ + y ˜ o β ˙ )
Thus, the time derivative of the evasive velocity field is
V ˙ = V ˙ e v ( V T V ˙ e v ) V V e v
where V is that of Equation (45), and V e v is expressed in Equation (44).

Appendix B.2. Second and Third Derivative of Evasive Velocity Field

The derivation of the second and third derivatives implies two successive derivatives of Equations (A13)–(A16). The second and third derivative of Equations (42) and (43) results in long equations of many terms. We will just present the second and third derivative of V in order to be more concise.
The second derivative of the velocity field is
V ¨ = V ¨ e v ( V ˙ T V ˙ e v + V T V ¨ e v ) V 2 ( V T V ˙ e v ) V ˙ V e v
and the third derivative of this function is
V = V e v ( V ¨ T V ˙ e v + 2 V ˙ T V ¨ e v + V T V e v ) V 3 ( V ˙ T V ˙ e v + V T V ¨ e v ) V ˙ 3 ( V T V ˙ e v ) V ¨ V e v

References

  1. Masoud, A.A. A Harmonic Potential Approach for Simultaneous Planning and Control of a Generic UAV Platform. J. Intell. Robot. Syst. 2012, 65, 153–173. [Google Scholar] [CrossRef] [Green Version]
  2. Kim, J.; Khosla, P.K. Real-time obstacle avoidance using harmonic potential functions. IEEE Trans. Robot. Autom. 1992, 8, 338–349. [Google Scholar] [CrossRef] [Green Version]
  3. Shibata, N.; Sugiyama, S.; Wada, T. Collision avoidance control with steering using velocity potential field. In Proceedings of the 2014 IEEE Intelligent Vehicles Symposium Proceedings, Dearborn, MI, USA, 8–11 June 2014; pp. 438–443. [Google Scholar]
  4. Yamakita, M.; Yazawa, T.; Zheng, X.Z.; Ito, K. An application of Passive Velocity Field Control to cooperative multiple 3-wheeled mobile robots. In Proceedings of the 1998 IEEE/Rsj International Conference on Intelligent Robots and Systems, Victoria, BC, Canada, 17 October 1998; Volume 1–3, pp. 368–373. [Google Scholar]
  5. Perez-D’Arpino, C.; Medina-Melendez, W.; Guzman, J.; Fermin, L.; Fernandez-Lopez, G. Fuzzy logic based speed planning for autonomous navigation under Velocity Field Control. In Proceedings of the 2009 IEEE International Conference on Mechatronics, Malaga, Spain, 14–17 April 2009; Volume 1, pp. 1–6. [Google Scholar]
  6. Fukao, T.; Yuzuriha, A.; Suzuki, T.; Kanzawa, T.; Oshibuchi, T.; Osuka, K.; Kohno, T.; Okuyama, M.; Tomoi, Y.; Nakadate, M. Inverse Optimal Velocity Field Control of an Outdoor Blimp Robot—Blimp Surveillance Systems for Rescue. IFAC Proc. Vol. 2008, 41, 4374–4379. [Google Scholar] [CrossRef] [Green Version]
  7. Asl, H.J.; Narikiyo, T.; Kawanishi, M. Neural Network Velocity Field Control of Robotic Exoskeletons with Bounded Input. In Proceedings of the 2017 IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Munich, Germany, 3–7 July 2017; pp. 1363–1368. [Google Scholar]
  8. Li, B.; Du, H.; Li, W. A Potential Field Approach-Based Trajectory Control for Autonomous Electric Vehicles With In-Wheel Motors. IEEE Trans. Intell. Transp. Syst. 2017, 18, 2044–2055. [Google Scholar] [CrossRef] [Green Version]
  9. Wang, T.; Lima, R.M.; Giraldi, L.; Knio, O.M. Trajectory planning for autonomous underwater vehicles in the presence of obstacles and a nonlinear flow field using mixed integer nonlinear programming. Comput. Oper. Res. 2019, 101, 55–75. [Google Scholar] [CrossRef] [Green Version]
  10. Huang, Y.; Ding, H.; Zhang, Y.; Wang, H.; Cao, D.; Xu, N.; Hu, C. A Motion Planning and Tracking Framework for Autonomous Vehicles Based on Artificial Potential Field-Elaborated Resistance Network (APFE-RN) Approach. IEEE Trans. Ind. Electron. 2019, 67, 1376–1386. [Google Scholar] [CrossRef]
  11. Connolly, C.I.; Burns, J.B.; Weiss, R. Path planning using Laplace’s equation. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; Volume 3, pp. 2102–2106. [Google Scholar]
  12. Li, P.; Horowitz, R. Passive velocity field control of mechanical manipulators. IEEE Trans. Robot. Autom. 1999, 15, 751–763. [Google Scholar] [CrossRef]
  13. Cervantes, I.; Kelly, R.; Alvarez-Ramírez, J.; Moreno, J. A Robust Velocity Field Control. Control 2002, 10, 888–894. [Google Scholar] [CrossRef]
  14. Zhou, B.; Satyavada, H.; Baldi, S. Adaptive path following for Unmanned Aerial Vehicles in time-varying unknown wind environments. In Proceedings of the 2017 American Control Conference (ACC), Seattle, WA, USA, 24–26 May 2017; pp. 1127–1132. [Google Scholar]
  15. Olavo, J.L.G.; Thums, G.D.; Jesus, T.A.; de Araújo Pimenta, L.C.; Torres, L.A.B.; Palhares, R.M. Robust Guidance Strategy for Target Circulation by Controlled UAV. IEEE Trans. Aerosp. Electron. Syst. 2018, 54, 1415–1431. [Google Scholar] [CrossRef]
  16. Fari, S.; Wang, X.; Roy, S.; Baldi, S. Addressing Unmodelled Path-Following Dynamics via Adaptive Vector Field: A UAV Test Case. IEEE Trans. Aerosp. Electron. Syst. 2019, 1. [Google Scholar] [CrossRef]
  17. Pérez-D’Arpino, C.; Medina-Meléndez, W.; Fermín, L.; Guzmán, J.; Fernández-López, G.; Grieco, J.C. Dynamic Velocity Field Angle Generation for Obstacle Avoidance in Mobile Robots Using Hydrodynamics. In Advances in Artificial Intelligence—IBERAMIA 2008; Geffner, H., Prada, R., Machado Alexandre, I., David, N., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 372–381. [Google Scholar]
  18. Teel, A.R. Global stabilization and restricted tracking for multiple integrators with bounded controls. Syst. Control. Lett. 1992, 18, 165–171. [Google Scholar] [CrossRef]
  19. Johnson, E.N.; Kannan, S.K. Nested saturation with guaranteed real poles. In Proceedings of the 2003 American Control Conference, Denver, CO, USA, 4–6 June 2003; Volume 1, pp. 497–502. [Google Scholar]
  20. Patrikar, J.; Makkapati, V.R.; Pattanaik, A.; Parwana, H.; Kothari, M. Nested Saturation Based Guidance Law for Unmanned Aerial Vehicles1. J. Dyn. Syst. Meas. Control. 2019, 141, 71008. [Google Scholar] [CrossRef] [Green Version]
  21. Tran, T.T.; Han, T.T.; Ge, S.S. Trajectory Tracking Control of Quadrotor Aerial Vehicle. IFAC Proc. Vol. 2013, 46, 274–279. [Google Scholar] [CrossRef]
  22. Castillo, P.; Lozano, R.; Dzul, A. Stabilization of a mini-rotorcraft having four rotors. IEEE Control. Syst. Mag. 2005, 25, 45–55. [Google Scholar]
  23. Olver, P.J. Complex Analysis and Conformal Mapping; Technical report; University of Minnesota: Minneapolis, MN, USA, 2013. [Google Scholar]
Figure 1. Quad-rotor frames and generalized coordinates.
Figure 1. Quad-rotor frames and generalized coordinates.
Electronics 09 00233 g001
Figure 2. Velocity field of Equation (35), with desired trajectory at position ( 40 , 30 ) and radio r t r = 10 m.
Figure 2. Velocity field of Equation (35), with desired trajectory at position ( 40 , 30 ) and radio r t r = 10 m.
Electronics 09 00233 g002
Figure 3. Flux around a cylinder.
Figure 3. Flux around a cylinder.
Electronics 09 00233 g003
Figure 4. Velocity field with evasion for three obstacles.
Figure 4. Velocity field with evasion for three obstacles.
Electronics 09 00233 g004
Figure 5. Quad-rotor trajectory without obstacles.
Figure 5. Quad-rotor trajectory without obstacles.
Electronics 09 00233 g005
Figure 6. Position error and velocity error of the simulation without obstacles.
Figure 6. Position error and velocity error of the simulation without obstacles.
Electronics 09 00233 g006
Figure 7. Quad-rotor trajectory in the presence of obstacles.
Figure 7. Quad-rotor trajectory in the presence of obstacles.
Electronics 09 00233 g007
Figure 8. Position error and velocity error in the presence of obstacles.
Figure 8. Position error and velocity error in the presence of obstacles.
Electronics 09 00233 g008
Figure 9. Quad-rotor flight with virtual obstacle in the x-y plane.
Figure 9. Quad-rotor flight with virtual obstacle in the x-y plane.
Electronics 09 00233 g009
Table 1. Parameters and their corresponding values used in the simulation.
Table 1. Parameters and their corresponding values used in the simulation.
ParameterValue
b 2 0.2
b 3 0.4
b 4 0.8
k 2 2
k 3 2
k 4 2
K v 2

Share and Cite

MDPI and ACS Style

Rascón-Enríquez, J.; García-Delgado, L.A.; Noriega, J.R.; García-Juárez, A.; Espinoza, E.S. Tracking Control for Quad-Rotor Using Velocity Field and Obstacle Avoidance Based on Hydrodynamics. Electronics 2020, 9, 233. https://doi.org/10.3390/electronics9020233

AMA Style

Rascón-Enríquez J, García-Delgado LA, Noriega JR, García-Juárez A, Espinoza ES. Tracking Control for Quad-Rotor Using Velocity Field and Obstacle Avoidance Based on Hydrodynamics. Electronics. 2020; 9(2):233. https://doi.org/10.3390/electronics9020233

Chicago/Turabian Style

Rascón-Enríquez, Julián, Luis Arturo García-Delgado, José R. Noriega, Alejandro García-Juárez, and Eduardo S. Espinoza. 2020. "Tracking Control for Quad-Rotor Using Velocity Field and Obstacle Avoidance Based on Hydrodynamics" Electronics 9, no. 2: 233. https://doi.org/10.3390/electronics9020233

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