Next Article in Journal
Software Development for Processing and Analysis of Data Generated by Human Eye Movements
Previous Article in Journal
Network Situation Assessment Method Based on Improved BP Neural Network
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Quadrotor Trajectory-Tracking Control with Actuator Saturation

1
School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China
2
Tianfu Institute of Research and Innovation, Southwest University of Science and Technology, Chengdu 610299, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(3), 484; https://doi.org/10.3390/electronics12030484
Submission received: 21 November 2022 / Revised: 20 December 2022 / Accepted: 30 December 2022 / Published: 17 January 2023

Abstract

:
As a very serious problem for control systems, actuator saturation often leads to an unstable system. The maneuvering flight of quadrotors may lead to actuator saturation, which commonly affects the flight quality, including trajectory-tracking accuracy. Quadrotors usually adopt double-closed-loop control, of which the outer loop is the position control used to calculate the desired attitude angle and the inner loop is the attitude control used to generate control actions for the vehicle. To address actuator saturation during the maneuvering flight of quadrotors, an attitude controller based on the conditioned super-twisting algorithm (CSTA) was designed. The sign functions in CSTA were replaced by a hyperbolic tangent function, which suppresses the chattering of CSTA. In order to improve the rapidity of the improved controller, the tanh-CSTA (TCSTA), a gain adjustment factor was utilized. The rapidity and smoothness of the controller can be satisfied by adjusting the gain factor. Additionally, a sliding surface was designed according to the characteristics of the quadrotor control structure, so that the TCSTA controller can be applied to the second-order system. The performances of the designed improved controller were simulated using MATLAB, and the results showed that the designed controller is more robust than the PID controller. Moreover, compared with the CSTA controller, the chattering of the designed controller was obviously suppressed without reducing the control accuracy.

1. Introduction

Quadrotor UAVs have been widely researched and applied because of their simple structure and vertical take-off and landing abilities [1,2,3]. The stability control of quadrotors includes hovering control and trajectory tracking control. Due to the underactuated, nonlinear, and strong coupling characteristics, the design of trajectory tracking control of quadrotors is difficult. Usually, the control system of the quadrotors can be divided into a fully driven inner loop attitude control and an under-driven outer loop position control [4,5].
Research on the trajectory tracking control of quadrotors has achieved rich results [6,7,8]. However, quadrotors are easily affected by external disturbances, which may lead to actuator saturation. The saturation affects the performances of the whole system, especially the trajectory-tracking performances of quadrotors. When the actuator is saturated, the error accumulation becomes increasingly, which causes windup problems. However, waiting until the accumulated error becomes too large, for the error to be reversed, and for the actuator to take correct actions takes too long, which may make the system unstable.
At present, some achievements have been made in the actuator saturation control of the quadrotor. Faessler et al. [9] divided the controllers into different priorities: the highest priority controllers were the roll and pitch controllers, and the controller with the second-highest priority was the thrust controller, while the controller with the lowest priority was the yaw controller. Combined with the designed iterative control allocation algorithm, the controller performances with actuator saturation were improved. Zaki et al. [10] obtained the inverse of the control allocation matrix with the quadratic optimal method, and the method was extended by Tariq et al. to handle actuator saturation [11]. In Chen et al. [12], an efficient thrust mixer was designed by reducing the priority of the yaw control, and the control allocation matrix was redesigned to deal with the problem of actuator saturation; the experimental results showed that the system performances were indeed improved. In [13,14,15], the trajectory tracking control of a quadrotor was realized by using fuzzy control.
Omid et al. [16] and Lin et al. [17] utilized the reinforcement learning method to design the controller. In order to ensure that the controller output did not exceed the limit, an output threshold was set during the learning process. Zhao et al. [18] utilized the backstepping method to design an adaptive fault-tolerant control, and an auxiliary system was employed to deal with actuator saturation. Li et al. [19] designed an adaptive controller commonly used in robot control for a quadrotor, and the auxiliary variable method was used to deal with the problem of input saturation. Wang et al. [20] designed a backstepping controller with auxiliary variables to ensure that the controller output was within the limits, thus avoiding actuator saturation. Sidi et al. [21] made the controller satisfy the input saturation limit by using second-order auxiliary variables, so that the sliding mode controller could achieve stable tracking of the desired trajectory. Liu et al. [22] dealt with the actuator saturation problem using a novel auxiliary variable.
Wang et al. [23] used the disturbance observer to estimate the external disturbance, and the output of the position controller was limited to ensure that the desired angles of the inner loop were within a certain range. Xu et al. [24] used the hyperbolic tangent function to approximate actuator saturation, and the controller outputs were adjusted by the hyperbolic tangent function and then applied to the actuator, so that the virtual control could be freely designed. Harshavarthini et al. [25] designed a non-fragile robust controller to solve the problem of actuator saturation with external disturbance. In Ji et al. [26] and Wang et al. [27], the saturation problem in the direction of the thrust was mainly considered. Shao et al. [28] designed adaptive sliding mode controllers to deal with actuator saturation.
There are other feasible ways to deal with the actuator-saturation problem, among which sliding mode control is widely researched [29,30]. Hu et al. [31] proposed terminal sliding mode control for the input-constrained problem, and a tanh-type slowly varying adaptive law was integrated into an auxiliary system to compensate for input saturation. Zhang et al. [32] proposed a novel three-dimensional adaptive sliding mode controller for missiles, and the tanh function was used to avoid chattering of the controller. The super-twisting algorithm (STA) is a typical second-order sliding mode controller. However, if actuator saturation exists in the system, the STA will be affected by the windup problem [33]. In order to solve the windup problem, Seeber et al. [34] designed a conditioned STA (CSTA) controller based on the feasible reference proposed by Hanus et al. [35]. In this paper, the CSTA was improved by replacing the sign function with the hyperbolic tangent function to avoid the chattering problem. The CSTA controller was designed for a first-order system, but the attitude subsystem in each direction is a second-order system. Therefore, an appropriate sliding surface was designed to apply the improved CSTA controller to the second-order system.
The rest of this paper is organized as follows. In Section 2, the mathematical model of the quadrotor with disturbance is established. In Section 3, the specific improvement method of the CSTA controller is presented, and the control system of the quadrotor is designed. In Section 4, the performances of the designed controller are verified. Conclusions are given in Section 5.

