Interpolated reference model based fault tolerant sliding mode control for an octorotor

In this paper, a quasi-linear parameter varying sliding mode control allocation law is proposed for the fault tolerant control of an octorotor. In the event of rotor faults/failures, an allocation law redistributes the control effort among the remaining healthy rotors. The sliding mode control law is designed to guarantee asymptotic tracking of a reference model which is tuned on-line, through an interpolated feedback gain, to ensure that the control signals remain within their saturation limits. A method for designing the parameterised feedback gain is proposed which is shown to maximise a deﬁned stability criteria whilst preventing undesirable performance characteristics in the reference model. The proposed scheme is tested on a non-linear octorotor model in the presence of severe rotor failures and uncertainty/disturbances.


INTRODUCTION
Due to their low maintenance costs and high level of mobility, multi-rotor Unmanned Aerial Vehicles (UAVs) have been proposed in recent years for a wide variety of applications; these have included automating warehouses [1,2], delivering goods [3,4], surveillance [5,6] and more [7].UAVs have also gained popularity for testing control systems, in both teaching [8] and research [9,10] environments, due to their simplicity and ease of use within a laboratory setting.
To ensure safe operation commercially, it is important that a UAV maintains some level of performance when presented with rotor faults or failures-and this can be achieved through the implementation of a Fault Tolerant Control (FTC) scheme.Quadrotors are one of the more popular forms of multi-rotors and many works have investigated FTC for these systems in the presence of rotor faults [11][12][13].Due to their lack of redundancy, quadrotors are unable to deal with complete rotor failures without sacrificing the controllability of the yaw angle to maintain controllability of the other states [10,14,15].
Other multi-rotors, such as the hexarotor or the octorotor, feature a greater number of rotors.Not only does this allow them to carry a greater payload, it also provides them with actuator redundancy.This redundancy can be utilised by a FTC scheme to maintain some level of system performance in the event of complete rotor failures-making them an inherently safer alternative to the quadrotor.Several works have considered the robust control of hexa/octorotors when presented with rotor faults: these include Sliding Mode Control (SMC) [9,16]; the backstepping approach in [17]; and adaptive methods proposed in [18,19].In contrast, [20] proposes a bespoke method which can handle a single rotor failure by 'switching off' the mirrored rotor -effectively turning an octorotor into a hexarotor.
Control Allocation (CA), in various forms, has proven a popular choice for handling redundancy in over-actuated systems [21].This allows the closed-loop performance (designed through a robust 'virtual' control law) and the control distribution to the physical actuators, to be handled independently.In [9] continuous Linear Parameter Varying (LPV) CA was used within a SMC framework to effectively control an octorotor in the presence of multiple rotor faults and failures.One issue in achieving fault tolerance through control signal redistribution is the added control effort that healthy rotors are expected to contribute.If actuator limits are not directly considered in the control synthesis, this can result in control signals saturatingleading to loss of performance and even instability.This is a particularly hard problem for multi-rotors due to their fast and marginally stable open-loop dynamics.
Many works have highlighted the issue of saturating rotors [22][23][24][25][26][27][28][29][30].In [22] variable pitch rotors are suggested for increasing the total control effort available to the plant; however, this can be expensive and impractical for many smaller/mid sized multi-rotors.One common solution is the use of an optimal version of CA: this was shown to be effective in both [23] and [24] to ensure that the rotor control signals remained within their limits through solving a series of constrained on-line optimisation problems, whereas the work in [25] proposes a redistributed pseudo-inverse approach.The works in [26,27] propose versions of optimised CA which prioritises performance in the height, roll and pitch tracking (i.e., those channels that are most vital to system stability) in favour of poorer yaw tracking.For any of these methods to be effective (in removing the performance degradation associated with rotor saturation), the assumption needs to be made that the 'virtual' control (or at least some of its components in the case of [26,27]) remains achievable with respect to the rotor's health and saturation limits.Such an assumption becomes difficult to justify when presented with extreme fault/failure scenarios, aggressive manoeuvres and disturbances/uncertainty (or a mixture of all three).
Instead of preventing saturation through control effort redistribution, [28,29] propose forms of reference hedging in which the multi-rotor's path is adjusted to ensure that the resulting control signals are feasible.However, these method are ineffective in scenarios where saturation occurs when just trying to regulate the system.The work in [30] proposes a Model Predictive Control (MPC) scheme which deals with the closed-loop performance and control distribution in one step through a constrained optimisation schemeensuring feasible signals are produced.However such a scheme is computationally difficult to realise in real-time, particularly with the limited computing capacity available on small multi-rotors.
Due to its inherent ability to reject a certain class of disturbances/uncertainty, SMC has proven popular in the design of FTC schemes.In [31] a Neural Network (NN) based fault tolerant Terminal SMC is developed.In [16] a Non-linear Dynamic Inversion (NDI) law is modified to include a sliding mode.An output SMC is proposed in [32] for FTC of time-varying systems.Although not a huge focus of research, some SMC works explicitly consider the effects of saturation.In [33] a conventional SMC is designed for the FTC of chaotic systems; however, the controller only provides some stability guarantees when a control signal saturates and does not attempt to prevent saturation occurring in the first place.In [34] and [35] the super-twisting algorithm is employed: in these works the controller ensures that control signals do not saturate-but at a cost to performance when not in saturation.This is improved upon in [36], which ensures performance is not sacrificed nominally, however (similarly to [33]) the scheme does not prevent the control signals from saturating.Out of [33][34][35][36] only [33] considers the problem of actuator faults/failures.This situation is more challenging in the sense that the actuator limits can change during the controller operation as a consequence of the faults, rather than the situation considered in [34,35] where the limits are known a-prior and the controller is designed cognizant of the limitations.None of these aforementioned works consider the problems of reference tracking.
In [37], to address the situation where the actuator limits change during operation an SMC method is proposed which interpolates between two control designs (one high performance and one low performance).The controller is scheduled such that the highest performance controller (subject to saturation limits) is selected.This method relaxes the assumption on the 'virtual' control and instead an assumption is made that an acceptable low performance (stabilising) controller can be designed.This method is also able to handle the problems of saturation during both system regulation and reference tracking.The work in [38] proposes a form of model reference SMC where, instead of interpolating between controllers, the controller remains fixed and is instead used to track an interpolated reference model (which is a blending of a high performance and a low performance reference model).This allows the design and analysis of both the interpolated reference model and the SMC to be conducted independently of each other; however, stability of the closed-loop is only guaranteed if both the high performance and low performance reference models share a Common Quadratic Lyapunov Function (CQLF).In practice, designing two reference models (with significantly different performance levels) subject to a CQLF is difficult.
In this paper the problem of rotor saturation is addressed through a Sliding Mode Control Allocation scheme which is used to track an on-line optimised interpolated reference model.The proposed scheme increases the applicability of the ideas in [22-27 through ensuring that the 'virtual' control remains feasible despite faults/failures, aggressive manoeuvres and disturbances/uncertainty.Unlike the works in [28,29] the proposed scheme is also applicable to the regulation problem without the large computational load of the MPC scheme in [30].Since the scheme also ensures that the control signals remain feasible, there is no need for a complex stability analysis of the saturated system (such as in [33,36]).This paper also builds on the theoretical contributions in [9,38] by: • Explicitly considering the effects of control signal saturation.
• Proposing a novel form of scheduled reference model which removes the CQLF requirement.• Developing a computationally light bisection-like algorithm which ensures that the scheduled reference model is operating at it's highest possible performance level, without violating control signal constraints.• Outlining an optimisation problem which aims to automate the process of selecting the parameters within the interpolation design -maximising stability and improving the blending between the two reference models.

OCTOROTOR MODEL
In this section two different models of the Octorotor, shown in Figure 1, are presented: • A non-linear model-which will be used in the simulations to assess the performance of the control schemes which will be proposed.• A Quasi-LPV model-which will be used for control design.

Non-linear model
Under some commonly made assumptions, the non-linear dynamics of an octorotor can be described by [9,39] φ = p + q sin() tan() + r cos() tan(), ψ = q sin() sec() + r cos() sec(), where x b , y b and z b denote position (m) in the X b , Y b and Z b body axes.The euler angles (rad ) are denoted by ,  and  (these are commonly known as the roll, pitch and yaw angles), and their respective angular velocities (rads −1 ) are denoted by p, q and r.
In the above equations, m denotes the octorotor's mass (Kg); I xx , I yy and I zz denote the moments of inertia (Kgm 2 ) around the X b , Y b and Z b body axes; whilst J r denotes each rotor's moment of inertia (Kgm 2 ).In ( 7) and ( 8) the residual angular speed (rads −1 ) of the 8 rotors [39] is defined by where Ω i denotes the angular velocity (rads −1 ) of the i th rotor.
In this paper it is assumed that the angular velocities of the rotors are known and therefore Ω r is available to the controller.The individual contributions of each rotor cumulate to produce torques (Nm −1 ) and forces (N ) which can be calculated through where the individual components of (t ), from top to bottom, correspond to the total thrust and the torques in the roll, pitch and yaw axes.Specifically, in (11), the matrix B Ω is given by where the coefficients b and d denote the thrust and drag factors of the propellers, respectively, and l denotes the distance (m) of the rotors from the octorotor's centre of gravity.
To model the effects of saturation limits on the rotors, this paper assumes that the i th component of u(t ) is bounded according to the function where T denotes the commanded control signal (generated by the controller).In this paper, the limits u i max and u i min are assumed to be known.This model will be used to assess the performance of the control schemes proposed later in the paper.

Quasi-LPV model
The non-linear equations of motion from §2.1 will now be simplified to obtain a 'control oriented' model.As in previous works [9,39], assuming that the octorotor's perturbations from hover are small, then ( φ, θ, ψ) ≈ (p, q, r ).This allows the nonlinear model in Equations ( 2)-( 9) to be presented in the following 'quasi-linear' LPV structure [40]: where the system state is assumed to be known and is given by where h denotes the height (m) and the other states have been defined previously.In ( 14), the signal (t ) is defined as where Ω r (t ) is defined in (10).The signal denotes matched uncertainty which is unknown but assumed to be bounded according to where k < 1 is a known scalar and (t , x) is a known function.
In (14) the system matrices A() ∈  8×8 , B  () ∈  8×4 and E () ∈ 8 × 2 have the following structures where the scheduling parameter (t ) ∈ Θ is defined as where Θ ∈ ℝ 4 represents a compact set.This assumes that the angular rates remain bounded.Note that, due to the fact x(t ) from ( 15) is assumed to be known, the scheduling parameter (t ) is also known.
Remark 1.The sub-matrix A 22 () has a particular structure which will be exploited for the control design.Specifically For more detail on the matrices in ( 18) and ( 20) see [9,39].

CONTROL ALLOCATION
Using the mapping of u(t ) ↦ (t ) from (11), the system in ( 14) can be expressed as where u(t ) represents the individual angular velocities of each rotor as defined in (11).To model the effects of rotor faults and failures in (21), consider the modified system where W (t ) = diag(w 1 (t ), … , w 8 (t )) represents the health of the rotors.Each component w i corresponds to the health of the i th rotor and is bounded such that 0 ≤ w i ≤ 1.A value of w i = 1 indicates a healthy rotor whilst a value of w i = 0 indicates a failed rotor, a value between these two extremes indicates a faulty rotor.Here the B() matrix from ( 21) can be perfectly factorised such that where the fixed matrix B v is given by and B 2 () ∈  4×8 .Note that since f m (t , x, u) is a matched uncertainty, it can be conveniently written in the form In the event that W (t ) ≠ I (i.e., rotor faults and failures are present) CA can utilise knowledge of the rotor's health in an effort to maintain some level of closed-loop system performance.Typically exact knowledge of W (t ) is unavailable to the controller and so any CA law would inevitably be based on an estimate of W (t ), provided by a Fault Detection and Isolation (FDI) scheme.Here the approximation is denoted by Ŵ (t ) and is assumed to satisfy where Δ(t ) ∈  8×8 is a diagonal matrix which represents the uncertainty introduced in the fault reconstruction.
For the case where det(B 2 () Ŵ (t )B 2 ()) ≠ 0, define the CA law where v(t ) ∈  4 is a reduced order 'virtual' control signal to be defined later.Assuming that the system is operating within saturation limits (i.e., u(t ) = u c (t )), substituting ( 26) into (22), and utilising (23) yields the faulty virtual system where which, by utilising the fact that B 2 () Ŵ (t )B † (, t ) = I , can be rearranged into known and unknown components such that Substituting ( 29) into (27) yields Remark 2. For the inverse in (26) to exist, and thus consequently guarantee a well defined expression for u(t ), the following assumptions are made: • The actuator faults and failures Ŵ (t ) belong to a set • The octorotor's Euler angles remain within the bounds || < ∕2 and || < ∕2, this in turn ensures that det(B 2 ()B 2 () T ) ≠ 0 [9].
Therefore, due to the boundedness properties of pseudoinverses [41], there exists a value  0 which satisfies for any Ŵ (t ) ∈  and all  ∈ Θ, where B † 2 (, t ) is defined in (26).

MODEL REFERENCE SLIDING MODE CONTROL
This section proposes a SMC law v(t ) which forces the states of (30) to robustly track an optimised reference model.A schematic of the inner-loop control scheme is shown in Figure 2. The CA was previously described in §3, the optimisation and reference model design will be discussed in §5.

Model reference error system
Assume the controlled outputs associated with (30) are where , and therefore Using the fixed system matrix A 0 , defined as A()| =0 , and B v , defined in ( 24), a reference model can be designed1 where x m (t ) ∈  8 denotes the state of the reference model, (t ) ∈ ℝ denotes a new interpolation parameter, r (t ) ∈  4 denotes the command reference signal and the matrices where F () ∈  4×8 is chosen to ensure A m () is stable.A specific choice of F () will be discussed in the next section.It is easy to verify that at steady-state, y m (t ) = Cx m (t ) = r (t ).To develop a control law to ensure that x(t ) → x m (t ) define Assuming that the control signals remain within their saturation limits, taking the derivative of (36) and making substitutions from (30) and (34) yields ) which, by adding A()x m (t ) − A()x m (t ) to the right hand side and using (35), allows (37) to be rearranged to have the form where Note that due to the structure of A() in ( 18) and its sub-matrix A 22 () in (20), the following property can be verified which allows (38) to be simplified to where and x m,2 (t ) ∈  4 represents the bottom partition of x m (t ).The objective now is to develop a 'virtual' control law v(t ) to ensure e(t ), defined in (41), converges to the origin.

