DISCUSSION AND PRACTICAL ASPECTS ON CONTROL ALLOCATION FOR A MULTIROTOR HELICOPTER

This paper presents practical methods to improve the flight performance of an unmanned multi-rotor helicopter by using an efficient control allocation strategy. The flying vehicle considered is an hexacopter. It is indeed particularly suited for long missions and for carrying a significant payload such as all the sensors needed in the context of cartography, photogrammetry, inspection, surveillance and transportation. Moreover, a stable flight is often required for precise data recording during the mission. Therefore, a high performance flight control system is required to operate the UAV. However, the flight performance of a multi-rotor vehicle is tightly dependent on the control allocation strategy that is used to map the virtual control vector v = [T,L,M,N ] composed of the thrust and the torques in roll, pitch and yaw, respectively, to the propellers’ speed. This paper shows that a control allocation strategy based on the classical approach of pseudo-inverse matrix only exploits a limited range of the vehicle capabilities to generate thrust and moments. Thus, in this paper, a novel approach is presented, which is based on a weighted pseudo-inverse matrix method capable of exploiting a much larger domain in v. The proposed control allocation algorithm is designed with explicit laws for fast operation and low computational load, suitable for a small microcontroller with limited floating-point operation capability.


INTRODUCTION
FUTURE generations of unmanned aerial vehicles (UAVs) will be capable of carrying tasks such as cartography, photogrammetry, surveillance, monitoring, inspection or transportation.To this end, new types of vehicles can be used, such as multi-rotor helicopters, which are capable of lifting a significant payload while maintaining their flight stability.For example, the six-rotor helicopter shown in Fig. 1 -called Hexacopter -used in our Laboratory, can lift off a payload of about 1 kg.Therefore, the vehicle can be equipped with a selection of sensors and instruments to perform the desired task.This additional payload may significantly change the weight distribution and the flight performance of the vehicle.Robust flight controllers are necessary to safely Figure 1: Hexacopter in use in the I3S Laboratory operate the UAV, in particular in urban areas, despite uncertainties in the knowledge of the weight, the inertia matrix, the dynamics of the payload itself, and aerodynamic disturbances (Rudin et al., 2011).In addition, the hexacopter is an appealing platform to increase flight safety, since a certain level of stability can be maintained despite certain motor failure(s).In the case of a multi-rotor helicopter, the performance of the flight control system is strongly dependent on the control allocation strategy.It consists in computing each motor speed so as to produce the desired thrust and moments in roll, pitch, and yaw as shown in Fig. 2. Several methods for control allocation have been described in the literature: direct control allocation (Durham, 1993), daisy chaining (Buffington and Enns, 1996), and the linear programming method (Ikeda and Hood, 2000).In conventional methods ((Bodson, 2002), (Harkegard, 2003)), the control allocator solves the following (possibly underdetermined) constrained system of equations, which may be regarded as a mapping in the controlled system g(δ(t)) = v(t), with the true actuator control signals δ(t) ∈ R N and N being the number of actuators.After linearization, the mapping equation may be rewritten in the standard formulation of the constrained linear control allocation problem: with the constraints where δi,max, δi,min are the i th actuator position limits, ρi,up and ρ i,down are the i th actuator rate limits, and Ts is the sampling time of the digital control system.Note that in the context of this work, actuators' dynamics are not considered.The main technique these methods have in common is solving a constrained optimization problem.The pseudo-inverse redistribution method ( (Bodson, 2002), (Jin, 2005)) is another technique, which makes use of a pseudoinverse computation of the control input matrix A. Although it does not always provide an optimal solution, it is usually faster than the other methods.
The greatest benefit of the control allocation approach is achieved in over-actuated systems.Using control allocation, the design of the control system can be separated into the derivation of the control laws and the design of a control allocator.This approach offers the following three advantages: 1.The actuator constraints, such as speed and speed-rate limits, can be taken into account.In case one actuator is saturated, the remaining actuators can be used to produce the desired control effort.2. Control allocation takes advantage of the system's redundancy and allows the system to be optimized for certain objectives.
3. In cases of actuator failures, a supervision controller can reconfigure the behavior of the control allocator in order to compensate for those failures, without the need for redesigning the control laws.A literature survey shows that most of the control allocation techniques have mostly been applied to airplanes having redundant control surfaces.To our knowledge, control allocation has rarely been discussed for multi-rotor helicopters and in particular for an hexacopter as described in this paper.

Multi-rotor
In the case of multi-rotor helicopters, the control allocation problem is summarized as follows: 1. given a virtual control input vector v cmd = [T, L, M, N ] ⊤ cmd generated by the flight controller, 2. find the set of propeller speeds For multi-rotor vehicles, control allocation is classically done by: 1. computing the pseudo-inverse of the matrix A in Eq. (3), 2. saturating the computed propeller speeds in between the minimum and the maximum propeller speeds possible.
The key contributions of this paper are: 1. to show that a control allocation strategy based on the classical approach of pseudo-inverse only exploits a limited range of the vehicle capabilities to generate thrust and moments, 2. a novel approach is presented which is based on a weighted pseudo-inverse method capable of exploiting a much larger domain achievable in v, 3. and finally, the control allocation algorithm is formulated in terms of explicit laws for fast operation and low computational load, suitable for a microcontroller with limited computation capability (Ducard et al., 2006).

CONTROL ALLOCATION: PROBLEM DEFINITION
In the case of multi-rotor helicopters such as those represented in Fig. 3, control allocation consists in calculating each propeller speed to generate the desired total thrust T and the moments in roll, pitch and yaw, L,M ,N , respectively.Consider a practical case of an helicopter with n rotors, where the speed ωi of each motor i (i = 1, 2, • • • , n) is lower and upper bounded by the positive numbers ωmin and ωmax respectively, or equivalently Defining Tmin := nµω 2 min , Tmax := nµω 2 max , one easily verifies that Tmin ≤ T ≤ Tmax . (1) The coefficients µ and κ (used below) characterize the efficiency of a propeller to generate thrust and yaw torque, respectively (Hamel et al., 2002).The arm-length of the vehicle is l.

Quadricopter Case
In the case of a quadricopter shown in Fig. 3, four motor speeds need to be computed.The mapping matrix A between propellers' speed and the vector v is shown in Eq. 2. Control allocation is done by computing the inverse of the matrix A, such that the commanded propeller speeds are calculated with Figure 3: Multi-rotor helicopter configurations: quadricopter in a), hexacopter in b)

Hexacopter Case
The hexacopter's total thrust force T and torque control inputs L, M, N are related to the six motors' speed by the following equation which can be rewritten in a more compact form as We wish to determine the desired speeds ωi of the six motors so that 3 CONTROL ALLOCATION FOR HEXACOPTERS: CLASSICAL METHOD

Classical Pseudo-Inverse Matrix Method
A solution to find the desired motors' speeds from the desired command v is the pseudo-inverse matrix method.For instance, since the inverse of AA ⊤ exists, the matrix pseudo-inverse of A is given by International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXVIII-1/C22, 2011 ISPRS Zurich 2011 Workshop, 14-16 September 2011, Zurich, Switzerland and the desired motors' speeds can be calculated according to

Issues of the Classical Pseudo-Inverse Matrix Method
The most problematic issue of this classical pseudo-inverse matrix method is that it does not take the constraints given in Eq. ( 4) into account.For this issue, an existing popular solution consists in saturating the output Ω calculated from Eq. ( 6) according to Eq. ( 4).However, due to the saturation of the output Ω, the generated total thrust T , roll torque L, pitch torque M , and yaw torque N can be dramatically different from the desired thrust T and desired torques L, M and N .
One verifies that the desired motors' speeds ωi calculated according to Eq. ( 6) satisfy the constraints (4) if and only if In particular, when N = 0, one verifies from ( 7) that For a given value of thrust T satisfying Eq. ( 1), all set-points {L, M } satisfying the above constraints form a symmetric centered hexagon (see section 4.2.1).In the next subsection, we will show that the classical pseudo-inverse matrix method is very limited in exploiting the capabilities of the vehicle.Moreover, we propose a novel weighted pseudo-inverse matrix method which improves significantly the admissible zone for the control torques L, M, N .
The desired motors' speeds ωi calculated with Ω = A + W v satisfy the constraints in Eq. ( 4) if and only if Now it matters to determine the appropriate set (a, b, c) and the domain of {T, L, M, N } such that the constraints given in Eq. ( 9) are satisfied.For the clarity of the presentation, let us first present our approach for the case where the desired yaw torque control is set to zero (N = 0).In this case, only the controls of the thrust T and torques L, M are considered, and the admissible zone 1 of {L, M } will be characterized in function of T in section 4.2.Then, in Section 4.3 we extend the proposed approach for the case where the desired yaw torque control is chosen different from zero (i.e., N ̸ = 0).
4.2 Case of Null Desired Yaw Torque Control, i.e., N = 0 : In this case, one easily verifies from Eq. ( 9) that The constraints given in Eq. ( 10) indicate that for each set (a, b, c) and each commanded thrust T , the admissible values of the torque controls L and M must stay inside a centered polygon, which can be a quadrilateral or a hexagon depending on the case.For instance, the classical pseudo-inverse matrix is a particular case of the weighted pseudo-inverse matrix when a = b = c = 1/3.In this case the admissible zone of {L, M } is a symmetric centered hexagon, which is named as "classical" admissible hexagon of {L, M } as shown in Fig. 8.
For a given value of thrust T , by varying a, b, c under the condition a + b + c = 1 and in view of Eq. ( 10), one observes that all possible admissible values of the set-point (L, M ) fill a centered hexagon which is bigger than the hexagon of the classical pseudo-inverse matrix case.In what follows, we will • characterize the size of this "weighted" admissible hexagon of {L, M } in function of T , and compare it with the "classical" admissible hexagon of {L, M }, • propose a method to calculate the set (a, b, c) from a given set-point (L, M ) which stays inside or on the borderlines of the weighted admissible hexagon of {L, M }.

Admissible
Hexagon {L, M } in function of T (with null desired yaw torque control N = 0) This section is dedicated to define geometrically the shape of the admissible hexagon in terms of torques {L, M } for a given thrust T , when there is no yaw control.To this end, we first need to define the normalized variables for thrust and roll, pitch torque as follows: In view of Eqs. ( 1) and ( 11), one has e ≤ 1/3 and E ≥ 1/3; and Eq. ( 10) can be rewritten as Classical Case : The case of control allocation via classical pseudo-inverse of the matrix A corresponds to the situation where the coefficient a = b = c = 1/3.In such a case, it is found from Eq. ( 12) that the maximum normalized roll torque that the vehicle can generate is Lclassical max as follows: The term admissible zone means that for any set-point (L, M ) outside this zone there does not exist any non-negative set (a, b, c) with a + b + c = 1 such that the constraints given in Eq. ( 9) are satisfied.See Fig. 8. which implies that the maximum actual roll torque achievable is Weighted Pseudo-inverse Case : In the weighted pseudo-inverse matrix case, Eq. ( 12) yields that the maximum normalized roll torque that the vehicle can generate is Lweighted max as follows which is equivalent to Lweighted Based on the result of Eq. ( 14) and the definition of L in Eq. ( 11), the maximum actual roll torque achievable using the weighted pseudo-inverse matrix is L weighted max as follows: By noticing that the diameter D of the admissible centered hexagon of {L, M } is two times bigger than Lmax (i.e., D = 2Lmax), one deduces from Eqs. ( 13) and ( 16) that the dimension (i.e., diameter) of the admissible hexagon of {L, M } in the proposed weighted pseudo-inverse matrix method is always larger than that of the classical pseudo-inverse matrix method (see Fig. 4).Indeed, Fig. 4 1), let us characterize the borderlines of the weighted admissible hexagon of {L, M } in the case N = 0. To this purpose and in view of the definitions of L, M in Eq. ( 11), it suffices to determine the borderlines of the weighted admissible hexagon of { L, M } (see Fig. 6).From Eq. ( 14), the definition of α in Eq. ( 15), and the hexagonal form, one easily deduces that : Calculation of (a, b, c) in function of T, L, M : From a given set (T, L, M ), we wish to calculate the weighting parameters a, b, c involved in the pseudo-inverse matrix A + W defined in Eq. ( 8).Without loss of generality, let us assume International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXVIII-1/C22, 2011 ISPRS Zurich 2011 Workshop, 14-16 September 2011, Zurich, Switzerland that L and M are chosen such that the set-point ( L, M ) stays on the borderlines or inside the weighted admissible hexagon of { L, M } specified previously.If this is not the case, one can easily project the set-point ( L, M ) onto this weighted admissible hexagon along the direction joining { L, M } and the origin.In what follows, we deal with i) the case where ( L, M ) stays on the borderlines, and ii) the case where ( L, M ) stays inside the weighted admissible hexagon of { L, M }.
For each set-point ( L, M ) on the borderlines of the admissible hexagon of { L, M }, we propose to calculate a, b, c for three possible cases, so that the constraints given in Eq. ( 10) are satisfied, as follows : • Case 1 where E ≥ 1 − 2e, i.e., Tmin ≤ T ≤ Tmax+2T min 3 : • In the top and bottom borderlines : • In the top-left and bottom-right borderlines : • In the top-right and bottom-left borderlines : • In the top-left and bottom-right borderlines : • In the top-right and bottom-left borderlines : • Case 3 where E < 1−e 2 , i.e., 2Tmax+T min 3 < T ≤ Tmax : • In the top and bottom borderlines : • In the top-left and bottom-right borderlines : • In the top-right and bottom-left borderlines : In Case 2, when E + e = 2/3, one obtains a = b = c = 1/3 which corresponds to the classical pseudo-inverse matrix case.
The proposed expressions of a, b, c for the three above possible cases are quite tricky to get and are not presented in this paper due to space limitation.Essentially, they are based on the evaluation on intersection points of six lines given in Eq. ( 12).For instance, these expressions ensure that when the reference setpoint ( L, M ) = ( Lr, Mr) moves continuously in the borderlines of the admissible hexagon { L, M }, the variations of the weighting parameters a, b, c are also continuous.Fig. 7 illustrates an example case where E = 0.8 and e = 0.2 (i.e., Case 1).The green circles correspond to some reference set-points ( Lr, Mr) moving clockwise in the borderlines of the admissible hexagon of { L, M }, whereas the red quadrilaterals are zones limited by Eq. ( 12) with the weighting parameters a, b, c calculated by the proposed expressions.We can see that each reference set-point ( Lr, Mr) coincides perfectly with a corner of the corresponding quadrilateral, which means that the constraints in Eq. ( 12) (i.e., Eq. ( 10)) are satisfied.Consider the case where the reference set-point ( L, M ) is inside the weighted admissible hexagon of { L, M }.For instance, one may i) project the reference set-point ( L, M ) onto the borderlines of the admissible hexagon along the direction joining the origin with the set-point ( L, M ), and then ii) apply the method proposed previously so as to calculate the parameters a, b, c based on the obtained projected set-point ( Lp, Mp).However, with this strategy, when the reference set-point ( L, M ) varies inside the classical admissible hexagon of { L, M } (obtained by the classical pseudo-inverse matrix method), the parameters a, b, c also vary accordingly, whereas in the classical pseudo-inverse matrix method one always has a = b = c = 1/3.This homogeneity is the advantage of the classical pseudo-inverse matrix method that we would like to have with the weighted pseudo-inverse matrix method.To this purpose, the following strategy is proposed : • When the set-point ( L, M ) is inside or on the borderlines of the classical admissible hexagon, we set a = b = c = 1/3.
• When the set-point ( L, M ) stays outside the classical admissible hexagon but inside the weighted admissible hexagon, the following interpolation method is proposed (see Fig. 8).First, we project the reference set-point ( L, M ) onto the borderlines of the classical and weighted admissible hexagons to obtain two setpoints ( Lc, Mc) and ( Lw, Mw), respectively (see Fig. 8).Then, we apply the method previously proposed in order to calculate the parameters {a, b, c} for the set-point ( Lw, Mw) staying on the borderlines of the weighted admissible hexagon.Let us denote the corresponding values as aw, bw, cw.Finally, the desired parameters a, b, c are calculated by interpolation as follows Figure 8: Interpolation method for the determination of a, b, c Fig. 8 illustrates an example case where the parameters a, b, c are obtained by the proposed interpolation method.The red hexagon is the corresponding admissible zone of ( L, M ) with a, b, c oband with the constraints in Eq. ( 12).It crosses the reference set-point ( L, M ), which means that the constraints in Eq. (12) (i.e., Eq. ( 10)) are satisfied.The proposed interpolation method ensures that the variations of the values of a, b, c are continuous if the reference set-point ( L, M ) varies smoothly over time.This is particularly important in practice since it ensures that the desired motors' speeds ωi calculated according to Ω = A + W v vary also continuously if the control input vector v is continuous in time.In practice, it is desirable to maintain a certain control authority in yaw.However, in view of Eq. ( 9) the larger the value of N the smaller the dimension of the admissible zone of {L, M }.Thus, a compromise should be made.In the present paper, we propose to leave a certain control authority margin for N , i. Eq. ( 18) is similar to Eq. ( 10) with Tmin and Tmax replaced by Tmin and Tmax, respectively.From here, all the steps to determine a, b, c can be proceeded exactly like in the case treated previously (i.e., case of N = 0) but using Tmin and Tmax instead of Tmin and Tmax, respectively.

CONCLUSIONS AND FUTURE WORK
This paper has shown new development in flight control system for multi-rotor helicopters.It is shown that a control allocation strategy based on the classical approach of pseudo-inverse matrix only exploits a limited range in the flight capabilities of the vehicle to generate the desired virtual control input vector v. Thus, in this paper, a novel approach is proposed and is based on a weighted pseudo-inverse matrix method.It is capable of exploiting a significantly larger domain achievable in v.The presented control allocation algorithm is made of explicit laws for fast operation and low computational load.Future work deals with 1) the extension of the control allocation method to multi-rotors with n > 6 propellers, 2) the on-line identification of the propellers' efficiency to generate thrust, and 3) dealing with control re-allocation in the case of one (or more) rotor failure(s).
Figure 2: Control allocation

4
CONTROL ALLOCATION FOR HEXACOPTERS: NEW PROPOSED WEIGHTED PSEUDO-INVERSE MATRIX METHOD 4.1 General Formulation : Let us introduce a diagonal weighting matrix W := diag([a; b; c; a; b; c]), where a, b, c are non-negative and satisfy the condition a + b + c = 1.The weighted pseudo-inverse matrix proposed in the present paper is given by

Figure 4 :
Figure 4: Comparison between the maximum roll torques achievable in the weighted pseudo-inverse matrix case L weighted max (blue line) and in the classical case L classical max

Figure 5 :
Figure 5: Weighted admissible hexagon of {L, M } in function of T (with N = 0)

:•
In the top and bottom borderlines :

4. 3
Extension to the Case of Non-Null Desired Yaw Torque Control, i.e.N ̸ = 0 : e. |N | ≤ Nmax where Nmax should not be too large.Define TN := µκ −1 Nmax, Tmin := Tmin + TN , Tmax = Tmax − TN .Finally, instead of determining the admissible zone of {L, M } and the corresponding parameters a, b, c based on the constraints given in Eq. (10), we consider now the following constraints 