2. Modeling of Quadrotor

The dynamics model of the quadrotor was constructed using the Newton–Euler method. The model of the quadrotor is shown in Figure 1, the coordinate frames of the quadrotor consist of the world reference frame E ( O E X E Y E Z E ) and the body frame B ( O B X B Y B Z B ) . The forces and torques generated by the four rotors can be combined into the torques and thrust of the quadrotor. The quadrotor can track the desired trajectory by adjusting the rotation speed of the four rotors.

2.1. Thrust and Torque

The motion of the quadrotor depends on the rotation of the four rotors. Thrust and torque are generated on the blade during high-speed rotation of the rotor. The thrust of the i t h propeller is proportional to the square of the speed ω i :
T i = C t · ω i 2
where C t is the thrust coefficient and ω i , ( i 1 , 2 , 3 , 4 ) is the rotation speed of i t h propeller. The total thrust U 1 is the summation of T i :
U 1 = i = 1 4 T i = C t ( ω 1 2 + ω 2 2 + ω 3 2 + ω 4 2 )
The thrust is always along the positive Z B axis, so the thrust presented in body frame B is as follows:
F b = U 1 · e 3 = 0 0 U 1
where e 3 = 0 , 0 , 1 T is the unit vector for the Z B axis.
The roll and pitch torques are generated by changing the rotation speed of the propellers. If the rotation speed of the second propeller decreases while the fourth propeller increases, the quadrotor will rotate along the X B axis. If the rotation speed of the third propeller decreases while the first propeller increases, the quadrotor will rotate along the Y B . Therefore, the roll and pitch torques are computed as follows:
U 2 = l · C t ( ω 2 2 + ω 4 2 ) U 3 = l · C t ( ω 1 2 ω 3 2 )
where U 2 and U 3 are roll and pitch torques, respectively, and l is the length of the quadrotor’s arm.
When the speed of the rotors are high enough, the air resistance on the rotor produces torque. The torque of the ith propeller depends on the rotation speed and rotation direction. The value of torque can is proportional to the square of the speed ω i :
M i = C d · ω i 2 .
where C d is the drag factor. These torques are what drive the yaw motion of the quadrotor, and the total torque is calculated as follows:
U 4 = i = 1 4 ( 1 ) i M i = C d · ( ω 1 2 + ω 2 2 ω 3 3 + ω 4 2 )
The torques presented in body frame are as follows:
M b = U 2 U 3 U 4
The control input of the quadrotor can be rewritten in matrix form:
U 1 U 2 U 3 U 4 = C t C t C t C t 0 l · C t 0 l · C t l · C t 0 l · C t 0 C d C d C d C d ω 1 2 ω 2 2 ω 3 2 ω 4 2 .
The gyroscopic torque is calculated as follows:
τ g = J m ( ω b × e 3 ) · ( ω 1 + ω 2 ω 3 + ω 4 ) ,
where J m is the inertia moment of the motor and propeller, and ω b is the angular velocity in the body coordinate frame. Just to make it easier to compute the matrix cross product, the vector can be written in skew symmetric matrix form. The angular velocity vector in the body fram is ω b = [ ω x , ω y , ω z ] T , and the skew symmetric matrix ω b × can be defined as follows:
ω b × = 0 ω z ω y ω z 0 ω x ω y ω x 0
Therefore, the gyroscopic torque can be calculated as follows:
τ g = J m ( ω b × e 3 ) · ( ω 1 + ω 2 ω 3 + ω 4 ) = J m ( ω b × e 3 ) · ω r = J m ω y ω x 0 ω r .
where ω r = ω 1 + ω 2 ω 3 + ω 4 is the algebraic sum of four rotor speeds.

2.2. Dynamic Model of Quadrotor

The position of quadrotors in the world frame E is P = [ X , Y , Z ] T , and the attitude of the quadrotor represented by a Euler angle is Θ = [ ϕ , θ , ψ ] T , in which ϕ , θ , and ψ denote roll, pitch, and yaw angle, respectively. Let R b e denote the rotation matrix, which can be denoted as follows:
R b e = C ψ C θ S ψ C ϕ + C ψ S θ S ϕ S ψ S θ + C ψ S θ C ϕ S ψ C θ C ψ C ϕ + S ψ S θ S ϕ C ψ S θ + S ψ S θ C ϕ S θ C θ S ϕ C θ C ϕ
where C and S represent the c o s ( ) and s i n ( ) , respectively. Therefore, the relationship between velocity [ U , V , W ] T in body frame and the time derivative of position [ X ˙ , Y ˙ , Z ˙ ] T is as follows:
X ˙ Y ˙ Z ˙ = R b e U V W
The angular velocity of body frame ω b can be converted to a time derivative of the Euler angle Θ ˙ = [ ϕ ˙ , θ ˙ , ψ ˙ ] T :
ϕ ˙ θ ˙ ψ ˙ = T b e ω x ω y ω z = 1 s i n ( ϕ ) t a n ( θ ) c o s ( ϕ ) t a n ( θ ) 0 c o s ( ϕ ) s i n ( ϕ ) 0 s i n ( ϕ ) s e c ( θ ) c o s ( ϕ ) s e c ( θ ) ω x ω y ω z
The quadrotor can be regarded as a symmetrical rigid body. The origin of the body frame is located at the center of mass of the quadrotor. The dynamic model of the quadrotor can be obtained using the Newton–Euler equations as follows:
m P ¨ = m g e 3 + R b e ( F b + F d ) J b ω b ˙ = ω b × ( J b · ω b ) + τ g + M b + M d
where m is the mass of the quadrotor; g is the gravitational acceleration; R b e , F b , ω b , τ g , and M b are as described previously; F d = [ f d x , f d y , f d z ] T are the external disturbance forces; M d = [ τ d x , τ d y , τ d z ] T is the external disturbance torques; J b is the inertia matrix of the quadrotor, considering the symmetry of the quadrotor; and the inertia torque has the following form:
J b = J x 0 0 0 J y 0 0 0 J z
where J x , J y , and J z are the moments of inertia. In order to rewrite the dynamic model (15) as an equation of state, the state variable χ is defined as follows:
χ = [ X , X ˙ , Y , Y ˙ , Z , Z ˙ , ϕ , ω x , θ , ω y , ψ , ω z ] T .
Thus, the dynamic model of quadrotor in state equation form is as follows:
χ ˙ = f ( χ , U ) = X ˙ ( s i n ( θ ) c o s ( ϕ ) c o s ( ψ ) + s i n ( θ ) s i n ( ψ ) ) ( U 1 + F d x ) m Y ˙ ( s i n ( θ ) c o s ( ϕ ) c o s ( ψ ) s i n ( θ ) s i n ( ψ ) ) ( U 1 + F d y ) m Z ˙ c o s ( ϕ ) c o s ( θ ) ( U 1 + F d z ) m g ω y t a n ( θ ) s i n ( ϕ ) + ω z t a n ( θ ) c o s ( ϕ ) J y J z J x ω y ω z + J m ω y ω r + U 2 + τ d x J x ω y c o s ( ϕ ) ω z s i n ( ϕ ) J z J x J y ω x ω z + J m ω x ω r + U 3 + τ d y J y ω y s i n ( ϕ ) c o s ( θ ) + ω z c o s ( ϕ ) c o s ( θ ) J x J y J z ω x ω y + U 4 + τ d z J z