Sliding surface design
To develop a SMC law which ensures the system in (41) robustly converges to the origin, consider a sliding surface  = {e(t ) ∈  8 ∶ Se(t ) = 0} where the switching function and M ∈  4×4 represents design freedom.Because ( 41) is in 'regular form' (from the structure of B v ), exploiting the special structure of A() in ( 18), an ideal sliding motion on  is governed by where e 1 (t ) ∈  4 represents the top partition of e(t ) in (36).Therefore, for this particular system, any matrix M which is positive definite ensures that ( 44) is stable.
Remark 3.Although the structure in (43) appears somewhat restrictive, the specifics of this multi-rotor system means there is sufficient design freedom available (the sliding motion in (44) is completely specifiable by choice of M ).The structure in ( 43) also means SB v = I 4 which provides a decoupling of the components of the sliding variable.This is also advantageous.

Sliding mode control laws
To ensure that the system in ( 41) achieves an ideal sliding motion in finite time, consider a 'virtual' control law where v m (t ) is defined in (39) and the linear and non-linear components of ( 45) are where (t , x, v) is a scalar function.

Proposition 1. If the uncertainty in the fault reconstruction satisfies
where  0 is defined in (31), k is a bound on the uncertainty from (17) and where  c is a positive design scalar, ensures a sliding motion occurs in finite time and can be maintained for all faults Ŵ (t ) ∈ .
Proof.From (41) and the definition of s(t ) in (43) it is easy to verify that Substituting from (45) yields From the definition of v n (t ) in (46), the bound on ‖ f m (t , x, u)‖ in (17) and the fact that + k‖s‖‖v l + v m ‖ + ‖s‖.
From ( 29) It can be verified, by substituting from (48), that and therefore choosing  as described in (49) ensures which guarantees that s(t ) → 0 in finite time.□

