WCA: A New Efficient Nonlinear Adaptive Control Allocation for Planar Hexacopters

This paper presents an efficient control allocation (CA) strategy which significantly improves the flight performance of a planar hexacopter. This allocation maps the desired control vector composed of the thrust and torques in roll, pitch, and yaw axis, respectively, to propellers’ speed. This paper shows that a CA strategy based on the classical approach of pseudo-inverse matrix only exploits a limited range of the vehicle capabilities to generate thrust and moments. A novel approach is presented, which is based on a weighted pseudo-inverse matrix method, called WCA, capable of exploiting a much larger domain in the control vector. The three weights involved in WCA are adapted online according to nonlinear laws which are analytically derived by solving symbolically the equivalent constraint least-squares problem, thus removing the need for online-optimization calculations. This solution allows for very fast real-time operations, suitable for autopilots with limited computing resources. This paper provides 1) a detailed analysis of the limitations of the classical control allocation scheme, 2) the mathematical development of the WCA algorithm, 3) simulations and real experiments which show that this WCA strategy outperforms the classical CA approach in terms of a) capability to generate the maximum roll and pitch torques possible, without generating undesired yaw torques, b) prioritizing the generation of thrust over attitude torques, thus achieving better altitude tracking despite aggressive maneuvers or the presence of a payload, and c) better behavior in case of actuator saturation, faults or even failures.


I. INTRODUCTION
Unmanned multirotor helicopters are very attractive because they can take-off and land vertically, hover, and lift significant payloads. For example, the six-rotor helicopter of this work, shown in Fig. 1, weighs 2.8 kg and can lift off a payload of about 1.2 kg. However, the payload may significantly affect the flight performance of the vehicle, and cause motor speed saturation when maneuvering. Indeed, for each propeller the remaining thrust between the maximum thrust and the thrust required to hover is used to produce roll, pitch and yaw torques. However, if due to a payload for example, the total weight of the flying vehicles increases, the amount of remaining thrust is diminished, thus limiting the amount of torques that can be produced. As a consequence, the vehicle is less The associate editor coordinating the review of this manuscript and approving it for publication was Emre Koyuncu . agile to compensate for significant wind gusts or to perform aggressive maneuvers. The heavier the vehicle, the easier it is to saturate the motor speeds, and to degenerate the ability to control attitude and altitude at the same time. This can result in a crash as shown later in this article, when using a control allocation approach based on the classical Moore-Penrose pseudo-inverse matrix of the control input matrix. The flight control system of this research [1] features several dedicated control loops to achieve stable flight and tracking of desired attitude, speed, and position. In the most inner-control loop, the control allocation algorithm assigns motors' speed commands. It turns out that flight performance, not only depend on the flight controllers (attitude, speeds, positions), but also on the CA strategy. Indeed, if able to handle motorspeed saturations adequately, the control allocation has a decisive influence on the ability of the vehicle to maintain its altitude despite aggressive maneuvers, external disturbances, Control allocation for multirotor helicopters consists in calculating the propellers' speed needed to generate the desired total thrustT and the desired roll-, pitch-, and yaw torques, L,M ,N , respectively. The control allocation problem can be summarized as follows: 1) the flight controller generates a virtual control input vector of desired thrust and torquesv = [T ,L,M ,N ] ⊤ , 2) next, find the desired propeller-speed vectorˆ := [ω 2 1 ; · · · ;ω 2 n ] ⊤ , for n propellers, and for the allocation matrix A ∈ R 4×n defined in (6), such that v = Aˆ , 3) while respecting the constraints with the constraints where ω i,max , ω i,min are the i th -motor speed limits, ρ i,up and ρ i,down are the i th -motor acceleration and de-acceleration limits respectively, and T s is the sampling time of the digital control system. Note that in the context of this work, actuators' dynamics are not considered and all motors are identical, and thus the constraints simplify to ω 2 min ≤ω 2 i ≤ ω 2 max , ∀i, i = 1 . . . n.
The control allocation technique brings its full potential for over-actuated systems, where the control system can be designed in two steps, namely 1) derivation of the control laws, and 2) actuator assignment. This approach allows for the following three benefits [2], [3]: 1) actuator constraints can be taken into account, such as speed and speed-rate limits [4], [5]. If one or more actuators saturate, the others actuators are used to generate the commanded control action [6]. This technique has been successfully applied to fixed-wing aircraft [2], [7], [8], multirotor helicopters [9], and convertible UAVs [10]. 2) the system's actuation redundancy can be advantageously used to optimize for certain objectives, such as power consumption, drag, etc. [8], [11]. 3) When actuator faults or failures occur, the control allocator can be reconfigured to compensate for these deficiencies without changing the control laws [7].

B. RELATED WORK
In the context of multirotor helicopters, the problem of control allocation has been approached with two main avenues, namely a) optimization-based methods, and b) control allocation consisting of the Moore-Penrose pseudo inverse of the control input matrix A of (1) and defined as which is referred in this paper as classical control allocation (CCA).

