Next Article in Journal
Quasi-Zero Stiffness Isolator Suitable for Low-Frequency Vibration
Previous Article in Journal
Optimization Research for the Adjusting Device of the Mechanical Vertical Drilling Tool Based on the Adjusting Torque
Previous Article in Special Issue
Reinforcement Learning-Based Dynamic Zone Placement Variable Speed Limit Control for Mixed Traffic Flows Using Speed Transition Matrices for State Estimation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Active Fault Diagnosis and Control of a Morphing Multirotor Subject to a Stuck Arm †

by
Alessandro Baldini
*,
Riccardo Felicetti
,
Alessandro Freddi
and
Andrea Monteriù
Department of Information Engineering, Università Politecnica delle Marche, Via Brecce Bianche 12, 60131 Ancona, Italy
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in 2022 30th Mediterranean Conference on Control and Automation (MED ’22), titled “Modeling and Control of a Telescopic Quadrotor Using Disturbance Observer Based Control”.
Machines 2023, 11(5), 511; https://doi.org/10.3390/machines11050511
Submission received: 30 March 2023 / Revised: 20 April 2023 / Accepted: 21 April 2023 / Published: 25 April 2023

Abstract

:
In this paper, we propose a fault tolerant control law for a morphing quadrotor, where the considered morphing ability is that of extendable/telescopic arms. This quite recent class of systems is able to provide a good trade-off between payload capabilities, maneuverability, and space occupancy. However, such degrees of freedom require dedicated servomotors, which in turn implies more possible faults. Thus, the problem of diagnosis for the telescopic servo motors subject to a stuck fault is considered. System symmetries are exploited and used in a residual generator design, which triggers an active fault isolation/identification phase. External disturbances are also taken into account and estimated through a nonlinear disturbance observer. A classical double-loop controller closes the loop, providing an overall control system structure that follows the disturbance observer-based control paradigm. The control scheme is validated through realistic numerical simulations, and the closed-loop performances are analyzed.

1. Introduction

The size of Unmanned Aerial Vehicles (UAVs) is not a detail, as for different sizes different challenges arise. For example, mini, micro, and nano UAVs [1,2] have been largely studied in the past years, but the downside of miniaturization is the lower payload, which is not acceptable in many applications. On the contrary, maneuvering becomes more involved as the vehicle mass and inertia increase, and, therefore, a trade-off between the system bandwidth and the maximum payload is a current research problem. The solution is investigated through two main layers, the actuation and the mechanical system structure of the UAV. Concerning the first, variable pitch actuators are the most remarkable example [3]. Among the advantages, they show faster time response, leading to reduced power requirements and motor size [4]. It is worth noting that variable pitch configurations allow downward thrusts (without reversing the angular speed of the propellers), thus showing increased fault tolerant capabilities [5,6]. Regarding the second, two alternative ways have been investigated to reduce the size without compromising payload capabilities. The first class to note is the so-called folding multirotors, which can be split into multi-joint structures [7] and continuous deformable structures, such as origami foldable structures [8]. Such systems consist of UAVs being able to be folded/disassembled after the operation, even reaching a pocket-size dimension for a comfortable transportation [9]. During the operation, however, they exhibit a fixed structure, and no system reconfiguration is allowed, except for exceptional triggering events [10]. The second class is represented by reconfigurable or morphing multirotors that allow for in-flight morphing of the UAV [11]. The most common degrees of freedom are represented by extensible arms [12] (telescopic or sliding arms) and rotating arms [13,14]. By transforming its structure, the UAV does modify its space occupancy, its inertia [15], and its maneuverability based on the required task [16]. From a control law perspective, the morphing ability represents an additional degree of freedom [17], which is usually handled by a continuous refresh of the center of mass, the inertia and the allocation matrices, leading to a morphology-dependent control. Thus, assuming the transformation is relatively slow, only minor modifications need to be applied to the most common control techniques, such as proportional integral control [18], linear quadratic regulator [13], and active disturbance rejection control [19]. External disturbances cope with the system dynamics in the same way as standard multirotors. Many estimation methods have been proposed in the literature, ranging from specific oriented solutions (see [20] and references therein) to general purpose solutions such as Disturbance Observer-Based Control (DOBC), where the disturbance attenuation is provided by an observer-based feed-forward law [21]. Finally, the transformation ability implies additional actuation degrees, which in turn means possible additional faults with respect to those of standard multirotors, due to the servomotors involved in the morphing mechanisms. Such an acquired over-actuation brings the need for directional residues, which we can find in the observer-based residual generators [22], a possible solution with strong evidence in the literature and general purpose results.
In this paper, we propose an active fault-tolerant control scheme for morphing quadrotors, where the terminology fault-tolerant refers to a control law which is able to cope with faults, and by active it is meant that the fault is directly estimated and feedforwarded in the control loop [23,24]. The solution extends our previous work [25], where a DOBC scheme which copes with external disturbances was designed by joining a Nonlinear Disturbance Observer (NDO) with an inner/outer loop feedback linearization control law. Thus, the main objective is that of extending [25] by considering stuck faults in the morphology-related servomotors. The considered morphing ability is that of telescopic arms (extendable arms), which represent a promising solution to flight into narrow spaces while keeping payload and maneuvering capabilities [12]. The diagnosis is performed by exploiting the system symmetries. It turns out that a classical bank of observers (i.e., a residual generator) is not sufficient to cope with the problem, which represents a main step for the solution. In particular, after one residual component triggers, an active fault isolation, and identification phase is required, i.e., the isolation/identification is performed by the injection of a specific class of control inputs.
The paper is structured as follows. In Section 2, we propose and detail the mathematical model of a telescopic quadrotor. System symmetries are discussed and exploited in Section 3. Section 4 handles the overall fault diagnosis, both the residual generator and the active fault diagnosis. Section 5 briefly recalls the DOBC solution provided in [25], which closes the loop. Finally, numerical simulations are discussed in Section 6, where masses and dimensions are taken from commercial components, and practical real-world problems (e.g., input saturation, sensor noise, and different sample rate between the two control loops) are also taken into account.

2. Mathematical Model

Remark 1.
From now on, standard basis vectors of  R n  are denoted as  e k  with  k = 1 , , n d i a g ( · )  denoting the diagonal matrix with the elements of the argument in the main diagonal, and  c o l ( · )  denoting a column vector whose elements are listed in the argument.
Telescopic quadrotors are quadrotors with extendable (telescopic) arms. The whole system can be considered as a collection of  N = 17  rigid bodies subject to constraints. The frame is denoted with  B 0 , while the remaining bodies are denoted with  B i , j , where  i { 1 , 2 , 3 , 4 }  denotes the arm and  j { 1 , 2 , 3 , 4 }  denotes the component (Figure 1). For each arm, we denote with  l i  the length of the arm.
Two reference frames are considered. The first reference frame is an earth fixed frame  R E = ( O E , T E )  with a right-handed orthonormal triad  T E = ( x E , y E , z E ) , which is assumed to be inertial for simplicity. Then, a second frame  R B = ( O B , T B )  with a right-handed orthonormal triad  T B = ( x B , y B , z B )  is placed in the geometric center  O B  of the frame  B 0 . Reference frame  R B  is a rest frame for the quadrotor frame, i.e., it is a body fixed frame for  B 0  (see Figure 1). For slowly varying arm lengths, the telescopic quadrotor can be approximated as a rigid body that has its own center of mass, denoted as G, and described by the following equations [26]
m p ¨ F = k t p ˙ F m R B E ( ω ˙ × r G B ( l ) + ω × ( ω × r G B ( l ) ) ) + F g E + R B E F m B ( l ) + F w E J ( l ) ω ˙ = k r ω ω × J ( l ) ω + M m B ( l ) η ˙ = T ( η ) ω ,
where each term is as follows:
  • p F = O E O B = col ( x F , y F , z F )  is the position of  R B  (decomposed in  R E );
  • ω = col ( p , q , r )  is the angular velocity of  R B  relative to  R E  (decomposed in  R B );
  • m is the total system mass, g is the gravitational acceleration, and  k t  and  k r  are the linear and angular friction coefficients;
  • F g E = m g e 3  and  F w E  are the gravitational and the (unknown) wind forces (decomposed in  R E );
  • l = col ( l 1 , , l 4 )  is the vector containing the arm lengths of each motor (see Figure 1);
  • r G B ( l ) = O B G  is the arm-dependent center of mass (decomposed in  R B );
  • J ( l )  is the arm-dependent inertia matrix of the overall system, relative to the center of mass;
  • F m B ( l )  and  M m B ( l )  are the arm-dependent thrust and torque due to the actuators (both decomposed in  R B );
  • η = col ( φ , θ , ψ )  is the vector composed by the roll ( φ ), pitch ( θ ), and yaw  ( ψ )  angles, which let us express the rotation matrix from  R B  to  R E , denoted as  R B E , as
    R B E = R B E ( η ) = c ψ c θ c ψ s φ s θ c φ s ψ s φ s ψ + c φ c ψ s θ c θ s ψ c φ c ψ + s φ s ψ s θ c φ s ψ s θ c ψ s φ s θ c θ s φ c φ c θ ,
    where  cos ( · ) = c ( · )  and  sin ( · ) = s ( · )  are considered for the sake of brevity;
  • T ( η )  is the kinematic coordinate transformation related to the adopted roll–pitch–yaw rotation.