INTERPOLATED REFERENCE MODEL FORMULATION
In this section the problem of designing the parameterised feedback gain F (), used within the reference model (34), is discussed.An appropriate interpolation law for (t ) is proposed which ensures that the rotor control signals are kept within their saturation limits.

Parameterised feedback gain
Here the parameterised gain F (), from (35), is chosen as where the parameter ] .The matrices P 1 ∈  8×8 and P 0 ∈  8×8 are positive definite matrices which, respectively, satisfy where  is a positive design scalar.The structure in (56), from [42], acts as an interpolation of two distinct static feedback gains F 1 ∈  4×8 and F 0 ∈  4×8 .Evaluating (56) at the extremes In this paper F 1 is designed such that A 0 + B v F 1 offers nominal high performance whilst F 0 is designed such that A 0 + B v F 0 offers a degraded, but stable, performance.In [42] it is proven that A method of choosing the matrices P 1 and P 0 will be discussed later on in this paper.

On-line parameterised feedback gain optimisation
The 'virtual' control law, described in (45), is mapped through the control allocation law (26) to generate a commanded control signal u c (t ).When saturation limits are violated the signal becomes nonzero and the analysis in §4 is invalid.
Assumption 1.The controller gain F 0 can be chosen such that when  = 0, the error u e (t ) can be made zero, that is, in low performance mode, saturation can be avoided.
The problem to be solved here is to find a scheme, with low computational cost, to find the largest value of  which ensures u e (t ) = 0. First define the value of u e (t ) at a frozen time instant t , evaluated at the n th iteration as u e n .At a fixed time t , u e n is considered as a function of the interpolation parameter  n only (since e(t ), s(t ) and r (t ) are taken as constant)-and therefore u e n can be thought of as u e n ( n ).Now consider the cost function Because of the quadratic nature of the cost function (62) and the structure of the non-linearity from the saturation, at any given fixed time t , f ( n ) typically has the form shown in Figure 3 (an exception to this is when ).Now the problem of providing the best performance (that which is closest to (t ) = 1) becomes the following optimisation problem max assuming knowledge of the saturation limits.In this a bisection-like algorithm is proposed to find the solution of (63), denoted by  * , which is described in Figure 4, where  > 0 is a small tolerance used as the stopping criteria for the algorithm.
Initially the algorithm checks if the high-performance controller avoids saturation (i.e., f (1) = 0), in which case  * = 1 is chosen.If f (1) ≠ 0 then the bisection-like algorithm searches the interval  ∈ This process is continued until the desired accuracy for  * is met, which is governed by the choice of .

