Next Article in Journal
Two-Color-Thermography for Temperature Determination in Laser Beam Welding of Low-Melting Materials
Next Article in Special Issue
A Novel Hierarchical Vision Transformer and Wavelet Time–Frequency Based on Multi-Source Information Fusion for Intelligent Fault Diagnosis
Previous Article in Journal
SPT: Single Pedestrian Tracking Framework with Re-Identification-Based Learning Using the Siamese Model
Previous Article in Special Issue
A Fault-Diagnosis Method for Railway Turnout Systems Based on Improved Autoencoder and Data Augmentation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fault-Tolerant Control of a Variable-Pitch Quadrotor under Actuator Loss of Effectiveness and Wind Perturbations

by
Alessandro Baldini
,
Riccardo Felicetti
,
Alessandro Freddi
*,† and
Andrea Monteriù
Department of Information Engineering, Università Politecnica delle Marche, 60131 Ancona, Italy
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Sensors 2023, 23(10), 4907; https://doi.org/10.3390/s23104907
Submission received: 29 March 2023 / Revised: 5 May 2023 / Accepted: 16 May 2023 / Published: 19 May 2023

Abstract

:
The actuator fault-tolerant control problem for a variable-pitch quadrotor is addressed under uncertain conditions. Following a model-based approach, the plant nonlinear dynamics are faced with a disturbance observer-based control and a sequential quadratic programming control allocation, where only kinematic data of the onboard inertial measurement unit are required for the fault-tolerant control, i.e., it does not require the measurement of the motor speed nor the current drawn by the actuators. In the case of almost horizontal wind, a single observer handles both faults and the external disturbance. The estimation of the wind is fed forward by the controller, while the actuator fault estimation is exploited in the control allocation layer, which copes with the variable-pitch nonlinear dynamics, thrust saturation, and rate limits. Numerical simulations in the presence of measurement noise show the capability of the scheme to handle multiple actuator faults in a windy environment.

1. Introduction

Multirotor helicopters are a class of Unmanned Aerial Vehicle (UAV) that are employed in a wide range of applications, resulting in one of the most appealing classes of vehicles for both research and industry. The standard quadrotor represents the most common configuration, which is equipped with four fixed-pitch blades connected to independent motors. Variable-Pitch Quadrotors (VPQs) can instead vary both the rotation speed of each motor and the blade pitch of each propeller, theoretically doubling the degrees of freedom of each actuator. VPQs are also known as collective pitch quadcopters or heliquads.
This results in many advantages, from which it is possible to list higher thrust rate of change, reverse thrust, reverse flight capabilities, and scaling well with size [1,2,3]. Moreover, the popular ArduPilot control suite supports VPQs using the Heliquad configuration. Despite this, VPQs still represent a market niche, where few commercial devices (e.g., the Assault Reaper 500, the Stingray 500, and the WLtoys Assassin V383, for recreational use) are available. In most of the scientific literature, however, custom prototypes (e.g., [4,5,6]) are developed to test algorithms and control strategies. Fixed-pitch quadrotors and VPQs have similar dynamics, while relevant differences arise in the control effectiveness matrix. This allows for identical control laws for both configurations, but VPQs require a more complex control allocation algorithm. The additional degrees of freedom, provided by the pitch angles, can be exploited to satisfy additional constraints, such as minimizing energy consumption, handling the presence of faults and failures (as defined in [7]), etc.
Specifically, the control allocation algorithm, which manages the redundancy while respecting constraints, strictly depends on two key factors: the thrust model and the choice of the control inputs.
As regards the thrust model, several mathematical models have been proposed in the literature to catch the relation between motor speed, pitch angle, as well as propeller size and shape [3,5,6,8,9].
As for the choice of the control inputs, a VPQ instead has eight inputs available in general (i.e., four motor speeds and four pitch angles), a relevant input redundancy which is perfectly suited to provide actuator fault tolerance while satisfying actuation constraints. Two issues must be faced in this case. The increased number of actuators entails higher manufacturing costs and smaller payloads due to the extra weight. Moreover, the non-linearity of the control allocation problem makes it harder to solve online. In any case, the solution in which both the pitch angle and the motor speed can independently concur in providing the requested thrusts and torques is investigated in the literature, as carried out in [9,10] and, partially, in [6,11].
Alternatively, some simplifications have been proposed in the literature. The simpler solution is to assume constant motor speeds and use pitch angles as control inputs, as proposed in [1,3,8,12,13]; in this case, four inputs are available, so the allocation problem is very simple and there is no redundancy at all. Employing a single central motor to drive the four propellers makes a decrease in costs, weight, and inertia possible. However, assuming the rotational speed is constant is just a choice to simplify the control scheme, and employing a time-varying speed, even with a single central motor, is feasible (see, for example, [12,14]). Taking into account a variable centralized motor speed allows for some input redundancy (five inputs) and thus enables for fault-tolerant control, which is the focus of this paper.
Any fault that can affect a conventional quadrotor can affect VPQs as well, and they can involve any part of the rotor system (e.g., ESC, motor, propeller). The most common class of actuator fault is a Loss of Effectiveness (LOE), i.e., the produced thrust is lower than the expected one. In fact, LOE may be the consequence of many issues: battery voltage drop [15], increased drag due to the blade pitch [5], and of course any physical damage to the blades [16]. However, as for the specific case of fault diagnosis and tolerant control for VPQs, few works can be found in the literature. In [17], the presence of a pitch lock-in-place is considered for a VPQ, and both fault diagnosis and fault-tolerant control are developed. The authors of [14] focus on the effects of a lock-in-place in a centrally powered VPQ, but no fault diagnosis or fault-tolerant control are proposed. Finally, in [18], a fault detection and fault-tolerant control strategy to face both pitch lock-in-place and motor LOE is proposed.
A major issue in control of multirotors is the presence of wind. In the UAV literature, both active and passive fault-tolerant control schemes have been employed to cope with the presence of wind. In [19], the authors model the aerodynamic effects, define the upper bounds, and then deal with the wind by means of a robust sliding mode control; in [20], extended state observers are instead employed to mitigate the effects of wind. The presence of external disturbances is also detrimental to the fault diagnosis task, as the effects of both the disturbances and faults may trigger a fault detection algorithm. In this paper, we show that horizontal wind can be managed for both the purposes of fault diagnosis and disturbance rejection by means of a single observer that estimates the actuator faults and the effects of the wind.
The main contribution of this paper is proposing a novel, complete fault-tolerant control scheme for a VPQ under actuator faults and wind, which consists of three main tasks: fault and disturbance estimation, non-linear control with disturbance rejection, and fault-tolerant control allocation. The proposed control strategy fills a gap in the literature because, to the best of the authors’ knowledge, there are no fault-tolerant control schemes for VPQs that take into account common external disturbances such as the wind. With respect to the authors’ previous works [17,18], in this paper, we consider the effects of wind that introduce significant complexity in the first two tasks, i.e., fault estimation and control. As an additional contribution, we propose a generalized strategy that is well-suited for both centrally powered VPQs and VPQs with four independent motors. In fact, the fault and disturbance estimation strategy, as well as the non-linear control law, does not depend on the choice of the control inputs (i.e., centralized or independent propeller speed). On the other hand, the control allocation algorithm must exploit redundancy to achieve fault tolerance, so the choice of the control inputs is relevant; however, the proposed control allocation algorithm is designed such that it suffices to enable an equality constraint to deal with a centrally powered VPQ (instead of a conventional one with four separate motors).
The paper is structured as follows. In Section 2, the mathematical model of the vehicle is detailed, including the characterization of variable-pitch propellers and the model of actuator faults to be faced. Section 3 is devoted to the design of a Non-linear Disturbance Observer (NDO) to estimate faults and disturbances. In Section 4, a double-loop controller to track position and orientation, despite the presence of external disturbances, is introduced. In Section 5, a control allocation strategy that redistributes the control effort by taking into account the presence of actuator faults is detailed. Simulation results to show the effectiveness of the overall fault-tolerant control strategy are proposed in Section 6. Finally, conclusions and future works end the paper.