3. Controller Design

The double-loop control structure is usually adopted by quadrotors, which is shown in Figure 2. The outer loop is position control, which obtains the desired attitude angle from positions X and Y. The inner loop is used to control the attitude and altitude of the quadrotor. The control action of the altitude and attitude affects the actuator directly. In order to meet the performance requirements of the system, an inner loop controller is designed to deal with actuator saturation.

3.1. Conditioned Super-Twisting Algorithm

The super-twisting algorithm (STA) is a typical second-order sliding mode control algorithm that can avoid the chattering phenomenon of a controller. The error of the system is denoted as σ , the control output is u, and the original STA designed in [36] is described as follows:
u = k 1 | σ | s i g n ( σ ) + v , v ˙ = k 2 s i g n ( σ ) .
where k 1 and k 2 are positive parameters. The STA described in Equation (19) has a windup problem when the actuator is saturated. In order to deal with the windup problem caused by actuator saturation, Hanus et al. [35] proposed a realizable reference trajectory r , which can avoid the large output of controller. When the realizable reference r is applied to the STA, the algorithm can be rewritten as follows:
u = k 1 | r x | s i g n ( r x ) + v , v ˙ = k 2 s i g n ( r x )
where x is the system state. Seeber and Reichhartinger [34] found that s i g n ( r x ) = s i g n ( u v ) , so the conditioned super-twisting algorithm (CSTA) was proposed:
u = k 1 | r x | s i g n ( r x ) + v , v ˙ = k 2 s i g n ( u v ) , u = s a t U ( u ) .
where the s a t U ( u ) is the saturation function, which is defined as follows:
s a t U ( u ) = u | u | U m a x U m a x s i g n ( u ) | u | > U m a x

3.2. Improved Conditioned Super-Twisting Algorithm

The CSTA proposed in [34] is aimed at the first-order system. The attitude of the quadrotor is a second-order nonlinear system, so the error e in the CSTA should be replaced by a high-order sliding surface. The general sliding surface is constructed as follows:
s = ( d d t + λ ) ( n 1 ) e
where d d t is the differential operator, λ is a positive constant parameter, and n is the order of the system. Sudden changes in the attitude cause a large angular velocity. If such a large angular velocity is directly introduced into the sliding surface, it will cause a step change in the sliding surface, which leads to dramatic change in the controller output. To deal with this problem, the following sliding surface is designed:
s i = λ i e i x ˙ i , e i { ϕ d ϕ , θ d θ , ψ d ψ , Z d Z } , x ˙ i { ω x , ω y , ω z , Z ˙ } .
where ϕ d , θ d , ψ d , and Z d are reference values.
The chattering of sliding mode control is mainly caused by discontinuity of the sign function s i g n ( · ) . The chattering can be avoided by using hyperbolic tangent function t a n h ( · ) instead of sign function s i g n ( · ) . However, the hyperbolic tangent function will make the response speed of the controller not fast enough. In order to improve the response speed of the improved controller, a gain factor is adopted by the hyperbolic tangent function. The specific form of the improved controller TCSTA (tanh-CSTA and TCSTA) is as follows:
u i = k i 1 | s i | t a n h ( α i · s i ) + v i , v ˙ i = k i 2 t a n h ( β i ( u i v i ) ) , u i = s a t U i ( u i ) .
where k i 1 , k i 2 , α i , and β i ( i { ϕ , θ , ψ , Z } ) are positive gain coefficients for each controller.
The structure of designed sliding mode control TCSTA is shown in Figure 3. A large α i makes the TCSTA controller have a fast response. However, if the value of α i is too large, it will cause the controller chattering. A small α i makes the TCSTA controller output smooth. Similarly, if the value of α i is too small, the controller responds too slow. As shown in Figure 3, v i is used to compensate the error between the direct output of the controller and the output after amplitude limiting. If β i is too small, the error compensation will be too slow and the controller performances will be affected. At the same time, v i is used to make the controller smoother, so β i cannot be too large.
When a TCSTA controller is applied to the quadrotor, the specific control structure is shown in Figure 4, in which the roll ϕ control is taken as an example.

3.3. Trajectory-Tracking Control