Remark 2.
In (1), the time dependencies are omitted for the sake of brevity. We remark that both l and η are time-dependent variables.
Remark 3.
In the following, the arm and angle dependencies are often omitted for the sake of brevity.
Remark 4.
The following common approximations were made in the model [6]:
  • no torques due to the wind are considered;
  • additional forces and torques due to blade flapping are of a smaller magnitude and neglected;
  • the friction force is assumed to be linear, with proportional coefficients  k t k r .
For a brief description, let us denote the mass of the body  B i , j  with  m i , j , and the vector connecting the body frame with the body  B i , j  with  r i , j B = O B G i , j  (decomposed in  R B ). The remaining variables are as follows.

2.1. Total Mass

The total mass m is the constant real number
m = m 0 + i = 1 4 j = 1 4 m i , j .

2.2. Center of Mass

The center of mass is the arm-dependent vector
r G B = 1 m m 0 r 0 B + i = 1 4 j = 1 4 m i , j r i , j B .

2.3. Inertia Matrix

The inertia is the arm-dependent matrix
J = J 0 + i = 1 4 j = 1 4 J i , j ,
where each  J i , j  denotes the inertia of the body  B i , j  relative to axes which are parallel to  x B y B , and  z B , and which pass through the center of mass, i.e., parallel the  R B  axes. In turn, each  J i , j  is dependent from the geometric dimensions, i.e., from the width  w i , j , the length  l i , j , the height  h i , j , and the orientation of  B i , j  (see Figure 1). Denoting the angle of the i-th arm with  δ i  (around  z B , from  x B , as depicted in Figure 1), the orientation of the body  B i , j  is described by the rotation matrix
R i , j B = R i , j B ( δ i ) = cos ( δ i ) sin ( δ i ) 0 sin ( δ i ) cos ( δ i ) 0 0 0 1 , i = 1 , 2 , 3 , 4 , j = 1 , 2 , 3 , 4 .
Using the  R i , j B s and  r i , j B s, it is possible to express the inertia matrices  J i , j  through the parallel axis theorem. The reader can refer to [13,15,25] for details about the calculation of each  J i , j .

2.4. Actuation Force and Moment

For each propeller i, let  f i  be the (scalar) upward lift force. Then  f i B = f i e 3  is the vector lift force (decomposed in  R B ), and the actuation force is
F m B = i = 1 4 f i B = i = 1 4 f i e 3 .
The actuation torque  M m B  can be decomposed into the thrust component and the drag component, namely  M m B = M t h r u s t B + M d r a g B . In particular, we have
M t h r u s t B = i = 1 4 ( r i , 4 B r G B ) × f i e 3 ,
M d r a g B = i = 1 4 c w i c D c L f i e 3 ,
where  c L  and  c D  are the lift and drag coefficients, while  c w i = + 1  if the i-th motor rotates counter-clockwise, and  c w i = 1  otherwise.

2.5. Inputs and Faults

Each lift force  f i  is assumed directly controlled, hence the vector  u = col ( f 1 , f 2 , f 3 , f 4 )  serves as control input. The extension of each arm  l i  is performed by a servomotor, which can be affected by a stuck fault. If  l n i  denotes the nominal length (the reference for  l i ), the servomotor provides
l i = l n i if the i - th servomotor is healthy l ¯ i if the i - th servomotor is stuck ,
where in case of a stuck fault, the constant  l ¯ i  is unknown. Introducing the stuck offset  s o = col ( s 01 , s 02 , s 03 , s 04 ) , where  s o i = l ¯ i l n i  is the stuck offset of the i-th arm, we have
l = l n + s o .
Remark 5.
In the following, the assumption of at most one stuck fault at a time is made, that is, if  s o i 0  for some i, then  s o j = 0  for  j i . In these terms, Fault Detection (FD) consists of determining if  s o i 0  for some i, Fault Isolation (FI) consists of determining which i is such that  s o i 0 , and Fault Identification (FId) consists of the estimation of  l ¯ i .
Remark 6.
Both u and  l n  are available inputs. The inputs u are fast and can be used for actual flight control; on the other hand, the inputs  l n  are slow, and commonly set by an external module for specific maneuvers (e.g., a supervisory module which commands a shrinking/enlarging phase). As such, only u will be used for the tracking control goal, while  l n  will play a main role in the active stuck fault isolation. To this end, let  l = col ( l 1 , l 2 , l 3 , l 4 )  be the desired/optimal arm lengths provided by the external module; ideally, we would like to achieve  l = l  by setting  l n = l . This will be not true during FI.
Remark 7.
In a matrix-like fashion, it is possible to rewrite  F m B  and  M m B  in terms of u as
F m B = F 1 u ,       M m B = F 2 u ,
where  F 1 R 3 × 4  is the control force input matrix and  F 2  is the so called control moment input matrix [27]. Trivially,
F 1 = 0 0 0 0 0 0 0 0 1 1 1 1 ,
while  F 2  will be exploited later.
Remark 8.
Note that  r G B , J and  F 2  are arm-dependent and, as such, time-varying. These quantities can be calculated online. As such, in the next sections, their dependence on the arms’ length will be omitted for brevity.

3. Symmetries and Sensitivity

To design the fault detection, isolation, and identification policy of Section 4, the following symmetries are presented and will be exploited later.
  • The arms are counter-clockwise numbered and equally distributed on the so-called “x” configuration, leading to the angles
    δ i = π 4 + ( i 1 ) π 2 ,                     i = 1 , , 4 .
  • The overall geometry of each arm is identical to the others. In particular, the geometry constraints of each fixed arm  B i , 1  and telescopic arm  B i , 2  lead to
    w i , j = w 1 , j , i = 2 , 3 , 4 , j = 1 , 2 ,
    l i , j = l 1 , j , i = 2 , 3 , 4 , j = 1 , 2 ,
    h i , j = h 1 , j , i = 2 , 3 , 4 , j = 1 , 2 ,
    while the geometry constraints of each motor  B i , 3  and rotor  B i , 4  lead to
    r i , j = r 1 , j , i = 2 , 3 , 4 , j = 3 , 4 ,
    h i , j = h 1 , j , i = 2 , 3 , 4 , j = 3 , 4 .
  • For each arm, the mass of each component is equal to the corresponding component of the other arms, which leads to
    m i , j = m 1 , j , i = 2 , 3 , 4 , j = 1 , 2 , 3 , 4 .
  • Motors 1 and 3 are counter-clockwise, while 2 and 4 are clockwise, hence
    c w i = ( 1 ) i + 1 ,                     i = 1 , 2 , 3 , 4 .
    Several implications follow.
  • The total mass of the system is
    m = m 0 + 4 ( m 1 , 1 + m 1 , 2 + m 1 , 3 + m 1 , 4 ) .
  • Since  δ 3 = δ 1 + π  and  δ 4 = δ 2 + π , for each vector  v span { e 1 , e 2 }  we have
    R 3 , j B v = R 1 , j B v ,                       j = 1 , 2 , 3 , 4 ,
    R 4 , j B v = R 2 , j B v ,                       j = 1 , 2 , 3 , 4 .
Remark 9.
The center of mass  r G B  is linear in l. In particular, we have  r G B = K G l , where
K G = 2 2 m 1 , 2 + m 1 , 3 + m 1 , 4 m 1 1 1 1 1 1 1 1 0 0 0 0 .
See Appendix A.1 for details.
Remark 10.
The actuation torque  M m B  is affine in l, that is, it can be rewritten as  M m B = v ( u ) + K m ( u ) l , where  v ( u ) R 3  and  K m ( u ) R 3 × 4 . Moreover,  v ( u )  is linear in u and it can be rewritten as  v ( u ) = K v u , where
K v = l 0 2 l 0 2 l 0 2 l 0 2 w 0 2 w 0 2 w 0 2 w 0 2 c D c L c D c L c D c L c D c L .
Finally, the i-th column of  K m ( u ) , denoted as  K m i ( u ) , is linear in u, that is  K m i ( u ) = D i u , where
D i = R i , 1 B E 2 , i m 1 , 2 + m 1 , 3 + m 1 , 4 m R i , 1 B ( E 2 , 1 + E 2 , 2 + E 2 , 3 + E 2 , 4 ) ,
where  E i , j R 3 × 4  is defined as a matrix with zero elements but the  i , j  element which is equal to “1”. See Appendix A.2 for details.
Remark 11.
Defining  m ¯ = m 1 , 2 + m 1 , 3 + m 1 , 4 m , it is possible to rewrite  D 1 , D 2 , D 3 , D 4  in a matrix fashion as
D 1 = R 1 , 1 B 0 0 0 0 1 m ¯ m ¯ m ¯ m ¯ 0 0 0 0 , D 2 = R 2 , 1 B 0 0 0 0 m ¯ 1 m ¯ m ¯ m ¯ 0 0 0 0 ,
D 3 = R 3 , 1 B 0 0 0 0 m ¯ m ¯ 1 m ¯ m ¯ 0 0 0 0 , D 4 = R 4 , 1 B 0 0 0 0 m ¯ m ¯ m ¯ 1 m ¯ 0 0 0 0 .
Remark 12.
The control moment input matrix  F 2  can be rewritten as
F 2 = K v + l 1 D 1 + + l 4 D 4 .
Indeed, we have  M m B = F 2 u , and, at the same time,
M m B = K v u + K m ( u ) l
                  = K v u + i = 1 4 ( l i D i u )
                          = ( K v + i = 1 4 ( l i D i ) ) u .
