Next Article in Journal
CO2 Sensing Characteristics of a La2O3/SnO2 Stacked Structure with Micromachined Hotplates
Previous Article in Journal
A New First Break Picking for Three-Component VSP Data Using Gesture Sensor and Polarization Analysis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Robust Inner and Outer Loop Control Method for Trajectory Tracking of a Quadrotor

Key Laboratory of Micro-inertial Instrument and Advanced Navigation Technology, Ministry of Education, School of Instrument Science and Engineering, Southeast University, Nanjing 210096, China
*
Author to whom correspondence should be addressed.
Sensors 2017, 17(9), 2147; https://doi.org/10.3390/s17092147
Submission received: 22 July 2017 / Revised: 10 September 2017 / Accepted: 13 September 2017 / Published: 19 September 2017
(This article belongs to the Section Physical Sensors)

Abstract

:
In order to achieve the complicated trajectory tracking of quadrotor, a geometric inner and outer loop control scheme is presented. The outer loop generates the desired rotation matrix for the inner loop. To improve the response speed and robustness, a geometric SMC controller is designed for the inner loop. The outer loop is also designed via sliding mode control (SMC). By Lyapunov theory and cascade theory, the closed-loop system stability is guaranteed. Next, the tracking performance is validated by tracking three representative trajectories. Then, the robustness of the proposed control method is illustrated by trajectory tracking in presence of model uncertainty and disturbances. Subsequently, experiments are carried out to verify the method. In the experiment, ultra wideband (UWB) is used for indoor positioning. Extended Kalman Filter (EKF) is used for fusing inertial measurement unit (IMU) and UWB measurements. The experimental results show the feasibility of the designed controller in practice. The comparative experiments with PD and PD loop demonstrate the robustness of the proposed control method.

1. Introduction

A quadrotor is a kind of unmanned aerial vehicle which consists of four fixed-pitch propellers attached to motors mounted in a square crossing rack. Due to its special structure, a quadrotor is capable of vertical takeoff and landing, as well as hovering. High maneuverability and flexibility make it possible for special applications such as search missions, monitoring and anti-poaching missions [1,2].
In order to realize autonomous quadrotor flight, a variety of control methods have been developed to realize trajectory tracking. Bouabdallah modeled the quadrotor with Euler-lagrange formalism and Euler-Newton formalism [1]. Some linear techniques (PID, linear quadratic regulator (LQR)) and nonlinear techniques (backstepping, sliding mode control and fuzzy logic control) have been applied to the control of quadrotor on this basis [3,4]. Besides, He transformed the nonlinear model to a linear model and proposed an internal model control method to realize the trajectory tracking [5]. Nicol et al. proposed a neural network controller for robust trajectory tracking of a quadrotor [6]. González-Vázquez et al. introduced the theory of singularly perturbed systems to the design of trajectory tracking [7]. However, all these approaches are based on Euler angles. The attitude model is obtained on the assumption that roll and pitch are close to zero. Tracking complicated trajectories becomes a challenge for the quadrotor. Tayebi et al. proposed a quaternion-based feedback control strategy for attitude stabilization of a quadrotor as an improvement [8,9,10]. The quaternion is double-covering to the rotation matrix. In order to avoid the singularity and redundancy from Euler angles and quaternion, Lee et al. developed a geometric tracking controller on the special Euclidean group. Results showed the hybrid controller can implement complicated acrobatic maneuvers [11,12,13]. The geometric control method provides a unique perspective to solve the control problem and can avoid the singularity and complexity when using local coordinate [14]. The method is feasible for tracking complicated trajectory.
Xu et al. proposed a sliding mode control approach to stabilize the under-actuated subsystem (UAS) [15]. Xiong et al. separated the quadrotor system into UAS and fully actuated subsystem (FAS) and designed a control algorithm for FAS and UAS [16]. Meanwhile, most researches separated the system into two cascaded loops. The outer loop governed translational motion and the inner loop stabilized the attitude. The inner-outer loop structure has a more explicit meaning and is easier to design and to tune [17,18].
The modeling inaccuracy and external disturbances would give rise to another challenge for accurate tracking trajectory of the quadrotor [19]. SMC has been developed to compensate for parameter uncertainty and bounded disturbances in many applications [20]. However, the chattering effect will be introduced into a system while implementing the SMC. The simplest way to reduce chattering is to replace the sign function with continuous functions such as saturation and hyperbolic tangent function [21]. In addition, high order sliding mode (HOSM) techniques have been proposed to reduce chattering and improve the control performance. The HOSM techniques for a relative degree r system cannot reduce the chattering substantially [22]. Then continuous terminal sliding mode control is presented to use on a relative degree r system while the chattering is entirely eliminated [23,24]. Considering that chattering effects can be reduced or even eliminated, SMC outperforms traditional control methods in terms of convergence rate and robustness in the presence of model uncertainty and disturbances.
In our work, we utilize an inner-outer loop structure. The outer loop governs the translational motion and generated reference rotation matrix for the inner loop together with the yaw angle. For the inner loop, the SMC law based on rotation matrix is designed, which frees the quadrotor from the constraints of small-angle flight. The outer loop is designed through SMC. The usage of SMC speeds up the response speed and improves the robustness of the system. The effects of parameters on the system have been studied. The effectiveness of the proposed controller is verified by tracking three representative trajectories. Comparative simulations in two cases are conducted to validate the robustness of the proposed controller. The proposed controller is also validated experimentally.
The paper is organized as follows: the next section describes the dynamic model of the quadrotor with disturbances. In Section 3, we develop a position controller as well as an attitude controller to achieve trajectory tracking. In Section 4, simulations are conducted to verify the effectiveness of the designed controllers. In Section 5, an experiment is carried out to verify the proposed method. In Section 6, conclusions are presented.

2. Dynamic Model

A quadrotor can be regarded as a rigid body. Rigid motion consists of rotation motion and translation motion. Consider the world frame W, as well as the body frame illustrated in Figure 1, the posture of the quadrotor can be described by the relative orientation between the world frame and the body frame. The rotation matrix R S O ( 3 ) from the body frame to the world frame is utilized to show the posture of quadrotor. Meanwhile, position and velocity in the world frame is denotes by p 3 , v 3 , respectively. The translation and rotation of the quadrotor satisfy:
p ˙ = v R ˙ = R ω ^
where ω denotes the angular velocity of quadrotor in the body frame, ^ represents the hat map from 3 to its skew-symmetric matrix.
According to Newton-Euler formalism, the translational motion of the center of quadrotor in the world frame and the rotational motion of quadrotor in the body frame are as follows:
( m E 3 × 3 0 0 I ) ( v ˙ ω ˙ ) + ( 0 ω × I ω ) = ( F M )
where m is the mass of the quadrotor. I is the moment of inertia. F denotes net force vector in the world frame and M denotes the moment vector in the body frame.
Based on the mechanical analysis, the quadrotor is subject to gravity and thrust. When the quadrotor is in actual flight, it is also influenced by drag. Due to the special structure of the quadrotor, the thrust is along z - axis of the body, the amplitude of thrust is denoted by T. Therefore, the net force acting on the quadrotor in world frame is given by:
F = R T z w m g z w K p ˙
where T = i = 1 4 T i , T i is the i-th thrust. K represents the drag coefficient matrix. z w = ( 0 , 0 , 1 ) T 3 .
When ignoring body and propeller gyro effects, the moment vector M can be written as:
M = ( ( T 2 T 4 ) l ( T 3 T 1 ) l Q 1 Q 2 + Q 3 Q 4 )
where Q i represents the i-th counter torque, l represents the distance from the axis of rotation of motors to the center of quadrotor.
In order to express easily in the simulation, the intermediate variables ( u 1 , u 2 , u 3 , u 4 ) T are introduced to represent ( T , M T ) T as:
( u 1 u 2 u 3 u 4 ) = ( T 1 + T 2 + T 3 + T 4 ( T 2 T 4 ) l ( T 3 T 1 ) l Q 1 Q 2 + Q 3 Q 4 )