Outer loop control is used to calculate the desired attitude angle. The desired attitude ϕ d and θ d can be calculated as in [37].
ϕ d = a r c s i n ( u x s i n ( ψ d ) u y c o s ( ψ d ) u ) θ d = a r c t a n ( u x c o s ( ψ d ) + u y s i n ( ψ d ) u z ) u = u x 2 + u y 2 + u z 2
where ψ d is the desired yaw angle and u x , u y , and u z are control actions for the X, Y, and Z axes, respectively.
u x and u y are used to calculate the desired ϕ d and θ d and do not directly affect the actuator. Therefore, using the PID algorithm to calculate u x and u y can not only meet the requirements but also reduce computation cost.
u x = k p x e x k d x U + k i x e x d t u y = k p y e y k d y V + k i y e y d t
where e x = X X d and e y = Y Y d are horizontal position errors; U and V are horizontal velocities in the body frame; and k p x , k p y , k d x , k d y , k i x , and k i y are controller parameters.
Because the Z axis control directly affects the actuator, TCSTA control is used on the Z axis. The specific form is as follows:
u z = k z 1 | s z | t a n h ( α z s z ) + v z v ˙ z = k z 2 t a n h ( β i ( u i v z ) ) u z = s a t U z ( u z ) s z = λ z e z Z ˙
with the meaning of parameters described in Equations (24) and (25).

4. Simulations and Results

In order to verify the good performances of the TCSTA controller, the MATLAB/Simulink-based numerical simulations are carried out, and the CSTA and PID are used as comparison algorithms. In order to improve the performance of the PID controller, the PID controller adopts the following forms:
u = k p u e + k i e d t k d x ˙ i f   e > e t k p l e + k i e d t k d x ˙ i f   e e t
where e t is the threshold value; k p u , k p l , k i , and k d are controller parameters; and x ˙ is the derivative of the corresponding states. Specific parameters of the PID controller are shown in Table A3, and the parameters of the TCSTA and CSTA are shown in Table A1 and Table A2, respectively.
To verify the robustness of the TCSTA controller, external disturbances are added to the quadrotor. The specific form of disturbance is as follows:
d i s = a ( c + r + b s i n ( ω t ) )
where c is a constant disturbance, r is a random number evenly distributed between 1 and 1, b is the amplitude of the sinusoidal disturbance, and ω is the angular frequency. The parameter values are different in different channels. Different cases of disturbance are regulated by a, which can be taken as 0, 0.5 , and 1.0 .
The performances of the three controllers on the attitude loop control are first compared. In different disturbance conditions, the setting time, steady-state accuracy, and controller output of the three controllers are compared. The magnitude–frequency characteristic is an important index to evaluate the performance of the controller. Then, different reference trajectories are designed to compare the tracking performances of the three controllers under the influence of disturbances.
The parameters of the quadrotor are shown in Table 1. The quadrotor is configured in the “+” configuration. According to M ϕ , θ = l · C t · n 2 , the maximum value of the roll and pitch control torque can be calculated as M ϕ , θ = 1.73 N · m . According to M ψ = 2 l · C q · n 2 , the maximum value of the yaw control torque can be calculated as M ψ = 0.56 N · m . According to T z = 4 · C t n 2 , the maximum value of thrust can be calculated as T z = 30 N . Considering the coupling between states, set M ϕ , θ = 1.5 N · m , M ψ = 0.5 N · m , and T z = 30 N .

4.1. Attitude-Control Simulation

Considering the symmetry of the quadrotor, only the roll ϕ and yaw ψ were simulated, and the performances of the three controllers were compared under different disturbances.

Simulation of Roll Control

In the case of no disturbance, the simulation results are shown in Figure 5. According to Figure 5a, three controllers can track the sine wave well in the undisturbed condition. As shown in Figure 5b, the tracking error is limited to 0.04 rad, which is mainly caused by the phase error. The phase errors and peak-to-peak errors of the TCSTA, CSTA, and PID are shown in Table 2. The controller outputs are shown in Figure 5c, and the CSTA controller output is greater than that of the TCSTA and PID controllers. The amplitude–frequency characteristics of the three controllers are shown in Figure 5d. The CSTA controller has a large amplitude at high frequency, while the TCSTA has a small amplitude, which indicates that the TCSTA controller can effectively avoid the controller-chattering problem.
When the amplitude of disturbance are 0.5 times and 1.0 times, the simulation results are shown in Figure 6 and Figure 7, respectively. It can be seen from Figure 6a,b and Figure 7a,b that both TCSTA and CSTA can suppress the disturbance effectively, while the tracking error of the PID controller increases with an increase in the disturbance. Compared with Figure 6c and Figure 7c, the outputs of the three controllers have the same trend. Moreover, chattering of the CSTA controller is the most serious, which can be verified by Figure 6d and Figure 7d.
In addition, due to the increase in disturbance, the outputs of the three controllers reach the threshold, which is shown in Figure 7c. In this case, the TCSTA and CSTA controllers can still track the reference value well, while the PID controller is unstable. Based on the above analysis, the TCSTA controller is as robust as the CSTA controller and can effectively avoid chattering.
To facilitate analysis, the main simulation results of the rolling control are listed in Table 2. From Table 2, the phase errors of the three controllers TCSTA, CSTA, and PID increase with the increase in disturbance, and the PID controller begins to become unstable when the disturbance increases to 1.0 times. The phase error of the TCSTA is slightly greater than that of the CSTA. The error between the peak value of the response curve and that of the expected curve is considered, which is defined as a P-P error in Table 2. The P-P errors of the CSTA and TCSTA are always small, whereas the error of the PID controller increases with disturbance until the controller becomes unstable.
The simulation results of the tracking square signal are shown in Figure 8. It can be seen from Figure 8a,b that a large disturbance makes the tracking error increase. The TCSTA and CSTA can still ensure system stability, while the PID is no longer stable. It is mainly due to a sudden change in reference signal and large external disturbance that controller saturation occurs. From Figure 8d, the amplitude of the TCSTA at high frequency is almost zero, while the CSTA still has a large amplitude. The simulation results show that the TCSTA controller can effectively resist the external disturbance and suppress the chattering problem even with a large disturbance.

4.2. Trajectory-Tracking Control Simulation