Remark 13.
Consider the index
| | J ( l n ) J ( l ) | | | | J ( l ) | | ,
where the demanded arm lengths  l n  differ from the actual ones for one component only. Each arm is demanded a length of α i.e.,  l n = c o l ( α , α , α , α ) α ¯ , and the i-th arm is considered to have a stuck displacement  s o i . Therefore, we consider the indexes
r i , α ( s o i ) = | | J ( α ¯ ) J ( α ¯ + e i s o i ) | | | | J ( α ¯ + e i s o i ) | | , i = 1 , , 4 .
Figure 2 shows the numerical evaluation of the index  r 1 , α . The indexes  r 2 , α , r 3 , α , r 4 , α  are identical due to the symmetry of the system.
For each index, the evaluation is performed for  α = 0.2  (m),  α = 0.3  (m), and  α = 0.4  (m), which represent the (minimum, average, and maximum) lengths of the arms of the vehicle used in the numerical simulations, as described in Table 1. In the worst case, that is, when the stuck offset is  0.2  (m), the variation of  | | J ( l ) | |  is up to  30 % . It is, however, reasonable to fix the arm set point in the middle range ( α = 0.3  (m)), leading to a variation up to  15 % . Thus, for the rest of the paper, the design is performed assuming  J ( l ) J ( l n ) , which will be, therefore, simply written as J.

4. Fault Detection, Isolation, and Identification

4.1. Fault Detection

Following [22], we approach the problem in the following way.
Definition 1.
A (fault detection) residual generator is a dynamic system with the structure
z ˙ = f ( z , u , p F , p ˙ F , ω , η ) , r = h ( z , u , p F , p ˙ F , ω , η ) ,
where  z ( t ) R n z  and  r ( t ) R n r , such that
1. 
whenever no fault occurs,  r ( t )  exhibits convergent dynamics;
2. 
whenever a fault occurs, at least one component of  r ( t )  does not exhibit convergent dynamics.
If (36) is a (fault detection) residual generator, then  r ( t )  is an (observer based) fault detection residue.
Remark 14.
In the common definitions, the fault detection residue  r ( t )  is a scalar one, that is,  r ( t ) R  for each t. This condition can be matched by considering the new residue  | | r ( t ) | | .
Consider the dynamical system
Σ F D : z ˙ = k r J 1 ω J 1 ( ω × J ω ) + J 1 v ( u ) + J 1 K m ( u ) l n + H ( ω z ) r = ω z ,
where  H R 3 × 3  is a Hurwitz matrix.
Proposition 1.
If  u ( t ) ker ( D i )  for  i = 1 , , 4 , then  Σ F D  is a (fault detection) residual generator.
Proof. 
The residue dynamics are
r ˙ = H r + J 1 K m s o .
If no telescopic arm is stuck, then  s o = 0 , the residue r exhibits asymptotically stable dynamics. Let the j-th arm be the stuck one, i.e., let  s o j ( t ) 0  and  s o i ( t ) = 0  for  i j . The residue dynamics are then
r ˙ = H r + ( J 1 K m e j ) s o j
= H r + ( J 1 D j u ) s o j ,
and because  ( J 1 D j u ) s o j 0 r ( t )  does not converge to the origin. □

4.2. Fault Isolation

Following again a simplified version of [22], we approach the fault isolation problem as follows. Let  C 1 , , C k  be fault classes to isolate, and let us denote with  C 0  the absence of faults. We assume in every instant of time one  C i  is active for some unknown i, while  C j  is not active for every  j i .
Definition 2.
A (fault isolation) residual generator for  C 1 , , C k  is a dynamical system with the structure
z ˙ = f ( z , u , p F , p ˙ F , ω , η ) , r i = h i ( z , u , p F , p ˙ F , ω , η ) , i = 1 , , k ,
where  z ( t ) R n z  and  r i ( t ) R , such that
1. 
whenever  C 0  occurs,  r i ( t )  exhibits convergent dynamics for  i = 1 , , k ;
2. 
whenever  C i  occurs, for  i { 1 , , k } r i ( t )  does not exhibit convergent dynamics, while  r j ( t )  exhibits convergent dynamics for each  j i .
If (41) is a (fault isolation) residual generator for  C 1 , , C k , then  r ( t ) = col ( r 1 ( t ) , , r k ( t ) )  is a (directional observer-based) fault isolation residue.
In our purpose, we define the fault classes
C 0 : if s o 1 = s o 2 = s o 3 = s o 4 = 0 ,
C 1 : if s o 1 0 or s o 3 0 ,
C 2 : if s o 2 0 or s o 4 0 .
Consider the dynamical system
Σ F D I : z ˙ 1 = k r v 1 T ω v 1 T ( ω × J ω ) + v 1 T v ( u ) + v 1 T K m ( u ) l n + H 1 ( v 1 T J ω z 1 ) z ˙ 2 = k r v 2 T ω v 2 T ( ω × J ω ) + v 2 T v ( u ) + v 2 T K m ( u ) l n + H 2 ( v 2 T J ω z 2 ) r 1 = v 1 T J ω z 1 r 2 = v 2 T J ω z 2 ,
where  H 1 , H 2 > 0 v 1 = e 1 + e 2  and  v 2 = e 1 + e 2 .
Proposition 2.
If  u ker ( v 1 T D i )  for  i = 1 , 3  and  u ker ( v 2 T D j )  for  j = 2 , 4 , then  Σ F D I  is a (fault isolation) residual generator for  C 1 , C 2 .
Proof. 
We have
ker ( D 1 T ) = ker ( D 3 T ) = span e 1 + e 2 , e 3 ,
ker ( D 2 T ) = ker ( D 4 T ) = span e 1 e 2 , e 3 ,
therefore,  v 1 T D 2 = v 1 T D 4 = v 2 T D 1 = v 2 T D 3 = 0  and
v 1 T D 1 0 v 1 T D 3 0 v 2 T D 2 0 v 2 T D 4 0 .
By differentiation, we have
r ˙ 1 = H 1 r 1 + ( v 1 T D 1 u ) s o 1 + ( v 1 T D 3 u ) s o 3
r ˙ 2 = H 2 r 2 + ( v 2 T D 2 u ) s o 2 + ( v 1 T D 4 u ) s o 4 .
In the absence of faults, we have  s o i ( t ) = 0  for  i = 1 , , 4 , and, therefore, both  r 1 ( t )  and  r 2 ( t )  exhibit asymptotically stable (mutually decoupled) dynamics. In case of a fault of class  C 1 , we have  s o i ( t ) 0  for  i { 1 , 3 } , and the residue dynamics are
                                            r ˙ 1 = H 1 r 1 + ( v 1 T D i u ) s o i
r ˙ 2 = H 2 r 2 ,
hence  r 2 ( t )  exhibits an asymptotically stable dynamics, while  r 1 ( t )  does not. Finally, in the case of a fault of class  C 2 , we have  s o j ( t ) 0  for  j { 2 , 4 } , and the residue dynamics are
r ˙ 1 = H 1 r 1
                                                r ˙ 2 = H 2 r 2 + ( v 2 T D j u ) s o j ,