2. Mathematical Model

The overall kinematics and dynamics of a generic multirotor, thus including variable-pitch quadrotors, can be approximated as that of a unique rigid body with six degrees of freedom [21]. Let us consider an earth-fixed frame R E = ( O E , x E , y E , z E ) , which is assumed to be inertial, and a body-fixed frame R B = ( O B , x B , y B , z B ) , which is placed in the center of mass of the vehicle. For simplicity, we assume the center of mass coincides with the geometric center of the quadrotor, as depicted in Figure 1.
From now on, the standard basis vectors of R 3 are denoted with e 1 , e 2 , e 3 . Let us denote with p F = col ( x F , y F , z F ) the position of the center of mass with respect to R E , and with ω = col ( p , q , r ) the angular velocity of the vehicle. Neglecting the second-order effects (i.e., rotor dynamics, blade flapping, gyroscopic and inertial effects due to the rotors), the quadrotor kinematics and dynamics can be expressed as [21]
m p ¨ F = k t p ˙ F m g e 3 + R F m B + F w E J ω ˙ = k r ω ω × J ω + τ m B η ˙ = T ( η ) ω ,
where m is the total system mass, J = diag ( J x , J y , J z ) is the tensor of inertia along the x B , y B , and z B axes, k t and k r are the linear and angular friction coefficients, η = col ( φ , θ , ψ ) is the vector of the attitude angles (roll, pitch, and yaw, respectively) that characterize the rotation from R B to R E .
R = 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 introduced for the sake of brevity, F m B and τ m B are the overall force and torque due to the motors (decomposed in R B ), F w E is the force due to the wind (decomposed in R E ), and T ( η ) is the kinematic coordinate transformation related to the adopted roll–pitch–yaw rotation, that is [22]:
T ( η ) = 1 sin ( φ ) tan ( θ ) cos ( φ ) tan ( θ ) 0 cos ( φ ) sin ( φ ) 0 sin ( φ ) cos ( θ ) cos ( φ ) cos ( θ ) .
Let us denote with f i R the actual lift thrust produced by the i-th actuator. In VPQs, as in conventional quadrotors, all the actuators are oriented upwards and they produce collinear lift forces only, as depicted in Figure 2.
Denoting with u z the overall lift force, given by u z = f 1 + f 2 + f 3 + f 4 , we have
F m B = col ( 0 , 0 , u z ) τ m B = col ( τ p , τ q , τ r ) .
In other words, the overall lift thrust is along z B only, because none of the actuators can generate a horizontal force in R B . Then, substituting (4) in the first row of (1), we obtain the following model:
m p ¨ F = k t p ˙ F m g e 3 + u z R e 3 + F w E J ω ˙ = k r ω ω × J ω + τ m B η ˙ = T ( η ) ω .
The four-dimensional vector col ( u z , τ m B ) = col ( u z , τ p , τ q , τ r ) is the so called virtual input vector.

2.1. Input Mapping

Consider the i-th motor. We denote with f i R the lift thrust generated by the propeller attached to the motor, with d i R the generated drag, and with Ω i R the angular rate of the propeller, taken to be positive when the rotation of the motor matches that of the propeller (clockwise or counter-clockwise). Let us consider the case of rectangular, untwisted blades (which are suitable for variable-pitch drones) with uniform inflow. Let us assume the blade pitch is limited in order to avoid propeller stalling, which is an undesired effect to be avoided in practice. Then, both the lift force and drag of each rotor can be expressed as a function of the rotational speed [3]:
f i = c L i Ω i 2
d i = c D i Ω i 2 ,
where c L i and c D i are the lift and drag coefficients that depend on the blade geometry. In the case of fixed-pitch propellers, c L i and c D i are constant. In a variable-pitch propeller, however, as the pitch angle α i R changes, the lift and drag coefficients change as well. Two main approaches to characterize the dependency of c L i and c D i on α i can be found in [9], and they can be categorized into grey-box (e.g., [3]) and black-box (e.g., [5]) approaches. In this work, we follow the grey-box approach of [3], which makes use of the blade element theory and the momentum theory to obtain
c L i = c T i ( α i ) ρ π R a 4
c D i = c Q i ( α i ) ρ π R a 5 ,
where R a is the propeller radius, ρ is the air density, while c T i ( · ) and c Q i ( · ) are dimensionless lift and drag coefficients, which are functions of α i . Following [9,23], which assume steady-state linearized blade aerodynamics, we consider the implicit relations
α i = k 1 c T i + k 2 | c T i |
c Q i = k 3 | c T i | 3 + k 4 ,
where k 1 = 6 σ C l α i , k 2 = 3 2 2 , k 3 = 1 2 , and k 4 = 1 8 σ C d 0 i . In detail, σ = N b c π R a is the blade solidity, N b = 2 is the number of blades, c is the chord length, C l α i is the 2D lift–curve–slope of the airfoil section, comprising the rotor, and finally, C d 0 i is the zero-lift drag coefficient (see [9] for further details). Without loss of generality, we consider a ’+’ quadrotor configuration (see Figure 1), so the overall input mapping is
u z τ p τ q τ r = c L 1 ( α 1 ) Ω 1 2 + c L 2 ( α 2 ) Ω 2 2 + c L 3 ( α 3 ) Ω 3 2 + c L 4 ( α 4 ) Ω 4 2 l c L 2 ( α 2 ) Ω 2 2 + l c L 4 ( α 4 ) Ω 4 2 l c L 1 ( α 1 ) Ω 1 2 + l c L 3 ( α 3 ) Ω 3 2 c D 1 ( α 1 ) Ω 1 2 + c D 2 ( α 2 ) Ω 2 2 c D 3 ( α 3 ) Ω 3 2 + c D 4 ( α 4 ) Ω 4 2 ,
where l is the arm length. The mapping (12) is nonlinear in α i and Ω i , which are the actual control inputs for each motor i, for a total of eight inputs.

2.2. Explicit Lift and Drag Functions

Equations (10) and (11) are implicit functions of α i , so they are not practical for online computation. In the literature, such functions are solved iteratively by means of numerical approaches [9]. In this section, instead, we introduce two equivalent equations that determine the coefficients c T i and c Q i in terms of explicit functions of α i .
The lift function c T i ( α i ) in (10) is expected to be an odd function of α i [9]. In fact, from (8), we obtain
c T i ( α i ) = 1 k 1 α i + 1 2 sign ( α i ) k 2 2 k 1 2 k 2 k 1 2 k 2 2 + 4 k 1 | α i | ,
which is an explicit odd function of α i . The drag function c Q i ( α i ) in (11) is expected to be an even function of α i [9]. Then, noting that c T i ( | α i | ) = s i g n ( α i ) c T ( α i ) , (11) can be rewritten as
c Q i ( α i ) = k 3 s i g n ( α i ) c T i ( α i ) 3 + k 4 ,
which is an explicit even function of α i . We also calculate in advance the derivatives of (13) and (14) with respect to α i , as they are going to be employed in the remainder of the paper. We have
c T i ( α i ) = 1 k 1 k 2 k 1 1 k 2 2 + 4 k 1 | α i | c Q i ( α i ) = 3 2 k 3 c T i ( α i ) s i g n ( α i ) s i g n ( α i ) c T i ( α i ) c L i ( α i ) = c T i ( α i ) ρ π R a 4 c D i ( α i ) = c Q i ( α i ) ρ π R a 5 ,
where the second row is obtained with the use of
d c T i ( | α i | ) d α i = s i g n ( α i ) d c T i ( α i ) d α i .

