Next Article in Journal
K-Means Spreading Factor Allocation for Large-Scale LoRa Networks
Next Article in Special Issue
Tracking Control for Wheeled Mobile Robot Based on Delayed Sensor Measurements
Previous Article in Journal
Distributed Estimation Techniques for Cyber-Physical Systems: A Systematic Review
Previous Article in Special Issue
A Robust Balance-Control Framework for the Terrain-Blind Bipedal Walking of a Humanoid Robot on Unknown and Uneven Terrain
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Actuator Fault Detection and Fault-Tolerant Control for Hexacopter

Department of Aerospace Engineering, Sejong University, Seoul 143-747, Korea
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(21), 4721; https://doi.org/10.3390/s19214721
Submission received: 14 October 2019 / Revised: 24 October 2019 / Accepted: 29 October 2019 / Published: 30 October 2019
(This article belongs to the Special Issue Sensors and Robot Control)

Abstract

:
In this paper, fault detection and fault-tolerant control strategies are proposed to handle the issues of both actuator faults and disturbances in a hexacopter. A dynamic model of a hexacopter is first derived to develop a model-based fault detection system. Secondly, the altitude control based on a sliding mode and disturbance observer is presented to tackle the disturbance issue. Then, a nonlinear Thau observer is applied to estimate the states of a hexacopter and to generate the residuals. Using a fault detection unit, the motor failure is isolated to address the one or two actuator faults. Finally, experimental results are tested on a DJI F550 hexacopter platform and Pixhawk2 flight controller to verify the effectiveness of the proposed approach. Unlike previous studies, this work can integrate fault detection and fault-tolerant control design as a single unit. Moreover, the developed fault detection and fault-tolerant control method can handle up to two actuator failures in presence of disturbances.

1. Introduction

The multicopter unmanned aerial vehicles (UAVs) are drawing attention in the academic community. The have been developed and tested in several technologies, such as formation flight [1,2], precision landing [3,4], tracking control [5,6], remote sensing [7,8,9,10]. This significant growth has resulted from the following advantages that UAVs have, such as agility, economical cost, compactness, mechanical simplicity, and ability to operate in indoor and outdoor environments [11]. One of the control problems that a multicopter faces is actuator failure, which may cause many crashes and expose human beings to injury risks during operation [11]. Therefore, a fault-tolerant control (FTC) topic is a key factor in ensuring the safety and reliability demands of multicopters during flight missions. The goal of this paper is to propose a fault detection and fault-tolerant control method for hexacopters in the presence of one or two actuator failures.

1.1. Related Review

Studies on actuator fault detection (FD) and FTC for multicopter UAVs have been carried out intensively over the past decade. There are two types of failures in multicopter UAVs: partial loss and complete loss effectiveness in actuators. Several methods have been proposed to improve the stability and tracking performance for quadcopter UAVs in the presence of a partial actuator failure. Several control methods based on sliding mode control (SMC) [12,13,14] and adaptive SMC (ASMC) techniques [15,16,17] are proposed to handle model uncertainties, disturbances, and actuator faults. These studies show some acceptable results, but they cannot tolerate the fault in the case of complete failure [18,19]. Some control methods are investigated to overcome the complete failure issue. Merheb et al. suggested the reconfiguration technique based on control allocation to transform a quadcopter into a tricopter [18]. The results can tolerate complete failure and demonstrate a good tracking performance. However, this method cannot detect the location of the fault and it requires an extra weight mounted on the opposite motor. There is another approach, based on backstepping [19], to transform the quadcopter into a birotor for emergency landing, but this method does not consider fault detection. In [20], a periodic solution combined with removing yaw motion was proposed to address one, two, or three propeller failures but this approach cannot use a fault detection scheme. Moreover, this work may not work in outdoor environments because GPS systems have a poor signal when removing yaw motion. It can be demonstrated that complete failure in one motor of a quadcopter requires removing yaw motion to ensure the controllability of the system because the quadcopter lacks redundancy in a dynamic model [11,20].
A hexacopter consists of six motors, including three motors rotating clockwise and three motors rotating counterclockwise. It was developed to increase the possibility of controllability of one or more actuator failures through its allocation matrix. Recent years have witnessed several works on the FTC problem of a hexacopter in the case of a motor failure. An attainable control set was proposed to evaluate the controllability of a hexacopter or an octocopter [21]. The optimal solution of thrust and torques is arrived at using parametric programming, which is obtained from the search tree method. In [22], an incremental backstepping fault-tolerant control is proposed for a hexacopter under an unknown control degradation occurring in the propulsion system. In [23], a Time Delay Control (TDC) method is presented to address single or multiple failure in the actuator. However, most of the above studies are tested and validated by simulation. A recent study presented experimental work on the FTC of a hexacopter using parametric programming formulation [24]. This work shows some good results in hovering or tracking performance after faults occur in one or two motors, but this design assumes that the location of motor failures is known to design the FTC approach. Although current studies proposed some good results on FTC of hexacopters, they lack experimental works or lack the fault detection unit to determine the location of a fault before designing the FTC method.

1.2. Main Contributions

In this paper, a fault-tolerant control approach is proposed for a hexacopter UAV to address one or two actuator faults with disturbances. Differing from previous studies, this article aims to integrate a fault detection unit into fault-tolerant control as a single unit. In detail, the fault detection unit is first used to detect the location of faults. Next, using this fault detection information, the motor failures are isolated and then a fault-tolerant control method is developed to hover the hexacopter through the reconfiguration technique.
This paper is organized as follows. Section 2 describes the dynamic model of the hexacopter. The attitude and altitude controller design are shown in Section 3. Section 4 presents the fault detection and isolation scheme. The experimental results are presented in Section 5 to validate the effectiveness of the proposed method. Section 6 presents the conclusions and the possibilities for future research.

2. Mathematical Model of a Hexacopter

Let us examine the body frame B and inertial frame E to describe a hexacopter dynamic (see Figure 1). For the body frame, the X Y plane is placed at the surface while the Z -axis is denoted by the right hand rule. The center of gravity (CoG) of the hexacopter is placed at the origin of the body frame. The body frame is transformed to inertia frame using rotation matrix in Equation (1).
R ( φ , θ , ψ ) = [ c ψ c θ c ψ s θ s φ s ψ c φ c ψ s θ c φ + s ψ c φ s ψ c θ s ψ s θ s φ + c ψ c φ s ψ s θ c φ s φ c ψ s θ c θ s ψ c θ c φ ] ,
where s denotes sin, c denotes cos, and φ , θ , ψ stand for Euler angles.
The hexacopter shown in Figure 1 includes three motors (1, 3, 4) rotating counterclockwise and three motors rotating clockwise. Four control inputs U 1 , U 2 , U 3 , and U 4 are defined as
{ U 1 = F 1 + F 2 + F 3 + F 4 + F 5 + F 6 U 2 = ( F 2 F 1 + ( F 3 + F 6 F 4 F 5 ) / 2 ) L U 3 = ( F 3 + F 5 F 4 F 6 ) L 3 / 2 U 4 = τ 2 + τ 5 + τ 6 τ 1 τ 3 τ 4 ,
where L is the arm length; τ i = d Ω i 2 and F i = b Ω i 2 are the torques and forces generated from i t h motor; Ω i is the rotation speed; U 1 is the total thrust; U 2 , U 3 , U 4 are the torques in the directions φ , θ , ψ .
According to the Newton–Euler equation, the body dynamics is shown as [25]:
{ m r ¨ = R [ 0 0 U 1 ] [ 0 0 m g ] ω ˙ × m r ¨ I ω ¨ = [ U 2 U 3 U 4 ] ω ˙ × I ω ¨ ,
where m is the mass of the hexacopter; ω is the angular velocity vector; g is the gravity; I is the inertia vector; r is the position in inertial frame;
Finally, the orientation and translation motion of the hexacopter can be derived as [26]
{ x ¨ = { U 1 ( cos φ s i n θ cos ψ + sin φ sin ψ ) K x x ˙ } / m y ¨ = { U 1 ( cos φ s i n θ s i n ψ sin φ sin ψ ) K y y ˙ } / m z ¨ = g + { U 1 ( cos φ c o s θ ) K z z ˙ } / m φ ¨ = ( U 2 + ( I y I z ) θ ˙ ψ ˙ J T θ ˙ Ω K φ φ ˙ ) / I x θ ¨ = ( U 3 + ( I z I x ) φ ˙ ψ ˙ J T φ ˙ Ω K θ θ ˙ ) / I y ψ ¨ = ( U 4 + ( I x I y ) φ ˙ θ ˙ K ψ ψ ˙ ) / I z ,
where Ω is the disturbance: Ω = Ω 3 + Ω 4 Ω 1 Ω 2 ; U 1 is the total thrust; U 2 , U 3 , U 4 are the torques in the directions φ , θ , ψ ; I x , I y , I z are the moments of inertia of the hexacopter along the x , y , z axis; K φ , K θ , K ψ , K x , K y represent drag coefficients; J T is the inertia of each rotor.
From Equation (4), the relationship between control variables and forces can be described by the allocation matrix T as:
T = [ 1 1 1 1 1 1 L L L / 2 L / 2 L / 2 L / 2 0 0 L 3 / 2 L 3 / 2 L 3 / 2 L 3 / 2 d / b d / b d / b d / b d / b d / b ] .

3. Attitude and Altitude Controller Design

3.1. Attitude Controller Design

The full control structure is shown in Figure 2. In this scheme, the disturbance-based sliding mode control method is proposed for attitude control and to handle disturbances, whereas the fault detection and isolation unit is used to detect fault occurrence. When the residuals from the fault detection unit exceed the threshold, the motor fault is isolated and then the allocation matrix is modified correspondingly to adopt the new geometry of the hexacopter.
Define x = [ φ φ ˙ θ θ ˙ ψ ψ ˙ ] T = [ x 1 x 2 x 3 x 4 x 5 x 6 ] T and U = [ U 2 U 3 U 4 ] T = [ u 1 u 2 u 3 ] T as the state vector and control input vector, respectively. From Equation (4), each rotational movement equation has the following form:
{ x ˙ 2 i 1 = x 2 i x ˙ 2 i = f i ( x ) + h i u i ( t ) + d i ( x , t )
The desired attitude is denoted as x i d . The control goal is to generate the control signal u i such that the hexacopter can track the desired attitude, i.e., x 2 i 1 ( t ) x i d as t , i = 1 , 2 , 3 .
Assumption 1.
The disturbance is assumed to be bounded and satisfied | d i | D i .
Assumption 2.
The disturbance changes slowly and satisfies d ˙ i = 0 .
Assumption 3.
The estimation error of disturbance is bounded by | d ˜ ˙ i | Γ i .
According to [27], a nonlinear disturbance-based sliding mode control is proposed by
{ d ^ i = z i + δ i x 2 i z ˙ i = δ i z i δ i ( δ i x 2 i + f i ( x ) + g i ( x ) u i ) ,
where d ^ i is the estimate of d i , z i is the observation auxiliary vector, δ i > 0 is the observer gain. The estimation error of disturbance is denoted as:
d ˜ i = d i d ^ i .
From Assumption 2, the derivative of disturbance estimation error can be defined as:
d ˜ ˙ i = d ˙ i d ^ ˙ i = z ˙ i δ i x ˙ 2 i = δ i ( d ^ i δ i x ˙ 2 i ) + δ i ( δ i x 2 i + f i ( x ) + g i ( x ) u i ) δ i ( f i ( x ) + g i ( x ) u i + d i ) = δ i d ˜ i
Denote the control error:
e i = x 2 i 1 x i d   .
The sliding surface is expressed by:
s i = e ˙ i + k i e i   ,
where k i is the positive parameter.
Taking the derivative of sliding surface
s ˙ i = e ¨ i + k i e ˙ i   .
From Equations (7)–(9), s ˙ i can be derived as
s ˙ i = f i ( x ) + h i u i ( t ) + d i ( x , t ) x ¨ i d + c i e ˙ i   .
Theorem 1.
Consider the sliding surface is designed by Equation (11). Suppose that the following control law is implemented by
u i = ( f i ( x , t ) d ^ i ( x , t ) + x ¨ i d c i e ˙ i Γ i sign ( s i ) / h i   .
Then the nonlinear system (Equation (6)) is stable and the control errors are forced to zero.
Proof of Theorem 1.
Choose the Lyapunov function as follows [26]
V = 1 2 s i 2 + 1 2 d ˜ ˙ i 2   .
Take the first derivative of the Lyapunov function
V ˙ = s i s ˙ i δ i d ˜ i 2 = s i ( d ˜ i Γ i sign ( s i ) ) δ i d ˜ i 2 ( Γ i | d ˜ i | ) | s i | δ i d ˜ i 2 0
Therefore, according to the control strategy (Equation (14)) and disturbance observer (Equation (9)), the closed-loop system can maintain stability when both actuator faults and external disturbances occur. ☐
Remark 1.
With the proposed disturbance observer-based sliding mode control, the discontinuous control gain is decreased, and it is required to be larger than the bound of estimation error rather than that of disturbance.
Remark 2.
To handle the chattering issue due to the sign function from Equation (14), a saturation function is denoted as
s a t ( s i ) = { s i if   | s i | 1 s i g n ( s i ) if   | s i | > 1 , i = 1 , 2 , 3 .  

3.2. Altitude Controller Design

A PID controller is applied to control the vertical movement of the hexacopter as follows
Z ¨ = Z ¨ d + K d z ( Z ˙ Z ˙ d ) + K p z ( Z Z d ) + K i z ( Z Z d ) d t ,  
where Z d are the desired altitude in the z directions, respectively; Z is actual value; and K p z , K d z , and K i z are the controller gains.

4. Fault Detection and Fault-Tolerant Control System

Fault detection consists of two modules: residual generation and residual validation. Residual generation is defined as the difference between system output and state observer. The information of residual generation is used for the residual validation module that determines fault-free or faulty case. When the output of residual validation module is in the faulty case, the fault isolation (FI) module is activated. The obtained FI information is used to determine the location of the fault, which is based on the magnitude and sign of residual validation module. Finally, the fault-tolerant control system aims to change the allocation matrix to hover and land the hexacopter.

4.1. Residual Generation

A nonlinear observer presented in [28] is applied for fault detection and isolation (FDI). Let us consider the following nonlinear model:
{ x ˙ ( t ) = A x ( t ) + B L 1 u ( t ) + h ( x ( t ) , L 1 u ( t ) ) y ( t ) = C x ( t ) ,
where x ( t ) = [ φ φ ˙ θ θ ˙ ψ ψ ˙ z z ˙ ] , u ( t ) = [ U 2 U 3 U 4 U 1 ] , y ( t ) are the state vector, control input vector, and the output vector; A , B , C are the system matrices; L 1 is the fault matrix; h ( x ( t ) , L 1 u ( t ) ) is the nonlinear function.
From the state model in Equation (19), the following conditions are designed for a Thau observer [28]:
Condition 1.
the pair ( C , A ) is observable.
Condition 2.
the nonlinear part h ( x ( t ) , u ( t ) ) is Lipschitz and differentiable continuously with a constant γ , i.e., h ( x 1 ( t ) , u ( t ) ) h ( x 2 ( t ) , u ( t ) ) γ x 1 x 2 .
If all conditions are satisfied, the Thau observer can be derived as [28]:
{ x ^ ˙ ( t ) = A x ^ ( t ) + B u ( t ) + K ( y ^ ( t ) y ( t ) ) + h ( x ^ ( t ) , u ( t ) ) y ^ ( t ) = C x ^ ( t ) ,
where x ^ ( t ) = [ ϕ ^ ϕ ^ ˙ θ ^ θ ^ ˙ ψ ^ ψ ^ ˙ z ^ z ^ ˙ ] is the state observer vector; y ^ ( t ) is the observer output vector; K is the designed matrix and determined by
K = P ε 1 C T .
The matrix P ε is achieved from the following equation
A T P ε + P ε A C T C + ε C T P ε = 0 ,
where ε is a positive value such that P ε 0 .
The residuals are defined as the deviation between real output of system and state output:
r 1 = φ φ ^ , r 2 = θ θ ^ r 3 = ψ ψ ^ , r 4 = z z ^ r 5 = φ ˙ φ ^ ˙ , r 6 = θ ˙ θ ^ ˙ r 7 = ψ ˙ ψ ^ ˙ , r 8 = z z ^ ˙

4.2. Residual Validation

The residual validation module is used to detect the fault-free or faulty case of system, which is compared with upper or lower thresholds. The decision logic is determined as follows:
{ r i ( t ) H i or r i M i in fault-free case r i ( t ) < H i and r i ( t ) > M i in faulty case
.
Using this residual validation module, the fault isolation and fault-tolerant control methods will be designed in Section 4.3 to isolate the fault and to reconfigure the allocation matrix.

4.3. Fault Isolation and Fault-Tolerant Control

When residual validation of FD system detects the faulty case, the FI module is activated. To determine the location of the fault, the knowledge of residuals r 5 , r 6 , r 7 , r 8 should be used. The failure motor is isolated through the sign and magnitude of these residuals. The map of failure in one or two motors can be concluded in Table 1 and Table 2, which depends on the sign and magnitude of residuals. In these Tables, the “Controllable” column means that the hexacopter can hover its position and make a landing mode during flight test. After the fault is isolated from the FI module, the allocation matrix is reconfigured correspondingly for fault accommodation.

5. Experimental Results

5.1. Experimental Setup

The fault-tolerant control, fault detection, and fault isolation methods in Section 3 and Section 4 were tested on a DJI F550 platform [29]. These algorithms were developed on Pixhawk2 flight controller [30], which requires the C++ program for implementation [31]. The firmware version 3.5 was chosen for the flight controller. During testing, the faults were injected by limiting the pulse width modulation (PWM) [32] through a remote control that can switch to faulty mode from stabilize mode. The flight data were monitored using Mission Planner (MP) [33] software through Xbee wireless communication [34]. The fault detection data were achieved through a log file that is coded in C++ by the user. The experimental procedure is summarized in Figure 3.

5.2. Results

To demonstrate the performance of the proposed control scheme, different simulation tests on a hexacopter are considered. The hexacopter parameters are shown in Table 3.
The parameters of disturbance-based sliding mode control are chosen as: k i = 10 , δ i = 3 , i = 1 , 2 , 3 . The parameters of fault detection scheme are chosen as: M i = 0.35 and H i = 0.35 . A = [ 0 4 × 4 I 4 × 4 0 4 × 4 0 4 × 4 ] , K = [ 1.1 0 0 0 0 1.1 0 0 0 0 1.1 0 0 0 0 1.1 0.3025 0 0 0 0 0.3025 0 0 0 0 0.3025 0 0 0 0 0.3025 ] , C = [ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 ] , h ( x , u ) = [ 0 0 0 0 ( θ ˙ ψ ˙ ( I y I z ) J T θ ˙ Ω ) / I x ( φ ˙ ψ ˙ ( I z I x ) J T φ ˙ Ω ) / I y φ ˙ θ ˙ ( I x I y ) / I z g ] B = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 L / I x 0 L / I x L / I y 0 L / I y 0 d / ( b I z ) d / ( b I z ) d / ( b I z ) d / ( b I z ) 1 / m 1 / m 1 / m 1 / m ] .
In scenario 1, partial loss effectiveness in actuator 2 is presented to verify the disturbance-based sliding mode control and residuals from Table 1. To show the fault detection and isolation effectiveness, scenarios 2, 3, and 4 show the case of one motor failure, two motor failure in sequence, or two motor failure simultaneously.

5.2.1. Partial Loss in Actuator 2

A 30% loss of control effectiveness in the actuator fault 2 is simulated. The hexacopter can hover at the altitude of 2 m and the fault occurs at t = 28 s. It can be seen in Figure 4 that the Euler angles can converge quickly to the desired angles after a fault occurrence due to the disturbance observer-based controller. Moreover, the actual altitude can also track the desired one after the fault occurrence.
The residuals are shown in Figure 5. Interestingly, the residuals are the same as those in the fault map presented in Table 1. Since the residuals do not exceed the thresholds, the attitude still uses the disturbance-based sliding mode control for accommodation without changing the allocation matrix.
The output signals are illustrated in Figure 6. It should be noted that before the fault (up to t = 28 s), the six PWM signals are similar. After fault is injected in motor 2, the second PWM is decreased and then its value increases again to maintain the position of the hexacopter.
The experimental work can be found at https://www.youtube.com/watch?v=en-h_HwVh0k or in the Supplementary Materials.

5.2.2. Complete Loss in Actuator 4

In this test, complete failure is introduced to motor 4. The hexacopter is made to hover at the height of 2 m and the fault is injected at t = 47.8 s. As can be seen in Figure 7, the attitude angles can track the desired angles although the they have some small oscillations after a fault occurs. The residuals of system are presented in Figure 8. It is shown that when fault occurs, all signs of residuals are similar to those in Table 1 at the beginning and then they go back to the zero. Unlike previous case, the residuals here converge to the original point because the magnitude of residuals exceed the threshold and then the motor 4 is isolated after fault occurrence.
The detection unit of motors 2 and 4 is presented in Figure 9. It is clear that only motor 4 is detected from the FD unit. Figure 10 shows the corresponding output signals. It shows that the PWM of motor 4 has a minimum value due to fault injection. The other PWMs are changed correspondingly to maintain the position of hexacopter because the motor 4 is isolated from the allocation matrix.
The experimental work can be found at https://www.youtube.com/watch?v=rSSoVS4nDaE or in the Supplementary Materials.

5.2.3. Complete Loss of Two Motors in Sequence

In this test, the faults are injected into motors 4 and 2 at 48 and 54.5 s, respectively. The hexacopter is made to hover at the height of 1.35 m. As can be seen in Figure 11, the attitude angles can track the desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The residuals of system are presented in Figure 12. Unlike the case in Section 5.2.2, after the fault occurs in motor 4, the system can still detect and isolate the fault of motor 2.
Figure 13 shows the detection unit of the system. It is clear that the faults in motors 4 and 2 are detected from the FD unit because their residuals’ magnitudes exceed the threshold values. The corresponding output signals are presented in Figure 14. It shows that the PWMs of motors 4 and 2 have minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the position of the hexacopter because the motors 4 and 2 are isolated from the allocation matrix.
The experimental work can be found at https://www.youtube.com/watch?v=yv-L4qBZ8EU or in the Supplementary Materials.

5.2.4. Complete Loss in Two Motors at the Same Time

In this scenario, the faults are injected to motors 2 and 4 at the same time. The hexacopter is made to hover at the height of 2 m and the fault occur at 44 s. As can be seen in Figure 15, the attitude angles can track the desired angles although the they have some oscillations after faults occur in motors 4 and 2. The residuals of system are presented in Figure 16. It is shown that when a fault occurs, all signs of the residuals are similar to those in Table 1 at the beginning and then they converge to zero. This convergence is because the residuals exceed the threshold values and two motor failures are isolated.
Figure 17 shows the detection unit of system. It is clear that the faults in motors 4 and 2 are detected from the FD unit at the same time because their residuals’ magnitudes exceed the threshold values. Figure 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and 2 have minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the position of the hexacopter because motors 4 and 2 are isolated from the allocation matrix.
The experimental work can be found at https://www.youtube.com/watch?v=uZuG44NqL8s or in the Supplementary Materials.
Remark 3.
In this research, two motor failures are presented. It should be mentioned that the total thrust generated from remaining motors should be larger than the gravity force of the hexacopter. Therefore, users should choose suitable motors and hexacopter masses for safety purposes.
Remark 4.
Some previous studies assume that the location of fault is known, and they only focus on fault-tolerant control design to handle fault. In comparison with previous studies, our research can maintain the hexacopter up to two motor failures in presence of disturbances with two scenarios: sequential faults and simultaneous faults. We believe that our research could be innovative in commercial software of the Pixhawk2 flight controller.
Remark 5.
In several flight tests on the Pixhawk2 flight controller, the hexacopter crashed because it lacks the fault detection and fault-tolerant control algorithm. Therefore, it is difficult to gather data of the Pixhawk2 flight controller for comparison.
Remark 6.
Consider the frames that have more than six motors, the fault detection and fault-tolerant control schemes are more complex, which is out of scope of this research and will be investigated in further research.

6. Conclusions

In this paper, the dynamic model of a hexacopter was explored with regard to disturbances and actuator faults. A fault detection based on a Thau observer was applied to monitor the location of one or two rotor failures. When the residuals exceeded the threshold values, the motor failure was isolated and then allocation matrix was changed. The results show that the proposed fault detection and isolation can be used to reconfigure the geometry of a hexacopter, hence making a safe flight when a fault occurs. Compared with previous studies, this research is innovative in several ways. First, the fault detection is integrated into fault-tolerant control as a single unit. Second, with the proposed disturbance observer-based sliding mode control, the discontinuous control gain is reduced, and it is required to be larger than the bound of estimation error rather than that of disturbance. Finally, the experimental works show that the hexacopter can handle complete fault in two cases: sequential fault and simultaneous fault. However, this study may not cover all cases of one motor or two motor failures. This limitation can be addressed by rotation of the coordinates or scarifying the yaw control. Future work should consider this problem and propose a suitable method for implementation.

Supplementary Materials

The following are available online at https://www.mdpi.com/1424-8220/19/21/4721/s1.

Author Contributions

Conceptualization, N.P. and S.K.; Methodology, N.P.; Software, N.P.; Validation, N.X.M.; Formal Analysis, N.P.; Investigation, N.P.; Resources, N.P.; Data Curation, N.P.; Writing—Original Draft Preparation, N.P; Writing—Review and Editing, S.K.; Visualization, N.P.; Supervision, S.K.; Project Administration, S.K.; Funding Acquisition, S.K.

Funding

The authors would like to thank the organizations that provided funding for this work.

Acknowledgments

This research was supported by the MSIT (Ministry of Science and ICT), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2019-2018-0-01423) supervised by the IITP (Institute for Information and communications Technology Promotion).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhao, W.; Go, T.H. Quadcopter formation flight control combining MPC and robust feedback linearization. J. Frankl. Inst. 2014, 351, 1335–1355. [Google Scholar] [CrossRef]
  2. Mahmood, A.; Kim, Y. Decentralized formation flight control of quadcopters using robust feedback linearization. J. Frankl. Inst. 2017, 354, 852–871. [Google Scholar] [CrossRef]
  3. Yang, S.; Ying, J.; Lu, Y.; Li, Z. Precise quadrotor autonomous landing with SRUKF vision perception. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015. [Google Scholar]
  4. Shakernia, O.; Ma, Y.; Koo, T.J.; Sastry, S. Landing an unmanned air vehicle: vision based motion estimation and nonlinear control. Asian J. Control 1999, 1, 128–145. [Google Scholar] [CrossRef]
  5. Ren, W.; Beard, R.W. Trajectory tracking for unmanned air vehicles with velocity and heading rate constraint. IEEE Trans. Control Syst. Technol. 2004, 12, 12–706. [Google Scholar] [CrossRef]
  6. Bonna, R.; Camino, J.F. Trajectory Tracking Control of a Quadcopter Using Feedback Linearization. In Proceedings of the XVII International Symposium on Dynamic Problems of Mechanics, Natal- Rio Grande Do Norte, Brazil, 22–27 February 2015. [Google Scholar]
  7. Al-Naji, A.; Perera, A.G.; Mohammed, S.L.; Chahl, J. Life Signs Detector Using a Drone in Disaster Zones. Remote Sens. 2019, 11, 2441. [Google Scholar] [CrossRef]
  8. Lippitt, C.D.; Zhang, S. The impact of small unmanned airborne platforms on passive optical remote sensing: A conceptual perspective. Int. J. Remote Sens. 2018, 39, 4852–4868. [Google Scholar] [CrossRef]
  9. Burdziakowski, P. UAV in Todays Photogrammetry-Application Areas and Challenges. In Proceedings of the 18th International Multidisciplinary Scientific GeoConference SGEM, Albena, Bulgaria, 24 August–2 September 2018. [Google Scholar]
  10. Burdziakowski, P. UAV Design and Construction for Real Time Photogrammetry and Visual Navigation. In Proceedings of the Baltic Geodetic Congress (BGC Geomatics), Olsztyn, Poland, 21–23 June 2018. [Google Scholar]
  11. Lanzon, A.; Freddi, A.; Longhi, S. Flight Control of a Quadrotor Vehicle Subsequent to a Rotor Failure. J. Guid. Control Dyn. 2014, 37, 580–591. [Google Scholar] [CrossRef]
  12. Kacimi, A.; Mokhtari, A.; Kouadri, B. Sliding mode control based on adaptive backstepping approach for quadrotor unmanned aerial vehicle. Przegląd Elektrotechniczny 2012, 88, 188–193. [Google Scholar]
  13. Sharifi, F.; Mirzaei, M.; Gordon, B.W.; Zhang, Y.M. Fault tolerant control of a quadrotor UAV using sliding mode control. In Proceedings of the Conference on Control and Fault Tolerant Systems, Nice, France, 6–7 October 2010; pp. 239–244. [Google Scholar]
  14. Hu, Q.; Xiao, B. Adaptive fault tolerant control using integral sliding mode strategy with application to flexible spacescraft. Int. J. Syst. Sci. 2013, 44, 2273–2286. [Google Scholar] [CrossRef]
  15. Barghandan, S.; Badamchizadeh, M.A.; Jahed-Motlagh, M.R. Improve Adaptive Fuzzy Sliding Mode Controller for Robust Fault Tolerant of a Quadrotor. Int. J. Control Autom. Syst. 2017, 15, 427–441. [Google Scholar] [CrossRef]
  16. Yang, H.; Jiang, B.; Zhang, K. Direct self-repairing control of the quadrotor helicopter based on adaptive sliding mode control technique. In Proceedings of the 2014 IEEE Chinese Guidance, Navigation and Control Conference, Yantai, China, 8–10 August 2014. [Google Scholar]
  17. He, J.; Qi, R.; Jiang, B.; Qian, J. Adaptive output feedback fault tolerant control design for hypersonic flight vehicles. J. Frankl. Inst. 2015, 352, 1811–1835. [Google Scholar] [CrossRef]
  18. Merheb, A.-R.; Noura, H.; Bateman, F. Emergency control of AR Drone Quadrotor UAV suffering a total loss of one rotor. IEEE/ASME Trans. Mechatron. 2017, 22, 961–971. [Google Scholar] [CrossRef]
  19. Lippiello, V.; Ruggiero, F.; Serra, D. Emergency landing for a quadrotor in case of a propeller failure: A backstepping approach. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, IL, USA, 14–18 September 2014. [Google Scholar]
  20. Mueller, M.W.; Andrea, R.D. Stability and control of a quadrocopter despite the complete loss of one, two, or three propellers. In Proceedings of the IEEE International Conference on Robotics and Automation, Hong Kong, China, 31 May–7 June 2014. [Google Scholar]
  21. Schneider, T.; Ducard, G.; Konrad, R.; Pascal, S. Fault-tolerant Control Allocation for Multirotor Helicopters Using Parametric Programming. In Proceedings of the International Micro Air Vehicle Conference and Flight Competition (IMAV), Braunschweig, Germany, 3–6 July 2012. [Google Scholar]
  22. Falconi, G.P.; Marvakov, V.A.; Holzapfel, F. Fault Tolerant Control for a hexarotor system using incremental backstepping. In Proceedings of the IEEE Conference on Control Applications (CCA), Buenos Aires, Argentina, 19–22 September 2016. [Google Scholar]
  23. Lee, J.; Choi, H.S.; Shim, H. Fault Tolerant Control of Hexacopter for Actuator Faults using Time Delay Control Method. Int. J. Aeronaut. Space Sci. 2016, 17, 54–63. [Google Scholar] [CrossRef] [Green Version]
  24. Mazeh, H.; Saied, M.; Shraim, H.; Francis, C. Fault-tolerant control of an hexarotor unmanned aerial vehicle applying outdoor tests and experiments. Int. Fed. Autom. Control 2018, 51, 312–317. [Google Scholar] [CrossRef]
  25. Dong, W.; Gu, G.-Y.; Zhu, X.; Ding, H. Modeling and Control of a Quadrotor UAV with Aerodynamics Concepts. World Acad. Sci. Eng. Technol. 2013, 7, 901–906. [Google Scholar]
  26. Nguyen, N.P.; Hong, S.K. Fault Diagnosis and Fault-Tolerant Control Scheme for Quadcopter UAVs with a Total Loss of Actuator. Energies 2019, 12, 1139. [Google Scholar] [CrossRef]
  27. Chen, W.-H.; Balance, D.J.; Gawthrop, P.J.; O’Reilly, J. A nonlinear disturbance observer for robotic manipulators. IEEE Trans. Ind. Electron. 2000, 47, 932–938. [Google Scholar] [CrossRef] [Green Version]
  28. Cen, Z.; Noura, H.; Susilo, T.B.; Younes, Y.A. Robust fault diagnosis for quadrotor UAVs using adaptive Thau observer. J. Intell. Robot. Syst. 2014, 73, 573–588. [Google Scholar] [CrossRef]
  29. DJI F550 Frame. Available online: https://www.dji.com/kr/flame-wheel-arf/feature (accessed on 22 October 2019).
  30. Pixhawk2. Available online: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk-2.html (accessed on 22 October 2019).
  31. PWM. Available online: http://ardupilot.org/dev/docs/learning-ardupilot-rc-input-output.html (accessed on 22 October 2019).
  32. Building C++ Program from Eclipse Software. Available online: http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html (accessed on 7 October 2019).
  33. Mission Planner. Available online: http://ardupilot.org/planner (accessed on 22 October 2019).
  34. Telemetry. Available online: http://ardupilot.org/copter/docs/common-telemetry-landingpage.html (accessed on 22 October 2019).
Figure 1. Hexacopter in the body and inertia frame.
Figure 1. Hexacopter in the body and inertia frame.
Sensors 19 04721 g001
Figure 2. Control structure of a hexacopter.
Figure 2. Control structure of a hexacopter.
Sensors 19 04721 g002
Figure 3. Procedure of the experimental test.
Figure 3. Procedure of the experimental test.
Sensors 19 04721 g003
Figure 4. States of the system.
Figure 4. States of the system.
Sensors 19 04721 g004
Figure 5. Residuals generated from fault detection schemes.
Figure 5. Residuals generated from fault detection schemes.
Sensors 19 04721 g005
Figure 6. Output signals of the system.
Figure 6. Output signals of the system.
Sensors 19 04721 g006
Figure 7. States of the system.
Figure 7. States of the system.
Sensors 19 04721 g007
Figure 8. Residuals generated from fault detection schemes.
Figure 8. Residuals generated from fault detection schemes.
Sensors 19 04721 g008
Figure 9. Fault detection of actuators 2 and 4.
Figure 9. Fault detection of actuators 2 and 4.
Sensors 19 04721 g009
Figure 10. Output signals of the system.
Figure 10. Output signals of the system.
Sensors 19 04721 g010
Figure 11. States of the system.
Figure 11. States of the system.
Sensors 19 04721 g011
Figure 12. Residuals generated from fault detection schemes.
Figure 12. Residuals generated from fault detection schemes.
Sensors 19 04721 g012
Figure 13. Fault detection of actuators 2 and 4.
Figure 13. Fault detection of actuators 2 and 4.
Sensors 19 04721 g013
Figure 14. Output signals of the system.
Figure 14. Output signals of the system.
Sensors 19 04721 g014
Figure 15. States of the system.
Figure 15. States of the system.
Sensors 19 04721 g015
Figure 16. Residuals generated from fault detection schemes.
Figure 16. Residuals generated from fault detection schemes.
Sensors 19 04721 g016
Figure 17. Fault detection of actuators 2 and 4.
Figure 17. Fault detection of actuators 2 and 4.
Sensors 19 04721 g017
Figure 18. Output signals of the system.
Figure 18. Output signals of the system.
Sensors 19 04721 g018
Table 1. Map of one motor failure.
Table 1. Map of one motor failure.
Motor Failure r 5 r 6 r 7 r 8 Controllable
f 1 + 0 + Yes
f 2 0 Yes
f 3 + No
f 4 + + + Yes
f 5 + No
f 6 + Yes
Where f i is the fault occurring on motor i ; the sign “ ” denotes a normal negative value; the sign “ + ” denotes a normal positive value.
Table 2. Map of two motor failures.
Table 2. Map of two motor failures.
Motor Failure r 5 r 6 r 7 r 8 Controllable
f 12 000 Yes
f 13 + + + No
f 14 + + + + No
f 15 + No
f 16 + + Yes
f 23 + No
f 24 + + Yes
f 25 No
f 26 + No
f 34 + + No
f 35 0 0 No
f 36 + No
f 45 + No
f 46 0 + 0 No
f 56 + + No
Where f i j is the fault occurring on motor i and j , i < j ; the signs “ ”, “ ” denote “small negative value”, and “very small negative value”; the signs “ + + ”, “ + + + ” denote “big positive value”, and “very big positive value”.
Table 3. Hexacopter parameters.
Table 3. Hexacopter parameters.
ParameterDescriptionValue
L Arm length 0.275 m
b Thrust coefficient 1.177 × 10 5 N/m2
d Drag coefficient 1.855 × 10 7
m Mass 2.5 kg
I x ; I y ; I z Moments of inertia 0.00915 ; 0.00915 ; 0.01187 kg·m2

Share and Cite

MDPI and ACS Style

Nguyen, N.P.; Xuan Mung, N.; Hong, S.K. Actuator Fault Detection and Fault-Tolerant Control for Hexacopter. Sensors 2019, 19, 4721. https://doi.org/10.3390/s19214721

AMA Style

Nguyen NP, Xuan Mung N, Hong SK. Actuator Fault Detection and Fault-Tolerant Control for Hexacopter. Sensors. 2019; 19(21):4721. https://doi.org/10.3390/s19214721

Chicago/Turabian Style

Nguyen, Ngoc Phi, Nguyen Xuan Mung, and Sung Kyung Hong. 2019. "Actuator Fault Detection and Fault-Tolerant Control for Hexacopter" Sensors 19, no. 21: 4721. https://doi.org/10.3390/s19214721

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