hence  r 1 ( t )  exhibits an asymptotically stable dynamics, while  r 2 ( t )  does not. □
Remark 15.
The fault signature matrix provided by Proposition (2) is summarized in Table 1. In practice, the isolation is provided through a threshold-based policy.
Remark 16.
Without a specific control input, the filter  Σ F D I  is not able to isolate which arm is stuck, but just to isolate the pairs  ( 1 , 3 )  and  ( 2 , 4 ) . This is a consequence of the symmetries of the system, and the motivation for achieving active isolation in the following. The diagnostic information provided by  r 1 ( t )  and  r 2 ( t )  can, however, lead to finer isolation.
Let us split  C 1  and  C 2  into two subclasses each, considering that the overall fault classes
C 0 : if s o 1 = s o 2 = s o 3 = s o 4 = 0 ,
C 1 + : if s o 1 > 0 or s o 3 < 0 ,
C 1 : if s o 1 < 0 or s o 3 > 0 ,
C 2 + : if s o 2 < 0 or s o 4 > 0 ,
C 2 : if s o 2 > 0 or s o 4 < 0 .
The residue generator  Σ F D I  can be modified for the isolation of the fault classes  C 1 + , C 1 , C 2 + , C 2 . To this end, consider the function  r a m p : R R  defined as
r a m p ( x ) = x x 0 0 x < 0 .
Note that the function  r a m p ( x )  provides the absolute value of the arguments x whenever x is positive, while the function  r a m p ( x )  provides the absolute value for  x < 0 . From now on, we will consider the following assumption.
Assumption 1.
The inequalities
f i ( t ) m ¯ ( f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t ) ) γ i , i = 1 , 2 , 3 , 4 ,
are satisfied for each t and for some  γ 1 , γ 2 , γ 3 , γ 4 > 0 .
Remark 17.
In practice, we have  f i ( t ) 0  for each i. Then, noting that  f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t )  is the upward lift force at time t, Assumption (61) bounds the displacement between the  f i ( t ) s. Thus, it bounds the motor torques, which is coherent with the saturation, as well as with the fact that during the flight the quadrotor exhibits relatively small angles. Additionally, because  f i ( t ) 0  for each i, strictly positive control inputs are implied.
Lemma 1.
Consider  Σ F D I  as in Proposition (2) and let  C  be the actual fault class.
1. 
If  C = C 0 , then  r 1 ( t )  and  r 2 ( t )  exhibits asymptotically stable dynamics.
2. 
If  C = C 1 + , then  r 2 ( t )  exhibits asymptotically stable dynamics, while  r 1 ( t ) > 0  is achieved in finite time.
3. 
If  C = C 1 , then  r 2 ( t )  exhibits asymptotically stable dynamics, while  r 1 ( t ) < 0  is achieved in finite time.
4. 
If  C = C 2 + , then  r 1 ( t )  exhibits asymptotically stable dynamics, while  r 2 ( t ) > 0  is achieved in finite time.
5. 
If  C = C 2 , then  r 1 ( t )  exhibits asymptotically stable dynamics, while  r 2 ( t ) < 0  is achieved in finite time.
Proof. 
Point 1 has been proven in Proposition (2), so let us discuss point 2. Direct calculations lead to
v 1 T D 1 u ( t ) = 2 ( f 1 ( t ) m ¯ ( f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t ) ) ) 2 γ 1 ,
v 1 T D 3 u ( t ) = 2 ( f 3 ( t ) m ¯ ( f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t ) ) ) 2 γ 3 ,
v 2 T D 2 u ( t ) = 2 ( f 2 ( t ) m ¯ ( f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t ) ) ) 2 γ 2 ,
v 2 T D 4 u ( t ) = 2 ( f 4 ( t ) m ¯ ( f 1 ( t ) + f 2 ( t ) + f 3 ( t ) + f 4 ( t ) ) ) 2 γ 4 .
Since  C 1 +  is a sub-case of  C 1 , we have already proved that  r 2 ( t )  converges to zero. Let  s o 1 ( t )  be strictly positive, that is, let  s o 1 ( t ) s m i n > 0 . The rate of  r 1 ( t )  is
r ˙ 1 = H 1 r 1 + ( v 1 T D 1 u ) s o 1 H 1 r 1 + 2 γ 1 s m i n ,
implying
r 1 ( t ) r 1 ( 0 ) 2 γ 1 s m i n H 1 e H 1 t + 2 γ 1 s m i n H 1 ,
which becomes strictly positive in finite time, depending on  r 1 ( 0 )  and  H 1 . Let us now explore the remaining possibility for  C 1 + , that is,  s o 3 ( t ) s m a x , for some  s m a x > 0 . The rate of  r 1 ( t )  is
r ˙ 1 = H 1 r 1 + ( v 1 T D 3 u ) s o 3 H 1 r 1 + 2 γ 3 s m a x ,
implying
r 1 ( t ) r 1 ( 0 ) 2 γ 3 s m a x H 1 e H 1 t + 2 γ 3 s m a x H 1 ,
which becomes strictly positive in finite time, depending on  r 1 ( 0 )  and  H 1 . The remaining points proceed identically. □
Proposition 3.
Consider  u ( t ) ker ( v 1 T D i )  for  i = 1 , 3  and  u ( t ) ker ( v 2 T D j )  for  j = 2 , 4 . Then, the system  Σ F D I  together with the new output functions
r 1 + = r a m p ( v 1 T J ω z 1 )
r 1 = r a m p ( v 1 T J ω + z 1 )
r 2 + = r a m p ( v 2 T J ω z 2 )
r 2 = r a m p ( v 2 T J ω + z 2 )
is a (fault isolation) residual generator for  C 1 + , C 1 , C 2 + , C 2 .
Proof. 
Just merge Lemma (1) with the fact that
r 1 + ( t ) = r a m p ( r 1 ( t ) ) ,     r 1 ( t ) = r a m p ( r 1 ( t ) ) ,
r 2 + ( t ) = r a m p ( r 2 ( t ) ) ,     r 2 ( t ) = r a m p ( r 2 ( t ) ) .
Remark 18.
The fault signature matrix provided by Lemma (1) and Proposition (3) is summarized in Table 2. In practice, the isolation is provided through a threshold-based policy.

4.3. Active Fault Isolation and Identification

Based on the residue evaluation, the isolation and identification are here discussed. The isolation is undertaken through an active approach. Fault isolation is said active if the isolation is provided through a restriction of the control input behavior, i.e., the control input is constrained to a subclass of signals. In the study case, the overall control inputs are the lift forces  u = col ( f 1 , f 2 , f 3 , f 4 )  and the nominal arm lengths  l n = col ( l n 1 , l n 2 , l n 3 , l n 4 ) . Because the overall system stability is strongly affected by forces, the input restriction is inspected for  l n  only.
Lemma 2.
Let  C 1 +  be the actual fault class.
1. 
If  s o 1 ( t ) > 0  and  l n 1 ( t ) , l n 3 ( t )  are strictly increasing, then  r 1 + ( t )  becomes strictly decreasing after a finite time.
2. 
If  s o 3 ( t ) < 0  and  l n 1 ( t ) , l n 3 ( t )  are strictly decreasing, then  r 1 + ( t )  becomes strictly decreasing after a finite time.
Proof. 
We discuss the first point. Let  s o 1 ( t ) > 0  and  l ˙ n 1 ( t ) , l ˙ n 3 ( t ) d m i n > 0 . The stuck arm is the first, and  s ˙ 01 ( t ) = l ˙ 1 ( t ) l ˙ n 1 ( t ) = l ˙ n 1 ( t ) d m i n . Then
s 01 ( t ) = s 01 ( t 0 ) + t 0 t s ˙ 01 ( τ ) d τ s 01 ( t 0 ) d m i n ( t t 0 ) ,
and
r ˙ 1 + = H 1 r 1 + + ( v 1 T D 1 u ) s 01
+ ( v 1 T D 1 u ) s 01 ( t 0 ) d m i n ( v 1 T D 1 u ) ( t t 0 )
                              2 γ 1 s 01 ( t 0 ) 2 d m i n γ 1 ( t t 0 ) .
Point 2 proceeds in the same way. □
Remark 19.
We actively set increasing/decreasing  l n 1 ( t )  and  l n 3 ( t ) , and then the stuck arm is determined based on which motion leads to  r 1 + ( t ) 0 . Not only the isolation is finally provided, but also an estimation of the stuck arm is provided. Indeed, when  l n i ( t ) l i  we have  s 01 ( t ) 0 , and as discussed, all the residual components convergence to zero.
Remark 20.
The active isolation is described for the class  C 1 + . However, mirrored results hold for  C 1 , C 2 + , C 2  due to the system symmetries, following the same steps.
Then, the supervisor can be described as a discrete event system, where the nominal arm lengths  l n ( t )  represents the output, and it depends on the system state. The set of the supervisor states is
S = { S 0 , S 1 , S 2 , S 3 , S 4 , S 13 + + , S 13 + , S 13 + , S 13 , S 24 + + , S 24 + , S 24 + , S 24 } ,
where:
  • S 0 : no fault is detected or isolated. The output is  l n ( t ) = l ( t ) ;
  • S 1 , S 2 , S 3 , S 4 : the i-th arm has been isolated (respectively, for some  i = 1 , 2 , 3 , 4 ) and the corresponding stuck fault is estimated as  l ¯ . Denoting the stuck arm with i, the output is  l n j ( t ) = l j ( t )  for  j i  and  l n i ( t ) = l ¯ i ;
  • S 13 + +  and  S 13 + : the fault class  C 1 +  for the first or  C 1  for the second has been isolated (as described by the second “+” and “−” signs, respectively). Denoting the switching time with  t 0 , the supervisor overrides  l n 1 ( t )  and  l n 3 ( t )  with the increasing commands (as described by the first “+” sign in both system states)
    l n i ( t ) = l n i ( t 0 ) + l m a x l n i ( t 0 ) T ( r a m p ( t t 0 ) r a m p ( t t 0 T ) ) , i = 1 , 3 ;
  • S 13 +  and  S 13 : the fault class  C 1 +  (for the first) or  C 1  (for the second) has been isolated. Denoting the switching time with  t 0 , the supervisor overrides  l n 1 ( t )  and  l n 3 ( t )  with the decreasing commands
    l n i ( t ) = l n i ( t 0 ) + l m i n l n i ( t 0 ) T ( r a m p ( t t 0 ) r a m p ( t t 0 T ) ) , i = 1 , 3 ;
  • S 24 + +  and  S 24 + : the fault class  C 2 +  (for the first) or  C 2  (for the second) has been isolated. Denoting with  t 0  the switching time, the supervisor overrides  l n 2 ( t )  and  l n 3 ( t )  with the increasing commands
    l n i ( t ) = l n i ( t 0 ) + l m a x l n i ( t 0 ) T ( r a m p ( t t 0 ) r a m p ( t t 0 T ) ) , i = 2 , 4 ;
  • S 24 +  and  S 24 : the fault class  C 2 +  (for the first) or  C 2  (for the second) has been isolated. Denoting the switching time as  t 0 , the supervisor overrides  l n 2 ( t )  and  l n 4 ( t )  with the decreasing commands
    l n i ( t ) = l n i ( t 0 ) + l m i n l n i ( t 0 ) T ( r a m p ( t t 0 ) r a m p ( t t 0 T ) ) , i = 2 , 4 ;
The set of events is
E = { C 0 , C 1 + , C 1 , C 2 + , C 2 , l 13 m a x , l 13 m i n , l 24 m a x , l 24 m i n } ,
where:
  • C 0 : no fault class is currently isolated from the  Σ F D I ;
  • C 1 + , C 1 , C 2 + , C 2 : the corresponding fault class has been isolated from the  Σ F D I ;
  • l 13 m a x  and  l 13 m i n l n 1 ( t ) = l n 3 ( t ) = l m a x  is achieved for the former, while  l n 1 ( t ) = l n 3 ( t ) = l m i n  for the latter;
  • l 24 m a x  and  l 24 m i n l n 2 ( t ) = l n 4 ( t ) = l m a x  is achieved for the former, while  l n 2 ( t ) = l n 4 ( t ) = l m i n  for the latter.