2.3. Actuator Faults and Control Input Definition

A total of eight control inputs are considered, which are the pitch angles α i and the squares of the desired rotor speeds, denoted as u i , for i = 1 , , 4 . All the control inputs are collapsed in the vectors
α = col ( α 1 , α 2 , α 3 , α 4 ) , u = col ( u 1 , u 2 , u 3 , u 4 ) .
In the absence of faults, the relation Ω i 2 = u i holds. For each actuator i, a possible LOE is considered, so that the resulting angular speed may be lower than the desired one, i.e.,
Ω i 2 = w i u i .
Each w i , for i = 1 , , 4 , is an unknown and time-varying quantity which models the fault magnitude on the i-th actuator. It is constrained in w i [ 0 , 1 ] , where w i = 1 corresponds to the faultless scenario. For the sake of brevity, the fault magnitudes are collected in the vector
w = col ( w 1 , w 2 , w 3 , w 4 ) .

3. Wind and Fault Estimation

We assume the wind acts on the x E y E plane only, that is, F w E = f w x e 1 + f w y e 2 . In other words, we neglect the updraft, and we claim that the horizontal wind does not generate any significant torque due to the symmetry of the vehicle. Thus, six target independent variables need to be estimated; these are f w x , f w y and w 1 , w 2 , w 3 , w 4 , and they are summarized in the extended uncertainty vector w ¯ = col ( f w x , f w y , w 1 , w 2 , w 3 , w 4 ) . By handling the joint vector w ¯ as an external disturbance, a disturbance observer for the estimation w ¯ ^ of w ¯ is then designed, which in our purpose can be defined as a dynamical system in the form
s ^ ˙ = F ( s ^ , x ¯ , u ¯ )
w ¯ ^ = H ( s ^ , x ¯ , u ¯ ) ,
for which w ¯ ^ w ¯ 0 as t , and where s ^ is the observer state, x ¯ = col ( p F , p ˙ F , ω , η ) and u ¯ = col ( u , α ) compactly refers to the quadrotor state and the control inputs, and where F ( · ) and H ( · ) are smooth function to design. Several disturbance observers have been proposed in the literature. Here, we follow the NDO proposed in [24], which can be summarized as follows.
  • Define an auxiliary variable s which directly depends on the estimation target w ¯ . Usually, the auxiliary variable s = w ¯ λ ( x ¯ , u ¯ ) is chosen, for some smooth function λ ( · ) .
  • Find the dynamics s ˙ of the auxiliary variable s. In this step, the disturbance observer design problem is turned into a state observer design problem.
  • Based on the auxiliary dynamics s ˙ , design a state observer for the estimation s ^ of s.
  • Define w ¯ ^ by using the inverse function of the chosen auxiliary variable definition.
For design purposes, the model is conveniently rewritten in Section 3.1. Then, the design of the NDO is proposed in Section 3.2.
Remark 1. 
The estimation of the actuator faults and the external force generated by the wind is obtained by the disturbance observer, where only kinematic data are required, i.e., without the need of measuring motor speeds, motor currents, etc.
Remark 2. 
The design of λ ( · ) involves the solution of a set of partial differential equations.
Remark 3. 
If the dynamics of w ¯ is uncertain, the ultimate boundedness of w ¯ ^ w ¯ is demanded instead of convergence.

3.1. Model Manipulation

Note that the input mapping (12) and the action of the fault (18) can be rewritten as
u z τ p τ q τ r = c L 1 ( α 1 ) c L 2 ( α 2 ) c L 3 ( α 3 ) c L 4 ( α 4 ) 0 l c L 2 ( α 2 ) 0 l c L 4 ( α 4 ) l c L 1 ( α 1 ) 0 l c L 3 ( α 3 ) 0 c D 1 ( α 1 ) c D 2 ( α 2 ) c D 3 ( α 3 ) c D 4 ( α 4 ) Ω 1 2 Ω 2 2 Ω 3 2 Ω 4 2 B c ( α ) Ω 1 2 Ω 2 2 Ω 3 2 Ω 4 2
and
Ω 1 2 Ω 2 2 Ω 3 2 Ω 4 2 = w 1 0 0 0 0 w 2 0 0 0 0 w 3 0 0 0 0 w 4 u 1 u 2 u 3 u 4 = diag ( w ) u = diag ( u ) w ,
resulting in the overall relation col ( u z , τ m B ) = B c ( α ) diag ( u ) w .
The quadrotor kinematics and dynamics in (5) can be equivalently expressed as
d d t p F η = p ˙ F T ( η ) ω
d d t p ˙ F ω = k t m p ˙ F g e 3 k r J 1 ω J 1 ( ω × J ω ) + 1 m e 1 e 2 0 0 f w x f w y + 1 m R e 3 0 0 J 1 u z τ m B .
Then, defining z 1 = col ( p F , η ) and z 2 = col ( p ˙ F , ω ) , we can rewrite the overall quadrotor model in order to show that the non-linear model is affine with respect to the uncertainty w ¯ . In fact, we have
z ˙ 1 = h 1 ( z 1 , z 2 ) z ˙ 2 = h 2 ( z 2 ) + P ( z 1 , u , α ) w ¯ ,
where
h 1 ( z 1 , z 2 ) = p ˙ F T ( η ) ω , h 2 ( z 2 ) = k t m p ˙ F g e 3 k r J 1 ω J 1 ( ω × J ω ) ,
and P ( z 1 , u , α ) = P 1 P 2 ( z 1 , u , α ) R 6 × 6 , with
P 1 = 1 m e 1 e 2 0 0 R 6 × 2 , P 2 ( z 1 , u , α ) = 1 m R e 3 0 0 J 1 B c ( α ) diag ( u ) R 6 × 4 .
Finally, P is almost everywhere nonsingular, since
det ( P ) = 1 m 2 det 1 m cos ( φ ) cos ( θ ) 0 0 J 1 B c ( α ) diag ( u ) = u 1 u 2 u 3 u 4 cos ( φ ) cos ( θ ) m 3 J x J y J z det ( B c ( α ) ) ,
where det ( B c ( α ) ) 0 almost everywhere (assuming l > 0 ). Noting that each u i is positive in real flight conditions, cos ( φ ) cos ( θ ) is different from zero in non-aerobatic flight, and det ( B c ( α ) ) 0 , then the inverse of P is well-defined in practical flight conditions.

3.2. Disturbance Observer Design

The NDO is designed on model (26). Indeed, the NDO design in DOBC is well-known for control affine systems [25], so the idea is actually based on the affine uncertainty, which is w ¯ in our problem. Consider the auxiliary variable s = w ¯ λ ( z 1 , z 2 , u , α ) , where λ ( · ) is a function to design. For the sake of brevity, we denote λ = λ ( z 1 , z 2 , u , α ) . By differentiation, we have
s ˙ = w ¯ ˙ λ z 1 h 1 ( z 1 , z 2 ) λ z 2 h 2 ( z 2 ) + P ( z 1 , u , α ) w ¯ λ u u ˙ λ u α ˙ = w ¯ ˙ λ z 1 h 1 ( z 1 , z 2 ) λ z 2 h 2 ( z 2 ) + P ( z 1 , u , α ) ( s + λ ) λ u u ˙ λ u α ˙ = λ z 2 P ( z 1 , u , α ) s + R s + w ¯ ˙ ,
where R s is a known term given by
R s = λ z 1 h 1 ( z 1 , z 2 ) λ z 2 h 2 ( z 2 ) + P ( z 1 , u , α ) λ λ u u ˙ λ u α ˙ .
The disturbance observer is then designed as
s ^ ˙ = λ z 2 P ( z 1 , u , α ) s ^ + R s
w ¯ ^ = s ^ + λ ,
where s ^ and w ¯ ^ are estimations for s and w ¯ , respectively. The function λ ( · ) is investigated through the estimation error dynamics. On this purpose, let us consider the error variables s ˜ = s s ^ and w ¯ ˜ = w ¯ w ¯ ˜ . The error dynamics is
s ˜ ˙ = λ z 2 P ( z 1 , u , α ) s ^ + w ¯ ˙
w ¯ ˜ = s ˜ .
With the choice λ ( z 1 , z 2 , u , α ) = H P ( z 1 , u , α ) 1 z 2 , where H is Hurwitz, the overall estimation error boils down to
w ¯ ˜ ˙ = H w ¯ ˜ + w ¯ ˙ ,
which is an asymptotically stable linear time-invariant system, perturbed by the unknown input w ¯ ˙ .