In this section, the movement of the quadrotor along a single axis is simulated first. Then, an elliptic trajectory is designed to verify the performances of the controllers. Moreover, considering the influence of different disturbances, the controller performances are studied from the aspects of robustness to external disturbances, chattering suppression, tracking accuracy, and so on.

4.2.1. Simulation of X-Axis Control

The movement in the X direction can be used to evaluate the performances of the double closed-loop control structure of the system. The simulations of the tracking step and sinusoidal trajectory in the X direction are carried out to research the regulation performances and tracking performances of the system. The simulation results in the case of undisturbed and 1.0 times disturbance are shown in Figure 9 and Figure 10. According to Figure 9a, three controllers can track the step signal almost without steady state error, and there is no significant difference in their setting time. According to Figure 9b, TCSTA and PID give large outputs during the transient process, and the controller output gradually converges to zero when the system reaches the desired position. The chattering of the CSTA is serious due to the discontinuity of the sign function, and the magnitude–frequency characteristics in Figure 9c also illustrate this conclusion.
According to Figure 10, the PID controller becomes unstable when the disturbance increases, while the TCSTA and CSTA can keep the quadrotor near the desired position. Although the output of the controller is saturated, the tracking error of TCSTA is not significantly greater than that of CSTA. Therefore, the TCSTA controller still delivers good performance in trajectory tracking control with controller saturation.
The simulation results of a quadrotor tracking sinusoidal trajectory in the X direction under the condition of 1.0 times disturbance are shown in Figure 11. Since the PID controller is unstable, there are only TCSTA and CSTA response curves in Figure 11. TCSTA and CSTA controllers can track the sine wave well. The tracking errors in Figure 11b are mainly caused by the phase error. The phase errors of the TCSTA and CSTA are 0.2689 rad and 0.2805 rad, respectively. Figure 11c shows the outputs of the TCSTA and CSTA. There is no obvious difference between the two controllers, that is to say, the performances of the two controllers are equivalent in this environment configuration.

4.2.2. Simulation of Elliptical Tracking Control

The elliptical trajectory is a typical trajectory in which curvature changes with time. The elliptical trajectory is shown as follows:
X d = a + r · c o s ( ω t ) · u 1 + r · s i n ( ω t ) · v 1 , Y d = b + r · c o s ( ω t ) · u 2 + r · s i n ( ω t ) · v 2 , Z d = c + r · c o s ( ω t ) · u 3 + r · s i n ( ω t ) · v 3 .
where ( a , b , c ) is the center of the ellipse, r = 1 is the radius, ω = 0.2 is the angular velocity, and U = [ u 1 , u 2 , u 3 ] T and V = [ v 1 , v 2 , v 3 ] T are two orthogonal vectors. If U and V have the same length, Equation (31) describes a circle in three dimensional Euclidean space; otherwise, Equation (31) describes an ellipse. In the simulation, U, V, and ( a , b , c ) are set to [ 0 , 2 , ( 2 ) ] T , [ 1 , 0 , 0 ] T , and ( 0 , 0 , 5 ) , respectively.
The simulation results of tracking the elliptical trajectory by the three controllers without disturbance are shown in Figure 12. As shown in Figure 12a, the performances of the three controllers in the undisturbed case are all satisfactory. The trajectory errors are obtained by subtracting the radius of quadrotor from the radius of the desired trajectory, and the results are shown in Figure 12b. From Figure 12b, it can be seen that the maximum tracking error could reach 0.15 m. In order to analyze the cause of the error, the error is projected onto the X Y plane and the Z axis, respectively. Additionally, the results are shown in Figure 13. From Figure 13, there is almost no error in the X Y plane projection trajectory, while there are phase error 0.1682 rad and amplitude error 0.04 m on the Z axis. The phase error has been analyzed in Section 4.2.1, and it is difficult to directly observe the phase error of the closed curve in Figure 13a.
The simulation results of 0.5 times and 1.0 times disturbance are shown in Figure 14 and Figure 15, respectively. With the increase in disturbance, the error of the system under PID control increases gradually, until the system becomes unstable. The tracking errors of the TCSTA and CSTA also increase with the increase in disturbance. It can be seen from Figure 14a,b that due to the increase in disturbance, the TCSTA and CSTA can still control the quadrotor near the reference trajectory, while the trajectory of PID is far from the desired trajectory. When the disturbance further increases, the PID controller becomes unstable, which is shown in Figure 15a. The outputs of the three controllers are shown in Figure 14c. When the disturbance increases to 1.0 times, the outputs of the three controllers reach saturation, which makes the PID controller unstable.
To compare the three controllers more intuitively, the tracking results of the three controllers are listed in Table 3. Take the mean value of the absolute value of the tracking error m e r and the variance of the tracking error v e r as the evaluation index; then, the m e r and v e r are as follows:
e r = X d 2 + Y d 2 + Z d 2 X 2 + Y 2 + Z 2 m e r = m e a n ( | e r | ) v e r = v a r ( e r )
where, X d , Y d , and Z d are desired trajectories in (31) and X, Y, and Z are the positions of the quadrotor.
It can be seen from Table 3 that the errors of the CSTA and TCSTA are equivalent. When the disturbance increases to 0.5 times, the absolute error mean value m e r and error variance v e r of the two controllers do not increase significantly. When the disturbance increases to 1.0 times, m e r and v e r of the CSTA and TCSTA increases significantly. The m e r and v e r of PID is the largest, and the PID controller begins to become unstable when the disturbance increases to 1.0 times.

5. Conclusions

We improve the CSTA controller to suppress the controller chattering, and the designed TCSTA controller is applied to the inner loop of quadrotor control. Trajectory tracking performances of the system are validated by a simulation of attitude control and position control, and the performances of the TCSTA controller are evaluated by the tracking error, phase error, and amplitude–frequency characteristics of the controller output under different external disturbances. The simulation results show that the TCSTA controller can suppress controller chattering effectively and its robustness is equivalent to a CSTA controller.
Control allocation is an important factor affecting the performances of a quadrotor with actuator saturation. In the future, on the basis of the current TCSTA controller application, further improvements will be made in the trajectory tracking performances of a quadrotor with actuator saturation by improving the control allocation.