The graphical supervisor transition map is reported in Figure 3.
Remark 21.
The override signals let the related reference  l n i ( t )  be piece-wise continuous, with piece-wise constant derivative (i.e., piece-wise constant speed). Moreover,  l n i ( t + T ) = l m a x  (resp.  l n i ( t + T ) = l m i n ) is achieved in case of increasing (resp. decreasing) signal.
Remark 22.
The isolation is ideally achieved by the evaluation of the non-zero values of  r 1 + ( t ) r 1 ( t ) r 2 + ( t ) r 2 ( t ) . However, for robustness issues, a threshold-based evaluation is considered. More precisely, two thresholds are actually set, a first one denoted  t h 1 > 0  is considered during  S 0 , S 1 , S 2 , S 3 , S 4  (i.e., when no active isolation is achieved), while a second threshold  t h 2 > 0  is considered for the remaining states (i.e., during the active isolation). In order to avoid high-frequency triggering events, we set  t h 1 > t h 2 . The difference  t h 1 t h 2 , together with  t h 1  and  t h 2  themselves is a trade off between the robustness, the false negative/positive triggering events, and final estimation error of the stuck arm.
Remark 23.
The supervisor should be able to trigger whenever an event occurs. However, due to the noise, the residuals  r 1 + ( t ) , r 1 ( t ) , r 2 + ( t ) , r 2 ( t )  can pass the thresholds (up and down) with high frequency, causing high rate triggering events. Then, once a transition to a new state is achieved, a minimum time  t m i n > 0  is waited before the evaluation of any event. Formally, we could model this by adding a new (temporized) condition
o k t m i n = t r u e if the current state is active for at least t m i n seconds , f a l s e otherwise .
Then, each event  e E  is replaced with the new one
e = e and o k t m i n .
Remark 24.
Figure 4 represents the graphical point of view about the active isolation and stuck estimation. Based on the isolated fault class ( C 1 + , C 1 , C 2 + , C 2 ), the supervisor starts to provide increasing or decreasing nominal arm lengths of the involved pair. The procedure stops when all the residual components are under the threshold. As it can be seen in Figure 3, livelocks are, however, possible. Then, a correct evaluation of the thresholds and the residual generator gains  H 1 , H 2 , H 3 , H 4  is needed.
Remark 25.
The overall active isolation procedure does not affect  u ( t )  (directly). Then, there is no need to stop the system motion or force hovering.

5. Fault-Tolerant DOBC Control

The feedback linearization fault-tolerant tracking controller is based on [25], where a DOBC approach is adopted for wind estimation and compensation [21].
Remark 26
(Disturbance observer). Let  F ˜ w E ( t ) = F w E ( t ) F ^ w E ( t )  be the estimation error. The disturbance observer
Σ D O : s ˙ = H s H ( Φ + H p ˙ F ) F ^ w E = m s + m H p ˙ F ,
where  H R 3 × 3  is a Hurwitz matrix and
Φ = R B E S ( r G B ) J 1 S ( ω ) J ω R B E S 2 ( ω ) r G B + g e 3 + 1 m f z R B E e 3 + R B E S ( r G B ) J 1 M m B ,
makes the estimation error dynamics
F ˜ ˙ w E = H F ˜ w E + F ˙ w E ,
which is a bounded input bounded output linear time-invariant system (with respect to  F ˙ w E = 0 ) (see [25] for details).
Remark 27
(Inner loop). Let  v ( t ) = col ( v z ( t ) , v η ( t ) )  be an auxiliary input, where  v z ( t ) R  and  v η ( t ) R 3 . If  F ˜ w E ( t ) = 0 , the regular static state feedback
u = F 1 A 1 ( g ( ω , η , l ) + v )
provides the input–output decoupling between  ( z F , η )  and  ( v z , v η ) , where
g ( ω , η , l ) = e 3 T ( R B E S ( r G B ) J 1 S ( ω ) J ω R B E S 2 ( ω ) r G B + g e 3 ) 1 m e 3 T F ^ w E ( T ˙ ( η ) ω T ( η ) J 1 S ( ω ) J ω ) ,
A = 1 m e 3 T R B E e 3 e 3 T R B E S ( r G B ) J 1 0 T ( η ) J 1 .
Moreover, let  z F r ( t ) R  and  η r ( t ) = col ( φ r ( t ) , θ r ( t ) , ψ r ( t ) ) R 3  be the time varying reference signals for  z F ( t )  and  η ( t ) . The controls
v z = z ¨ F r α z 1 ( z ˙ F z ˙ F r ) α z 0 ( z F z F r ) ,
v η = η ¨ r α η 1 ( T ( η ) ω η ˙ r ) α η 0 ( η η r ) ,
make the overall closed-loop error system bounded input bounded output with respect to  F ˙ w E  whenever the coefficients  α z 1 , α z 0 , α η 1 , α η 0  solve the pole placement (see [25] for details).
Remark 28
(Outer loop). Let us assume near hovering conditions (i.e.,  φ ( t ) θ ( t ) 0 ) and let  e x ( t ) = x F ( t ) x F r ( t )  and  e y ( t ) = y F ( t ) y F r ( t )  be the error variables between  x F ( t )  and  y F ( t )  and their references  x F r ( t )  and  y F r ( t ) . The control law
φ r θ r = m f z s ψ c ψ c ψ s ψ e 1 T e 2 T ( Γ + 1 m F ^ w E ) + v x v y ,
where
Γ = R B E S ( r G B ) J 1 S ( ω ) J ω R B E S 2 ( ω ) r G B + g e 3 + R B E S ( r G B ) J 1 M m B ,
τ x = x ¨ F r α x 1 ( x ˙ F x ˙ F r ) α x 0 ( x F x F ) ,
τ y = y ¨ F r α y 1 ( y ˙ F y ˙ F r ) α y 0 ( y F y F ) ,
forces the tracking error dynamics
e ¨ x + α x 1 e ˙ x + α x 0 e x e 1 T F ˜ w
e ¨ y + α y 1 e ˙ y + α y 0 e y e 2 T F ˜ w .
The coefficients  α x 1 , α x 0 , α y 1 , α y 0  are then chosen according to a pole placement (see [25] for details).
The overall control scheme is reported in Figure 5.

6. Numerical Simulations

The solution is tested in simulation using MATLAB under the following settings.
  • Frequencies. The simulation is carried out for a total of 30 s. According to the double-loop structure, faster inner loop dynamics are achieved by both control parameters and different sample times. This solution takes into consideration computational limitations on a future implementation. In particular, the inner loop is simulated at 1 kHz, while the outer loop runs at 10 Hz. A zero order hold is applied for  φ r ( t )  and  θ r ( t )  between consecutive samples.
  • Plant parameters. The frame and fixed arms are those of a DJI Flamewheel 450, the telescopic arms are of the same size and mass as the fixed ones, and the electric motors are the T-Motor AirGear 350. Table 3 summarizes the geometric dimensions and the dynamic parameters.
  • Sensors and Inertial Measurement Unit (IMU). The commonly adopted MPU-9250 IMU [28] is taken into consideration. Additive white Gaussian noise is applied to accelerations and gyroscopes, with standard deviation  7.8480 · 10 2  and  5.5192 · 10 3 , respectively. Finally, due to Kalman filtering, a smaller noise is assumed for simplicity on attitude, linear velocity, and linear position (i.e.,  2.7596 · 10 3 1.5696 · 10 2 7.8480 · 10 3 , respectively).
  • Input saturation. A saturation  0 f i ( t ) 9 N  is considered for each actual lift force. The total mass of the system is 1.448 kg, resulting in a thrust-to-weight ratio equal to  2.5 .
  • Control parameters. All the control parameters have been heuristically set. The parameters for both the control law and the observer are summarized in Table 3.
In the following, four scenarios are simulated using the same tracking reference and the same control law parameters.

6.1. Scenario 1

A stuck fault on  l 1  is injected at  t = 10  s, meanwhile, all the arm lengths commands  l i ( t )  are decreasing after the fault injection. The overall demanded trajectory is an ascending helix for the first half of the simulation, and a descending helix for the second half of the simulation, as shown in Figure 6. The yaw angle is always kept at zero (i.e.,  ψ r ( t ) 0 ).
The tracking performances of the linear positions and the yaw angle are reported in Figure 7. Linear position tracking errors are negligible, and the error on the yaw angle  ψ  is acceptable: such error magnitude is up to  0.1  rad, and this is a consequence of the chosen control law parameters.
The roll and pitch are reported in Figure 8. The effect of the zero-order hold is visible since the references are step-wise signals. The inner loop is able to achieve the goal, almost reaching the reference components before the successive sample time.
The actual wind components and their estimations are reported in Figure 9. The disturbance observer is slower than the disturbance (due to the bandwidth of the observer), but it is able to provide a good estimation. Indeed, tracking is achieved with no displacement due to wind.
The overall control inputs are reported in Figure 10. The saturation constraints are always matched.
Let us now compare the active isolation and diagnosis for the simulated scenarios. Actual arm lengths, estimations, and residues are plotted in Figure 11. Each arm starts with its maximum extension, while a shrinking phase on each arm is demanded starting from  t = 10  s. The first arm is stuck, hence the decreasing desired arm length leads to  s o 1 ( t ) > 0 , and the triggering of  r 1 + ( t ) > 0 . The supervisor enters the active isolation phase (state  S 13 + + , precisely) and overrides the arm length command for the pair  ( 1 , 3 ) . During the increase of  l n 1 ( t )  and  l n 3 ( t )  the residue  r 1 + ( t )  decreases (while the remaining residues are approximately null), hence when  r 1 + ( t ) t h 2  the event  C 0  triggers. The correct isolation is then achieved, together with an estimation of the stuck  l ¯ 1 . The isolation is quite fast since the state  S 13 + +  directly moves the commanded signals toward the actual stuck arm length.