4. Control Law Design

A classical inner/outer loop approach is employed to calculate the desired virtual inputs [26,27], where the small angle approximation is adopted ( φ 0 and θ 0 ). Moreover, in order to avoid a conflict between the inner and the outer loop, a spectral separation is required; to achieve this, in practice, a higher rate is employed for the inner loop with respect to the outer loop [28].

4.1. Outer Loop Design

Given the time-varying position references x F r and y F r (for x F and y F , respectively), the outer loop is designed to calculate the references φ r and θ r (for the angles φ and θ , respectively) in order to track the position reference. Exploiting the small angle approximation [26,27], that is, φ 0 and θ 0 , we have
e 1 T e 2 T R e 3 sin ( ψ ) cos ( ψ ) cos ( ψ ) sin ( ψ ) φ θ R 2 ( ψ ) φ θ .
Substituting (37) in (5), it follows that
x ¨ F y ¨ F = e 1 T e 2 T p ¨ F = k t m x ˙ F y ˙ F + u z m e 1 T e 2 T R e 3 + 1 m f w x f w y k t m x ˙ F y ˙ F + u z m R 2 ( ψ ) φ θ + 1 m f w x f w y .
As the inner loop runs at a higher rate with respect to the outer loop, we can assume the inner loop is fast enough to track φ r and θ r [26]. Hence, by solving (38) for the variables φ and θ , we obtain the ideal references φ r and θ r for u z 0 , that is,
φ r θ r = m u z R 2 T ( φ ) k t m x ˙ F y ˙ F 1 m f ^ w x f ^ w y + v x v y ,
where v x and v y are injection inputs, defined as
v x = x ¨ F r α x 1 ( x ˙ F x ˙ F r ) α x 0 ( x F x F r )
v y = y ¨ F r α y 1 ( y ˙ F y ˙ F r ) α y 0 ( y F y F r ) .
The parameters α x 1 , α x 0 , α y 1 , α y 0 are chosen according to the desired pole placement problem. In fact, if the angles φ and θ follow references (39)–(41), we can show by substitution in (5) that the outer loop tracking error dynamics becomes:
e ¨ x + α x 1 e ˙ x + α x 0 e x = 1 m f ˜ w x
e ¨ y + α y 1 e ˙ x + α y 0 e y = 1 m f ˜ w y ,
where e x = x F x F r , e y = y F y F r , f ˜ w x = f w x f ^ w x and f ˜ w y = f w y f ^ w y .

4.2. Inner Loop Design

Let z F r and ψ r be the reference signals for z F and ψ that we want to track, and let φ r and θ r be the reference signals for φ and θ (provided by the outer loop in (39)). From (5), it follows that
z ¨ F = k t m z ˙ F g + u z m cos ( φ ) cos ( θ )
η ¨ = T ˙ ( η ) ω k r T ( η ) J 1 ω T ( η ) J 1 ( ω × J ω ) + T ( η ) J 1 τ m B ,
so we can set the reference values u z , r and τ m , r B (for u z and τ m B , respectively) as
u z , r = m cos ( φ ) cos ( θ ) k t m z ˙ F + g + v z τ m , r B = J T ( η ) 1 T ˙ ( η ) ω + k r T ( η ) J 1 ω + T ( η ) J 1 ( ω × J ω ) + v η .
The terms v z R and v η R 3 are auxiliary inputs, and they are set as
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 ) ,
where the scalars α z 1 , α z 0 and the matrices α η 1 , α η 0 are set according to the desired pole placement. If the variables u z and τ m B follow references (46)–(48), we can show by substitution in (5) that the inner loop tracking error dynamics becomes
e ¨ z + α z 1 e ˙ z + α z 0 e z = 0
e ¨ η + α η 1 e ˙ η + α η 0 e η = 0 ,
where e z = z F z F r and e η = η η r .

5. Control Allocation

In this section, we show how the virtual input (i.e., u z and τ m B ) can be distributed among the motors (i.e., u) and the pitch servos (i.e., α ). Let us consider a non-linear optimization problem in the optimization variables α and u:
min α , u J ( α , u )
s . t . h ( α , u ) = 0
g ( α , u ) 0 ,
where J ( α , u ) in (51) is a cost function to be determined, while (52) and (53) represent generic non-linear and nonconvex constraints. In the literature, the control allocation problem in multirotors is usually tackled with lightweight methods, such as pseudo-inverse and redistributed pseudo-inverse [29,30]. Such methods are motivated by the need for high rates, but they are not effective in the presence of constraints and rate limits. Moreover, they need a significant simplification of the problem formulation (i.e., linear or quadratic cost functions, linear equality constraints, potentially also removing inequality constraints). In the following, we set up the control allocation problem and we detail a method to solve it efficiently by means of a locally convex Quadratic Programming (QP) reformulation (as carried out, for example, in [31] for a marine vessel).
The method that is detailed in this section to solve the non-linear allocation problem (51)–(53) represents a simplified version of the generic Sequential Quadratic Programming (SQP) strategy (see, for example, [32]) to solve non-linear optimization problems. The main differences are
  • SQP employs the Hessian of the Lagrangian in the cost function, while we employ the Hessian of the original cost function. In other words, we always set the Lagrange multipliers’ initial guess to zero for simplicity, so that the Hessian of the Lagrangian coincides with the Hessian of the original cost function.
  • Once the search direction is found, a full step is performed in the proposed method, and no merit function is computed.
  • The stopping criterion in the proposed method boils down to performing just a single iteration (i.e., a single QP is solved as in Real-Time Iteration [33], instead of a sequence of QP problems as done in SQP), and so no convergence criteria are needed.
These modifications introduce some loss of accuracy in the solution, but they reduce the number of evaluations, in order to perform the allocation faster in view of online implementation.

5.1. Equality Constraints

