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 are denoted as with , denoting the diagonal matrix with the elements of the argument in the main diagonal, and 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 rigid bodies subject to constraints. The frame is denoted with , while the remaining bodies are denoted with , where denotes the arm and denotes the component (Figure 1). For each arm, we denote with the length of the arm.
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 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.
Two reference frames are considered. The first reference frame is an earth fixed frame with a right-handed orthonormal triad , which is assumed to be inertial for simplicity. Then, a second frame with a right-handed orthonormal triad is placed in the geometric center of the frame . Reference frame is a rest frame for the quadrotor frame, i.e., it is a body fixed frame for (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]
where each term is as follows:
- is the position of (decomposed in );
- is the angular velocity of relative to (decomposed in );
- m is the total system mass, g is the gravitational acceleration, and and are the linear and angular friction coefficients;
- and are the gravitational and the (unknown) wind forces (decomposed in );
- is the vector containing the arm lengths of each motor (see Figure 1);
- is the arm-dependent center of mass (decomposed in );
- is the arm-dependent inertia matrix of the overall system, relative to the center of mass;
- and are the arm-dependent thrust and torque due to the actuators (both decomposed in );
- is the vector composed by the roll (), pitch (), and yaw angles, which let us express the rotation matrix from to , denoted as , aswhere and are considered for the sake of brevity;
- 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 , .
For a brief description, let us denote the mass of the body with , and the vector connecting the body frame with the body with (decomposed in ). The remaining variables are as follows.
2.1. Total Mass
The total mass m is the constant real number
2.2. Center of Mass
The center of mass is the arm-dependent vector
2.3. Inertia Matrix
The inertia is the arm-dependent matrix
where each denotes the inertia of the body relative to axes which are parallel to , , and , and which pass through the center of mass, i.e., parallel the axes. In turn, each is dependent from the geometric dimensions, i.e., from the width , the length , the height , and the orientation of (see Figure 1). Denoting the angle of the i-th arm with (around , from , as depicted in Figure 1), the orientation of the body is described by the rotation matrix
Using the s and s, it is possible to express the inertia matrices through the parallel axis theorem. The reader can refer to [13,15,25] for details about the calculation of each .
2.4. Actuation Force and Moment
For each propeller i, let be the (scalar) upward lift force. Then is the vector lift force (decomposed in ), and the actuation force is
The actuation torque can be decomposed into the thrust component and the drag component, namely . In particular, we have
where and are the lift and drag coefficients, while if the i-th motor rotates counter-clockwise, and otherwise.
2.5. Inputs and Faults
Each lift force is assumed directly controlled, hence the vector serves as control input. The extension of each arm is performed by a servomotor, which can be affected by a stuck fault. If denotes the nominal length (the reference for ), the servomotor provides
where in case of a stuck fault, the constant is unknown. Introducing the stuck offset , where is the stuck offset of the i-th arm, we have
Remark 5.
In the following, the assumption of at most one stuck fault at a time is made, that is, if for some i, then for . In these terms, Fault Detection (FD) consists of determining if for some i, Fault Isolation (FI) consists of determining which i is such that , and Fault Identification (FId) consists of the estimation of .
Remark 6.
Both u and are available inputs. The inputs u are fast and can be used for actual flight control; on the other hand, the inputs 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 will play a main role in the active stuck fault isolation. To this end, let be the desired/optimal arm lengths provided by the external module; ideally, we would like to achieve by setting . This will be not true during FI.
Remark 7.
In a matrix-like fashion, it is possible to rewrite and in terms of u as
where is the control force input matrix and is the so called control moment input matrix [27]. Trivially,
while will be exploited later.
Remark 8.
Note that , J and 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
- The overall geometry of each arm is identical to the others. In particular, the geometry constraints of each fixed arm and telescopic arm lead towhile the geometry constraints of each motor and rotor lead to
- For each arm, the mass of each component is equal to the corresponding component of the other arms, which leads to
- Motors 1 and 3 are counter-clockwise, while 2 and 4 are clockwise, henceSeveral implications follow.
- The total mass of the system is
- Since and , for each vector we have
Remark 9.
The center of mass is linear in l. In particular, we have , where
See Appendix A.1 for details.
Remark 10.
The actuation torque is affine in l, that is, it can be rewritten as , where and . Moreover, is linear in u and it can be rewritten as , where
Finally, the i-th column of , denoted as , is linear in u, that is , where
where is defined as a matrix with zero elements but the element which is equal to “1”. See Appendix A.2 for details.
Remark 11.
Defining , it is possible to rewrite in a matrix fashion as
Remark 12.
The control moment input matrix can be rewritten as
Indeed, we have , and, at the same time,
Remark 13.
Consider the index
where the demanded arm lengths differ from the actual ones for one component only. Each arm is demanded a length of α i.e., , and the i-th arm is considered to have a stuck displacement . Therefore, we consider the indexes
Figure 2 shows the numerical evaluation of the index . The indexes are identical due to the symmetry of the system.
Figure 2.
Sensitivity indexes for . The calculation is performed with the numerical parameters reported in Section 6.
For each index, the evaluation is performed for (m), (m), and (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 (m), the variation of is up to . It is, however, reasonable to fix the arm set point in the middle range ( (m)), leading to a variation up to . Thus, for the rest of the paper, the design is performed assuming , which will be, therefore, simply written as J.
Table 1.
Fault signature matrix of the fault classes provided by . The isolation is achieved through the evaluation of the non-zero value of .
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
where and , such that
- 1.
- whenever no fault occurs, exhibits convergent dynamics;
- 2.
- whenever a fault occurs, at least one component of does not exhibit convergent dynamics.
If (36) is a (fault detection) residual generator, then is an (observer based) fault detection residue.
Remark 14.
In the common definitions, the fault detection residue is a scalar one, that is, for each t. This condition can be matched by considering the new residue .
Consider the dynamical system
where is a Hurwitz matrix.
Proposition 1.
If for , then is a (fault detection) residual generator.
Proof.
The residue dynamics are
If no telescopic arm is stuck, then , the residue r exhibits asymptotically stable dynamics. Let the j-th arm be the stuck one, i.e., let and for . The residue dynamics are then
and because , 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 be fault classes to isolate, and let us denote with the absence of faults. We assume in every instant of time one is active for some unknown i, while is not active for every .
Definition 2.
A (fault isolation) residual generator for is a dynamical system with the structure
where and , such that
- 1.
- whenever occurs, exhibits convergent dynamics for ;
- 2.
- whenever occurs, for , does not exhibit convergent dynamics, while exhibits convergent dynamics for each .
If (41) is a (fault isolation) residual generator for , then is a (directional observer-based) fault isolation residue.
In our purpose, we define the fault classes
Consider the dynamical system
where , and .
Proposition 2.
If for and for , then is a (fault isolation) residual generator for .
Proof.
We have
therefore, and
By differentiation, we have
In the absence of faults, we have for , and, therefore, both and exhibit asymptotically stable (mutually decoupled) dynamics. In case of a fault of class , we have for , and the residue dynamics are
hence exhibits an asymptotically stable dynamics, while does not. Finally, in the case of a fault of class , we have for , and the residue dynamics are
hence exhibits an asymptotically stable dynamics, while 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 is not able to isolate which arm is stuck, but just to isolate the pairs and . 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 and can, however, lead to finer isolation.
Let us split and into two subclasses each, considering that the overall fault classes
The residue generator can be modified for the isolation of the fault classes . To this end, consider the function defined as
Note that the function provides the absolute value of the arguments x whenever x is positive, while the function provides the absolute value for . From now on, we will consider the following assumption.
Assumption 1.
The inequalities
are satisfied for each t and for some .
Remark 17.
In practice, we have for each i. Then, noting that is the upward lift force at time t, Assumption (61) bounds the displacement between the 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 for each i, strictly positive control inputs are implied.
Lemma 1.
Consider as in Proposition (2) and let be the actual fault class.
- 1.
- If , then and exhibits asymptotically stable dynamics.
- 2.
- If , then exhibits asymptotically stable dynamics, while is achieved in finite time.
- 3.
- If , then exhibits asymptotically stable dynamics, while is achieved in finite time.
- 4.
- If , then exhibits asymptotically stable dynamics, while is achieved in finite time.
- 5.
- If , then exhibits asymptotically stable dynamics, while is achieved in finite time.
Proof.
Point 1 has been proven in Proposition (2), so let us discuss point 2. Direct calculations lead to
Since is a sub-case of , we have already proved that converges to zero. Let be strictly positive, that is, let . The rate of is
implying
which becomes strictly positive in finite time, depending on and . Let us now explore the remaining possibility for , that is, , for some . The rate of is
implying
which becomes strictly positive in finite time, depending on and . The remaining points proceed identically. □
Proposition 3.
Consider for and for . Then, the system together with the new output functions
is a (fault isolation) residual generator for .
Proof.
Just merge Lemma (1) with the fact that
□
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.
Table 2.
Fault signature matrix of the fault classes provided by . The first part of the table refers to the evaluation through the sign of , while the lower part refers to the evaluation through the non-zero value of .
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 and the nominal arm lengths . Because the overall system stability is strongly affected by forces, the input restriction is inspected for only.
Lemma 2.
Let be the actual fault class.
- 1.
- If and are strictly increasing, then becomes strictly decreasing after a finite time.
- 2.
- If and are strictly decreasing, then becomes strictly decreasing after a finite time.
Proof.
We discuss the first point. Let and . The stuck arm is the first, and . Then
and
Point 2 proceeds in the same way. □
Remark 19.
We actively set increasing/decreasing and , and then the stuck arm is determined based on which motion leads to . Not only the isolation is finally provided, but also an estimation of the stuck arm is provided. Indeed, when we have , and as discussed, all the residual components convergence to zero.
Remark 20.
The active isolation is described for the class . However, mirrored results hold for 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 represents the output, and it depends on the system state. The set of the supervisor states is
where:
- : no fault is detected or isolated. The output is ;
- : the i-th arm has been isolated (respectively, for some ) and the corresponding stuck fault is estimated as . Denoting the stuck arm with i, the output is for and ;
- and : the fault class for the first or for the second has been isolated (as described by the second “+” and “−” signs, respectively). Denoting the switching time with , the supervisor overrides and with the increasing commands (as described by the first “+” sign in both system states)
- and : the fault class (for the first) or (for the second) has been isolated. Denoting the switching time with , the supervisor overrides and with the decreasing commands
- and : the fault class (for the first) or (for the second) has been isolated. Denoting with the switching time, the supervisor overrides and with the increasing commands
- and : the fault class (for the first) or (for the second) has been isolated. Denoting the switching time as , the supervisor overrides and with the decreasing commands
The set of events is
where:
- : no fault class is currently isolated from the ;
- : the corresponding fault class has been isolated from the ;
- and : is achieved for the former, while for the latter;
- and : is achieved for the former, while for the latter.
The graphical supervisor transition map is reported in Figure 3.
Figure 3.
Supervisor. The active fault isolation is undertaken during . The events which triggers the active fault isolation are , while the only event which ends it is .
Remark 21.
The override signals let the related reference be piece-wise continuous, with piece-wise constant derivative (i.e., piece-wise constant speed). Moreover, (resp. ) 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 , , , . However, for robustness issues, a threshold-based evaluation is considered. More precisely, two thresholds are actually set, a first one denoted is considered during (i.e., when no active isolation is achieved), while a second threshold is considered for the remaining states (i.e., during the active isolation). In order to avoid high-frequency triggering events, we set . The difference , together with and 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 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 is waited before the evaluation of any event. Formally, we could model this by adding a new (temporized) condition
Then, each event is replaced with the new one
Remark 24.
Figure 4 represents the graphical point of view about the active isolation and stuck estimation. Based on the isolated fault class (), 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 is needed.
Figure 4.
During the active fault isolation (and estimation), both the arms in the isolated axis are increased/decreased.
Remark 25.
The overall active isolation procedure does not affect (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 be the estimation error. The disturbance observer
where is a Hurwitz matrix and
makes the estimation error dynamics
which is a bounded input bounded output linear time-invariant system (with respect to ) (see [25] for details).
Remark 27
(Inner loop). Let be an auxiliary input, where and . If , the regular static state feedback
provides the input–output decoupling between and , where
Moreover, let and be the time varying reference signals for and . The controls
make the overall closed-loop error system bounded input bounded output with respect to whenever the coefficients solve the pole placement (see [25] for details).
Remark 28
(Outer loop). Let us assume near hovering conditions (i.e., ) and let and be the error variables between and and their references and . The control law
where
forces the tracking error dynamics
The coefficients are then chosen according to a pole placement (see [25] for details).
The overall control scheme is reported in Figure 5.
Figure 5.
Control scheme. The vector describes the optimal/desired arm lengths provided by external software (e.g., an onboard artificial intelligence or a planning algorithm). Based on the residue , the supervisor detects/isolates/identificates a fault (), and eventually overrides with a new reference . Based on a stuck fault in the servomotors, the actual arm lengths l could differ from .
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 and 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.
Table 3. Geometric dimensions, dynamical parameters, and control parameters (see [29] for lift and drag coefficients). - 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 and , respectively. Finally, due to Kalman filtering, a smaller noise is assumed for simplicity on attitude, linear velocity, and linear position (i.e., , , , respectively).
- Input saturation. A saturation 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 .
- 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 is injected at s, meanwhile, all the arm lengths commands 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., ).
Figure 6.
Trajectory of . The red plot represents the reference, while the black one represents the actual position.
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 rad, and this is a consequence of the chosen control law parameters.
Figure 7.
Tracking of , , and .
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.
Figure 8.
Tracking of and . The reference signals are provided by the outer loop, which runs at a lower frequency. A zero-order hold is used between consecutive samples.
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.
Figure 9.
Wind components and their estimations.
The overall control inputs are reported in Figure 10. The saturation constraints are always matched.
Figure 10.
Control inputs.
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 s. The first arm is stuck, hence the decreasing desired arm length leads to , and the triggering of . The supervisor enters the active isolation phase (state , precisely) and overrides the arm length command for the pair . During the increase of and the residue decreases (while the remaining residues are approximately null), hence when the event triggers. The correct isolation is then achieved, together with an estimation of the stuck . The isolation is quite fast since the state directly moves the commanded signals toward the actual stuck arm length.
Figure 11.
Actual arm lengths, nominal arm lengths, and residual components in Scenario 1.
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 s. A stuck fault on is injected at 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 (in practice, ), hence the supervisor enters the active fault isolation phase (state , precisely). The demanded arm lengths and are then again overrided with increasing signals. However, during this phase, the residues will increase. When both and reach the maximum length, the supervisor state transition to happens, leading to decreasing references. Finally, as approaches to , the residue decreases, until . Then, the events triggers, the first arm is isolated as stuck and the actual arm length is estimated.
Figure 12.
Actual arm lengths, nominal arm lengths, and residual components in Scenario 2.
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 s. A stuck fault on is injected at 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 . 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 (the minimum number of transitions).
Figure 13.
Actual arm lengths, nominal arm lengths, and residual components in Scenario 3.
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 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 . The active policy demands an enlarging phase, which does not lead to a residue reduction: the transition to (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.
Figure 14.
Actual arm lengths, nominal arm lengths, and residual components in Scenario 4.
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:
| DO | Disturbance Observer |
| DOBC | Disturbance Observer-Based Control |
| FDD | Fault Detection and Diagnosis |
| FD | Fault Detection |
| FDI | Fault Detection and Isolation |
| FI | Fault Isolation |
| FId | Fault Identification |
| FTC | Fault Tolerant Control |
| NDO | Nonlinear Disturbance Observer |
| UAV | Unmanned Aerial Vehicle |
Appendix A
Appendix A.1. Proof of Remark 9
For compactness, consider the functions
where . For the symmetry of the rigid body , we have , and . Moreover, , hence
Additionally, we have and . For each arm i, we have
hence
Finally,
where, in the last step, it is noted that can be rewritten as
or, in a matrix fashion, as
Appendix A.2. Proof of Remark 10
First, note that
We have
and
The thrust torque is
and, considering that , we have , where
and
It is indeed noted that can be rewritten in a matrix fashion as
For , we have
and
Finally, the i-th column of is
References
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Shu, J.; Chirarattananon, P. A quadrotor with an origami-inspired protective mechanism. IEEE Robot. Autom. Lett. 2019, 4, 3820–3827. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Isermann, R. Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
- Chen, J.; Patton, R. Robust Model-Based Fault Diagnosis for Dynamic Systems; Springer: New York, NY, USA, 2012. [Google Scholar]
- 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]
- Fossen, T. Guidance and Control of Ocean Vehicles; Wiley: Hoboken, NJ, USA, 1994. [Google Scholar]
- 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]
- 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).
- 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]
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).