6.2. Scenario 2

In this scenario, each arm starts with its minimum extension, while an enlarging phase on each arm is demanded starting from  t = 10  s. A stuck fault on  l 1  is injected at  t = 10  s. Plots about fault isolation are summarized in Figure 12, while the plots about tracking performances will be not analyzed, as they are close to those of the first scenario. The stuck leads to  r 1 ( t ) > 0  (in practice,  r 1 ( t ) > t h 1 ), hence the supervisor enters the active fault isolation phase (state  S 13 + , precisely). The demanded arm lengths  l n 1 ( t )  and  l n 3 ( t )  are then again overrided with increasing signals. However, during this phase, the residues  r 1 ( t )  will increase. When both  l n 1 ( t )  and  l n 2 ( t )  reach the maximum length, the supervisor state transition to  S 13  happens, leading to decreasing references. Finally, as  l n 1 ( t )  approaches to  l ¯ 1 , the residue decreases, until  r 1 ( t ) < t h 2 . Then, the events  C 0  triggers, the first arm is isolated as stuck and the actual arm length is estimated.

6.3. Scenario 3

In this scenario, each arm starts with its maximum extension, while a shrinking phase on each arm is demanded starting from  t = 10  s. A stuck fault on  l 3  is injected at  t = 10  s. From the isolation and identification point of view, this scenario is interesting: even if the stuck fault is on the third arm, the same fault class of Scenario 2 needs to be isolated by the residual generator, while the final result provided by the active fault isolation is expected to be different. Plots about fault isolation are summarized in Figure 13, while the plots about tracking performances will be not analyzed, as they are close to those of the earlier scenarios. The supervisor detects a fault and isolates the fault class  C 1 + . Differently from the Scenario 2, the supervisor policy is now an optimal one: by shrinking each arm, the triggered residue suddenly decreases, the scenario is isolated in less time, and fault isolation is achieved through the states sequence  S 0 , S 13 + , S 3  (the minimum number of transitions).

6.4. Scenario 4

Finally, we consider a scenario where each arm starts with its minimum extension, while an enlarging phase on each arm is demanded starting from  t = 10  s. From the isolation and identification point of view, this scenario is the symmetric counterpart of Scenario 1. Plots about fault isolation are summarized in Figure 14, while the plots about tracking performances will be not analyzed, as they are close to those of the earlier scenarios. The overall isolation is accomplished through the state sequence  S 0 , S 13 + + , S 13 + , S 3 . The active policy demands an enlarging phase, which does not lead to a residue reduction: the transition to  S 13 +  (shrinking phase) is required for the goal. The supervisor policy is not optimal, but isolation and identification are achieved, and no stability issues arise during the active isolation.

7. Conclusions

The fault tolerant control of a telescopic quadrotor has been discussed. The fault diagnosis problem has been faced for servo motor stuck faults by exploiting the system symmetries. A residual generator provides the isolation into four fault classes, which in turn triggers an active fault isolation/identification phase, which finally solves the problem without constraining the lift forces. Indeed, such an active policy is handled by the supervisor, which has the main role of directly providing increasing/decreasing arm reference signals, ending the diagnosis. The wind is also taken into account and managed through a DOBC approach. The proposed solution is finally tested in simulation, where it can be seen how the goal is reached even under noise, actuators saturation, and model approximation.
Among the possible limitations which still affect the solution, we mention how the scheme is designed under the assumption of stuck faults only. Then, distinguishing between propeller faults and stuck servo faults is a future work, as well as extending the morphing degree of freedoms, and, finally, a hardware implementation of the solution.

Author Contributions

Conceptualization, A.B., R.F., A.F. and A.M.; methodology, A.B.; software, A.B. and R.F.; validation, A.B. and R.F.; formal analysis, A.B. and A.F.; writing—original draft preparation, A.B. and A.F.; writing—review and editing, R.F. and A.M.; visualization, A.B.; supervision, A.M.; project administration, A.F. and A.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data sharing not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
DODisturbance Observer
DOBCDisturbance Observer-Based Control
FDDFault Detection and Diagnosis
FDFault Detection
FDIFault Detection and Isolation
FIFault Isolation
FIdFault Identification
FTCFault Tolerant Control
NDONonlinear Disturbance Observer
UAVUnmanned Aerial Vehicle

Appendix A

Appendix A.1. Proof of Remark 9

For compactness, consider the functions
c x ( δ ) = cos ( δ ) | cos ( δ ) | , c y ( δ ) = sin ( δ ) | sin ( δ ) | ,
where  δ k π 2 . For the symmetry of the rigid body  B 0 B 1 , 1 B 1 , 2 B 1 , 3 B 1 , 4 , we have  r 1 , 1 B = r 3 , 1 B r 2 , 1 B = r 4 , 1 B  and  m 1 , 1 = m 2 , 1 = m 3 , 1 = m 4 , 1 . Moreover,  r 0 B = 0 , hence
1 m m 0 r 0 B + i = 1 4 m i , 1 r i , 1 B = 0 .
Additionally, we have  R 1 , 1 B e 1 = R 1 , 3 B e 1  and  R 2 , 1 B e 1 = R 3 , 3 B e 1 . For each arm i, we have
r i , 4 B = r i , 3 B = c x ( δ i ) w 0 2 e 1 + c y ( δ i ) l 0 2 e 2 + l i R i , 1 B e 1 ,
r i , 2 B = r i , 4 B w i , 2 2 R i , 1 B e 1 ,
hence
i = 1 4 r i , 4 B = i = 1 4 r i , 3 B = i = 1 4 c x ( δ i ) w 0 2 e 1 + i = 1 4 c y ( δ i ) l 0 2 e 2 + i = 1 4 l i R i , 1 B e 1
= i = 1 4 l i R i , 1 B e 1 ,         
i = 1 4 r i , 2 B = i = 1 4 r i , 4 B i = 1 4 w i , 2 2 R i , 1 B e 1       
= i = 1 4 r i , 4 B 4 w 1 , 2 2 i = 1 4 R i , 1 B e 1
= i = 1 4 r i , 4 B .          
Finally,
r G B = 1 m m 0 r 0 B + i = 1 4 j = 1 4 m i , j r i , j B
        = 1 m m 0 r 0 B + i = 1 4 m i , 1 r i , 1 B + 1 m i = 1 4 j = 2 4 m i , j r i , j B
         = 1 m i = 1 4 m i , 2 r i , 2 B + i = 1 4 m i , 3 r i , 3 B + i = 1 4 m i , 4 r i , 4 B
        = 1 m m 1 , 2 i = 1 4 r i , 2 B + m 1 , 3 i = 1 4 r i , 3 B + m 1 , 4 i = 1 4 r i , 4 B
= m 1 , 2 + m 1 , 3 + m 1 , 4 m i = 1 4 r i , 4 B
= m 1 , 2 + m 1 , 3 + m 1 , 4 m i = 1 4 l i R i , 1 B e 1
= K G l ,           
where, in the last step, it is noted that  K G  can be rewritten as
K G = m 1 , 2 + m 1 , 3 + m 1 , 4 m R 1 , 1 B e 1 R 2 , 1 B e 1 R 3 , 1 B e 1 R 4 , 1 B e 1 ,
or, in a matrix fashion, as
K G = m 1 , 2 + m 1 , 3 + m 1 , 4 m cos ( δ 1 ) cos ( δ 2 ) cos ( δ 3 ) cos ( δ 4 ) sin ( δ 1 ) sin ( δ 2 ) sin ( δ 3 ) sin ( δ 4 ) 0 0 0 0 .

Appendix A.2. Proof of Remark 10

First, note that
( R i , 1 B e 1 ) × e 3 = R i , 1 B ( e 3 × e 1 ) = R i , 1 B e 2 .
We have
i = 1 4 r i , 4 B f i × e 3 = i = 1 4 f i c x ( δ i ) w 0 2 e 1 + c y ( δ i ) l 0 2 e 2 × e 3 i = 1 4 f i l i R i , 1 B e 1 × e 3
= i = 1 4 f i c y ( δ i ) l 0 2 e 1 c x ( δ i ) w 0 2 e 2 + i = 1 4 f i l i R i , 1 B e 2
and
i = 1 4 r G B × f i e 3 = i = 1 4 f i r G B × e 3 = i = 1 4 f i S 3 K G l .
The thrust torque is
M t h r u s t B = i = 1 4 ( r i , 4 B r G B ) × f i e 3
       = i = 1 4 ( f i r i , 4 B ) × e 3 + i = 1 4 r G B × f i e 3
            = i = 1 4 f i c y ( δ i ) l 0 2 e 1 c x ( δ i ) w 0 2 e 2 + i = 1 4 f i l i R i , 1 B e 2 i = 1 4 f i S 3 K G l ,