The equality constraints (52) originate from (22)–(23), namely
h ( α , u ) = B diag ( w ) diag ( c ¯ L ( α ) ) u diag ( w ) diag ( c ¯ D ( α ) ) u u z τ m B
= B diag ( w ) diag ( u ) c ¯ L ( α ) diag ( w ) diag ( u ) c ¯ D ( α ) u z τ m B = 0 ,
where
B = 1 1 1 1 0 0 0 0 0 l 0 l 0 0 0 0 l 0 l 0 0 0 0 0 0 0 0 0 1 1 1 1
and
c ¯ L ( α ) = col ( c L ( α 1 ) , c L ( α 2 ) , c L ( α 3 ) , c L ( α 4 ) ) c ¯ D ( α ) = col ( c D ( α 1 ) , c D ( α 2 ) , c D ( α 3 ) , c D ( α 4 ) ) c ¯ L ( α ) = col ( c L ( α 1 ) , c L ( α 2 ) , c L ( α 3 ) , c L ( α 4 ) ) c ¯ D ( α ) = col ( c D ( α 1 ) , c D ( α 2 ) , c D ( α 3 ) , c D ( α 4 ) ) .
Please note that c L ( α i ) and c D ( α i ) have been defined in (8), while c L ( α i ) and c D ( α i ) have been defined in (15). The time-varying numeric values for u z , τ m B , and w in (54) are given by (46) ( u z , r , τ m , r B ) and (33) ( w ¯ ^ ), respectively; in other words, the actual lift force and torques must satisfy those required by the inner loop, also taking into account the actual fault estimation.
Please note that the equality constraints are non-linear and nonconvex with respect to the optimization variables α and u. Non-linear optimization problems are hard to solve online due to computational limits, as well as because the existence of the solution is not guaranteed in general. To solve efficiently the problem online, the equality constraints (52) are linearized, as in SQP, so that a QP problem can be obtained. Using the first-order Taylor approximation around ( α 0 , u 0 ) , we have
h ( α , u ) h ( α 0 , u 0 ) + h ( α 0 , u 0 ) α ( α α 0 ) + h ( α 0 , u 0 ) u ( u u 0 ) ,
where α 0 and u 0 represent the current value of α and u, respectively. Then, (54) can be approximated by
h ( α 0 , u 0 ) α h ( α 0 , u 0 ) u A e q Δ α Δ u x = h ( α 0 , u 0 ) b e q ,
where Δ α = α α 0 , Δ u = u u 0 , and
h ( α 0 , u 0 ) α = B diag ( w ) diag ( u 0 ) diag ( c L ) diag ( w ) diag ( u 0 ) diag ( c D ) h ( α 0 , u 0 ) u = B diag ( w ) diag ( c ¯ L ( α 0 ) ) diag ( w ) diag ( c ¯ D ( α 0 ) ) h ( α 0 , u 0 ) = B diag ( w ) diag ( c ¯ L ( α 0 ) ) u 0 diag ( w ) diag ( c ¯ D ( α 0 ) ) u 0 u z τ m B .
As w is not available, to build the control allocation problem online we replace it in (60) with its estimation contained in w ¯ ^ .
Remark 4. 
In the case of a centralized motor, it suffices to add the constraint Δ u 1 = Δ u 2 = Δ u 3 = Δ u 4 ; provided that the same initial value is employed for u, then u 1 = u 2 = u 3 = u 4 holds. In other words, (59) is replaced by
h ( α 0 , u 0 ) α h ( α 0 , u 0 ) u 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 1 −1 0 0 0 1 −1 A e q Δ α Δ u x = h ( α 0 , u 0 ) 0 0 0 b e q

5.2. Inequality Constraints

The inequality constraints of interest to be included in (53), in practice, are saturation constraints and rate limits, i.e.,
α ̲ α α ¯ u ̲ u u ¯ Δ α ̲ α α 0 Δ α ̲ Δ u ̲ u u 0 Δ u ̲ .
Such inequality constraints are affine with respect to the optimization variables α and u, so they are tractable in online optimization.
Replacing (52) with its approximation (59) (or (61), for a single centralized motor) and expressing the constraints (62) in the variable x = col ( Δ α , Δ u ) , we obtain an optimization problem in the form
min x J ( x ) s . t . A e q x = b e q x ̲ x x ¯ ,
where
x ̲ = col ( max ( α ̲ α 0 , Δ α ̲ ) , max ( u ̲ u 0 , Δ u ̲ ) ) x ¯ = col ( min ( α ¯ α 0 , Δ α ̲ ) , min ( u ¯ u 0 , Δ u ̲ ) )
are defined to express the inequality constraints (62) in a more compact way. Please note that (63) is a QP problem by construction, provided that the cost function J ( x ) is quadratic.

5.3. Cost Function

The main term to be considered in a cost function for UAVs, especially in the case of multirotors, is the energy consumption E ( x ) . A quadratic form for E ( x ) is often assumed in the UAV literature [29,30]; such a choice is mainly motivated by simplicity, as it usually leads to a QP problem. Motivated by the need for autonomy in UAVs, more detailed representations, coming from physically accurate consumption models, have been proposed in the literature as well. The most employed models are second-order polynomials [9] and irrational functions [34], as well as more generic non-linear functions [6]. All of the previous choices fit well with the proposed framework, as it is always possible to locally approximate the cost function with a quadratic cost function, as done for example in [31]. For the purpose of this work, the steady-state thruster consumption from [34] is employed. Given a generic matrix M = [ m i j ] R m × n and k R , let us introduce, with a slight abuse of notation, the short | M | k = [ | m i j | k ] (i.e., the k-th power of the absolute values of the entries of M, in an element-wise fashion). Then, the steady-state thruster consumption for a quadrotor can be rewritten as
E ( x ) = i = 1 4 q u , i | u i | 3 / 2 = | u T | 3 / 4 Q u | u | 3 / 4 ,
where | u | 3 / 4 and | u T | 3 / 4 should be intended element-wise as already anticipated. Furthermore, q u , i is assumed to be constant for simplicity (see [34] for further details) and
Q u = diag ( q u , 1 , , q u , 4 ) ,
with q u , i > 0 for i = 1 , , 4 . Hence, we can define the cost function
J ( x ) = E ( x ) + Δ α T Q Δ α Δ α + Δ u T Q Δ u Δ u + ( α α p ) T Q α ( α α p ) ,
where Q Δ α , Q Δ u , Q α , Q u are symmetric positive definite matrices. The first term of (67), which takes into account energy consumption, is detailed in (65). The second and the third quadratic terms of (67) discourage variations in the control inputs to minimize actuator wear and tear. The last term of (67) defines preferred values α p for the pitch angles α . This term becomes necessary in order to compensate for the first term (i.e., the one that discourages energy consumption), because the actuator is more energy-efficient when the pitch angle is large in magnitude. Thus, in the absence of the fourth term, the pitch angle is often stuck to its saturation limit to minimize energy consumption. In such a case, the only way to increase the lift further is to increase the motor speed, as the pitch angle cannot be increased in magnitude, so the maneuverability of the vehicle worsens.
Considering the second-order Taylor approximation for E ( x ) , i.e.,
E ( x ) | u 0 T | 3 / 4 Q u | u 0 | 3 / 4 + 3 2 | u 0 T | 1 / 2 Q u Δ u + 3 8 Δ u T Q u diag | u 0 | 1 / 2 Δ u ,
and performing some manipulation, (67) becomes
J ( x ) = 1 2 x T 2 ( Q α + Q Δ α ) 0 4 × 4 0 4 × 4 2 Q Δ u + 3 4 Q u diag | u 0 | 1 / 2 H x + 2 ( α 0 α p ) T Q α 3 2 | u 0 | 1 / 2 T Q u f T x + c ,
where c is a constant term (i.e., a term that does not depend on x), which is irrelevant for the solution of the optimization problem, so it can be neglected.

5.4. Scaling and Infeasibility