3. Trajectory Tracking Control

From the analysis above, we can derive that the system is a highly-coupled, under-actuated and nonlinear system and can be divided into two subsystems: an attitude system and a position system. Meanwhile, we can note that the rotational motion is independent of the position, but the translational motion is dependent on the rotational motion. From Equation (3), the z axis of the body can be determined once the position of the quadrotor is known. Besides, provided that the yaw angle is given, the attitude of the body can be uniquely determined. In other words, the motion of the quadrotor can be obtained once the position and yaw angle are given. The overall control structure diagram is shown in Figure 2.

3.1. Trajectory Tracking Control

First, we define p d = ( x , y , z ) T and ψ d as the desired trajectory. Now we define the position error and velocity error as:
e p = p d p e v = p ˙ d p ˙
Next, let’s consider the switching function:
s = c e p + e ˙ p
Then we design the control law:
s ˙ = k s η s g n ( s )
where k and η are positive diagonal matrices.
Differentiating Equation (7) and substituting Equations (3) and (6), then:
s ˙ = c e ˙ p + p ¨ d ( R T z w / m K p ˙ / m g z w )
Equating Equation (8) with Equation (9), the desired thrust T can be derived as follows:
T = ( m ( c e ˙ p + k s + η s g n ( s ) + p ¨ d ) + m g z w + K p ˙ ) R z w
where x y is inner product for all x , y 3 .
Meanwhile, the direction of thrust should be:
z b = c e ˙ p + k s + η s g n ( s ) + p ¨ d + g z w + K p ˙ / m c e ˙ p + k s + η s g n ( s ) + p ¨ d + g z w + K p ˙ / m
Provided that the desired position is given, the thrust is designed as Equations (10) and (11). Then the system stabilizes the zero equilibrium of position error exponentially after a finite time.
Proof: 
In order to verify the designed control law can guarantee the stability of the system, we select the Lyapunov function candidate V = 1 2 s T s , differentiating V and substituting Equation (8):
V ˙ = s T s ˙ = s T ( k s η s g n ( s ) ) = s T k s s T η s g n ( s ) k s T s
V ˙ 0 can be proved while k and η are positive diagonal matrices. Therefore, the system is stable and the sliding surface converges to zero exponentially. The stability of outer loop is proved. ☐
Since s = c e p + e ˙ p , e p will exponentially converge to zero after a finite time. In other words, the actual position will converge to the desired position. Here the convergence rate is determined by c , k , η . In order to avoid chattering, the sign function is replaced by a saturation function.
Suppose the yaw angle is given, y b and x b can be obtained when the inertial frame rotates to the body frame following the sequence of Z X Y . Given the yaw angle ψ d , the rotation matrix expressed in the form of coordinate axis can be written as:
R d = [ x f × z b x f × z b × z b , x f × z b x f × z b , z b ]
where x f = ( cos ψ d , sin ψ d , 0 ) T , the singularity where x f is parallel to z b may exist only when the pitch angle or roll angle reaches to 90°. The probability of such a situation is small. In our work, we suppose that we will not encounter the singularity.

3.2. Attitude Control