and, considering that  M m B = M d r a g B + M t o r q u e B , we have  M m B = v + K m l , where
v = i = 1 4 c w i c D c L f i i = 1 4 f i c y ( δ i ) l 0 2 e 1 c x ( δ i ) w 0 2 e 2
= i = 1 4 f i c w i c D c L e 3 c y ( δ i ) l 0 2 e 1 + c x ( δ i ) w 0 2 e 2   
= K v u ,                    
and
K m = f 1 R 11 B e 2 f 2 R 21 B e 2 f 3 R 31 B e 2 f 4 R 41 B e 2 i = 1 4 f i S 3 K G .
It is indeed noted that  K v  can be rewritten in a matrix fashion as
K v = c y ( δ 1 ) l 0 2 c y ( δ 2 ) l 0 2 c y ( δ 3 ) l 0 2 c y ( δ 4 ) l 0 2 c x ( δ 1 ) w 0 2 c x ( δ 2 ) w 0 2 c x ( δ 3 ) w 0 2 c x ( δ 4 ) w 0 2 c w 1 c D c L c w 2 c D c L c w 3 c D c L c w 4 c D c L .
For  i = 1 , , 4 , we have
f i R i , 1 B e 2 = R i , 1 B E 2 , 1 u
and
j = 1 4 f j R i , 1 B e 2 = j = 1 4 f j R i , 1 B e 2
              = R i , 1 B e 2 R i , 1 B e 2 R i , 1 B e 2 R i , 1 B e 2 u
              = R i , 1 B ( E 2 , 1 + E 2 , 2 + E 2 , 3 + E 2 , 4 ) u .
Finally, the i-th column of  K m ( u )  is
K m i ( u ) = f i R i , 1 B e 2 m 1 , 2 + m 1 , 3 + m 1 , 4 m j = 1 4 f j S 3 R i , 1 B e 1
   = f i R i , 1 B e 2 m 1 , 2 + m 1 , 3 + m 1 , 4 m j = 1 4 f j R i , 1 B e 2
            = R i , 1 B E 2 , i u m 1 , 2 + m 1 , 3 + m 1 , 4 m R i , 1 B ( E 2 , 1 + E 2 , 2 + E 2 , 3 + E 2 , 4 ) u
= D i u .                 

References

  1. Pütsep, K.; Rassõlkin, A. Methodology for Flight Controllers for Nano, Micro and Mini Drones Classification. In Proceedings of the 2021 International Conference on Engineering and Emerging Technologies (ICEET), Istanbul, Turkey, 27–28 October 2021; pp. 1–8. [Google Scholar] [CrossRef]
  2. Longhi, M.; Taylor, Z.; Popović, M.; Nieto, J.; Marrocco, G.; Siegwart, R. RFID-Based Localization for Greenhouses Monitoring Using MAVs. In Proceedings of the 2018 IEEE-APS Topical Conference on Antennas and Propagation in Wireless Communications (APWC), Columbia, SC, USA, 10–14 September 2018; pp. 905–908. [Google Scholar] [CrossRef]
  3. Cutler, M.; How, J.P. Analysis and control of a variable-pitch quadrotor for agile flight. J. Dyn. Syst. Meas. Control 2015, 137, 101002. [Google Scholar] [CrossRef]
  4. Niemiec, R.; Gandhi, F.; Lopez, M.; Tischler, M. System identification and handling qualities predictions of an eVTOL urban air mobility aircraft using modern flight control methods. In Proceedings of the Vertical Flight Society 76th Annual Forum, Virtual, 5–8 October 2020. [Google Scholar]
  5. Wang, Z.; Groß, R.; Zhao, S. Controllability analysis and controller design for variable-pitch propeller quadcopters with one propeller failure. Adv. Control. Appl. Eng. Ind. Syst. 2020, 2, e29. [Google Scholar] [CrossRef]
  6. Baldini, A.; Felicetti, R.; Freddi, A.; Longhi, S.; Monteriù, A. Actuator fault tolerant control of variable pitch quadrotor vehicles. IFAC-PapersOnLine 2020, 53, 4095–4102. [Google Scholar] [CrossRef]
  7. Tuna, T.; Ovur, S.E.; Gokbel, E.; Kumbasar, T. Design and development of FOLLY: A self-foldable and self-deployable quadcopter. Aerosp. Sci. Technol. 2020, 100, 105807. [Google Scholar] [CrossRef]
  8. Peraza-Hernandez, E.A.; Hartl, D.J.; Malak, R.J., Jr.; Lagoudas, D.C. Origami-inspired active structures: A synthesis and review. Smart Mater. Struct. 2014, 23, 094001. [Google Scholar] [CrossRef]
  9. Mintchev, S.; Floreano, D. A pocket sized foldable quadcopter for situational awareness and reconnaissance. In Proceedings of the 2016 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Lausanne, Switzerland, 23–27 October 2016; pp. 396–401. [Google Scholar]
  10. Shu, J.; Chirarattananon, P. A quadrotor with an origami-inspired protective mechanism. IEEE Robot. Autom. Lett. 2019, 4, 3820–3827. [Google Scholar] [CrossRef]
  11. Avant, T.; Lee, U.; Katona, B.; Morgansen, K. Dynamics, hover configurations, and rotor failure restabilization of a morphing quadrotor. In Proceedings of the 2018 IEEE American Control Conference (ACC), Milwaukee, WI, USA, 27–28 June 2018; pp. 4855–4862. [Google Scholar]
  12. Brischetto, S.; Ciano, A.; Ferro, C.G. A multipurpose modular drone with adjustable arms produced via the FDM additive manufacturing process. Curved Layer. Struct. 2016, 3, 202–213. [Google Scholar] [CrossRef]
  13. Falanga, D.; Kleber, K.; Mintchev, S.; Floreano, D.; Scaramuzza, D. The foldable drone: A morphing quadrotor that can squeeze and fly. IEEE Robot. Autom. Lett. 2018, 4, 209–216. [Google Scholar] [CrossRef]
  14. Desbiez, A.; Expert, F.; Boyron, M.; Diperi, J.; Viollet, S.; Ruffier, F. X-Morf: A crash-separable quadrotor that morfs its X-geometry in flight. In Proceedings of the 2017 Workshop on Research, Education and Development of Unmanned Aerial Systems (RED-UAS), Linkoping, Sweden, 3–5 October 2017; pp. 222–227. [Google Scholar]
  15. Derrouaoui, S.; Guiatni, M.; Bouzid, Y.; Dib, I.; Moudjari, N. Dynamic modeling of a transformable quadrotor. In Proceedings of the 2020 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 1–4 September 2020; pp. 1714–1719. [Google Scholar]
  16. Zhao, M.; Kawasaki, K.; Chen, X.; Noda, S.; Okada, K.; Inaba, M. Whole-body aerial manipulation by transformable multirotor with two-dimensional multilinks. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 5175–5182. [Google Scholar]
  17. Pose, C.; Giribet, J. Multirotor fault tolerance based on center-of-mass shifting in case of rotor failure. In Proceedings of the 2021 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 15–18 June 2021; pp. 38–46. [Google Scholar]
  18. Kumar, R.; Deshpande, A.M.; Wells, J.Z.; Kumar, M. Flight control of sliding arm quadcopter with dynamic structural parameters. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 24 October 2020–24 January 2021; pp. 1358–1363. [Google Scholar]
  19. Xu, C.; Yang, Z.; Zhang, Z.; Xu, H.; Wu, J.; Zhou, D.; Liao, L.; Zhang, Q. Design and Control of a Deformable Trees-Pruning Aerial Robot. Complexity 2020, 2020, 6627339. [Google Scholar] [CrossRef]
  20. Tomić, T.; Ott, C.; Haddadin, S. External wrench estimation, collision detection, and reflex reaction for flying robots. IEEE Trans. Robot. 2017, 33, 1467–1482. [Google Scholar] [CrossRef]
  21. Li, S.; Yang, J.; Chen, W.; Chen, X. Disturbance Observer-Based Control: Methods and Applications; CRC Press: Boca Raton, FL, USA; Taylor & Francis Group: Abingdon, UK, 2017. [Google Scholar]
  22. De Persis, C.; Isidori, A. A geometric approach to nonlinear fault detection and isolation. IEEE Trans. Autom. Control 2001, 46, 853–865. [Google Scholar] [CrossRef]
  23. Isermann, R. Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  24. Chen, J.; Patton, R. Robust Model-Based Fault Diagnosis for Dynamic Systems; Springer: New York, NY, USA, 2012. [Google Scholar]
  25. Baldini, A.; Felicetti, R.; Freddi, A.; Longhi, S.; Monteriù, A. Modeling and Control of a Telescopic Quadrotor Using Disturbance Observer Based Control. In Proceedings of the 2022 30th Mediterranean Conference on Control and Automation (MED), Athens, Greece, 28 June–1 July 2022; pp. 396–402. [Google Scholar] [CrossRef]
  26. Fossen, T. Guidance and Control of Ocean Vehicles; Wiley: Hoboken, NJ, USA, 1994. [Google Scholar]
  27. Michieletto, G.; Ryll, M.; Franchi, A. Fundamental actuation properties of multirotors: Force–moment decoupling and fail–safe robustness. IEEE Trans. Robot. 2018, 34, 702–715. [Google Scholar] [CrossRef]
  28. TDK InvenSense. MPU-9250, Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking™ Device. 2016. Available online: https://invensense.tdk.com/download-pdf/mpu-9250-datasheet/ (accessed on 24 March 2023).
  29. Becker, M.; Sampaio, R.C.B.; Bouabdallah, S.; Perrot, V.d.; Siegwart, R. In-flight collision avoidance controller based only on OS4 embedded sensors. J. Braz. Soc. Mech. Sci. Eng. 2012, 34, 294–307. [Google Scholar] [CrossRef]