1) PSEUDO-INVERSE-BASED CA
Control allocation and the issue of motor-speed saturation for a hexacopter has been discussed first in the work in [9] in 2011. Building upon this observation, the current paper explains in details how CCA only accesses a limited region of the space of feasible torques for planar hexacopters. The CCA method is widely employed in the context of fault-tolerant control of hexacopters. For example, the work in [12] presents an adaptive fault-tolerant scheme for a hexacopter based on a static pseudo-inverse matrix A + . In case of reduced propeller effectiveness or actuator failure, the control allocation matrix A + remains unchanged but an adaptive fault-compensation signal ad is added to the nominal signal 0 , leading to the total propeller speed command vectorˆ as follows:ˆ where the matrixˆ ∈ R 6×4 is an estimate of the compensation allocation matrix fulfilling the condition A A + + = I, where I is the identity matrix. The matrix is a square diagonal matrix ∈ R 6×6 , each element of which is in [0, 1], where 0 means failed, 1 means nominal, and ]0, 1[ corresponds to reduced effectiveness.
The work in [13] takes motor saturation into account through a motor-saturation prioritization scheme. This strategy has been flight tested on a quadrotor, demonstrating better attitude control, in particular for the yaw motion.
Different control allocation schemes are compared in [14] in case of actuator saturation for a multirotor fixed on a lab testbench. The study is limited to the case of a quadcopter.
The work in [15] presents a daisy-chaining control allocation [16] for a hybrid UAV with four tiltable rotors, which saturates first a predefined group of actuators before using VOLUME 11, 2023 the second group. The work reported in [17] uses a classical control allocation approach for a hexacopter, which is used in the case of exactly one rotor failure, in a so called proposed Degraded Control Strategy (DCS). First, the yaw states are left uncontrolled. Second, the technique reallocates the desired reduced-virtual-control vectorv r = T L M r using a reduced control effectiveness matrix A r ∈ R 3×6 and the Moore-Penrose pseudo-inverse method according tô In the research in [18], the propeller control signal vector is calculated asˆ = L(t)A ⊤ AL 2 (t)A ⊤ −1v , with L(t) = (1 − β(t))L(t), whereL(t) is the fault-estimation matrix and where the fault-estimation-error matrix is β(t) = diag (β 1 (t), . . . β 6 (t)), where each β i ∈ [0, 1], i = 1 . . . 6 represents each actuator effectiveness, β i = 0 meaning complete failure and β i = 1 in no-fault case. Simulations only are provided in [18]. In [19], a sliding-mode controller is developed for a hexacopter to accommodate actuator failures. In nominal condition the control allocation is based on the classical Moore-Penrose pseudo-inverse matrix. The approach is demonstrated in simulations where up to two actuators have reduced effectiveness. The accommodation is achieved through the classical pseudo-inverse schemeˆ = (A (t)) +v , and (t) = diag (λ 1 (t), · · · , λ 6 (t)) , λ i ∈ [0, 1] designates the effectiveness matrix of actuators, with λ i = 1 in the nominal case, λ i = 0 for the complete failure case, λ i ∈]0, 1[ in case of loss of effectiveness. A similar approach is found in [20], where the controllability of the vehicle under complete motor failures is further studied.

2) OPTIMIZATION-BASED CA
The paper [21] first formulated in 2012 the control allocation problem for a hexacopter as a parametric program, which is solved off-line, and the actuator-allocation solutions are stored in lookup tables. This approach allows to accommodate predefined scenarios of actuator faults and failures by selecting the precomputed allocation solution corresponding to the fault scenario. Up to two-opposite motor complete failures could be handled. A similar approach is employed in [22].
A sliding-mode control allocation scheme is presented in [23] for a quadrotor-like multirotor having 8 motors in a push-pull configuration. The control allocation there developed employs a constrained optimization method. This dynamic programming approach consists in minimizing the control input, under the constraintv = Aˆ , and under the possible occurrence of simultaneous actuator faults. However, this solution does not seem to take into account actuator saturations.
In [24], an hexacopter with tilted rotors is studied. The control allocation developed there relies on an optimization algorithm that minimizes the maximum force generated by rotors, while taking into account actuators constraints.
This strategy improves the maneuverability of the vehicle compared to the classical method but is more computationally demanding.
The control allocation module in [25] is modified in case of actuator fault to reallocate healthy actuators using a fuzzylogic approach, which is tuned via an optimization technique called bacterial foraging algorithm.

3) CONCLUSION ON RELATED WORK
From this literature review, it appears that most of the contributions about control allocation for hexacopters are about strategies to accommodate actuator fault(s) or failure(s). It turns out that most methods used for fault-tolerance employ the classical Moore Penrose pseudo-inverse matrix, which is usually modified through an actuator-efficiency matrix estimated by a fault diagnosis system. However, control allocation based on the classical Moore Penrose pseudo-inverse matrix for hexacopters -even in the nominal case (no actuator fault or failure)-possesses inherent major limitations, namely 1) only a limited space in the 3-axis-torque volume is mathematically accessible by CCA, and 2) it does take into account actuator saturations. Indeed, in most cases, if due to large requested torques, the CCA solution commands motor speeds beyond their maximum values, those speeds are usually simply saturated at their maximum limit. However, such handling of saturation leads to actual torques that do no longer scale along the direction of the desired torque vector. In addition the CCA solution usually sacrifices the generation of thrust in favor of torques, thus jeopardizing the whole stability of the vehicle and leading to crashes as explained later in this article. The current paper explains in detail the above two mentioned CCA limitations and provides a solution that takes into account motor-speed saturation right from the start (not aposteriori) of the CA calculations. Although not designed for actuator fault-tolerance, the presented approach is capable of handling up to two opposite complete motor failures without the need for fault detection and isolation.

C. CONTRIBUTIONS OF THIS RESEARCH
This paper builds upon preliminary results presented by the authors in [9] and [26], where for the first time in the literature in 2011 the limitations of standard control allocation for multirotors were pointed out. The main contributions of the current paper are the: 1) in-depth analysis of the physical capabilities of the hexacopter to produce the torques L, M , N as a function of the thrust T . 2) detailed analysis of the limitations of the classical control allocation (CCA) approach based on a) computing the Moore Penrose pseudo-inverse of the matrix A in (1) or (9), b) and saturating the computed propeller speeds in between the minimum and the maximum propeller speeds possible, and to show that such CCA approach a) only exploits a limited range of the vehicle capabilities to produce thrust and torques, b) and may actually cause crashes when aggressive torque actions are requested. 3) development of a novel approach based on a weighted pseudo-inverse matrix able to exploit the full domain of producible roll torques and pitch torques which does not generate undesired yaw torques. 4) derivation of the explicit and analytical solutions to the least-squares problem allowing to computeˆ as function ofv, while taking into account the propeller speed min-and max-rotational speeds. The approach is based on a weighted pseudo-inverse matrix and is named ''WCA''. The weights are constantly adapted in real time according to nonlinear laws depending on the control signals. 5) ability of the WCA approach to be executed very fast with very a low computational load, because WCA is formulated in terms of explicit laws, removing the need for on-line optimization. 6) geometric interpretation of the WCA method, 7) comprehensive maths explanations in Appendix to support the main results, 8) and finally validation of the approach through a) simulations, and b) real flight tests and comparison with the classical approach in case of: a) motor saturation during aggressive maneuvers, b) vehicle's mass change, c) poorly tuned flight-controller gains, d) and some rotor faults or failures.

II. ANALYSIS OF ACHIEVABLE TORQUE GENERATION FOR A PLANAR 6-ROTOR HELICOPTER
In this study, the multirotor helicopter considered in shown and sketched in Fig. 1. The vehicle's arm-length is l, the total thrust force is T and the 3 axes torques L, M , N relate to the motors' speed ω i according to: and where the propeller thrust coefficient is µ and the reactive-torque coefficient is κ. The control allocation task consists in finding the six desired speedsω i , ∀i = 1 · · · 6 of the motors so thatv = Aˆ , withˆ := [ω 2 1 ; · · · ;ω 2 6 ] ⊤ , while respecting the constraint: A. ROLL TORQUE GENERATION The roll torque that is physically producible by the vehicle as a function of the total thrust T is shown in Fig. 2.
The maximum positive roll torque L max is first achieved as soon as propellers 5 and 6 are rotating at ω max while propellers 2 and 3 are rotating at ω min . Figure 2 shows the existence of a plateau at L max when increasing the total thrust T by having propellers 1 and 4 to both increase their velocity from ω min to ω max . For T > 2T max +T min 3 , the maximum achievable roll torque decreases linearly to zero as the thrust produced by both propellers 2 and 3 linearly increases to its maximum. When the maximum thrust T max is reached, no roll torque can be produced as all propellers are rotating at the same maximum speed ω max .

B. PITCH TORQUE GENERATION
The pitch torque that is physically producible by the vehicle as a function of the total thrust T is shown in Fig. 3. The maximum producible positive pitch torque is obtained when propellers 6, 1, 2 spin at ω max , and propellers 3, 4, 5 at ω min , which happens at the ''middle thrust'' T mid = T min +T max 2 .