Attitude control is the core of the overall control system. It keeps the orientation of the quadrotor to the desired values precisely. We define the attitude error as follows:
R e = R d T R
The attitude error represents the relative rotation from the body frame to the reference body frame. Based on the attitude error, we further define angular velocity error as:
e ω = ω     R e T ω d
Differentiating Equations (14) and (15) and combining the dynamic equation of rotation equation of quadrotor, the dynamic equation of attitude error and angular velocity error can be obtained as:
R ˙ e = R e e ^ ω
I e ˙ ω = M d   ω ^ I ω   +   I e ^ ω R e T ω d I R e T ω ˙ d
The control objective to make rotation matrix converge to its desired value is equivalent to make R e converges to identity matrix E . Before the design of control law, one lemma is introduced to describe rotation matrix [25].
Lemma 1.
According to the Euler’s Rotation Theorem, every rotation matrix is equivalent to a rotation about a fixed axis ω 3 through an angle θ [ 0 , 2 π ) . Specifically, the rotation matrix can be represented as:
R = e ω ^ θ
The associated inverse map of Equation (18) is the logarithmic map, which is expressed as:
log ( R ) = θ 2 sin θ ( R R T )
When R converges to the identity matrix, log ( R ) converges to zero. From (19), we can deduce log ( R ) is mainly determined by the skew-symmetric matrix R R T .
According to the analysis above, we define vector form of attitude error as:
e R = ε ( R e R e T )
where ε is positive constant.
Then, we define sliding mode surface based on e R and e ω as follows:
s = β e R + e ω
Next, we design the control law rendering s ˙ satisfies:
s ˙ = λ s γ s g n   ( s )
where β , λ , γ are positive diagonal matrixes.
Differentiating Equation (20) and the first time derivative of e R yields [11]:
e ˙ R = ε ( t r ( R e ) I R e T ) e ω
Differentiating s with respect to time and calling Equations (17) and (23):
s ˙ = β e ˙ R + e ˙ ω = β ε ( t r ( R e ) I R e T ) e ω + I 1 ( M ω ^ I ω + I e ^ ω R e T ω d I R e T ω ˙ d )
Equating Equation (22) with Equation (24), the moment vector can be obtained as:
M = I ( β ε ( t r ( R e ) I R e T ) e ω + ω ^ I ω I e ^ ω R e T ω d + I R e T ω ˙ d + I ( λ s γ s g n ( s ) )
Similar to stability proof of position loop, the stability of system can be easily proved. By Equation (21), when s = 0 , we have:
β e R + e ω = 0
By Equations (23) and (26), we have the following equation:
e ˙ ω = β ε ( t r ( R e T ) I R e T ) e ω
Then e ω will exponentially converge to zero. Since e ω converge to zero, it follows that e R will converge to zero according to Equation (26).
The inner-outer loop structure makes the controllers easy to design and to tune. However, closed-loop system stability can’t be guaranteed due to coupling between the inner and outer loop. The closed-loop stability analysis of a system in cascade has been studied [26]. The global stability analysis theorems of a quadrotor based on the modified Rodrigues parameters (MRPs) error model have been proposed in [27]. Theorem 1 is adopted to demonstrate the global stability of proposed control scheme.
Theorem 1.
Consider the quadrotor error model in [27], if Assumption A1–A3 are satisfied, then the closed-loop system is globally stable.
A1. The control inputs R d and T stabilize the outer loop exponentially.
A2. The control input M stabilizes the inner loop exponentially.
A3. The control input T satisfies the condition T m 4 ( α 1 + α 2 z 1 ) , where α 1 and α 2 are positive constants, z 1 = ( e p T , e v T ) T is general error of the outer loop.
Combining the translational dynamics and Equations (16) and (17), the error model based on the rotation matrix of the quadrotor can be expressed as:
{ e ˙ p = e v e ˙ v = p ¨ d + g z w + 1 m K p ˙ 1 m R T z w R ˙ e = R e e ^ ω e ˙ ω = I 1 [ ω × I ω + M ] ( R T R d ω ˙ d e ^ ω R T R d ω d )
The MRPs is another attitude representation. The attitude error R e is the corresponding attitude matrix of error of MRPs. The error of MRPs converges to zero only when R e converges to the identity matrix. The dynamics characteristics of the outer and inner loop are basically the same. The coupling term between the inner and outer loop is 1 m ( E R R d T ) R d T z w , which is the same as that in [27]. Therefore, Theorem 1 can be used to prove the closed-loop stability of the proposed control scheme.
From the stability analysis of inner and outer loop, we know the proposed controllers can stabilize two loops exponentially. Based on Equation (10), the control input T can be rewritten as:
T = m ( c e ˙ p + k s + η s g n ( s ) + p ¨ d ) + m g z w + K p ˙
Using the properties of vector norm, T satisfies:
T m ( g + η s g n ( s ) + p ¨ d + K p ˙ / m ) + ( m κ ) ( e p + e v ) = m g + m ( η s g n ( s ) + p ¨ d + K p ˙ / m ) + ( m κ ) ( e p + e v )
where κ = max ( c + k , k c ) η is a positive diagonal matrix from the above definition. Thus, η can be expressed by d i a g ( η 1 , η 2 , η 3 ) where η 1 , η 2 and η 3 are positive numbers. Based on the definition of sign function, η s g n ( s ) = η 1 2 + η 2 2 + η 3 2 . It is obvious that η 1 2 + η 2 2 + η 3 2 is bounded with η 1 2 + η 2 2 + η 3 2 μ 1 . The desired acceleration is bounded with p ¨ d μ 2 . The actual velocity p ˙ is also bounded, hence K p ˙ / m μ 3 . Where μ 1 , μ 2 and μ 3 are positive constants. We render μ satisfies:
μ = μ 1 + μ 2 + μ 3
Subsequently, we have:
T m ( g + μ ) + ( m κ ) ( e p + e v )
Besides, the square of T satisfies:
T 2 2 m 2 ( g + μ ) 2 + 4 m 2 κ 2 ( e p 2 + e v 2 )
Therefore, we have the following equation:
T 2 m ( g + μ ) + 2 m κ z 1 = m 4 ( 4 2 ( g + μ ) + 8 m κ z 1 )
The control input T satisfies the assumption A3 from Equation (34). The designed controllers can stabilize the inner loop and outer loop exponentially after a finite time based on the above stability proof of the dual loop, respectively. Above all, the designed controllers satisfy all assumptions in a finite time in Theorem 1. Thus, the closed-loop stability of the system is proved.

4. Simulations

In this section, the simulations are performed on Matlab/Simulink in order to test the validity of the proposed controller. The quadrotor model parameters are listed in Table 1.

4.1. Parameter Selection

Heuristic method is used to select control parameters of SMC. Considering similar control laws are adopted in the inner and outer loop, we take the inner loop as an example. The controller is required to track the following rotation matrix:
R d = ( cos ( π t ) 0 sin ( π t ) sin ( π t ) 0 cos ( π t ) 0 1 0 )
Firstly, the parameters are required to be positive to guarantee the stability of the system according to design guidelines. The effects of each parameter on the system are investigated with four sets of parameters presented in Table 2. The simulation results are shown in Figure 3. Figure 3a–c depict the vector form of attitude error and Figure 3d–f depict the control inputs.
The quality of system is further evaluated by integral absolute error (IAE), integral squared error (ISE) and measured integral squared input (ISCI) performance index, respectively. The performance indices are summarized in Table 3.
It is obvious that β affects the convergence rate of the system from Equation (21). We can see from Case 1 and Case 4 that the transient response deteriorates and control inputs increase when β increases. Comparing Case 1 and Case 2, the IAE, ISE and ISCI decreases when λ increases. γ is the gain of the sign function. The increase in γ makes the system performance gets better with less control inputs from Case 1 and Case 3. In conclusion, Case 2 is the most appropriate one in terms of control performance and control inputs.

4.2. Trajectory Tracking Simulation

4.2.1. Trajectory Tracking

In order to verify that the quadrotor can achieve trajectory tracking, three representative trajectories are simulated, respectively. The first reference trajectory is p d = ( cos ( t ) , sin ( t ) , 1 + t / 5 ) T and the desired yaw angle is π t . The initial state of the quadrotor is set to be r ( 0 ) = ( 0 , 0 , 0 ) and ψ ( 0 ) = 0 . The simulation results of helix tracking are shown in Figure 4.
From Figure 4a,b, we can observe that x and z converge to their desired values without oscillation in 4 s, y converges to its desired value after 4 s later although there exists a small fluctuation. Figure 4c,d depict the errors of angular velocity e ω and errors of vector form of attitude error e R . Figure 4c demonstrates the attitude controller can track the desired angular velocities. As shown in Figure 4d, e R converges to zero within about 4s, which means the rotation matrix reaches the desired rotation matrix. Figure 4e,f display the behaviors of the sliding variables in the outer loop and inner loop. Obviously, all the sliding variables converge to their sliding surfaces within 4 s. Figure 4g shows the control inputs, whereby, u 1 converges to its steady state after several seconds. u 2 , u 3 and u 4 converge to zero after an oscillation within 0.5 s. Figure 4h depicts the the 3-dimensional trajectory. The results demonstrate the quadrotor can realize trajectory tracking.
In order to indicate that the quadrotor can track a nontrival trajectory, an edge-on circle is chosen as another reference trajectory. Besides, the desired yaw angle is 0. The initial state of the quadrotor is set to be r ( 0 ) = ( 0 , 0 , 0 ) and ψ ( 0 ) = 0 . Figure 5 shows the simulation results.
We can see from Figure 5a,b that the position can converge to its desired values soon. Figure 5c,d are the error of angular velocity e ω and vector form of attitude error e R . The great changes of angular velocity occur when the attitudes of quadrotor changes greatly. Figure 5e,f show the sliding surfaces of the outer loop and inner loop. The sliding variables of the position loop reach the sliding mode surfaces smoothly, whereas, the sliding variables of the attitude loop have a similar variation trend to that of the error of angular velocity. Figure 5g depicts the corresponding control inputs. We can observe that u 1 periodically changes as time changes, u 2 , u 3 and u 4 converge to zero soon. The great changes of moment vector occur only when the attitude changes greatly. Figure 5h depicts the desired trajectory and the actual trajectory. From Figure 5h, we can see the controller can track trajectories with large Euler angles.
A rectangle is a common trajectory and is difficult to track due to the abrupt direction changes around the four corners. The third reference trajectory is chosen as:
p d = { x d = 0 , y d = 0 , z d = 0.5 t    0 t < 4 x d = 0 , y d = 0.5 ( t 4 ) , z d = 2 4 t < 8 x d = 0.5 ( t 8 ) , y d = 0.5 , z d = 2 8 t < 12 x d = 2 , y d = 0.5 ( t 12 ) , z d = 2 12 t < 16 x d = 2 0.5 ( t 16 ) , y d = 0 , z d = 2 16 t < 20
Besides, the desired yaw is π t . The initial state of the quadrotor is set to be r ( 0 ) = ( 0 , 0 , 0 ) and ψ ( 0 ) = 0 . Figure 6 depicts the simulation results.
As shown in Figure 6, the proposed control scheme can track the desired trajectory accurately after a few seconds. We can observe the position converges to its desired values soon from Figure 6a. The tracking errors reach maximum around the corner and the errors are controlled within 5 cm from Figure 6b. Figure 6c,d depict the error of angular velocity e ω and vector form of attitude error e R . As shown in Figure 6c, the errors of angular velocity monotonously reduce to zero except for jumps around the corners. The vector form of the attitude error shows similar characteristics to that of error of angular velocity. Figure 6e,f display the behaviors of the sliding variables of the outer loop and inner loop, respectively. All the sliding variables can converge to zero soon after transient transitions around the vertex of the rectangle. Figure 6g shows the control inputs. At the vertex of the rectangle, large control inputs in a short time are needed. After the vertex, u 1 converges to its steady state value, u 2 , u 3 and u 4 converge to zero. The actual trajectory can track the ideal trajectory well from Figure 6h. Above all, the tracking helix demonstrates that the proposed controller can realize basic trajectory tracking. Tracking a circle and a rectangle in three-dimensional space verifies that the proposed control scheme can relieve from small angle approximation and can realize complicated flights.

4.2.2. Trajectory Tracking in Presence of Model Uncertainty and Disturbances

In order to verify the proposed control scheme is robust to parameter uncertainty and immune to bounded disturbances, two corresponding simulation experiments have been carried out [28]. As a contrast, PD and PD control combination is simulated under the same conditions [11]. In the first simulation (Case 1), we induce 0.5   m and 0.1 I i ( i = 1 3 ) to the quadrotor at time t = 8 s and t = 16 s , respectively. In the second simulation (Case 2), bounded disturbance 0.1 sin ( t ) is added to the inner loop at time t = 8 s and 0.1   cos ( t ) is added to the outer loop at t = 16 s (Case 2). The simulation results are given in Figure 7.
Figure 7a,c depict the trajectory and control inputs in Case 1. Both controllers have a good tracking performance, even in presence of model uncertainty from Figure 7a. As shown in Figure 7c, when additional mass is added to the system at time t = 8 s , u 1 under both controllers increases to the same value to compensate for the change of model. When the moment of inertia changes at time t = 16 s , u 2 and u 3 adjust to new values to cancel the effects of changes of moment of inertia. Figure 7b,d depict the trajectory and control inputs in Case 2. Figure 7b shows the tracking performance is not influenced by disturbances. The disturbances occurring at time t = 8 s and t = 16 s are both rejected by rapid adjustments of control inputs from Figure 7d. In addition, MAE, IAE and ISE are utilized to evaluate the performance of control method. Table 4 shows the quantitative values.
As shown in Table 4, MAE along the x direction occurs in the initial state and MAE with the help of both controllers is the same in Case 1. MAE along the other two directions, IAE and ISE are also less than those of PD and PD combination. It can be found that the combination of SMC and SMC has less tracking errors. While adding external disturbances to the system in Case 2, the tracking results are similar to the results in Case 1. The MAE along the x direction is the same and other performance indices are less than those of PD and PD combination. In sum, the proposed controller shows a better tracking performance in two cases, which verifies the robustness of the designed control scheme in presence of model uncertainty and disturbances.

5. Experimental Results

5.1. Experimental Setup

The validity of the proposed method is verified using the system in Figure 8. The IMU provides angular speed, acceleration and magnetic field information for the system to estimate the pose of the quadrotor. The specifications of sensors used are listed in Table 5. The UWB system is used to provide position with an accuracy within 10 cm, which is transmitted to flight control unit via a serial port. The flight control unit consists of two embedded processors. The high level STM32F427processor (STMicroelectronics, Geneva, Switzerland) receives commands from the ground station, runs the control procedure and gives the pwm signals to motors. The low level processor STM32F103 (STMicroelectronics, Geneva, Switzerland) gives the measurement information to the STM32F427. Besides, various information including attitude angles, position and sensor information is transmitted to base station to display by wireless data transmission module 433.
The system is divided into two parts in Figure 9. A traditional GPS positioning device is replaced by a UWB to realize indoor positioning. Meanwhile, the position can be obtained using the acceleration and angular rate provided by an accelerometer and gyroscope through the strapdown inertial navigation algorithm. Nevertheless, IMU measurements have significant drift errors over a long time. Therefore, EKF is adopted to fuse both to get a more precise position. The rotation matrix is acquired by a complementary filter. The gyroscope is compensated by the accelerometer and magnetometer. The control system has been introduced in Section 2 and Section 3.
The UWB system is produced by INF Company (Harbin, China). The placement of base stations is shown as Figure 10.
The positions of base station ( A 0 A 3 ) are fixed and the tag is attached to the quadrotor. The tag provides the distances from the tag to each base station. Based on spatial relationship, Equation (37) can be obtained as:
( 0 X ) 2 + ( 0 Y ) 2 + ( Z 0 Z ) 2 = d i s 0 2 ( 0 X ) 2 + ( Y 0 Y ) 2 + ( Z 0 Z ) 2 = d i s 1 2 ( X 0 X ) 2 + ( Y 0 Y ) 2 + ( Z 0 Z ) 2 = d i s 2 2 ( X 0 X ) 2 + ( 0 Y ) 2 + ( Z 0 Z ) 2 = d i s 3 2
In order to obtain more accurate position, the measured distances are processed by Kalman filter to eliminate the measurement noises. The state equation and measurement equation are as follows:
d i s k + 1 = d i s k + ξ k d i s k m = d i s k + υ k
where d i s k = ( d i s 0 , d i s 1 , d i s 2 , d i s 3 ) k T is the distance vector between tag and each base station .The subscript k denotes k t h sampling time. ξ k is process noise. d i s k m is the distance measured from UWB υ k is measurement noise. In the experiment, E ( ξ ξ T ) = d i a g ( 0.0001 , 0.0001 , 0.0001 , 0.0001 ) , E ( υ υ T ) = d i a g ( 0.018 , 0.018 , 0.018 , 0.018 ) .
The position can be determined by any three equations of Equation (34). Generally, the base station A 4 is regarded as standby station. When a failure happens to one station, the station is used to calculate the position. After the Kalman filter, the position of tag can be determined as follows by solving Equation (39):
X = d i s 1 2 d i s 2 2 + X 0 2 2 X 0 Y = d i s 0 2 d i s 1 2 + Y 0 2 2 Y 0 Z = { d i s 0 2 X 2 Y 2 + Z 0    Z > Z 0 Z 0 d i s 0 2 X 2 Y 2    Z Z 0
In practice, we have tested the measurement accuracy of UWB system when the tag is placed in ( 2.81 , 1.73 , 0.43 ) T . Figure 11 shows actual position measured by UWB system and the corresponding errors.
We can observe that the measurement errors of UWB system are within 5 cm from Figure 11b. Generally, the inertial measurements contain a certain bias b and white Gaussian noise w . The measurement models of angular velocity and acceleration yield [29,30]:
ω m = ω + b g + w g a m = R T ( a + g ) + b a + w a
where ω m and a m are the measurements of gyroscope and accelerometer, respectively. ω and a are true angular velocity and acceleration in the world frame, respectively. w g is gyro noise with covariance E ( w g w g T ) = σ w g 2 E and w a is accelerometer noise with covariance E ( w a w a T ) = σ w a 2 E . In addition, the gyroscope bias b g and accelerometer bias b a are modeled as random walk as:
b ˙ a = w b a b ˙ g = w b g
where w b a and w b g are white noise. Whereby E ( w b g w b g T ) = σ w b g 2 E and E ( w b a w b a T ) = σ w b a 2 E .
According to Newton’s law and Euler formula, the discrete-time kinematics equations are illustrated as follows:
p k + 1 = p k + v k T + a k T 2 / 2 v k + 1 = v k + a k T
where a k denotes R k ( a m k b a k w a k ) g and T is the sampling period.
For the representation of rotation matrix we use quaternions, the quaternion representation of rotation matrix is given by:
R = ( q 0 2 + q 1 2 q 2 2 q 3 2 2 ( q 1 q 2 q 0 q 3 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 1 q 2 + q 0 q 3 ) q 0 2 q 1 2 + q 2 2 q 3 2 2 ( q 2 q 3 q 0 q 1 ) 2 ( q 1 q 3 q 0 q 2 ) 2 ( q 2 q 3 + q 0 q 1 ) q 0 2 q 1 2 q 2 2 + q 3 2 )
Based on the differential equation of quaternion, the prediction of quaternion is performed as:
q k + 1 = ( E + 1 / 2 Ω ( ω m k b g k w g k ) T ) q k
where:
Ω ( ω ) = ( 0 ω x ω y ω z ω x 0 ω z ω y ω y ω z 0 ω x ω z ω y ω x 0 )
Because IMU measurements have significant drift errors over a long time, EKF is utilized to fuse measurements from IMU and measurements from UWB to get more precise position. The design of EKF refers to the design procedure in [31,32,33]. The state vector is chosen as x k = ( p T , v T , q T , b a T , b ω T ) k T . The noise vector is w k = ( w a T w g T w b a T w b g T ) T . Combining Equation (39), Equation (41) and the discrete form of Equation (38), the state equation can be written as:
( p k + 1 v k + 1 q k + 1 b a k + 1 b g k + 1 ) = ( p k + v k T + R k ( a m k b a k w a k ) T 2 / 2 g T 2 / 2 v k + R k ( a m k b a k w a k ) T g T ( E + 1 / 2 Ω ( ω m k b g k w g k ) T ) q ( k ) b a k + w b a T b g k + w b g T )
The process noise covariance Q k = d i a g ( σ w g 2 , σ w a 2 , σ w b g 2 , σ w b a 2 ) . The noise parameters are given by IMU manufacturer.
The measurement of UWB is defined as z k = ( X , Y , Z ) T . Then the measurement equation can be expressed as:
z k = h ( x k ) + v k = H x k + v k
where v k is the measurement noise. The measurement transformation matrix is H = ( I 3 × 3 0 3 × 13 ) . The observation covariance matrix R k can be calculated by system observations. The update of state follows the standard EKF procedure shown in Algorithm 1.
Algorithm 1: Extended Kalman Filter
Given the initial state x 0 and initial covariance matrix P 0 , update the state estimation as follows
Compute the predicted state: x ^ k | k 1 = f ( x k 1 , w k 1 )
Compute the process model Jacobian matrix : F k 1 = f x | x k 1 G k 1 = f w | x k 1
Compute the predicted covariance matrix : P k | k 1 = F k 1 P k 1 F k 1 T + G k 1 Q k 1 G k 1 T
Compute the Kalam gain: K k = P k | k 1 H T ( H P k | k 1 H T + R k ) 1
Update the state estimation: x k = x ^ k | k 1 + K k ( z k h ( x ^ k | k 1 ) )
Update the covariance matrix: P k = P k | k 1 K k H P k | k 1
The state of EKF updates only when the measurements from UWB system update. In practice, the inner loop run faster than the outer loop, thus the updating rate of attitude is supposed to be faster than that of the position. During the interval of state update, the attitude is obtained by the IMU and magnetometer [34]. The accelerometer and the magnetometer are utilized to calculate the error between reference direction and measured direction, which is used to compensate for the angular velocity by PI regulator. The calibrated angular velocity is further used to update quaternion according to Equation (41). The ultimate rotation matrix is obtained based on Equation (40).

5.2. Experimental Results

In order to verify the validity of the tracking performance of the proposed method, we design a helical trajectory as the given trajectory. In the experiment, the outer loop runs at 100 Hz (the updating rate of UWB), while the inner loop runs at 1 kHz. Figure 12 shows the position.
For the comparison purposes, a PD controller is employed with the same task (Case 1). The PD control parameters are tuned by a great deal of adjusting parameters. Three sets of parameters are chosen to show the effect of parameters on system. The quality of system is evaluated by maximum overshoot (MO), integral absolute error (IAE), integral squared error (ISE). The performance indices are summarized in Table 6.
As shown in Table 6, IAE and ISE are small enough, which means the system has reached its good performance. Meanwhile, the third set of parameters has smaller MO, IAE and ISE compared with the other two sets of parameters. Thus, the third set of parameters is chosen as ultimate control parameters. Figure 13 depicts the position errors and histograms of corresponding errors.
As shown in Figure 13, the position error along x is controlled within ± 0.2 m, about eighty percent of the error is in the range of 0.1 m to 0.1 m. The error in y direction is in 0.4 m~ 0.35 m and the majority of the error is within ± 0.2 m. The error for z direction is controlled within ± 0.2 m, ninety percent of the error is within the range. In order to demonstrate the robustness of the proposed control method, the same experiment is carried out under disturbances (Case 2). Figure 14 shows the position errors and histograms of corresponding errors. Meanwhile, range, the percentage of error within ± 0.2 m and standard deviation are adopted as quantitative performance indices to describe the control performance [35,36]. The results in the two cases are listed in Table 7.
Fast convergence rate is one main advantages of SMC in comparison to PD control. The settling time shows the system under SMC reaches stability faster. The error range indicates that the maximum deviations of SMC are smaller than those of PD. The percentages of error demonstrate that more than 90% of the errors are within ± 0.2 m under SMC. It also can be observed that only the percentage of error along x is more than 90% under PD control. Meanwhile, the percentages of error within ± 0.1 m are obviously greater than those under PD control from Figure 13. The errors along y and z beyond ± 0.2 m with help of PD control reach 10%, while the errors with the help of SMC are much less than 10%. The standard deviations of the designed controller are much less than those of PD controller. In other words, the proposed control scheme has better stability. Above all, the proposed control method can achieve a better tracking performance.
When the system is disturbed, the performance indices of SMC show small changes while the performance indices under PD controller obviously increase. The percentages of error within ± 0.2 m with the help of SMC slightly decrease. However, the percentages of error within ± 0.2 m under PD controller decrease in large amplitude. Meanwhile, the standard deviations significantly increase while the standard deviations with the help of SMC change slightly. Hence, the proposed control method shows a better performance even in presence of disturbances.

6. Conclusions

In this paper, a large scale dynamical model of a quadrotor is built according to the Newton-Euler equation. An inner and outer loop control method is proposed for trajectory tracking. The outer loop that governs the translational motion is designed using SMC law. A SMC inner loop controller based on a rotation matrix is designed to control the rotational motion. The dynamical model of the quadrotor with the controllers is simulated in Matlab/Simulink. The tracking helix verifies the control method has a good tracking performance. Tracking edge-on circle and rectangle trajectories further demonstrates the quadrotor can track nontrivial trajectories and realize large angle flight. The robustness of the proposed method is verified by a tracking helix in the presence of model uncertainties and external disturbances. The simulation results show that the proposed control method has better robustness compared with PD and PD combination. Based on the simulations, we conduct an experiment to further verify the feasibility of the method. The experimental results show the position is well controlled within a reasonable range. Comparative experiments with PD and PD combination further verify the effectiveness of the proposed control method. In our work, the rotation motion is realized through adjusting the rotation matrix to the desired value. The angular velocity is no longer approximated by the first time derivative of attitude angles. In this case, the quadrotor is able to track nontrivial trajectories. Meanwhile, SMC is utilized to govern the inner and outer loop. The use of SMC speeds up the convergence rate and improves the robustness of the system. Future works will focus on autonomous navigation of the quadrotor.

Acknowledgments

This work was supported in part by National Natural Science Foundation (No. 61571127) Key Laboratory of Micro-Inertial Instrument and Advanced Navigation Technology, Ministry of Education, China (Project No. KL201102), Major Project Guidance Foundation of Basic Scientific Research Operation Expense, Southeast University (No. 3222003104), Natural Science Fund of Jiangsu Province (BK20131295), Aeronautical Science Foundation of China (No. 20160869004).

Author Contributions

Dunzhu Xia conceived the model and algorithm; Limei Cheng completed the simulation and verified the validation of the algorithm; Yanhong Yao conducted the experiments.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bouabdallah, S. Design and Control of Quadrotors with Application to Autonomous Flying. Ph.D. Thesis, Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland, 2007. [Google Scholar]
  2. Olivares-Mendez, M.A.; Fu, C.H. Towards an autonomous vision-based unmanned aerial system against wildlife poachers. Sensors 2015, 15, 31362–31363. [Google Scholar] [CrossRef] [PubMed]
  3. Hua, M.D.; Hamel, T.; Morin, P.; Samson, C. Introduction to feedback control of underactuated VTOL vehicles: A review of basic control design ideas and principles. IEEE Control Syst. Mag. 2013, 33, 61–75. [Google Scholar]
  4. Ozbek, N.S.; Onkol, M.; Efe, M.O. Feedback control strategies for quadrotor-type aerial robots: A survey. Trans. Inst. Meas. Control 2015, 38, 1–26. [Google Scholar]
  5. He, Z.F.; Zhao, L. Quadrotor Trajectory Tracking Based on Quasi-LPV System and Internal Model Control. Math. Probl. Eng. 2015, 2015, 1–13. [Google Scholar] [CrossRef]
  6. Nicol, C.; Macnab, C.J.B.; Ramirez-Serrano, A. Robust neural network control of a quadrotor helicopter. In Proceedings of the CCECE 2008-Canadian Conference on Electrical and Computer Engineering, Niagara Falls, ON, Canada, 4–7 May 2008; pp. 1233–1238. [Google Scholar]
  7. González-Vázquez, S.; Moreno-Valenzuela, J. Motion control of a quadrotor aircraft via singular perturbations. Int. J. Adv. Robot. Syst. 2013, 10, 1–17. [Google Scholar]
  8. Tayebi, A.; Mcgilvray, S. Attitude Stabilization of a VTOL Quadrotor Aircraft. IEEE Trans. Control Syst. Technol. 2006, 14, 1–11. [Google Scholar] [CrossRef]
  9. Diao, C.; Xian, B.; Zhao, B.; Zhang, X.; Liu, S. An output feedback attitude tracking controller design for quadrotor unmanned aerial vehicles using quaternion. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 3051–3056. [Google Scholar]
  10. Guerrero-Sanchez, M.; Abaunza, H.; Castillo, P.; Lozano, R.; Garcia-Beltran, C.; Rodriguez, P. Passivity-Based control for a Micro Air Vehicle using unit quaternions. Appl. Sci. 2016, 7, 13. [Google Scholar] [CrossRef]
  11. Lee, T.; Leok, M.; McClamroch, N.H. Geometric tracking control of a quadrotor UAV on SE(3). In Proceedings of the 49th IEEE Conference on Decision and Control, Atlanta, GA, USA, 15–17 December 2010; pp. 1–6. [Google Scholar]
  12. Goodarzi, F.; Lee, D.; Lee, T. Geometric nonlinear PID control of a quadrotor UAV on SE(3). In Proceedings of the 2013 European Control Conference, Zurich, Switzerland, 17–19 July 2013; pp. 1–6. [Google Scholar]
  13. Mellinger, D. Trajectory Generation and Control for Quadrotors. Ph.D. Thesis, University of Pennsylvania, Philadelphia, PA, USA, 2012. [Google Scholar]
  14. Bullo, F.; Murray, R.M. Tracking for fully actuated mechanical systems: A geometric framework. Automatica 1999, 35, 17–34. [Google Scholar] [CrossRef]
  15. Xu, R.; Özgüner, Ü. Sliding mode control of a class of under actuated systems. Automatica 2008, 44, 233–241. [Google Scholar] [CrossRef]
  16. Xiong, J.J.; Zheng, E.H. Position and attitude control for a quadrotor UAV. ISA Trans. 2014, 53, 725–731. [Google Scholar] [CrossRef] [PubMed]
  17. Cao, N.; Lynch, A.F. Inner-Outer Loop Control for Quadrotor UAVs with Input and State Constraints. IEEE Trans. Control Syst. Technol. 2016, 24, 1797–1804. [Google Scholar] [CrossRef]
  18. Cao, N.; Lynch, A.F. Inner-outer loop control with constraints for rotary-wing UAVs. In Proceedings of the 2015 International Conference on Unmanned Aircraft Systems, Denver, CO, USA, 9–12 June 2015; pp. 294–302. [Google Scholar]
  19. Smith, J.; Su, J.; Liu, C.; Chen, W.H. Disturbance observer based control with anti-windup applied to a small fixed wing UAV for disturbance rejection. J. Intell. Robot. Syst. 2017, 1–3. [Google Scholar] [CrossRef]
  20. Eker, L. Second-order sliding mode control with experimental application. ISA Trans. 2010, 49, 394–405. [Google Scholar] [CrossRef] [PubMed]
  21. Shtessel, Y.; Taleb, M.; Plestan, F. A novel adaptive-gain supertwisting sliding mode controller: Methodology and application. Automatica 2012, 48, 759–760. [Google Scholar] [CrossRef]
  22. Fridman, L.; Moreno, J.A.; Bandyopadhyay, B. Continuous Nested Algorithms: The fifth generation of sliding mode controllers. In Recent Advances in Sliding Modes: From Control to Intelligent Mechatronics; Springer International Publishing: Berlin, Germany, 2015; pp. 5–33. [Google Scholar]
  23. Yang, J.; Li, S.; Su, J.; Yu, X. Continuous nonsingular terminal sliding mode control for systems with mismatched disturbances. Automatica 2013, 49, 2287–2289. [Google Scholar] [CrossRef] [Green Version]
  24. Su, J.; Yang, J.; Li, S. Continuous finite-time anti-disturbance control for a class of uncertain nonlinear system. Trans. Inst. Meas. Control 2014, 36, 300–302. [Google Scholar] [CrossRef]
  25. Murray, R.M.; Sastry, S.S.; Zexiang, L. A Mathematical Introduction to Robotic Manipulation; CRC Press: Boca Raton, FL, USA, 1994; pp. 69–71. [Google Scholar]
  26. Fantoni, I.; Lozano, R.; Kendoul, F. Asymptotic stability of hierarchical inner-outer loop-based flight controllers. In Proceedings of the 17th World Congress the International Federation of Automatic Control, Seoul, Korea, 6–11 July 2008; pp. 1741–1746. [Google Scholar]
  27. Wang, L.; Jia, H. The trajectory tracking problem of quadrotor UAV: Global stability analysis and control design based on the cascade theory. Asian J. Control 2014, 16, 574–588. [Google Scholar] [CrossRef]
  28. Ailon, A.; Arogeti, S. Closed-form nonlinear tracking controller for quadrotors with model and input generator uncertainities. Automatica 2015, 54, 317–324. [Google Scholar] [CrossRef]
  29. Song, Y.; Nuske, S.; Scherer, S. A multi-sensor fusion MAV state estimation from long-range stereo, IMU, GPS and barometric sensors. Sensors 2016, 17, 11. [Google Scholar] [CrossRef] [PubMed]
  30. Xia, D.; Kong, L.; Hu, Y.; Ni, P. Silicon microgyroscope temperature prediction and control system based on bp neural network and fuzzy-pid control method. Meas. Sci. Technol. 2015, 26, 025101. [Google Scholar] [CrossRef]
  31. Shen, C.; Bai, Z.; Cao, H. Optical flow sensor/ins/magnetometer integrated navigation system for MAV in GPS-denied environment. J. Sens. 2016, 2016, 1–10. [Google Scholar]
  32. Weiss, S.; Achtelik, M.W.; Lynen, S.; Chli, M. Real-time onboard visual-inertial state estimation and self-calibration of MAVs in unknown environments. IEEE Int. Conf. Robot. Autom. 2012, 44, 957–964. [Google Scholar]
  33. Weiss, S.; Siegwart, R. Real-time metric state estimation for modular vision-inertial systems. IEEE Int. Conf. Robot. Automation 2011, 19, 4531–4537. [Google Scholar]
  34. Mahony, R.; Hamel, T.; Pflimlin, J.M. Nonlinear complementary filters on the special orthogonal group. IEEE Trans. Autom. Control 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
  35. Zhang, X.; Xian, B.; Zhao, B.; Zhang, Y. Autonomous flight control of a Nano Quadrotor helicopter in a GPS-Denied environment using on-board vision. IEEE Trans. Ind. Electron. 2015, 62, 6392–6403. [Google Scholar] [CrossRef]
  36. Choi, Y.C.; Ahn, H.S. Nonlinear control of quadrotor for point tracking: Actual implementation and experimental tests. IEEE/ASME Trans. Mechatron. 2015, 20, 1179–1193. [Google Scholar] [CrossRef]
Figure 1. The structure of quadrotor and its coordinate system.
Figure 1. The structure of quadrotor and its coordinate system.
Sensors 17 02147 g001
Figure 2. Control structure diagram.
Figure 2. Control structure diagram.
Sensors 17 02147 g002
Figure 3. Tracking rotation matrix simulation (a) e R e 1 ; (b) e R e 2 ; (c) e R e 3 ; (d) The control input u 2 ; (e) The control input u 3 ; (f) The control input u 4 .
Figure 3. Tracking rotation matrix simulation (a) e R e 1 ; (b) e R e 2 ; (c) e R e 3 ; (d) The control input u 2 ; (e) The control input u 3 ; (f) The control input u 4 .
Sensors 17 02147 g003
Figure 4. Tracking helical trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d)Vector form of attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Figure 4. Tracking helical trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d)Vector form of attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Sensors 17 02147 g004aSensors 17 02147 g004b
Figure 5. Tracking circular trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d) Vector form attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Figure 5. Tracking circular trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d) Vector form attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Sensors 17 02147 g005
Figure 6. Tracking rectangular trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d)Vector form of attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Figure 6. Tracking rectangular trajectory simulation (a) Position; (b) Error of position; (c) Error of angular velocity; (d)Vector form of attitude error; (e) The sliding variables in outer loop; (f) The sliding variables in inner loop; (g) The control variables; (h) The desired trajectory and the actual trajectory in the simulation.
Sensors 17 02147 g006aSensors 17 02147 g006b
Figure 7. Comparisons under both controllers for trajectory tracking simulation in two cases (a) The trajectory in Case 1; (b) The trajectory in Case 2; (c) The control inputs in Case 1; (d) The control inputs in Case 2.
Figure 7. Comparisons under both controllers for trajectory tracking simulation in two cases (a) The trajectory in Case 1; (b) The trajectory in Case 2; (c) The control inputs in Case 1; (d) The control inputs in Case 2.
Sensors 17 02147 g007
Figure 8. The experimental system.
Figure 8. The experimental system.
Sensors 17 02147 g008
Figure 9. The flow diagram of the algorithm of the system.
Figure 9. The flow diagram of the algorithm of the system.
Sensors 17 02147 g009
Figure 10. The placement of base stations and the tag.
Figure 10. The placement of base stations and the tag.
Sensors 17 02147 g010
Figure 11. The measured position by UWB system and the corresponding errors (a) The measured position by UWB system; (b) The corresponding position errors.
Figure 11. The measured position by UWB system and the corresponding errors (a) The measured position by UWB system; (b) The corresponding position errors.
Sensors 17 02147 g011
Figure 12. Actual position of quadrotor in the experiment.
Figure 12. Actual position of quadrotor in the experiment.
Sensors 17 02147 g012
Figure 13. Position errors and histograms of position errors in Case 1 (a) x position error; (b) Percentage of x position error; (c) y position error; (d) Percentage of y position error; (e) z position error; (f) Percentage of z position error.
Figure 13. Position errors and histograms of position errors in Case 1 (a) x position error; (b) Percentage of x position error; (c) y position error; (d) Percentage of y position error; (e) z position error; (f) Percentage of z position error.
Sensors 17 02147 g013aSensors 17 02147 g013b
Figure 14. Position errors and histograms of position errors in Case 2 (a) x position error; (b) Percentage of x position error; (c) y position error; (d) Percentage of y position error; (e) z position error; (f) Percentage of z position error.
Figure 14. Position errors and histograms of position errors in Case 2 (a) x position error; (b) Percentage of x position error; (c) y position error; (d) Percentage of y position error; (e) z position error; (f) Percentage of z position error.
Sensors 17 02147 g014aSensors 17 02147 g014b
Table 1. Quadrotor model parameters.
Table 1. Quadrotor model parameters.
NameVariableValueUnits
MassM2.0kg
Arm lengthL0.20m
Inertia on x axis I x x 1.25 N s 2 / r a d
Inertia on y axis I y y 1.25 N s 2 / r a d
Inertia on z axis I z z 2.5 N s 2 / r a d
Drag coefficients K 1 = K 2 = K 3 0.012 N s / m
Table 2. The control parameters of the inner loop.
Table 2. The control parameters of the inner loop.
β 1 β 2 β 3 λ 1 λ 2 λ 3 γ 1 γ 2 γ 3
Case 11010101110.10.10.1
Case 21010105550.10.10.1
Case 3101010111111
Case 41212121110.10.10.1
Table 3. Comparison of performance of SMC with different sets of parameters.
Table 3. Comparison of performance of SMC with different sets of parameters.
IAEISEISCI
e R 1 e R 2 e R 3 e R 1 e R 2 e R 3 u 2 u 3 u 4
Case 10.96820.34691.02150.44070.08450.37880.30280.380938.9353
Case 20.69810.34350.64080.27480.10240.21520.02750.189038.6488
Case 30.76410.29110.78620.36990.07910.30350.24220.376038.8503
Case 41.29930.48471.32570.59990.10730.52380.52100.491239.3407
Table 4. Comparisons for two control schemes in two cases.
Table 4. Comparisons for two control schemes in two cases.
Index x y z
Cases MAEIAEISEMAEIAEISEMAEIAEISE
Case 1PD + PD11.28190.68310.54410.89470.28431.00521.19810.6336
SMC + SMC11.03670.60800.26080.30240.05351.00171.00850.5592
Case 2PD + PD11.61680.71090.54651.27830.31231.00521.42370.6357
SMC + SMC11.14330.61040.26070.40890.05411.00171.04690.5601
Table 5. Specifications of the IMU.
Table 5. Specifications of the IMU.
Sensor GyroscopeAccelerometerMagnetometer
TypeMPU6000MPU6000LSM303D
Full scale−1000~1000 (°/s)−8~+8 (g)−8~+8 (gauss)
Sensitivity 0.030 (°/s/LSB)0.2 (mg/LSB) 0.320 (mGauss/LSB)
Table 6. Comparison of experiment results under three sets of PD parameters.
Table 6. Comparison of experiment results under three sets of PD parameters.
Index x y z
Parameters MOIAEISEMOIAEISEMOIAEISE
k p 160.25511.57210.19430.24152.13050.48620.17661.99160.4019
k d 5.6
k p 160.12631.60700.20330.15762.00410.39830.16371.93630.3997
k d 10
k p 180.15021.51000.18190.10741.98050.37660.0841.92850.3883
k d 10
Table 7. Comparison of experimental results under two cases.
Table 7. Comparison of experimental results under two cases.
ControllerSMC + SMCPD + PD
Index x y z x y z
Case 1Settling time [s]3.393.424.495.295.306.44
Range [m](−0.25,0.26)(−0.41,0.31)(−0.76,0.32)(−0.31,0.32)(−0.72,0.41)(−0.78,0.42)
The percentage of error within ± 0.2 m98.3%95.6%92. 7%94.3%87.8 %89.4 %
Standard deviation [m]0.09210.10060.13530.097240.15140.1396
Case 2Settling time [s]3.433.454.535.695.686.83
Range [m](−0.31,0.35)(−0.43,0.33)(−0.77,0.34)(−0.38,0.45)(−0.73,0.46)(−0.79,0.53)
The percentage of error within ± 0.2 m96.2%93.8%90.8%88.0%80.4%78.2%
Standard deviation [m]0.09350.10180.13640.12830.16980.1738

Share and Cite

MDPI and ACS Style

Xia, D.; Cheng, L.; Yao, Y. A Robust Inner and Outer Loop Control Method for Trajectory Tracking of a Quadrotor. Sensors 2017, 17, 2147. https://doi.org/10.3390/s17092147

AMA Style

Xia D, Cheng L, Yao Y. A Robust Inner and Outer Loop Control Method for Trajectory Tracking of a Quadrotor. Sensors. 2017; 17(9):2147. https://doi.org/10.3390/s17092147

Chicago/Turabian Style

Xia, Dunzhu, Limei Cheng, and Yanhong Yao. 2017. "A Robust Inner and Outer Loop Control Method for Trajectory Tracking of a Quadrotor" Sensors 17, no. 9: 2147. https://doi.org/10.3390/s17092147

APA Style

Xia, D., Cheng, L., & Yao, Y. (2017). A Robust Inner and Outer Loop Control Method for Trajectory Tracking of a Quadrotor. Sensors, 17(9), 2147. https://doi.org/10.3390/s17092147

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