Incremental Nonlinear Fault-Tolerant Control of a Quadrotor with Complete Loss of Two Opposing Rotors

Incremental Nonlinear Fault-Tolerant Control of a Quadrotor with Complete Loss of Two Opposing Rotors


In order to further expand the flight envelope of quadrotors under actuator failures, we design a nonlinear sensor-based fault-tolerant controller to stabilize a quadrotor with failure of two opposing rotors in the high-speed 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 re-defining the control output. The proposed method can be generalized to control a quadrotor under single-rotor-failure and nominal conditions. For validation, flight tests have been carried out in a large-scale 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 high-speed flight condition.

I Introduction

Multi-rotor 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, fault-tolerant control (FTC) is a key to improving safety in the face of unexpected structural and actuator failures.

Among different types of multi-rotor 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]).

In-flight validations have been achieved by several pieces of research where linear control methods were mostly adopted, such as linear quadratic regulator (LQR) [Mueller2014], proportional-integral-derivative (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 out-door 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 high-speed conditions. Therefore, designing a high-speed 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 sensor-based 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 fixed-wing aircraft [Sieberling2010RobustPrediction], spacecrafts [Acquatella2012RobustInversion.], helicopters [Simplicio2013AnInversion] and multi-rotor 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 under-actuated 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 under-actuated 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 fault-tolerant control method implementing the INDI approach. The controlled quadrotor thereby suffers less from model uncertainties caused by significant aerodynamic effects during high-speed 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 high-speed 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 single-rotor-failure and the nominal conditions. Finally, Sec. VII and Sec. VIII demonstrate the flight test results in low-speed and high-speed flight conditions respectively.

Ii Problem Formulation

Ii-a 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:


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


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].

Fig. 1: Definition of geometry parameters, rotor index and directions, and the body frame .

In the high-speed flight condition, there are significant aerodynamic effects such as thrust variation [Hoffmann2011], rotor in-plane 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.

Ii-B Reduced Attitude Control

The concept of reduced attitude control [Fortescue2011Rigid-BodyControl] 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 energy-efficient [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:


With the expressions and , the expanded formula of (7) can be given as:


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 high-speed flight conditions where significant aerodynamic effects become apparent. To achieve this goal, we employ a sensor-based 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 sensor-based nonlinear control approach. The approach stems from nonlinear dynamic inversion (NDI) control. INDI reduces the model dependencies of NDI by replacing non-input 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 sub-problem (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


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 :






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:


namely the first-order 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


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


where . The NDI control law is designed as


where is called the pseudo-input. With a full knowledge of and , control law (16) yields the closed loop dynamics


For a command tracking problem with reference output that is th order differentiable, selecting


ensures that the reference output is being tracked asymptotically, where the gains is selected such that is Hurwitz. The reference is denoted as


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 first-order Taylor series expansion of (15) around the condition at the last sensor sampling moment (denoted by subscript ), then (15) becomes [Wang2018StabilityControl]


where . Design the incremental nonlinear dynamic inversion (INDI) control as


where is selected as per (18), while is the estimated control effectiveness matrix. As a result, the closed-loop 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 low-pass filtered in practice. To synchronize the time delay caused by these filters, also need to be filtered with the same cut-off frequency [Smeur2016adaptive]. We use subscript to denote the filtered variables (e.g., , and ). Consequently, the INDI control law becomes


We will elaborate on applying the INDI control law (22) to the quadrotor control problem in the following sections.

Iv Controller Design

Fig. 2: The two-loops cascaded control scheme using PID as outer-loop position control and INDI as inner-loop altitude / attitude control.

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 inner-loop for compensating model uncertainties ().

Iv-a Outer-loop Design

The outer-loop 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 second-order differentiable. Therefore, we have


where , denote the horizontal position errors in ; control gains , and are positive. Then for reduced attitude control (see Sec. II) can be calculated by


It is possible to replace (23) by more sophisticated position controllers to obtain , which will not be elaborated in this research.

Iv-B Inner-loop Design

The altitude control is included in the inner-loop controller since the altitude reference is related to rotor thrust which contains model uncertainties . Consequently, the inner-loop is a combination of altitude and attitude control using the INDI approach.

States for the inner-loop 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


If only rotor 2 and 4 remain, then


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 inner-loop states can be derived from (4) and (7), yielding




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


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


The second output have to be associated with the reduced attitude control. Recall that in Sec. II-B, 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 .

Fig. 3: Definition of , , and when rotor 2 and rotor 4 are removed.

The second output is then defined as the projection of on . In other words, becomes a linear combination of and scheduled by the angle :


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:


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


where can be calculated from (27) whereupon includes nonlinear terms and model uncertainties. and are control effectiveness on and respectively:


where is a positive virtual angle defined as


Now, from (34) and (35), the estimated control effectiveness matrix in (22) can be described as


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 :


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 second-order derivative of filtered outputs. This, however, is prone to be detrimentally affected by measurement noise. Therefore, we can approximated by:


where is the projection of the filtered accelerometer measurement on .

can be obtained by numerically differentiating filtered . The latter can be derived from (8) and (32):


Pseudo-input definition

The last step is to define the pseudo-input 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:


For this problem, the output reference is defined as


Then, by substituting (43) and (44) into (18), we obtain the pseudo-input


with positive gains to be tuned.

Eventually, the control effectiveness , and is substituted into (22) to obtain . The rotor speed command of the remaining rotors can be subsequently calculated using (25) or (26).

V Stability Analysis of Internal Dynamics

For the attitude/altitude inner-loop, 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.

V-a Relaxed Trimming Equilibrium

The relaxed trimming equilibrium is an extension of the relaxed hovering equilibrium [Mueller2015] to the high-speed 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


Specifically, if , we have


In practice, and are non-stationary. 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.

Fig. 4: a.) Illustration of the force equilibrium at the relaxed trimming equilibrium. b.) The local velocities of the remaining rotors are different due to the high angular and translational speed of the drone (rotor 2 and 4 remain).

V-B Internal Dynamics

The internal dynamics are analyzed around the relaxed-trimming equilibrium. The following assumptions are further made to derive the internal states.

: and are independent from the control input .

The attitude reference is slowly time-varying, thus .

The average rotor speed is considered as a constant that is independent from the control input .

Note that holds because of the near-constancy 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 first-order derivatives of do not include . Based on the above assumptions, we hereby make the following choices for the internal states:




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 inner-loop 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:




The transformation expressed as (43) and (48) is a diffeomorphism if . The inverse transformation thus can be obtained as


Then the dynamic equation of the internal states is derived as


A sufficient condition of the local stability of internal dynamics can be established via the notion of the zero dynamics [Wallner2003AttitudeDynamics]:


By substituting (53) into (55), we have:


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


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:


: From (50) and (60) we have


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.

V-C 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 .

Fig. 5: Poles of matrix and varying with . The unshadded area is the permitted region of . Tests in the simulation are marked in the bottom plot with different symbols indicating if the flight succeeds. Unstable internal dynamic region obtained from real flight data in is shown in the top plot, which slightly moves rightward indicating a larger admissible region of . Though is stable in the area shaded red, crash still occurs because of that violates the constraint (40).

The top plot in Fig. 5 shows the poles of versus . Note that