Incremental Nonlinear FaultTolerant Control of a Quadrotor with Complete Loss of Two Opposing Rotors
Abstract
In order to further expand the flight envelope of quadrotors under actuator failures, we design a nonlinear sensorbased faulttolerant controller to stabilize a quadrotor with failure of two opposing rotors in the highspeed flight condition (¿ 8m/s). The incremental nonlinear dynamic inversion (INDI) approach which excels in handling model uncertainties is adopted to compensate for the significant unknown aerodynamic effects. The internal dynamics of such an underactuated system have been analyzed, and subsequently stabilized by redefining the control output. The proposed method can be generalized to control a quadrotor under singlerotorfailure and nominal conditions. For validation, flight tests have been carried out in a largescale open jet wind tunnel. The position of a damaged quadrotor can be controlled in the presence of significant wind disturbances. A linear quadratic regulator (LQR) approach from the literature has been compared to demonstrate the advantages of the proposed nonlinear method in the windy and highspeed flight condition.
I Introduction
Multirotor drones have demonstrated their ability in a large variety of applications such as surveillance, delivery, and recreation. Due to the potential growth of the drone market in the coming decades, safety issues are of critical concern. Apart from sensor redundancies, and improving operational regulations, faulttolerant control (FTC) is a key to improving safety in the face of unexpected structural and actuator failures.
Among different types of multirotor drones, quadrotors excel in their structural simplicity. However, they suffer more from actuator damages due to a lack of actuator redundancy. Partial damage on the rotors could result in the reduction of control effectiveness, which has been extensively studied in the literature (e.g., [Li2012PassiveTechnique, Besnard2012QuadrotorObserver, Wang2019QuadrotorObservers, Wang2019nonsingular]). A more challenging problem is the complete loss of one or more rotors. Various control methodologies addressing this problem have been proposed and validated in simulations (e.g., [Lanzon2014FlightFailure, Lippiello2014EmergencyApproach, Lippiello2014EmergencyApproachb, Lu2015, Morozov2018EmergencyPropellers, Crousaz2015]).
Inflight validations have been achieved by several pieces of research where linear control methods were mostly adopted, such as linear quadratic regulator (LQR) [Mueller2014], proportionalintegralderivative (PID) control [Merheb2017EmergencyRotor] and linear parameter varying (LPV) control [Stephan2018LinearLoss]. The relaxed hovering solution proposed by [Mueller2015] indicates that the hovering flight of a quadrotor is possible with a loss of up to three rotors. With a specially designed configuration, a vehicle with only a single rotor is tested using LQR with actuator saturations taken into account [Zhang2016] .
The aforementioned literature assumes that the drone is operated around the hovering condition and only limited aerodynamic effects are considered such as the rotational damping [Stephan2018LinearLoss, Mueller2015]. However, in outdoor applications, significant aerodynamic forces/moments on the quadrotor are present due to fast cruising speed and large wind disturbances [Russell2016, Sun2018b]. The system nonlinearity also becomes more significant due to the complex variation of rotor aerodynamic characteristics in highspeed conditions. Therefore, designing a highspeed capable robust nonlinear controller is essential for expanding the flight envelope of a quadrotor subjected to rotor failures, and increasing its robustness against wind disturbances.
Incremental nonlinear dynamic inversion (INDI) is a sensorbased nonlinear control approach that makes use of sensor measurements to reduce its model dependency, thereby improving its robustness against model uncertainties. This approach has been adopted by the aviation industry in several applications, such as the control of fixedwing aircraft [Sieberling2010RobustPrediction], spacecrafts [Acquatella2012RobustInversion.], helicopters [Simplicio2013AnInversion] and multirotor drones [Smeur2016adaptive, Smeur2016b, Tal2019]. In [Sun2018], we made use of the INDI controller to control a quadrotor with a single rotor failure in the wind tunnel. The control method has shown its advantage in providing robustness to large aerodynamic disturbances while simplifying gain tuning, and eliminating the need to calculate an equilibrium for linear control design.
However, the INDI controller relies on a dynamic inversion step. This step requires the number of inputs to be no less than the number of outputs. For a quadrotor with only two opposing rotors remain, the attitude control problem becomes underactuated where the direct inversion is inapplicable. For this reason, we need to redesign the original control outputs of a quadrotor such as the thrust and attitudes. This subsequently results in several internal dynamics of which the stability needs to be guaranteed. The selection of the outputs ensuring stable internal dynamics has been addressed on some underactuated control problems, e.g., wheeled mobile robots [Yun1993InternalRobot], quadrotor position control [Lewis2009DynamicControl], and the attitude control of space aircraft [Wallner2003AttitudeDynamics].
The main theoretical contributions of this research are twofold: (1) A detailed analysis of the internal dynamics of quadrotors with complete loss of two opposing rotors; (2) A subsequent novel robust faulttolerant control method implementing the INDI approach. The controlled quadrotor thereby suffers less from model uncertainties caused by significant aerodynamic effects during highspeed flight.
To validate the proposed controller, flight tests of a quadrotor with failure of two opposing rotors have been performed in an open jet wind tunnel. With limited information on the model, the controller is able to stabilize the damaged quadrotor in wind of over 8 m/s, which is more than half of its nominal maximum flight speed. This could significantly increase the safety of quadrotors by expanding the flight envelope under actuator failure conditions. With slight adaptation, the same control scheme can be used on a quadrotor with a single rotor failure for which the internal dynamics are proved to be inherently stable. A benchmark approach (LQR) has been compared to demonstrate the advantage of the proposed controller in the highspeed and windy flight conditions.
This paper is organized as follows. Sec. II provides information on the quadrotor model and the reduced attitude control. Sec. III introduces the INDI controller and Sec. IV directly provides the detailed controller design for a quadrotor with failure of two opposing rotors. Sec. V elaborates on the selection of control outputs and the stability of internal dynamics. Sec. VI generalizes the proposed method to the singlerotorfailure and the nominal conditions. Finally, Sec. VII and Sec. VIII demonstrate the flight test results in lowspeed and highspeed flight conditions respectively.
Ii Problem Formulation
Iia Quadrotor Kinematic and Dynamic Model
There are two coordinate systems considered in this research. The inertial frame , is fixed to the ground, with , and pointing to the north, east and aligning with the local gravity. The body frame is fixed to the vehicle, with the origin located at the center of mass; , and point forwards, rightwards and downwards respectively (see Fig. 1). In the following context, the superscript and indicate the coordinate system in which a vector is expressed.
The equations of motion of a quadrotor are formulated as follows:
(1) 
(2) 
(3) 
(4) 
where and represent the position and the velocity of the center of mass in ; is the vehicle gross mass and denotes the inertia matrix of the vehicle including rotors. is the local gravity vector. indicates the rotational matrix from to . The angular velocity is expressed as where , and denote pitch rate, roll rate and yaw rate respectively. is the skew symmetric matrix such that for any vector .
The variables and denote the resultant force and moment on the center of mass respectively, projected on . For a quadrotor with thrust parallel to the axis and rotor directions shown in Fig. 1, we have
(5) 
(6) 
where is a thrust coefficient valid in the hovering condition; is a constant ratio between the thrust coefficient and drag coefficient of the rotor; and are geometry parameters as Fig. 1 shows. Note that for a quadrotor. is the angular speed of the th rotor with respect to the body. denotes the moment of inertia of each rotor about the rotational axis. Note that this model assumes that , thus the magnitude of rotor angular speed with respect to the air is approximated by . Symbol is defined as the norm of a vector. in (6) indicates the aerodynamic yaw damping coefficient [Mueller2014, Stephan2018LinearLoss].
In the highspeed flight condition, there are significant aerodynamic effects such as thrust variation [Hoffmann2011], rotor inplane force [Mahony2012], rotor moment and airframe aerodynamic [Sun2019Aero]. These additional aerodynamic related forces and moments are then expressed as and in (5) and (6). They are regarded as model uncertainties that need to be compensated for by the robustness of the control method.
IiB Reduced Attitude Control
The concept of reduced attitude control [Fortescue2011RigidBodyControl] has been adopted by [Mueller2015] in the quadrotor fault tolerant control problem. We hereby briefly introduce the concept.
For a quadrotor with complete rotor failures, the full state equilibrium becomes unattainable. This is due to the incapacity of the remaining rotors to generate zero yaw moment while producing necessary thrust. As a consequence, the vehicle spins around the yaw axis. And the attitude control is reduced to a thrust vector pointing problem without considering the yaw angle.
Define a unit vector fixed to where . For a quadrotor with double rotor failures, choosing is most energyefficient [Mueller2014] where aligns with the instantaneous thrust direction. Define another unit vector as the reference of , which is calculated by the position controller or manually given by remote control. Then aligning with (or vise versa) becomes the primary task of the attitude controller. Therefore, we introduce the following relaxed attitude kinematic equation:
(7) 
With the expressions and , the expanded formula of (7) can be given as:
(8) 
The alignment of and thus can be achieved by controlling and to track and respectively. To be specific, with the selection of , and need to be stabilized to zero. The other selections of may be considered for the case with single rotor failure, which has been discussed in [Mueller2014, Mueller2015].
The challenge of the problem is conducting relaxed attitude control of a quadrotor with only two opposing rotors remain in the presence of significant model uncertainties and , for instance, in highspeed flight conditions where significant aerodynamic effects become apparent. To achieve this goal, we employ a sensorbased nonlinear control method to be described in Sec. III. The detailed implementation of this method will be provided in Sec. IV.
Iii Methodology
Incremental nonlinear dynamic inversion (INDI) is a sensorbased nonlinear control approach. The approach stems from nonlinear dynamic inversion (NDI) control. INDI reduces the model dependencies of NDI by replacing noninput related model terms with direct sensor measurements, or sensor measurement derived quantities, thereby greatly improving robustness against model uncertainties.
For aircraft systems, including nominal quadrotors, each subproblem (e.g., the attitude and rate control loops) is fully actuated without internal dynamics to be analyzed [Sieberling2010RobustPrediction, Smeur2016adaptive, Wang2019QuadrotorObservers]. However, for a quadrotor with double rotor failures, the number of control inputs is less than the required output in a conventional cascaded control setup, yielding internal dynamics that have to be stabilized. In the following context, the generalized INDI control considering internal dynamics will be briefly reviewed. Readers may refer to [Wang2018StabilityControl] and [khalil2002nonlinear] for further details.
Consider a nonlinear input affine system
(9) 
where and are smooth vector fields. is a function mapping with smooth vector fields as columns. The number of outputs is not larger than the number of inputs (i.e., ). There exists a nonlinear transformation such that the states can be transformed to the normal form including internal states and external states :
(10) 
where
(11) 
with
(12) 
where indicates the th element in the vector field . The notation indicates the th order Lie derivative of the function with respect to the vector fields [khalil2002nonlinear]. indicates the relative degree of the th output .
By defining as the sum of relative degrees of each output, one can define the transformation . The selection of is not unique, but has to satisfy the following condition:
(13) 
namely the firstorder derivative of as defined per (10) does not include control input . The nonlinear transformation is a diffeomorphism (i.e., smooth and invertible) in the domain of interest.
As a consequence, the problem is transformed to the normal form
(14) 
where the triplet is a canonical form representation of chains of integrators (); and are mappings determined by the system (9). Subsequently, the output dynamics can be represented as
(15) 
where . The NDI control law is designed as
(16) 
where is called the pseudoinput. With a full knowledge of and , control law (16) yields the closed loop dynamics
(17) 
For a command tracking problem with reference output that is th order differentiable, selecting
(18) 
ensures that the reference output is being tracked asymptotically, where the gains is selected such that is Hurwitz. The reference is denoted as
(19) 
In reality, the nonlinear model dependent terms and are almost impossible to be obtained due to inevitable model uncertainties. In view of this, we take the firstorder Taylor series expansion of (15) around the condition at the last sensor sampling moment (denoted by subscript ), then (15) becomes [Wang2018StabilityControl]
(20)  
where . Design the incremental nonlinear dynamic inversion (INDI) control as
(21) 
where is selected as per (18), while is the estimated control effectiveness matrix. As a result, the closedloop tracking error () dynamics are , where is the residual error caused by model uncertainties. The boundedness of and has been proved in [Wang2019SMC].
In INDI control, the model information of is not needed for implementation, which greatly reduces the effort of modeling. The control effectiveness matrix is relatively easier to be estimated offline or identified online [Smeur2016adaptive]. Apart form its reduced model dependency, INDI control also has enhanced robustness as compared to its classical NDI counterpart [Wang2019SMC].
Due to the measurement noise, the variables , can be lowpass filtered in practice. To synchronize the time delay caused by these filters, also need to be filtered with the same cutoff frequency [Smeur2016adaptive]. We use subscript to denote the filtered variables (e.g., , and ). Consequently, the INDI control law becomes
(22) 
We will elaborate on applying the INDI control law (22) to the quadrotor control problem in the following sections.
Iv Controller Design
The detailed design process of the controller for a quadrotor with complete failure of two opossing rotors is presented in this section. In general, we use a cascaded controller with two loops (Fig. 2), where INDI is applied in the innerloop for compensating model uncertainties ().
Iva Outerloop Design
The outerloop contains a horizontal position controller that computes the acceleration command from the reference horizontal position denoted by and . Due to the linear property of translational kinematics, a linear method such as a PID controller can be employed. In addition, the reference altitude needs to be secondorder differentiable. Therefore, we have
(23) 
where , denote the horizontal position errors in ; control gains , and are positive. Then for reduced attitude control (see Sec. II) can be calculated by
(24) 
It is possible to replace (23) by more sophisticated position controllers to obtain , which will not be elaborated in this research.
IvB Innerloop Design
The altitude control is included in the innerloop controller since the altitude reference is related to rotor thrust which contains model uncertainties . Consequently, the innerloop is a combination of altitude and attitude control using the INDI approach.
States for the innerloop control are defined as . There are two different scenarios for a quadrotor with two opposite rotor failures. If only rotor 1 and 3 remain functional, we define the control input as
(25) 
If only rotor 2 and 4 remain, then
(26) 
where is a parameter indicating the type of failure.
Since the product of inertia is negligible compared with the moment of inertia for a typical quadrotor, we can assume a diagonal inertia matrix . Thus the state equations for the innerloop states can be derived from (4) and (7), yielding
(27) 
where
(28) 
(29) 
where in (27) represens the entry at the third row and the third column of the matrix ; is the average angular rate of the remaining rotors; indicates the handedness of the remaining rotors with clockwise and counterclockwise. , and are control effectiveness on angular accelerations, where
(30) 
Normally, . Note that state equations (27) are nonlinear and contain model uncertainties (, , and ). The following content in this section designs the INDI control law (22) for this specific problem.
Control output definition
Since there are only two inputs remain, we can select a maximum of two variables as control outputs. To guarantee altitude tracking, we choose the first output as
(31) 
The second output have to be associated with the reduced attitude control. Recall that in Sec. IIB, needs to align with by manipulating the vehicle attitude, and and of (8) need to converge to zero. We hereby introduce a new coordinate system that is fixed with respect to the body frame. As Fig. 3 illustrates, is generated by rotating the body frame about . The rotation angle is denoted as .
The second output is then defined as the projection of on . In other words, becomes a linear combination of and scheduled by the angle :
(32) 
Meanwhile, the projection of on that is perpendicular to the second output remains uncontrolled (see Fig. 3). We will elaborate in Sec. V that this variable, denoted by , is one of the internal states to be stabilized by properly selecting the angle .
Due to the symmetric property of a quadrotor, we can determine by selecting its absolute value, using the following relationship:
(33) 
It is noteworthy that is associated with the control performance, which can be analogous to physically informed control gains. The selection of will be further discussed in Sec. V.
Control effectiveness estimation
After defining the outputs we can take second order derivative of both and , yielding
(34) 
(35) 
where can be calculated from (27) whereupon includes nonlinear terms and model uncertainties. and are control effectiveness on and respectively:
(36) 
(37) 
where is a positive virtual angle defined as
(38) 
Now, from (34) and (35), the estimated control effectiveness matrix in (22) can be described as
(39) 
The estimation error of mainly stems from the error of , , , and . Note that the filtered variables and are used in (36) and (37) because is a function of as per (22).
: As indicated by (35) and (37), the system has the largest control effectiveness on when . On the contrary, the control effectiveness becomes zero when . Small control effectiveness leads to large control input command and subsequently deteriorates the control performance with the presence of actuator position and rate limit. Therefore, we enforce the effectiveness on to be greater than the minimum of and , which yields the following constraint on :
(40) 
In addition, the following constraints are made to prevent , which is rather easy to fulfill:

: the thrust direction does not remain in the horizontal plane of .

: is not perpendicular to the current thrust direction ().
Second derivative of the output
in (22) can be obtained by directly taking the secondorder derivative of filtered outputs. This, however, is prone to be detrimentally affected by measurement noise. Therefore, we can approximated by:
(41) 
where is the projection of the filtered accelerometer measurement on .
Pseudoinput definition
The last step is to define the pseudoinput as per (18). As presented in (34) and (35), the control input appears after taking the second derivative of both and . Thus the system relative degrees are . According to (11) and (12), there are four external states:
(43) 
For this problem, the output reference is defined as
(44) 
Then, by substituting (43) and (44) into (18), we obtain the pseudoinput
(45) 
with positive gains to be tuned.
V Stability Analysis of Internal Dynamics
For the attitude/altitude innerloop, internal states that need to be analyzed regarding their stability properties. As (32) shows, the selection of is of great importance for influencing the internal dynamics, which will be elaborated in this section.
Va Relaxed Trimming Equilibrium
The relaxed trimming equilibrium is an extension of the relaxed hovering equilibrium [Mueller2015] to the highspeed flight regime where the aerodynamic drag becomes apparent. Note that the term trimming indicates the condition at a constant forward flight velocity. As Fig. 4a shows, the quadrotor spins about the axis which represents the average thrust in a single revolution. In the relaxed trimming equilibrium, this averaged thrust is balanced with the average drag force (denoted by ) and the gravity. If we assume the constancy of and in (27), we have
(46) 
Specifically, if , we have
(47) 
In practice, and are nonstationary. Thus variables , , , and normally oscillate about the equilibrium. Nevertheless, as was analysed in [Sun2018], the average thrust direction remain unchanged as long as the reduced attitude and are bounded. The variation of yaw rate is also relatively small compared to . We therefore assume the constancy of in the following analysis.
Due to the spinning motion around the yaw axis during forward flight, the local airspeed and angle of attack of each rotor can be different (see Fig. 4b). The difference of local airspeed leads to the variation of thrust coefficient of each remaining rotor [Sun2019Aero]. The rotor speeds, therefore, vary with the heading angle and the variation grows with the flight speed.
VB Internal Dynamics
The internal dynamics are analyzed around the relaxedtrimming equilibrium. The following assumptions are further made to derive the internal states.
: and are independent from the control input .
The attitude reference is slowly timevarying, thus .
The average rotor speed is considered as a constant that is independent from the control input .
Note that holds because of the nearconstancy of the resultant thrust during the trimming condition, which has been verified from the flight data. But this assumption is invalid during aggressive thrust variation, such as vertical maneuvers. Nevertheless, the flight experiments given in Sec. VII will demonstrate that the internal dynamics are still stable during vertical maneuvers.
Since has seven states in total and there are four external states as per (43), we need to determine three internal states. The selection of internal states is not unique as long as the condition (13) is satisfied, namely the firstorder derivatives of do not include . Based on the above assumptions, we hereby make the following choices for the internal states:
(48) 
where
(49) 
and is defined as per (38). Note that the first internal state is the projection of on axis as illustrated in Fig. 3. Substituting (47) into (48) gives the internal state at relaxed hovering equilibrium .
The internal dynamics of the innerloop system are locally asymptotically stable at the relaxed trimming equilibrium if and only if is selected such that every eigenvalue of the following matrix has strictly negative real part:
(50) 
where
(51) 
(52) 
Proof.
The transformation expressed as (43) and (48) is a diffeomorphism if . The inverse transformation thus can be obtained as
(53) 
Then the dynamic equation of the internal states is derived as
(54) 
A sufficient condition of the local stability of internal dynamics can be established via the notion of the zero dynamics [Wallner2003AttitudeDynamics]:
(55) 
(56) 
(57) 
(58) 
According to the first Lyapunov criterion, the equilibrium of the nonlinear system is asymptotically stable if the linearized system is asymptotically stable [khalil2002nonlinear]. At the relaxed trimming equilibrium, the internal states are , and the local linearized system is derived from (56)(58) as
(59) 
where is expressed as per (50). Note that the yaw damping is positive definite and the system matrix of (59) is block diagonal. Therefore, if is Hurwitz, namely every eigenvalue of has strictly negative real part, then the linear system (59) is asymptotically stable. Subsequently the local asymptotic stability of the internal dynamics is satisfied. ∎
One may approximate and from (27) with and neglected:
(60) 
(61) 
where denotes eigenvalues of . Note that for a specific quadrotor, the value of is identical under both failure scenarios indicated by (25) and (26). Therefore, we can further conclude from (61) that , i.e. the stability property of internal dynamics, remain invariant despite the failure type if is fixed.
VC Case Study: Selection of
As previous analysis presents, parameter need to be selected such that : (1) The matrix in (50) is Hurwitz for stable internal dynamics. (2) Condition (40) is satisfied for an acceptable control effectiveness on .
In this section, we conduct a case study on a specific type of quadrotor, a modified Parrot Bebop2, in the simulation to demonstrate the effect of on the overall controller performance. The inertial and geometric property of this quadrotor is listed in Table III. Without loss of generality, we assume rotor 2 and 4 are removed (, , ). Thus from (60), we have .
The top plot in Fig. 5 shows the poles of versus . Note that