Author Contributions

Conceptualization, Z.C.; methodology, Z.C.; software, Z.C.; writing—original draft, Z.C.; writing—review and editing, Z.C., H.C. and Y.S.; writing—proofreading grammar, Z.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Natural Science Foundation of Sichuan Province (2023NSFSC1388), Doctoral Fund of Southwest University of Science and Technology (16zx7148), and the Teaching reform program of SWUST (22xn0119).

Data Availability Statement

The data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

The parameters of the three controllers TCSTA, CSTA, and PID are shown in Table A1,Table A2,Table A3, and the parameters of position control are shown in Table A4.
Table A1. The parameters of the TCSTA controller.
Table A1. The parameters of the TCSTA controller.
λ K 1 K 2 α β
ϕ 3.752.526.90.253
θ 3.752.526.90.253
ψ 3.503.206.50.352
Z20.47130.010.00.2121
Table A2. The parameters of the CSTA controller.
Table A2. The parameters of the CSTA controller.
λ K 1 K 2
ϕ 1.50.721.5
θ 1.50.722
ψ 1.550.213.5
Z2.111.014.0
Table A3. The parameters of the PID controller.
Table A3. The parameters of the PID controller.
e t K pu K pl K i K d
ϕ 0.14.01.650.500.199
θ 0.14.01.650.500.199
ψ 0.78510.09.00.5539
Z113.8910.60.658.6
Table A4. The parameters of the position controller.
Table A4. The parameters of the position controller.
K p K i K d
X0.840.050.48
Y0.840.050.48