C. YAW TORQUE GENERATION
The yaw torque that is physically producible by the vehicle as a function of the thrust T is shown in Fig. 4. The maximum positive yaw torque is achieved when propellers 2, 4, 6 are spinning at ω max and propellers 1, 3, 5 at ω min . This yields   middle thrust T mid . This observation tells us that in order to operate the multirotor at the condition of maximum torque authority, it is desirable to design the multirotor so that the thrust needed to hover with the weight of both the vehicle itself and its payload equates T mid .

III. CLASSICAL CONTROL ALLOCATION METHOD: PSEUDO-INVERSE MATRIX APPROACH A. DEFINITION
A common solution to find the desired motors' speed vec-torˆ from the desired commandv consists in computing the pseudo-inverse matrix of the non-square matrix A. In this case, the inverse of AA ⊤ exists and the corresponding pseudo-inverse matrix is given by In turn, the desired motors' speeds vectorˆ can be calculated according toˆ

B. LIMITATIONS OF CONTROL ALLOCATION BASED ON CLASSICAL PSEUDO-INVERSE MATRIX
In the rest of this paper classical control allocation (CCA) refers to as control allocation based on the classical pseudoinverse matrix defined in (9). In this method, the propeller speeds are actually obtained by solving the corresponding least-squares problem by prioritizing all control inputs equally. The major limitation of CCA is that the rotors' speed constraints provided in (7) are not taken into account. Therefore, the minimum or maximum rotor speed of ω 1 . . . ω 6 may be exceeded by the solution provided by CCA.
A popular solution to this issue consists in saturatingˆ calculated in (10) in order to meet the constraints of (7). However, the saturation ofˆ -which corresponds to actual motor saturation-causes the generated total thrust T , roll torque L, pitch torque M , and yaw torque N to be dramatically different from their desired values respectively, which can cause the vehicle to crash, as explained in Section III-G.

C. MAXIMUM FEASIBLE TORQUES WITH CCA
This section characterizes the attainable domain with the CCA method in terms of L, M , and N as a function of T . The desired motors' speedsω i calculated according to (10) satisfy the constraints of (7) if and only if For attitude stabilization, roll and pitch torques are usually given priority over the yaw torque, thus whenN = 0 Eq. (11) simplifies to The above two inequalities will be used in the next three sections to study the maximum roll, pitch and yaw torques that are attainable with the CCA method.

D. MAXIMUM ROLL TORQUE GENERATION WITH CCA
By setting the termM = 0 in the second inequality in (12), the maximum roll torque accessible with the CCA method is given by: Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
Inequalities of (13) are represented by the red curve in Fig. 5, which clearly shows that the classical pseudo-inverse matrix method (CCA) cannot exploit the full capabilities of the vehicle (blue line) to generate roll torques. In fact, in the two gray areas in Fig. 5, the maximum CCA torque is always 2 3 of the maximum roll torque that the vehicle can physically produce for a given thrust T .

E. MAXIMUM PITCH TORQUE GENERATION WITH CCA
In order to analyse the maximum pitch torque that the CCA method can access, the commandL is set to zero in (12). The first inequality provides the boundaries forM as follows: The inequalities of (14) are shown with the red curve in Fig. 6, which clearly show the domain attainable with the classical pseudo-inverse matrix method (CCA) to generate pitch torques with no undersired yaw torque, i.e.N = 0. In this condition, the maximum pitch torque generated by the CCA approach is always 75% (50%, resp.) of the maximum pitch torque that the vehicle can physically produce for a given thrust T in the range [T 1 − T 5 ] (in the range [T min − T 1 ] and [T 5 − T max ], respectively).

F. MAXIMUM YAW TORQUE GENERATION WITH CCA
In order to compute the desired yaw-torques attainable by the CCA method, consider the inequalities of (11), in which the desired torquesL andM are set to zero. The set of inequalities simplifies to which can be rearranged as Half of the sum of the two inequalities in (16) provides the range of yaw torques attainable with the CCA method, namely Therefore, the yaw torques that are attainable with the CCA method are identical to those shown in Fig. 4, thus corresponding to the maximum physically producible yaw torques. Contrary to roll and pitch torques, the CCA method is able to attain all the possible yaw torques that the vehicle can produce.

G. PERFORMANCE OF CCA IN CASE OF MOTOR-SPEED SATURATION
Due to motor speed saturation, the desired motor-speeds vectorˆ generated by the CCA in (10) is truncated at ω min or ω max , respectively. This results in a non-least square solution which will cause unexpected flight behavior, as shown in the next three cases. VOLUME 11, 2023 37719 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply. In the results presented below, the CCA solution is first computed according to (10), then each motor speed is truncated at ω min or ω max if constraints are exceeded. Then, based on the truncated motor speeds¯ , the corresponding thrust, roll, pitch and yaw torques are recalculated by applying (6), they correspond to actual torques produced by the vehicle. The result is displayed in Fig. 7 under the label ''CCA''. The desired setpoint in terms of thrust, roll, pitch or yaw torque is labeled ''CV''. The red-diamond shape represents the combinations of thrust and roll torques that are physically possible given the motor speed constraints. All the actual hexacopter's parameters are summarized in Table 1.

1) EFFECT OF MOTOR-SPEED SATURATION IN CASE OF A NOT-ACHIEVABLE DESIRED SETPOINT
In this scenario, CV is chosen outside the red-diamond shape to cause motor saturation, with the flight controller asking for a thrust ofT = 45 N and a large roll torqueL = 6 Nm. The results are shown in Fig. 7. CV is outside the red zone, thus motor speed saturation will occur. The truncated CCA solution, labeled ''CCA'' in Fig. 7, reaches neither the desired roll torque nor the desired thrust.

2) MOTOR SATURATION CAUSING WRONG SIGN IN PRODUCED TORQUES
Another phenomenon worth noting is the production of roll, pitch or yaw torques having a wrong sign, due to motor saturation truncating the calculated CCA solution. This scenario is highlighted in Fig. 8, where the commanded input vector isv = [45 N, 4 Nm, 1 Nm, 0.65 Nm]. The CCA method provides propellers' speed, some of which exceeding the ω max constraint. The truncated-CCA solution due to motor-speed saturation is labeled ''CCA'' in Fig. 8. It produces a thrust of 40 N and a pitch torque of −0.2 Nm. Therefore, the generated . Therefore, the thrust is lower than expected by 6 N, and the yaw torque is lower than expected by 33%. Most importantly, the achieved pitch torque has opposite sign and wrong value compared to the commanded one.
pitch torque is wrong both in its value and -even worse-in its sign. The generated thrust is also lower than expected.

3) MOTOR SATURATION IN CASE OF A LARGE YAW TORQUE COMMAND, RESULTING IN NO ROLL AND PITCH TORQUES AND ONLY HALF OF MAXIMUM THRUST
This last scenario emphasizes the effect of motor-speed saturation when a too-large yaw torque is commanded. The CCA method generates propellers' speed resulting in zero-roll and -pitch torques while the thrust produced is only half of the maximum producible thrust. The reason behind this behavior is that the CCA method allocates all the resources possible to generate the requested yaw torque to the detriment of the other torques and total thrust. Indeed, as shown in Fig. 4, the maximum yaw torque happens at T = T min +T max 2 . This thrust corresponds to the three clockwise (CW) propellers turning full speed, whereas the other three counterclockwise (CCW) propellers are spinning at minimum speed (and vice versa).
This behavior can also happen due to the following causes: • yaw angle-rate gains and yaw-angle gains chosen too high, in their respective controllers, • mass moment of inertia wrongly estimated, • too aggressive maneuvers in the yaw axis. These points can be explained further as follows: the ability of the vehicle used in this paper to produce some yaw torque as a function of thrust is shown in Fig. 9. Clearly the maximum yaw torque is achieved in the ''middle-thrust'' setpoint, in this case 36 N. For a large yaw-torque command, close to or beyond the maximum yaw-torque producible for the current amount of thrust, the CCA method will systematically compute a solution that will result in a total thrust close to the ''middle-thrust'' setpoint T mid . Indeed, the maximum yaw torque (0.5 Nm in this case) is achieved when the CW (CCW resp.) are spinning full speed while the CCW (CW resp.) are spinning minimum speed, resulting in a total thrust equal to This is an important observation, because it means that any total-thrust command different from the ''middle-thrust'' setpoint can no longer be achieved with the CCA approach, during a large yaw-torque command (N > 0.5 Nm in this case). Therefore, two cases arise: : the vehicle will gain altitude, although this is not desired.
: the vehicle will loose altitude, and possibly crash (which happened during our real recorded flight tests in the Video 1, available at [27]). In addition, Fig. 10 shows that during a large yaw-torque request, the CCA approach 1) produces almost no roll torque, 2) produces the mean total thrust only, but 3) generates the maximum yaw torque possible. The combined effects of a) what the CCA method outputs, and b) the motor-speed saturation, have a direct influence on the flight behavior and stability of the vehicle. In particular, if a commanded thrust cannot be guaranteed by the control allocation method because of large attitude torques, the vehicle will be unable to track the desired altitude. In addition, if the roll and pitch torques are decreased by the CCA approach to prioritize a large yaw-torque command, an imbalanced vehicle is likely to loose stability and to crash.
In order to circumvent the deficiencies of the CCA approach and to handle optimally the motor-speed constraints, a new control allocation approach has been designed. It is presented in the next section.

IV. WEIGHTED PSEUDO-INVERSE MATRIX METHOD: A NEW CONTROL ALLOCATION FOR HEXACOPTERS
This new proposed control allocation method is based on a weighted pseudo-inverse matrix and is thus called ''WCA''. It consists in introducing a diagonal weighting matrix where a, b, c are non-negative and fulfill the condition to compute the following weighted pseudo-inverse matrix: The desired motors' speed vectorˆ is calculated witĥ and the constraints in (7) are satisfied if and only if In the rest of this study, normalized variables for thrust and torques will be used, they are defined as: For compact notations, we also define: Two cases are highlighted in the subsections below, namely 1) when the three weights are equal to 1 3 , in which case the CCA approach is retrieved, 2) when a, b, c ̸ = 1 3 which allows to reach roll and pitch torques beyond those accessible with the CCA approach.
Control allocation using the classical pseudo-inverse matrix, called here CCA, actually corresponds to the particular case of the WCA method when a = b = c = 1/3. In such a case, it is found from (22) that the maximum actual roll torque achievable: L CCA max is (24) which is the same result as found in (13) and shown in Fig. 5.
In turn, the maximum normalized roll torque that the CCA method can reach isL CCA max = L CCA max /T l expressed as follows: The maximum pitch torque that is achievable with the CCA method is calculated from (22) with a = 1 3 andN = 0 as follows which can be rewritten as (26) as shown in the red curve in Fig. 6. The maximum normalized pitch torque that is achievable with the CCA method is M CCA max = M CCA max /T l as follows: WhenN = 0, the reachable desired pitch torqueM with the CCA method is a tetragon as shown in Fig. 11 In the case where a, b, c ̸ = 1 3 , it becomes possible to reach roll and pitch torques beyond those accessible with the CCA approach, as shown in Fig. 11 with the green hexagon and in Fig. 12 with the blue hexagon. The major challenges are thus to: 1) determine mathematically the accessible domain of {T , L, M , N } with the WCA allocation method, 2) and calculate the appropriate set (a, b, c) in real time which satisfy the constraints in (22). In the following discussions, the WCA approach is presented in two steps: • first, considering the case where the desired yaw-torque control signal is set to zero (i.e.,N = 0).

FIGURE 11.
Reachable pitch torquesM with the CCA method (inside the red tetragon) vs. the WCA method (inside the green hexagon), forN = 0. The yellow areas correspond to torque space when pitch torques cannot be produced alone, they are producing undesired yaw torques as well. Thus, the area inside the green hexagon corresponds to the space of pitch torque which can be generated alone without undesired yaw torque. This region is fully attainable with the WCA method, but not fully by the CCA method defined by the inside area of the red tetragon.
• second, considering the extension of the method when the desired-yaw torque control signal is chosen different from zero (i.e.,N ̸ = 0). Finally, performance comparisons are made between the CCA and the WCA control allocation methods. The case of zero-desired yaw-torque control (i.e.N = 0) is first considered, and will be adapted to the case of non-zero desired yaw-torque control, i.e.N ̸ = 0 in Section VI. Thus, Equation (22) is first evaluated withN = 0, which yields which can be written in a compact form using the notations defined in (23) as follows: 37722 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
where one notes thatê ≤ 1/3 andÊ ≥ 1/3 . Now, the challenge consists in analytically identifying the maximum reachable values ofL andM , respectively, with the WCA method. This is the purpose of the next sections, which will show that the constraints given in (28) are satisfied for sets (a, b, c) that depend on the commanded thrust T , resulting in centered-symmetric quadrilaterals or hexagons, as the maximum boundaries forL andM .

A. ANALYSIS OF ROLL TORQUE GENERATION WITH THE WCA METHOD
In the WCA method, the reachable roll torques are those constrained by the inequalities in (27). The maximum roll torque reachable can be computed by settingM = 0. This yields the following set of inequalities, which must be all satisfied at the same time: If Eqs. (29) and (31), or if Eqs. (30) and (32) are added, respectively, the upper and lower bounds ofM are found as: By adding Eqs. (29) and (30), and adding Eqs. (31) and (32), two additional inequalities are available as follows: Equations (33) and (34) completely define an hexagon, which is shown in green in Fig. 13, and whose equation is: It turns out that with an appropriate choice of parameters {a, b, c} (see Section V-A1) the WCA method can completely access all the physically producible roll torques and thus outperforms the CCA method which can only access part of it. Figure 12 compares L WCA max (T ) and L CCA max (T ) as a function of thrust T , and shows that L WCA max = 3 2 L CCA max , for all T ∈ [T min , T 2 ] and T ∈ [T 4 , T max ]. For T = T mid , both method produce the same maximum roll torque, i.e., L WCA max (T mid ) = L CCA max (T mid ) = L max .

1) CONSTRAINTS RELATED TO PARAMETERS a, b AND c
The WCA constraints for the maximum desired roll torquê L WCA max involve the parameters b and c. From the upper bounds ofL expressed in Eq. (34), it is found thatL WCA max is reached for T = T mid and b + c = 2 3 (like in the CCA case). However, contrary to the CCA case where L max is only reached for T = T mid , with the WCA method it is possible to generate L max over the range of thrust T 2 < T < T 4 if the product (b + c)T remains equal to 2 3 T mid , which yields a condition on the selection of b + c as follows: In addition, in order to generate a roll torque without generating an undesired pitch torque, an additional constraint is added as follows: because weight b influences propellers 2 and 5, and weight c influences propellers 3 and 6. Finally, the parameter a is found by the constraint among parameters, i.e.
All the roll torques lying on the physically-feasible hexagon ABCDEF shown in Fig. 13 are attainable as follows: • from B to C: • at point C: 3 . Clearly, the parameters a, b, c are nonlinear functions of the thrust T as shown in Fig. 14.
In summary, with the WCA method, all the roll torques that the vehicle can physically produce are accessible, contrary to the CCA method. Using the normalized variables defined in (23), the hexagon defining the maximum roll torque producible with the WCA approach without generating undesired yaw torque is parameterized in compact form by the following set of inequalities: which, according to Appendix A-A, is equivalent tō The corresponding parameters a, b, c are summarized as follows and c = b, a = 1 − 2b.

B. ANALYSIS OF PITCH TORQUE GENERATION WITH THE WCA METHOD
With the WCA method, the reachable pitch torques are those constrained by the inequalities in (27). In order to compute the maximum pitch torque reachable, let us setL = 0. This yields the following set of inequalities, which must all be satisfied at the same time: Given the constraint a + b + c = 1, the set of inequalities in (42) completely defines an hexagon shape as shown with the green line in Fig. 11. The boundaries of such hexagon are function of the thrust as summarized below: In order to span this entire hexagon, the values of a, b, c must continuously be adapted according to the current control demand in pitch torqueM and current desired thrustT . There is already one known case, when a = b = c = 1/3 the WCA method is able to access all the torques inside the red tetragon shown in Fig. 11, this corresponds to the CCA case.
In order to illustrate how the values of a, b, c influence the shape of this tetragon and thus allow to reach all the possible pitch torques within the ''WCA-pitch hexagon'', consider Fig. 15. Therein, the yellow area corresponds to physicallyfeasible pitch torques, but which are produced together with an undesired yaw torque. Therefore the largest area in the (T , M ) space which only produces the desired pitch torque without other undesired torques is contained inside the green hexagon.

1) CONSTRAINTS RELATED TO PARAMETER a
As shown in Fig. 15 with red-dotted lines, the constraints involving the parameter a correspond to tetragons which size are defined by a as follows: The corresponding tetragons widen out as the value of a decreases from a max = T min +T max 2(T max +2T min ) (= 0.4722 in the case of our hexacopter) to a min = T min +T max 2(2T max +T min ) (= 0.2576). The top point of this tetragon translates along the segment [BC] at the constant pitch-torque value M a,max = l 4 (T max − T min ), whereas the bottom point translates along the segment [FE] at the value −M a,max . All the pitch torques permitted by these a−related constraints are contained inside the red tetragons.

2) CONSTRAINTS RELATED TO PARAMETERS b AND c
The constraints involving the parameters b and c correspond to the green-dotted tetragons shown in Fig. 15 which shapes and sizes are defined as follows: These green tetragons widen out as the value of b (resp. c)  Fig. 15 and as proved in Appendix A-C.

3) CONSTRAINTS INVOLVING a, b, c SIMULTANEOUSLY
When all the constraints involving parameters a, b, c are simultaneously satisfied, the maximum pitch-torque attainable by the WCA is represented by the area delimited by the green solid-line hexagon with corner points: ABCDEF, as shown in Fig. 15. This corresponds to the area spanned by the intersecting tetragons corresponding to a−related and (b, c)−related constraints simultaneously. All the desired pitch torques exactly lying on the WCA max-pitch torque hexagon are attainable by varying the parameters a, b, c as shown in Fig. 16, according to the following equations:  Fig. 17.
In summary, the maximum pitch torque the WCA can produce without undesired yaw torque is written in a compact form with normalized variables as follows (See Appendix A-B): with the corresponding parameters a, b, c defined as The expression of the normalized maximum pitch torque reachable with WCA isM WCA max and is summarized with Remarks: The main differences between WCA constraints involving the maximum roll and pitch torques (see green  hexagon in Fig. 13 and the green hexagon in Fig. 15, respectively) are that: • the constraints involving the parameter a only concern the pitch axis, • the constraints involving the parameters b and c are almost same for both axes, since a coefficient √ 3 transform the roll torque constraints into pitch torques constraints.
• Figures 14 and 17 show that the evolution of parameters a, b, c for the roll and pitch torques are opposite in direction w.r.t. the line a = b = c = 1 3 . This is visible by the fact that values taken by parameter b for roll-torque generation in (41) are exactly the same values taken by the parameter a in the pitch-torque 37726 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply. generation in (46). This clearly indicates that when large roll and pitch torques need to be produced simultaneously, a compromise in the parameters a, b, c needs to be found, as it is not possible to produce maximum roll and pitch torques at the same time. Therefore, it becomes relevant to study the properties of the WCA method to generate simultaneously roll and pitch torques and to characterise the reachable region with WCA in the (L, M )−plane as a function of thrust. This is the purpose of the next section. The previous sections were dedicated to show how the WCA method outperforms the classical CCA method, and that WCA is able to fully cover the capabilities of the vehicle in terms of roll and pitch torque generation without generating an undesired yaw torque. For each axis, roll torque and pitch torque, respectively, it has been shown how the parameters a, b, c should be selected to generate the desired roll-or pitch torques, separately. It has also been shown that values of a, b, c generating large roll torques would not allow to generate large pitch torques at the same time, and vice versa. However in practice, roll and pitch torques need to be produced simultaneously, thus this calls for the need to find a strategy to continuously adapt the values of a, b, c to best generate the requested roll and pitch torques simultaneously. To this end, it is necessary to work in the 3D (L, M , T )−space.
• Top-left and bottom-right edges: • Top-right and bottom-left edges: • Top-left and bottom-right edges: Case 3: E < 1−e 2 , i.e., T 4 < T ≤ T max • Top and bottom edges: • Top-left and bottom-right edges: • Top-right and bottom-left edges: Discussion: The nonlinear adaptive laws to compute a, b, c are derived in Appendix B. These derivations rely on the evaluation of intersection points of six lines given by the constraints in (28). The provided solutions for a, b, c ensure that when the reference setpoint (L,M ) = (L r ,M r ) translates continuously on the edges of the {L,M }-WCA-reachable hexagon, the parameters a, b, c also vary continuously. Figure 20 shows an example where T = 0.42 T max and 1.67 T min , which corresponds to E = 0.8 and e = 0.2 (i.e., Case 1 above). The tiny green circles correspond to successive setpoints (L r ,M r ) translating along the edges of the WCA-reachable hexagon of {L,M }. The red tetragons are areas limited by constraints in (28) with the parameters a, b, c calculated with the adaptation laws presented above. It appears that each reference setpoint (L r ,M r ) perfectly coincides with a corner of the corresponding quadrilateral, which confirms that the constraints in (28) (i.e., (27)) are satisfied.   Figure 21 shows an example where the commanded torquesL r ,M r are lying outside the CCA-reachable domain and within the WCA-reachable hexagon. Using the interpolation method (Approach 2 above), the parameters a, b, c are calculated, leading to the red hexagon. It crosses the reference setpoint (L r ,M r ), thus satisfying the constraints in (28) (i.e., (27)).
Discussion: This interpolation method makes sure that the values of a, b, c vary continuously, if the normalized torque setpoint (L r ,M r ) also varies continuously over time. This is of hight practical importance because it guarantees that the commanded motors' speedsω i computed with (20), i.e.ˆ = A + WCAv , vary also continuously if the desired virtual control vectorv is time continuous.

VI. EXTENSION OF THE WCA METHOD IN CASE OF NON-ZERO DESIRED YAW TORQUE CONTROL, I.E.N ̸ = 0
In practice, a certain amount of yaw-control authority must be provided. However, in view of (22) the larger the value VOLUME 11, 2023  (27), where T min and T max are replaced byT min andT max , respectively, leading to Then, the calculations of a, b, c can be made exactly as in the case ofN = 0 (see Section V-E1) but usingT min andT max instead of T min and T max , respectively.

VII. SIMULATIONS, REAL EXPERIMENTS, AND DISCUSSIONS
The weighted pseudo-inverse control allocation (WCA) method is now compared to the classical pseudo-inverse control allocation (CCA) method, both in simulation and in realflight experiments. The vehicle's main physical properties are summarized in Table 1.

A. SIMULATIONS
For the simulations, a nonlinear six degree-of-freedom model of the hexacopter shown in Figs. 1 and 34 is used. Simulations are run in Matlab/Simulink®, where the flight controller [1] is providing the commands for the desired thrust, and roll-, pitch-and yaw torques, which are passed to the control allocation module.

1) SENSITIVITY COMPARISON TO EXTERNAL DISTURBANCES
In order to show the superior performance of the WCA method compared to the CCA method, significant external perturbations are introduced, similar to strong wing gusts.
In order that the performance of both control allocation methods may be fairly compared, they are both subject to the exact same and deterministic disturbance signal on each axis and the exact same flight controller is used to produce the commands (T ,L,M ,N ). The external perturbations are introduced as wind, through the following vector:

2) SENSITIVITY TO TUNING OF FLIGHT-CONTROLLER GAINS
In this part, the hexacopter is tasked to hover at the same altitude and to track a yaw-angle trajectory as shown in Figs. 24 and 25. Figure 24 shows the tracking of a yaw-angle-reference signal for three different tunings of the yaw-angle and   yaw-angle-rate controllers. The case Tuned refers to a well-chosen set of yaw-rate proportional (P) gain and yaw-angle P gain, whereas Slow corresponds to a set of small gains, and Detuned to a set of too large gains. According to Fig. 24, a large pair of {yaw-angle and yaw-angle-rate} gains seems preferable. However, it turns out that the corresponding error in altitude tracking significantly increases as shown in Fig. 25, where the hexacopter makes about half-a-meter altitude jumps, whenever a yaw-angle step is requested. The bar plots in Figs. 26 and 27 summarize the simulation results, where increasing the gains in the yaw controllers causes a   better yaw-angle tracking but degrades altitude tracking. This is due to the third saturation phenomena shown in Fig. 10 and explained in Section III-G3.

b: SIMULATIONS WITH THE WCA METHOD
The above simulations are repeated with the WCA method, and the two approaches are compared in Figs. 28 and 29. It is remarkable that the altitude-tracking performance with WCA is alsmot insensitive to the tuning of the yaw-and yaw-rate proportional (P) gains. The performance of altitude tracking with WCA is also the best, as it is equal in all tuning cases to the performance obtained with CCA in the ''slow'' tuning case, which is the tuning where CCA performs the best in terms of altitude tracking, according to Fig. 25. On the other hand, the yaw-angle tracking is worse with WCA than with CCA, because WCA intrinsically prioritizes thrust generation over yaw-torque generation and only 5% of the total thrust has been reserved to produce yaw torque in this simulation.

3) INSENSITIVITY OF WCA TO VEHICLE's MASS CHANGES
The WCA method always produces the commanded thrust -if the latter remains feasible. This property makes the whole flight controller able to accommodate vehicle's mass changes. This is desirable as it removes the issue of the multirotor changing altitude whenever an aggressive attitude maneuver is commanded, in particular when the vehicle carries a payload. This property is well shown in Fig. 30, where CCA and WCA are compared to each other in the exact same settings, namely same attitude controller, same reference trajectories: constant altitude and yaw maneuvers, as in Fig. 24. To remove the influence of possible external perturbations, and to guarantee a fair comparison, simulations are run with the two methods for different payload weights ranging from 2.8 kg, 3.2 kg, 3.4 kg, and 3.6 kg. At the same time, the influence of the controller tuning is highlighted. Figure 30 shows that the altitude-tracking performance of WCA is almost insensitive to a) mass changes, and b) to attitude controller tuning. The major reason is that WCA is designed to prioritize thrust generation over torques, and thus the desired thrust needed to hover is achieved. For CCA, the altitude-tracking error is between 2 to 17 times the error of WCA, this is significant. One observes that the CCAaltitude error decreases until a mass of 3.4 kg is reached. As the mass is further increased the CCA-altitude tracking error rises again. This is due to the fact that, as soon as motorspeed saturation occurs, a total thrust of around 34.8 N is produced with CCA. This is exactly what the controller asks for, as the combination {vehicle+payload} has a weight of 3.48 kg. However, if the {vehicle+payload} is lighter than 3.48 kg, a saturation in motor-speeds will cause the vehicle FIGURE 29. Simulation comparison between CCA and WCA for yaw-angle tracking. In the WCA case, only 5% of the total thrust is reserved for the yaw motion (γ = 5%). CCA performs better than WCA to track yaw-angle commands. to jump upward, whereas the {vehicle+payload} will fall if it is heavier than 3.48 kg. Note that as soon as the vehicle is not exactly horizontal, the commanded thrust increases to keep compensating for the weight gravity force, if the vehicle cannot produce additional thrust, a loss of altitude is inevitable. This has been experienced in the real-flight crash recorded in Video 1 in [27].

