• Non ci sono risultati.

Control Allocation for a Fully Controllable Aircraft

N/A
N/A
Protected

Academic year: 2021

Condividi "Control Allocation for a Fully Controllable Aircraft"

Copied!
123
0
0

Testo completo

(1)

UNIVERSITÀ DI PISA

CORSO MAGISTRALE IN INGEGNERIA AEROSPAZIALE - AERONAUTICA

Control Allocation for

Fully Controllable Aircraft

ANNO ACCADEMICO 2017-2018

RELATORI:

Prof. Alessandro Antonio Quarta

Prof. Vittorio Cipolla

M.Sc. Carmine Varriale

CANDIDATO:

Luca Casciola

MATRICOLA:

537997

(2)

A mio fratello, ai miei genitori, nonni e tutta la famiglia che ha fatto dei sacrifici per supportarmi in questo periodo all’estero. Al mio amore Lisa che mi è stata sempre vicino mettendoci la razionalità, l’affetto e la pazienza.

Alle eliche a cingolo perché sono fighe e spero ancora che possano essere utilizzate in campo aeronautico.

(3)

Overview

The thesis work aims at describing the control allocation algorithms, offering an in detail and intuitive explanation of the concept behind them. It is intended to be a development guide of such algorithms from both a mathematical and software perspective.

Contributions, corrections and developments are very appreciated.

In the first chapters the algorithm are extensively presented with descriptions and images. Not all the algorithms will be implemented in the software. The paragraphs that presents a “-“ in their name are the ones which are not implemented.

In the second part the algorithms are implemented in a MATLAB environment and tested independently. It follows an implementation into the PHALANX Simulink environment, in particular we will take care of the Parsifal aircraft, which is the case study of the present work.

All the software developed is available at https://github.com/cash0two/CA. Please fork the folder and enjoy developing further!

(4)

Index

1. Introduction ... 1

1.1. Why ... 1

1.2. The PARSIFAL Project ... 1

1.3. Aerodynamics ... 3 1.4. Flight Mechanics ... 5 1.5. General Details ... 7

2. Aircraft Control ... 8

2.1. Governing Equations ... 8 2.2. Control Effectors ... 9 2.3. Controls ... 11

2.4. Non Invertible Systems ... 12

3. Control Allocation ... 13

3.1. Purpose ... 13

3.2. General Description ... 13

3.3. Parsifal Control Ganging ... 14

3.4. Space of Controls and Moments ... 14

3.5. Null Space ... 18 3.5.1. Quadratic Programming ... 19 3.5.2. Iterative Solution ... 23 3.6. How to find u* ... 25 3.6.1. Matrix Pseudoinverse ... 26 3.6.2. Daisy Chaining ... 29

3.6.3. Cascaded Generalized Inverse ... 31

3.6.4. Attainable and Unattainable Moments ... 32

3.7. Augmented Problem ... 35

3.8. Reallocation of States ... 37

3.9. Incremental Control Allocation ... 39

3.10. Non-Linear Effectiveness Matrix ... 40

3.10.1. Mutual Interaction Between Effectors ... 42

3.11. Actuators Speed Response ... 42

3.12. Time-Scale Separation ... 44

(5)

4. Software Implementation ... 47

4.1. Development Process ... 47

4.1.1. Pink Noise and White Noise ... 48

4.1.2. Montecarlo Simulation ... 49

4.1.3. Non Attainable Configurations ... 49

4.2. Simple Pseudoinverse VS Cascaded Pseudoinverse ... 49

4.2.1. Results ... 52

4.3. Incremental Approach: Global VS Local ... 52

4.3.1. Results ... 55

4.4. Incremental Local Approach: Simple Pseudoinverse VS Cascaded Pseudoinverse . 56 4.4.1. Results ... 57

4.5. Incremental Local Approach: Linearization of 𝐵 matrix ... 57

4.5.1. Results ... 60

4.6. Incremental Local Approach: Aircraft Dynamic Compensation ... 61

4.6.1. Results ... 65

4.7. Incremental Local Approach: Actuator Dynamic Compensation ... 66

4.7.1. Results ... 68

4.8. Simulink Block ... 69

4.8.1. Intersection Sub-Block ... 71

4.8.2. Pseudoinverse Sub-Block ... 71

4.8.3. Check Solution Sub-Block ... 73

4.9. Extended Version ... 73

4.9.1. B Linearization Sub-Block ... 74

4.9.2. Pseudoinverse with Rate Compensation ... 74

5. Parsifal Control ... 75

5.1. Parsifal Control ... 75 5.2. PHALANX ... 76 5.2.1. Trimmed Condition ... 78 5.3. Static Analysis ... 78 5.4. Atmospheric Turbulence ... 79

5.5. Roll, Pitch and Vertical Command ... 81

5.6. Attainable Moment Increase ... 83

6. Comment and Future Developments ... 84

6.1. Recap ... 84

6.2. PID Control Drawbacks ... 84

6.2.1. Innovative Approach ... 86

(6)

7. Installation Guide ... 89

7.1. Guide ... 89

7.2. Cascaded Pseudoinverse ... 93

7.3. Note on Trimmed Conditions ... 95

7.4. Control Effectors Interaction ... 96

8. Appendix ... 97

(7)

1. Introduction

1.1 Why

Improvements of the aerodynamic efficiency of aircraft have always been a great challenge. While lift is determined by the weight of the aircraft, drag is mainly caused by friction and lift with their respective parasite drag and induced drag.

Paying attention on the airframe design, by reducing the wetted area and streamlining the flow as much as possible, parasite drag can be reduced. However, due to practical geometric constraints, wetted area cannot be further reduced in classic configurations.

Instead, trying to reduce the induced drag can have a greater significance in advanced aircraft designs and may lead to higher fuel savings. As a reminder, induced drag is the drag that is literally “induced” by the creation of lift. When a wing is generating lift, the flow field around it tilts backward and also the lift is slightly tilted backward, generating a little component of resistance: the so called induced drag. This force is theoretically proportional to the square of the lift coefficient. It decreases as the aspect ratio of the wing increases, but increasing the wing span is often limited by regulations or by structural reasons. It also depends on the shape of the lift distribution over the wing span through the Oswald coefficient: elliptic shape distribution have the highest efficiency. New designs aim to increase the span efficiency factor by using a non-planar wing: this is how the Prandtl-plane configuration is born.

1.2 The PARSIFAL project

Project PARSIFAL (Prandtlplane ARchitecture for the Sustainable Improvement of Future AirpLanes) introduces in the market an innovative airliner with the “PrandtlPlane” (PrP) configuration. In the photo below you can see an example of such aircraft.

(8)

This is an unconventional non planar configuration comparable to a joint-wing aircraft where the lifting surfaces are connected at the tip by vertical winglets, and for this reason this aircraft belongs to the family of the so called box-wing aircrafts. The wings and the winglets forms a rectangular shape if seen from the front view. Furthermore this box-wing configuration presents an horizontal distance between the lower (forward) wing and the upper (rearward) one, and the upper wing is also directly linked to the vertical rudder. This peculiar configuration was called “PrantlPlane”.

Having a squared shape it can rely on the theory developed by Prandtl in 1920s. According to this theory the “Best lift system”, as to say the lifting system that produces the smallest possible induced drag for a given span and height, is closed rectangular. PARSIFAL configuration is the result of a research started in the ’80s at the University of Pisa (Italy) and coordinated by Prof. Aldo Frediani of the Civil and Industrial Engineering Department (Aerospace Section).

The box wing geometry can be explained as two symmetrical wings, fore and aft, joined together by vertical winglets. The fore wing is swept backwards and has a positive dihedral angle. The hind wing is swept forward and the dihedral angle is negative.

Some new parameters are to be introduced when designing a Prandtl wing. The “Stagger” is the longitudinal distance between the forward and rear wings, the “Gap” is the vertical distance, and the “Decalage” is the difference of incidence angles between both of the wings. The idea of a box-wing airliner came up in order to obtain an aircraft that has better performances if compared to a classic airliner:

 More loading capability for given external dimensions 

(9)

1.3 Aerodynamics

According to Prandtl, the lifting system with minimum induced drag is a proper box-like wing in which the following conditions are satisfied: same lift distribution and same total lift on the horizontal wings and a butterfly shaped lift distribution on the vertical tip wings. When these conditions occur, the velocity induced by the free vortices is constant along the two horizontal wings and identically zero on the vertical side wings (these are the Munks conditions for minimum induced drag).

