Development of an Automated Testing Tool for Flight
Dynamic Models
Martin Winet 870423-T490 winet@kth.se
Master Thesis
Abstract
Within this project a program is developed that automatically assesses the behavior of flight dynamic models according to flight simulator certification reg-ulations. A basic flight dynamic model is initially provided in Simulink. For this purpose a program structure is proposed that is organized in different
submod-els as libraries. Furthermore a trim algorithm is implemented and autopilots
to automatically perform the required test maneuvers are developed. The cor-responding controller gains are programmatically identified by formulating an optimal control problem.
1
Introduction
2
Method
2.1
Aircraft Flight Dynamic Model
The given flight dynamic model consists of various submodels. Within this section, a short overview of the governing model equations, the model structure and the corresponding submodels is pre-sented.
Coordinate Systems
Different coordinate systems are used throughout the aircraft dynamic simulation model. How-ever, coordinate systems are vastly discussed in a wide range of literature and therefore only a short description about the applied coordinate systems is given here: The aerodynamic forces are expressed as functions of the relative local airflow angle at the center of gravity, to this purpose the stability axis system is used. Furthermore the mass and mass moments of inertia properties are expressed in the body axis system, hence all the applied forces are transformed to the body axis system in order to integrate the equations of motion. Based on the current attitude of the aircraft, the velocities and rotational rates in body axis are transformed to a flat earth reference system and corresponding ground speed and vertical speed is calculated. For navigation purposes the flat earth velocities are transformed into a the WGS84 coordinate system, leading to the current location on the reference ellipsoid. A practical discussion on these relevant coordinate system can be found in [1].
Model Inputs and Controls
The aircraft model inputs are the pilot control inputs column (δc), wheel (δw), pedal (δp), throttle
lever position (δt), flaps lever and gear lever position δf and δg, respectively. The flight dynamic
model however is expressed depending on the control surface deflections (elevator δe, aileron δa
and rudder δr). The control surface deflections are given of functions of the control inputs and
are provided in the form of data tables. Furthermore the flaps and gear are operated by electric actuators with given rates ˙δf and ˙δLG:
δe= f (δc) (1) δa = f (δw) (2) δr = f (δp) (3) δf = Z T 0 ˙δfdt (4) δLG= Z T 0 ˙δLGdt (5) Aerodynamics
sideforece (CY), pitching moment (Cm), rolling moment (Cl) and yawing moment (Cn) which in
turn are functions of the angle of attack α, angle of sideslip β, propeller thrust coeffient CT, height
above ground hA.G.L. and the rotational rates p, q and r.
L = 1 2ρV 2 SCL(α, β, CT, hA.G.L.) (6) D = 1 2ρV 2SC D(α, β, δLG, CT, hA.G.L.) (7) Y = 1 2ρV 2SC Y (β, δr, r) (8) MxRP = 1 2ρV 2 SbCl(β, δr, p, q, r, δa) (9) MyRP = 1 2ρV 2 ScCm(α, β, q, δe, CT) (10) MzRP = 1 2ρV 2SbC n(β, p, q, r, δr) (11)
Where lift and drag forces are defined in the stability axis system. These aerodynamic forces are then transformed to the body axis system by:
Fx Fy Fz aero = sin α 0 − cos α 0 1 0 − cos α 0 − sin α L Y D (12)
The aerodynamic moments at the CG are calculated with the added contributions of the aerody-namic forces at the reference point and the corresponding lever arms ∆xCG−xRP, ∆yCG−yRP and
∆zCG−zRP: Mx My Mz aero = MxRP MyRP MzRP + Fx Fy Fz × ∆xCG−xRP ∆yCG−yRP ∆zCG−zRP (13) Propulsion
The thrust coefficient CT is a mean to represent the strength of the propeller slipstream effect and
is used in the aerodynamic model to express corresponding dependencies. Thrust T and CT are
calculated as a function of the propeller disc areas Sp:
T = q Fx2+ Fy2+ Fz2 (16) CT = T 1 2ρV 22S p (17) Gravity
The gravity force vector is a function of the aircraft’s current bank angle φ, pitch angle θ and mass: Fx Fy Fz grav = − sin θ cos θ sin φ cos θ cos φ mg (18) Aerodynamic Parameters
Since the aerodynamic forces are expressed as functions of the relative flow angles of the air with respect to the aircraft’s longitudinal axis (α and β) and the true airspeed V , these values have to be derived from the velocity components (u, v, w) in the body axis system. Other outputs of interest such as the Mach number, calibrated airspeed (at low Mach numbers) and indicated airspeed are calculated as well. The indicated airspeed is depending on the geometry and the resulting flow field around the aircraft. Hence it is given as a data table depending on the calibrated airspeed.
V =√u2+ v2+ w2 (19) α = tan−1 w u (20) β = sin−1 v V (21) M = V a (22) VCAS ≈ r ρ ρ0 V (23) VIAS = f (VCAS) (24) Track Parameters
For navigation and control purposes track parameters such as the flight path angle γ, rate of climb Vv and ground speed Vg are calculated:
Troposphere Model
According to the ISA standard atmosphere, the temperature reduces linearly with altitude below the tropopause. The pressure reduces exponentially with altitude and is also a function of the temperature lapse rate [6].
T = T0− 0.0065h (28) p = p0 1 −0.0065 T0 h 0.0065Rg (29)
After pressure and temperature at altitude are calculated, the density is derived based on the ideal gas law:
ρ = p
RT (30)
Speed of sound and Mach number are also obtained within the atmospheric model:
a =pγRT (31)
Weight and Balance
For the present model no weight and balance model is given. However for a certain loading condition the corresponding mass (m) mass moments of inertia (Ixx, Iyy, Izz and Ixz) and center
of gravity position are provided.
Equations of Motion
The forces and moments originating from aerodynamic effects, engine and gravity at the center of gravity are summed up:
Fx Fy Fz = Fx Fy Fz aero + Fx Fy Fz prop + Fx Fy Fz grav (32) Mx My Mz = Mx My Mz aero + Mx My Mz prop (33)
The following set of equations describe the six degrees of freedom motion in terms of the state derivatives and are numerically integrated in order to obtain the current states of the aircraft. They are valid for a flat and non-rotating earth and the aircraft is assumed to be represented by a point mass located at its center of gravity. Further discussion and the derivation of this set of equations can be found in [1].
˙ φ ˙ θ ˙ ψ =
1 sin φ tan θ cos φ tan θ 0 cos φ − sin φ 0 sin φ/ cos θ cos φ/ cos θ
p q r (35) ˙u ˙v ˙ w = Fx/m Fy/m Fz/m − p q r × u v w (36) ˙x ˙ y ˙z =
cos θ cos φ cos ψ − sin φ sin ψ cos θ sin φ cos ψ + cos φ sin ψ − sin θ cos ψ − cos θ cos φ sin ψ − sin φ cos ψ − cos θ sin φ sin ψ + cos φ cos ψ sin θ sin ψ
sin θ cos φ sin θ sin φ cos θ
u v w (37) For navigation purposes it is required to model the motion and position of the aircraft on a non-flat earth such as on a reference ellipsoid. To this purpose, the above mentioned set of equations are simply expanded by another equation, leading to the latitude λ, longitude µ and altitude h on a reference ellipsoid (in the present case the WGS 84 reference ellipsoid) when integrated over time [4]. ˙λ ˙ µ ˙h = 1 (Rn+h) cos µ 0 0 0 1 Rm+h 0 0 0 −1 ˙x ˙ y ˙z (38)
Within the WGS 84 world geodetic system, the meridian radius of curvature (Rn) and prime
vertical radius of curvature (Rm) are defined by the semi-major axis RE and the first eccentricity
e and depend on the current latitude µ:
Rn= RE(1 − e2) 1 − e2sin2µ3/2 (39) Rm = RE p 1 − e2sin2µ (40)
2.2
Maneuvers
§ Maneuver Flight Condition
1c(1) Normal Climb Climb
1f(1) Acceleration Approach
1f(2) Deceleration Takeoff
2c(1) Power Change Dynamics Approach
2c(2) Flap Change Dynamics Takeoff, Approach 2c(4) Gear Change Dynamics Takeoff, Approach
2c(5) Longitudinal Trim Cruise, Approach, Landing 2c(7) Longitudinal Static Stability Approach
2c(8) Stall Warning Climb, Approach 2c(9) Phugoid Dynamics Cruise
2c(10) Short Period Dynamics Cruise
2d(2) Roll Response Cruise, Approach 2d(3) Roll Step Input Approach
2d(4) Spiral Stability Cruise, Approach 2d(6) Rudder Response Approach
2d(8) Steady State Sideslip Approach
Table 1: Required maneuvers and flight conditions.
2.3
Trim
Trim Problem
A dynamic simulation model can be expressed in the following general form as function of its states x and inputs u:
˙x = f (x, u) (41)
y = g(x, u) (42)
The model response is then obtained by numerical integration of the temporal state derivatives ˙x. The elements in the output vector y can be composed of arbitrary combinations of inputs and states, depending on the application of the model or the variables of interest. In the case of the present aircraft flight dynamic model instance - that is used for the trimming procedure - the corresponding vectors are:
Furthermore vectors of initial estimates to the solutions are required. The output of the function are the resulting trim states, inputs, outputs and state derivatives. To identify the trim conditions, the trim algorithm uses sequential quadratic programming ([7]) in which the model is linearized at every major iteration step as:
˙x − ˙x0 y − y0 =A B C D x − x0 u − u0 (47)
It follows that a fixed or known variable results in an available equation and a free variable results in an unknown. In order to solve the trim problem, the amount of fixed variables (equations) should be greater or equal to the number of free variables (unknowns) [8].
Steady Level Flight
In a steady level flight, the position and desired heading (λ, µ, h, ψ) are known. Since in a steady level flight the aircraft does not rotate, the rotational rates (p, q, r) as well as their derivatives ( ˙p,
˙
q, ˙r) are 0. Furthermore β and consequently the lateral velocity v as well as the flight path angle and the vertical velocity should be 0. Also the aircraft should fly at a certain defined velocity VIAS. So the variables to be identified are the control deflections, u, w, bank and pitch angle φ
and θ and the derivatives of the latitude and longitude. This leads to the following representation of known and unknown variables (superscripted by “X” and “?” respectively):
u = δt?, δe?, δa?, δr? T (48) x = λX, µX, hX, u?, vX, w?, φ?, θ?, ψX, pX, qX, rXT (49) ˙x = ˙λ?, ˙µ?, ˙hX, ˙uX, ˙vX, ˙wX, ˙φX, ˙θX, ˙ψX, ˙pX, ˙qX, ˙rXT (50) y = VIASX , γXT (51)
Considering the vectors above, there are 20 known variables (equations) and 10 free variables (unknowns), which makes this problem well posed and can be solved by the trim algorithm.
Climb
Descent
In a descent a certain flight path angle is flown at a given speed, resulting in an unknown rate of descent ˙h. Similar as for the cases above, this leads to a set of 18 equations (knowns) and 11 unknown variables: u = δt?, δe?, δa?, δr? T (56) x = λX, µX, hX, u?, vX, w?, φ?, θ?, ψX, pX, qX, rXT (57) ˙x = ˙λ?, ˙µ?, ˙h?, ˙uX, ˙vX, ˙wX, ˙φX, ˙θX, ˙ψX, ˙pX, ˙qX, ˙rXT (58) y = VIASX , γXT (59)
Steady Heading Sideslip
For the required steady heading sideslip maneuvers it is required to deflect the rudder to different deflections. The heading is then held constant by banking the aircraft with the ailerons. This results in the following set of 20 known and 10 unknown variables:
u = δt?, δe?, δa?, δrX T (60) x = λX, µX, hX, u?, v?, w?, φ?, θ?, ψX, pX, qX, rXT (61) ˙x = ˙λ?, ˙µ?, ˙hX, ˙uX, ˙vX, ˙wX, ˙φX, ˙θX, ˙ψX, ˙pX, ˙qX, ˙rX T (62) y = VIASX , γXT (63) The steady heading sideslip maneuver can also be established/trimmed in a climb or descent, by a combination of the previously described trim conditions.
2.4
Reference Flight Conditions
In order to initialize and trim the maneuvers, appropriate reference flight conditions were defined according to the airplane flight manual and are represented in Table 2 [9]. Depending on the flight condition, some values are a result of the trim procedure and can not be specified beforehand, e.g. the flight path angle γ for a climb at 100% power (denoted “A.R.” / as required).
2.5
Controller Design
Control Structure
In order to fly some maneuvers according to the required certification tests, certain controllers are implemented. A description of the used controllers and their notation (used throughout this documentation) are given below.
V → δc Feedback from the indicated airspeed to the column. This controller is used for example
Condition Alt [ft] V [KIAS] Flaps Gear Power [%] γ [◦] Ground 0 0 TO DN 100 A.R. Take-Off 1000 100 TO DN 100 A.R. Climb 3000 90 (vy) UP UP 100 A.R. Cruise 6000 140 (vcr) UP UP A.R. 0 Sideslip 6000 140 (vcr) UP UP A.R. 0 Descent 5000 120 UP UP A.R. -3 Approach 3000 100 TO UP A.R. -3 Landing 1000 85 LD DN A.R. -3
Table 2: Reference flight conditions.
φ → δw Feedback from the bank angle to the wheel. In order to control the heading, a cascaded
feedback loop is used. The corresponding inner feedback control loop is this loop where the bank angle of the plant P is controlled / commanded to achieve a heading change (Figure 1).
ψ → φ Feedback from the heading to a bank angle command. As stated above, the heading is controlled by the use of a bank angle inner loop command. The desired heading is fed back to an inner loop in order to generate in a certain bank angle command that leads to a change in heading. The commanded bank angle is limited by the “saturation” element in Figure 1. β → δp Feedback from beta to the pedals. During most of the flight phases, the sideslip angle
should be kept at zero in order to avoid excessive drag, which is accomplished by the use of the rudder.
γ → δc Feedback from the flight path angle to the column. In some cases the altitude is maintained
by controlling the flight path angle at zero by the use of the elevator.
φ → δp Feedback from the bank angle to the pedal. In the relatively long lasting phugoid maneuver
the bank angle should not change excessively, so that the maneuver can still be considered as a pure longitudinal maneuver without too much interactions from the lateral-directional motion. The control stick is not allowed to be touched during the maneuver in order to avoid interaction in the free longitudinal response. Therefore the bank angle can not be controlled by the use of ailerons but by the pedals.
§ Maneuver Feedback Controller (f rom → to)
V → δc φ → δw ψ → φ β → δp γ → δc φ → δp
1c(1) Normal Climb X X X X
1f(1) Acceleration X X X
1f(2) Deceleration
2c(1) Power Change Dynamics 2c(2) Flap Change Dynamics 2c(4) Gear Change Dynamics 2c(5) Longitudinal Trim
2c(7) Longitudinal Static Stability X X X X
2c(8) Stall Warning X X X X
2c(9) Phugoid Dynamics X
2c(10) Short Period Dynamics 2d(2) Roll Response
2d(3) Roll Step Input
2d(4) Spiral Stability X
2d(6) Rudder Response 2d(8) Steady State Sideslip
Table 3: Manoeuvers and required controllers.
Design Procedure
The general design procedure is to first trim the aircraft at a desired trim point (trim()) and then linearize the aircraft model about desired trim points. Hereto the function linmod() is used that returns a linear time invariant (LTI) state space system defined by the system matrices A, B, C and D. These system matrices are then used to generate the required transfer function from the desired input to the output. Based on this transfer function, linear control analysis tools can be applied to inspect the closed loop response and to tune the controller gains. However, the various controllers are required to perform across different speed ranges and configurations (Table 4). Therefore the controller gains are obtained for every required combination of airspeed and configuration. Finally for each controller average values are chosen that result in adequate performance throughout this controller applicability map. In order to keep the controllers and their implementation as simple as possible, basic proportional-, integral- and derivative (PID) controllers are chosen.
PID Tuning
62 64 80 90 100 120 140 vs1 vs0 va−20 vy va va+20 vc V → δc climb cruise approach φ → δw climb cruise approach ψ → φ climb cruise approach β → δp climb cruise approach γ → δc climb cruise approach φ → δp climb cruise approach
Table 4: Controller applicability depending on configurations and airspeeds in knots.
an impulse input is defined [5]:
J (Kp, Ki, Kd) = Z t 0 |ystep(t) − 1| dt + Z t 0 |yimpulse(t)| dt (64)
This function is minimized using Matlab’s fmincon() minimization algorithm, resulting in an estimated optimal set of gains for the desired controller.
3
Results
3.1
Trim
0 0.5 1 -10 0 10 Phi [deg] 0 0.5 1 -10 0 10 20 Theta [deg] 0 0.5 1 80 90 100 Psi [deg] 0 0.5 1 910 920 930 Alt [m] 0 0.5 1 80 90 100 IAS [kt] 0 0.5 1 -10 0 10 20 AoA [deg] 0 0.5 1 Time [s] -5 0 5 AoS [deg] 0 0.5 1 Time [s] 0 10 20 Gamma [deg]
Figure 2: Climb trim condition.
0 0.2 0.4 0.6 0.8 -10 0 10 Phi [deg] 0 0.2 0.4 0.6 0.8 -10 0 10 20 Theta [deg] 0 0.2 0.4 0.6 0.8 80 90 100 Psi [deg] 0 0.2 0.4 0.6 0.8 1800 1850 Alt [m] 0 0.2 0.4 0.6 0.8 100 150 IAS [kt] 0 0.2 0.4 0.6 0.8 -10 0 10 20 AoA [deg] 0 0.2 0.4 0.6 0.8 Time [s] -5 0 5 AoS [deg] 0 0.2 0.4 0.6 0.8 Time [s] -10 0 10 Gamma [deg]
0 0.5 1 -10 0 10 Phi [deg] 0 0.5 1 -10 0 10 20 Theta [deg] 0 0.5 1 80 90 100 Psi [deg] 0 0.5 1 910 915 Alt [m] 0 0.5 1 80 100 120 IAS [kt] 0 0.5 1 -10 0 10 20 AoA [deg] 0 0.5 1 Time [s] -5 0 5 AoS [deg] 0 0.5 1 Time [s] -10 0 10 Gamma [deg]
Figure 4: Approach trim condition.
3.2
Controllers
Each controller gain is identified at a certain design point and the performance is checked across the required speed range and configurations. Figure 5 shows as an example a step and impulse response of the identified feedback controller from the column to the indicated airspeed in a climb.
0 1 2 3 4 5 0 0.2 0.4 0.6 0.8 1
1.2 From: col To: Out(1) Step Response Time (seconds) Amplitude 0 1 2 3 4 5 -5 0 5 10 15 20 25 30
35 From: col To: Out(1) Impulse Response
Time (seconds)
Amplitude
Figure 5: Step and impules response for the feedback controller from δc to VIAS.
Controller Kp Ki Kd V → δc -0.0438 -0.0064 -0.0750 φ → δw 0.3900 0.0856 0.0410 ψ → φ 1.0000 0.0000 0.0000 β → δp 2.0000 0.0500 0.0000 γ → δc 0.6890 0.6610 0.0000 φ → δp -0.3680 -0.0516 -0.0619
Table 5: Applied controller gains.
0 10 20 30 40 -50 0 50 Phi [deg] 0 10 20 30 40 -10 0 10 20 Theta [deg] 0 10 20 30 40 0 200 Psi [deg] 0 10 20 30 40 800 1000 1200 Alt [m] 0 10 20 30 40 60 80 100 120 IAS [kt] 0 10 20 30 40 -10 0 10 20 AoA [deg] 0 10 20 30 40 Time [s] -20 0 20 AoS [deg] 0 10 20 30 40 Time [s] -10 0 10 20 Gamma [deg]
Figure 6: Turn in climb δc to VIAS.
Table 5 presents the identified controllers based on the previously described method. To avoid the estimation of ideal gains for the ψ → φ-controller, a simple proportional controller with gain 1 is used, which corresponds to a bank angle command of 1◦ per 1◦ of heading error.
3.3
Program Structure
Model Overview
Figure 7: Model structure.
Program Flow
Figure 8: Program flowchart.
initialize() Initializes all the aircraft dynamic model data, such as the aerodynamic database.
getTestInfo() Returns a struct array with the required parameters for each test. These are: Test ID, trim flight condition, required controllers and time histories of the inputs, required outputs for the report.
iniCon() Returns the required input vectors for the trim algorithm; namely initial values for the states, state derivatives, inputs and outputs as well as index vectors of which state, state derivative, input and output is to be held fixed for the trim algorithm.
trim() The Matlab trim routine that returns vectors of the identified trim states and inputs. getInputs() Returns time history vectors of the inputs based on the individual test and the result
getControllers() Sets the required controller gains.
runTest() Runs the Simulink model using the Matlab sim() function.
storeOutputs() Stores all the simulation outputs in a struct array.
report() Generates a report based on the selected outputs for each maneuver.
3.4
Maneuvers
0 100 200 300 -50 0 50 Phi [deg] 0 100 200 300 0 20 40 Theta [deg] 0 100 200 300 0 200 Psi [deg] 0 100 200 300 1800 1850 1900 Alt [m] 0 100 200 300 0 100 IAS [kt] 0 100 200 300 -10 0 10 20 AoA [deg] 0 100 200 300 Time [s] -20 0 20 AoS [deg] 0 100 200 300 Time [s] -10 0 10 20 Gamma [deg]
Figure 10: Phugoid dynamics (cruise).
0 20 40 60 -50 0 50 Phi [deg] 0 20 40 60 -10 0 10 20 Theta [deg] 0 20 40 60 0 200 Psi [deg] 0 20 40 60 600 800 1000 Alt [m] 0 20 40 60 90 100 110 120 IAS [kt] 0 20 40 60 -10 0 10 20 AoA [deg] 0 20 40 60 Time [s] -20 0 20 AoS [deg] 0 20 40 60 Time [s] -10 0 10 20 Gamma [deg]
0 5 10 15 -50 0 50 Phi [deg] 0 5 10 15 -10 0 10 20 Theta [deg] 0 5 10 15 0 200 Psi [deg] 0 5 10 15 1600 1800 2000 Alt [m] 0 5 10 15 0 100 IAS [kt] 0 5 10 15 -10 0 10 20 AoA [deg] 0 5 10 15 Time [s] -5 0 5 AoS [deg] 0 2 4 6 Time [s] 0 10 20 Gamma [deg]
Figure 12: Roll response (cruise).
0 5 10 15 20 -5 0 5 Phi [deg] 0 5 10 15 20 -4 -2 0 Theta [deg] 0 5 10 15 20 80 90 100 Psi [deg] 0 5 10 15 20 850 900 950 Alt [m] 0 5 10 15 20 80 100 120 IAS [kt] 0 5 10 15 20 0.5 1 1.5 AoA [deg] 0 5 10 15 20 Time [s] -5 0 5 AoS [deg] 0 5 10 15 20 Time [s] -4 -2 0 Gamma [deg]
Figure 13: Rudder response (approach).
4
Discussion
The trim routine performs well under most required conditions. However, it is observed that at speeds close to the stall speed the trim algorithm does not converge, although a trimmed flight condition just above the stall speed should be possible. The reason is assumed to be due to the aerodynamic drag data, that might not accurately represent the aircraft’s behavior at high angles of attack and might overpredict the drag force. Thus the engine can not deliver the required thrust in order to ensure a steady state solution.
trim algorithm converges. Nevertheless a single set of controller gains is sufficient to perform the required maneuvers and more advanced methods such as gain scheduling based on aircraft configuration and airspeed can be omitted at this stage.
It is possible to programmatically identify controller gains by the implemented method, even though the most simple case of a cost function based on the integrated step and impulse response error for the controller identification is assumed. More sufficient cost functions taking into account other parameters such as the amount of oscillations after a step input and the maximum overshoot as well as a weighting on the different contributions are suggested in [5]. Furthermore the inclusion of frequency domain parameters such as phase and gain margin can be helpful. Matlab’s internal pidtune() function also contains some more advanced cost functions and can be used for the purpose of PID controller design.
5
Conclusion
A program has been implemented that performs the required certification tests for a level 5 FTD simulation model. To this purpose the initial model was modified to generate additional outputs and the general model structure was slightly re-organized using Simulink libraries to make it more flexible for different implementations or applications. The the implemented trim algorithm that wraps around Matlabs trim() function performs well within the flight envelope according to the airplane flight manual. The discovered issue, that the model is not trimmable close to the stall speed, has limited the identification of the controller gains that are required for certain maneuvers. However it was possible to implement controllers that are identified at a general trim point and show adequate off-design performance. Hence only one set of controllers is implemented valid across the complete airspeed range and for all configurations. A disadvantage of this implementation is that it makes the developed program only usable for the underlaying aircraft, all controller gains would need to be re-adjusted in case it is required to perform the same tests for a different aircraft. This issue could be solved by introducing inner state feedback loops for pole placement: In this way it would be possible to use the same outer loop feedback gains on different aircraft of a similar family, provided that with a proper selection of the inner loop gains their dynamic characteristics are made equal.
References
[1] Bernard Etkin, Lloyd Duff Reid, Dynamics of Flight. Stability and Control, Third Edition, 1996.
[2] Royal Aeronautical Society, Aeroplane Flight Simulator Evaluation Handbook. International Standards for the Qualification of Aeroplane Flight Simulators, ISBN 1857681541, 2005.
[3] Federal Aviation Administration,
Title 14, CFR Part 60. Consolidated Version, March 10, 2015.
[5] R. Matousek, P. Minar, S. Lang, P. Pivonka, Efficient Method in Optimal PID Tuning, Pro-ceedings of the World Congress on Engineering and Computer Science 2011 Vol I, 2011.
[6] International Civil Aviation Organization, Manual of the ICAO Standard Atmosphere, Doc 7488, 1993.
[7] Mathworks, Constrained Nonlinear Optimization Algorithms,
https://www.mathworks.com/help/optim/ug/constrained-nonlinear-optimization-algorithms.html, 22.07.2016
[8] Pierluigi Capone, Lecture Notes on Aircraft Control Systems, Trim Algorithm, Zurich Uni-versity of Applied Sciences, 2015.