The problem formulation according to (59) (or (61), for a single centralized motor), (64), (69), that is,
min x 1 2 x T H x + f T x s . t . A e q x = b e q x ̲ x x ¯ ,
shows two drawbacks. First of all, the existence of a feasible solution is not guaranteed, so problem infeasibility must be dealt with. Moreover, the problem is ill-conditioned, because the magnitude of Δ α and Δ u is very different; according to (17)–(18), α is typically in the range of decimals (in radians), while u is typically in the range of tens of thousands (in radians per second squared), and the same occurs for Δ α and Δ u .
To improve the problem conditioning, diagonal scaling is performed [32]. We define a new optimization variable
z = P 1 x ,
where P = diag ( max ( | x ̲ | , | x ¯ | ) ) is a diagonal matrix such that the components of z share the same magnitude, as they become constrained in [ 1 , 1 ] according to the rate limits in (62) (please note that the box constraint estimation [ 1 , 1 ] is conservative; tighter constraints may apply).
In order to deal with infeasible problems, we soften the equality constraint by adding a vector of unconstrained artificial variables ζ into the equality constraint, while minimizing the norm of the artificial variable. The overall problem (70), after the change of variables and the softening of equality constraints, becomes
min z , ζ 1 2 z T P T H P z + f T P z + ζ T Q ζ ζ s . t . A e q P z + ζ = b e q P 1 x ̲ z P 1 x ¯ ,
which can be finally rewritten in the classical form that is usually required by QP solvers, i.e.,
y * = arg min y 1 2 y T H ˇ y + f ˇ T y s . t . A ˇ e q y = b ˇ e q A ˇ y b ˇ y ̲ y y ¯ ,
where
y = z ζ H ˇ = P T H P 0 8 x 4 0 4 x 8 Q ζ f ˇ T = f T P 0 1 x 4 A ˇ e q = A e q P I 4 b ˇ e q = b e q y ̲ = P 1 x ̲ ζ ̲ y ¯ = P 1 x ¯ ζ ¯ ,
ζ ̲ and ζ ¯ are large enough to guarantee feasibility (e.g., ζ ¯ = ζ ̲ = M , M ), while A ˇ and b ˇ are empty matrices, because no inequality constraints are left, with an exception made for the upper and lower bounds that are usually introduced separately.
Once the solution y * of (72)–(74) is calculated, the solution to the control allocation problem is
x * = Δ α * Δ u * = P 0 8 x 4 y * α * = α 0 + Δ α * u * = u 0 + Δ u * .
Remark 5. 
The choice of a quadratic penalty for ζ is made for simplicity, as it introduces a small number of additional variables and it makes the cost function smooth and hence easier to solve online. This strategy is similar to the quadratic penalty method in [32] and, more precisely, to the weighted least squares in [35]. As a drawback, such a penalty term is not exact, i.e., the solution of the penalized problem is not equivalent to the solution of the original problem [32,36]. In particular, the higher the penalty through Q ζ , the more the solutions of the two problems coincide, but also the worse is the conditioning. Thus, Q ζ is a trade-off between ideal solution quality and acceptable conditioning. We claim that this issue is not crucial, because several approximations are introduced to simplify the problem, and so the solution is not exact anyway. Alternatively, it is possible to introduce additional positively constrained slack variables and to employ exact penalty functions, such as 1 and penalties, at the price of dealing with the nonsmoothness of the cost function (see [32] for further details).

6. Numerical Simulation

A numerical simulation is performed using MATLAB, where the inner loop and the outer loop run at 400 Hz (i.e., ArduPilot’s loop rate) and 10 Hz, respectively. A zero-order hold is performed between consecutive samples. The quadrotor parameters are set according to [18] and they are reported in Table 1. Different from [18], the friction is neglected and the thrust-to-weight ratio is slightly increased (from 2.5 to 3.131 ) in order to face severe faults.
The control parameters were set empirically through a coarse grid search (as such, better performances could be achieved with a finer tuning). The closed-loop poles for the inner loop are placed in 2 and 2.1 for z F , in 10 and 11 for φ and θ , and finally in 5 and 5.1 for ψ . The outer loop poles are instead placed in 1 and 2 for both x F and y F . A properly scaled white Gaussian sensor noise is simulated according to an MPU-9250 IMU TDK InvenSense [37], which is a common device in quadrotor flight controllers (i.e., in Pixhawk 4).

6.1. Independent Motors’ Speed

Let us first consider a VPQ equipped with four independent motors and four independent pitch servos. The simulation is performed for a total of 30 s under the external wind force reported in Figure 3, which also reports the correspondent estimations provided by the observer, where the gain matrix has been set as H = 5 I , with I being the identity matrix.
Due to the stochastic nature of the wind, achieving the boundedness of the estimation error replaces the ideal goal of a perfect convergence, which is here achieved in the case of bounded derivatives of the wind force. The estimation of the faults and the wind is practically started after a finite time from the beginning of the flight (i.e., after 1 s of simulation in this example), in order to make the initial conditions of the observer practically irrelevant.
Faults components and their estimations are reported in Figure 4.
Two trapezoidal faults are injected. The first one affects motor 1 after 10 s (the LOE magnitude is 60 % , i.e., w 1 = 0.4 ) and a second one affects motor 3 after 15 s (the LOE magnitude is 30 % , i.e., w 3 = 0.7 ). In the range t [ 0 , 1 ] , each w ^ i is set equal to 1, matching the reasonable assumption of no faults at the initial time (or, without loss of generality, we assume that we know the fault status at the beginning of the flight). Note that, since each estimation is provided independently from the NDO, the same results can be achieved in the case of simultaneous faults.
The tracking reference components and the related state variables are reported in Figure 5.
The references on x F and y F are sinusoidal signals, the reference on z F forces the quadrotor to face both ascending and descending profiles, while the yaw angle is kept at zero. The system is forced to change the velocity constantly in both magnitude and direction, with a linear speed magnitude up to 7 m/s. All the references are smoothly tracked with an acceptable error (the plotted variables are the actual state variables instead of the noisy ones), with the exception of the yaw component ( ψ ), which exhibits a temporary increasing error when the fault worsens.
The references φ r and θ r generated by the outer loop are reported in Figure 6.
Please note that, when the fault is rapidly worsening, the tracking capabilities in the inner loop are affected. The inner/outer loop approach, which employs a higher frequency of the inner loop and a zero-order hold, allows us to track the references, despite the presence of noise, faults, and disturbances.
The control inputs u and α are reported in Figure 7.
All the actuators are subject to the same saturation constraints. This allows us to plot the bounds with horizontal dashed lines in Figure 7 (upper bounds in this case). In particular, the saturation limits have been set as
α ̲ = col ( α m i n , α m i n , α m i n , α m i n ) α ¯ = col ( α m a x , α m a x , α m a x , α m a x ) u ̲ = col ( u m i n , u m i n , u m i n , u m i n ) u ¯ = col ( u m a x , u m a x , u m a x , u m a x ) Δ α = Δ α ̲ = col ( Δ α m a x , Δ α m a x , Δ α m a x , Δ α m a x ) Δ u = Δ u ̲ = col ( Δ u m a x , Δ u m a x , Δ u m a x , Δ u m a x ) ,
where u m i n , u m a x , α m i n , and α m a x are detailed in Table 1. Considering α = α ¯ , u ¯ corresponds to a thrust-to-weight ratio equal to 3.131 .
At the beginning, when no fault is present, the opposite actuators (1 and 3, 2 and 4) show similar motor speeds and pitch angles, due to symmetry. As soon as the fault on motor 1 occurs, the opposite actuators 1 and 3 behave differently; in response to the severe fault acting on motor 1, the control allocation algorithm demands a high speed and a large pitch angle to compensate for the missing lift force.

6.2. Centralized Motor

In this section, we consider a VPQ equipped with a single centralized motor and four independent pitch servos. The simulation conditions and the wind components are the same as the previous simulation, including the same random seed. Figure 8 reports the wind effect and its estimations provided by the observer; no noticeable differences can be noted, as expected, because the fault estimation does not directly depend on the actual inputs.
The same consideration holds for the faults and their estimations (Figure 9).
The tracking reference components and the related state variables are reported in Figure 10 and Figure 11. The performances are similar; minor differences in the outer loop tracking capabilities can be detected.
Finally, the control inputs u and α are reported in Figure 12.
First of all, please note that the motor speeds coincide, as expected. Furthermore, in response to the fault acting on motor 1, the control allocation algorithm demands a high motor speed to compensate for the missing lift force. As there is only one centralized motor, the speed of every propeller must increase. Analogously, please note that, the larger the fault, the higher the average value of the pitch angle.
As the motor speed is higher on average in the case of the centralized motor (Figure 7 and Figure 12), the energy consumption is higher. This is unavoidable, because in the case of the centralized motor, the input redundancy is lower than in the case of independent motors. In Table 2, we summarize the overall normalized (i.e., Q u = I ) consumption during the flight, as proposed in (65).

7. Conclusions

Unlike standard quadrotors that are equipped with four fixed-pitch blades and four independent motors, VPQs can vary both the rotation speed and the blade pitch of each propeller, thus increasing the degrees of freedom for control purposes. In addition to higher thrust rate of change, reverse thrust and reverse flight capabilities, and scaling well with size, VPQs enable for fault-tolerant control strategies thanks to their inherent input redundancy, whether they are equipped with four independent motors or a centralized one. We have shown that a single observer can estimate both actuator loss of effectiveness and the external disturbance given by horizontal wind. According to the disturbance observer-based control framework, the estimation of the wind is fed forward in the outer (position) control loop. The estimation of the actuator loss of effectiveness is instead employed in the control allocation algorithm. It manages each propeller’s pitch and motor speed to generate the force and the torques commanded by the inner (attitude and altitude) control loop. Simulation results show that the estimation of both the disturbance and the actuator loss of effectiveness is practically feasible in the presence of conventional measurement noise in commercial devices. We remark that the fault estimation is performed from kinematic data of the onboard inertial measurement unit only, without the need to measure the motor speed nor the current drawn by the actuators.
Comparing centralized and independent motors, the former is less efficient in terms of energy consumption, especially in the case of faults, because all the propellers must spin faster. Clearly, many other factors should be considered to evaluate the energy consumption properly, such as possible weight and cost reduction. In any case, both centralized and independent motors can tolerate actuator faults using the proposed scheme. The proposed control scheme could also deal with pitch lock-in-place, provided that reliable information on the stuck fault is available (e.g., measuring the current pitch angle or estimating it through a fault detection algorithm). Practically, it is sufficient to constrain the faulty pitch servo to the current value, and the control allocation algorithm can accommodate for the stuck fault using the remaining control inputs. However, in the case of a single centralized motor, the reduced amount of redundancy makes it less robust to lock-in-place faults and severe loss of effectiveness.

Author Contributions

Conceptualization, A.B., R.F., A.F. and A.M.; methodology, A.B. and R.F.; software, A.B. and R.F.; validation, A.B. and R.F.; formal analysis, A.B., R.F., A.F. and A.M.; writing—original draft preparation, A.B. and R.F.; writing—review and editing, A.F. and A.M.; visualization, A.B. and R.F.; supervision, A.F. and 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:
LOELoss Of Effectiveness
NDONon-linear Disturbance Observer
QPQuadratic Programming
SQPSequential Quadratic Programming
UAVUnmanned Aerial Vehicle
VPQVariable-Pitch Quadrotor

References

  1. Cutler, M.; Ure, N.K.; Michini, B.; How, J. Comparison of fixed and variable pitch actuators for agile quadrotors. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Portland, OR, USA, 8–11 August 2011; pp. 1–17. [Google Scholar]
  2. Cutler, M.; How, J. Actuator constrained trajectory generation and control for variable-pitch quadrotors. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Minneapolis, MN, USA, 13–16 August 2012; pp. 1–15. [Google Scholar]
  3. Gupta, N.; Kothari, M.; Abhishek. Flight dynamics and nonlinear control design for variable-pitch quadrotors. In Proceedings of the 2016 American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016; pp. 3150–3155. [Google Scholar]
  4. Panizza, P.; Invernizzi, D.; Riccardi, F.; Formentin, S.; Lovera, M. Data-driven attitude control law design for a variable-pitch quadrotor. In Proceedings of the 2016 American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016; pp. 4434–4439. [Google Scholar]
  5. 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]
  6. Fresk, E.; Nikolakopoulos, G. Experimental model derivation and control of a variable pitch propeller equipped quadrotor. In Proceedings of the IEEE Conference on Control Applications (CCA), Juan Les Antibes, France, 8–10 October 2014; pp. 723–729. [Google Scholar]
  7. Isermann, R. Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  8. Pretorius, A.; Boje, E. Design and modelling of a quadrotor helicopter with variable pitch rotors for aggressive manoeuvres. IFAC Proc. Vol. 2014, 47, 12208–12213. [Google Scholar] [CrossRef]
  9. Arellano-Quintana, V.M.; Merchán-Cruz, E.A.; Franchi, A. A Novel Experimental Model and a Drag-Optimal Allocation Method for Variable-Pitch Propellers in Multirotors. IEEE Access 2018, 6, 68155–68168. [Google Scholar] [CrossRef]
  10. Sheng, S.; Sun, C. Control and optimization of a variable-pitch quadrotor with minimum power consumption. Energies 2016, 9, 232. [Google Scholar] [CrossRef]
  11. Porter, R.; Shirinzadeh, B.; Choi, M.H. Experimental analysis of variable collective-pitch rotor systems for multirotor helicopter applications. J. Intell. Robot. Syst. 2016, 83, 271–288. [Google Scholar] [CrossRef]
  12. Pang, T.; Peng, K.; Lin, F.; Chen, B.M. Towards long-endurance flight: Design and implementation of a variable-pitch gasoline-engine quadrotor. In Proceedings of the 2016 12th IEEE International Conference on Control and Automation (ICCA), Kathmandu, Nepal, 1–3 June 2016; pp. 767–772. [Google Scholar]
  13. Abhishek, A.; Duhoon, A.; Kothari, M.; Kadukar, S.; Rane, L.; Suryavanshi, G. Design, development, and closed-loop flight-testing of a single power plant variable pitch quadrotor unmanned air vehicle. In Proceedings of the 73rd American Helicopter Society Annual Forum, Fort Worth, TX, USA, 9–11 May 2017; pp. 205–218. [Google Scholar]
  14. Wang, Z.; Groß, R.; Zhao, S. Control of centrally-powered variable pitch propeller quadcopters subject to propeller faults. Aerosp. Sci. Technol. 2022, 120, 107245. [Google Scholar] [CrossRef]
  15. Podhradskỳ, M.; Bone, J.; Coopmans, C.; Jensen, A. Battery model-based thrust controller for a small, low cost multirotor Unmanned Aerial Vehicles. In Proceedings of the 2013 International Conference on Unmanned Aircraft Systems (ICUAS), Atlanta, GA, USA, 28–31 May 2013; pp. 105–113. [Google Scholar]
  16. Yang, P.; Wen, C.; Geng, H.; Liu, P. Intelligent fault diagnosis method for blade damage of quad-rotor UAV based on stacked pruning sparse denoising autoencoder and convolutional neural network. Machines 2021, 9, 360. [Google Scholar] [CrossRef]
  17. Felicetti, R.; Baldini, A.; Freddi, A.; Longhi, S.; Monteriù, A. Fault Tolerant Control of a Variable Pitch Quadrotor. In Proceedings of the 15th European Workshop on Advanced Control and Diagnosis, Bologna, Italy, 21–22 November 2019; pp. 235–255. [Google Scholar]
  18. 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]
  19. Perozzi, G.; Efimov, D.; Biannic, J.M.; Planckaert, L. Trajectory tracking for a quadrotor under wind perturbations: Sliding mode control with state-dependent gains. J. Frankl. Inst. 2018, 355, 4809–4838. [Google Scholar] [CrossRef]
  20. Guo, K.; Jia, J.; Yu, X.; Guo, L.; Xie, L. Multiple observers based anti-disturbance control for a quadrotor UAV against payload and wind disturbances. Control. Eng. Pract. 2020, 102, 104560. [Google Scholar] [CrossRef]
  21. 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]
  22. Fossen, T. Guidance and Control of Ocean Vehicles; Wiley: Hoboken, NJ, USA, 1994. [Google Scholar]
  23. Leishman, G.J. Principles of Helicopter Aerodynamics with CD Extra; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
  24. Li, S.; Yang, J.; Chen, W.; Chen, X. Disturbance Observer-Based Control: Methods and Applications; Taylor & Francis: Abingdon, UK, 2014. [Google Scholar]
  25. Yang, J.; Chen, W.H.; Li, S. Non-linear disturbance observer-based robust control for systems with mismatched disturbances/uncertainties. IET Control. Theory Appl. 2011, 5, 2053–2062. [Google Scholar] [CrossRef]
  26. Nagaty, A.; Saeedi, S.; Thibault, C.; Seto, M.; Li, H. Control and navigation framework for quadrotor helicopters. J. Intell. Robot. Syst. 2013, 70, 1–12. [Google Scholar] [CrossRef]
  27. Madani, T.; Benallegue, A. Backstepping control for a quadrotor helicopter. In Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, 9–15 October 2006; pp. 3255–3260. [Google Scholar]
  28. Bouabdallah, S.; Siegwart, R. Full control of a quadrotor. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 153–158. [Google Scholar]
  29. Marks, A.; Whidborne, J.F.; Yamamoto, I. Control allocation for fault tolerant control of a VTOL octorotor. In Proceedings of the 2012 UKACC International Conference on Control, Cardiff, UK, 3–5 September 2012; pp. 357–362. [Google Scholar]
  30. Merheb, A.; Nourra, H.; Bateman, F. Active fault tolerant control of octorotor uav using dynamic control allocation. In Proceedings of the International Conference on Intelligent Unmanned Systems, Montreal, QC, Canada, 29 September–1 October 2014. [Google Scholar]
  31. Johansen, T.A.; Fossen, T.I.; Berge, S.P. Constrained nonlinear control allocation with singularity avoidance using sequential quadratic programming. IEEE Trans. Control. Syst. Technol. 2004, 12, 211–216. [Google Scholar] [CrossRef]
  32. Wright, S.; Nocedal, J. Numerical Optimization; Springer Series in Operations Research and Financial Engineering; Springer: New York, NY, USA, 1999; Volume 35, p. 7. [Google Scholar]
  33. Gros, S.; Zanon, M.; Quirynen, R.; Bemporad, A.; Diehl, M. From linear to nonlinear MPC: Bridging the gap via the real-time iteration. Int. J. Control. 2020, 93, 62–80. [Google Scholar] [CrossRef]
  34. Dyer, E.; Sirouspour, S.; Jafarinasab, M. Energy optimal control allocation in a redundantly actuated omnidirectional UAV. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 5316–5322. [Google Scholar]
  35. Harkegard, O. Efficient active set algorithms for solving constrained least squares problems in aircraft control allocation. In Proceedings of the 41st IEEE Conference on Decision and Control, Piscataway, NJ, USA, 10–13 December 2002; Volume 2, pp. 1295–1300. [Google Scholar]
  36. Kerrigan, E.C.; Maciejowski, J.M. Soft constraints and exact penalty functions in model predictive control. In Proceedings of the Control 2000 Conference, Cambridge, MA, USA, 12–15 November 2000; pp. 2319–2327. [Google Scholar]
  37. 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 5 May 2023).