The efficiency depends on the gap between the horizontal wings and, in particular, the induced drag decreases as the gap increases. In order to have the minimum interaction between the two wings they have to be separated as much as possible. The relative position of the wings is a compromise between the position of the aerodynamic center, the position of the center of gravity, the swept angle of the wings and their loading.

Consider for now the equation of lift and drag in their approximate form: 𝑫𝒊 = 𝑞𝑆 1 𝜋 𝐴𝑅 𝑒𝐶𝑙 2 = 𝑞 𝑏 𝑐 1 𝜋 𝑏𝑐 𝑒 𝐶𝑙2 = 𝑞𝑏𝑐2 1 𝜋 𝑏 𝑒𝐶𝑙 2 𝑳 = 𝑞𝑆 𝐶𝑙 𝐴𝑅 𝐴𝑅 + 2 ≈ 𝑞𝑆 𝐶𝑙

Without losing of generality we suppose to work with elliptic distribution of lift: In the image below you can see half wing with a span of 𝑏 2⁄ .

We suppose that the gap between the biplane wings is sufficiently high so that the flow fields around the wings don’t interact. We can see that for a given span 𝑏, creating two identical wings of chord 𝑐 2⁄ , we can obtain:

𝑫𝒊,𝒎𝒐𝒏𝒐 = 𝑞𝑏𝑐2 1 𝜋 𝑏 𝑒𝐶𝑙 2 𝑫 𝒊,𝒃𝒊= 2 𝑞𝑏 ( 𝑐 2) 2 1 𝜋 𝑏 𝑒𝐶𝑙 2 = 1 2𝑞𝑏𝑐 2 1 𝜋 𝑏 𝑒𝐶𝑙 2 = 𝟏 𝟐𝑫𝒊,𝒎𝒐𝒏𝒐

That means that in the case of a biplane, at the best, the induced drag is half with respect to the case of the classic configuration.

(10)

For the theorems mentioned in the research, lifting surfaces can be moved fore and aft along the plane of the horseshoe vortices without producing any change in the total induced drag of the biplane. This assumption allows us to disregard the fact that the wing are not perfectly positioned one above the other, hence we can consider the system as if it was planar and perpendicular to the fuselage.

The system can be represented as follows:

All the surfaces will be sources of lifting and induced drag. The theory developed by professor Frediani aims at determining the lift distribution for each surface for that the overall induced drag is minimized. As to say is to extend the lifting line theory to a closed rectangle, knowing that the system has to generate a lift which is equal to the weight of the airplane and that the lift distribution must be symmetrical to vertical axis. The vorticity problem can be now posed as follows:

𝑤(𝑃1) = 1 4𝜋 { ∫ 𝜕𝛤1 𝜕𝑥1 1 𝑥1− 𝑥𝑃𝑑𝑥1 𝑏 2 −𝑏2 + ∫ 𝜕𝛤2 𝜕𝑥2 cos [tan−1(𝑥𝑃− 𝑥2 ℎ )] √(𝑥𝑃− 𝑥2)2+ ℎ2 𝑑𝑥2 𝑏 2 −𝑏2 + ∫ 𝜕𝛤3 𝜕𝑦3 cos [tan−1( 𝑏 2− 𝑥𝑃 𝑦3 )] √(𝑏2− 𝑥𝑃) 2 + 𝑦32 𝑑𝑦3 ℎ 0 + ∫ 𝜕𝛤4 𝜕𝑦4 sin [tan−1( 𝑏 2+ 𝑥𝑃 𝑦4 )] √(𝑏2+ 𝑥𝑃) 2 + 𝑦42 𝑑𝑦4 ℎ 0

(11)

Each of the four aerodynamic surfaces has an equivalent equation. The system of equation, once solved, gives back a distribution of lift similar to the figure below.

A secondary but important effect arises from the vertical winglets, which form a closed wing system, that inhibit the formation of wingtip vortices. Furthermore, the equivalent wing area is actually split over two wings with each one having a higher aspect ratio for the same wing span, improving the aerodynamic efficiency.

At the current state of art the Oswald factor of such configuration is about 1.48 and this can lead to a 20% fuel saving in cruise conditions if compared to an equivalent classic aircraft. Finally we can notice that having a two wings can lead to a coupled flows thus increasing the stall behavior of the profiles. CFD studies are now carried out to highlight this aspect.

1.4 Flight Mechanics

As you might have noticed, this aircraft has no horizontal tail which implies that the pitch control must be done using the control surfaces on the wings. The aircraft, in his first version, presents 9 control surfaces, 4 each wing and one in the rudder.

(12)

The most external ones are the ailerons as they are the farthest form the 𝑋 axis and they can provide a big rolling torque. Due to the shape of the wings, the ailerons on the lower wing are quite close to the ones in the wing above. As to say that 𝛿2 is very close to 𝛿4 and 𝛿6 is very close to 𝛿8. This implies that if they even have a different rotation there is almost no pitching moment around the 𝑌 axis of the aircraft.

On the other hand the inner ailerons are quite distant in the longitudinal direction so their joint movement can provide a significant pitching moment to the aircraft. Moreover, being quite close to the fuselage 𝑥 axis they provide almost no rolling moment.

Anyway they can be used to generate some rolling force at higher speeds where the dynamic pressure is quite significant and the . Being quite close to the wing root, they generate a very small torsion in the wing structure so they can be used as high speed ailerons in order to avoid the aileron reversal. This is particularly important for the wing which has a positive sweep angle.

The pitch control heavily depends on the longitudinal stability of the aircraft. Having a big mass on the rear of the fuselage moves back the center of gravity 𝐶𝐺 of the aircraft. On the other hand the generation of lift with the rear wing makes the neutral point 𝑁𝑃 to be far behind so the longitudinal static stability is secured. In any case, the front wing generates more lift than the other one. Minor adjustments can be done transferring some fuel between the two wings so that the static margin is maintained in the desired range.

.

Having two wings can make the aircraft do some interesting maneuvers such as the vertical slide (using the so called direct lift control, DLC) and the minimum phase pitch up maneuver:

Vertical sliding

(13)

Deflecting front and rear surfaces in the same way it is possible to generate lift having no moment around 𝑦𝐵. Or it is possible to have an opposite defection of the surfaces that results in a pure couple.

Those kind of maneuverers can increase the comfort of the passengers and reduce the fuel consumption. Furthermore, if the vertical slide is applied during the take-off climb, we can expect that the engines will remain more horizontal and the noise at the ground will be reduced.

The configurations developed so far have an instable dutch roll mode that has to be compensated using a yaw-damper. After some tests in the simulator it was clear that this configuration can only fly with a fly-by-wire with automated control system.

1.5 General Details

The aircraft is supposed to be capable of flying 4000km with approximately 300 passengers in a two class arrangement.

It is capable of have a off field length (TOFL) <2.200m @ sea level with maximum take-off mass of 136 tons.

The aircraft shall fulfill the aircraft category C specification for the approach phase. In particular the VAT speed must be less than 140 knots.

For a more detailed presentation of the Parsifal Project make reference to the document “Deliverable D2.1 - Requirements for the adoption of the PrandtlPlane as a mean of transport”.

(14)

2. Aircraft Control

2.1 Governing Equations

Let’s define some nomenclature before proceeding further. An aircraft has a center of mass 𝐶𝐺 and like very object has three principal axis of inertia, respectively called 𝑥𝐵 along the fuselage, 𝑦𝐵 positive on the right wing and a third axis 𝑧𝐵 pointing downward and

perpendicular to the other ones.

In a “body” fixed system we can identify the speed of the aircraft denoted by the vector:

𝑉|𝐵 = [ 𝑢 𝑣 𝑤 ] → 𝑉̇|𝐵 = [ 𝑢̇ 𝑣̇ 𝑤̇ ] And an angular velocity around the three axes denoted by the vector:

𝜔|𝐵 = [ 𝑝 𝑞 𝑟

]

The external forces that an aircraft might be subjected while flying are aerodynamic forces 𝐹𝐴, thrust forces 𝑇 and weight 𝑊. These forces induces also torque moments around the inertia axis.

An aircraft in the sky has six degrees of freedom. At each degree corresponds an equation of motion that basically is derived from the Euler’s equations:

𝑭𝑒𝑥𝑡 = 𝑑(𝑚𝒗)

𝑑𝑡 ;

𝑑(𝐼𝝎)

𝑑𝑡 = 𝑴𝑒𝑥𝑡− 𝒗𝑜× (𝑚𝒗)

In the case of a rigid body, referring to the principal axis of inertia, the equations become:

{ 𝑢̇ − 𝑟𝑣 + 𝑤𝑞 = 1 𝑚(𝑋 + 𝑇𝑥) − 𝑔 sin 𝜃 𝑣̇ − 𝑝𝑤 + 𝑟𝑢 = 1 𝑚𝑌 + 𝑔 cos 𝜃 sin 𝜙 𝑤̇ − 𝑞𝑢 + 𝑝𝑣 = 1 𝑚(𝑍 + 𝑇𝑧) + 𝑔 cos 𝜃 cos 𝜙 { 𝑝̇ = 1 𝐼𝑥[𝐿 + 𝐿𝑇− 𝑞𝑟(𝐼𝑧− 𝐼𝑦)] 𝑞̇ = 1 𝐼𝑦[𝑀 + 𝑀𝑇− 𝑟𝑝(𝐼𝑥− 𝐼𝑧)] 𝑟̇ = 1 𝐼𝑧 [𝑁 − 𝑝𝑞(𝐼𝑦 − 𝐼𝑥)]

(15)

Where the aerodynamic forces along the principal axes are denoted with 𝑋, 𝑌 and 𝑍 while the aerodynamic torque moments are 𝐿, 𝑀 and 𝑁.

The angle 𝜙 is the pitch angle, while the angle 𝜃 is the bank angle. There’s also the third Eulerian angle 𝜓, the heading angle. Remember that to change from a Earth fixed reference system to a Body fixed system the rotation must follow the order: 𝜓 → 𝜃 → 𝜙.

Finally we can state that the relative position of the aircraft with respect to the earth can be found integrating the following equations over time:

{

𝑥𝐸̇ = 𝑢(cos 𝜃 cos 𝜓) + 𝑣(sin 𝜙 sin 𝜃 cos 𝜓 − cos 𝜙 sin 𝜓) + 𝑤(cos 𝜙 sin 𝜃 cos 𝜓 + sin 𝜙 sin 𝜓)

𝑦𝐸̇ = 𝑢(cos 𝜃 sin 𝜓) + 𝑣(sin 𝜙 sin 𝜃 sin 𝜓 + cos 𝜙 cos 𝜓) + 𝑤(cos 𝜙 sin 𝜃 sin 𝜓 − sin 𝜙 cos 𝜓)

ℎ̇ = −𝑧𝐸̇ = 𝑢(sin 𝜃) + 𝑣(− sin 𝜙 sin 𝜃) + 𝑤(− cos 𝜙 cos 𝜃)

To summarize there are nine states that can be controlled in an aircraft but depending on their characteristic time they require different level of control, or different value for the gains. They can be divided as follows:

{𝑝, 𝑞, 𝑟} {𝜙, 𝜃, 𝜓} {𝑢, 𝑣, 𝑤} {𝑥𝐸, 𝑦𝐸, ℎ}

2.2 Control Effectors

Aircraft are maneuvered primarily through control of the angular acceleration. For example the tail is used to impress an angular acceleration in along the 𝑦𝐵 axis or the ailerons are used

to control the rolling moments around 𝑥𝐵.

Parsifal, in its main configuration has 9 control surfaces.

Denoted with the letter 𝛿 we name the nine control effectors that can be grouped in a vector 𝑢.

(16)

𝑢 = { 𝛿1 𝛿2 ⋮ 𝛿9 }

In blue you can see the external ailerons used to mainly control the roll, in red the inner ailerons that are usually addressed also to control the lift (using the DLC) and in yellow the vertical tails that act as a single moving surface.

The position of zero deflection of the surfaces in trimmed condition is completely arbitrary. We therefore consider the zero position the one in which the aircraft has a mechanical zero position, where the surface doesn’t generate any force per se.

Propulsive forces can be used to control aircraft attitude too but since they are acting mostly along the 𝑥𝐵 axis and they act on a time scale which is not comparable with our system frequency, we prefer to not include them in the set of available control effectors. Instead we will use thrust to control the trajectory pitch angle 𝛾 in the long period, in the approximate form:

𝛾 = 𝑇 − 𝐷 𝑊

As you should already know the deflection of the surfaces influence the forces and moments that act over the airplane. We can imagine, with a good degree of approximation, that every aerodynamic force distribution acting on the airplane can be decomposed in a base distribution that just depend on the angle of attack and the sideslip angle (and their derivatives) plus another distribution due to the deflection of the control surfaces from their relaxed position. We are basically saying that the problem is linear and that the superposition principle is valid.

We call those distributions 𝐹𝑎𝑒𝑟𝑜 and 𝐹𝛿.

So, let’s consider for a moment only the aerodynamic forces deriving from the deflection of the control surfaces. Every surface deflection result in a force and a moment along the three axis of the airplane, as to say:

𝑋𝛿 = 𝐶𝑋,𝛿1𝛿1+ ⋯ + 𝐶𝑋,𝛿9𝛿9 𝑌𝛿 = 𝐶𝑌,𝛿1 𝛿1+ ⋯ + 𝐶𝑌,𝛿9𝛿9 𝑍𝛿 = 𝐶𝑍,𝛿1 𝛿1+ ⋯ + 𝐶𝑍,𝛿9𝛿9 𝐿𝛿 = 𝑞 ̅ 𝑆𝑏 (𝐶𝐿,𝛿1𝛿1+ ⋯ + 𝐶𝐿,𝛿9𝛿9) 𝑀𝛿= 𝑞 ̅ 𝑆𝑐 (𝐶𝑀,𝛿1 𝛿1+ ⋯ + 𝐶𝑀,𝛿9𝛿9) 𝑁𝛿 = 𝑞 ̅ 𝑆𝑏 (𝐶𝑁,𝛿1𝛿1+ ⋯ + 𝐶𝑁,𝛿9𝛿9)

where 𝑞̅ is the dynamic pressure and 𝐶 denote every first order derivation of the force with respect to a variation in the 𝑖𝑡ℎ deflection at a given 𝛼, 𝛽 and 𝑀𝑎𝑐ℎ number :

(17)

We therefore call “Effectiveness Matrix” 𝐵 the coefficients set: 𝐵 = ( 𝐶𝑋,𝛿1 𝐶𝑋,𝛿2 𝐶𝑌,𝛿1 𝐶𝑌,𝛿2 ⋯ 𝐶𝑋,𝛿9 𝐶𝑌,𝛿9 ⋮ ⋱ ⋮ 𝐶𝑁,𝛿1 𝐶𝑁,𝛿2 ⋯ 𝐶𝑁,𝛿9) 2.3 Controls

In order to control the aircraft, while flying, the pilot moves the stick, the pedals and the throttle lever. In modern aircrafts, pilot commands go through a control unit that elaborate the input and as a consequence deflect the surfaces to let the airplane make the desired movements. In automated pilots moreover the command comes directly from a navigation system that acts on behalf of the pilot.

The control is mainly addressed to create angular moments and, in the case of Parsifal, to control also the vertical acceleration. The equations dealing respectively with 𝑤̇, 𝑝̇, 𝑞̇ and 𝑟̇ are called “Controlled Equations” because controls are aimed at modifying those quantities. When the surfaces are deflected they cause also forces directed along 𝑥𝐵 and 𝑦𝐵. They are secondary and undesired effects and the pilot has to compensate them. The equations involving 𝑢̇ and 𝑦̇ are therefore called “Complementary Equations”. All the remaining equations, the ones which describe the position and speed of the aircraft with respect with a fixed inertial system are called “Kinematic Equations”.

Controlling an aircraft means moving the control surfaces in such a way that the aircraft does exactly what the pilot wants. Since the aircraft is a dynamic system, not always it is possible to have a linear and time invariant correlation between the command and the response. In bigger aircrafts, the ones which need fly-by-wire systems in any case, it useful to insert a controlling unit that takes the pilot command as an input and determine how the surfaces should be deflected.

For example, if the pilot wants to obtain some angular acceleration in pitch, the control unit determines which deflection to give to every control surface in order to have such angular acceleration.

Clearly, every aircraft has some limitation in doing some maneuvers or reaching some angular accelerations. The entire set of moments or accelerations that the control effectors as a whole can generate are called respectively “attainable moments” and “attainable angular accelerations”. For example, a pitch acceleration of 30°/𝑠2 is not attainable for an airline but

(18)

From the Control Theory we know that the system can be represented with the following equation:

𝑥̇ = 𝑓(𝑥) + 𝑔(𝑢) 𝑥̇ = 𝐴𝑥 + 𝐵𝑢

where 𝑥 is the state of the aircraft and 𝑢 is the input matrix, in our case the control surfaces deflection. 𝐵 is the effectiveness matrix already defined.

Now suppose that the matrix 𝐴 and 𝐵 accurately represent the real behavior of the aircraft. Knowing the state of the aircrafts 𝑥 in every instant and the desired behavior 𝑥̇ at the subsequent instant, we can compute the vector 𝑢 of the deflections needed just doing the inverse formula.

𝑢 = 𝐵−1 (𝑥̇ − 𝐴𝑥)

this control theory is called “Dynamic Inversion”. There are many ways like “Neural Networks”, “Spline Interpolation” or the more classic “Kalman Filter” to estimate the system of equations that describes the dynamics of an aircraft and then invert them.

Unfortunately this model is not always sufficiently accurate and Dynamic Inversion leads to some errors. In that case it is necessary to implement the classic controllers that rely on the error of the signals such as “PID Controllers” and “Fuzzy Logic Controllers” or to implement the “Incremental Approach” to the estimated inverted system.

2.4 Non Invertible Systems

But what happens when the aircraft dynamic model has more elements in the vector 𝑢 than equations? The system is not squared and the inverse system is not univocal. This means that exists infinite solutions and infinite set of deflections possible to generate a desired moment. The process to define the best solution among the infinite available is called “Control Allocation” and we will discuss more in detail about this process throughout the entire paper. Historically, aircraft control surfaces were connected through rods and levers. For example ailerons were connected in order to have an opposite deflection, thus generating a pure roll moment, or horizontal tail surfaces were connected to the same structure so that they act as a single surface to control pitch. In any case, classic aircraft have as many main control surfaces as the moments to control are: The dynamic system is square and fully invertible.

Parsifal has 9 independent control surfaces and now the problem arises on how to connect those surfaces. On a second step we will focus on the control algorithm that ensure the best

(19)

3. Control Allocation

3.1 Purpose

We can divide the control problem in two parts: We firstly find an optimal connection between the control surfaces (Control Allocation) of the airplane and then we will focus on controlling the system (Control Theory).

Connecting the aircraft surfaces has to deal more with mechanical considerations and flight mechanics. For example we might ask what is the best coupling to achieve, for every attainable moment, the lowest overall drag from the control surfaces or what is the best way to minimize the mechanical stress on a particular section of the wing in every point of the flight envelope. It might be possible to set also multiple functions to be minimized through the procedure called “Multiple Design Optimization” or MDO.

Parsifal is a new project and its final configuration has not been designed yet. Every new design include more control effectors than the previous version and therefore we expect the grade of over-actuation to increase even in the future steps of the project. At the light of these considerations, the objective of this study becomes the development of a generic on-line control allocation algorithm that can provide, no matter how many control surfaces there will be, the optimal coupling among them all at every flight condition.

3.2 General Description

We here remember that we are always dealing with over-actuated problems, otherwise it won’t be interesting to deal with Control Allocation algorithms. Given a moment as an input, the control allocation must provide, among all the deflections that can generate such moment, the one that minimizes a specific cost function:

min⁡{arg 𝑓}

where the function 𝑓 is completely arbitrary: It might be the drag of the airplane, the acceleration of a specific point in the frame or a weighted summation of different functions too.

Control Allocation can be also used to determine some level of “Redundancy” in the control surfaces. In this way it is possible to achieve the desired moment even if a control effector fails because other control effectors will substitute to its action. However, “Fail Detections Techniques” won’t be a matter of study in this paper.

A huge difference in Control Allocation algorithms lies on the distinction between “Off-Line” and “On-Line” systems. The former describes an algorithm which equations are known a priori. For every point in the flight envelope and for every aircraft configuration, the system

(20)

perfectly know how to invert equations based on precomputed data. It requires a huge look-up table to be loaded in the control unit: All the data comes from very accurate simulations or measurements. This technique is quite old-fashioned and doesn’t allow the aircraft to react to unknown situations, thus resulting in disastrous consequences.

The “On-Line” method instead is based on the computation of the current state of the aircraft and include an optimization cycle that determines, at every instant, the best way to invert the equations. This Control Allocation algorithm computes every one hundredth of second (100Hz) the matrix inversion. There is no limit to the mathematical application of this algorithm, it’s just a matter of the physical limits of the airplane.

While deflecting, all the control effectors change locally the distribution of lift and drag, changing in this way the force distribution that acts over the aircraft. The force and moments induced by the deflections are incorporated in the “On-Board Model” OBM.

But the forces and moments that are induced by the deflection of a control surface are nothing more than the coefficients of the effectiveness matrix 𝐵.

3.3 Parsifal Control Ganging

Talking about Parsifal we could connect the system in such a way that the ailerons act as a single surface that generates a rolling moment.

𝛿2= 𝛿4= −𝛿6 = −𝛿8

Or for example the ailerons are coupled in fore and aft ailerons, respectively:

𝛿1 = 𝛿5 ; 𝛿3= 𝛿7

In this way we just identified a “ganging matrix” that basically provides 4 control effectors for the 4 controlled equations we have. We just did a rough control allocation and now the system is squared and it can be inverted: For every moment we want to obtain we know exactly which surface to move univocally.

Although it may look too simple, the first version of Parsifal was designed to comply with such control allocation that appears to be also intuitive and quite efficient. In the Introduction we already gave a brief overview of the way the surfaces move.

3.4 Space of Controls and Moments

All control effectors have a certain limit position, usually specified as a positive and negative deflection from the zero position. Remember that zero position doesn’t necessarily insure zero control-generated moments.

(21)

Extending this concept to the entire input matrix we can state that: 𝑢𝑚𝑖𝑛 ≤ 𝑢 ≤ 𝑢𝑚𝑎𝑥

The geometrical representation of such vector inequality is an hyper-rectangle in ℜ9. The

number of dimension is equal to the number of linear independent vectors that form a base in the hyperspace, in this case 9 because 9 is the number of independent control effectors. This hyper-rectangle is called “Space of Admissible Controls” Ω and it is always a convex and fully connected space. These two properties are true even if there is one deflection that somehow limit another one’s value.

In order to better visualize the concepts let’s consider an aircraft with only three control effectors 𝛿1, 𝛿2 and 𝛿3. We will deal with such example for the rest of the chapter. Take in mind that the mathematical approach here described can be applied without loss of generality to every system with an higher number of dimensions.

The space of states of this matrix 𝑢 with three control effectors is a prism:

where for example:

A = {⁡ 𝛿1,𝑚𝑖𝑛 𝛿2,𝑚𝑎𝑥⁡ 𝛿3,𝑚𝑖𝑛 ⁡} 𝐵𝐹 ̅̅̅̅ = {⁡ 𝛿1,𝑟𝑎𝑛𝑑𝑜𝑚 𝛿2,𝑚𝑎𝑥⁡ 𝛿3,𝑚𝑎𝑥 ⁡} 𝐴𝐵𝐹𝐸 ̿̿̿̿̿̿̿̿ = {⁡ 𝛿1,𝑟𝑎𝑛𝑑𝑜𝑚 𝛿2,𝑚𝑎𝑥⁡ 𝛿3,𝑟𝑎𝑛𝑑𝑜𝑚 ⁡} Ω

(22)

Every point inside Ω represent a particular displacement of the three control effectors. The coordinates of such point are the magnitude of the three deflections in the order {𝛿1, 𝛿2, 𝛿3}. Suppose now, still as example, that those three control effectors should generate two moments:

𝑚 = ⁡ {𝑚1, 𝑚2}𝑇

We are therefore dealing with an over actuated problem (2 attainable moments for 3 actuators) that requires some Control Allocation algorithm. The relation between the matrix 𝑢 and 𝑚 is:

𝑚 = 𝐵𝑢 where 𝐵 is a generic 2 × 3 Effectiveness Matrix.

𝐵 must always be “Full-of-Rank” that means that there is no linear relationship between any of its columns and that there are no rows that contains only zeros. Those are quite realistic assumptions since the 𝐵 elements come from empirical data or CFD simulations.

Every vector 𝑢 is transformed trough the 𝐵 matrix into the vector 𝑚. Therefore 𝐵 projects Ω into the space of moments (a ℜ2 space in this example). We call this figure “Space of Attainable Moments” φ. This figure is also convex and connected.

Suppose that φ is a figure like the one below:

Every point inside 𝜑 represents a particular moment generated by the control effectors. The coordinates of such point are the magnitude of the attainable moments in the order {𝑚1, 𝑚2}. This means that:

φ

m in ℜ2

u in ℜ3

(23)

We now consider the dynamic of an actuator.

The deflectors are also limited by speed limits, also called “Limit Deflection Rate”. Actuators cannot be infinitely rapid so that the change over time of their position must be always a connected line: they cannot jump from one position to another. Usually, in flight mechanics, those speeds are expressed in change of deflection angle per unit time.

𝜕𝛿 𝜕𝑡|𝛿0,𝑡0

The better the actuator, the fastest the change per unit time. We linearize such speed around the initial deflection. At each time step the position of a moving surface can be:

𝛿𝑡+1= 𝛿𝑡+ ⁡𝜕𝛿 𝜕𝑡|𝛿𝑡

𝑑𝑡 = 𝛿𝑡+ ⁡ 𝛿𝑡̇ ⁡𝑑𝑡

The value of 𝛿𝑡̇ is limited by the physical limits of the actuators. It is possible to define a maximum speed 𝛿𝑡̇𝑖 for each deflector:

0 ≤ |𝛿𝑖̇ | ≤ 𝛿̇𝑖,𝑚𝑎𝑥

Extending this concept to the entire input matrix we can state that: 0 ≤ |𝑢̇| ≤ 𝑢̇𝑚𝑎𝑥

To represent this concept graphically, if we start moving from a point P = {𝛿1, 𝛿2, 𝛿3}𝑇, in a

unit time 𝑑𝑡 we can reach only the points in the region:

𝑃|𝑡+1 ∈ {⁡

𝛿1 ± 𝛿1̇ 𝑚𝑎𝑥⁡𝑑𝑡 𝛿2 ± 𝛿2̇ 𝑚𝑎𝑥⁡𝑑𝑡 𝛿3 ± 𝛿3̇ 𝑚𝑎𝑥⁡𝑑𝑡

(24)

We call the pale grey region built around P defined by the speed limits Ω𝑃.

More generally we can state that the point 𝑃|𝑡+1 must be included in the intersection between the dark gray region Ω and the pale gray Ω𝑃, intersection that we call “I”.

3.5 Null Space -

Since 𝐵 matrix has a column space which is greater than its own rank, the 𝐵 matrix product has a non-zero kernel. This means that exist a subspace of Ω where every point that belongs this subspace has a resultant equal to zero in φ.

To be more concrete we can say that exist some deflection combinations that result in a net moment of zero: Even if we moved the surfaces the net resultant is null.

All the points that have this properties belong to the “Null Space”⁡𝑁(𝐵), represented as a black plane in the image below.

We have indicated with the dashed area the intersection of the null space and the space of admissible controls and we call it Ω⊥. This region contains all the set of admissible deflection that generate a null resultant in the space of moments. The state of the aircraft doesn’t change if we move internally to this region.

The dimension of Ω⊥ is given by the number of columns of 𝐵 minus the rank of 𝐵. In a matrix which is full-of-rank the rank corresponds to the number of rows, hence the dimension of 𝑁(𝐵) is:

𝑑𝑖𝑚(𝑁(𝐵)) = 𝑑𝑖𝑚(𝑐𝑜𝑙𝑢𝑚𝑛𝑠(𝐵)) − 𝑑𝑖𝑚(𝑟𝑜𝑤𝑠(𝐵))

In the image above we just pictured a plane because this shape is easy to depict in mind but considering the example we are carrying on in the paper, if we have a matrix 𝐵 with 3 columns (three deflectors) and 2 rows (two attainable moments), the space Ω⊥ would have a dimension of 1, so it is a line. Every point tat belongs to that line generates no moment.

(25)

The vectors 𝑢 that belongs to the null space of 𝐵 are: 𝑢⊥ = {𝑢⃑ ∈ Ω |⁡𝐵𝑢⃑ = 0⃑ }

In order to determine the null space of the 𝐵 matrix we could use both the “Gaussian Elimination” or the “Row Echelon Form”. In our example we would obtain:

𝐵+ = (1 0 0 1 𝜆1 𝜆2⁡|⁡ 0 0) That gives a solution of the null space normalized vector:

𝑢⊥ = ⁡ 1 √𝜆12+ 𝜆22+ 1 {⁡ 𝜆1 𝜆2 1 ⁡}⁡

which is, as expected, a one dimensional vector.

3.5.1 Quadratic programming -

To better explain the concepts we now continue representing the null space as a plane.

We already stated that in a linear system the superposition principle is always valid. Suppose that for a given attainable moment 𝑚∗ you find an admissible deflection set 𝑢∗ that generates that moment. Since we are dealing with an overdetermined system, the solution 𝑢∗ is just one among the infinite possible solutions.

Let’s consider now the null space of 𝐵. Every point belonging to 𝑁(𝐵) generates no net moment. Intuitively we can imagine that if we add to 𝑢∗ any point 𝑢 that belongs to 𝑁(𝐵),

we still obtain the moment 𝑚∗ like nothing happened.

If we translate Ω⊥ so that it intersect the point 𝑢∗, we will obtain the space of all deflections

(26)

To be more practical we can say that if we have a certain deflection set that satisfy a given requirement, we can find other solutions that satisfy the same requirements just adding deflections of zero-net-force.

Let’s see an example.

Suppose that the moment 𝑚∗ it’s just a pure rolling moment: we imagine to have a solution 𝑢

like in the image below.

Suppose that this aircraft has four ailerons. A particular disposition 𝑢⊥ that does not generate any rolling moment is the following:

Using the superposition principle we can add the two deflection sets and still obtain the pure moment 𝑚∗ as output.

(1)

(2)

(27)

In fact, all the points that belong to the dashed area are now generating the same moment 𝑚∗

but may have different properties. For example deflections in (1) create less drag than deflections in (3), even if they generate the same net moment.

This reasoning can be extended to every other case and leads to the conclusion that some solutions are preferred over others. The criteria used to determine which solution is better is completely arbitrary; We might want to minimize the drag of the aircraft as a whole or minimize the overall deflections in order to reduce the actuators energy consumption.

The cost function that we want to maximize (minimize) is called “Key Performance Indicator” KPI.

In any case, once found a solution 𝑢∗ that satisfy the requirements 𝑚∗, we can start moving iteratively into the null space built around that point till finding the optimal solution.

In order to find the best solution we adopt the “Quadratic Programming” technique, which is more simple than the “Linear Programming” one.

Quadratic programming is the process of solving mathematical optimization problems where the cost function 𝑐 is a quadratic function of 𝑢.

𝑐 = ⁡1

2⁡𝑢 𝑇𝑄⁡𝑢

This equation is nothing more than an hyper-paraboloid in the space of 𝑢. Since we are dealing with a quadratic form, the equation must include some parameters. The matrix 𝑄, in fact, contains all those contants that multiply the equation unknowns.

For example, suppose that 𝑄 contains the drag associated by the surfaces deflection. Named respectively 𝛿𝑖 and 𝐷𝑖 the deflection angle and the aerodynamic drag related to the 𝑖𝑡ℎ control surface,

we obtain: 𝑄 = ⁡ ( 𝜕𝐷1 𝜕𝛿1 𝜕𝐷2 𝜕𝛿1 𝜕𝐷1 𝜕𝛿2 𝜕𝐷2 𝜕𝛿2 ⋯ 𝜕𝐷𝑛 𝜕𝛿1 𝜕𝐷𝑛 𝜕𝛿2 ⋮ ⋱ ⋮ 𝜕𝐷1 𝜕𝛿𝑛 𝜕𝐷2 𝜕𝛿𝑛 ⋯ 𝜕𝐷𝑛 𝜕𝛿𝑛)

where 𝑛 is the number control surfaces. If there is no mutual interaction between the surfaces, 𝑄 becomes a diagonal matrix. In any case we have a monotone C2

scalar function. Remember that this problem always has to be subjected to:

𝑢𝑚𝑖𝑛 ≤ 𝑢 ≤ 𝑢𝑚𝑎𝑥 ; |𝑢̇| ≤ 𝑢̇𝑚𝑎𝑥

(28)

Let’s continue with our example.

Suppose that we identified a point 𝑢∗⁡ that satisfies the desired moment 𝑚∗ and we build a null space around it.

Every point that belongs to the dashed area generates the same desired moment 𝑚∗. We can

start looking in this area in order to identify which point minimizes the cost function 𝑐.

Since the cost function is a monotone quadratic form, its intersection with the area g must admit the existence of a point of local minimum. Look at the image below:

We start identifying a point 𝑢∗ that satisfy the desired moment. The cost function in correspondence of such point is indicated with 𝑐(𝑢∗). We can find the value of the cost function just substituting the components of the vector 𝑢∗ into the equation:

𝑐(𝑢∗) = ⁡1

2⁡𝑢

∗𝑇𝑄⁡𝑢

(29)

In the closed area we are now considering, there must be a point of local minimum and there is no reason to believe that it coincides with the initial point. We denote such point with 𝑢𝑜𝑝𝑡 and its correspondent value is 𝑐(𝑢𝑜𝑝𝑡): This is the minimum of the function in the area we are taking into account. We must find a way to reach 𝑢𝑜𝑝𝑡 no matter what 𝑢∗ we start moving

from.

We could project the cost function into the plane so that to find the minimum of the function analytically but this solution it is not easy to implement on a software. We therefore rely in an iterative approximation algorithm called “Conjugate Gradient Method” that can be implemented numerically.

3.5.2 Iterative Solution -

Once found the point 𝑢∗ we compute the gradient in the ℜ𝑛 using the equation:

∇𝑐|𝑢∗ = lim

𝑑𝑢→0

∇𝑐|(𝑢+𝑑𝑢)− ∇𝑐|𝑢

𝑑𝑢 ⁡

In the software, since we are dealing with finite precision numbers, we will use a value of 𝑑𝑢 sufficiently small to consider the approximation valid. The gradient can be computed as the derivative of the cost functions of the single components:

∇𝑐|𝑢∗ ≈ { 𝜕𝑐 𝜕𝛿1 ⋮ 𝜕𝑐 𝜕𝛿𝑛} ≡ { 𝑐(𝑢∗+ 𝑑𝛿 1) − 𝑐(𝑢∗) 𝑑𝛿1 ⋮ 𝑐(𝑢∗+ 𝑑𝛿 𝑛) − 𝑐(𝑢∗) 𝑑𝛿𝑛 }

In this way we just obtained the module and the direction of the gradient (which is a vector). Consider now the entire null space plane built around 𝑢∗. We call this plane (Ω, 𝑢). If we

project ∇𝑐|𝑢∗ it into the plane (Ω⊥, 𝑢∗) we can find in which direction to move in order to

minimize the cost function. We call such projection onto a subspace 𝑃𝑟𝑜𝑗,𝑢)∇𝑐 = 𝑉.

We can start moving iteratively in the direction of the gradient using an equation similar to: 𝑢𝑘+1 = ⁡ 𝑢𝑘+ ⁡𝜇⁡ ∙ ⁡𝑉

where 𝜇 is a sensitivity parameter defined by the user that define the importance of the gradient while updating the position of the point. The larger is 𝜇 the fastest is the convergence of the algorithm but having a large value also implies that some errors may occur while converging. Following such equation the state of the aircraft deflectors start moving from the position 𝑢∗ in the direction of 𝑢

(30)

can clearly see that in image (4): the black arrow represents the path of the state till reaching 𝑢𝑜𝑝𝑡, while in white you can see the path of the cost function gradient.

Always keep in mind that this is an approximate resolution that can lead in extreme cases to the non-convergence of the solution or to the phenomenon called “Chattering”. We will discuss such issues more in detail in the next chapter.

Before concluding this section we should define mathematically some more stuff. The null space of Ω a is a 𝑛 × 𝑚 subspace defined by a matrix:

𝑆 = ⁡⁡ [

⋮ ⁡ ⋮

𝜆1 ⋯ 𝜆𝑚

⋮ ⁡ ⋮

]

𝑆 is the matrix that represent the subspace and can be seen as a transformation of the space Ω into Ω⊥. The vectors 𝜆1, … , 𝜆𝑚 are the linear independent vector that comes from the row echelon form of the 𝐵 matrix. Every point 𝑢 that belongs to that space is a solution of the null space. This means that it represents a configuration of the aircraft deflectors that does not generate any force.

Any point that can be expressed by the equation below belongs to the null space of 𝐵: 𝑢 = ⁡⁡ [ ⋮ ⁡ ⋮ 𝜆1 ⋯ 𝜆𝑚 ⋮ ⁡ ⋮ ] [ ⋮ 𝛼 ⋮ ] ⁡⁡⁡ → ⁡⁡⁡𝑢 ∈ 𝑁(𝐵)

This means that if a vector 𝑢 is a linear combination of the base vectors of the null space, it also belong to the null space.

To build the null space of 𝐵 around the position 𝑢∗ we are simply shifting the origin of the

null space toward the point 𝑢∗. This implies that any point that belong to the surface (Ω, 𝑢)

must have the following form.

𝑢 = ⁡⁡ [ ⋮ ⁡ ⋮ 𝜆1 ⋯ 𝜆𝑚 ⋮ ⁡ ⋮ ] [ ⋮ 𝛼 ⋮ ] + [ ⋮ 𝑢∗ ⋮ ] ⁡⁡ → ⁡⁡𝑢 ∈ (Ω⊥, 𝑢∗) Note that if 𝛼 = 0⃑ ⁡ → 𝑢 ≡ 𝑢∗.

In order to compute the gradient we can make the incremental difference of a component at a time. So for example we start moving just the first component in the null space:

𝑢1 = ⁡⁡ [ ⋮ ⁡ ⋮ 𝜆1 ⋯ 𝜆𝑚 ⋮ ⁡ ⋮ ] [ 𝑑𝛼 0 ⋮ 0 ] + [ ⋮ 𝑢∗ ⋮ ]

(31)

Substituting this value into 𝑐 we obtain the gradient in the direction of the first column 𝜆1 and we call it 𝑉𝜆1 (that is a scalar component).

We hence compute the second component of the gradient as follows:

𝑉𝜆2 = ⁡𝑐 (𝑢2 = ⁡⁡ [ ⋮ ⁡ ⋮ 𝜆1 ⋯ 𝜆𝑚 ⋮ ⁡ ⋮ ] [ 0 𝑑𝛼 ⋮ 0 ] + [ ⋮ 𝑢∗ ⋮ ])

We repeat the operation for every direction in 𝑁(𝐵).

In this way we just obtained the vector V projected into the plane (Ω⊥, 𝑢∗). The vector 𝑉 will

be: 𝑉 = [ 𝑉𝜆1 𝑉𝜆2 ⋮ 𝑉𝜆𝑚]

If we substitute those scalar numbers into the equation of (Ω⊥, 𝑢∗) we still find a point that belongs to (Ω⊥, 𝑢∗) that is in the direction of the gradient.

𝑢𝑑𝑖𝑟 = ⁡⁡ [ ⋮ ⁡ ⋮ 𝜆1 ⋯ 𝜆𝑚 ⋮ ⁡ ⋮ ] [ 𝑉𝜆1 𝑉𝜆2 ⋮ 𝑉𝜆𝑚] + [ ⋮ 𝑢∗ ⋮ ]

The segment (𝑢𝑑𝑖𝑟 − 𝑢∗) represents the direction of the gradient to follow (the black line in

figure (4)). At the next step the position of the point will b 𝑢1 = ⁡ 𝑢∗+ ⁡𝜇⁡ ∙ ⁡ (𝑢

𝑑𝑖𝑟 − 𝑢∗)

We can generalize the equation at each iterative step:

𝑢𝑘+1 = ⁡ 𝑢𝑘+ ⁡𝜇⁡ ∙ ⁡ (𝑢𝑑𝑖𝑟,𝑘− 𝑢𝑘)

The iterative solution ends when we reach a facet of I or we start chattering.

3.6 How to find u*

The analysis conducted so far became purely mathematical so, now, we try to get back to the reality of an aircraft. The control system we are designing operates at a frequency of 100Hz. At this high frequency the forces and moments that act over the aircraft can be considered as constant. This imply that the we don’t consider the matrix of states 𝐴 but we are just dealing with the effectiveness matrix 𝐵:

𝑥̇ = 𝐴𝑥⏟

𝑛𝑢𝑙𝑙

(32)

We now get back to the formulation of the problem with the notation used so far considering only the “Control Equations”

𝑚 = 𝐵𝑢

Given a desired moment 𝑚∗ we want to find a solution 𝑢∗ that generates that moment. But the matrix 𝐵 is not a square matrix so 𝐵−1 does not exist and the system is not invertible (the

solution is not univocal).

We here illustrate three methods that can be used to invert such matrix B in order to compute the state 𝑢∗. Note that those three initial solutions all generate the same moment 𝑚∗ so they belong to the same plane Ω⊥.

As we already discussed in the previous paragraphs, those points can be used as a starting position for the Conjugate Gradient algorithm. Nevertheless we will notice that they already present some good characteristics and in most of the cases they can be considered optimal solutions 𝑢𝑜𝑝𝑡: the Quadratic Programming is not necessary in that cases.

3.6.1 Matrix Pseudoinverse

We first introduce the concept of norm of a vector. Given an input vector 𝑢: 𝑢 = ⁡ {𝛿1, 𝛿2, ⋯ , 𝛿𝑛}𝑇

the 1st norm of such vector is:

𝑛𝑜𝑟𝑚1(𝑢) = ⁡ 𝛿

1+ 𝛿2+ ⋯ + 𝛿𝑛

In the same way the 2nd norm of such vector is: 𝑛𝑜𝑟𝑚2(𝑢) = ⁡ 𝛿

12+ 𝛿22+ ⋯ + 𝛿𝑛2

Let’s keep in mind the 2nd

norm of the deflection vector, we will use that in a moment.

Let’s consider now the drag generated by a control surface. A control surface can be roughly seen as a symmetric wing profile mounted at the trailing edge of the main wing. The flow field around it is defined by the wing, hence its zero deflection is defined as the position such that it doesn’t change the natural direction of the flow field around the main wing.

Any deflection 𝛿 from its zero position, will make the moving surface to face the airflow with a certain angle which is right 𝛿.

(33)

Assuming that flow is laminar, if we plot the drag coefficient 𝐶𝐷 against the angle of attack 𝛿 we can see that the function is approximatively a parabola.

This means that, neglecting the constant, the value of 𝐶𝐷 is proportional to 𝛿2 that implies that

also the drag generated by the control deflector is too. The overall drag generated by the entire set of control surfaces can be expressed as:

𝐷 = ⁡ 𝐷𝛿1+ 𝐷𝛿2+ ⋯ + 𝐷𝛿𝑛

where we supposed that a deflection of a surface does not change the drag of any other control surface. Since 𝐷𝛿𝑖 ∝ ⁡ 𝛿𝑖2, we can also state that:

𝐷 ∝ ⁡ 𝛿12+ 𝛿22+ ⋯ + 𝛿𝑖2

Minimizing the drag of the surfaces means minimizing the summation of all deflections squared. But we already saw before that the sum of all the deflection squared is the 𝑛𝑜𝑟𝑚2(𝑢), thus we obtain the minimum drag from the control surfaces when we minimize

the 2nd norm of the state vector:

𝑚𝑖𝑛(𝑛𝑜𝑟𝑚2(𝑢)) ⁡⁡⁡ → ⁡⁡⁡𝑚𝑖𝑛(𝐷)

Going back to our formulation we might ask: Is it possible to invert the system 𝑚 = 𝐵𝑢 finding, among the infinite allowable solutions, the one that minimizes the 𝑛𝑜𝑟𝑚2(𝑢), thus

the drag of the control surfaces?

The answer is yes and it’s the “Moore Penrose Pseudoinverse”, that leads to the solution: 𝑢 = ⁡ 𝐵𝑇(𝐵𝐵𝑇)−1⁡𝑚

Note that, since 𝐵 is full-of-rank, the inverse of the product 𝐵𝐵𝑇 always exists. You can find a detailed mathematical demonstration of such equation under the chapter Appendix.

It might happen that some control surfaces deflections generate more drag than others.

For example, if we rotate by 1𝑑𝑒𝑔 both the vertical rudder and an aileron, we will surely find that the drag generated by the former is way greater. In fact vertical tail rudders are several times bigger than ailerons. This discrepancy can be also affected by the positioning of a control surface in an aircraft. In any case we know that different surfaces have different weights.

(34)

When we consider the drag of an aircraft we now know that every deflection must be multiplied by a coefficient that represent its importance while deflecting:

𝐷 ∝ ⁡ 𝑎1𝛿12+ 𝑎2𝛿22+ ⋯ + 𝑎𝑛𝛿𝑛2 where (𝑎1, 𝑎2, ⋯ , 𝑎𝑛) are scalar coefficients.

Suppose to reorder the coefficients in a diagonal matrix as follows:

𝑊 = ⁡ [ 𝑎1 0 0 𝑎2 ⋯ 0 0 ⋮ ⋱ ⋮ 0 0 ⋯ 𝑎𝑛 ]

This matrix 𝑊 has also maximum rank. The solution exists also in this case and we have: 𝑢 = 𝑊−1𝐵𝑇(𝐵⁡𝑊−1𝐵𝑇)−1⁡𝑚

Under the assumption that the aircraft operates at a small angle of attack, we can consider the drag force as acting only along the 𝑥 axis of the aircraft, in the negative direction. Let’s consider for a moment the first of the Complementary Equations in high frequency:

𝐷 = 𝐶𝑋,𝛿1𝛿1+ 𝐶𝑋,𝛿1𝛿1+ ⋯ + 𝐶𝑋,𝛿𝑛𝛿𝑛

We must find a relationship between the generic 𝐶𝑋,𝛿𝑖 and 𝑎𝑖 in order to build the weight

matrix.

Let’s look at how the coefficients are derived from a CFD simulation. The software computes two value of drag moving from the zero position.

Moreover we suppose that the drag function is symmetric toward the vertical axis. Therefore we know that:

(35)

That leads to the conclusion that 𝑎𝑖 ∝ 𝐶𝑋,𝛿𝑖 but since we are dealing with an optimization problem we therefore pose 𝑎𝑖 = 𝐶𝑋,𝛿𝑖.

We here considered a way of determining the weight matrices that minimize the drag but the weight of 𝑊 are arbitrary for the user of the algorithm. In the case it is an identity matrix we obtain the same result of the un-weighted Moore Penrose Inverse.

3.6.2 Daisy Chaining -

The main idea behind this algorithm is to use some preferred control effectors to move the aircraft until one is commanded past its limit and then to bring the other controls into solution. Parsifal, for example, was built under the assumption that the division of the control surfaces was similar to the one presented in the previous chapter. This method is therefore of interest. We divide the control effectors into two groups. The first group is called 𝑢𝑚𝑎𝑖𝑛 and include all the control effectors that are to be used all the time. The second group 𝑢𝑎𝑑𝑑 must be used

only if the first group is unable to satisfy the moment demand.

𝑢 = ⁡ { ⁡ 𝑢𝑚𝑎𝑖𝑛 𝑢𝑎𝑑𝑑 ⁡ } Therefore also the matrix 𝐵 will be divided in two:

𝐵 = ⁡ [𝐵𝑚𝑎𝑖𝑛 𝐵𝑎𝑑𝑑]

Although the initial system 𝐵 is over determined the new matrices 𝐵𝑚𝑎𝑖𝑛 and 𝐵𝑎𝑑𝑑 can be also squared or even over-determined.

Suppose that we want to obtain a desired moment 𝑚∗ and we want to find a solution inverting the equation 𝑚∗ = 𝐵

𝑚𝑎𝑖𝑛⁡𝑢𝑚𝑎𝑖𝑛. We have three cases:

- 𝐵𝑚𝑎𝑖𝑛⁡ is under-determined: we invert the equation using the MP pseudoinverse: 𝑢 = 𝑊−1𝐵𝑇(𝐵⁡𝑊−1𝐵𝑇)−1⁡𝑚

- 𝐵𝑚𝑎𝑖𝑛⁡ is squared: We can simply invert the system since 𝐵𝑚𝑎𝑖𝑛−1 exists.

- 𝐵𝑚𝑎𝑖𝑛⁡ is over-determined: The solution that minimize the deviation has a form: 𝑢 = (𝐵𝑇𝐵⁡)−1𝐵𝑇⁡𝑚

In any case, unless 𝑚∗ becomes too big (unattainable), we can still solve the problem just using the first group of control effectors while leaving 𝑢𝑎𝑑𝑑 = 0⃑ . As 𝑚∗ becomes too big we are not able to generate that moment anymore and therefore have to deflect the additional control effectors.

(36)

Having 𝑚∗ too big means that one or more control effectors are beyond their limit position: 𝑢𝑚𝑎𝑖𝑛 = ⁡ { 𝛿1 ⋮ 𝛿𝑖 > 𝛿𝑖,𝑚𝑎𝑥 ⋮ 𝛿𝑛 }

We can proceed in two ways and we will discuss the advantages and disadvantages of both solutions in a later paragraph:

 Scale the solution: We compute the value 𝑎𝑖 = ⁡ 𝛿𝑖⁄𝑢𝛿𝑖,𝑚𝑎𝑥 and then scale the entire vector by that number, preserving the direction of the moment generated:

𝑢𝑚𝑎𝑖𝑛,𝑛𝑒𝑤 = { ⁡ 𝛿1⁄𝑎 ⋮ 𝛿𝑖 ⋮ 𝛿𝑛⁄𝑎 ⁡ }

 Truncate the solution: We simply truncate the value that exceeds the limits:

𝑢𝑚𝑎𝑖𝑛,𝑛𝑒𝑤 = { ⁡ 𝛿1 ⋮ 𝛿𝑖,𝑚𝑎𝑥 ⋮ 𝛿𝑛 ⁡ }

We can choose either one or the other but at the end we will have a new configuration of 𝑢𝑚𝑎𝑖𝑛. The new deflector configuration 𝑢𝑚𝑎𝑖𝑛,𝑛𝑒𝑤 can generate a moment:

𝑢𝑚𝑎𝑖𝑛,𝑛𝑒𝑤⁡𝐵𝑚𝑎𝑖𝑛 = 𝑚𝑚𝑎𝑖𝑛

If we subtract this moment that we already have from the desired one we have the residual moment to generate with the additional control surfaces:

𝑚𝑟𝑒𝑠= ⁡ 𝑚∗− 𝑚 𝑚𝑎𝑖𝑛⁡

Take into account that this is a vector subtraction so 𝑚𝑟𝑒𝑠 is not parallel to 𝑚𝑚𝑎𝑖𝑛 in the case we have truncated the solution.

The additional control surfaces must compensate just 𝑚𝑟𝑒𝑠. We can find a solution inverting the equation 𝑚𝑟𝑒𝑠 = 𝐵𝑎𝑑𝑑⁡𝑢𝑎𝑑𝑑. We have three cases:

- 𝐵𝑎𝑑𝑑⁡ is under-determined: we invert the equation using the MP pseudoinverse: 𝑢 = 𝑊−1𝐵𝑇(𝐵⁡𝑊−1𝐵𝑇)−1⁡𝑚

(37)

- 𝐵𝑎𝑑𝑑⁡ is over-determined: The solution that minimize the deviation has a form: 𝑢 = (𝐵𝑇𝐵⁡)−1𝐵𝑇⁡𝑚

In the case the moment is still unattainable we can again or scale the solution or truncate it. The limitation of such algorithm comes from the fact that once a command is saturated, it simply frozen the entire set of control surfaces while the unsaturated effectors could have been used to further generate the residual moment 𝑚𝑟𝑒𝑠.

3.6.3 Cascaded Generalized Inverse

The Cascaded Generalized Inverse is an extension of the concepts introduced above. The algorithm does not divide the vector 𝑢 into different groups but consider all the effector as if they have the same importance. It can be schematized in the following steps:

1. Given a desired moment 𝑚∗, the algorithm uses a MP pseudoinverse to determine⁡

2. If one or more of the control effectors have to be deflected beyond saturation it is left at the upper limit and it is erased from the problem. Suppose for example to have:

𝑢 = ⁡ { 𝑢1 ⋮ 𝑢𝑖 > 𝑢𝑖,𝑚𝑎𝑥 ⋮ 𝑢𝑛 }

We erase from 𝐵 the column 𝐵𝑖, from the vector 𝑢 we erase 𝑢

𝑖 and we erase also

𝑢𝑚𝑖𝑛,𝑖 , 𝑢𝑚𝑎𝑥,𝑖 and 𝑢̇𝑚𝑎𝑥,𝑖 from their respective vectors and we pose 𝑢𝑖 = 𝑢𝑖,𝑚𝑎𝑥 .

3. Once the 𝑢𝑖 value has been set to its upper limit we can decide to scale the other vectors or to simply just truncate 𝑢𝑖 leaving the others untouched. The procedure is the same described in the “Daisy Chain” paragraph.

4. The algorithm computes the moment generated by the scaled set of vectors: 𝑚𝑠𝑎𝑡 = ∑ 𝐵𝑖

∀𝛿𝑖>𝛿𝑖,𝑚𝑎𝑥

𝛿𝑖⁡

5. The moment generated by the saturated set of controls is subtracted from the desired moment. All the remaining control surfaces must generate that residual moment.

(38)

6. The procedure continue depending on the cases:

- 𝐵⁡ is under-determined: we invert the equation using the MP pseudoinverse: 𝑢 = 𝑊−1𝐵𝑇(𝐵⁡𝑊−1𝐵𝑇)−1⁡𝑚

and the⁡algorithm starts iterating again.

- 𝐵⁡ is squared: We can simply invert the system since 𝐵𝑎𝑑𝑑−1 exists.

- 𝐵⁡ is over-determined: The solution that minimize the deviation has a form: 𝑢 = (𝐵𝑇𝐵⁡)−1𝐵𝑇⁡𝑚

In the last two cases the algorithm stops iterating since it found an univocal solution. In the case that 𝑚∗ is unattainable, it simply scale the results to the maximum value of the moment it can reach.

We here represent the process graphically:

The algorithm starts increasing the value of the surfaces deflection following the preferred path till reaching the saturation of a control effector (reaching one facet of Ω). Then, it starts reallocating the control effectors and follow another path until reaching the saturation of a second control effectors (reaching an edge of Ω). And then continues reaching the desired point.

3.6.4 Attainable and Unattainable Moments

Suppose that the solution 𝑢∗ that we obtained with the Moore-Penrose pseudoinverse is an optimal solution. We will deal with this assumption for the rest of the chapter.

The computation of the aforementioned algorithms must be repeated at each time step. We will now focus on the computation of the time step (𝑡 + 1) knowing the deflection sets at time 𝑡. As you might remember, every deflection is limited by position limits and speed limits. The result is a region in Ω built around the point 𝑢 that we will call I.

(39)

At the next time step the deflection set must be included into this subregion.

All the algorithms used for the control allocation must find a solution that lies in this region. As we will see there are three ways to deal with this problem called respectively “Direction Preserving”, “Nearest Preferred” and “Axis Prioritization”.

Once inverting the 𝐵 matrix using the pseudoinverse, we have three possibilities: - 𝑢 belongs to I:

The inverted system has a solution that can be reached in the time interval 𝑑𝑡. The configuration at 𝑢𝑡+1 is right 𝑢∗ that we just found computing the pseudoinverse.

- 𝑢 does not belong to I but the null space , 𝑢) intersect I:

Even if the optimal solution found is not attainable, there are some other deflections sets that generate the same moment 𝑚∗. The Daisy Chain algorithm and the Cascaded Generalized Inverse offers different ways to find a solution in the intersection between (Ω⊥, 𝑢∗) and I.

- 𝑢 does not belong to I and the null space , 𝑢) does not intersect I:

This is the worst case. There is no way to generate that moment 𝑚∗. To represent this problem graphically let’s consider the image below:

Riferimenti

Documenti correlati

[r]

It follows that the system cannot be stabilized using a static output feedback.. Static

Let us consider the problem of heating steel bars which pass through a oven segmented in n = 5 zones.. , 4,

PARTITION (ROWID) Maps rows to query servers based on the partitioning of a table or index using the rowid of the row to UPDATE/DELETE.. PARTITION (KEY) Maps rows to query

There- fore an important development of the present work would be represented by the implementation of the developed algorithms on GPU-base hardware, which would allow the

If t = 0: one finds (with gaussian elimination, for example) that there are solutions (necessarily infinitely many) if and only if a

Energy consumption should therefore be related to two different kinds of process: the city acts at a first stage as an accelerator of the impact, thereby generating ’growth’ 10 and,

Here- inafter, a novel technique to track cyber-criminal activities on the Internet is proposed, aimed at the acquisition and analysis of information from highly dynamic services