PARAMETERISED GAIN DESIGN
To design the gains F 0 and F 1 , this paper uses an LQR approach; although other linear state-feedback design methods could be used.The first step in designing these gains is to select the weights used to generate F 1 .These should be selected to provide nominal desired (high) performance.
Through experimentation these weights were chosen as  1 = diag(50, 30, and  1 = 0.1 ⋅ I 4 .The second step is to select the weights used to generate F 0 .These should be selected such that ‖F 1 ‖ ≫ ‖F 0 ‖ to ensure that the control signal generated is small when  = 0.Here this has been achieved by selecting  0 =  1 and choosing  0 = 10 6 ⋅  1 .To ensure the stability of A m () for each fixed  ∈ [ 0 1 ] , P 0 and P 1 need to be chosen to satisfy (57).Perhaps a natural choice for these matrices would come from the solutions of the Riccati equations which are calculated during the LQR design process.However in this example ‖P 1 − P 0 ‖ is of the order 10 11 and the bound in (60) would be too small for practical use.Instead the following optimisation problem is posed: subject to where c 1 , c 2 , c 3 > 0 represent scalar tuning parameters,  is defined in (57) and Q(⋅) ∈  8×8 represents the positive definite diagonal matrix generated from the decision variables q 1 , q 0 ∈  9 (where the first 8 elements of the vector q i form the diagonal of Q(q i ) and the 9 th element is used to scale the matrix).The elements q i are bounded from below such that q i > 0 which guarantees Q(q i ) > 0.
Remark 4. The use of the parameter  in (64) allows the bound on the scheduling parameter variation, defined in (60), to be maximised.
Remark 5. Since Q(q i ) is symmetric positive definite and the matrices A m (1) and A m (0) are Hurwitz, the solutions P i to (64) will always be symmetric positive definite.
Note that this optimisation can be solved quickly and conveniently with genetic algorithms.In (64) the term associated with c 1 effectively maximises the bound in (60), whereas the terms associated with c 2 and c 3 prevent the values of P 1 and P 0 from becoming 'too small'.To demonstrate the effectiveness of (64), 3 different designs for the pair P 1 and P 0 are considered: 1. Un-optimised: whereby P 1 and P 0 are chosen according to (64) where Q(q 1 ) = Q(q 0 ) = I .The simulation results presented in this paper use Design 3 which provides the smoothest transition between F 0 and F 1 , as shown in Figure 5, and guarantees stability of A m () for ‖ λ(t )‖ < 235.

Design
The following results demonstrate the effectiveness of the proposed control scheme, simulated using the non-linear octorotor model, presented in [9], under input saturation and rotor failures.The reference model used has the structure of (34), and the parameterised feedback gain F () has the structure shown in (56), where the design of F () was discussed in §6 (see Design 3 in Figure 5).During the simulations the interpolation parameter (t ) is updated using the bisection-like algorithm in §5.2 which is run for 50 iterations at every controller update (every 0.005 s).This was implemented using the solver 'ODE14x' with a time-step of 0.005 s.
The matrix M , in (43), which determines the eigenvalues of the reduced order motion, defined in (44), has poles at {−8 ± 3.5i, −7 ± 3i}.To alleviate 'chattering' [43], a modification was made to the non-linear component of ( 45) such that where  is a small positive scalar.In the simulation results which will be presented  is chosen as 0.001 and (t , x, v) is chosen to be fixed at 20.Note that using this approximation the controller can only guarantee pseudo-sliding whereby the states converge to a finite region around the sliding surface.Asymptotic convergence of e → 0, resulting from (44), becomes instead a guarantee of ultimate boundedness since ̇e1 (t ) = −Me 1 (t ) + s(t ) where the switching function s(t ) is small but not necessarily vanishing.
Convergence of e to a compact region of the origin   is guaranteed, and furthermore   → {0} as  → 0 [44].
To facilitate full 3D position control, outer-loop PID controllers are used to generate the reference signals for roll (to control x b ) and pitch (to control y b ).A schematic of the outerloop control scheme is shown in Figure 6 where the plant is described in Figure 2.For more information on the outer-loop control see §7 in [9].

Nominal results
Figures 7 and 8 show the controller performance with the high performance reference model being used (where  is fixed at 1) under nominal fault-free conditions with no uncertainty.The octorotor is commanded to follow a simultaneous height, x b and y b command, whilst maintaining the yaw angle at zero. Figure 7 shows good tracking performance with no overshoot and a reasonable rise time.At 2 and 35 s, when the pitch command starts/ends, there is a small deviation in the yaw-although this is negligible.From Figure 8 it can be seen that this manoeuvre does not saturate any of the control signals (which are bounded by a maximum speed of 850 rads −1 ).

Rotor failure results
In Figures 9 and 10 the effects of rotor failures are considered: specifically the effectiveness matrix W (t ) is set to be fixed at W = diag(0, 1, 0, 1, 0, 1, 0, 1) from time t = 0. Note that due to the CA law (26) the control signals sent to the failed rotors will be zero and are therefore not plotted.Clearly from Figure 9 the fixed controller (when  = 1 is fixed to remain and this value and which represents a typical model reference based SMC [45]) is unable to maintain stability and the closed-loop system begins to go unstable almost immediately after saturation first occurs at around 2 s.Looking at the control signals in Figure 10 it can be seen that once the reference command begins, the controller generates an infeasible signal (with respect to the saturation limits) resulting in large oscillations around the height reference.The same failure scenario is considered in Figures 11 and 12, except in this case the proposed interpolated reference model is used.Figure 11 shows that not only is the optimised scheme able to maintain stability but it also produces a nearly identical response to the nominal case in Figure 7.In Figure 12 it can be seen that the control signals never exceed their saturation limits.This can be attributed to the interpolation parameter  in Figure 13 which reduces the reference model's performance once the control signals reach their saturation limits.Once the period of saturation is over the interpolation parameter returns to 1, restoring the high performance reference model.

Uncertainty/disturbances
In Figures 14 and 15, the effects of uncertainty/disturbances on the fault-free system are considered.In this case each component of f m (t , x, v) is selected as the summation of 3 sinusoids with random amplitudes (between 0.05 and 0.2), random frequencies (between 0.5 and 3 Hz) and random phases.Additionally the mass of the octorotor (and the relevant inertia matrices) is increased by 75% to create further uncertainty and to simulate the octorotor carrying an un-modelled payload (likewise, decreases in the mass/inertia could be considered to capture changes to the airframe, i.e., mechanical faults, due to damage/collisions).In comparison, Figure 16 shows that, when the interpolated reference model is employed, the controller is able to maintain close to the nominal performance despite the uncertainty/disturbances. Figure 17 shows that the commanded rotor speeds remain within their saturation limits.At the times when the limits are reached it can be seen in Figure 18 that the interpolation parameter is reduced, preventing the rotors from exceeding their limits.
A further set of results in Figures 19-21 demonstrates the schemes effectiveness in the presence of the same uncertainty/disturbances considered previously with the addition of rotor faults.Specifically the effectiveness matrix W (t ) is fixed at W = diag(1, 0.8, 0.3, 1, 1, 0.3, 0.5, 1) from time t = 0 and the components of the uncertainty matrix Δ(t ) associated with the faulty rotors were set as the summation of 3 sinusoids with random amplitudes (between 0.05 and 0.1), random frequencies (between 0.5 Hz and 3 Hz) and random phases.
Figure 19 shows that the system remains stable however there is some degradation in the performance.Most notably there is an offset in both the pitch angle tracking as well as some overshoot in the height tracking at approximately 23 s.However, overall, the position tracking remains reasonable.
From Figure 20, it can be seen that rotors Ω 4 , Ω 5 and Ω 8 spend most of the simulation within 100 rads −1 of their maximum limits, even when just maintaining a hover.This greatly reduces the amount of control effort available to the scheme.In Figure 21 the interpolation parameter is shown to reduce much more aggressively than in Figures 13 and 18 in order to keep rotors within saturation limits, accounting for the greater loss in performance.

CONCLUSION
This paper has proposed a quasi-linear parameter varying sliding mode control allocation law which was used to track an on-line optimised reference model.The resulting scheme was shown in simulation to maintain a non-linear octorotor model within its saturation limits during a severe rotor failure scenario.The simulation results with saturation showed minimal performance degradation in the presence of faults/failures and in the presence of uncertainty/disturbances.In the event that the reference model was deliberately prevented from adapting, some control signals saturated and the closed-loop system became unstable in both cases.

FIGURE 1
FIGURE 1 Diagram of an octorotor

FIGURE 2
FIGURE 2 Schematic of the inner-loop controller

FIGURE 5
FIGURE 5 Eigenvalues of A m () for different interpolation designs

FIGURE 6 FIGURE 7
FIGURE 6 Schematic of the outer-loop controller

FIGURE 10
FIGURE 10 Fixed ( = 1) with rotor failures-commanded rotor velocities (rads −1 ) Figures 14 and 15  show the performance of the fixed controller in the presence of the uncertainty.The responses are similar to Figures9 and 10where instability occurs almost as soon as the reference signal changes.It can be seen from Figure15