Figure 1. Schematic representations of the morphing quadrotor (left) and the telescopic arm (right). Each arm is independently controlled by a servomotor, possibly leading to an asymmetric structure. The telescopic arm is considered as a union of four bodies, where for each one the geometric dimensions are assumed known. For control purposes, as well as for a better interpretation, the overall arm length  l i  will be always made explicit. The bodies’ centers of mass are depicted with a bold point, and we assume they coincide with each body’s geometric center.
Figure 1. Schematic representations of the morphing quadrotor (left) and the telescopic arm (right). Each arm is independently controlled by a servomotor, possibly leading to an asymmetric structure. The telescopic arm is considered as a union of four bodies, where for each one the geometric dimensions are assumed known. For control purposes, as well as for a better interpretation, the overall arm length  l i  will be always made explicit. The bodies’ centers of mass are depicted with a bold point, and we assume they coincide with each body’s geometric center.
Machines 11 00511 g001
Figure 2. Sensitivity indexes for  J ( l ) . The calculation is performed with the numerical parameters reported in Section 6.
Figure 2. Sensitivity indexes for  J ( l ) . The calculation is performed with the numerical parameters reported in Section 6.
Machines 11 00511 g002
Figure 3. Supervisor. The active fault isolation is undertaken during  S 13 + + , S 13 + , S 13 + , S 13 , S 24 + + , S 24 + , S 24 + , S 24 . The events which triggers the active fault isolation are  C 1 + , C 1 , C 2 + , C 2 , while the only event which ends it is  C 0 .
Figure 3. Supervisor. The active fault isolation is undertaken during  S 13 + + , S 13 + , S 13 + , S 13 , S 24 + + , S 24 + , S 24 + , S 24 . The events which triggers the active fault isolation are  C 1 + , C 1 , C 2 + , C 2 , while the only event which ends it is  C 0 .
Machines 11 00511 g003
Figure 4. During the active fault isolation (and estimation), both the arms in the isolated axis are increased/decreased.
Figure 4. During the active fault isolation (and estimation), both the arms in the isolated axis are increased/decreased.
Machines 11 00511 g004
Figure 5. Control scheme. The vector  l  describes the optimal/desired arm lengths provided by external software (e.g., an onboard artificial intelligence or a planning algorithm). Based on the residue  r = col ( r 1 + , r 1 , r 2 + , r 2 ) , the supervisor detects/isolates/identificates a fault ( l ¯ i ), and eventually overrides  l  with a new reference  l n . Based on a stuck fault in the servomotors, the actual arm lengths l could differ from  l n .
Figure 5. Control scheme. The vector  l  describes the optimal/desired arm lengths provided by external software (e.g., an onboard artificial intelligence or a planning algorithm). Based on the residue  r = col ( r 1 + , r 1 , r 2 + , r 2 ) , the supervisor detects/isolates/identificates a fault ( l ¯ i ), and eventually overrides  l  with a new reference  l n . Based on a stuck fault in the servomotors, the actual arm lengths l could differ from  l n .
Machines 11 00511 g005
Figure 6. Trajectory of  p F ( t ) . The red plot represents the reference, while the black one represents the actual position.
Figure 6. Trajectory of  p F ( t ) . The red plot represents the reference, while the black one represents the actual position.
Machines 11 00511 g006
Figure 7. Tracking of  x F ( t ) y F ( t ) z F ( t )  and  ψ ( t ) .
Figure 7. Tracking of  x F ( t ) y F ( t ) z F ( t )  and  ψ ( t ) .
Machines 11 00511 g007
Figure 8. Tracking of  φ ( t )  and  θ ( t ) . The reference signals are provided by the outer loop, which runs at a lower frequency. A zero-order hold is used between consecutive samples.
Figure 8. Tracking of  φ ( t )  and  θ ( t ) . The reference signals are provided by the outer loop, which runs at a lower frequency. A zero-order hold is used between consecutive samples.
Machines 11 00511 g008
Figure 9. Wind components and their estimations.
Figure 9. Wind components and their estimations.
Machines 11 00511 g009
Figure 10. Control inputs.
Figure 10. Control inputs.
Machines 11 00511 g010
Figure 11. Actual arm lengths, nominal arm lengths, and residual components in Scenario 1.
Figure 11. Actual arm lengths, nominal arm lengths, and residual components in Scenario 1.
Machines 11 00511 g011
Figure 12. Actual arm lengths, nominal arm lengths, and residual components in Scenario 2.
Figure 12. Actual arm lengths, nominal arm lengths, and residual components in Scenario 2.
Machines 11 00511 g012
Figure 13. Actual arm lengths, nominal arm lengths, and residual components in Scenario 3.
Figure 13. Actual arm lengths, nominal arm lengths, and residual components in Scenario 3.
Machines 11 00511 g013
Figure 14. Actual arm lengths, nominal arm lengths, and residual components in Scenario 4.
Figure 14. Actual arm lengths, nominal arm lengths, and residual components in Scenario 4.
Machines 11 00511 g014
Table 1. Fault signature matrix of the fault classes  C 1 , C 2  provided by  Σ F D I . The isolation is achieved through the evaluation of the non-zero value of  r 1 ( t ) , r 2 ( t ) .
Table 1. Fault signature matrix of the fault classes  C 1 , C 2  provided by  Σ F D I . The isolation is achieved through the evaluation of the non-zero value of  r 1 ( t ) , r 2 ( t ) .
  C 0   C 1   C 2
  r 1 ( t ) 0   0 0
  r 2 ( t ) 00   0
Table 2. Fault signature matrix of the fault classes  C 1 + , C 1 , C 2 + , C 2  provided by  Σ F D I . The first part of the table refers to the evaluation through the sign of  r 1 ( t ) , r 2 ( t ) , while the lower part refers to the evaluation through the non-zero value of  r 1 + ( t ) , r 1 ( t ) , r 2 + ( t ) , r 2 ( t ) .
Table 2. Fault signature matrix of the fault classes  C 1 + , C 1 , C 2 + , C 2  provided by  Σ F D I . The first part of the table refers to the evaluation through the sign of  r 1 ( t ) , r 2 ( t ) , while the lower part refers to the evaluation through the non-zero value of  r 1 + ( t ) , r 1 ( t ) , r 2 + ( t ) , r 2 ( t ) .
  C 0   C 1 +   C 1   C 2 +   C 2
  r 1 ( t ) 0   > 0   < 0 00
  r 2 ( t ) 000   > 0   < 0
  r 1 + ( t ) 0   0 000
  r 1 ( t ) 00   0 00
  r 2 + ( t ) 000   0 0
  r 2 ( t ) 0000   0
Table 3. Geometric dimensions, dynamical parameters, and control parameters (see [29] for lift and drag coefficients).
Table 3. Geometric dimensions, dynamical parameters, and control parameters (see [29] for lift and drag coefficients).
ParametersVariablesValueUnit
Frame width and length   w 0 , l 0   0.1 (m)
Frame height   h 0   0.5 (m)
Fixed and telescopic arm widths w i , j  ( i 4 j 2 )   0.2 (m)
Fixed and telescopic arm lengths l i , j  ( i 4 j 2 )   0.025 (m)
Motor radius r i , 3  ( i 4 )   0.012 (m)
Rotor radius r i , 4  ( i 4 )   0.12 (m)
Fixed and telescopic arms heights h i , j  ( i 4 j 2 )   0.01 (m)
Motor heights h i , 3  ( i 4 )   0.03 (m)
Rotor heights h i , 4  ( i 4 )   0.003 (m)
Minimum arm length   l m i n   0.2 (m)
Maximum arm length   l m a x   0.4 (m)
Frame mass   m 0   0.8 (kg)
Fixed and telescopic arm masses m i , j  ( i 4 j 2 )   0.05 (kg)
Motor masses m i , 3  ( i 4 )   0.054 (kg)
Rotor masses m i , 4  ( i 4 )   0.008 (kg)
Total system massm   1.448 (kg)
Gravitational accelerationg   9.81 (m/s 2 )
Linear friction coefficient   k t   10 3 (N·s/m)
Angular friction coefficient   k r   10 2 (N·s·m)
Lift coefficient   c L   3.13 · 10 5 (N·s 2 )
Drag coefficient   c D   7.5 · 10 7 (N· m · s 2 )
Inner loop frequency   10 3 (Hz)
Outer loop frequency 10(Hz)
Control input lower saturation 0(N)
Control input upper saturation 9(N)
x F  and  y F  closed loop poles   1 , 2   ( )
z F  closed loop poles   1 , 2   ( )
φ  and  θ  closed loop poles   10 , 20   ( )
ψ  closed loop poles   1 , 2   ( )
Residual generator gains   H 1 , H 2 10   ( )
Observer gainH   4 I   ( )
Threshold 1   t h 1 10   ( )
Threshold 2   t h 2 3   ( )
Minimum time for each state   t m i n 1(s)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Baldini, A.; Felicetti, R.; Freddi, A.; Monteriù, A. Active Fault Diagnosis and Control of a Morphing Multirotor Subject to a Stuck Arm. Machines 2023, 11, 511. https://doi.org/10.3390/machines11050511

AMA Style

Baldini A, Felicetti R, Freddi A, Monteriù A. Active Fault Diagnosis and Control of a Morphing Multirotor Subject to a Stuck Arm. Machines. 2023; 11(5):511. https://doi.org/10.3390/machines11050511

Chicago/Turabian Style

Baldini, Alessandro, Riccardo Felicetti, Alessandro Freddi, and Andrea Monteriù. 2023. "Active Fault Diagnosis and Control of a Morphing Multirotor Subject to a Stuck Arm" Machines 11, no. 5: 511. https://doi.org/10.3390/machines11050511

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop