Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

Actuator Fault Detection and Fault-Tolerant Control for Hexacopter

Actuator Fault Detection and Fault-Tolerant Control for Hexacopter sensors Article Actuator Fault Detection and Fault-Tolerant Control for Hexacopter Ngoc Phi Nguyen , Nguyen Xuan Mung and Sung Kyung Hong * Department of Aerospace Engineering, Sejong University, Seoul 143-747, Korea; phinguyen.183@gmail.com (N.P.N.); xuanmung1009@gmail.com (N.X.M.) * Correspondence: skhong@sejong.ac.kr; Tel.: +82-02-3408-3772 Received: 14 October 2019; Accepted: 29 October 2019; Published: 30 October 2019 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 e ectiveness 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. Keywords: fault diagnosis; hexacopter; fault-tolerant control; sliding mode control; Thau observer 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–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 e ectiveness 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–14] and adaptive SMC (ASMC) techniques [15–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 Sensors 2019, 19, 4721; doi:10.3390/s19214721 www.mdpi.com/journal/sensors Sensors 2019, 19, 4721 2 of 19 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. Di ering 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 e ectiveness 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). 2 3 6 c c c ss' s c' c sc' + s c' 7 6 7 6 7 6 7 6 7 R(',, ) = 6 s c s ss' + c c' s sc' s'c 7, (1) 6 7 6 7 4 5 s cs cc' where s denotes sin, c denotes cos, and ',, stand for Euler angles. Sensors 2019, 19, x FOR PEER REVIEW 3 of 20 ccψθ csψ θsφψ−+ scφ cψsθcφ sψcφ   Rs (φ,θ,ψ)=− ψθc sψsθsφ +cψφc sψsθcφsφcψ , (1)   −scθθsψθccφ  Sensors 2019, 19, 4721 3 of 19 where s denotes sin, c denotes cos, and stand for Euler angles. φ,θ, ψ Figure 1. Hexacopter in the body and inertia frame. Figure 1. Hexacopter in the body and inertia frame. The hexacopter shown in Figure 1 includes three motors (1, 3, 4) rotating counterclockwise and The hexacopter shown in Figure 1 includes three motors (1, 3, 4) rotating counterclockwise and three three motors rotating clockwise. Four control inputs U , U , U , and U are defined as 1 2 3 4 motors rotating clockwise. Four control inputs UU , ,U , and U are defined as 12 3 4 U = F + F + F + F + F + F 1 1 2 3 4 5 6 UF=+F +F +F ++F F > 1 12 3 4 5 6 U = (F F + (F + F F F )/2)L < 2 2 1 3 6 4 5 , (2) UF=−F+() F+F−F−F /2 L ()  22 1 3 6 4 5 > U = (F + F F F )L 3/2 > 3 3 5 4 6 >  (2) U =+() FFF− −F L 3/ 2 U =  +  +  33 2 5 5 64 6 3 4 1 4 U =+ ττ +τ −τ −τ −τ  4 25 6 1 3 4 2 2 where L is the arm length;  = dW and F = bW are the torques and forces generated from ith motor; i i i i 2 2 where L is the arm length; τ = dΩ and Fb = Ω are the torques and forces generated from ith motor; W is the rotation speed; U is the total thrust; U , U , U are the torques in the directions ',, . i 1 i i i i 2 3 4 According to the Newton–Euler equation, the body dynamics is shown as [25]: U UU , ,U Ω is the rotation speed; is the total thrust; are the torques in the directions φ,θ,ψ . i 1 23 4 2 3 2 3 According to the Newton–Euler equation, the body dynamics is shown as [25]: 6 0 7 6 0 7 > 6 7 6 7 6 7 6 7 .. . .. 6 7 6 7 6 7 6 7 mr = R 0 0 ! mr >  6 7 6 7 00  6 7 6 7 6 7 6 7 > 4 5 4 5    U mg <   mr=− R 100 − ω× mr 2 3     > , (3) > U 6 7  2 > 6  7   Umg 6 7 ..   1 .  .. 6 7 > 6 7 (3) > I!= 6 U 7 ! I! > 3 6 7 6 U7  > 4 5  2  IUωω =− ×Iω   where m is the mass of the hexacopter; ! is the angular velocity vector; g is the gravity; I is the inertia  4 vector; r is the position in inertial frame; where m is the mass of the hexacopter; ω is the angular velocity vector; g is the gravity; I is the inertia Finally, the orientation and translation motion of the hexacopter can be derived as [26] vector; r is the position in inertial frame; 8 n o .. . x = U (cos'sin cos + sin' sin ) K x /m 1 x > n o > .. . y = U (cos'sinsin sin' sin ) K y /m > 1 y n o .. . > z = g + U (cos'cos) K z /m < 1 . . . , (4) > .. . ' = U + (I I ) J W K ' /I > 2 y z T ' x > .. . . > . . >  = U + (I I )' J 'W K  /I > 3 z x T  y .. . . = U + (I I )' K /I x y z 4 Sensors 2019, 19, x FOR PEER REVIEW 4 of 20 Finally, the orientation and translation motion of the hexacopter can be derived as [26]   xU=+ (cosφsinθ cosψ sinφ sinψ)/−K x m { } 1 x    y=−UK (cosφsinθsinψ sinφ sinψ)/−ym {} 1 y   zg =− + U (cosφcosθ)/ −Kz m  {} 1 z (4)     φ=+ UI()−I θψ−J θΩ−K φ /I ()  2 yz T φ x     θ=+ UI()−I φψ−J φΩ−K θ /I () 3 zx T θ y     ψ=+ UI()−I φθ−K ψ /I Sensors 2019, 19, 4721 4 of 19 () 4 xy ψ z where Ω is the disturbance: Ω =Ω +Ω -Ω -Ω ; U is the total thrust; UU , ,U are the torques in 34 1 2 1 234 where W is the disturbance: W = W + W W W ; U is the total thrust; U , U , U are the torques 3 4 1 2 1 2 3 4 the directions φ,θ,ψ ; II , ,I are the moments of inertia of the hexacopter along the xyz , , axis; xy z in the directions ',, ; I , I , I are the moments of inertia of the hexacopter along the x, y, z axis; x y z KKK ,, K,, ,KK K , K,K, K represent drag coecients; J is the inertia of each rotor. represent drag coefficients; J is the inertia of each rotor. '  x y T φθ ψ xy T From Equation (4), the relationship between control variables and forces can be described by the From Equation (4), the relationship between control variables and forces can be described by the allocation matrix T as: allocation matrix T as: 2 3 1 1 1 1 1 1 1 1 1111 6 7 6 7 6 7 6 7  6 7 L L L/2 L/2 L/2 L/2 −− LL L /2 L /2−L /2 L /2 6 7 6 7 p p p p  T = 6 7. (5) T = 6 7 (5) 6 7 0 0 L 3/2 L 3/2 L 3/2 L 3/2 6 7 0 0 LL 3/23−− /2LL 3/23/2 6 7 4 5  d/b d/b d/b d/b d/b d/b  −− db/ d/b db//−d b db// d b  3. Attitude and Altitude Controller Design 3. Attitude and Altitude Controller Design 3.1. Attitude Controller Design 3.1. Attitude Controller Design The full control structure is shown in Figure 2. In this scheme, the disturbance-based sliding mode The contr full ol contr method ol stru iscpr ture is oposed sho for wnattitude in Figure 2. contr In ol this andscheme, to handle the d disturbances, isturbance-bwher ased eas sliding mo the fault de control method is proposed for attitude control and to handle disturbances, whereas the fault detection detection and isolation unit is used to detect fault occurrence. When the residuals from the fault and isolation unit is used to detect fault occurrence. When the residuals from the fault detection unit detection unit exceed the threshold, the motor fault is isolated and then the allocation matrix is modified exceed the threshold, the motor fault is isolated and then the allocation matrix is modified correspondingly to adopt the new geometry of the hexacopter. correspondingly to adopt the new geometry of the hexacopter. Figure 2. Control structure of a hexacopter. Figure 2. Control structure of a hexacopter. h i h i . . T T Define x = = x x x x x x and U = ' ' T 1 2 3 4 5 6   h i h  i Define xx == φφ θ θ ψ ψxxxxx and T T  12 3 4 5 6  U U U = u u u as the state vector and control input vector, respectively. From 2 3 4 1 2 3 TT as the state vector and control input vector, respectively. From UU==  U U u u u Equation (4), each rotational movement equation has the following form:  23 4  1 2 3 Equation (4), each rotational movement equation has the following form: x = x 2i1 2i . (6) x = f (x) + h u (t) + d (x, t) 2i i i i i The desired attitude is denoted as x . The control goal is to generate the control signal u such that the hexacopter can track the desired attitude, i.e., x (t) ! x as t ! 1 , i = 1, 2, 3. 2i1 Assumption 1. The disturbance is assumed to be bounded and satisfiedjd j  D . i i Assumption 2. The disturbance changes slowly and satisfies d = 0. Assumption 3. The estimation error of disturbance is bounded by d  G . i i According to [27], a nonlinear disturbance-based sliding mode control is proposed by d = z +  x i i i 2i . , (7) z =  z  ( x + f (x) + g (x)u ) i i i i i 2i i i i Sensors 2019, 19, 4721 5 of 19 where d is the estimate of d , z is the observation auxiliary vector,  > 0 is the observer gain. The i i i i estimation error of disturbance is denoted as: e ˆ d = d d . (8) i i i From Assumption 2, the derivative of disturbance estimation error can be defined as: e ˆ d = d d i i i . . = z  x i i 2i (9) =  (d  x ) +  ( x + f (x) + g (x)u )  ( f (x) + g (x)u + d ) i i i 2i i i 2i i i i i i i i i =  d i i Denote the control error: e = x x . (10) i 2i1 The sliding surface is expressed by: s = e + k e , (11) i i i i where k is the positive parameter. Taking the derivative of sliding surface . .. . s = e + k e . (12) i i i i From Equations (7)–(9), s can be derived as . .. . s = f (x) + h u (t) + d (x, t) x + c e . (13) i i i i i i i Theorem 1. Consider the sliding surface is designed by Equation (11). Suppose that the following control law is implemented by .. . u = ( f (x, t) d (x, t) + x c e G sign(s )/h . (14) i i i i i i i i 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] 1 1 V = s + d . (15) 2 2 Take the first derivative of the Lyapunov function e 2 V = s s  d i i i e e = s (d G sign(s ))  d i i i i i (16) e e G d js j  d i i i i 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. ~ Sensors 2019, 19, 4721 6 of 19 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 ifjs j  1 i i sat(s ) = , i = 1, 2, 3. (17) sign(s ) ifjs j > 1 i i 3.2. Altitude Controller Design A PID controller is applied to control the vertical movement of the hexacopter as follows .. .. . . Z = Z + K (Z Z ) + K (Z Z ) + K (Z Z )dt, (18) d dz d pz d iz d where Z are the desired altitude in the z directions, respectively; Z is actual value; and K , K , and pz d dz K are the controller gains. iz 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 di erence 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) = Ax(t) + BL u(t) + h(x(t), L u(t)) 1 1 , (19) y(t) = Cx(t) h i h i . . . . where x(t) = ' '   z z , u(t) = U U U U , y(t) are the state vector, 2 3 4 1 control input vector, and the output vector; A, B, C are the system matrices; L is the fault matrix; h(x(t), L 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 di erentiable continuously with a constant , i.e.,kh(x (t), u(t)) h(x (t), u(t))k  kx x k. 1 2 1 2 If all conditions are satisfied, the Thau observer can be derived as [28]: 8 . ˆ ˆ ˆ ˆ < x(t) = Ax(t) + Bu(t) + K(y(t) y(t)) + h(x(t), u(t)) > , (20) yˆ(t) = Cxˆ(t) Sensors 2019, 19, 4721 7 of 19 . . . where xˆ(t) = ˆ ˆ ˆ ˆ ˆ ˆ is the state observer vector; yˆ(t) is the observer output zˆ zˆ vector; K is the designed matrix and determined by 1 T K = P C . (21) The matrix P is achieved from the following equation T T T A P + P A C C + "C P = 0, (22) " " " 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 = ' 'ˆ , r = 1 2 r = , r = z z 3 4 . (23) r = ' 'ˆ , r = 5 6 . . r = , r = z zˆ 7 8 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 (t)  H or r  M in fault-free case i i i i r (t) < H and r (t) > M in faulty case i i i i 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 , r , r , r should be used. The failure 5 6 7 8 motor is isolated through the sign and magnitude of these residuals. The map of failure in one or two motors can be concluded in Tables 1 and 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. Table 1. Map of one motor failure. Motor Failure r r r r Controllable 5 6 7 8 f + 0 + Yes f 0 Yes f + No f + + + Yes f + No f + Yes Where f is the fault occurring on motor i; the sign “” denotes a normal negative value; the sign “+” denotes a normal positive value. Sensors 2019, 19, 4721 8 of 19 Table 2. Map of two motor failures. Motor Failure r r r r Controllable 5 6 7 8 f 0 0 0 Yes f + ++ No f + + ++ No f + No f + + Yes f + No f + + Yes f No f + No f ++ No f 0 0 No f + No f + No f 0 + 0 No f + + No Where f is the fault occurring on motor i and j, i < j; the signs “”, “” denote “small negative value”, i j and “very small negative value”; the signs “++”, “+ + +” denote “big positive value”, and “very big positive value”. 5. Experimental Results 5.1. Experimental Setup The fault-tolerant control, fault detection, and fault isolation methods in Sections 3 and 4 were tested on a DJI F550 platform [29]. These algorithms were developed on Pixhawk2 flight controller [30], Sensors 2019, 19, x FOR PEER REVIEW 9 of 20 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 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 were monitored using Mission Planner (MP) [33] software through Xbee wireless communication [34]. monitored using Mission Planner (MP) [33] software through Xbee wireless communication [34]. The The fault detection data were achieved through a log file that is coded in C++ by the user. The fault detection data were achieved through a log file that is coded in C++ by the user. The experimental experimental procedure is summarized in Figure 3. procedure is summarized in Figure 3. Figure 3. Procedure of the experimental test. Figure 3. Procedure of the experimental test. 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. Table 3. Hexacopter parameters. Parameter Description Value Arm length 0.275 m −5 b Thrust coefficient 1.177 ×10 N/m −7 d Drag coefficient 1.855 × 10 Mass 2.5 kg II;;I 0.00915; 0.00915; 0.01187 kg·m Moments of inertia xy z The parameters of disturbance-based sliding mode control are chosen as: ki == 10, δ 3, = 1, 2, 3 . The ii  0 I 44×× 44 parameters of fault detection scheme are chosen as: M = −0.35 and H = 0.35 . A = , i i   44×× 44 Sensors 2019, 19, 4721 9 of 19 5.2. Results To demonstrate the performance of the proposed control scheme, di erent simulation tests on a hexacopter are considered. The hexacopter parameters are shown in Table 3. Table 3. Hexacopter parameters. Parameter Description Value L Arm length 0.275 m 5 2 b Thrust coecient 1.177 10 N/m d Drag coecient 1.855 10 m Mass 2.5 kg I ; I ; I Moments of inertia 0.00915; 0.00915; 0.01187 kgm x y z The parameters of disturbance-based sliding mode control are chosen as: k = 10,  = 3, i = i i 1, 2, 3. The parameters of fault detection scheme are chosen as: M = 0.35 and H = 0.35. A = i i 2 3 1.1 0 0 0 6 7 6 7 6 7 6 7 6 7 0 1.1 0 0 6 7 6 7 6 7 2 3 6 7 6 7 0 0 1.1 0 1 0 0 0 0 0 0 0 6 7 6 7 6 7 6 7 " # 6 7 6 7 6 7 6 7 6 7 6 7 0 I 0 0 0 1.1 0 1 0 0 0 0 0 0 6 7 6 7 44 44 6 7 6 7 , K = 6 7, C = 6 7, 6 7 6 7 6 7 6 7 0 0 0.3025 0 0 0 0 0 1 0 0 0 0 0 44 44 6 7 6 7 6 7 6 7 6 7 4 5 6 7 6 7 0 0.3025 0 0 0 0 0 1 0 0 0 0 6 7 6 7 6 7 6 7 6 0 0 0.3025 0 7 6 7 6 7 4 5 0 0 0 0.3025 2 3 2 3 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 0 6 7 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 0 7 6 7 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 0 0 0 0 6 7 6 7 . . . 6 7 6 7 h(x, u) = B = 6 7. 6 7 6 7 6 7 6 7 ( (I I ) J W)/I 0 L/I 0 L/I 6 y z T x 7 6 x x 7 6 7 6 7 6 . 7 . . 6 7 6 7 6 7 6 7 6 7 6 7 L/I 0 L/I 0 (' (I I ) J 'W)/I y y z x T y 6 7 6 7 6 7 6 . 7 6 7 6 . 7 6 7 6 7 6 d/(bI ) d/(bI ) d/(bI ) d/(bI ) 7 6 7 '(I I )/I 6 z z z z 7 6 x y z 7 6 7 6 7 4 5 4 5 1/m 1/m 1/m 1/m In scenario 1, partial loss e ectiveness 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 e ectiveness, 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 e ectiveness 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. Sensors 2019, 19, x FOR PEER REVIEW 11 of 20 Sensors 2019, 19, 4721 10 of 19 Sensors 2019, 19, x FOR PEER REVIEW 11 of 20 Figure 4. States of the system. Figure 4. States of the system. Figure 4. States of the system. The residuals are shown in Figure 5. Interestingly, the residuals are the same as those in the fault 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 map The residuals are presented in Table shown 1. Since in F t ig hu ere 5. In residual terest s do ing no ly t excee , the re dsid the uath ls a resho re th lds, e same the at as those in titude still u thes efault s the disturbance-based sliding mode control for accommodation without changing the allocation matrix. map distuprese rbance nt-ebd i ased sl n Table iding mo 1. Since de co thn e residual trol for accomm s do no od t excee ation with d the oth utresho chanlging ds, t the he at alloc titude ation stil m l u atr se ix s t . he disturbance-based sliding mode control for accommodation without changing the allocation matrix. Figure 5. Residuals generated from fault detection schemes. Figure 5. Residuals generated from fault detection schemes. The output signals are illustrated in Figure 6. It should be noted that before the fault (up to t = 28 Figure 5. Residuals generated from fault detection schemes. s), the six PWM signals are similar. After fault is injected in motor 2, the second PWM is decreased and The output signals are illustrated in Figure 6. It should be noted that before the fault (up to t = 28 s), then its The o value utput sig increases nals again are illus to tmaintain rated in Fig the ure 6 position . It should of the be not hexacopter ed that b . efore 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 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. 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 The experimental work can be found at https://www.youtube.com/watch?v=en-h_HwVh0k or in the Supplementary Materials. Supplementary Materials. r [°/s] r [m/s] 7 r [°/s] 8 r [m/s] 7 [°] z [m] [°] [°] r [°/s] r [°/s] 8 [°] 6 r [°/s] 5 r [°/s] z [m] [°] [°] 6 5 Sensors 2019, 19, x FOR PEER REVIEW 12 of 20 Sensors 2019, 19, 4721 11 of 19 Sensors 2019, 19, x FOR PEER REVIEW 12 of 20 Figure 6. Output signals of the system. Figure 6. Output signals of the system. 5.2.2. Complete Loss in Actuator 4 The experimental work can be found at https://www.youtube.com/watch?v=en-h_HwVh0k or in the Supplementary Materials. In this test, complete failure is introduced to motor 4. The hexacopter is made to hover at the height Figure 6. Output signals of the system. 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 5.2.2. Complete Loss in Actuator 4 desired angles although the they have some small oscillations after a fault occurs. The residuals of system 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 are presented in Figure 8. It is shown that when fault occurs, all signs of residuals are similar to those in In this test, complete failure is introduced to motor 4. The hexacopter is made to hover at the height height of 2 m and the fault is injected at t = 47.8 s. As can be seen in Figure 7, the attitude angles Table 1 at the beginning and then they go back to the zero. Unlike previous case, the residuals here 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 can track the desired angles although the they have some small oscillations after a fault occurs. The converge to the original point because the magnitude of residuals exceed the threshold and then the desired angles although the they have some small oscillations after a fault occurs. The residuals of system residuals of system are presented in Figure 8. It is shown that when fault occurs, all signs of residuals motor 4 is isolated after fault occurrence. are presented in Figure 8. It is shown that when fault occurs, all signs of residuals are similar to those in are similar to those in Table 1 at the beginning and then they go back to the zero. Unlike previous Table 1 at the beginning and then they go back to the zero. Unlike previous case, the residuals here case, the residuals here converge to the original point because the magnitude of residuals exceed the converge to the original point because the magnitude of residuals exceed the threshold and then the threshold and then the motor 4 is isolated after fault occurrence. motor 4 is isolated after fault occurrence. Figure 7. States of the system. Figure 7. States of the system. Figure 7. States of the system. PWM PWM [°] z [m] [ [°°]] [°] z [m] [°] [°] Sensors 2019, 19, x FOR PEER REVIEW 13 of 20 Sensors 2019, 19, x FOR PEER REVIEW 13 of 20 Sensors 2019, 19, 4721 12 of 19 Figure 8. Residuals generated from fault detection schemes. Figure 8. Residuals generated from fault detection schemes. 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 Figure 8. Residuals generated from fault detection schemes. The detection unit of motors 2 and 4 is presented in Figure 9. It is clear that only motor 4 is has a minimum value due to fault injection. The other PWMs are changed correspondingly to maintain detected from the FD unit. Figure 10 shows the corresponding output signals. It shows that the PWM The detection unit of motors 2 and 4 is presented in Figure 9. It is clear that only motor 4 is detected the position of hexacopter because the motor 4 is isolated from the allocation matrix. of motor 4 has a minimum value due to fault injection. The other PWMs are changed correspondingly from the FD unit. Figure 10 shows the corresponding output signals. It shows that the PWM of motor 4 The experimental work can be found at https://www.youtube.com/watch?v=rSSoVS4nDaE or in the to maintain the position of hexacopter because the motor 4 is isolated from the allocation matrix. has a minimum value due to fault injection. The other PWMs are changed correspondingly to maintain Supplementary Materials. 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. Figure 9. Fault detection of actuators 2 and 4. Figure 9. Fault detection of actuators 2 and 4. Figure 9. Fault detection of actuators 2 and 4. r [°/s] r [m/s] 7 r [°/s] r [m/s] 8 7 r [°/s] r [°/s] 6 5 r [°/s] r [°/s] d d 6 5 4 2 d d 4 2 Sensors 2019, 19, x FOR PEER REVIEW 14 of 20 Sensors 2019, 19, 4721 13 of 19 Sensors 2019, 19, x FOR PEER REVIEW 14 of 20 Figure 10. Output signals of the system. Figure 10. Output signals of the system. 5.2.3. Complete Loss of Two Motors in Sequence The experimental work can be found at https://www.youtube.com/watch?v=rSSoVS4nDaE or in the Supplementary Materials. In this test, the faults are injected into motors 4 and 2 at 48 and 54.5 s, respectively. The hexacopter Figure 10. Output signals of the system. is made to hover at the height of 1.35 m. As can be seen in Figure 11, the attitude angles can track the 5.2.3. Complete Loss of Two Motors in Sequence desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The 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 residuals of system are presented in Figure 12. Unlike the case in Section 5.2.2, after the fault occurs in ismotor 4 made to , th hover e system can sti at the height ll dof etect 1.35 and iso m. As lat can e th be e fseen ault o in f mo Figur tor 2. e 11, the attitude angles can track the In this test, the faults are injected into motors 4 and 2 at 48 and 54.5 s, respectively. The hexacopter desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The is made to hover at the height of 1.35 m. As can be seen in Figure 11, the attitude angles can track the residuals of system are presented in Figure 12. Unlike the case in Section 5.2.2, after the fault occurs in desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The motor 4, the system can still detect and isolate the fault of motor 2. 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 11. States of the system. Figure 11. States of the system. Figure 11. States of the system. PWM [°] PWM [°] [°] z [m] [°] z [m] [°] [°] Sensors 2019, 19, x FOR PEER REVIEW 15 of 20 Sensors 2019, 19, x FOR PEER REVIEW 15 of 20 Sensors 2019, 19, 4721 14 of 19 Figure 12. Residuals generated from fault detection schemes. Figure 13 shows the detection unit of the system. It is clear that the faults in motors 4 and 2 are Figure 12. Residuals generated from fault detection schemes. detected from the FD unit because their residuals’ magnitudes exceed the threshold values. The Figure 12. Residuals generated from fault detection schemes. corresponding output signals are presented in Figure 14. It shows that the PWMs of motors 4 and 2 have Figure 13 shows the detection unit of the system. It is clear that the faults in motors 4 and 2 minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the are detected Figure 13 sho from the ws FD the unit detbecause ection un their it of rtesiduals’ he system. It magnitudes is clear that exceed the the fault thr s eshold in motovalues. rs 4 and The 2 are position of the hexacopter because the motors 4 and 2 are isolated from the allocation matrix. 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 The experimental work can be found at https://www.youtube.com/watch?v=yv-L4qBZ8EU or in 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 Supplementary Materials. minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the the position of the hexacopter because the motors 4 and 2 are isolated from the allocation matrix. 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. Figure 13. Fault detection of actuators 2 and 4. Figure 13. Fault detection of actuators 2 and 4. Figure 13. Fault detection of actuators 2 and 4. r [°/s] d d r [°/s] 7 r [m/s] d d 4 2 r [m/s] 7 4 2 r [°/s] r [°/s] r [°/s] 6r [°/s] 5 6 5 Sensors 2019, 19, x FOR PEER REVIEW 16 of 20 Sensors 2019, 19, 4721 15 of 19 Sensors 2019, 19, x FOR PEER REVIEW 16 of 20 Figure 14. Output signals of the system. Figure 14. Output signals of the system. 5.2.4. Complete Loss in Two Motors at the Same Time The experimental work can be found at https://www.youtube.com/watch?v=yv-L4qBZ8EU or in the Supplementary Materials. In this scenario, the faults are injected to motors 2 and 4 at the same time. The hexacopter is made to Figure 14. Output signals of the system. 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 5.2.4. Complete Loss in Two Motors at the Same Time track the desired angles although the they have some oscillations after faults occur in motors 4 and 2. The 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 residuals of system are presented in Figure 16. It is shown that when a fault occurs, all signs of the 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 residuals are similar to those in Table 1 at the beginning and then they converge to zero. This convergence In this scenario, the faults are injected to motors 2 and 4 at the same time. The hexacopter is made to can is becau track s the e the desir residuals exc ed angles although eed the th the resh they old have values and two some oscillations motor fail after ures faults are i occur solated. in motors 4 and 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 2. The residuals of system are presented in Figure 16. It is shown that when a fault occurs, all signs track the desired angles although the they have some oscillations after faults occur in motors 4 and 2. The of residuals o the residuals f syst ar em are pr e similar esented in F to those in Tiable gure 16. 1 at the It is beginning shown thand at when a fault then they conver occurs ge , a to ll signs zero. This of the residuals are similar to those in Table 1 at the beginning and then they converge to zero. This convergence convergence is because the residuals exceed the threshold values and two motor failures are isolated. is because the residuals exceed the threshold values and two motor failures are isolated. Figure 15. States of the system. Figure 15. States of the system. Figure 15. States of the system. [°] PWM z [m] [ [ °° ] ] [°] PWM [°] [°] z [m] Sensors 2019, 19, x FOR PEER REVIEW 17 of 20 Sensors 2019, 19, x FOR PEER REVIEW 17 of 20 Sensors 2019, 19, 4721 16 of 19 Figure 16. Residuals generated from fault detection schemes. Figure 17 shows the Figure dete 16. ctio Residuals n unit of system. I generatedtfr is cl omear fault that detection the fault schemes. s in motors 4 and 2 are detected from the FD unit at the same time because their residuals’ magnitudes exceed the threshold values. Figure Figure 16. Residuals generated from fault detection schemes. Figure 17 shows the detection unit of system. It is clear that the faults in motors 4 and 2 are 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and 2 have minimum detected from the FD unit at the same time because their residuals’ magnitudes exceed the threshold Figure 17 shows the detection unit of system. It is clear that the faults in motors 4 and 2 are detected values due to fault injections. The other PWMs are changed correspondingly to maintain the position of values. Figure 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and from the FD unit at the same time because their residuals’ magnitudes exceed the threshold values. Figure the hexacopter because motors 4 and 2 are isolated from the allocation matrix. 2 have minimum values due to fault injections. The other PWMs are changed correspondingly to 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and 2 have minimum The experimental work can be found at https://www.youtube.com/watch?v=uZuG44NqL8s or in the maintain the position of the hexacopter because motors 4 and 2 are isolated from the allocation matrix. Supplement values due to fault injection ary Materials. s. 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. Figure 17. Fault detection of actuators 2 and 4. Figure 17. Fault detection of actuators 2 and 4. Figure 17. Fault detection of actuators 2 and 4. r [m/s] r [°/s] r [m/s] r [°/s] 8 7 8 7 r [°/s] r [°/s] r [°/s] r [°/s] 6 5 d d 6 5 d d 4 2 4 2 Sensors 2019, 19, x FOR PEER REVIEW 18 of 20 Sensors 2019, 19, 4721 17 of 19 Figure 18. Output signals of the system. Figure 18. Output signals of the system. Remark The experimental 3. In this research, work tcan wo m beofound tor failures are presented. at https://www.youtube.com It should b /watch?v e mentio = ned that uZuG44NqL8s the total t orh in rust the geSupplementary nerated from rem Materials. aining motors should be larger than the gravity force of the hexacopter. Therefore, users should choose suitable motors and hexacopter masses for safety purposes. Remark 3. In this research, two motor failures are presented. It should be mentioned that the total thrust Remark 4. Some previous studies assume that the location of fault is known, and they only focus on fault- generated from remaining motors should be larger than the gravity force of the hexacopter. Therefore, users tolerant control design to handle fault. In comparison with previous studies, our research can maintain should choose suitable motors and hexacopter masses for safety purposes. 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 Remark 4. Some previous studies assume that the location of fault is known, and they only focus on fault-tolerant Pixhawk2 flight controller. control design to handle fault. In comparison with previous studies, our research can maintain the hexacopter up Remark 5. In several flight tests on the Pixhawk2 flight controller, the hexacopter crashed because it lacks to two motor failures in presence of disturbances with two scenarios: sequential faults and simultaneous faults. the fault detection and fault-tolerant control algorithm. Therefore, it is difficult to gather data of the We believe that our research could be innovative in commercial software of the Pixhawk2 flight controller. Pixhawk2 flight controller for comparison. Remark 5. In several flight tests on the Pixhawk2 flight controller, the hexacopter crashed because it lacks the Remark 6. Consider the frames that have more than six motors, the fault detection and fault-tolerant fault detection and fault-tolerant control algorithm. Therefore, it is dicult to gather data of the Pixhawk2 flight control schemes are more complex, which is out of scope of this research and will be investigated in controller for comparison. further research. Remark 6. Consider the frames that have more than six motors, the fault detection and fault-tolerant control 6. Conclusion schemes are more complex, which is out of scope of this research and will be investigated in further research. 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 6. Conclusions 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 In this paper, the dynamic model of a hexacopter was explored with regard to disturbances and be used to reconfigure the geometry of a hexacopter, hence making a safe flight when a fault occurs. actuator faults. A fault detection based on a Thau observer was applied to monitor the location of Compared with previous studies, this research is innovative in several ways. First, the fault detection is one or two rotor failures. When the residuals exceeded the threshold values, the motor failure was integrated into fault-tolerant control as a single unit. Second, with the proposed disturbance observer- isolated and then allocation matrix was changed. The results show that the proposed fault detection based sliding mode control, the discontinuous control gain is reduced, and it is required to be larger than and isolation can be used to reconfigure the geometry of a hexacopter, hence making a safe flight when the bound of estimation error rather than that of disturbance. Finally, the experimental works show that a fault occurs. Compared with previous studies, this research is innovative in several ways. First, the the hexacopter can handle complete fault in two cases: sequential fault and simultaneous fault. However, fault detection is integrated into fault-tolerant control as a single unit. Second, with the proposed this study may not cover all cases of one motor or two motor failures. This limitation can be addressed 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 PWM Sensors 2019, 19, 4721 18 of 19 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 http://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. [CrossRef] 2. Mahmood, A.; Kim, Y. Decentralized formation flight control of quadcopters using robust feedback linearization. J. Frankl. Inst. 2017, 354, 852–871. [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. 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. [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. [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. 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. [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. [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. 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. 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. [CrossRef] 12. Kacimi, A.; Mokhtari, A.; Kouadri, B. Sliding mode control based on adaptive backstepping approach for quadrotor unmanned aerial vehicle. Przeglad ˛ Elektrotechniczny 2012, 88, 188–193. 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. 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. [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. [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. Sensors 2019, 19, 4721 19 of 19 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. [CrossRef] 18. Merheb, A.-R.; Noura, H.; Bateman, F. Emergency control of AR Drone Quadrotor UAV su ering a total loss of one rotor. IEEE/ASME Trans. Mechatron. 2017, 22, 961–971. [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. 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. 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. 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. 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. [CrossRef] 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. [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. 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. [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. [CrossRef] 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. [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). © 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Sensors (Basel, Switzerland) Pubmed Central

Actuator Fault Detection and Fault-Tolerant Control for Hexacopter

Sensors (Basel, Switzerland) , Volume 19 (21) – Oct 30, 2019

Loading next page...
 
/lp/pubmed-central/actuator-fault-detection-and-fault-tolerant-control-for-hexacopter-zU0uWqi7m4

References (30)

Publisher
Pubmed Central
Copyright
© 2019 by the authors.
ISSN
1424-8220
eISSN
1424-8220
DOI
10.3390/s19214721
Publisher site
See Article on Publisher Site

Abstract

sensors Article Actuator Fault Detection and Fault-Tolerant Control for Hexacopter Ngoc Phi Nguyen , Nguyen Xuan Mung and Sung Kyung Hong * Department of Aerospace Engineering, Sejong University, Seoul 143-747, Korea; phinguyen.183@gmail.com (N.P.N.); xuanmung1009@gmail.com (N.X.M.) * Correspondence: skhong@sejong.ac.kr; Tel.: +82-02-3408-3772 Received: 14 October 2019; Accepted: 29 October 2019; Published: 30 October 2019 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 e ectiveness 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. Keywords: fault diagnosis; hexacopter; fault-tolerant control; sliding mode control; Thau observer 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–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 e ectiveness 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–14] and adaptive SMC (ASMC) techniques [15–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 Sensors 2019, 19, 4721; doi:10.3390/s19214721 www.mdpi.com/journal/sensors Sensors 2019, 19, 4721 2 of 19 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. Di ering 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 e ectiveness 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). 2 3 6 c c c ss' s c' c sc' + s c' 7 6 7 6 7 6 7 6 7 R(',, ) = 6 s c s ss' + c c' s sc' s'c 7, (1) 6 7 6 7 4 5 s cs cc' where s denotes sin, c denotes cos, and ',, stand for Euler angles. Sensors 2019, 19, x FOR PEER REVIEW 3 of 20 ccψθ csψ θsφψ−+ scφ cψsθcφ sψcφ   Rs (φ,θ,ψ)=− ψθc sψsθsφ +cψφc sψsθcφsφcψ , (1)   −scθθsψθccφ  Sensors 2019, 19, 4721 3 of 19 where s denotes sin, c denotes cos, and stand for Euler angles. φ,θ, ψ Figure 1. Hexacopter in the body and inertia frame. Figure 1. Hexacopter in the body and inertia frame. The hexacopter shown in Figure 1 includes three motors (1, 3, 4) rotating counterclockwise and The hexacopter shown in Figure 1 includes three motors (1, 3, 4) rotating counterclockwise and three three motors rotating clockwise. Four control inputs U , U , U , and U are defined as 1 2 3 4 motors rotating clockwise. Four control inputs UU , ,U , and U are defined as 12 3 4 U = F + F + F + F + F + F 1 1 2 3 4 5 6 UF=+F +F +F ++F F > 1 12 3 4 5 6 U = (F F + (F + F F F )/2)L < 2 2 1 3 6 4 5 , (2) UF=−F+() F+F−F−F /2 L ()  22 1 3 6 4 5 > U = (F + F F F )L 3/2 > 3 3 5 4 6 >  (2) U =+() FFF− −F L 3/ 2 U =  +  +  33 2 5 5 64 6 3 4 1 4 U =+ ττ +τ −τ −τ −τ  4 25 6 1 3 4 2 2 where L is the arm length;  = dW and F = bW are the torques and forces generated from ith motor; i i i i 2 2 where L is the arm length; τ = dΩ and Fb = Ω are the torques and forces generated from ith motor; W is the rotation speed; U is the total thrust; U , U , U are the torques in the directions ',, . i 1 i i i i 2 3 4 According to the Newton–Euler equation, the body dynamics is shown as [25]: U UU , ,U Ω is the rotation speed; is the total thrust; are the torques in the directions φ,θ,ψ . i 1 23 4 2 3 2 3 According to the Newton–Euler equation, the body dynamics is shown as [25]: 6 0 7 6 0 7 > 6 7 6 7 6 7 6 7 .. . .. 6 7 6 7 6 7 6 7 mr = R 0 0 ! mr >  6 7 6 7 00  6 7 6 7 6 7 6 7 > 4 5 4 5    U mg <   mr=− R 100 − ω× mr 2 3     > , (3) > U 6 7  2 > 6  7   Umg 6 7 ..   1 .  .. 6 7 > 6 7 (3) > I!= 6 U 7 ! I! > 3 6 7 6 U7  > 4 5  2  IUωω =− ×Iω   where m is the mass of the hexacopter; ! is the angular velocity vector; g is the gravity; I is the inertia  4 vector; r is the position in inertial frame; where m is the mass of the hexacopter; ω is the angular velocity vector; g is the gravity; I is the inertia Finally, the orientation and translation motion of the hexacopter can be derived as [26] vector; r is the position in inertial frame; 8 n o .. . x = U (cos'sin cos + sin' sin ) K x /m 1 x > n o > .. . y = U (cos'sinsin sin' sin ) K y /m > 1 y n o .. . > z = g + U (cos'cos) K z /m < 1 . . . , (4) > .. . ' = U + (I I ) J W K ' /I > 2 y z T ' x > .. . . > . . >  = U + (I I )' J 'W K  /I > 3 z x T  y .. . . = U + (I I )' K /I x y z 4 Sensors 2019, 19, x FOR PEER REVIEW 4 of 20 Finally, the orientation and translation motion of the hexacopter can be derived as [26]   xU=+ (cosφsinθ cosψ sinφ sinψ)/−K x m { } 1 x    y=−UK (cosφsinθsinψ sinφ sinψ)/−ym {} 1 y   zg =− + U (cosφcosθ)/ −Kz m  {} 1 z (4)     φ=+ UI()−I θψ−J θΩ−K φ /I ()  2 yz T φ x     θ=+ UI()−I φψ−J φΩ−K θ /I () 3 zx T θ y     ψ=+ UI()−I φθ−K ψ /I Sensors 2019, 19, 4721 4 of 19 () 4 xy ψ z where Ω is the disturbance: Ω =Ω +Ω -Ω -Ω ; U is the total thrust; UU , ,U are the torques in 34 1 2 1 234 where W is the disturbance: W = W + W W W ; U is the total thrust; U , U , U are the torques 3 4 1 2 1 2 3 4 the directions φ,θ,ψ ; II , ,I are the moments of inertia of the hexacopter along the xyz , , axis; xy z in the directions ',, ; I , I , I are the moments of inertia of the hexacopter along the x, y, z axis; x y z KKK ,, K,, ,KK K , K,K, K represent drag coecients; J is the inertia of each rotor. represent drag coefficients; J is the inertia of each rotor. '  x y T φθ ψ xy T From Equation (4), the relationship between control variables and forces can be described by the From Equation (4), the relationship between control variables and forces can be described by the allocation matrix T as: allocation matrix T as: 2 3 1 1 1 1 1 1 1 1 1111 6 7 6 7 6 7 6 7  6 7 L L L/2 L/2 L/2 L/2 −− LL L /2 L /2−L /2 L /2 6 7 6 7 p p p p  T = 6 7. (5) T = 6 7 (5) 6 7 0 0 L 3/2 L 3/2 L 3/2 L 3/2 6 7 0 0 LL 3/23−− /2LL 3/23/2 6 7 4 5  d/b d/b d/b d/b d/b d/b  −− db/ d/b db//−d b db// d b  3. Attitude and Altitude Controller Design 3. Attitude and Altitude Controller Design 3.1. Attitude Controller Design 3.1. Attitude Controller Design The full control structure is shown in Figure 2. In this scheme, the disturbance-based sliding mode The contr full ol contr method ol stru iscpr ture is oposed sho for wnattitude in Figure 2. contr In ol this andscheme, to handle the d disturbances, isturbance-bwher ased eas sliding mo the fault de control method is proposed for attitude control and to handle disturbances, whereas the fault detection detection and isolation unit is used to detect fault occurrence. When the residuals from the fault and isolation unit is used to detect fault occurrence. When the residuals from the fault detection unit detection unit exceed the threshold, the motor fault is isolated and then the allocation matrix is modified exceed the threshold, the motor fault is isolated and then the allocation matrix is modified correspondingly to adopt the new geometry of the hexacopter. correspondingly to adopt the new geometry of the hexacopter. Figure 2. Control structure of a hexacopter. Figure 2. Control structure of a hexacopter. h i h i . . T T Define x = = x x x x x x and U = ' ' T 1 2 3 4 5 6   h i h  i Define xx == φφ θ θ ψ ψxxxxx and T T  12 3 4 5 6  U U U = u u u as the state vector and control input vector, respectively. From 2 3 4 1 2 3 TT as the state vector and control input vector, respectively. From UU==  U U u u u Equation (4), each rotational movement equation has the following form:  23 4  1 2 3 Equation (4), each rotational movement equation has the following form: x = x 2i1 2i . (6) x = f (x) + h u (t) + d (x, t) 2i i i i i The desired attitude is denoted as x . The control goal is to generate the control signal u such that the hexacopter can track the desired attitude, i.e., x (t) ! x as t ! 1 , i = 1, 2, 3. 2i1 Assumption 1. The disturbance is assumed to be bounded and satisfiedjd j  D . i i Assumption 2. The disturbance changes slowly and satisfies d = 0. Assumption 3. The estimation error of disturbance is bounded by d  G . i i According to [27], a nonlinear disturbance-based sliding mode control is proposed by d = z +  x i i i 2i . , (7) z =  z  ( x + f (x) + g (x)u ) i i i i i 2i i i i Sensors 2019, 19, 4721 5 of 19 where d is the estimate of d , z is the observation auxiliary vector,  > 0 is the observer gain. The i i i i estimation error of disturbance is denoted as: e ˆ d = d d . (8) i i i From Assumption 2, the derivative of disturbance estimation error can be defined as: e ˆ d = d d i i i . . = z  x i i 2i (9) =  (d  x ) +  ( x + f (x) + g (x)u )  ( f (x) + g (x)u + d ) i i i 2i i i 2i i i i i i i i i =  d i i Denote the control error: e = x x . (10) i 2i1 The sliding surface is expressed by: s = e + k e , (11) i i i i where k is the positive parameter. Taking the derivative of sliding surface . .. . s = e + k e . (12) i i i i From Equations (7)–(9), s can be derived as . .. . s = f (x) + h u (t) + d (x, t) x + c e . (13) i i i i i i i Theorem 1. Consider the sliding surface is designed by Equation (11). Suppose that the following control law is implemented by .. . u = ( f (x, t) d (x, t) + x c e G sign(s )/h . (14) i i i i i i i i 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] 1 1 V = s + d . (15) 2 2 Take the first derivative of the Lyapunov function e 2 V = s s  d i i i e e = s (d G sign(s ))  d i i i i i (16) e e G d js j  d i i i i 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. ~ Sensors 2019, 19, 4721 6 of 19 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 ifjs j  1 i i sat(s ) = , i = 1, 2, 3. (17) sign(s ) ifjs j > 1 i i 3.2. Altitude Controller Design A PID controller is applied to control the vertical movement of the hexacopter as follows .. .. . . Z = Z + K (Z Z ) + K (Z Z ) + K (Z Z )dt, (18) d dz d pz d iz d where Z are the desired altitude in the z directions, respectively; Z is actual value; and K , K , and pz d dz K are the controller gains. iz 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 di erence 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) = Ax(t) + BL u(t) + h(x(t), L u(t)) 1 1 , (19) y(t) = Cx(t) h i h i . . . . where x(t) = ' '   z z , u(t) = U U U U , y(t) are the state vector, 2 3 4 1 control input vector, and the output vector; A, B, C are the system matrices; L is the fault matrix; h(x(t), L 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 di erentiable continuously with a constant , i.e.,kh(x (t), u(t)) h(x (t), u(t))k  kx x k. 1 2 1 2 If all conditions are satisfied, the Thau observer can be derived as [28]: 8 . ˆ ˆ ˆ ˆ < x(t) = Ax(t) + Bu(t) + K(y(t) y(t)) + h(x(t), u(t)) > , (20) yˆ(t) = Cxˆ(t) Sensors 2019, 19, 4721 7 of 19 . . . where xˆ(t) = ˆ ˆ ˆ ˆ ˆ ˆ is the state observer vector; yˆ(t) is the observer output zˆ zˆ vector; K is the designed matrix and determined by 1 T K = P C . (21) The matrix P is achieved from the following equation T T T A P + P A C C + "C P = 0, (22) " " " 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 = ' 'ˆ , r = 1 2 r = , r = z z 3 4 . (23) r = ' 'ˆ , r = 5 6 . . r = , r = z zˆ 7 8 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 (t)  H or r  M in fault-free case i i i i r (t) < H and r (t) > M in faulty case i i i i 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 , r , r , r should be used. The failure 5 6 7 8 motor is isolated through the sign and magnitude of these residuals. The map of failure in one or two motors can be concluded in Tables 1 and 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. Table 1. Map of one motor failure. Motor Failure r r r r Controllable 5 6 7 8 f + 0 + Yes f 0 Yes f + No f + + + Yes f + No f + Yes Where f is the fault occurring on motor i; the sign “” denotes a normal negative value; the sign “+” denotes a normal positive value. Sensors 2019, 19, 4721 8 of 19 Table 2. Map of two motor failures. Motor Failure r r r r Controllable 5 6 7 8 f 0 0 0 Yes f + ++ No f + + ++ No f + No f + + Yes f + No f + + Yes f No f + No f ++ No f 0 0 No f + No f + No f 0 + 0 No f + + No Where f is the fault occurring on motor i and j, i < j; the signs “”, “” denote “small negative value”, i j and “very small negative value”; the signs “++”, “+ + +” denote “big positive value”, and “very big positive value”. 5. Experimental Results 5.1. Experimental Setup The fault-tolerant control, fault detection, and fault isolation methods in Sections 3 and 4 were tested on a DJI F550 platform [29]. These algorithms were developed on Pixhawk2 flight controller [30], Sensors 2019, 19, x FOR PEER REVIEW 9 of 20 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 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 were monitored using Mission Planner (MP) [33] software through Xbee wireless communication [34]. monitored using Mission Planner (MP) [33] software through Xbee wireless communication [34]. The The fault detection data were achieved through a log file that is coded in C++ by the user. The fault detection data were achieved through a log file that is coded in C++ by the user. The experimental experimental procedure is summarized in Figure 3. procedure is summarized in Figure 3. Figure 3. Procedure of the experimental test. Figure 3. Procedure of the experimental test. 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. Table 3. Hexacopter parameters. Parameter Description Value Arm length 0.275 m −5 b Thrust coefficient 1.177 ×10 N/m −7 d Drag coefficient 1.855 × 10 Mass 2.5 kg II;;I 0.00915; 0.00915; 0.01187 kg·m Moments of inertia xy z The parameters of disturbance-based sliding mode control are chosen as: ki == 10, δ 3, = 1, 2, 3 . The ii  0 I 44×× 44 parameters of fault detection scheme are chosen as: M = −0.35 and H = 0.35 . A = , i i   44×× 44 Sensors 2019, 19, 4721 9 of 19 5.2. Results To demonstrate the performance of the proposed control scheme, di erent simulation tests on a hexacopter are considered. The hexacopter parameters are shown in Table 3. Table 3. Hexacopter parameters. Parameter Description Value L Arm length 0.275 m 5 2 b Thrust coecient 1.177 10 N/m d Drag coecient 1.855 10 m Mass 2.5 kg I ; I ; I Moments of inertia 0.00915; 0.00915; 0.01187 kgm x y z The parameters of disturbance-based sliding mode control are chosen as: k = 10,  = 3, i = i i 1, 2, 3. The parameters of fault detection scheme are chosen as: M = 0.35 and H = 0.35. A = i i 2 3 1.1 0 0 0 6 7 6 7 6 7 6 7 6 7 0 1.1 0 0 6 7 6 7 6 7 2 3 6 7 6 7 0 0 1.1 0 1 0 0 0 0 0 0 0 6 7 6 7 6 7 6 7 " # 6 7 6 7 6 7 6 7 6 7 6 7 0 I 0 0 0 1.1 0 1 0 0 0 0 0 0 6 7 6 7 44 44 6 7 6 7 , K = 6 7, C = 6 7, 6 7 6 7 6 7 6 7 0 0 0.3025 0 0 0 0 0 1 0 0 0 0 0 44 44 6 7 6 7 6 7 6 7 6 7 4 5 6 7 6 7 0 0.3025 0 0 0 0 0 1 0 0 0 0 6 7 6 7 6 7 6 7 6 0 0 0.3025 0 7 6 7 6 7 4 5 0 0 0 0.3025 2 3 2 3 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 0 6 7 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 0 7 6 7 6 7 0 0 0 0 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 0 0 0 0 6 7 6 7 . . . 6 7 6 7 h(x, u) = B = 6 7. 6 7 6 7 6 7 6 7 ( (I I ) J W)/I 0 L/I 0 L/I 6 y z T x 7 6 x x 7 6 7 6 7 6 . 7 . . 6 7 6 7 6 7 6 7 6 7 6 7 L/I 0 L/I 0 (' (I I ) J 'W)/I y y z x T y 6 7 6 7 6 7 6 . 7 6 7 6 . 7 6 7 6 7 6 d/(bI ) d/(bI ) d/(bI ) d/(bI ) 7 6 7 '(I I )/I 6 z z z z 7 6 x y z 7 6 7 6 7 4 5 4 5 1/m 1/m 1/m 1/m In scenario 1, partial loss e ectiveness 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 e ectiveness, 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 e ectiveness 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. Sensors 2019, 19, x FOR PEER REVIEW 11 of 20 Sensors 2019, 19, 4721 10 of 19 Sensors 2019, 19, x FOR PEER REVIEW 11 of 20 Figure 4. States of the system. Figure 4. States of the system. Figure 4. States of the system. The residuals are shown in Figure 5. Interestingly, the residuals are the same as those in the fault 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 map The residuals are presented in Table shown 1. Since in F t ig hu ere 5. In residual terest s do ing no ly t excee , the re dsid the uath ls a resho re th lds, e same the at as those in titude still u thes efault s the disturbance-based sliding mode control for accommodation without changing the allocation matrix. map distuprese rbance nt-ebd i ased sl n Table iding mo 1. Since de co thn e residual trol for accomm s do no od t excee ation with d the oth utresho chanlging ds, t the he at alloc titude ation stil m l u atr se ix s t . he disturbance-based sliding mode control for accommodation without changing the allocation matrix. Figure 5. Residuals generated from fault detection schemes. Figure 5. Residuals generated from fault detection schemes. The output signals are illustrated in Figure 6. It should be noted that before the fault (up to t = 28 Figure 5. Residuals generated from fault detection schemes. s), the six PWM signals are similar. After fault is injected in motor 2, the second PWM is decreased and The output signals are illustrated in Figure 6. It should be noted that before the fault (up to t = 28 s), then its The o value utput sig increases nals again are illus to tmaintain rated in Fig the ure 6 position . It should of the be not hexacopter ed that b . efore 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 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. 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 The experimental work can be found at https://www.youtube.com/watch?v=en-h_HwVh0k or in the Supplementary Materials. Supplementary Materials. r [°/s] r [m/s] 7 r [°/s] 8 r [m/s] 7 [°] z [m] [°] [°] r [°/s] r [°/s] 8 [°] 6 r [°/s] 5 r [°/s] z [m] [°] [°] 6 5 Sensors 2019, 19, x FOR PEER REVIEW 12 of 20 Sensors 2019, 19, 4721 11 of 19 Sensors 2019, 19, x FOR PEER REVIEW 12 of 20 Figure 6. Output signals of the system. Figure 6. Output signals of the system. 5.2.2. Complete Loss in Actuator 4 The experimental work can be found at https://www.youtube.com/watch?v=en-h_HwVh0k or in the Supplementary Materials. In this test, complete failure is introduced to motor 4. The hexacopter is made to hover at the height Figure 6. Output signals of the system. 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 5.2.2. Complete Loss in Actuator 4 desired angles although the they have some small oscillations after a fault occurs. The residuals of system 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 are presented in Figure 8. It is shown that when fault occurs, all signs of residuals are similar to those in In this test, complete failure is introduced to motor 4. The hexacopter is made to hover at the height height of 2 m and the fault is injected at t = 47.8 s. As can be seen in Figure 7, the attitude angles Table 1 at the beginning and then they go back to the zero. Unlike previous case, the residuals here 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 can track the desired angles although the they have some small oscillations after a fault occurs. The converge to the original point because the magnitude of residuals exceed the threshold and then the desired angles although the they have some small oscillations after a fault occurs. The residuals of system residuals of system are presented in Figure 8. It is shown that when fault occurs, all signs of residuals motor 4 is isolated after fault occurrence. are presented in Figure 8. It is shown that when fault occurs, all signs of residuals are similar to those in are similar to those in Table 1 at the beginning and then they go back to the zero. Unlike previous Table 1 at the beginning and then they go back to the zero. Unlike previous case, the residuals here case, the residuals here converge to the original point because the magnitude of residuals exceed the converge to the original point because the magnitude of residuals exceed the threshold and then the threshold and then the motor 4 is isolated after fault occurrence. motor 4 is isolated after fault occurrence. Figure 7. States of the system. Figure 7. States of the system. Figure 7. States of the system. PWM PWM [°] z [m] [ [°°]] [°] z [m] [°] [°] Sensors 2019, 19, x FOR PEER REVIEW 13 of 20 Sensors 2019, 19, x FOR PEER REVIEW 13 of 20 Sensors 2019, 19, 4721 12 of 19 Figure 8. Residuals generated from fault detection schemes. Figure 8. Residuals generated from fault detection schemes. 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 Figure 8. Residuals generated from fault detection schemes. The detection unit of motors 2 and 4 is presented in Figure 9. It is clear that only motor 4 is has a minimum value due to fault injection. The other PWMs are changed correspondingly to maintain detected from the FD unit. Figure 10 shows the corresponding output signals. It shows that the PWM The detection unit of motors 2 and 4 is presented in Figure 9. It is clear that only motor 4 is detected the position of hexacopter because the motor 4 is isolated from the allocation matrix. of motor 4 has a minimum value due to fault injection. The other PWMs are changed correspondingly from the FD unit. Figure 10 shows the corresponding output signals. It shows that the PWM of motor 4 The experimental work can be found at https://www.youtube.com/watch?v=rSSoVS4nDaE or in the to maintain the position of hexacopter because the motor 4 is isolated from the allocation matrix. has a minimum value due to fault injection. The other PWMs are changed correspondingly to maintain Supplementary Materials. 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. Figure 9. Fault detection of actuators 2 and 4. Figure 9. Fault detection of actuators 2 and 4. Figure 9. Fault detection of actuators 2 and 4. r [°/s] r [m/s] 7 r [°/s] r [m/s] 8 7 r [°/s] r [°/s] 6 5 r [°/s] r [°/s] d d 6 5 4 2 d d 4 2 Sensors 2019, 19, x FOR PEER REVIEW 14 of 20 Sensors 2019, 19, 4721 13 of 19 Sensors 2019, 19, x FOR PEER REVIEW 14 of 20 Figure 10. Output signals of the system. Figure 10. Output signals of the system. 5.2.3. Complete Loss of Two Motors in Sequence The experimental work can be found at https://www.youtube.com/watch?v=rSSoVS4nDaE or in the Supplementary Materials. In this test, the faults are injected into motors 4 and 2 at 48 and 54.5 s, respectively. The hexacopter Figure 10. Output signals of the system. is made to hover at the height of 1.35 m. As can be seen in Figure 11, the attitude angles can track the 5.2.3. Complete Loss of Two Motors in Sequence desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The 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 residuals of system are presented in Figure 12. Unlike the case in Section 5.2.2, after the fault occurs in ismotor 4 made to , th hover e system can sti at the height ll dof etect 1.35 and iso m. As lat can e th be e fseen ault o in f mo Figur tor 2. e 11, the attitude angles can track the In this test, the faults are injected into motors 4 and 2 at 48 and 54.5 s, respectively. The hexacopter desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The is made to hover at the height of 1.35 m. As can be seen in Figure 11, the attitude angles can track the residuals of system are presented in Figure 12. Unlike the case in Section 5.2.2, after the fault occurs in desired angles although the they have some small oscillations after faults occur in motors 4 and 2. The motor 4, the system can still detect and isolate the fault of motor 2. 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 11. States of the system. Figure 11. States of the system. Figure 11. States of the system. PWM [°] PWM [°] [°] z [m] [°] z [m] [°] [°] Sensors 2019, 19, x FOR PEER REVIEW 15 of 20 Sensors 2019, 19, x FOR PEER REVIEW 15 of 20 Sensors 2019, 19, 4721 14 of 19 Figure 12. Residuals generated from fault detection schemes. Figure 13 shows the detection unit of the system. It is clear that the faults in motors 4 and 2 are Figure 12. Residuals generated from fault detection schemes. detected from the FD unit because their residuals’ magnitudes exceed the threshold values. The Figure 12. Residuals generated from fault detection schemes. corresponding output signals are presented in Figure 14. It shows that the PWMs of motors 4 and 2 have Figure 13 shows the detection unit of the system. It is clear that the faults in motors 4 and 2 minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the are detected Figure 13 sho from the ws FD the unit detbecause ection un their it of rtesiduals’ he system. It magnitudes is clear that exceed the the fault thr s eshold in motovalues. rs 4 and The 2 are position of the hexacopter because the motors 4 and 2 are isolated from the allocation matrix. 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 The experimental work can be found at https://www.youtube.com/watch?v=yv-L4qBZ8EU or in 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 Supplementary Materials. minimum values due to fault injections. The other PWMs are changed correspondingly to maintain the the position of the hexacopter because the motors 4 and 2 are isolated from the allocation matrix. 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. Figure 13. Fault detection of actuators 2 and 4. Figure 13. Fault detection of actuators 2 and 4. Figure 13. Fault detection of actuators 2 and 4. r [°/s] d d r [°/s] 7 r [m/s] d d 4 2 r [m/s] 7 4 2 r [°/s] r [°/s] r [°/s] 6r [°/s] 5 6 5 Sensors 2019, 19, x FOR PEER REVIEW 16 of 20 Sensors 2019, 19, 4721 15 of 19 Sensors 2019, 19, x FOR PEER REVIEW 16 of 20 Figure 14. Output signals of the system. Figure 14. Output signals of the system. 5.2.4. Complete Loss in Two Motors at the Same Time The experimental work can be found at https://www.youtube.com/watch?v=yv-L4qBZ8EU or in the Supplementary Materials. In this scenario, the faults are injected to motors 2 and 4 at the same time. The hexacopter is made to Figure 14. Output signals of the system. 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 5.2.4. Complete Loss in Two Motors at the Same Time track the desired angles although the they have some oscillations after faults occur in motors 4 and 2. The 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 residuals of system are presented in Figure 16. It is shown that when a fault occurs, all signs of the 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 residuals are similar to those in Table 1 at the beginning and then they converge to zero. This convergence In this scenario, the faults are injected to motors 2 and 4 at the same time. The hexacopter is made to can is becau track s the e the desir residuals exc ed angles although eed the th the resh they old have values and two some oscillations motor fail after ures faults are i occur solated. in motors 4 and 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 2. The residuals of system are presented in Figure 16. It is shown that when a fault occurs, all signs track the desired angles although the they have some oscillations after faults occur in motors 4 and 2. The of residuals o the residuals f syst ar em are pr e similar esented in F to those in Tiable gure 16. 1 at the It is beginning shown thand at when a fault then they conver occurs ge , a to ll signs zero. This of the residuals are similar to those in Table 1 at the beginning and then they converge to zero. This convergence convergence is because the residuals exceed the threshold values and two motor failures are isolated. is because the residuals exceed the threshold values and two motor failures are isolated. Figure 15. States of the system. Figure 15. States of the system. Figure 15. States of the system. [°] PWM z [m] [ [ °° ] ] [°] PWM [°] [°] z [m] Sensors 2019, 19, x FOR PEER REVIEW 17 of 20 Sensors 2019, 19, x FOR PEER REVIEW 17 of 20 Sensors 2019, 19, 4721 16 of 19 Figure 16. Residuals generated from fault detection schemes. Figure 17 shows the Figure dete 16. ctio Residuals n unit of system. I generatedtfr is cl omear fault that detection the fault schemes. s in motors 4 and 2 are detected from the FD unit at the same time because their residuals’ magnitudes exceed the threshold values. Figure Figure 16. Residuals generated from fault detection schemes. Figure 17 shows the detection unit of system. It is clear that the faults in motors 4 and 2 are 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and 2 have minimum detected from the FD unit at the same time because their residuals’ magnitudes exceed the threshold Figure 17 shows the detection unit of system. It is clear that the faults in motors 4 and 2 are detected values due to fault injections. The other PWMs are changed correspondingly to maintain the position of values. Figure 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and from the FD unit at the same time because their residuals’ magnitudes exceed the threshold values. Figure the hexacopter because motors 4 and 2 are isolated from the allocation matrix. 2 have minimum values due to fault injections. The other PWMs are changed correspondingly to 18 shows the corresponding output signals. It shows that the PWMs of motors 4 and 2 have minimum The experimental work can be found at https://www.youtube.com/watch?v=uZuG44NqL8s or in the maintain the position of the hexacopter because motors 4 and 2 are isolated from the allocation matrix. Supplement values due to fault injection ary Materials. s. 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. Figure 17. Fault detection of actuators 2 and 4. Figure 17. Fault detection of actuators 2 and 4. Figure 17. Fault detection of actuators 2 and 4. r [m/s] r [°/s] r [m/s] r [°/s] 8 7 8 7 r [°/s] r [°/s] r [°/s] r [°/s] 6 5 d d 6 5 d d 4 2 4 2 Sensors 2019, 19, x FOR PEER REVIEW 18 of 20 Sensors 2019, 19, 4721 17 of 19 Figure 18. Output signals of the system. Figure 18. Output signals of the system. Remark The experimental 3. In this research, work tcan wo m beofound tor failures are presented. at https://www.youtube.com It should b /watch?v e mentio = ned that uZuG44NqL8s the total t orh in rust the geSupplementary nerated from rem Materials. aining motors should be larger than the gravity force of the hexacopter. Therefore, users should choose suitable motors and hexacopter masses for safety purposes. Remark 3. In this research, two motor failures are presented. It should be mentioned that the total thrust Remark 4. Some previous studies assume that the location of fault is known, and they only focus on fault- generated from remaining motors should be larger than the gravity force of the hexacopter. Therefore, users tolerant control design to handle fault. In comparison with previous studies, our research can maintain should choose suitable motors and hexacopter masses for safety purposes. 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 Remark 4. Some previous studies assume that the location of fault is known, and they only focus on fault-tolerant Pixhawk2 flight controller. control design to handle fault. In comparison with previous studies, our research can maintain the hexacopter up Remark 5. In several flight tests on the Pixhawk2 flight controller, the hexacopter crashed because it lacks to two motor failures in presence of disturbances with two scenarios: sequential faults and simultaneous faults. the fault detection and fault-tolerant control algorithm. Therefore, it is difficult to gather data of the We believe that our research could be innovative in commercial software of the Pixhawk2 flight controller. Pixhawk2 flight controller for comparison. Remark 5. In several flight tests on the Pixhawk2 flight controller, the hexacopter crashed because it lacks the Remark 6. Consider the frames that have more than six motors, the fault detection and fault-tolerant fault detection and fault-tolerant control algorithm. Therefore, it is dicult to gather data of the Pixhawk2 flight control schemes are more complex, which is out of scope of this research and will be investigated in controller for comparison. further research. Remark 6. Consider the frames that have more than six motors, the fault detection and fault-tolerant control 6. Conclusion schemes are more complex, which is out of scope of this research and will be investigated in further research. 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 6. Conclusions 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 In this paper, the dynamic model of a hexacopter was explored with regard to disturbances and be used to reconfigure the geometry of a hexacopter, hence making a safe flight when a fault occurs. actuator faults. A fault detection based on a Thau observer was applied to monitor the location of Compared with previous studies, this research is innovative in several ways. First, the fault detection is one or two rotor failures. When the residuals exceeded the threshold values, the motor failure was integrated into fault-tolerant control as a single unit. Second, with the proposed disturbance observer- isolated and then allocation matrix was changed. The results show that the proposed fault detection based sliding mode control, the discontinuous control gain is reduced, and it is required to be larger than and isolation can be used to reconfigure the geometry of a hexacopter, hence making a safe flight when the bound of estimation error rather than that of disturbance. Finally, the experimental works show that a fault occurs. Compared with previous studies, this research is innovative in several ways. First, the the hexacopter can handle complete fault in two cases: sequential fault and simultaneous fault. However, fault detection is integrated into fault-tolerant control as a single unit. Second, with the proposed this study may not cover all cases of one motor or two motor failures. This limitation can be addressed 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 PWM Sensors 2019, 19, 4721 18 of 19 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 http://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. [CrossRef] 2. Mahmood, A.; Kim, Y. Decentralized formation flight control of quadcopters using robust feedback linearization. J. Frankl. Inst. 2017, 354, 852–871. [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. 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. [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. [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. 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. [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. [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. 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. 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. [CrossRef] 12. Kacimi, A.; Mokhtari, A.; Kouadri, B. Sliding mode control based on adaptive backstepping approach for quadrotor unmanned aerial vehicle. Przeglad ˛ Elektrotechniczny 2012, 88, 188–193. 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. 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. [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. [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. Sensors 2019, 19, 4721 19 of 19 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. [CrossRef] 18. Merheb, A.-R.; Noura, H.; Bateman, F. Emergency control of AR Drone Quadrotor UAV su ering a total loss of one rotor. IEEE/ASME Trans. Mechatron. 2017, 22, 961–971. [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. 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. 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. 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. 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. [CrossRef] 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. [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. 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. [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. [CrossRef] 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. [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). © 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

Journal

Sensors (Basel, Switzerland)Pubmed Central

Published: Oct 30, 2019

There are no references for this article.