arXiv:1705.08775v2 [cs.RO] 16 Nov 2017 JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 1 A Control Performance Index for Multicopters Under Off-nominal Conditions Guang-Xun Du, Quan Quan, Zhiyu Xi, Yang Liu and Kai-Yuan Cai Abstract —In order to prevent loss of control (LOC) accidents, the real-time control performance monitoring problem is studied for multicopters. Different from the existing work, this paper does not try to monitor the performance of the controllers directly. In turn, the disturbances of multicopters under off-nominal conditions are estimated to affect a proposed index to tell the user whether the multicopter will be LOC or not. Firstly, a new degree of controllability (DoC) will be proposed for multicopters subject to control constrains and off-nominal conditions. Then a control performance index (CPI) is defined based on the new DoC to reflect the control performance for multicopters. Besides, the proposed CPI is applied to a new switching control framework to guide the control decision of multicopter under off-nominal conditions. Finally, simulation and experimental results show the effectiveness of the CPI and the proposed switching control framework. Index Terms —Multicopters, loss of control, control perfor- mance monitoring, degree of controllability. I. I NTRODUCTION M ULTICOPTERS are attracting increasing attention in recent years [1]. The growing interest is partly due to the fact that multicopters can be used in numerous applica- tions such as surveillance, inspection, and mapping. Besides, applications of large multicopters are becoming eye-catching, whilst there exists potential risk in civil safety if they crash [2], especially in urban areas. Therefore, it is of great importance to consider the flight safety problem and prevent loss of control (LOC) [3], [4] accidents of multicopters. Current multicopter autopilots are primarily designed for operation under nominal conditions (e.g., predefined vehicle weight distribution, good vehicle health, and acceptable wind disturbances) by the designers. However, it is unavoidable to use the multicopter under off-nominal conditions [1], [3] (e.g., additional payloads, propulsor 1 degradation, and unacceptable wind disturbances). Therefore, it is necessary to assess the performance of the vehicle under off-nominal conditions [5]. Based on the performance assessment results, proper failsafe control actions can be performed which do not worsen the situation any further. Therefore, a performance index, which will warn the users or guide the autopilots if the multicopter is working under off-nominal conditions, is essential. Control performance monitoring (CPM) is an interesting and important topic. This can be evidenced by the reviews in The authors are with School of Automation Science and Electrical En- gineering, Beihang University, Beijing 100191, China (dgx@buaa.edu.cn; qq buaa@buaa.edu.cn; z.xi@buaa.edu.cn; qwertyliuyang@buaa.edu.cn; ky- cai@buaa.edu.cn) 1 A propulsor is composed of a propeller, a motor, and an electronic speed control module, and is powered by a battery. In the literature, the term “rotor”, “thruster” are also used. [6]–[8] and the references therein. In [6], an overview of the status of control performance monitoring and assessment using minimum variance principles was provided. The overview of multiple input multiple output (MIMO) control performance monitoring was given by [7] while the review [8] reported the most recent results in CPM research and their use in industry. From these literature, one can see that most of the CPM methods focus on the industrial production processes and try to monitor the output variance, step changes, settling time, decay ratio, or stability margin of the control systems online. For aircraft, the authors in [9] provided a software tool for monitoring control law stability margins on-line in quasi-real- time. Robust tracking performance was proposed as a metric for the quantification of the permissible flight envelope in [10]. In this paper, the CPM problem of multicopter systems is considered. Here, we do not try to monitor the performance of the controllers. In turn, the disturbances of multicopters under off-nominal conditions are estimated to affect a proposed index to tell the user whether the multicopter will be LOC or not. The salient feature of the proposed method is the ease-of- use, because only some easy-assess multicopter parameters and estimated disturbance are needed. This will be introduced in the following sections. In this paper, a new Control Performance Index (CPI) will be proposed based on Degree of Controllability (DoC) [11]– [14]. Here, the DoC is used to measure the system disturbances while the CPI is used to show whether the system subject to these disturbances is safe or not. However, the existing definitions of DoC suffer limited feasibility in practice because of the following reasons: i) most of these definitions, such as the Grammian matrix based DoC [11], [14], do not consider the control constraints; ii) the state norm based DoC [12], [13] only considers symmetrical control constraints and is recovery time related. Besides, consider the system expressed by ̇ x = Ax + B ( u − d ) , where x ∈ R n , and u ∈ U ⊂ R m , the control constraint set U shrinks in the presence of the external disturbance d . Motivated by these, this paper will define a new kind of DoC for multicopters based on the Available Control Authority Index (ACAI) as in [15]. Compared with existing DoCs, the new DoC has the following advantages: i) it is independent of the recovery time; ii) it can reflect the effect of the disturbance d ; iii) it considers the control constraints. A new CPI is further defined based on the proposed DoC to demonstrate the control performance of multicopters subject to disturbance d . The CPI can tell the user whether the multicopter is safe or not. Besides, the CPI proposed in this paper can be integrated into the open source autopilot, such as the Ardupilot project [16], without the need for extra sensors. JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 2 The major contributions of this paper lie in: i) the definition of the new DoC for multicopter systems, based on which a new CPI is proposed and used to monitor the real-time con- trol performance of multicopters working under off-nominal conditions, ii) the proposed CPI is used in a switching control framework to guide the control decision of multicopters under off-nominal conditions. Besides, the maximum ACAI (pro- posed in our previous work [15]) of a multicopter is given explicitly and is used to define the new DoC in this paper. In our previous work [17], the degraded control strategy is switched to by remote pilots on the ground, whereas this paper provides an index based on which the autopilot can perform the switching automatically. In Section II, the dynamic models of multicopter systems are introduced, and the objective of the paper is provided. In Section III, a preliminary on the ACAI is given, based on which a new DoC and a new CPI are defined for multicopters. Besides, a step-by-step procedure is provided to obtain the proposed CPI. In Section IV, the proposed CPI is applied to a switching control framework. Finally, the effectiveness of the new CPI is demonstrated by numerical and experimental results in Section V. Section VI concludes the paper. II. P ROBLEM F ORMULATION A. Mathematical Model of Multicopters Consider a multicopter consists of a rigid frame equipped with n P propellers. In practice, the multicopter uses the n P propellers to produce the total thrust denoted by u t and control torques denoted by u τ , [ τ x τ y τ z ] T ∈ R 3 (where τ x , τ y , τ z are the airframe roll, pitch and yaw torque of multicopter, respectively). Let I = { e x , e y , e z } denote an right-hand inertial frame and A = { e 1 , e 2 , e 3 } denote a (right-hand) body fixed frame rigidly attached to the aircraft where the center of gravity (CoG) of the multicopter is chosen as the origin of A . According to [15] and [18], the mapping from the propulsor thrust f i , i = 1 , · · · , n P to the thrust and torques vector u f , [ u t u T τ ] T is given by u f = B f f where f , [ f 1 f 2 · · · f n P ] T , B f ∈ R 4 × n P is the control effectiveness matrix. Then, by ignoring the aerodynamic damping and stiffness, the rigid body equations of motion of the multicopter are given by [19] [20] ̇ p = v m a ̇ v = m a g e 3 − u t R e 3 + d v ̇ Θ Θ Θ = W · ω ω ω J ̇ ω ω ω = − ω ω ω × J ω ω ω + G a + u τ + d ω (1) where m a denotes the mass of the vehicle, g denotes the acceleration due to gravity, e 3 , [ 0 0 1 ] T denotes the unit vector in A , G a represents the gyroscopic torques. The vector p , [ x y h ] T and v , [ v x v y v h ] T denotes the position and linear velocity of the origin of A with respect to I , respectively. The vector ω ω ω , [ p q r ] T ∈ R 3 , where p , q , r denote the roll, pitch and yaw angular velocities of the multicopter expressed in A . The vector Θ Θ Θ , [ φ θ ψ ] T ∈ R 3 where φ , θ , ψ denote the roll, pitch and yaw angles of A with respect to I . The matrix J , diag ( J x , J y , J z ) ∈ R 3 × 3 is the constant inertia matrix where J x , J y , J z are the moment of inertia around the roll, pitch and yaw axes of the multicopter frame, respectively. The matrix R e 3 and W are given as follows R e 3 =   s ψ s φ + c ψ s θ c φ − c ψ s φ + c φ s θ s ψ c θ c φ   , W =   1 s φ s θ / c θ c φ s θ / c θ 0 c φ − s φ 0 s φ / c θ c φ / c θ   where c and s are shorthand forms for cosine and sine. The terms d v , [ d x d y d v h ] T and d ω ∈ R 3 are used to denote the unknown disturbances, which cover additional payloads, propulsor degradation, external disturbances, and unmodeled dynamics. Additional payloads will change the mass m a and inertia J of the multicopter and the effect can be lumped into d v h and d ω . The propulsor degradation will change the control effectiveness matrix B f to E , B f ( I n P − Γ Γ Γ ) ∈ R 4 × n P , where Γ Γ Γ , diag ( η 1 , · · · , η n P ) ∈ R n P × n P and η i ∈ [ 0 , 1 ] , i = 1 , · · · , n P is used to account for propulsor efficiency degradation, i.e., that the effectiveness of propulsor i is reduced by 100 η i %. If the i th propulsor completely fails, then η i = 1. Then, propulsor degradation will introduce the term B f Γ Γ Γ f which can be lumped into d v h and d ω . As the wind disturbance only affect the dynamics of multicopters but not the multicopter kinematics, the wind disturbances can be lumped into d v and d ω . From (1), the multicopter system is a typical nonlinear system. This makes the analysis and design complex. To simplify the model, the following assumption is used: Assumption 1 . sin φ ≈ φ , cos φ ≈ 1 , sin θ ≈ θ , cos θ ≈ 1 and u t ≈ m a g . According to Assumption 1 , the pitch and roll angles are small, and the total thrust approximates to the weight of the multicopter. Then, the matrix W is approximated to the identity matrix I 3 and the matrix R e 3 becomes R e 3 ≈   φ sin ψ + θ cos ψ − φ cos ψ + θ sin ψ 1   . Based on (1), by lumping the nonlinear term − ω ω ω × J ω ω ω + G a with d ω , the simplified multicopter model is given by ̇ p l = v l m a ̇ v l = − m a g A ψ Θ Θ Θ l + d l (2) ̇ h = v h m a ̇ v h = − u t + d h (3) ̇ Θ Θ Θ = ω ω ω J ̇ ω ω ω = u τ + d τ (4) where p l , [ x y ] T , v l , [ v x v y ] T , Θ Θ Θ l , [ φ θ ] T , d l , [ d x d y ] T , d h = d v h + m a g , d τ , [ d l d m d n ] T = d ω − ω ω ω × J ω ω ω + G a , and A ψ , [ sin ψ cos ψ − cos ψ sin ψ ] . From (2), the lateral position p l is practically controlled by adjusting roll and pitch angles to desired value φ c and θ c while the yaw angle ψ is controlled to a fixed value ψ c . From (3) and (4), the altitude h and attitude Θ Θ Θ are controlled by using the n P propellers to produce the total thrust u t and control torques u τ . To distinguish from the lateral dynamics shown by (2), the altitude and attitude dynamics shown by (3) and (4) are called the basic dynamics of the multicopter. Furthermore, the following assumption is used: JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 3 Assumption 2 . The desired roll, pitch, and yaw angles φ c , θ c , ψ c are constants, and the desired roll, pitch, and yaw angular velocities p c , q c , r c are zeros. Then, the multicopter dynamics can be formulated into the following form ̇ x = Ax + B ( u − d ) , u = H μ μ μ (5) A = [ 0 n × n I n 0 n × n 0 n × n ] , B = [ 0 n × n M ] (6) where x ∈ R 2 n , μ μ μ ∈ U ⊂ R m , u ∈ Ω ⊂ R n , M ∈ R n × n , H ∈ R n × m . The system (5) is a linear one with constrained control inputs. For lateral dynamics, one has n = 2 , m = 2 , x , [ x y v x v y ] T , μ μ μ , [ φ c θ c ] T , d , d l , H , m a g A ψ , M , − 1 m a I n , U , { μ μ μ | φ c ∈ [ − φ max , φ max ] , θ c ∈ [ − θ max , θ max ] } . On the other hand, for basic dynamics, one has n = 4 , m = n P , μ μ μ , f , d , [ d h − d T τ ] T , x , [ h φ − φ c θ − θ c ψ − ψ c v h p q r ] T , H , B f , M , diag ( − m a , J x , J y , J z ) . In practice, f i ∈ [ 0 , K i ] , i = 1 , · · · , n P (where K i is the maximum thrust of the i -th propulsor) because the propulsors can only provide unidirectional thrust (upward or downward). As a result, U of the basic dynamics is given by μ μ μ ∈ U , { f | f i ∈ [ 0 , K i ] , i = 1 , · · · , n P } . For both the lateral dynamics and the basic dynamics, one has u ∈ Ω , { u | u = H μ μ μ } ⊂ R n . B. Objective of the Paper In practice, the system (5) is usually controlled by the controllers given by u = u ( x , t ) designed under nominal con- ditions. The objective of this paper is to solve the following problems: i) how to monitor the control performance of the closed loop system formed by combining system (5) and controller u = u ( x , t ) , and ii) how to guide the users or the autopilots based on the monitoring results to keep multicopters safe under severe off-nominal conditions. III. A C ONTROL P ERFORMANCE I NDEX F OR M ULTICOPTERS This section will propose a control performance index for the system in (5) and the results will apply to both the lateral dynamics and basic dynamics of the considered multicopters. A. Preliminaries In practice, if the unknown disturbance d caused by the off-nominal conditions makes the system in (5) uncontrollable, then the multicopter will be LOC. In order to test the controlla- bility of the disturbance driven system in (5), the ACAI based controllability analysis method in [15] is used. The ACAI, spurred by the research in [18], was first proposed in [15] and originally used to check on the positive controllability of multicopters. In this paper, the ACAI is extended for system (5) and is defined as ρ ( α α α , ∂ Ω ) , { min {‖ α α α − − − β β β ‖ : α α α ∈ Ω , β β β ∈ ∂ Ω } − min { ‖ α α α − − − β β β ‖ : α α α ∈ Ω C , β β β ∈ ∂ Ω } . (7) Here, ρ ( α α α , ∂ Ω ) represents the distance from α α α to ∂ Ω , where ∂ Ω is the boundary of Ω , Ω C is the complementary set of Ω . Then the ACAI of the system (5) is defined as ρ ( d , ∂ Ω ) ∈ R and the following theorem is obtained directly according to the results in [15]. Theorem 1. The system in (5) is controllable if and only if ρ ( d , ∂ Ω ) > 0 . Physically, ρ ( d , ∂ Ω ) is the radius of the biggest enclosed sphere centered at d in the attainable control set Ω . The larger the value of ρ ( d , ∂ Ω ) is, the larger is the attainable control set. Then the system has more control margin to reject disturbances. In particular, if ρ ( d , ∂ Ω ) is zero, no enough control can be provided to stabilize the system, and the system is therefore LOC. In order to compute the value of ρ ( d , ∂ Ω ) , a step-by-step ACAI computing procedure is given in [15], and the readers are referred to the toolbox provided in [21] which can be used for system (5) after minor modifications. B. A Control Performance Index As mentioned above, the ACAI ρ ( d , ∂ Ω ) can be used to indicate the largest toleration to disturbances for a multicopter. However, it is not a control performance index intuitively, because it does not take the controller into account. To account for this, a new DoC is defined first, based on which a CPI is proposed. 1) A New Definition of the Degree of Controllability: In this subsection, a virtual ACAI ρ ( u c , ∂ Ω ) is used to normalize the ACAI, where u c = H μ μ μ c is the center of Ω and μ μ μ c = [ 0 0 ] T for the lateral dynamics while μ μ μ c = 1 2 [ K 1 K 2 · · · K n P ] T for the basic dynamics. According to (7), the following lemma is obtained. Lemma 1 . ρ ( u c , ∂ Ω ) is the maximum ACAI of system (5). Proof . In the following, it is assumed that ρ ( d , ∂ Ω ) > 0. According to Theorem 3 in [15], if rank ( H ) = n , then the ACAI ρ ( d , ∂ Ω ) is given by ρ ( d , ∂ Ω ) = min ( d 1 , d 2 , · · · , d s m ) (8) where d j = + ∞ if rank ( H 1 , j ) < n − 1 and d j = 1 2 sign ( ξ T j H 2 , j ) Λ Λ Λ j ( ξ T j H 2 , j ) T − ∣ ∣ ξ T j ( u c − d ) ∣ ∣ (9) if rank ( H 1 , j ) = n − 1. Here, the matrices H 1 , j ∈ R n × ( n − 1 ) and H 2 , j ∈ R n × ( m + 1 − n ) are composed of arbitrary n − 1 columns and the remaining m + 1 − n columns of H , respec- tively. There are totally s m cases of H 1 , j and H 2 , j where s m = m ! ( m + 1 − n ) ! ( n − 1 ) ! . The vector ξ j ∈ R n − 1 satisfies ξ T j H 1 , j = 0, ∥ ∥ ξ j ∥ ∥ = 1. Similarly, if rank ( H ) = n , then the virtual ACAI ρ ( u c , ∂ Ω ) is given by ρ ( u c , ∂ Ω ) = min ( d c 1 , d c 2 , · · · , d c s m ) (10) JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 4 where d c j = + ∞ if rank ( H 1 , j ) < n − 1 and d c j = 1 2 sign ( ξ T j H 2 , j ) Λ Λ Λ j ( ξ T j H 2 , j ) T . (11) According to (9) and (11), one has d j ≤ d c j . Then ρ ( d , ∂ Ω ) ≤ ρ ( u c , ∂ Ω ) according to (8) and (10). Then, ρ ( u c , ∂ Ω ) is the maximum ACAI of system (5).  In the following, ρ ( u c , ∂ Ω ) will be used to define the DoC of the multicopter system: Definition 1 (Degree of Controllability for Multicopters) . The degree of controllability for the multicopter system in (5) is defined as σ , ρ ( d , ∂ Ω ) ρ ( u c , ∂ Ω ) (12) where ρ ( d , ∂ Ω ) is the ACAI of the multicopter system. From Definition 1 , one can see that ρ ( d , ∂ Ω ) = σ  ρ ( u c , ∂ Ω ) . (13) Here, σ shows the impact of the disturbance d on the virtual system, where the disturbance in the system (5) satisfies d = u c . Considering the basic dynamics, if d = 0 when the multicopter is hovering, then there is no control margin to land the multicopter as the propulsors can only provide upwards thrust. Similarly, if d = 2 u c , namely all the propulsors are providing the maximum thrust, then there is no control margin to lift the multicopter anymore. According to (7), ρ ( d , ∂ Ω ) ≤ 0 if the multicopter system is uncontrollable. For the sake of simplicity, let σ = 0 , if ρ ( d , ∂ Ω ) ≤ 0 . (14) Then σ = 0 when the multicopter system in (5) is uncontrol- lable. According to Lemma 1 , (12) and (14), the following theorem holds: Theorem 2 . For the system in (5), the DoC satisfies σ ∈ [ 0 , 1 ] . 2) Definition of the Control Performance Index: Although the DoC σ shows how controllable the system is, control- lability does not imply stability. In practice, people concern stability more than controllability of a multicopter flying in the air. As a result, a good index should satisfy: i) it is nonpositive if the system is unstable; ii) it is positive if the system is stable; iii) the larger the index value is, the more stable is the system. To show the stability performance of the flying vehicle, this paper will define a new control performance index based on the DoC σ . Suppose that d ∈ U d , { d | d i ∈ [ d i , min , d i , max ] , i = 1 , · · · , n } . Then a new constraint set U σ 0 is defined as U σ 0 , { d | σ = ρ ( d , ∂ Ω ) ρ ( u c , ∂ Ω ) ≥ σ 0 , d ∈ U d } . (15) where U σ 0 contains all the disturbances satisfying ρ ( d , ∂ Ω ) ≥ σ 0 ρ ( u c , ∂ Ω ) . Given a controller u = u ( x , t ) , a large enough disturbance will make closed-loop of system (5) unstable. Then a definition of control performance threshold (CPT) σ th is given as follows: Definition 2 (Control Performance Threshold) . The CPT of the system in (5) is defined as σ th , inf σ s ∈ [ 0 , 1 ] ( σ s ) (16) where the variable σ s satisfies the following condition: for a given σ s , the system (5) subject to disturbance ∀ d ∈ U σ 0 = σ s (i.e., any d satisfying ρ ( d , ∂ Ω ) ≥ σ s ρ ( u c , ∂ Ω ) ) is stable under the controller u = u ( x , t ) . Without loss of generality, the CPT σ th < 1 for the system (5) controlled by a reasonable and robust strategy u = u ( x , t ) . Suppose that σ th is determined for the control strategy u = u ( x , t ) . Then from the definition in (16) the closed-loop system will be stable if σ ≥ σ th and unstable otherwise. In order to show the stability margin of the closed-loop system intuitively, a control performance index is defined based on Definition 1 and Definition 2 : Definition 3 (Control Performance Index) . The CPI of the multicopter system in (5) is defined as S , σ − σ th 1 − σ th (17) where σ th < 1 is CPT of the closed-loop system in (5) with the control strategy u = u ( x , t ) . From Definition 3 , we say that the multicopter is safe if S ≥ 0 and unsafe otherwise. As σ ∈ [ 0 , 1 ] , then one has S ∈ [ − σ th 1 − σ th , 1 ] . (18) Now the stability of the multicopter system can be indicated by the CPI S . C. Threshold Value Determination As mentioned above, there is a CPT σ th for the specified control strategy u = u ( x , t ) , and the closed-loop system with the control strategy is stable if σ ≥ σ th . Although one may obtain the theoretical value of σ th if the explicit expression of the controller u = u ( x , t ) is simple, it is hard to compute σ th theoretically because the controller is either complex or accessible only in part in practice. In this paper, the CPT σ th is obtained through numerical simulations and/or real flight experiments. By taking the lumped disturbance d into account, the computing procedure is given by Algorithm 1 . Algorithm 1 Threshold value determination procedure Step 1 : Generate the disturbance grid set Ξ ⊂ R n of the disturbance d ∈ U d . As d ∈ U d , the constraint of d i can be obtained as d i ∈ [ d i , min , d i , max ] where i = 1 , · · · , n and d i , min , d i , max are the minimum and maximum value of d i respectively. Suppose that [ d i , min , d i , max ] is divided into n d grid points, then U d changes to Ξ ⊂ R n with n n d points. Step 2 : Compute the ACAI of the multicopter system (5) correspond- ing to each disturbance grid points in Ξ . Step 3 : Compute the DoC σ of each disturbance grid point in Ξ , and the results are denoted by set Λ . Step 4 : Let k = 0, and ∆ σ ∈ ( 0 , 1 ] . Step 5 : Let k = k + 1. If k ∆ σ > 1, go to Step 8 . Step 6 : Check the stability of the specified control strategy u = u ( x , t ) for all the disturbance grid points satisfying 1 − k ∆ σ ≤ σ < 1 − ( k − 1 ) ∆ σ , which is denoted by Ξ k . Step 7 : If the closed-loop system with the control strategy u = u ( x , t ) is stable under all the specified disturbance grid points in Ξ k , go to JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 5 Step 5 . If the control strategy is unstable under any of the specified disturbance grid point in Ξ k , go to Step 8 . Step 8 : The CPT is obtained as σ th = 1 − ( k − 1 ) ∆ σ . It should be pointed out that the nonlinear dynamics shown in equation (1) is applied in the simulations while the linear model (5) is only used to compute the DoC of the multicopter. From the above, the larger the value of n d is and the smaller the value of ∆ σ is, the more accurate is the threshold σ th . In practice, the CPT needs to be checked by real flight experiments. Fortunately, there is no need to check all the disturbance grid points that satisfy σ ≥ σ th . If the closed-loop system with the control strategy u = u ( x , t ) is stable with all the disturbance grid points that satisfy σ th ≤ σ ≤ σ th + C σ , then the closed-loop system is always stable if σ > σ th + C σ , where C σ is a specified confidence value. Therefore, only the disturbance grid points that satisfy σ th ≤ σ ≤ σ th + C σ need to be tested by experiments. IV. A PPLICATION OF THE C ONTROL P ERFORMANCE I NDEX In this section, the proposed CPI is used for a switching control framework for multicopters, where the index is used to show how safe the vehicle is. The on-ground pilots can decide to continue or abort the mission based on this index. Besides, the index can guide the on-board autopilot to switch from nominal control strategies to degraded control strategies for safe landing. A. Switching Control Framework The diagram of the switching control framework is shown in Fig.1. Practically, the reference signal x c is given by the top level guidance module or the pilots on the ground. As shown in Fig.1, a typical multicopter usually has lateral posi- tion controllers, altitude controller, attitude controllers and a control allocation module. The vehicle has the following three control modes: i) Mode M1, where the lateral dynamics and the basic dynamics are controlled by nominal lateral controller, altitude controller and attitude controller; ii) Mode M2 , where the lateral dynamics are given up and the basic dynamics are controlled by the nominal altitude and attitude controllers; iii) Mode M3 , where the lateral dynamics are controlled by nominal lateral controller, and the altitude is controlled by nominal controller while the attitude is controlled by degraded controllers; iv) Mode M4 , where the lateral dynamics is given up, and the altitude is controlled by nominal controller while the attitude is controlled by degraded controllers. There are many research on the nominal control of mul- ticopters, see [19], [22]–[24] and the references therein. To make this paper more extensible, the nominal control strategy in the framework is not specified. For the case that the multi- copter under severe off-nominal conditions is uncontrollable, a degraded control strategy will be adopted. The papers [17], [25]–[28] studied a relaxed hover solution for multicopters where the vehicle may rotate at a constant velocity in hover, by giving up the control of the yaw angle (the yaw states are ignored). Then, these strategies are now integrated with an x Lateral Controller Control Allocation Multicopter system Disturbance Observer ACAI ˆ d DoC ( ) ˆ , r ∂W d s CPI S Ground Station S Altitude Controller Attitude Controller On-ground Pilot M1 M2 M4 c x c x M3 Fig. 1. Switching control framework online estimator for the CPI, resulting in a switching control system that is robust against off-nominal conditions. Besides, under this framework the real-time control performance state of the multicopters can be sent to the ground station so that the on-ground pilots can decide to continue or abort the mission. In practice, many kinds of disturbance observers (such as Kalman filter) can be used to estimate the disturbance based on the dynamic model shown in (5). If a Kalman filter is used to estimate the disturbance, the estimated disturbance covariance can be used to obtain confidence on ˆ d . The ACAI can be obtained according to the computation procedure given in [15] and the toolbox in [21]. Based on the ACAI, the CPI of the system are obtained according to the results in Section III. In the following, a switching control strategy based on the CPI is proposed. B. Switching Control Strategy Based on the Control Perfor- mance Index The CPI results not only tell the autopilots whether it is necessary to switch to the degraded controllers or not but also tell the on-ground pilots the safe state of the vehicle. If necessary, the on-ground pilots can land the vehicle before LOC accidents occur. The CPI can be used in the following scenarios: i) Before the mission starts, the on-ground pilot can evaluate the control performance by a short time flight. Excessive payload and propulsor faults will be checked out based on the CPI results. ii) In the case of high wind, the on- ground pilots or the onboard autopilots will land the vehicle immediately if the CPI approaches a value small enough before the vehicle becomes unstable. iii) In the case of sudden severe conditions, the on-ground pilot could not predict the safe state based on the CPI history and can not make a safety decision. At this time, the vehicle will try to land automatically in a degraded way or the vehicle will be LOC. Denote the CPI of the lateral dynamics, the basic dynamics, and the degraded system by S l , S b , and S d , respectively. Then, the following observations are obtained according to Definition 1 , Definition 2 , and Definition 3 : i) Observation 1 . If S l > 0, and S b > 0, then the multicopter is safe to continue the flight. ii) Observation 2 . If S l ≤ 0, and S b > 0, then the lateral dynamics is given up and only the basic dynamics of the vehicle is controlled by the nominal control. iii) Observation 3 . If S l > 0, and S b ≤ 0, then the lateral dynamics is controlled JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 6 by the nominal control, and the yaw states are given up. Then, the degraded control strategy is used to land the vehicle safely. iv) Observation 4 . If S l ≤ 0, S b ≤ 0 and S d > 0, then the lateral dynamics and the yaw states are given up and only the degraded control strategy is used to land the vehicle safely. As the details of the degraded control strategy are beyond the scope of this paper, the readers are referred to [17], [28] for more information. C. Closed-loop Stability Statement According to Fig.1, the vehicle can only switch from M1 to M2/M3, and then from M2/M3 to M4 for safety consid- erations. In practice, if the lumped disturbance d makes the vehicle switch from M1 to M2/M3, then it means that the flight conditions are not safe for the mission. If the disturbance makes the vehicle switch from M2/M3 to M4, then it means that the vehicle is in an ill-condition, and the vehicle should land immediately. From the above, the chattering problem is prevented because the vehicle can only switch from M1 to M2/M3, and then from M2/M3 to M4 unidirectionally. In the future, the switch from M4 to M2/M3 can also be considered. In this case, the average dwell time for each mode should be defined to ensure the stability of the switched system [29], [30]. V. S IMULATION AND E XPERIMENTS To show the effectiveness of the proposed CPI, both nu- merical and experimental results are given in this section. Concretely, a hexacopter subject to propulsor faults is used to show the effectiveness of the proposed CPI and switching control framework. On the other hand, a number of real flight experiments are carried out to show the effectiveness of the CPI based on a quadcopter platform. Under the proposed framework, the off-nominal behaviors, such as additional payloads, propulsor degradation and unacceptable wind dis- turbances, are all lumped as a disturbance. Therefore, for simplicity and without loss of generality, only the propulsor degradation (in the simulations) and additional payloads (in the experiments) are considered. A. Simulations and Results Here, a traditional hexacopter with symmetric configuration (see [15] for the detailed parameters of the hexacopter) is considered to show the effectiveness of the proposed CPI and the switching control framework. The simulation model of the hexacopter is constructed which consists of three main modules: i) two control strategies: the nominal control strategy and the degraded control strategy, ii) a real-time estimator to obtain the CPI S l , S b and S d , iii) a switching control strategy based on the CPI. In the simulation, the hexacopter is controlled to 1 meter above the ground ( h c = 1), and maintains the level state ( φ c = θ c = ψ c = 0). To compute the ACAI ρ ( d , ∂ Ω ) , a Kalman filter is used to estimate the lumped disturbance d . Based on the estimated disturbance ˆ d , the value of the ACAI can be computed according to the procedure presented in [15]. Then, the DoC TABLE I T HRESHOLD VALUE DETERMINATION FOR σ ( N TOTAL IS THE TOTAL POINTS NUMBER , N STABLE STABLE POINTS NUMBER ) σ N total N stable percentage 1 3 3 100% [0.9,1) 9 9 100% [0.8,0,9) 90 90 100% [0.7,0,8) 242 242 100% [0,6,0.7) 478 478 100% [0.5,0.6) 843 843 100% [0.4,0.5) 1329 1329 100% [0.3,0.4) 1865 1848 99% [0.2,0.3) 2705 2380 88% [0.1,0.2) 3190 2245 70% [0,0.1) 183727 1544 0.1% σ and the CPI S b can be computed based on the ACAI. Similarly, the lumped disturbance of the degraded system can be estimated and the DoC (denoted by ̄ σ ) and the CPI S d can be computed. And the CPI S l can also be computed in the similar way to S b . 1) Threshold Value Determination: According to the com- puting procedure for the threshold value in Section III.C, we set n d = 21, ∆ σ = 0 . 1, and simulations are performed and the results are shown in Table I. From Table I, it can be seen that the system (5) controlled by the nominal control strategy is always stable if σ ≥ 0 . 4. Similarly, the degraded system controlled by a degraded control strategy is simulated and is always stable if ̄ σ ≥ 0 . 4 (details are omitted here). And the lateral system controlled by the nominal control strategy is simulated and is always stable if the DoC σ l ≥ 0 . 5 (details are omitted here). Then we get the threshold value of the considered hexacopter as follows σ th = 0 . 4 , ̄ σ th = 0 . 4 , σ l , th = 0 . 5 . (19) 2) Simulation Results: In the simulation, the hexacopter is hovering with the altitude and the roll-pitch-yaw angles under control. At time t = 5s, propulsor 2 fails and the degraded control strategy is switched to based on the switching control methodology. The simulation results are shown in Fig.2. In Fig.2(a), the real-time altitude and attitude information are shown, where the multicopter is in Mode M1 when no faults occurred and then switched to Mode M3 after propulsor 2 fails. The real-time estimation of the lumped disturbance ˆ d is shown in Fig.2(b). The real-time CPIs S l , S b , S d are shown in Fig.2(c) from which it is observed that S l > 0, S b < 0 and S d > 0 after the failure of propulsor 2. To show how the uncertainties in the estimation process affect the effectiveness of the recovery actions, estimation bias, different levels of noise and estimation phase delays are introduced to the basic dynamics. Here, the bias is denoted by d bias and the time delay is denoted by t τ . The standard deviation of the position and attitude sensor noises are denoted by χ p and χ a , respectively. The simulation results are shown in Fig.3. In Fig.3(a), the bias d bias = ε 1 d 0 where d 0 ≈ [ 21 − 1 . 4 0 . 9 0 . 6 ] T and ε 1 is set to be 0.05, 0.06, and 0.07. In Fig.3(b), the Kalman filter is designed based on given measurement noise χ p = 0 . 1 and χ a = 0 . 01 while the simulated measure- ment noises (denoted by χ ′ p and χ ′ a ) are χ ′ p = ( 1 + ε 2 ) χ p , JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 7 f q y time/s time/s (a) (b) time/s (c) h d l d m d n d CPIs Stable Unstable h x y b S d S l S Fig. 2. Simulation results: (a) Altitude and attitude states. (b) The estimation of the lumped disturbance ˆ d . (c) The real-time CPIs S b , S d . χ ′ a = ( 1 + ε 2 ) χ a . Here, ε 2 is set to be 0.2, 0.4, and 0.6. In Fig.3(c), different delays ( t τ is set to be 0.1s, 0.2s, 0.3s) are introduced to the disturbance estimation. From the results shown in Fig.3: i) different levels of noise do not affect the effectiveness of the recovery action, ii) estimation bias will shift the estimated CPI and may make the recovery action fail, iii) the delay term t τ will delay the recovery action. However, if the estimation bias and the delays are small enough, the recovery action is effective. According to the simulations results, it is shown that the switching control framework based on the proposed CPI is effective. In the following, experiments are carried out to show the effectiveness of the real-time CPI estimator in the switching control framework. B. Experimental Results A quadcopter platform named Qball-X4 [31] (a quadcopter developed by Quanser) is used in the experiments to show that the CPI can be used to monitor the performance of the vehicle. A group of PID controllers are offered by the manufacturer of WLPHV D E F Fig. 3. Effects of estimation bias, noise, and delays to the recovery actions: (a) S d with bias introduced and ε 2 = 0, t τ = 0s. (b) S d with noise introduced and ε 1 = 0, t τ = 0s. (c) S d with delay introduced and ε 1 = 0, ε 2 = 0. 20 30 40 50 60 70 80 0 0.5 1 CPI Safety Decision 40 50 60 70 80 90 100 110 0 0.2 0.4 0.6 0.8 1 CPI Safety Decision b S time/s time/s b S Fig. 4. Experimental results: (a) A 100g weight was attached to the Qball-X4 at time t = 77s and removed at time t = 96s. (b) A 100g weight was attached to the Qball-X4 at time t = 33s and then a 50g weight was added at time t = 63s. the Qball-X4 for altitude and attitude control purpose. To get the CPT of Qball-X4, the Qball-X4 simulation model offered by the Quanser Company is modified slightly and the threshold value determination procedures are used. Here, the details are omitted and the CPT of the Qball-X4 is σ th = 0 . 3993. In the experiments, different weights are attached to the same specified place, and the real-time CPI will show the con- trol performance of the quadcopter. To verify the experimental results, the maximum weight allowed by the quadcopter, which is m max = 126g, is obtained by simulations. The main purpose of the experiments here is to verify the effectiveness of the CPI which is used to show the real-time control performance of the quadcopter and guide the autopilot to make safety decisions (1 for safe and 0 for unsafe). These experiments are recorded in the online video [32] or [33], and the experimental results are shown in Fig.4. 1) Case 1: A 100g weight was attached to the Qball-X4: Fig.4(a) shows the experimental results where 100g weight is attached to the specified place of the vehicle. The 100g weight JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 8 was attached at time t = 77s, and the aircraft is still safe with the PID controllers. Then the 100g weight was removed at time t = 96s. The CPI results in Fig.4(a) show that the Qball- X4 is always safe during the flight. 2) Case 2: Totally 150g weight was attached to the Qball- X4: However, in the second flight, totally 150g weight was attached to the same place and the results are shown in Fig.4(b). Firstly, 100g weight was attached at time t = 33s, the aircraft is safe. Then 50g weight was attached to the same place as the 100g weight at time t = 63s, and the CPI results in Fig.4(b) show that the Qball-X4 is unsafe after the 50g weight is attached. From the video recording of this experiment, it is seen that Qball-X4 is oscillating. The safety decision results are reasonable as the maximum weight allowed is 126g while totally 150g weight was attached. From Fig.4, one can see that the S b measurement seems to drift a lot during a given experimental process. This is caused by decreased battery voltage which is equivalent to an extra weight added to the vehicle. Fig.5 shows the results where no weight is added to the Qball-X4, and one can see that the index S b is decreasing with the flight time. WLPHV S              6, 6DIHW\'HFLVLRQ Fig. 5. The effect of battery to S . From the above experiments, it can be seen that the CPI proposed by this paper is practically effective. The CPI can be used to monitor the real-time control performance of the multicopters and tell the users whether the vehicle is safe to operate. VI. C ONCLUSIONS This paper studied the performance assessment problem of multicopters subject to off-nominal conditions. Firstly, a new definition of Degree of Controllability (DoC) was proposed for multicopters subject to control constrains and off-nominal conditions to show the available control authority of the vehicle. Then, a control performance index (CPI) was defined based on the new DoC to reflect the control performance of the multicopters. A step-by-step procedure was also provided to obtain the control performance threshold (CPT) which would be used to compute the CPI. Besides, the proposed CPI is used to guide the switching control of multicopters in a new switching control framework. Finally, simulation and experimental results showed the effectiveness of the switching control framework and the CPI proposed in this paper. A CKNOWLEDGMENTS This work is supported by the National Natural Science Foundation of China (Grant No. 61603014 and No. 61473012) and the China Postdoctoral Science Foundation (Grant No. 2016M600895). R EFERENCES [1] B. Wang and Y. Zhang, “An adaptive fault-tolerant sliding mode control allocation scheme for multirotor helicopter subject to simultaneous actuator faults,” IEEE Transactions on Industrial Electronics , 2017. Online. [2] C. M. Belcastro, J. V. Foster, R. L. Newman, L. Groff, D. A. Crider, and D. H. Klyde, “Aircraft loss of control: problem analysis for the development and validation of technology solutions,” in AIAA Guidance, Navigation, and Control Conference , no. AIAA 2016-0092, 2016. [3] C. M. Belcastro and S. R. Jacobson, “Future integrated system concepts for preventing aircraft loss-of-control accidents,” in AIAA Guidance, Navigation, and Control Conference , no. AIAA 2010-8142, 2010. [4] C. M. Belcastro, “Validation and verification of future integrated safety- critical systems operating under off-nominal conditions,” in AIAA Guid- ance, Navigation, and Control Conference , no. AIAA 2010-8143, 2010. [5] K. Krishnakumar, S. Viken, and N. Nguyen, “Stability, maneuver- ability, and safe landing in the presence of adverse conditions,” http://www.aeronautics.nasa.gov/nra pdf/irac tech plan c1.pdf , 2009. [6] S. J. Qin, “Control performance monitoringa review and assessment,” Computers & Chemical Engineering , vol. 23, no. 2, pp. 173–186, 1998. [7] S. J. Qin and J. Yu, “Recent developments in multivariable controller performance monitoring,” Journal of Process Control , vol. 17, no. 3, pp. 221–227, 2007. [8] M. Bauer, A. Horch, L. Xie, M. Jelali, and N. Thornhill, “The current state of control loop performance monitoring–a survey of application in industry,” Journal of Process Control , vol. 38, pp. 1–10, 2016. [9] M. Lichter, A. Bateman, and G. Balas, “Flight test evaluation of a run- time stability margin estimation tool,” in AIAA Guidance, Navigation, and Control Conference , no. AIAA 2009-6257, 2009. [10] H. Pfifer, R. Venkataraman, and P. Seiler, “Quantifying loss-of-control envelopes via robust tracking analysis,” Journal of Guidance, Control, and Dynamics . published online, December 28, 2016. [11] P. M ̈ uller and H. Weber, “Analysis and optimization of certain quali- ties of controllability and observability for linear dynamical systems,” Automatica , vol. 8, no. 3, pp. 237–246, 1972. [12] C. Viswanathan, R. Longman, and P. Likins, “A degree of controllability definition-fundamental concepts and application to modal systems,” Journal of Guidance, Control, and Dynamics , vol. 7, no. 2, pp. 222–230, 1984. [13] G. Klein, R. Ongman, and R. Indberg, “Computation of a degree of controllability via system discretization,” Journal of Guidance, Control, and Dynamics , vol. 5, no. 6, pp. 583–588, 1982. [14] O. Kang, Y. Park, Y. Park, and M. Suh, “New measure representing degree of controllability for disturbance rejection,” Journal of guidance, control, and dynamics , vol. 32, no. 5, pp. 1658–1661, 2009. [15] G.-X. Du, Q. Quan, B. Yang, and K.-Y. Cai, “Controllability analysis for multirotor helicopter rotor degradation and failure,” Journal of Guidance, Control, and Dynamics , vol. 38, no. 5, pp. 978–985, 2015. [16] C. Anderson, “Ardupilot project,” http://copter.ardupilot.com/ , 2016. [17] G.-X. Du, Q. Quan, and K.-Y. Cai, “Controllability analysis and de- graded control for a class of hexacopters subject to rotor failures,” Journal of Intelligent & Robotic Systems , vol. 78, no. 1, pp. 143–157, 2015. [18] T. Schneider, “Fault-tolerant multirotor systems,” ETH Master Thesis, Autumn , 2011. [19] A. Tayebi and S. McGilvray, “Attitude stabilization of a vtol quadrotor aircraft,” IEEE Transactions on control systems technology , vol. 14, no. 3, pp. 562–571, 2006. [20] Q. Quan, Introduction to multicopter design and control . Springer, Singapore, 2017. [21] G.-X. Du and Q. Quan, “A matlab toolbox for calculating an available control authority index of multicopters,” http://rfly.buaa.edu.cn/resources , 2016. [22] R. Mahony, V. Kumar, and P. Corke, “Multirotor aerial vehicles: Model- ing, estimation, and control of quadrotor,” IEEE robotics & automation magazine , vol. 19, no. 3, pp. 20–32, 2012. [23] D. Lee, H. J. Kim, and S. Sastry, “Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter,” International Journal of control, Automation and systems , vol. 7, no. 3, pp. 419–428, 2009. [24] X. Wang, B. Shirinzadeh, and M. H. Ang, “Nonlinear double-integral observer and application to quadrotor aircraft,” IEEE Transactions on Industrial Electronics , vol. 62, no. 2, pp. 1189–1200, 2015. JOURNAL OF L A TEX CLASS FILES, VOL. 0, NO. 0, AUGUST 2017 9 [25] A. Freddi, A. Lanzon, and S. Longhi, “A feedback linearization approach to fault tolerance in quadrotor vehicles,” IFAC Proceedings Volumes , vol. 44, no. 1, pp. 5413–5418, 2011. [26] A. Akhtar, S. L. Waslander, and C. Nielsen, “Fault tolerant path following for a quadrotor,” in 52nd IEEE Conference on Decision and Control , (Piscataway, NJ, USA), pp. 847–852, IEEE, 2013. [27] A. Lanzon, A. Freddi, and S. Longhi, “Flight control of a quadrotor vehicle subsequent to a rotor failure,” Journal of Guidance, Control, and Dynamics , vol. 37, no. 2, pp. 580–591, 2014. [28] M. W. Mueller and R. DAndrea, “Relaxed hover solutions for mul- ticopters: Application to algorithmic redundancy and novel vehicles,” The International Journal of Robotics Research , p. 0278364915596233, 2015. [29] J. P. Hespanha and A. S. Morse, “Stability of switched systems with average dwell-time,” in Decision and Control, 1999. Proceedings of the 38th IEEE Conference on , vol. 3, pp. 2655–2660, IEEE, 1999. [30] H. Lin and P. J. Antsaklis, “Stability and stabilizability of switched linear systems: a survey of recent results,” IEEE Transactions on Automatic control , vol. 54, no. 2, pp. 308–322, 2009. [31] Y. Zhang, A. Chamseddine, C. Rabbath, B. Gordon, C.-Y. Su, S. Rakheja, C. Fulford, J. Apkarian, and P. Gosselin, “Development of advanced fdd and ftc techniques with application to an unmanned quadrotor helicopter testbed,” Journal of the Franklin Institute , vol. 350, no. 9, pp. 2396–2422, 2013. [32] G.-X. Du, “A control performance index for multicopters.” https://youtu.be/LehlPdjMmCI. [33] G.-X. Du, “A control performance index for multicopters.” http://v.youku.com/v show/id XMjQ2NzA0NDY0OA==.html.