B. FAULT-TOLERANCE PROPERTIES OF WCA VS. CCA
Although the WCA algorithm is not designed to address specifically actuator faults or failures, this section evaluates whether the WCA method has intrinsic fault-tolerance capabilities. It turns out that because WCA prioritizes thrust while producing as much roll and pitch torques as possible despite motor-speed saturation, the motor-fault (partial loss of effectiveness) and motor-failure (complete stop or total loss of effectiveness) tolerance of WCA is higher than of the CCA approach. These properties are illustrated in simulations, where the vehicle is commanded to hover at constant position and constant yaw angle, while one or two simultaneous motor failures are introduced. Figure 31 shows all the failure scenarios considered.  At t = 5 s one or two motors completely fail. In addition, from t = 20 s until t = 23 s a wind gust is introduced. Figure 32 shows the flight results when the CCA allocation is used. With CCA, it is not possible to handle any of the failures considered, as all the three-axis positions diverge quickly, resulting in a crash in all three cases. Figure 33 shows the flight results when the WCA allocation is used. With WCA, the vehicle can be stabilized if either one or two opposite motors fail. In the first scenario, the vehicle's oscillations in the x− and y− directions are bounded within ±1.1 m, whereas the altitude remains almost perfectly controlled. In the second scenario, two opposite motors fail at t = 5 s. Figure 33 shows that these failures have almost no influence on the x− and y− positions, whereas the altitude being perturbed by a loss of 0.3 m is regained after a duration of 4 s. At t = 20 s, when the wind gust is applied, the position deviations in x− and y− directions do not exceed 1 m, whereas the altitude remains between ±0.1 m. However, in the last scenario it is visible that WCA fails to stabilize the hexacopter when two non-opposite motors fail.
Remark: Note that in these simulations, no fault detection is used, the control allocation system is not aware of the presence of one or two motor failures, thus no control allocation reconfiguration here happens. Still it turns out that the WCA allocation strategy has superior fault-tolerance capability than CCA, because it can still stabilize the vehicle when one motor fails or two opposite motors fail, whereas the CCA approach is not capable of handling any of these failures.

C. EXPERIMENTAL RESULTS a: EXPERIMENTAL SETUP
The hexacopter is based on a DJI 550 airframe, equipped with a Pixhawk1 autopilot, and a real-time kinematic (RTK)  Drotek differential GPS as shown in Fig. 34. The vehicle is tasked to hover and is excited with either manual or automatic yaw commands generated by a Raspberry 3B companion computer. Figures 35, 36 and 37 show real-flight data during an experiment with the CCA approach. The vehicle is tasked to hover, while aggressive yaw maneuvers are manually commanded. As soon as the commanded yaw torque exceeds the maximum yaw torque, it is noticeable that the thrust command is no longer well tracked, and actually reaches the middle-thrust values of 34.8 N as visible in Fig. 36. Because in this experiment the vehicles weight is 2.8 kg, the vehicle jumps upward everytime a strong yaw torques is requested. Therefore, the behavior observed in simulations and reported in Fig. 25 is confirmed in real experiments shown in Fig. 37. Should the vehicle have been heavier than the ''middle-thrust,'' in this   case 3.48 kg, then every strong yaw-torque commands would have resulted in a loss of altitude, possibly leading to a crash, similar to the one recorded in Video1 in [27].   Figure 38 shows the flight data of the exact same scenario performed first with the CCA and then with the WCA allocation algorithm, respectively. The hexacopter is still tasked to hover at constant altitude, whereas the yaw-rate commands are generated by the Raspberry Pi companion computer, so that the two successive experiments can be identically reproduced and thus allow for a fair comparison between the CCA and WCA methods. The red-dashed line indicates the standard deviation of the estimator, this is being measured by placing the vehicle on the ground and analyzing the estimated altitude which should not change. The blackdashed line shows the standard deviation of the trajectory for each control allocation method. The altitude jumps of CCA go up to 15 cm, whereas the maximum altitude difference produced with WCA is around 5 cm. The flight experiments is recorded in the Video 2 at [27]. Therefore, the WCA approach provides a significant improvement of about 3 times better altitude tracking compared to the CCA method, which is the commonly-used allocation approach.

b: REAL-FLIGHT EXPERIMENTS WITH THE CCA APPROACH
A third supportive video, also available at [27], shows some aggressive attitude maneuvers. The hexacopter is hovering and changing aggressively its attitude. Thanks to the newly developed WCA control allocation method, there is almost no altitude change during the high turn-rates maneuvers. The vehicle can also translate at high-horizontal speed without any change of altitude.
Finally, the main properties of the CCA and WCA allocation methods are summarized in Table 2.

VIII. CONCLUSION
This paper provides the complete theoretical derivation of the weighted pseudo-inverse matrix control allocation approach, named in this work ''WCA''. This approach corresponds to a nonlinear adaptive control allocation method which computes in real-time the propeller speeds of a circular and planar hexacopter, which fulfills a number of desired properties. These properties are: 1) respect of propeller min and max rotational speeds, 2) the thrust generation is prioritized over torques generation, 3) the maximum roll and pitch torques that are physically producible can be fully accessed without generating an undesired yaw torque. These properties result in additional benefits, namely that with WCA, the altitude tracking is less sensitive to a) controller gains' tuning, b) changes in attached payload mass, c) to external disturbances: such as wind gusts or the balancing of an attached payload. In cases of motor saturation, the conventional pseudo-inverse allocation method, named here ''CCA method'', may result in a crash of the vehicle depending on its weight, whereas in the same condition, the WCA will keep the vehicle safely airborne. In addition, the WCA algorithm is made of explicit and analytical laws enabling for very-fast operation while requiring very-low computing resources. The practical flight experiments have validated the WCA approach and have clearly demonstrated its superiority over the conventional CCA method. Summing up the two inequalities gives: According to Appendix A-C,L max simplifies tō

B. CALCULATION OFM max WITH NORMALIZED-THRUST VARIABLES
Subtracting the last two equations in (51), one gets two inequalities Therefore, we conclude that |M | <M max with We notice that the lines defined by y 1 and y 3 are parallel, same holds for y 2 and y 4 . These four lines intersect at the following four points: From the knowledge of E ≥ 1 3 and e ≤ 1 3 , we can conclude that From the coordinates of points P 1 and P 3 above, one notices that y P 3 = 2y P 1 . Therefore, there are three possible cases as described below.
Case 1 (Line y 2 Above y 4 , and Line y 3 Above y 1 ): This case corresponds to the condition y 2 (a) > y 4 (a), which leads to E > 1 − 2e, and the condition y 3 (a) > y 1 (a) leading to 1 − 2E < e. Using (53), we conclude: It is now possible to draw the schematic shown in Fig. 39 The function y(a) is thus found to be the thick blue line in Fig. 39. Therefore, the ordinate of P 2 corresponds toM max , such as (1 − 3e), with a = 1 − e 2 Case 2 (Line y 4 Above y 2 , and Line y 3 Above y 1 ): This case corresponds to the condition y 2 (a) < y 4 (a), which leads to and the condition y 3 (a) > y 1 (a) leading to 1 − 2E < e: It is now possible to draw the schematic shown in Fig. 40 The function y(a) is thus found to be the thick blue line in   Fig. 40. Therefore, we conclude that the ordinate of P 1 corresponds toM max , such as Case 3 (Line y 4 Above y 2 , and Line y 1 Above y 3 ): This case corresponds to the condition y 2 (a) < y 4 (a), which leads to E < 1 − 2e, and the condition y 1 (a) > y 3 (a) leading to e < 1 − 2E. Assembling the inequalities gives It is now possible to draw the schematic shown in Fig. 41.
The function y(a) is thus found to be the thick blue line in Fig. 41. Therefore, the ordinate of P 4 corresponds toM max , such as Calculation ofM max , Summary of Cases 1,2,3: with the corresponding parameter a defined as The expression ofM max is summarized with Four cases can be distinguished as summarized in Table 3. Table 3  The nonlinear adaptive laws to compute a, b, c are derived in this section. These derivations rely on the evaluation of the intersection points of six lines given by the constraints in (28), which can be expanded as follows: On the top edge of the WCA-reachable hexagon shown in Fig. 52, the value ofM is equal toM max = 3 4 α, in which case the parameter a verifies (57), which can take three different values and thus three cases are to be distinguished, depending on the considered range in thrust as shown in Fig. 42. The values of the parameters b and c will be found by using the last two inequalities of (51), withM =M max , such that the two intersection points also belong to the top line of the hexagon, as follows: Therefore, the normalized roll torque is found to bē In this range, according to (57), the parameter a is equal to a = 1−e 2 , andM max = 3(1−3e) 4 according to (56). Because of the constraint a + b + c = 1 and that in this case a = 1−e 2 , the parameter c is found to be c = 1+e 2 − b. Therefore, (66) is rewritten as The next step consists in evaluating (67) by taking into account e ≤ c ≤ E and c = 1+e Since e ≤ b ≤ E, the parameter b is therefore bounded as follows: VOLUME 11, 2023 In addition, the constraints e ≥ 1−E 2 (hypothesis of Case 1) provides 2e ≥ 1−E ⇐⇒ e+e ≥ 1−E ⇐⇒ e+E ≥ 1−e, and knowing that e ≤ E ⇐⇒ e + E ≤ 2E which leads to 1 − e ≤ e + E ≤ 2E. This last inequality indicates that 1 − e ≤ 2E which enables to conclude that From (70), it is possible to write that 1−e 2 ≤ E ⇐⇒ 1−e 2 + e ≤ E + e ⇐⇒ 1+e 2 − E ≤ e, which eventually leads to and thus the inequality (69) can be evaluated and the bounds of b be further refined as Because of the hypothesis of Case 1, i.e. e ≥ 1−E 2 and (72), the parameter b can be lower bounded as b ≥ 1−E 2 . This is The hypothesis of Case 1: e ≥ 1−E 2 can be rewritten as 2e With inequality (68), it can be concluded that b ≤ E+e 2 , which is equivalent to 2b ≤ e + E, and finally Therefore, in view of (73) and (74), Eq. (67) is evaluated as: Finally, the parameter b can be computed as a function ofL as follows: Top Edge of the WCA Hexagon -Summary of Case 1: in the thrust range such that e ≥ 1−E 2 , the WCA parameters are: In this case, according to (57), the coefficient a is equal to a = e+E 2 . The evaluation of the normalized roll torqueL in (66) proceeds by taking into account a + b + c = 1 and a = e+E 2 , leading to c = 2−E−e 2 − b, and therefore: The evaluation of (76) requires to take into account the fact that The evaluation of inequality (77) requires to distinguish the following two subcases: The objective is to evaluate (76). To this end, consider each subcases. In this case, one verifies (77) is evaluated as follows: which are graphically shown in Fig. 43. In addition, the term min (b − e, E − b) is evaluated as follows: With the help of (79) and (80), Equation (76) can be finally evaluated as follows: The definition ofL in (81) is shown in Fig. 44 and allows to find an expression for b ∈ 1 − e − E, e+E It is now possible to evaluate (77) as follows: The goal is to evaluate (76), which requires to consider three cases corresponding to b taking values in the three successive intervals shown in Fig. 45 and summarized in (84).
The second line in (84) allows to find an expression for b ∈ e+E 2 , 1 − e − E , which is also shown in Fig. 46: Top Edge of the WCA Hexagon -Summary of Case 2: in the thrust range such that 1 − 2E ≤ e ≤ 1−E 2 , it is possible to fuse the two subcases 2.1 and 2.2 by fusing (81) and (84), which yields the WCA parameters: The evaluation of the normalized roll torqueL in (66) proceeds by taking into account a + b + c = 1 and a = 1−E 2 according to (57), leading to c = 1+E 2 − b, and therefore: The evaluation of (87) requires to take into account the fact that In order to evaluate (88), let us compute In addition, let us evaluate , which is shown in Fig. 47. It becomes clear that min 1−2e+E (87) is evaluated as Top Edge of the WCA Hexagon -Summary of Case 3: in the thrust range such that e ≤ 1 − 2E, the WCA parameters are given by:  Fig. 48, the following change of variable is introduced in order that the results from Appendix B-A may be advantageously reused: This corresponds to an anti-clockwise rotation of the axes by an angle π 3 , which is equivalent to: 37740 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
Interestingly, by replacing (91) in (51) and reordering the equations, the following set of inequalities is obtained: where the variablesL,M and weights b, c, a in (92) play the role ofL,M and weights a, b, c, respectively, in (51). Therefore, the weights (a, b, c) of the top-left edge of the WCA-reachable hexagon will be deduced from the weights (c, a, b) of the top edge of the WCA-reachable hexagon from Appendix B-A. As stated above, the expression of b is found to be equal to the expression of a in (75) of the top edge of the WCA-reachable hexagon, which means that Likewise, the expresion of c comes from the expression of b of the top edge, yielding From Section V-D and Fig. 19, the expression forM is: In order to evaluate α, the following two differences are computed: Therefore, in the conditions of Case 1, α = 1 − 3e andM = √ 3L + 3 2 (1 − 3e) is inserted in (93), which allows to express the weight c as follows: and finally In this case, the expression of c is found from (82) in which b is replaced by c andL is replaced byL leading to: With (90) and (94), one has In order to evaluate α, the following two differences are computed: Therefore, in the conditions of Case 2, α = E − e, and (95) is evaluated toL Let us prove that: For this, it suffices to show that min − 2L From (89), by replacing b by c and replacingL byL, the weight c is obtained as follows From (90), one hasL = 1 2L + √ 3 2M and from (94) the expression ofM is found with α = 3E − 1 (also see (56)), which allows to complete the evaluation of c as follows: This corresponds to a clockwise rotation of the axes by an angle − π 3 , which is equivalent to: Interestingly, by replacing (100) in (51) and reordering the equations, the following set of inequalities is obtained: where the variablesL,M and weights c, a, b in (101) play the role ofL,M and weights a, b, c in (51). Therefore, the weights (c, a, b) of the top-right edge of the WCA-reachable hexagon will be deduced from the weights (a, b, c) of the top edge of the WCA-reachable hexagon from Appendix B-A. From Section V-D and Fig. 19, there is an expression forM that can be exploited: In order to evaluate α, the following two differences are computed: Therefore, in the conditions of Case 1, α = 1 − 3e andM = − √ 3L + 3 2 (1 − 3e) and the expression for the weight a is evaluated as follows: and finally the weight b is computed as follows: In this case, the expression of a is found from (82) in which b is replaced by a andL is replaced byL leading to: With (99), one has From (85), by replacing b by a andL byL, the expression of the weight a is as follows: Similarly to Case 2.1, it is possible to compute the expression of the dynamic weights as follows The value of weight c is equal to the value of a in (89) in the top edge of the WCA-reachable hexagon, thus From (89), by replacing b by a and replacingL byL, the weight a is obtained as follows And finally, the weight b is computed as