References

  1. Jeon, H.; Song, J.; Lee, H.; Eun, Y. Modeling Quadrotor Dynamics in a Wind Field. IEEE/ASME Trans. Mechatron. 2021, 26, 1401–1411. [Google Scholar] [CrossRef]
  2. Yang, L.; Li, B.; Li, W.; Brand, H.; Jiang, B.; Xiao, J. Concrete defects inspection and 3D mapping using CityFlyer Quadrotor robot. IEEE/CAA J. Autom. Sin. 2020, 7, 991–1002. [Google Scholar] [CrossRef]
  3. Lu, X.; Xing, Z. Application of IoT Quadrotor Dynamics Simulation. Electronics 2022, 11, 590. [Google Scholar] [CrossRef]
  4. Nguyen, L.V.; Phung, M.D.; Ha, Q.P. Iterative Learning Sliding Mode Control for UAV Trajectory Tracking. Electronics 2021, 10, 2474. [Google Scholar] [CrossRef]
  5. Lu, Q.; Ren, B.; Parameswaran, S. Uncertainty and Disturbance Estimator-Based Global Trajectory Tracking Control for a Quadrotor. IEEE/ASME Trans. Mechatron. 2020, 25, 1519–1530. [Google Scholar] [CrossRef]
  6. Wang, M.; Tayebi, A. Hybrid Feedback for Global Tracking on Matrix Lie Groups SO(3) and SE(3). IEEE Trans. Autom. Control. 2022, 67, 2930–2945. [Google Scholar] [CrossRef]
  7. Zou, Y. Trajectory tracking controller for quadrotors without velocity and angular velocity measurements. IET Control. Theory Appl. 2017, 11, 101–109. [Google Scholar] [CrossRef]
  8. Lee, T.; Leok, M.; McClamroch, H. Geometric tracking control of a Quadrotor UAV on SE(3). In Proceedings of the the 49th IEEE Conference on Decision and Control (CDC), Atlanta, GA, USA, 15–17 December 2010; pp. 5420–5425. [Google Scholar] [CrossRef] [Green Version]
  9. Faessler, M.; Falanga, D.; Scaramuzza, D. Thrust Mixing, Saturation, and Body-Rate Control for Accurate Aggressive Quadrotor Flight. IEEE Robot. Autom. Lett. 2017, 2, 476–482. [Google Scholar] [CrossRef]
  10. Zaki, H.; Unel, M.; Yildiz, Y. Trajectory control of a Quadrotor using a control allocation approach. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 533–539. [Google Scholar] [CrossRef]
  11. Tariq, T.; Nahon, M. Constrained Control Allocation Approaches in Trajectory Control of a Quadrotor Under Actuator Saturation. In Proceedings of the 2020 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 1–4 September 2020; pp. 131–139. [Google Scholar] [CrossRef]
  12. Chen, G.; Zhang, P.; Wang, Z.; Dong, W. TRP-Controller: An Efficient Anti-Saturation Controller for Quadrotors Performing Yaw-Low-Priority Motions. In Proceedings of the 2021 27th International Conference on Mechatronics and Machine Vision in Practice (M2VIP), Shanghai, China, 26–28 November 2021; pp. 310–315. [Google Scholar] [CrossRef]
  13. Kim, G.W. Fuzzy model-based control of a quadrotor. Fuzzy Sets Syst. 2019, 371, 136–147. [Google Scholar] [CrossRef]
  14. Kim, H.S.; Lee, K.; Joo, Y.H. Decentralized sampled-data fuzzy controller design for a VTOL UAV. J. Frankl. Inst. 2021, 358, 1888–1914. [Google Scholar] [CrossRef]
  15. Jang, Y.H.; Han, T.J.; Kim, H.S. Decentralized Sampled-Data Fuzzy Tracking Control for a Quadrotor UAV with Communication Delay. Drones 2022, 6, 280. [Google Scholar] [CrossRef]
  16. Omid, E.; Khoshnam, S. A novel model-free robust saturated reinforcement learning-based controller for quadrotors guaranteeing prescribed transient and steady state performance. Aerosp. Sci. Technol. 2021, 119, 107128. [Google Scholar] [CrossRef]
  17. Lin, X.; Liu, J.; Yu, Y.; Sun, C. Event-triggered reinforcement learning control for the Quadrotor UAV with actuator saturation. Neurocomputing 2020, 415, 135–145. [Google Scholar] [CrossRef]
  18. Zhao, Z.; Zheng, Z.; Zhu, M.; Wu, Z. Adaptive fault tolerant attitude tracking control for a Quadrotor with input saturation and full-state constraints. In Proceedings of the 2017 13th IEEE International Conference on Control and Automation (ICCA), Ohrid, Macedonia, 3–6 July 2017; pp. 46–51. [Google Scholar] [CrossRef]
  19. Li, S.; Wang, Y.; Tan, J. Adaptive and robust control of Quadrotor aircrafts with input saturation. Nonlinear Dyn. 2017, 89, 255–265. [Google Scholar] [CrossRef]
  20. Wang, R.; Liu, J. Trajectory Tracking Control of a 6-DOF Quadrotor UAV with Input Saturation Via Backstepping. J. Frankl. Inst. 2018, 355, 3288–3309. [Google Scholar] [CrossRef]
  21. Brahim, K.S.; Hajjaji, A.; Terki, N. Adaptive Sliding Mode Controller for Attitude Quadrotor Based on Finite-Time Differentiator with Input Saturation. In Proceedings of the 2021 9th International Conference on Systems and Control (ICSC), Caen, France, 24–26 November 2021; pp. 32–37. [Google Scholar] [CrossRef]
  22. Liu, K.; Wang, R.; Wang, X.; Wang, X. Anti-saturation adaptive finite-time neural network based fault-tolerant tracking control for a Quadrotor UAV with external disturbances. Aerosp. Sci. Technol. 2021, 115, 106790. [Google Scholar] [CrossRef]
  23. Wang, X.; Su, X.; Sun, L. Disturbance observer-based singularity-free trajectory tracking control of uncertain quadrotors with input saturation. In Proceedings of the 2018 Chinese Control and Decision Conference (CCDC), Shenyang, China, 9–11 June 2018; pp. 5780–5785. [Google Scholar] [CrossRef]
  24. Xu, Q.; Wang, Z.; Zhen, Z. Adaptive neural network finite time control for Quadrotor UAV with unknown input saturation. Nonlinear Dyn. 2019, 98, 1973–1998. [Google Scholar] [CrossRef]
  25. Harshavarthini, S.; Selvi, S.; Sakthivel, R.; Almakhles, D. Non-Fragile Fault Alarm-Based Hybrid Control for the Attitude Quadrotor Model with Actuator Saturation. IEEE Trans. Circuits Syst. II Express Briefs 2020, 67, 2647–2651. [Google Scholar] [CrossRef]
  26. Ji, Y.; Wang, G.; Li, W.; Li, Q.; Zhang, J. Adaptive Asymptotic Tracking Control without Singularity for a Class of Uncertain Quadrotors with Thrust Saturation. IEEE Access 2021, 9, 104612–104625. [Google Scholar] [CrossRef]
  27. Wang, G.; Yang, W.; Zhao, N.; Shen, Y.; Wang, C. An approximation-free simple controller for uncertain Quadrotor systems in the presence of thrust saturation. Mechatronics 2020, 72, 102450. [Google Scholar] [CrossRef]
  28. Shao, X.; Sun, G.; Yao, W.; Liu, J.; Wu, L. Adaptive Sliding Mode Control for Quadrotor UAVs with Input Saturation. IEEE/ASME Trans. Mechatron. 2022, 27, 1498–1509. [Google Scholar] [CrossRef]
  29. Shao, K.; Tang, R.; Xu, F.; Wang, X.; Zheng, J. Adaptive sliding mode control for uncertain Euler–Lagrange systems with input saturation. J. Frankl. Inst. 2021, 358, 8356–8376. [Google Scholar] [CrossRef]
  30. Guo, X.; Ahn, C. Adaptive Fault-Tolerant Pseudo-PID Sliding-Mode Control for High-Speed Train with Integral Quadratic Constraints and Actuator Saturation. IEEE Trans. Intell. Transp. Syst. 2021, 22, 7421–7431. [Google Scholar] [CrossRef]
  31. Hu, M.; Yang, X.; Dong, H. Terminal sliding-mode control for input-constrained free-float space manipulator via learning-based adaptive uncertainty rejection. Adv. Space Res. 2022. [Google Scholar] [CrossRef]
  32. Zhang, Z.; Zhang, K.; Han, Z. Three-dimensional nonlinear trajectory tracking control based on adaptive sliding mode. Aerosp. Sci. Technol. 2022, 128, 107734. [Google Scholar] [CrossRef]
  33. Sun, R.; Zhou, Z.; Zhu, X. Flight quality characteristics and observer-based anti-windup finite-time terminal sliding mode attitude control of aileron-free full-wing configuration UAV. Aerosp. Sci. Technol. 2021, 112, 106638. [Google Scholar] [CrossRef]
  34. Seeber, R.; Reichhartinger, M. Conditioned Super-Twisting Algorithm for systems with saturated control action. Automatica 2020, 116, 108921. [Google Scholar] [CrossRef]
  35. Hanus, R.; Kinnaert, M.; Henrotte, J.L. Conditioning technique, a general anti-windup and bumpless transfer method. Automatica 1987, 23, 729–739. [Google Scholar] [CrossRef]
  36. Levant, A. Sliding order and sliding accuracy in sliding mode control. Int. J. Control. 1993, 58, 1247–1263. [Google Scholar] [CrossRef]
  37. Yuan, D.; Wang, Y. Data Driven Model-Free Adaptive Control Method for Quadrotor Trajectory Tracking Based on Improved Sliding Mode Algorithm. J. Shanghai Jiaotong Univ. (Sci.) 2022, 27, 790–798. [Google Scholar] [CrossRef]