Figure 1. Quadrotor configuration and frames.
Figure 1. Quadrotor configuration and frames.
Sensors 23 04907 g001
Figure 2. Propeller lift thrusts of the variable-pitch quadrotor.
Figure 2. Propeller lift thrusts of the variable-pitch quadrotor.
Sensors 23 04907 g002
Figure 3. Horizontal wind estimation (independent motors’ speed).
Figure 3. Horizontal wind estimation (independent motors’ speed).
Sensors 23 04907 g003
Figure 4. Fault estimation (independent motors’ speed).
Figure 4. Fault estimation (independent motors’ speed).
Sensors 23 04907 g004
Figure 5. Tracking performances (independent motors’ speed).
Figure 5. Tracking performances (independent motors’ speed).
Sensors 23 04907 g005
Figure 6. Inner loop tracking performances on desired angles (independent motors’ speed).
Figure 6. Inner loop tracking performances on desired angles (independent motors’ speed).
Sensors 23 04907 g006
Figure 7. Control inputs u and α (independent motors’ speed).
Figure 7. Control inputs u and α (independent motors’ speed).
Sensors 23 04907 g007
Figure 8. Horizontal wind estimation (centralized motor).
Figure 8. Horizontal wind estimation (centralized motor).
Sensors 23 04907 g008
Figure 9. Fault estimation (centralized motor).
Figure 9. Fault estimation (centralized motor).
Sensors 23 04907 g009
Figure 10. Tracking performances (centralized motor).
Figure 10. Tracking performances (centralized motor).
Sensors 23 04907 g010
Figure 11. Inner loop tracking performances on desired angles (centralized motor).
Figure 11. Inner loop tracking performances on desired angles (centralized motor).
Sensors 23 04907 g011
Figure 12. Control inputs u and α (centralized motor).
Figure 12. Control inputs u and α (centralized motor).
Sensors 23 04907 g012
Table 1. Variable-pitch quadrotor parameters.
Table 1. Variable-pitch quadrotor parameters.
ParameterVariableValueUnit
Total system massm 1.37 [kg]
Inertia about x B , y B J x , J y 7.5 × 10 3 [kg· m 2 ]
Inertia about z B J z 1.3 × 10 2 [kg· m 2 ]
Arm lengthl 0.3 [m]
Lift curve slope c l α 5.23 [ ]
Zero lift drag coefficient c d 0 0.01 [ ]
Propeller radius R a 0.18 [m]
Propeller chordc 0.03 [m]
Rotor solidity σ 0.106 [-]
Gravitational accelerationg 9.81 [m/s 2 ]
Air density ρ 1.225 [kg/m 3 ]
Linear friction coefficient k t 0[N· s/m]
Angular friction coefficient k r 0[N · s · m]
Minimum pitch angle α m i n 0.05 [deg]
Maximum pitch angle α m a x 15[deg]
Pitch angle rate limit Δ α m a x 60[deg/s]
Minimum desired square rotor speed u m i n 0[rad 2 /s 2 ]
Maximum desired square rotor speed u m a x 2 × 10 5 [rad 2 /s 2 ]
Motor square speed rate limit Δ u m a x 1.6 × 10 5 [rad 2 /s 3 ]
Table 2. Consumptions: independent motors’ speed vs. centralized motor.
Table 2. Consumptions: independent motors’ speed vs. centralized motor.
ScenarioConsumption ( | u | 3 / 2 )
Independent motors 6.144 × 10 9
Centralized motor 7.551 × 10 9
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. Fault-Tolerant Control of a Variable-Pitch Quadrotor under Actuator Loss of Effectiveness and Wind Perturbations. Sensors 2023, 23, 4907. https://doi.org/10.3390/s23104907

AMA Style

Baldini A, Felicetti R, Freddi A, Monteriù A. Fault-Tolerant Control of a Variable-Pitch Quadrotor under Actuator Loss of Effectiveness and Wind Perturbations. Sensors. 2023; 23(10):4907. https://doi.org/10.3390/s23104907

Chicago/Turabian Style

Baldini, Alessandro, Riccardo Felicetti, Alessandro Freddi, and Andrea Monteriù. 2023. "Fault-Tolerant Control of a Variable-Pitch Quadrotor under Actuator Loss of Effectiveness and Wind Perturbations" Sensors 23, no. 10: 4907. https://doi.org/10.3390/s23104907

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