Figure 1. The configuration of the quadrotor and main coordinate frames. (a) The main coordinate frames. (b) The real quadrotor.
Figure 1. The configuration of the quadrotor and main coordinate frames. (a) The main coordinate frames. (b) The real quadrotor.
Electronics 12 00484 g001
Figure 2. The double-loop feedback control structure of quadrotor UAV. The outer loop is position control, and the inner loop is attitude control.
Figure 2. The double-loop feedback control structure of quadrotor UAV. The outer loop is position control, and the inner loop is attitude control.
Electronics 12 00484 g002
Figure 3. The structure diagram of the TCSTA controller.
Figure 3. The structure diagram of the TCSTA controller.
Electronics 12 00484 g003
Figure 4. The control structure diagram of roll angle ϕ .
Figure 4. The control structure diagram of roll angle ϕ .
Electronics 12 00484 g004
Figure 5. The simulation results of the roll angle ϕ tracking sinusoid with zero disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude frequency characteristics of the controllers.
Figure 5. The simulation results of the roll angle ϕ tracking sinusoid with zero disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude frequency characteristics of the controllers.
Electronics 12 00484 g005
Figure 6. Simulation results of the roll angle ϕ tracking sinusoid with 0.5 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Figure 6. Simulation results of the roll angle ϕ tracking sinusoid with 0.5 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Electronics 12 00484 g006
Figure 7. Simulation results of the roll angle ϕ tracking sinusoid with 1.0 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Figure 7. Simulation results of the roll angle ϕ tracking sinusoid with 1.0 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Electronics 12 00484 g007
Figure 8. Simulation results of the roll angle ϕ tracking square curve with 1.0 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Figure 8. Simulation results of the roll angle ϕ tracking square curve with 1.0 times disturbance. (a) The responses of roll angle ϕ . (b) The tracking errors of roll angle ϕ . (c) The controller outputs with saturation. (d) The amplitude–frequency characteristics of the controllers.
Electronics 12 00484 g008
Figure 9. Simulation result step response of X in the case of no disturbance. (a) The step responses of X. (b) The controller outputs with saturation. (c) The amplitude–frequency characteristics of the controllers.
Figure 9. Simulation result step response of X in the case of no disturbance. (a) The step responses of X. (b) The controller outputs with saturation. (c) The amplitude–frequency characteristics of the controllers.
Electronics 12 00484 g009
Figure 10. Simulation results of the step response of X with 1.0 times disturbance. (a) The step responses of X. (b) The controller outputs with saturation.
Figure 10. Simulation results of the step response of X with 1.0 times disturbance. (a) The step responses of X. (b) The controller outputs with saturation.
Electronics 12 00484 g010
Figure 11. Simulation results of the X axis tracking sinusoidal curve with 1.0 times disturbance. (a) The responses of X. (b) The tracking errors of X. (c) The controller outputs with saturation.
Figure 11. Simulation results of the X axis tracking sinusoidal curve with 1.0 times disturbance. (a) The responses of X. (b) The tracking errors of X. (c) The controller outputs with saturation.
Electronics 12 00484 g011
Figure 12. Simulation results of elliptic curve tracking with no disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the radius.
Figure 12. Simulation results of elliptic curve tracking with no disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the radius.
Electronics 12 00484 g012
Figure 13. The trajectory projected onto the X Y plane and the Z axis. (a) The trajectory projected onto the X Y plane. (b) The tracking performance of the Z axis.
Figure 13. The trajectory projected onto the X Y plane and the Z axis. (a) The trajectory projected onto the X Y plane. (b) The tracking performance of the Z axis.
Electronics 12 00484 g013
Figure 14. Simulation results of elliptic curve tracking with 0.5 times disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the controllers. (c) The controller outputs with saturation.
Figure 14. Simulation results of elliptic curve tracking with 0.5 times disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the controllers. (c) The controller outputs with saturation.
Electronics 12 00484 g014
Figure 15. Simulation results of tracking elliptic with 1.0 times disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the controllers.
Figure 15. Simulation results of tracking elliptic with 1.0 times disturbance. (a) The responses of trajectory tracking. (b) The tracking errors of the controllers.
Electronics 12 00484 g015
Table 1. The parameters of the quadrotor.
Table 1. The parameters of the quadrotor.
ParameterValues
Gravitational acceleration g 9.81 m / s 2
Body mass m 2 Kg
Arm length l 0.225 m
Thrust coefficient C t 1.1830 × 10 8 N / ( r / min ) 2
Torque coefficient C q 1.9250 × 10 10 N · m / ( r / min ) 2
Motor maximum speed n 25 , 500 r / min
Moment of inertia around the x b axis I x 2.5557 × 10 4 Kg · m 2
Moment of inertia around the y b axis I y 2.5557 × 10 4 Kg · m 2
Moment of inertia around the z b axis I z 5.0238 × 10 4 Kg · m 2
Table 2. Comparison of rolling control under different disturbances.
Table 2. Comparison of rolling control under different disturbances.
PIDCSTATCSTA
Phase ErrorP-P ErrorPhase ErrorP-P ErrorPhase ErrorP-P Error
Undisturbance0.3220.00650.1070.00210.1530.0062
0.5 disturbance0.3750.1030.1150.0450.1920.048
1.0 disturbance--0.1390.0530.2130.056
Table 3. Comparison of tracking control under different disturbances.
Table 3. Comparison of tracking control under different disturbances.
PIDCSTATCSTA
me r ve r me r ve r me r ve r
Undisturbance0.09270.01060.07580.00710.07990.0084
0.5 disturbance0.13660.04870.08370.00980.07980.0089
1.0 disturbance--0.11830.01890.12550.0199
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chang, Z.; Chu, H.; Shao, Y. Quadrotor Trajectory-Tracking Control with Actuator Saturation. Electronics 2023, 12, 484. https://doi.org/10.3390/electronics12030484

AMA Style

Chang Z, Chu H, Shao Y. Quadrotor Trajectory-Tracking Control with Actuator Saturation. Electronics. 2023; 12(3):484. https://doi.org/10.3390/electronics12030484

Chicago/Turabian Style

Chang, Zhiyuan, Hongyu Chu, and Yanhua Shao. 2023. "Quadrotor Trajectory-Tracking Control with Actuator Saturation" Electronics 12, no. 3: 484. https://doi.org/10.3390/electronics12030484

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