Professional Documents
Culture Documents
MASTER’S THESIS
3
Acknowledgments
This Master’s Thesis project would not have been possible without the support of many
people. The author wishes to express his gratitude to his supervisor, Dr. Samir Bennani
who was abundantly helpful and offered invaluable assistance, support and guidance and
to all the GNC section team especially to Dr. Guillermo Ortega for his support and help.
The author also wishes to express his gratitude to all the stagiaires and trainees that made
his stay in the Netherlands so incredible.
Special thanks to Marine Parahy and to all his friends from the ETSEIB and SU-
PAERO that brought an inestimable support during these years.
The author wishes to express his love and gratitude to his beloved family members
Eduardo, Josefina and Javier; for their understanding and endless love, through the dura-
tion of his studies.
5
Abstract
This study has been developed in the European Space Research and Technology Centre
(ESTEC) in the TEC-ECN section.
The purpose of this study is to design a robust controller for the thrust vector control
of the VEGA launcher using the µ − synthesis design. To reach this objective a first study
of the equations of motions together with the impact and effect of a classical controller
will be done.
The studied model will include the rigid body motions together with three bending
modes. To get the desired performances it will be necessary to design three different con-
trollers. One for the rigid body behaviour, another for filtering the bending modes and
a last one to reduce the angle of attack. In practice the filter for the bending modes is
designed by knowing the shape that it should have, without taking the requirements into
account. Using a µ − synthesis design for the filter definition the requirements introduced
by the weighting functions are satisfied in the better way.
The main part of the study will be carried out for the pitch axis. However, at the
end of this study a model taking the coupling between pitch and yaw into account will be
presented simultaneously with a controller being able to stabilise overall
7
Contents
1 Introduction 17
1.1 Main Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Study Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3 System Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.1 The Vega Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.2 System elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Scientific context 32
2.1 Technical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.1 General requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.2 Problems of launchers control . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Control laws used in launch vehicles . . . . . . . . . . . . . . . . . . . . . . 37
3 Classical controller 40
3.1 Launch Vehicle Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.1 Impact of Kp and Kd . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.2 Finding the value of Kp and Kd . . . . . . . . . . . . . . . . . . . . 43
3.1.3 System Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2 Complete Rigid Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 α feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 z feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.3 ż feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.4 ż + z feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3 Flexible Launch Vehicle Dynamics . . . . . . . . . . . . . . . . . . . . . . . 64
3.3.1 Bending modes impact . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4 Robust Control 68
4.1 Uncertainty Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1.1 Kp and Kd as a function of a6 . . . . . . . . . . . . . . . . . . . . . 68
4.1.2 Using the PD controller defined by slides . . . . . . . . . . . . . . . 68
4.2 Building a new synthesis model . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.1 Weighting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Robustness Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1 Robust Stability And Performance . . . . . . . . . . . . . . . . . . . 78
9
4.3.2 Worst Case Performance and Skew µ . . . . . . . . . . . . . . . . . 79
4.4 Rigid Body controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.5 Bending Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6 Drift control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.7 One controller for all the Pay Loads . . . . . . . . . . . . . . . . . . . . . . 90
4.8 Time simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5 Multi-axis controller 93
5.1 Problems due to the coupling . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 Building the system model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3 Designing a new controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.4 Bending modes and drift control . . . . . . . . . . . . . . . . . . . . . . . . 101
5.4.1 Bending modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.5 Limitations of this approach . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
E Robustness 138
E.1 Robustness of the classical controller . . . . . . . . . . . . . . . . . . . . . . 138
E.2 Robustness of the µ − synthesis controller . . . . . . . . . . . . . . . . . . . 140
10
List of Figures
11
LIST OF FIGURES
B.1 Comparison of the step response before and after using the PD optimization tool 119
Acronyms
AV U M Altitude and Vernier Upper Module
COG Center Of Gravity
COP Center of Pressure
EOM Equations of Motion
GM Gain Margin
DM Delay Margin
PM Phase Margin
IM U Inertial Measurement Unit
LT I Linear Time Invariant
LT V Linear Time Varying
LP V Linear Parameter Varying
LV Launch Vehicle
SISO Single Input Single Output
M IM O Multi Input Multi Output
P ID Proportional Integral Derivative
RHP Right Half Plane
RS Robust Stability
RP Robust Performance
TV C Thrust Vector Control
List of Symbols
A Aerodynamic center of pressure
−D
a1 = Lα +T
m
Lα
a2 = mU
T
a3 =m
a4 = mEmℓEC
a5 = mE ℓECJ·lyCG +JE
a6 = CzαJyℓGA
C Nozzle pivot point
CA Coefficient of axial aerodynamic force
CLα Lift Coefficient derivative
CN α Coefficient of normal aerodynamic force slope w.r.t. the incidence
Cnα Local coefficient of z-aerodynamic force slope w.r.t. the incidence
D qSCx
F Aerodynamic force
FA Aeroelastic force
G Center of mass of the entire launcher
N Center of mass of the nozzle
JL Launcher inertia without nozzle w.r.t. G
JE Nozzle inertia w.r.t. C
k1 = T ℓJCG
y
ℓ Curvilinear coordinate from the head and positive in backward direction
L Vehicle length
ℓOA Distance between O and A
ℓOC Distance between O and C
ℓOP Distance between O and the payload center of mass P
ℓCG Distance between C and G
ℓGA Distance between G and A
ℓGS Distance between G and S
ℓGU Distance between G and U
ℓEC Distance between N and C
ℓIM U Distance between vehicle head and the Inertial Measurement Unit (IMU)
Lα = qSCNα
m Total mass
| Mc Control torque about C for the nozzle rotation
mE Nozzle mass
mL Launcher mass without nozzle
O Origin of the body frame
q = 12 ρU 2
qh The generalized coordinate
Qh The generalized forces
S Reference surface
T Thrust
U Longitudinal Speed
Ur Air relative longitudinal speed
w Wind disturbance
Wind Wind vector
[G; xt ; yt , zt ] Trajectory reference frame
[G; xb ; yb ; zb ] Body fixed reference frame
[O; x, y, z] Launch Vehicle (LV) geometric reference frame
Matrices
Af Flexible state matrix
Ar Rigid state matrix
Bf Flexible control matrix
Br Rigid control matrix
Cf Flexible output matrix
Cr Rigid output matrix
Df Flexible feed-through matrix
Dr Rigid feed-through matrix
Introduction
World of controllers design is very huge, complex and hard to understand. Each
machine with a minimum level of mechanical complexity and some autonomy needs a
controller to guarantee a good behaviour and stability. Nowadays different controller
techniques design exist, including a lot of variations but it is true that depending on the
machine or the system that needs to be controlled one or another procedure can be chosen.
However, when control theory started, the way to avoid the open-loop problems was intro-
ducing feedbacks to control some outputs. The main objective was to stabilise the system
and to guarantee some performances but without looking things like robustness. Systems
were not very complex and perhaps the need to look for robustness was not yet born.
Results were good and with some classical controllers like a PID (Proportional Integral
Derivative) 90% of problems were solved and still do.
In the late 70’s early 80’s robust control was born and a new set of techniques with it.
Since then, complexity of mechanisms never stop growing and consequently an evolution
in the requirements appeared. Nowadays, systems have to satisfy some performances, be
stable and allow uncertainties in some parameters. For not very well-known, complex or
critical systems (like for example a launch vehicle) this is very important.
Current Launch Vehicles (LV) typically use classical controllers but since mass, thrust and
aerodynamic properties of the LV are varying all the time use of Gain Scheduling is neces-
sary. This procedure (using a classical controller) is cost expensive and has no robustness
at all. As it will be proved, a classical controller is designed in a linearised point of time
domain and do not support any uncertainties in the design. Even more, a variation in
the nominal design value stability cannot be guarantee. This is why robust concept is so
important and necessary in systems like a LV where there are not only some known time
varying parameters but there are also some unknown time varying parameters like wind
speed for example.
In addition LV are flexible structures with their own bending modes that can induce to
instability. To avoid this problems, bending modes are filtered. Nevertheless, this filter
design is usually done by a previous experience without taking into account system per-
formances.
17
CHAPTER 1. INTRODUCTION
Making a robust controller using the µ − synthesis algorithm present the main draw-
back of the non-convexity of the algorithm. That means there is no way to guarantee an
optimal result. The second problem will be the definition of the weighting functions, used
for the synthesis model of the robust controller. To define this functions it is important
to first, have an idea of the desired closed-loop shape of the system and second, to adjust
the gains of all them to achieved the desired level of performances and robustness. It is
a trial and error process where the experience of the designer and his know-how has an
important role.
This problem was not only present for the design of the controller but it also was
an important constraint for the time simulations too where the controllers were always
reduced.
1. The methodology of this study is focused in the progressive increase of the model
complexity together with the controller complexity. Starting from a very simple
two states rigid body model with a PD controller and evolving until reaching a
multi-axes controller considering the rigid body dynamic with roll coupling, bending
modes and the TVC actuator. This procedure, starting from the most simple model
and evolving into a complex one, will allow to introduce the basic notions of launch
vehicles and to increase the complexity of the system gradually making the impact of
each new element introduced together with the interaction between all the elements
easier to understand. This kind of approach allows to manage a complex problem
like a multi-axis controller design in a more familiar and easy way.
2. First it is necessary to understand what is a Launch Vehicle and what kind of be-
haviour has, so a first study of the equations of motion together with the requirements
(to know what kind of result can be expected) is necessary. From this study one
may define the basic synthesis model to start working with, together with a list of
specifications to be satisfied by the system.
3. With this first model a first classical and basic controller is implemented in order
to see how the system reacts and what are the different response and behaviours
for different inputs and perturbations. The effect of the classical controller (a PD
controller) is studied and it will be used as a way to reach more complex and re-
alistic models. It will allow to have some orders of magnitude of the possibilities
introduced by a controller in the system, i.e error and drift minimization, angle of
attack reduction, etc. On the other hand, all the results obtained with the classical
controller will be used as a reference to the ones obtained by the robust controller.
4. Taking the same equations used in the classical controller and the desired per-
formances, a robust controller is designed. This controller is designed using the
µ − synthesis technique and the results are compared with the ones obtained with
the classical controller to show the advantages of a robust controller in front of the
classical controller. One critical point while designing the robust controller is the
definition of the weighting functions. This will be managed thanks to the knowledge
of the system behaviour, acquired during the study and implementation of a classical
controller. With the weighting functions defined, a first controller is designed and in
function of the performances achieved, the weighting functions will be modified. It is
a trial and error process but knowing the effect produced in the system when modi-
fying the weighting functions, a good solution can be found quickly. The robustness
results of each controller are compiled in annex E.
5. Once the one axis controller is done a new study will be performed introducing
the basis for the multi-axes situation. First of all, the rigid body dynamics will be
reviewed because when introducing the multi-axes there are some couplings effects to
add to the equations. After modifying the rigid body dynamics and using the results
and the knowledge from the classical and the robust controller, a new controller
will be designed in a robust way using the µ − synthesis technique and taking the
roll-coupling into account.
6. For the classical controller and for the robust controller in one axis a rigid body
control is done first, then the bending modes are taken into account and a drift
control is done at the end. For the drift control design, the bending modes are not
taken into account.
7. For each controller designed a complete time simulation is done. All the plots can
be found in annex D
The Vega Launcher was developed within a European Program organised under the
aegis of the European Space Agency. The launcher’s prime contractor is ELV S.p.a, a joint
company of Fiat Avio and the Italian Space Agency (ASI) but it also has the support of
Belgium, the Netherlands, Spain, Sweden, Switzerland and France. Although there is a
growing tendency for satellites to become larger, there is still a need for a small launcher to
place 300 to 2000 kg satellites, economically, into the polar and low-Earth orbits used for
many scientific and Earth observation missions. Europe’s answer to these needs is Vega,
named after the second brightest star in the northern hemisphere. Vega makes access to
space easier, quicker and cheaper.
Costs are being kept to a minimum by using advanced low-cost technologies and by
introducing an optimised synergy with existing production facilities used for Ariane launch-
ers. Vega has been designed as a single body launcher with three solid propulsion stages
and an additional liquid propulsion upper module used for attitude and orbit control, and
satellite release. Unlike most small launchers, Vega will be able to place multiple payloads
into orbit. Development of the Vega launcher started in 1998. The first launch is planned
for December 2011 from Europe’s Spaceport in French Guiana where the Ariane-1 launch
facilities have been adapted for its use.
History
The origins of the Vega program go back to the early 90th, when some studies were
performed to investigate the possibility of complementing the Ariane family with a small
launch vehicle using Ariane solid booster technology. Vega began as a national Italian
concept. BPD Difesa y Spazio in 1988 proposed a vehicle to the Italian Space Agency to
replace the retired US Scout launcher by a new one based on the Zefiro motor developed
from the company’s Ariane expertise.After about ten years of definition and consolidation
activities, the Italian Space Agency and Italian industry proposed Vega as a European
project based on their know-how in solid propulsion taken from development and pro-
duction Ariane 4 solid strap-on boosters (PAP) and components of the Ariane 5 solid
strap-on boosters (EAP). In April 1998, ESA’s Counsil approved a Resolution authorizing
pre-development activity. As a result, the present configuration was chosen with first stage
that could serve also as an improved Ariane-5 strap-on. The Vega program was approved
by ESA Ariane Programme Board on 27-28 November 2000, and the project officially
started on 15 December 2000 when seven countries subscribed to the Declaration.
The Vega Launcher has four stages : three with solid rocket motors and one liquid
propellant stage. The term stage is used to refer to a complete element of a launch
vehicle. By complete element is meant propellant tanks, one or more engines and electrical,
mechanical and fluid equipment.
1. Phase I: Ascent of the first three stages of the LV into the low elliptic trajectory
(sub-orbital profile);
2. Phase II: Payload and upper stage transfer to the initial parking orbit by first AVUM
burn, orbital passive flight and orbital manoeuvres of the AVUM stage for payload
delivery to final orbit;
Phase I: Ascent of the first three stages The flight profile is optimized for each
mission. It is based on the following flight events:
• 1st stage flight with initial vertical ascent, programmed pitch manoeuvre and a zero-
incidence flight;
• 3rd stage flight, fairing separation and injection into sub-orbital trajectory.
The typical Vega three-stage ascent profiles and associated sequence of events are shown
in figure 1.3
Phase II: AVUM flight profile After third stage separation at the sub-orbital tra-
jectory the multiple AVUM 1 burns are used to transfer the payload to a wide variety of
intermediate or final orbits, providing the required plane changes and orbit raising. Up to
5 burns can be provided by the AVUM to reach the final orbit or to deliver the payload
to different orbits. Additionally, at the first burn, AVUM can provide the compensation
of up to 3σ errors accumulated during the first three stage flight.
1
The AVUM is the 4th multifunctional stage of the Vega launch vehicle that is designed to pilot the
first three stage flight, to finalise orbit injection, to increase injection accuracy and to provide orbital
manoeuvres and payload separation.
Rigid Body
The rigid LV dynamics are not the only motion that will appear in the final EOM, but
are also interesting on their own since they can be used to make preliminary considerations
as regards to controller design.
One can start the derivation of the EOM by considering the forces and torques that
act on the LV during its atmospheric flight. These are shown in figure 1.4 in which the LV
is depicted as ascending along a predetermined trajectory. The reference frames, angles,
forces, torques, etc. appearing in figure 1.4 are the following:
α = arctan( żbẋ−W
b
) angle of attack w.r.t. the x-body axis
U velocity vector
W wind vector
U air relative velocity
FA aerodynamic force applied at the aerodynamic point A
T thrust
FE engine nozzle inertia force
ME engine nozzle inertia torque
mg weight
Gravity One force present all over the flight is gravity. The force of gravity will be
present in axes x and z. The expression of this force resolved along the body axes is
Thrust The thrust due to the rocket engines is one of the major forces acting on the LV
during its flight. Swivelling of the thrust vector is also the primary means by which the
LV attitude is controlled.
FT x = T (t) cos(δ)
FT z = −T (t) sin(δ) (1.2)
MT = −T (t)ℓCG sin(δ)
where ℓCG is the distance between the nozzle swivel point C and the center of gravity G.
Equation A.15 emphasize that the thrust is a function of time.
Aerodynamic Forces and Torques The interaction between the LV and the atmo-
sphere in which it flies generates aerodynamic forces and torques. This interaction is only
significant during the early stages of flight and typically has a destabilizing effect on the
LV dynamics.
The forces and torques due to aerodynamic loads will be derived using quasi-steady-
state aerodynamic theory. The aerodynamic components of interest for plane (pitch)
motion are given by (Axial and Normal):
FAx = −q(t)SCA
FAz = −q(t)SCN (1.3)
MAy = q(t)SCN ℓGA (t)
S reference surface
Where it was assumed that FAx and FAz act in the negative xb and zb directions respec-
tively as shown in figure 1.4. It is important to emphasize that the dynamic pressure q
and the distance ℓGA between the aerodynamic center and the COG both depend strongly
on time.
Since the LV is not a lifting body there are no intrinsic aerodynamic torques, so that
the expression of the aerodynamic torque in equation A.16 has the very simple expression
of a force times a length. Furthermore, FAx is simply the aerodynamic drag which is essen-
tially independent from perturbations. Instead, the CN coefficient appearing in equation
A.16 is typically a function of the angle of attack α, its rate α̇ and the pitch rate θ̇. A
linear dependence of CN with respect to some steady state values of the aforementioned
variables, can be obtained by classical Taylor series, where the coefficients of the series
are the classical stability derivatives. For LV having little or no lifting surfaces the only
stability derivative of real importance is typically the one associated with α, which we
denote with CN α = ∂CN /∂α. This stability derivative is, however, a function of Mach for
transonic and supersonic speeds. Furthermore, in the case of long slender LV, CN α is a
function of position along the vehicle, CN α (x) is therefore written that way to emphasize
this fact.
In order to completely define FAz one can start by introducing the local angle of attack
for the rigid/flexible LV,
(ℓOG − x) ˙ t)
∂ξ(x, t) ξ(x,
αloc (x) = α + θ̇ − − (1.4)
U ∂x U
where α = arctan((żb − W )ẋb ), ℓOG is the distance between the origin and the center of
gravity of the LV and ξ(x, t) is the displacement due to the bending modes.
Since both CN α (x) and αloc (x) depend on x the whole expression must be integrate on
the whole length L of the LV in order to obtain the desired expression of the aerodynamic
force. This gives:
∫ L
1
FAz = − ρU 2 S CN α (x)αloc (x) dx
2 0
(∫ L ∫
1 2 1 L
= − ρU S CN α (x) dx α + CNα (x)(ℓOG − x) dx θ̇ (1.5)
2 0 U 0
)
∑∫ L ∑ 1 ∫ L
+ CNα σi (x) dx qi (t) − CNα ϕi (x) dx q̇i (t)
0 U 0
i i
The last two terms in equation 1.5 represent the aeroelastic terms.
Rigid Launch Vehicle Dynamics The equations of the rigid motion, written with
respect to the the body axes [G; xb , yb , zb ], are given in vector form by:
MG = I ω̇
(1.6)
FG = m(V̇ + ω × V )
where FG and MG are the forces and torques; m and I are mass and moment of inertia
and V and ω are the linear and angular velocity respectively. All the aforementioned
quantities are considered relative to the center of gravity of the whole LV system.
By the moment only the motion of the LV in the x−z plane is considered and accepting
an axial symmetry of the LV, the equation1.6 can be specialized to:
Iyy θ̈ = MG
m(ẍb + θ̇b żb ) = Fx (1.7)
m(z̈b − θ̇b ẋb ) = Fz
where V = [ẋb , 0, żb ]T and ω = [0, θ̇b , 0]T . Coupling between pitch and yaw will be intro-
duced in 2.1.2
Above equations were written assuming that the variations of the mass (m) and mo-
ment of inertia (Iyy ) with respect to time are small compared to the dynamics of interest.
In order to obtain the final form of the EOM one must define the forces and torques
that appear in the above equation. Due to the fact that the LV typically flies at very small
angles of attack αmax , one can assume that the normal and axial aerodynamic forces are
just the lift and drag respectively.
MG = ℓGA Lα α − T ℓCG sin δ
Fx = T cos δ − D − mg sin(θb ) (1.8)
Fz = −Lα α − T sin δ + mg cos(θb )
where Lα ≃ qSCN α , D ≃ qSCA and the angle of attack is given as α = arctan( żbẋ−W
b
).
Combining the equations 1.7 and 1.8 together:
Iyy θ̈b = ℓGA Lα α − T ℓCG sin δ
m(ẍb + θ̇b żb ) = T cos δ − D − mg sin(θb ) (1.9)
m(z̈b − θ̇b ẋb ) = −Lα α − T sin δ + mg cos(θb )
The above equations can be rewritten in a more LV ”traditional” way by introducing the
aerodynamic parameter a6 = LαIyy
ℓGA
and the controllability parameter k1 = T ℓJCG
y
so that
the equation1.9 becomes:
θ̈b = a6 α − k1 sin δ
T cos δ − D
ẍb = − g sin θb − θ̇b żb (1.10)
m
Lα T
z̈b = − α − sin δ + g cos θb + θ̇b ẋb
m m
The nominal variations with time of the aerodynamic parameter a6 and the controllability
parameter k1 are shown in 1.5.
3.5 0.2
3 0.18
0.16
2.5
0.14
2
A6
K1
0.12
1.5
0.1
1
0.08
0.5 0.06
0 0.04
10 20 30 40 50 60 70 80 90 10 20 30 40 50 60 70 80 90
time time
For control synthesis purposes it is necessary to linearise the rigid body motion of the
LV about a trajectory fixed reference frame and to obtain a perturbed motion about the
reference trajectory, given by a time scheduled look-up table. Introducing the transforma-
tion matrix from the body rates to the local-level coordinates:
[ ]
LO cos θ sin θ
[T ] = (1.11)
− sin θ cos θ
Writing the body states in term of reference variables and assuming small angles the
linear perturbed equations of motions become:
∆θ̈ = a6 ∆α − k1 ∆δ
( )
Lα T
∆ẍ = − αL + δL θ (1.13)
m m
T −D Lα T
∆z̈ = θ− ∆α − ∆δ
m m m
Bending Modes
A schematic of the deflected shape of the vehicle in the pitch plane is shown in 1.6.
The elastic deflection at any point along the vehicle is given by
∞
∑
ξ (x, t) = qi (t) ϕi (x) (1.14)
i=1
where x is the abscissa along the LV longitudinal axis shown in 1.6, ϕi denotes the mass
normalized ith mode shape in the pitch plane. Finally, qi is the generalized coordinate of
ith mode which satisfies the equation:
not only the rigid body motion (the principal quantity interesting for trajectory following)
but also the local elastic distortion at the IMU location ℓOU .
The local rotation due to the bending modes produces an output of the IMU simply
given by :
∑
∂ξ(x, t) ∂ϕi (x)
θimu = θ − =θ− qi (t)
∂x x=ℓOU ∂x x=ℓOU
i
∑ (1.19)
=θ− qi (t)σi (ℓOU )
i
As can be observed in equation 1.19 each mode gives a contribution θi to rotation output
of the IMU given by,
θi = qi (t) σi (ℓOU ) (1.20)
It is possible thus to consider the transfer function from the excitation of the mode
given by δ to the output at the IMU for the ith mode:
[ ]
∂ϕ(ℓOC )
θi m ℓ ϕ (ℓ
E EC i OC ) − JE ∂x s2 + T ϕi (ℓOC )
= σi (ℓOU ) (1.21)
δ s2 + 2ζi ωi s + ωi 2
If the engine inertia effects are neglected the above expression simplifies to
TVC actuator
The dynamic performance of the TVC/Nozzle assembly can be represented as two
serial connected transfer functions: a second order model for simulating the nozzle and a
pure delay for the actuator response:
e−T s
WT V C (s) = (1.23)
B2 s2 + B1 s + B0
Nevertheless, the simulated TVC will omit the time delay.
Scientific context
The main point of this study is to design a robust controller for the TVC control, a
filter for the bending modes and to take the coupling between pitch and yaw into account.
However, it is good to take a look to the actual scientific context about this matter not
only to take some references and ideas but also to see the possible deficiencies and how
this study can contribute.
• Tracking and drift minimization : This point is quite important for the mission suc-
cess since a launcher not following the desired trajectory, even stable, is useless.
31
CHAPTER 2. SCIENTIFIC CONTEXT
When the launcher enters in the maximum dynamic pressure it is more important
to keep the launcher structurally safe than guarantee any tracking.
∆ψ̇ = q + p · ∆θ
(2.1)
∆θ̇ = r − p · ∆ψ
Ż Ixx
q̇ = a6 · (∆ψ + ) + (1 − ) · p · r + K1 · βψ
V Iyy
(2.2)
Ẏ Ixx
ṙ = a6 · (∆θ + ) + (1 − ) · p · q + K1 · βΘ
V Iyy
Ż
Z̈ = −a · (∆ψ + ) − p · Ẏ − γ · ∆ψ − γT · βψ
V (2.3)
Ẏ
Ÿ = a · (∆Θ + ) + p · Ż + γ · ∆θ − γT · βθ
V
with:
1 CN α (xcp − xCo G )
a6 = ρV 2 Sref >0
2 Iyy
(2.4)
1 CN α
a = ρV 2 Sref
2 mass
If roll is null or very small the hypothesis of having two split axis is valid and the
control can be done individually for each axes but if the roll rate is important the coupling
exist.
Two different cases where presented by Lazennec [12]
• feedback en (∆ψ, ∆θ) for the attitude error,(q,r) for the angular rate;
• feedback en (∆ψ, ∆θ) for the attitude error, (∆ψ̇, ∆θ̇) for the angular rate;
Making the necessaries modifications in the equations and defining the closed-loop
frequency and damping as:
√
wp = −(A6 + K1 · kψ 2ξwp = −K1 · kψD
This coupling can even destabilise the system. Taking the precedent matrix and using
the stability condition from Routh criteria in the determinant one can see that stability
depends on the chosen feedback. Being v a parameter having 0 as value when using the
first feedback and 1 when using the second one, from Routh conditions the only one active
is:
Ixx
vp2 (v − ) − wp2 < 0
Iyy
If v = 0 then stability is always guarantee, but not for v = 1 This study forgot the effect
of the lateral feedback necessary to control the drift. A study done by Roux et Cruciani
[5] shows that when introducing this new feedback both cases become unstable and a
boundary of the roll rate accepted appears for each moment of the fly
Roux and Cruciani [5] mention the drawbacks of using a SISO approach to study the
coupling. One cannot be sure that the margins found reflect reality. Nevertheless, the
system is not a real MIMO neither, it is a SISO sytem with a coupling increasing as roll
rate increase so the SISO approach is not so bad it just needs a refinement. ∆ is now a
matrix affecting the pitch angle as well as the yaw.
( )
∆βψ 0
∆=
0 ∆βθ
Now, a stability study can be done for different roll rates. Because there are only two
parameters to consider, stability can be plotted in plane (∆βψ , ∆βθ ) (figure(2.3)).
Figure 2.3: Low frequency gain margin as a function of the roll rate
A lot of different studies were done about time invariant systems, but most of real
systems like the VEGA launcher have time variant parameters. To be able to use the
theorems from the linear control, systems are linearised around some equilibrium points.
The most critical points are usually chosen for the linearisation because if the system is
stable at that point it could be stable all the long the flight domain. The main drawback
of doing this is that it entail to have an important loss in the margins. That is why
the flight domain is linearised in different points and at each one a different control law
is designed. Problem appears when the system needs to switch from one controller to
the other one. There are two possible strategies to manage this. One option is to switch
directly from one law to the other depending on the flight point or the different laws can be
interpolated to have only one non-linear flight law. The interpolation technique is known
as gain scheduling. At the end of the eighty’s, gain scheduling was a qualified and efficient
technique but with a lack of theoretical justification. This gap was solved by Shamma
in 1988 when he defined the stability conditions for systems using gain scheduling in his
PHD thesis.
First solution found easily in the literature is a control law using a PD controller
plus a third feedback to control the drift, usually the angle of attack. It is easy
to show that a PD controller can stabilise the system. The proportional term acts
immediately reducing the stationary error and thanks to the predictive phenomena
of the derivative term, the transitory error is also reduced.
With δ as the input of the system and θ as the output, the simplified model of a
launcher can be written like:
θ −k1
= G(s) = 2
δ s − a6
After the introduction of the angle of attack or the drift speed as a new state and
introducing the wind as input, it is necessary to control the drift in some way. To
do that is necessary to introduce a new feedback. Different options appear and
everything will be studied with more detail further in this document. Choosing the
angle of attack as feedback the control law used is:
δ = −((Kp + Kd s)θ + Kα α)
With the new transfer functions one can find the necessary conditions for the drift
or angle of attack minimization.
– Drift minimization
This approach looks for the control law making (z̈ = 0) Using the previous
control law z̈ can be defined as:
z¨ss −a0 zss
˙
= ( + αw ) (2.6)
U k1 (Kθ + Kα − a6 ) U
• PIDF
Use of a PD controller can be upgraded adding an integrator and a low pas filter.
Introducing an integrator the stationary error following a step will be null and the
filter will dim the amplifications done in high frequency by the derivative term. The
PIDF is define like:
( )
KI KD (s) 1
P IDF (s) = Kp + +
τI (s) + 1 τD s + 1 τF (s) + 1
• H∞
The H∞ tries to find a controller K(s) able to stabilise the system G(s) and to
minimise the infinity norm of the closed loop between the inputs and the outputs.
∥T fyw ∥∞ < γ
With γ defined as a scalar Virgilio and Kamimoto [10] defined a way to introduce a
H∞ controller explaining all the steps followed.
look like and after having an idea of the shape it is necessary to make small
adjustment in a trial and error procedure.
To find for example the weighting functions necessaries for the sensitivity output
or for the complementary sensitivity one can take the simplified model with a
PD controller to have an idea of the shape. However all the weighting functions
will be explained with more detail in chapter 4.
3. Solve the optimization H∞ problem
• µ − synthesis
Yasuhiro Morita wrote in 2004 [8] a way to introduce the µ − synthesis in the
launcher’s world. First of all it is important to remark than rigid body poles of a
launcher are unstable by default. Because of that µ − synthesis results could not be
as good as expected. Morita propose to do a first stabilisation of the system and to
make use of the µ − synthesis afterwords. Calling H the necessary feedback for the
first stabilisation and F the controller found with the µ − synthesis technique, the
final controller will be a combination of both 2.5.
Classical controller
θ̈ = a6 α − k1 sin(δ)
And working with small angles and accepting than α = θ the equation can also be
rewritten as
θ̈ = a6 θ − k1 (δ) (3.1)
Doing that it is now easy to define the transfer function between θ and δ and so the first
two states model is defined
θ −k1
= G(s) = 2 (3.2)
δ s − a6
√
Poles are in ± a6 and due to the fact that a6 is always bigger than 0, one pole has
a positive real part and the system is then unstable. However, it is known by classical
control experience that a PD controller will stabilize the model. Adding the controller
into the system, the open-loop transfer function is
K(s) = Kp + Kd s
−k1 (Kp + Kd s) (3.3)
GK(s) =
s2 − a6
39
CHAPTER 3. CLASSICAL CONTROLLER
• Kp
1 8
0.8
6
0.6
4
0.4
2
0.2
0 0
−0.2
−2
−0.4
−4
−0.6
−6
−0.8
−1 −8
−8 −6 −4 −2 0 2 4 6 8 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8
Adding a proportional controller in the loop has a direct impact into the frequency.
It is easy to see that the system is going to have two pure imaginaries poles or two real
ones being then one stable and the other one unstable. In any case damping is not going
to be controlled. Figure 3.1 shows that roots can only be moved all long the axis what
means that damping cannot be controlled. The system cannot be stabilized with only a
proportional controller.
The transfer function of the system in open-loop is
−k1 Kp
GK(s) = (3.4)
s2 − a6
and in closed-loop
GK −k1 Kp
(s) = 2 (3.5)
1 + GK s − (a6 + k1 Kp )
As it was said before, roots can only be real or complexes conjugates, depending on if
a6 + k1 Kp > 0 or a6 + k1 Kp < 0
• Kd
The introduction of Kd in the system will add a term in s making the damping con-
trollable. The new transfer function will be:
−k1 Kd s
GK(s) = 2 (3.7)
s − a6
And in close loop
GK −k1 Kd s
(s) = 2 (3.8)
1 + GK s − k1 Kd s − a6
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
−0.8 −0.8
−1 −1
−10 0 10 20 30 40 50 60 −60 −50 −40 −30 −20 −10 0 10
Proceeding in the same way than before it can be inferred than system’s roots are
placed in √
k1 Kd ± (k1 Kd )2 + 4a6
s= (3.9)
2
The only way to have a stable system is having Kd < 0 and |k1 Kd | > (k1 Kd )2 + 4a6
• Kp and Kd
Combining now both controller, either frequency, damping or both of them can be
affected. The system is totally controllable. Thanks to Routh criterion a first approach
about Kp and Kd values can be done. Routh criterion impose that all the coefficients
must have the same sign for having a stable system. So Kd < 0 and Kp < −a K1 The new
6
−k1 (Kd s + Kp )
GK(s) = (3.10)
s2 − a6
And in close loop
GK −k1 (Kd s + Kp )
(s) = 2 (3.11)
1 + GK s − k1 Kd s − (a6 + k1 Kp )
−k1 (Kd jw + Kp )
GK(w) =
−w2 − a6
−k1 Kp
GK(0) = = −2 (3.12)
−a6
−2a6
Kp =
k1
10 2.5
0
Magnitude (dB)
−10 2
−20
−30 1.5
Amplitude
−40
0
1
Phase (deg)
−45
0.5
−90
−135 0
−1 0 1 2 0 1 2 3 4 5 6 7
10 10 10 10
Frequency (rad/sec) Time (sec)
GK
Figure 3.6: Bode and Step response for 1+GK
nichols plot
40
0 dB
30 0.25 dB
0.5 dB
20 1 dB −1 dB
0 −6 dB
−10 −12 dB
−20 −20 dB
−30
−40 dB
−40
−360 −315 −270 −225 −180 −135 −90 −45 0
Open−Loop Phase (deg)
GK
Figure 3.7: Black plot for GK(S) Bode and Step response for 1+GK
3.5 0.2
3 0.18
0.16
2.5
0.14
2
A6
K1
0.12
1.5
0.1
1
0.08
0.5 0.06
0 0.04
10 20 30 40 50 60 70 80 90 10 20 30 40 50 60 70 80 90
time time
A first idea to solve the fact that parameter are not constant on time, rest in trying
to define a controller for one point of the flight time domain (worst case point). Doing
that, the controller will be optimized for only one of all the flight domain points but if the
point has been chosen properly, the system could stay stable(this needs to be checked a
posteriori). Nevertheless, LV performance will change from one point to the other.
The transfer function is:
GK −k1 (Kd s + Kp )
(s) = 2 (3.19)
1 + GK s − K1 Kd s − (a6 + k1 Kp )
In figure 3.9 the evolution of frequency and damping in time is plotted. Damping
starts in a very low level and starts to increase reaching the nominal and design value of
0.5 at 50s and then it decrease again. With these variations specifications where a constant
damping value of 0.5 are not satisfied.
Evolution of Kp and Kd
In the analysis done before (3.1.2) Kp and Kd were written in function of parameters
a6 and k1 . That means that new values of Kp and Kd can be calculated for each slide of
time. Calculating again their values the performances achieved will not be modified, so
damping and phase margin will stay constant (see figure 3.10).
Damping stays constant but the frequency (being an a6 function) varies with time.
The profile for the W variation is plotted in figure 3.11.
The evolution of Kp and Kd can be deduced from the equations 3.12 and 3.17 and is
plotted in figure 3.12.
To end with, taking a look to the delay margin (figure 3.13) it can be inferred that the
critical point is near to the 50s (maximum dynamic pressure point).
2 81.7868
1.5
81.7868
0 81.7868
−0.5
81.7868
−1
81.7868
−1.5
−2 81.7868
−1 −0.9 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 10 20 30 40 50 60 70 80 90
Real Part time [s]
1.8
1.6
Frequency
1.4
1.2
0.8
10 20 30 40 50 60 70 80 90
time [s]
−0.1 −0.05
−0.2
−0.1
−0.3
−0.4
−0.15
−0.5
Kp
Kd
−0.6
−0.2
−0.7
−0.8
−0.25
−0.9
−1 −0.3
10 20 30 40 50 60 70 80 90 10 20 30 40 50 60 70 80 90
time time
1.3
1.2
1.1
1
Delay Margin [s]
0.9
0.8
0.7
0.6
0.5
0.4
10 20 30 40 50 60 70 80 90
time [s]
Looking to figure 3.12 one can notice how Kp and Kd evolve and looking carefully to
the a6 time evolution (figure 3.8) the flight domain can be split in two slides: from 0s to
50s and from 50s to 100s. Maximum value of a6 is placed more or less for t=50s (point of
maximum dynamic pressure).
The following table contains all the different value of Kp and Kd that will be used in
time simulations for each couple of a6 and k1 value and the time slices done.
a6 k1 Kp Kd time
0.4087 5.9938 0.1364 0.1067 10-15
1.0817 6.1897 0.3495 0.1680 15-25
2.5896 5.4397 0.9501 0.2955 25-35
2.9521 5.9690 0.9892 0.2879 35-45
3.2297 7.0738 0.9132 0.2541 45-55
3.2119 8.4980 0.7559 0.2109 55-65
2.5692 10.4260 0.4928 0.1537 65-75
1.6461 12.2962 0.2677 0.1043 75-85
0.8255 15.0942 0.1094 0.0602 85-95
θ̈ = a6 α − k1 δ
−Lα T T −D
z̈ = α− δ− θ
m m m (3.23)
ż
α = θ + − αw
V
Rewriting the EOM in a state space form which is more convenient for controller design
and analysis
θ̇ 0 1 0 θ 0 0 [ ]
θ̈ = a6 a6 αw
0 V θ̇ + a 6 −k 1
δ
z̈ −a1 0 −a2 ż a2 · V −a3
θ 1 0 0 θ 0 0 [ ]
θ̇ = 0 1 0 θ̇ + 0 0 αw (3.24)
δ
ż 0 0 1 ż 0 0
With
−D
a1 = Lα +T
m a2 = Lα
mv
T Lα ℓGA
a3 = m a6 = Iyy (3.25)
T ℓCG
Lα = qSCNα k1 = Iyy
For the time being the wind will not be considered. Wind will act like a perturbation in the
system. One of the advantages of robust control is to manage this kind of perturbations
and to keep the system stable. However, even if stability is guarantee some properties
can suffer a big degradation like for example the angle of attack or the drift as it will
be shown. For this reason, the wind will be introduced again further in this study, when
making a drift control. The transfer function between θref and θIM U can be deduced from
the space state model knowing the kind of feedback used u = (Kp + Kd s)(θref − θIM U ).
Hence transfer function in open-loop is:
And in closed-loop
Parameter Value
a6 3.2297
k1 7.0738
a1 37.87
a2 0.02737
a3 25.54
v 557
Kp -0.9132
Kd -0.2541
System behaviour is now different due to the new state introduced. Step performance
decrease and now the drift is also an important parameter. Bode shape is deformed due
to this new state introduction an so is the step response that is degraded but the system
still stable.
10 2.5
0
Magnitude (dB)
−10 2
−20
−30 1.5
Amplitude
−40
45
1
0
Phase (deg)
−45
0.5
−90
−135 0
−3 −2 −1 0 1 2 0 5 10 15 20 25 30 35 40
10 10 10 10 10 10
Frequency (rad/sec) Time (sec)
nichols plot
40
0 dB
30 0.25 dB
0.5 dB
20 1 dB −1 dB
Open−Loop Gain (dB)
10 3 dB
−3 dB
6 dB
0 −6 dB
−10 −12 dB
−20 −20 dB
−30
−40 dB
−40
−360 −315 −270 −225 −180 −135 −90 −45 0
Open−Loop Phase (deg)
GK
Figure 3.15: Black plot for GK(S) and Bode and Step response for 1+GK
The overshoot is now more than a 100% of the reference value and the final asymptotic
value is 0,7 (for a step of 1).
100 2.5
0
Magnitude (dB)
2
−100
−200
1.5
Amplitude
−300
90
1
0
Phase (deg)
−90
0.5
−180
−270
−360 0
−2 0 2 4 0 10 20 30 40 50 60
10 10 10 10
Frequency (rad/sec) Time (sec)
Nichols Chart
20
−20
Open−Loop Gain (dB)
−40
−60
−80
−100
−120
−140
−360 −315 −270 −225 −180 −135 −90
Open−Loop Phase (deg)
GK
Figure 3.16: Black plot for GK(S) and Bode and Step response for 1+GK
Number of States Gain Margin LF Gain Margin HF Phase Margin Delay Margin
3 5.2641db 33.8503db 23.7623 0.2025
transfer function between this new input and θIM U has the same denominator (same poles)
but will present a different numerator.
Step Response
−0.002
−0.004
−0.006
−0.008
Amplitude
−0.01
−0.012
−0.014
−0.016
−0.018
−0.02
0 20 40 60 80 100 120
Time (sec)
600 0
−0.002
500
−0.004
−0.006
400
−0.008
300 −0.01
−0.012
200
−0.014
−0.016
100
−0.018
0 −0.02
0 10 20 30 40 50 0 10 20 30 40 50
0.09 10
0.08 0
0.07 −10
0.06 −20
0.05 −30
0.04 −40
0.03 −50
0.02 −60
0.01 −70
0 −80
0 10 20 30 40 50 0 10 20 30 40 50
Figure 3.19: Step response with αw = 0.03 and θref = 0.08 as input
As it has been proven, only with a PD controller the system remains stable even with
the introduction of the drift and the wind input. However, despite tracking in θ can
also be guarantee and margins are satisfied there are others requirements that cannot be
controlled only with a PD controller. This control is a requirement in order to reduce the
load suffered by the launcher, so having a small angle of attack (less than 3°). To satisfy
all the requirements is then necessary to introduce a new feedback, capable to control the
drift or the drift speed. It is true that θ has an impact on the angle of attack but it can
not be managed only by a θ feedback. It is not possible to keep a desired θ value while
trying to put it at the same time near to zero to minimise the angle of attack. That is
why it is necessary to introduce another feedback. There are some different options as
new feedback.
However, for a better understanding of the new feedback effect the PD controller will
be the same all the time, i.e it will not be tuned again.
3.2.1 α feedback
Adding a proportional term on α to the PD controller, the feedback will look like
Because it exists a possibility of making the system unstable, there is a boundary on the
maximum value that Kα can have.
Root Locus Editor for Open Loop 1 (OL1) Root Locus Editor for Open Loop 1 (OL1)
2
150
1.5
100
1
50
0.5
Imag Axis
Imag Axis
0 0
−50 −0.5
−1
−100
−1.5
−150
−300 −250 −200 −150 −100 −50 0 −0.9 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1
Real Axis Real Axis
1.5
0.5
Imag Axis
−0.5
−1
−1.5
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
(c) Kα < 0
Picture 3.20 shows how, while Kα varies, the system sends two poles to the right hand
side becoming unstable. The two complex poles that are mainly controlled are those as-
sociated with the rotary motion of the vehicle about its center of gravity.
The different transfer function of θIM U , ż and α with θref as input are:
1.4 4.5
4
1.2
3.5
1
3
0.8 2.5
0.6 2
1.5
0.4
1
0.2
0.5
0 0
0 10 20 30 40 50 0 10 20 30 40 50
Figure 3.21: Alpha response for a step with different gain feedback
Making Kα more negative causes an increase in the overshoot in the alpha response
as well as a reduction of the final value. However, without introducing any wind into the
system, alpha response is very similar to theta so theta will also present an increase in
the overshoot and a reduction of the final value increasing the tracking error. There is a
compromise between keeping the tracking or reducing alpha final value. A reduction in
the drift will also appear but the drift cannot be reduced without limits because drift re-
ductions needs reducing Kα value but getting Kα to negative values will cause the system
to be unstable. So there is an important limitation for drift reduction.
On the other hand, having a positive value of Kα produce an increase on the drift be-
cause drift rate pole is getting slower. This feedback acts more in the drift instead of acting
in θ. It can be interesting if the drift level is not very high and the system can afford an
increase in the drift to get a reduction in the angle of attack and without modifying a lot θ.
4 4
x 10 x 10
0.5 0.5
0 0
−0.5
−0.5
−1
−1
−1.5
−1.5
−2
−2
−2.5
−3 −2.5
−3.5 −3
0 10 20 30 40 50 0 10 20 30 40 50
Figure 3.22: Alpha response for a step with different gain feedback
Wind input
Wind will have a direct impact on alpha as it can be checked in its equation. But wind
not only affects alpha, it also affects θ and ż so it is important to quantify the impact that
it can have on the system.
The transfer functions between α, θ, δ, ż and αw can be deduced from equations 3.23
and 3.29.
α s(s2 + k1 Kd s + k1 Kp
= 3
αw s + D2 s2 + D1 s + D0
θ −s(k1 Kα − a6 )
= 3 (3.31)
αw s + D2 s2 + D1 s + D0
a3 Kp
ż
a3 2
v s + ( a3vKd )(a6 + k1 aa23v )s + ( a2 v
v )(a6 + k1 a3 ) + (a2 − a1
v )(k1 Kα − a6 )
=
αw s3 + D2 s2 + D1 s + D0
Applying the final value theorem f (∞) = limx→0 f (S) one can see that the function
rejects the effect introduced by the wind in at least α and θ.
To sum up, using realistic inputs in θref and in the wind input (θref = 0.08rad and
wind
U = 0.03) and making a feedback in α will lead to maximum drift and angle of attack
reduction of around 14% but θ will be degraded a 17%.
3.2.2 z feedback
Making a feedback on z will introduce a new state in the system because it is necessary
to integrate ż. The main purpose of this feedback is to control the drift but manoeuvra-
bility is very low. By introducing this new state the system is very close to instability.
Figure 3.23 shows that Kz needs to be positive and less than a very small value.
Root Locus Editor for Open Loop 1 (OL1) Root Locus Editor for Open Loop 1 (OL1)
2 4
1.5 3
1
2
0.5
1
Imag Axis
Imag Axis
0
0
−0.5
−1
−1
−2
−1.5
−2 −3
−2.5 −4
−5 −4 −3 −2 −1 0 1 2 3 4 5 −3 −2 −1 0 1 2 3 4
Real Axis Real Axis
Margin is very small and when trying to obtain any improvement before feeling the
effects the system oscillates a lot. This feedback has a direct impact on the drift but
manoeuvrability is very very poor making this feedback not very interesting. Figure 3.24
shows how the system oscillates and how drift is very reduced also. This reduction is very
important but without having a more damped system, a feedback which time necessary
for stabilisation is near the 100 seconds cannot be used for a system where the time live
is about 120 seconds.
In addition zeros of the closed loop are not always stable. Their value depend on Kp ,
Kd , a2 and a6 value and there are some realistic combinations that can make a zero appear
on the right hand side.Due to the unstable zero the system will follow the command by
going into the opposite direction first.
2.5 200
2 0
−200
1.5
−400
1
−600
0.5
−800
0
−1000
−0.5
−1200
−1 −1400
−1.5 −1600
0 20 40 60 80 100 0 20 40 60 80 100
1.5
0.5
−0.5
−1
0 20 40 60 80 100
3.2.3 ż feedback
Having feedback directly on the drift is not a good option so the derivative is possibly
a better solution. Making a feedback on ż will not introduce a new state and will allow us
to avoid the constant oscillatory behaviour of the z feedback. The new feedback will then
be: u = (Kp + Kd ) · (θref − θIM U ) + Kż · ż
In picture 3.26 we can see how the closed loop poles evolve depending on Kż value The
Root Locus Editor for Open Loop 1 (OL1) Root Locus Editor for Open Loop 1 (OL1)
2.5 3
2
1.5
1 1
Imag Axis
Imag Axis
0.5
0
0
−0.5 −1
−1
−2
−1.5
−3
−2
−6 −5 −4 −3 −2 −1 0 1 2 3 4 −6 −4 −2 0 2 4 6 8 10 12
Real Axis Real Axis
By adding this feedback, the impact in θIM U from θref will be huge and a very im-
portant reduction from the nominal value will appear. Increasing Kż will decrease the
overshoot but also the final value making the error bigger and will also introduce more
oscillations at the beginning.
This feedback presents the advantage of making and important reduction on the drift
Wind input
In spite of alpha feedback effects, now the wind effect is not completely rejected from
the system and there is an unstable zero from the wind input to the θIM U output doing
2 2.5
1.5 2
1 1.5
0.5 1
0 0.5
−0.5 0
0 10 20 30 40 50 0 10 20 30 40 50
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
0 10 20 30 40 50
The transfer functions from the wind input to the different outputs are:
Using this feedback having as input a combination of θref and wind makes a reduction
of about 58% in θIM U value and 77% in drift.
3.2.4 ż + z feedback
This new double feedback is a mix of the last two feedbacks seen. The feedback law
will be:
u = (Kp + Kd s) · (θref − θIM U ) + Kz · z + Kż ż
The ż feedback had drift reduction limited and the drift feedback, even having better
results in drift minimization, was not feasible due to the oscillatory behaviour of the
system. However, mixing both feedback it is possible to have a bigger drift reduction than
with the ż feedback by itself and without so many oscillations like with the z feedback
The transfer functions between θref and θIM U , α and ż are:
This feedback will keep the non unstable zero from the wind to θIM U One can see the
effect of adding both feedbacks keeping the numerical value of Kż used in the previous
section and looking to the modifications produced by Kz
Using the same case which includes the combinations of θref and the wind input, drift
is reduced by a 99% but error between θIM U and θref is about the 71% of the reference
signal.
3.2.5 Summary
After taking a look to the different possible feedbacks the two more interesting are the
angle of attack feedback because of the possibility of having some drift reduction without
loosing too much in tracking and Z + Ż because of the drift minimization it can offer.
The objective of this point was not to achieve an optimal configuration with the optimized
coefficient for the different feedbacks. The objective was to show the impact that feedback
has in the system, how drift can be minimized and what can be expected for each different
feedback. This will be used further when a drift control will be implemented in the robust
design. Using the results obtained in this preliminary study one can have a first idea of
how much drift can be reduced and what the consequences are.
As a conclusion the table below contains the numerical values of a time simulation for
each different feedback. All the plots are in annex D
Feedback
Variable
Nominal Alpha Ż Z + Ż
K Kα = −0.3 KŻ = −0.005 KŻ = −0.005 KZ = −0.00304
The flexibility of the LV presents some control problems primarily because the sensing
instrumentation (gyros and accelerometers) pick up not only the rigid body motion but also
the local elastic distortion. Because the vehicle is a continuous body the elastic motion
is described by a system with (theoretically) an infinite number of degrees of freedom
(the bending modes).In practice, either a truncation of the infinite series or a lumped
mass model is used to yield a system with a finite number of modes. The number of
modes that are significant in a given situation depends on the bandwidth of the primary
bending modes. The high frequency attenuation properties due to the inherent structural
damping, are sufficient to dismiss the higher modes from further consideration. In the
current generation of LV, five elastic modes are usually sufficient to describe the significant
dynamic properties of the vehicle. Often no more than three modes are needed. This is
the case for our study case.
Defining the bending state xf = [q1 , q̇1 , ..., qN , q̇N ]T and the matrices:
( ) ( )
0 1 0
Afi = Bf ri =
−ωi2 −2ζi ωi −T ϕi (ℓC )
( )
0 0 ( )
Cf p i = Cf ci = −σi (ℓimu ) 0
0 ϕi (ℓimu )
(3.36)
Af1 0 0 Bf r1
.
Af = 0 . . . 0 Bf r = ..
0 0 AfN Bf rN
( ) ( )
Cf p = Cf p1 . . . Cf pN Cf c = Cf c 1 . . . Cf cN
12
x 10
10
−2
−4
−6
−8
0 0.5 1 1.5 2 2.5 3
To solve this problem it is very usual to define a notch or a low-pass filter, to filter the
bending modes effect and return the system to a rigid body behaviour. Shapes of typical
40 60
0 dB Gtotal
0.25 dB K*Gtotal
0.5 dB 40
20 1 dB −1 dB 0 dB
0.25 dB
3 dB 0.5 dB
6 dB −3 dB
20 1 dB −1 dB
0 −6 dB
3 dB
Open−Loop Gain (dB)
−20 −20 dB
−40 −40 dB
−40 −40 dB
−60 −60 dB
−60 −60 dB
−80 −80 dB
−80 −80 dB
−100 dB −100 dB
−100 −100
−180 −90 0 90 180 −360 −270 −180 −90 0 90 180
Open−Loop Phase (deg) Open−Loop Phase (deg)
used filters are plotted in figure 3.31. Knowing the shape it is easy to define a good filter
based in some background that the designer could have.
0
0
−20
−10
Magnitude (dB)
Magnitude (dB)
−40
−60
−20
−80
−100
−30
−120
−140 −40
90 0
45
Phase (deg)
Phase (deg)
0 −45
−45
−90 −90
2 0 1 2 3 4
10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
GK
Figure 3.31: Black plot for GK(S) and Bode and Step response for 1+GK
However this time it is not necessary to design any specific filter. The WT V C actuator,
being a second order with a static gain of one, has the same behaviour than a low-pass
filter and will act as it stabilising the system. So adding the actuator in the loop the
system will be stable again and margins will be:
The bode plot shows the resonance due to the presence of the bending modes. In a
final design it is necessary to roll-off this pic making that the first flexible modes have not
a gain over -3db. This constraint is avoided because this is only a preliminary study and
it is going to be used as comparison to the flexible modes. But it is important to take it
into account in the final design.
2.5 50
Magnitude (dB)
−50
2
−100
−150
1.5
Amplitude
−200
−250
90
1
0
Phase (deg)
−90
−180
0.5
−270
−360
0 −450
0 5 10 15 20 25 30 35 −2 0 2 4
10 10 10 10
Time (sec) Frequency (rad/sec)
(a) Step Response having PD controller (b) Step Response having only PD con-
+alpha as feedback troller
To check the system behaviour a simple Simulink model was created an some time
simulations were done. In this time simulations, input is always a step and parameters are
time invariant, being the numerical values of the maximum dynamic pressure. Further,
when the robust control will be introduced, a non-linear time simulator will be used.
However, because this is just a way to see how the system reacts it is not necessary to use
the non-linear simulator. All the results from the time simulations are in annex D
Robust Control
Uncertainties or perturbations are going to modify in a random but bounded way the
value of some parameters. Adding some uncertainties in the model will better approximate
the real system behaviour. A block-diagonal containing all the possible perturbations or
uncertainties can be define as the (∆) block:
( )
δ a6 0
∆=
0 δ k1
67
CHAPTER 4. ROBUST CONTROL
Kp envelop Kd envelop
0 0
nominal nominal
boundary boundary
−0.2 −0.05
−0.1
−0.4
−0.15
−0.6
−0.2
−0.8
−0.25
−1
−0.3
−1.2 −0.35
−1.4 −0.4
0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90
4 20
nominal nominal
boundary boundary
3.5 18
3 16
2.5 14
2 12
1.5 10
1 8
0.5 6
0 4
0 20 40 60 80 100 0 20 40 60 80 100
Looking to the roots position (Real part vs Imaginary part) like in figure 4.3 one can
notice that poles are no longer in the same damping line.
Furthermore margins change a lot depending in the uncertainty. In figure 4.4 three
possible configurations are plotted in a Nyquist plot with their gain and phase margins.
So, PD controller gives good results but without a robust response (The system can-
not afford all the uncertainties defined). All the performances needs to be checked at each
points because there is no guarantee at all. That is why robust control is interesting. The
only design of a robust controller will guarantee stability and will give a reference of how
well all the performances required are satisfy (γ value). In addition in a robust design it
is possible to define the desired shape at some points and the uncertainty level.
2.5
1.5
0.5
Imag Part
0
−0.5
−1
−1.5
−2
−2.5
−1.1 −1 −0.9 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2
Real Part
Nyquist Diagram
0.6
0.4
0.2
Imaginary Axis
−0.2
−0.4
−0.6
The new system will look like the one in figure 4.5. The elements of this new system
are:
• The plant G modelled with two uncertainties. One in a6 and another one in k1
θ̇ 0 1 0 θ 0 [ ]
θ̈ = a6 0 a6
θ̇ + −k1 δ
V
z̈ −a1 0 −a2 ż −a3
θ [ ] θ 0
θ̇ = 1 0 0 [ ]
θ̇ + 0 δ (4.1)
1 0 1/v
ż ż 0
e−t1
WT V C = (4.2)
12 · ξ · wtvcwtvc2
with wtvc having a 15% of uncertainty
• Wi Weighting functions
0.15s + 1.5
W1 =
s + 0.01
√
2 · a6 + 100 1s2 + a6 + a6
W2 = ·√ 2 √
a6 a6 s + (2 · a6 + 100 · a6 )s + 2 · a6 + 100
W3 = 0.7 (4.3)
s + 200
Walpha = 3.4 ·
s + 1000
Wext = 0.5
Wnoise = 0.01
being the inverse of the sensitivity function S and the complementary sensitivity T. All
this functions reflects then how the desired system should be in order to define a controller
which will satisfy all this requirements.
However, to define the weighting functions is necessary to know how the system should
be, what kind of shape should it have. Thanks to the analysis done with a classical
controller all this shapes are known.
• W1
This function is used to weight the tracking error (θref − θIM U ). It has to satisfy:
∥ W1 S ∥inf
The final value theorem impose S(0)=0 to avoid the position error. So S needs a
high reduction of the norm | S(jw) | at low frequencies. Hence W1 , being the inverse
of S, will have high gain at low frequencies having a high-pass filter shape.
• W2
A big decrease of the norm | T (jw) | at high frequencies is important to reduce the
impact of the noise in the output and to avoid having big changes in the command.
A high agitation of it can saturate the actuator producing a non-linear behaviour
than can destabilise the loop. Being W2 the inverse of T, a low-pass filter shape is
desired.
In addition in the study done for the classical controller ( chapter 3) the behaviour of
the closed-loop is known and so is the function W2 . One can just invert the transfer
function of 1 + GK adding a high frequency pole and adjusting the gain to have a
realizable function
• W3
To avoid having huge command values, a constant boundary was defined. Another
possible options was to define a high-pass filter in order to have a low-pass filter
response in the command.
• Walpha
Same as W2 thanks to the previous studies and looking to the desired behaviour of
alpha a definition of the weighting functions is very easy. The shape will be similar
to the one of W2
• Wext
This functions bound an external perturbation coming before the going into the
plant, in this case, into the TVC actuator.
• Wnoise
Figure 4.6 shows some possible shapes for the different weighting functions.
Bode Diagram W2
60 30
20
40
Magnitude (dB)
Magnitude (dB)
10
20
0
0
−10
−20 −20
0 90
Phase (deg)
Phase (deg)
45
−45
−90 −45
−4 −3 −2 −1 0 1 2 3 −2 −1 0 1 2 3 4
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
(a) W1 (b) W2
W3 Walpha
−2 −30
−2.5
Magnitude (dB)
Magnitude (dB)
−35
−3
−3.5
−40
−4
−4.5 −45
1 0
0.5
Phase (deg)
Phase (deg)
0 −30
−0.5
−1 −60
0 1 1 2 3 4 5
10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
Parameters are time variant, hence some Wfunctions like W2 must also be time variant.
Because W2 adjust the closed loop behaviour it is important that it adjusts with time.
For that reason its design is based in a function of parameter a6 . In fact W2 reflects the
ideal/desired shape of the closed loop. This was defined when the classical controller was
introduced (see section 3.1.2)
Wext Wnoise
−5 −39
−5.5
−39.5
Magnitude (dB)
Magnitude (dB)
−6
−40
−6.5
−40.5
−7
−7.5 −41
1 1
0.5 0.5
Phase (deg)
Phase (deg)
0 0
−0.5 −0.5
−1 −1
0 1 0 1
10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
2. Check for RS: determine whether the closed-loop system remains stable for all plants
in the uncertainty set.
If the controller is absorbed into the loop we will end up with the so called N ∆
structure shown in 4.9. The N transfer function appearing in 4.9 has the following state
space description:
A B∆ B1
N = C∆ D∆∆ D∆1 (4.5)
C1 D1∆ D11
where now the matrices appearing in 4.5 have the following meaning
( )
A + B2 DK (I − D22 DK )−1 C2 B2 CK + B2 DK (I − D22 DK )−1 D22 CK
A=
BK (I − D22 DK )−1 C2 AK + BK (I − D22 DK )−1 D22 CK
( )
B∆ + B2 DK (I − D22 DK )−1 D2∆
B∆ =
BK (I − D22 DK )−1 D2∆
( )
B1 + B2 DK (I − D22 DK )−1 D21
B1 =
BK (I − D22 DK )−1 D21
( )
C∆ = C∆ + D∆2 DK (I − D22 DK )−1 C2 D∆2 CK + D∆2 DK (I − D22 DK )−1 D22 CK
( )
D∆∆ = D∆∆ + D∆2 DK (I − D22 DK )−1 D2∆
( )
D∆1 = D∆1 + D∆2 DK (I − D22 DK )−1 D21
( )
C1 = C1 + D12 DK (I − D22 DK )−1 C2 D12 CK + D12 DK (I − D22 DK )−1 D22 CK
( )
D1∆ = D1∆ + D12 DK (I − D22 DK )−1 D2∆
( )
D11 = D11 + D12 DK (I − D22 DK )−1 D21
(4.6)
In order to analyse the robust stability of the whole uncertain model, we only need
to consider the M ∆-structure of 4.10 where M = N11 is the transfer function from the
output to the input of the perturbations. If the nominal (∆ = 0) feedback system is stable
then the stability of the system in 4.9 is equivalent to stability of the system in 4.10, where
∆ ̸= 0 and
M (s) = D∆ + C∆ (sI − A∆ )−1 B∆
where A∆ , B∆ , C∆ and D∆ are state space representation matrices of the subsystem N11
mentioned above. We now apply the Nyquist generalized stability condition to the system
in 4.10. We assume that ∆ and M are stable; the former implies that the nominal and
the uncertain open-loop transfer function must have the same unstable poles, the latter is
equivalent to assuming nominal stability of the closed-loop system.
A function useful to investigate the robust stability is the structured singular value (de-
noted Mu, mu, SSV or µ), which provides a generalization of the singular value σ.
Let M be a given complex matrix and let ∆ = diag{∆i } denote a set of complex
matrices with σ(∆) ≤ 1 and with a given block-diagonal structure (in which some of the
blocks may be repeated and some may be restricted to be real). The real non-negative
function µ(M ), called the structured singular value, is defined by
1
µ(M ) , (4.9)
min{km | det(I − km M ∆) = 0 for structured ∆, σ(∆) ≤ 1}
If no such structured ∆ exists then µ(M ) = 0.The following Theorem provide a necessary
and sufficient condition for robust stability with structured uncertainty.
Theorem 3 RS for block-diagonal perturbations (real and complex). Assume
that the nominal system M (s) and the perturbations ∆(s) are stable. Then the M ∆-system
in 4.10 is stable for all allowed perturbations with σ(∆), ∀ω if and only if:
In the LFT general control configuration in 4.8 the K block represents the controller,
which is a system itself, so the state vector of the N -system is
[ ]
x
xT = P (4.11)
xK
Theorem 4 Robust Performance Rearrange the uncertain system into the N ∆-structure
of 4.9. Assume N S such that N is (internally) stable. Then
and look at each frequency for the smallest value of km which makes det(I − Km M ∆) = 0,
and we have that skewed-µ is
µs (M ) = 1/km
Assume we have a system for which the peak µ-value for RP is 1.1. The definition
of µ tells us that our RP requirements would be satisfied exactly if we reduced both the
performance requirement and the uncertainty by a factor of 1.1. So µ does not directly
give us the worst case performance (max∆ σ̄(F (∆))) as one might have expected.
To find worst case weighted performance for a given uncertainty, one needs to keep the
magnitude of the perturbations fixed (σ̄(∆) ≤ 1); that is, we must compute skewed-µ of
M . We have, in this case,
Bode Diagram
40
30
Magnitude (dB)
20
10
−10
−20
270
225
Phase (deg)
180
135
90
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
The nominal point of design for the controller is the maximum dynamic pressure. With
only this controller the system stays stable all long the time domain. All the performances
are in the table below.
Time slide PM GM(LF) GM(HF) DM RS(%)
30 38.9701 7.1765 18.4129 0.2 138
40 40.4746 7.2222 17.6195 0.1957 136
50 42.9776 8.1476 16.1515 0.1747 153
60 44.4235 9.8240 14.5609 0.1478 182
70 44.0486 13.1122 12.7698 0.1169 225
80 42.1874 17.2593 11.3299 0.0941 191
90 38.3592 22.4296 9.5355 0.0704 201
Even if the system stays stable and margins are good, it could be interesting to see
what happens if a gain scheduling technique is also applied. With more than one con-
troller the decrease on the phase margin after the 60s can be avoided and all the margins
will follow a more standard variation. A standard variation can be defined as a parabola
were the minimum is next to the maximum dynamic pressure. With only one controller
performances and robustness are subject to the parameters variation from the nominal
design point. That explain the result of a parabola but with a maximum at the maximum
dynamic pressure.
However, despite the results obtained it is possible to keep only one controller as it
was shown and it will guarantee both performances and stability. Thanks to the robust
approach of the controller it is no longer strictly necessary to use a Gain Schedule tech-
nique since this one gives little improvements in comparison with only one controller.
Defining ten controllers, one each ten seconds of time domain (from ten to ninety
seconds) is a more homogeneous approach. These controllers will look very similar one to
another but with small differences like in bandwidth or in the static gain for example.
40
30
Magnitude [dB]
20
10
0
100
−10 80
−4
10
−2 60
10
0
10 40
2
10
4 20 time [s]
10
frequency [rad/s]
The performances achieved now are (in margins talking) very similar but the system
is better prepared to affront the desired robust stability and performances. In general the
% of robust stability supported by the system increase.
The table below sum up the margins achieved with these news controllers
Time slide PM GM(LF) GM(HF) DM RS(%)
30 44.08 7.1765 18.4129 0.1885 162
40 42.26 7.2222 17.6195 0.1797 156
50 42.97 8.1476 16.1515 0.1797 153
60 46.12 9.8240 14.5609 0.1797 161
70 49.29 13.1122 12.7698 0.195 176
80 52.10 17.2593 11.3299 0.2185 218
90 54.25 22.4296 9.5355 0.2582 253
One can find the complete report of robust stability and performances for each con-
troller in annex E and all the plots of the time simulation in annex D. It is important to
remark that despite in the PD controller θ and θ̇ was used here it is not longer necessary to
introduce both feedbacks. However, introducing θ̇ as new feedback will make the resolu-
tion to find a controller satisfying all the requirements easier (we are adding a new degree
of freedom) and the robust stability can also be increased. However, the controller will be
more complex. Just to give an example, defining a controller for the time slide t=50s the
performances obtained in stability margins are similar, but the robust stability is around
400%. More than the double obtained by only having θ as feedback. Nevertheless, during
all this study only a θ feedback will be considered, knowing that adding a feedback in θ̇
could improved the performances.
S T
0
0
Magnitude (dB)
Magnitude (dB)
−10
−100
−20
−200
−30
−300
−40
−50 −400
450 180
360
0
Phase (deg)
Phase (deg)
270
180 −180
90
−360
0
−90 −540
−4 −2 0 2 4 −2 0 2 4
10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
Magnitude (dB)
10
−100
0
−150
−10
−200
−20 −250
−30
540 180
0
Phase (deg)
Phase (deg)
360
−180
180
−360
0 −540
−4 −2 0 2 4 −2 0 2 4
10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
δw1 0 0 0 0 0
..
0 . 0 0 0
0
0 0 δwi 0 0
0
∆=
0
(4.14)
0 0 δξ1 0
..
0 0 0 0 . 0
0 0 0 0 0 δξi
It is important to considered the structure of ∆. As it was already mentioned ∆ will
have block diagonal structure in which the generic block can be a scalar real parameter,
a repeated real parameter, a scalar complex perturbation or a full complex m x n block.
56 20.5
20
54
19.5
52
19
50 18.5
48 18
17.5
46
17
44
16.5
42 16
20 30 40 50 60 70 80 90 20 30 40 50 60 70 80 90
12.5 0.26
12 0.25
11.5 0.24
11 0.23
10.5 0.22
10 0.21
9.5 0.2
9 0.19
8.5 0.18
8 0.17
20 30 40 50 60 70 80 90 20 30 40 50 60 70 80 90
From a computational time it is important to avoid having large repeated real parameters
blocks.
Hence, instead of having two times the number of bending modes introduced as new
parameters and having an uncertainty in the parameters, a filter (Wf lex ) which magnitude
approximates the maximum gap between the nominal behaviour and the different ones
created by the uncertainties is designed.
Because nominal value of frequency and other parameters are time variant parameters,Wf lex
must also be time variant. Looking to the difference between the behaviours and the nom-
inal one, the order of the filter was adjusted. In figure 4.15 one can see the different shapes
of the filter for different time slides and how it covers the uncertainty introduced.
40 40
20 20
0 0
Magnitude (dB)
Magnitude (dB)
−20 −20
−40 −40
−60 −60
−80 −80
−2 −1 0 1 2 3 4 −1 0 1 2 3 4 5
10 10 10 10 10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
Bode Diagram
60
40
20
Magnitude (dB)
−20
−40
−60
−80
−1 0 1 2 3 4 5
10 10 10 10 10 10 10
Frequency (rad/sec)
(c) t=90s
As in the classical controller when adding the bending modes to the structure the rigid
body controller cannot guarantee stability and system becomes unstable so a filter is again
necessary. Despite the way it was define the first time, now the main purpose is to obtain
a filter given by the system, i.e that can guarantee stability and performances by design.
To find the rigid body controller a synthesis model was defined applying µ − synthesis
algorithm, one can get a controller that tries to satisfy the desired performances in the
best way and that guarantee stability also. The principle now is to use the same approach
but adding the bending modes and the rigid controller in the loop.
System behaviour has changed because of the bending mode so the new controller
created by using the µ − synthesis has to guarantee the stability and try to reach the
performances but because all the performances were achieved by the rigid controller for
the rigid body the only thing needed is a filter for the bending modes and that is exactly
what the µ − synthesis algorithm will provide. Despite what happens with the classical
controller this time, the TVC actuator is not enough to stabilise the system because it was
considered for the rigid body controller design. Now the filter is created by the system to
guarantee stability taking into account the different uncertainties of the model and given
a robust solution.
Bode Diagram
−10
−20
Magnitude (dB)
−30
−40
−50
−60
−70
−2 0 2 4 6 8
10 10 10 10 10 10
Frequency (rad/sec)
Because this filter was design using some uncertainties on frequency and damping of
the bending modes, it can be used for all the time domain even if the bending modes fre-
quencies change. However, performances decrease because the filter was not only designed
for a nominal bending mode frequency but also for a specific rigid body controller. Hence,
it is good to design as many filters as controllers to maximize performances. Figure 4.18
shows a 3D plot of the different filters used and the product of the rigid body controller
and the filter.
The table below sum up the margins for the different time slides.
3D plot Krigid*Notchfilter
40
20
20
0
Magnitude [dB]
Magnitude [dB]
0
−20
−20
−40 90
−40 100
80
−60 70 80
−4 −60
10 60 −4
60
−2 10
10 50 −2
0 10
10 10
0 40
2 40 2
10 time [s] 10
4 30 4 20 time [s]
10 10
frequency [rad/s] frequency [rad/s]
Figure 4.18: 3D plot of the notch filter and the complete controller
Even if with this configurations 100% of robustness is not achieved it is just a matter
of modifying the weighting functions until the system reach the performances. Robustness
and performances are opposite and it is hard to combine both. If robustness is not satisfy
that means that the performances asked or the uncertainty level introduced is very big
and the system cannot satisfy all the restrictions. However, it is important to remark that
the % of uncertainty tolerated is almost 100% and using only θ as feedback.
The main point of this new feedback will be then to reduce the angle of attack, spe-
cially at the maximum dynamic pressure so it seams logical to make a feedback on the
angle of attack instead of the drift and the drift speed. Remembering the study done in
section 3.2.1 a feedback in alpha will reduce the angle of attack and will also introduce a
Magnitude (dB)
−10 −100
−20 −200
−30
−300
−40
−400
540 720
360 360
Phase (deg)
Phase (deg)
180 0
0 −360
−180 −720
−4 −2 0 2 −2 0 2 4
10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
Magnitude (dB)
−20 −100
−40
−200
−60
−300
−80
−100
1080 720
720 360
Phase (deg)
Phase (deg)
360 0
0 −360
−360 −720
−2 0 2 4 −2 0 2 4
10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
little reduction on the drift, but the tracking error will increase. However, even if making
a feedback on the drift and the drift speed the angle of attack can also be decreased,
tracking is very affected and because the drift value still between boundaries, making a
feedback on alpha seams the best option.
The principle used to get the controller is the same that the one used to design the notch
filter for the bending modes. The synthesis model will be very similar, keeping the rigid
controller in the loop, but this time opening the command input will be added to the
output of the rigid controller and the measurement output for the feedback will be the
angle of attack coming for the rigid body plant.
This time is not possible to avoid the wind effect in the synthesis model. Because the
angle of attack (and the drift) are very affected by it, it is important to include it since
the beginning. Without wind, the angle of attack is very small and did not exceed the
maximum value but it does when the wind appears. Avoiding the wind into the synthesis
model will create more than a controller a filter for alpha, in order to filter the feedback.
The system was already satisfying the requirements and adding this feedback will only
makes things worst, so the system creates a filter to avoid its effect. Nevertheless, by
introducing the wind the feedback becomes useful and the system can create a controller
to contribute to satisfy all the requirement. This new input will need a weight like all
the others ”perturbations” defined. The weight defined will have the same shape than a
low-pass filter because the main effect of the wind will be at low frequencies 4.21
Bode Diagram
30
20
10
0
Magnitude (dB)
−10
−20
−30
−40
−50
−2 −1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
For the drift control design is not necessary to include the bending modes in. The
bending modes are not affected by the wind and they affect mainly the pitch angle. It is
true that they are going to have an impact on the angle of attack because the pitch angle
has an impact on it, but to reduce the number of states and the complexity of the synthesis
model, it is better to avoid include them. Once the drift control is done, it is important to
verify that even including the bending modes all the requirements are satisfy. If there is
any problem in the angle of attack for example, it suffice to modify the weighting functions
to make it more constraint and increase the reduction in the rigid body to compensate the
possible variation introduced by the flexible modes. Of course, with powerful computers
it is possible to make the drift control including the bending modes.
The rigid body controller was designed again but this time, including the wind as an
input just to compare with the other controller. Looking to figure 4.22 one realises that
both controllers are very similar, and even in their performances (time simulation and
margins). For this reason it is justified to keep the same controller defined in section 4.4
Bode Diagram
50
Krigiddrift
Krigid
40
30
Magnitude (dB)
20
10
−10
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
3D plot Kdrift
Bode Diagram
140
150
120
100
Magnitude [dB]
100
50
80
Magnitude (dB)
0
60
−50
40
100
20 80
60
0
4
40 2 10
0 10
−20 −2 10
−4 −2 0 2 4 time [s] 20 −4 10
10 10 10 10 10
10 frequency [rad/s]
Frequency (rad/sec)
(a) Bode plot for a Kdrift controller (b) 3D plot of the Kdrift controller
Adding this controller into the system the angle of attack get reduced in a 30% and
tracking is even improved. However, there is a small increase in the drift but the final
value achieved stays under the boundary. The table below sum up the results achieved:
Now the bending modes are introduced together with the notch filter designed in 4.5.
As it was expected, the system still stable and the angle of attack still under 3°.
Pay Load a6 k1 w1 w2 w3
300kg 3.21 6.74 27.08 60.06 82.14
1200kg 3.23 7.07 24.66 53.93 74.15
2200kg 3.26 7.42 22.85 50.43 70.06
So it seams possible to use the same controller for all the different Pay Loads. However,
there is an important different between the rigid body behaviour and the introduction of
the bending modes. When looking to parameters a6 and k1 one can see that the difference
at each Pay Load is not very important, so it seams obvious that the rigid body controller
having a robust stability value bigger than a hundred percent will be able to manage it.
However, for the bending modes is not so easy. Difference in frequency between 300kg
and 1200kg are almost the double than the ones between 1200kg and 2200kg. Adding the
fact that the robust stability when adding the bending modes decrease in an import way
perhaps the system will be able to stabilise the system for all the Pay Loads, but margins
at low Pay Loads will be very poor. For that reason, it can be interesting to define two
kinds of notch filter for the bending modes. One for lows Pay Loads and the other one
for the bigger ones. Of course the rigid body controller used will be the same, reducing
considerably the amount of work.
Multi-axis controller
Now that the robust control in one axis is done, it is interesting to study what happens
when introducing the others axis. In fact everything is coupled in a LV when the roll rate
appears, and there are also some control problems due to the presence of the roll and the
pitch and yaw axis alternation. Making a multi-axis control is similar to duplicating the
work done for one axis. The total number of states considered will be six instead of three
and two control inputs will be considered instead of one. A new wind profile could be
design for the yaw, but from now on the wind is not going to be considered.
Due to this coupling, and to the possibility to reach instability it is interesting to design
a new rigid body controller taking the coupling into account. This new controller must
manage the control of the rigid body (of each axis) and the coupling. So in fact, there is
going to be two controllers for each axis, making a total of four. The controller will have
two inputs (pitch error and yaw error) and two outputs (δp and δy ) and can be expressed
like [ ]
K11 K12
(5.1)
K21 K22
Where K11 and K22 will manage the rigid body behaviour and K12 together with K21
will manage the coupling. Hence K11 and K22 will have a very similar shape to Krigid and
K12 together with K21 will filter the roll rate frequency to avoid the coupling. It is similar
to the flexible modes case but for the roll rate.
91
CHAPTER 5. MULTI-AXIS CONTROLLER
1.8 1.8
1.6 1.6
1.4 1.4
1.2 1.2
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 10 20 30 40 50 0 10 20 30 40 50
1 0.4
0.8
0.3
0.6
0.2
0.4
0.1
0.2
0 0
−0.2
−0.1
−0.4
−0.2
−0.6
−0.3
−0.8
−1 −0.4
0 10 20 30 40 50 0 10 20 30 40 50
θ̇ = pψ + q
ψ̇ = −pθ + r
Izz − Ixx
q̇ = −k1 δp + a6 α + pr
Iyy
Ixx − Iyy
ṙ = k1 δy + a6 β + pq
Izz
( ) ( ) (5.2)
T −D −T δyb + Lβ βb −T δpb − Lα αb
ẍ = −ψ +
m m m
( )
T −D Lβ ∆β − T ∆δy
ÿ = − ψ+ + pż
m m
( )
T −D −Lα ∆α − T ∆δp
z̈ = − θ+ − pẏ
m m
Rewriting these equations in a state space form:
θ̇ 0 1 p 0 0 0 θ
q̇ a 0 p · In a6 0 0
6 0 0 q
v
ψ −k1 0 [ ]
δp
ψ̇ −p 0 0 1 0 0
= −a7 r + 0 k1
ṙ 0 −p · In a7 0 0 v −a3 δ
0 y
Z̈ −a1 0 0 0 −a2 −p Ż
0 −a3
Ÿ 0 0 a4 0 p −a5 Ẏ
θ
q
[ ] [ ] [ ][ ]
θ 1 0 0 0 0 0
ψ 0 0 δp
= + 0 0 δy (5.3)
ψ 0 0 1 0 0 0
r
Ż
Ẏ
With:
−D
a1 = Lα +T
m a2 = Lα
mv
T Lα ℓGA
a3 = m a6 = Iyy
T ℓCG
Lα = qSCNα k1 = Iyy
L +T −D
β Lβ (5.4)
a4 = m a5 = mv
Lβ ℓGA
a7 = Iyy Lβ = qSCNβ
In = 1 − IIxx
yy
In figure 5.2 only the system was drawn. To avoid overbook the figure, the weighting
functions were not included, but they still be included in the design.
weighting functions can be used in both axis. In fact, the weighting functions defined in
section 4.2 were thought in a way such as to have a desired launcher behaviour satisfying
the requirements. Nothing has changed from this point, i.e the launcher has to satisfy the
desired requirement independently of the number of axes considered. That is why it is
possible to reutilise the weighting functions without introducing, a priori, any modification.
Bode Diagram
30
20
To: Out(1)
10
0
Magnitude (dB)
−10
−20
40
30
20
To: Out(2)
10
−10
−20
0 0
10 10
Frequency (rad/sec)
After following the same procedure than for the rigid controller, the controller designed
looks like the one plotted in figure 5.3. One can notice that there is an important peak at
the same frequency of the roll rate. This peak appears due to the roll rate coupling and
increases its value according to the roll rate value. 5.5.
The old rigid body controller was very focused on only one axis and cannot guarantee
20 30
20
To: Out(1)
To: Out(1)
0
10
−20
0
Magnitude (dB)
Magnitude (dB)
−40 −10
−60 −20
80 40
60 30
40
20
To: Out(2)
To: Out(2)
20
10
0
0
−20
−40 −10
−60 −20
−5 0 −5 0 0 0
10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
35
Time p (°/s)
30 30 10
40 10
roll rate
25
50 27
20
60 27
15
70 27
10
30 40 50 60 70 80 90
80 38
Time
90 38
any stability when introducing some coupling. This controller however, can manage this
coupling and it tolerates a variation in the roll rate. Nevertheless, as in the one axis case, it
is more interesting to define more than only one controller because this time the coupling
will vary if the roll rate evolves.
The shape of this new controller is shown in figure 5.7. One can notice that as pre-
dicted at the beginning of this chapter, the shape of the controller between θerror and δp
and between ψerror and δy looks like the first robust rigid body controller and the crossed
terms, are a filter acting in the roll rate frequency.
The table below sums up the robust stability (so the level of uncertainty allowed before
reaching instability) together with the roll rate(p).
3D Krigid(1,1) 3D Krigid(1,2)
40 40
20 20
Magnitude [dB]
Magnitude [dB]
0 0
−20 −20
−40 −40
100 100
80 5 80 5
10 10
60 60
0 0
40 10 40 10
time [s] 20 10
−5
time [s] 20 10
−5
frequency [rad/s] frequency [rad/s]
40
40
Magnitude [dB]
20
20
Magnitude [dB]
0
0
−20 −20
100 10
−5
80 100
−40
−4
60 0 80
10 −2 10
10 60
0 40
10 40
2
10 4 20 time [s] 5
10 20 time [s]
10 frequency [rad/s]
frequency [rad/s]
S T
From: r From: r
10 100
0 0
To: [+r−Grigidn(1)]
To: [+Grigidn(1)]
−10
−100
−20
−200
−30
Magnitude (dB)
Magnitude (dB)
−40 −300
−50 −400
0 0
To: [+t−Grigidn(2)]
−100 −100
To: [+Grigidn(2)]
−200 −200
−300 −300
−400 −400
−4 −2 0 2 4 −4 −2 0 2 4
10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
KS alpha output
20
To: [+Ksec(1)]
0
0
−20 −50
Magnitude (dB)
−40
Magnitude (dB)
−100
−60
20
−150
0
To: [+Ksec(2)]
−200
−20
−250
−40
−60 −300
−4 −2 0 2 4 −4 −2 0 2 4
10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
−50
Magnitude (dB)
−100
−150
−200
−250
−300
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
(c) Beta
Figure 5.9: KS, Alpha and Beta bode plot from θref
S T
From: t From: t
0 0
To: [+r−Grigidn(1)]
−100 −100
To: [+Grigidn(1)]
−200 −200
−300 −300
Magnitude (dB)
Magnitude (dB)
−400 −400
20 100
0
To: [+t−Grigidn(2)]
0
To: [+Grigidn(2)]
−100
−20
−200
−40
−300
−60 −400
−5 0 5 −5 0 5
10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
KS alpha output
20
To: [+Ksec(1)]
0
0
−20 −50
Magnitude (dB)
−40
Magnitude (dB)
−100
−60
40
−150
20
To: [+Ksec(2)]
0 −200
−20
−250
−40
−60 −300
−4 −2 0 2 4 −4 −2 0 2 4
10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
−50
Magnitude (dB)
−100
−150
−200
−250
−300
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
(c) Beta
When introducing them, as it was expected, system becomes stable again. In fact the
filter is introduced twice, one for each axis. Figure 5.4.1 reflects the new scheme of the
model with all its elements without the weighting functions.
To: [+Grigidn(1)+Gflexn1]
2.5
0.5
2
1.5
0
1
0.5
−0.5
0
Amplitude
Amplitude
−1 11 −0.5
x 10
10 3
To: [+Grigidn(2)+Gflexn2]
To: [+Grigidn(2)+Gflexn2]
2.5
2
5
1.5
1
0 0.5
−5 −0.5
0 10 20 30 40 0 10 20 30 40 0 20 40 60 80 100 0 20 40 60 80 100
Time (sec) Time (sec)
(a) Without any filter (b) Using the bending modes filter
S T
From: r From: r
20
50
To: [+Grigidn(1)+Gflexn1]
0
To: [+r−Grigidn(1)]
0
−50
−20 −100
−150
−40
Magnitude (dB)
Magnitude (dB)
−200
−250
−60
0 200
To: [+Grigidn(2)+Gflexn2]
To: [+t−Grigidn(2)]
−100 0
−200 −200
−300 −400
−400 −600
−5 0 5 −4 −2 0 2 4 6
10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
From: r
40
20
To: [+Ksec(1)]
−20
Magnitude (dB)
−40
−60
40
20
To: [+Ksec(2)]
−20
−40
−60
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
(c) KS
S T
From: t From: t
0 200
To: [+Grigidn(1)+Gflexn1]
0
To: [+r−Grigidn(1)]
−100
−200
−200
−400
−300
Magnitude (dB)
Magnitude (dB)
−600
−400 −800
50 200
To: [+Grigidn(2)+Gflexn2]
0
To: [+t−Grigidn(2)]
−200
−50
−400
−100
−600
−150 −800
−6 −4 −2 0 2 4 −4 −2 0 2 4 6 8
10 10 10 10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)
KS
From: t
40
20
To: [+Ksec(1)]
0
−20
Magnitude (dB)
−40
−60
40
20
To: [+Ksec(2)]
0
−20
−40
−60
−4 −2 0 2 4
10 10 10 10 10
Frequency (rad/sec)
(a) KS
The main conclusion of this study is that it is possible to design a complete controller
(rigid body controller, bending modes filter and drift controller) using a robust technique
and taking the desired requirements into account since the beginning. The time simula-
tions confirmed that the system was stable for all the situations and that the structural
requirements (drift and angle of attack) were satisfied. However other conclusions can be
extracted.
A classical controller (such a PD controller) will guarantee stability at least while the
synthesis model stays very simple (two or three states at maximum). When having a simple
model, the PD controller can assume the role of stabiliser and performances guarantor but
with its own limitations (design point, low uncertainty level...). Between these limitations
there is the need of using a filter for the bending modes and something to reduce the drift
or the angle of attack. In addition to adapt the controller to the time variant parameters,
it was necessary to introduce the gain scheduling technique, defining several controllers for
different points. This technique had as drawback some implementation problems in time
simulations like bumps appearance in the switching process or even instability in a worst
case.
The classical controller was designed using the desired closed loop performances of the
system and considering that parameters are time invariant and well known. The role of
the robust controller is to design a controller taking into account the desired performances
but also introducing some perturbations or uncertainties in the parameters. Using the
µ − synthesis technique a robust controller was successfully designed for the rigid body.
This controller presented similar performances in gain and phase margin in front of the
classical controller and had bigger robustness.
Another important difference lies in the design method. Taking the bending modes as
example, the filter is designed by knowing the shape it should have without considering
the requirements of the system, so the filter obtained can stabilise the system but will not
consider to minimize the error, to have a good close-loop behaviour or any of the desired
requirements. However, when the filter is designed using the µ − synthesis technique, the
filter is fruit of the system together with the requirements. It keeps the desired shape
but filtering the necessary frequencies and because it was designed by a robust technique,
stability is guarantee in advance and there is an indicator of how well the desired perfor-
mances are satisfied. Results shown that it was possible to define a filter and to keep a
103
CHAPTER 5. MULTI-AXIS CONTROLLER
robust system, while it was almost impossible by doing it manually or using the desired
shape.
The advantages of using a robust technique can be extrapolated to any situation where
a new controller or an improvement of an old one could be necessary. For example, to
minimize the angle of attack it was necessary to add a new feedback and to introduce a
controller. The introduction of the controller reduced the angle of attack from 5.2°to 2.8°.
As for the bending modes, instead of using a classical gain (that could have worked) a
robust controller was used. Acting in the same way that in the other cases and defining
the desired behaviour of the system, the µ − synthesis technique brings a controller sat-
isfying in the best possible way all the desired behaviour and guaranteeing stability. This
technique can be used for complex situations like multi-axis problem. A controller taking
the coupling between the different axes into account was successfully designed, showing
that the robust control is a good choice for high complexity problems
Keeping in mind that the robust controller was successfully designed next steps would
be to achieve similar results for the multi-axis scenario. The rigid body controller was
already defined and it was shown that it was not necessary to introduce any new filter but
it is still necessary to realise a complete time simulation in a non-linear simulator. After
that it could be interesting to define the roll rate and the roll as states, to synthesise a
new controller and to implement it in a 6-DOF time simulation.
It is also important to remark the difficulties found during the designing process. The
main drawback was the non-convexity of the algorithm. That means there is no way to
guarantee an optimal result. The second problem was the definition of the weighting func-
tions, used for the synthesis model of the robust controller. There was also an important
computational constraint and some implementations problems. As it is explained in annex
D when using a gain scheduling techniques the controllers used need to be similar and have
not to present important peak differences.
This study may be a good basis and a reference for a further study using LPV tech-
niques. The robust controller can be designed using LPV techniques where controllers can
be designed in one shot over the entire envelope. The rate for the multi axis system can
become an LPV parameter that can be scheduled making a controller for pitch, yaw and
roll possible.
[1] Arthur L. Greensite. Control Theory Volume II : Analysis and Design of Space Vehicle
Flight Control Systems. Spartan Books, 1971
[2] Ph. Saunois. Comparative Analysis of Architectures for the Control Loop of Launch
Vehicles during Atmospheric Flight. EADS Space Transportation, France
[3] LT. Andrew Allen Martin. Model Predictive Control for Ascent Load Management of
a Reusable Launch Vehicle. Massachusetts Institute of Technology, June 2002.
[4] James A. Frosch, Donald P. Vallely. Saturn AS-501/S-IC Flight Control System De-
sign. J.Spacecraft Vol 4 Nº 8, August 1967
[5] Cristophe R. Roux, Irene Cruciani. Roll Coupling Effects on the Stability Margins for
Vega Launcher. Guidance, Navigation and Control Conference and Exhibit, August
2007. AIAA 2007-6630
[6] Bong Wie, Wei Du, Mark Whorton. Analysis and Design of Launch Vehicle Flight
Control Systems. Guidance, Navigation and Control Conference and Exhibit, August
2008. AIAA 2008-6291
[7] Wei Du, Bong Wie. Ascent Flight Control of Ares-I Creq Launch Vehicle in the Event
of Uncontrolled Roll Drift. Guidance, Navigation and Control Conference and Exhibit,
August 2009. AIAA 2009-5957
[8] Yasuhiro Morita. An Idea of Applying µ-Synthesis to Launcher Attitude and Vibration
Control Design. Journal of Vibration and Control, 2004, Vol. 10, Nr. 9, p.1243-1254
[9] Dale F. Enns. Rocket Stabilization as a Structured Singluar Value Synthesis Design
Example, June 1991.
[11] Choong-Seok Oh, Hyochoong Bang, Chang-Su Park. Attitude control of a fexible
launch vehicle using an adaptative notch filter: Ground experiment. Control Engi-
neerign PRactice, 2008, Vol. 16 Nr. 1, p 30-42
[12] Lazzenec,H., Pilotage des Missiles et des Véhicules Spatiaux, Dunod, Paris, 1966.
105
REFERENCES
[13] Michael A. Creagh,Rick Lind, H-infinity Control for Attitude Manoeuvres of a Spin-
ning Asymmetric Vehicle.Guidance, Navigation, and Control Conference, August
2009. AIAA 2009-5641
[14] Renato Lafranconi, Miguel Lopez, The Small Launcher for Europe
[15] M.Gauvrit, P.Apkarian, Commande robuste des systèmes linéaires, SUPAERO (1994)
d
(mi R˙ i ) = mi R¨i − ṁi ci (A.2)
dt
where the effect of variation in mass is accounted for. Noting
R i = R o + ρi
R˙ i = R˙ o + ρ̇ + w × ρ
107
ANNEX A. COMPLETE RIGID BODY DYNAMIC
F ≡ applied force
mR¨o ≡ d’Alembert force
2m(w × ρ˙c ) ≡ Coriolis force
m(ẇ × ρc ) ≡ Euler force
mw × (w × ρc ) ≡ centrifugal force
Σṁi ci ≡ thrust due to variation in mass ≡ FT
For purpose of writing the trajectory equations, the terms in equations A.1 and A.2
that are due to bending,sloshing and jet damping are negligibly small and will be neglected.
In addition, for most large booster vehicles, the motion of the mass center relative to a
fixed point on the body is small, and so is the rotation vector w. Consequently terms
involving products of w,ρ̇ and ρ̈ will be dropped.
Applying all this simplifications, equations A.1 and A.2 are reduce to
F + FT = mR¨o + mẇ × ρc
d (A.6)
Mo + MT = (I · w) + mρc × (R¨o + ρ¨c )
dt
F External forces
FT Thrust term Σṁi ci
Mo External moments
MT r Thrust deflection Σρi × ṁi ci
Now, replacing R¨o by its expression and in expanded form, equation A.6 may be written
as
[ ]
FA + Fg + FT = m U̇ + w × U + ẇ × ρc
[ ] (A.7)
MA + Mg + MT = I · ẇ + I˙ · w + w × (I · w) + mρc × U̇ + w × U + ρ¨c
1. The mass center coincides with the origin of the reference system
A.2.1 Gravity
Gravity is an external force that need to be transform to the body axis reference. Using
as external reference a fixed Earth reference gravity can be expressed like:
xE 0
yE = 0 (A.13)
zE g
To express the gravity in the body axis reference, it is necessary to use the transformation
matrix [T ]bT . This matrix will be presented further in the section A.3.
xb 0
yb = [T ]bT · 0
zb g
(A.14)
xb − sin θ · g
yb = sin φ cos θ · g
zb cos φ cos θ · g
And the force suffered will be equal to the mass multiplied by the gravity.
A.2.2 Thrust
The thrust due to the rocket engines is one of the major forces acting on the LV during
its flight. Swivelling of the thrust vector is also the primary means by which the LV
attitude is controlled.
The forces and torque generated are given by:
FT x = T (t) cos(δp )
FT y = −T (t) sin(δy )
FT z = −T (t) sin(δp ) (A.15)
MT y = −T (t)ℓCG sin(δp )
MT z = T (t)ℓCG sin(δy )
where ℓCG is the distance between the nozzle swivel point C and the center of gravity G.
Equation A.15 emphasize that the thrust is a function of time.
Aerodynamic Forces and Torques The interaction between the LV and the atmo-
sphere in which it flies generates aerodynamic forces and torques. This interaction is only
significant during the early stages of flight and typically has a destabilizing effect on the
LV dynamics.
The forces and torques due to aerodynamic loads will be derived using quasi-steady-
state aerodynamic theory. The aerodynamic components of interest are given by:
FAx = −q(t)SCA
FAy = q(t)SCY
FAz = −q(t)SCN (A.16)
MAy = q(t)SCN ℓGA (t)
MAz = q(t)SCY ℓGA (t)
where it was assumed that FAx and FAz act in the negative xb and zb directions respectively
as shown in figure 1.4. It is important to emphasize that the dynamic pressure q and the
distance ℓGA between the aerodynamic center and the COG both depend strongly on time
S reference surface
CA coefficient of x-aerodynamic force
CN coefficient of z-aerodynamic force
Since the LV is not a lifting body there are no intrinsic aerodynamic torques, so that
the expression of the aerodynamic torques in equation A.16 has the very simple expression
of a force times a length. Furthermore, FAx is simply the aerodynamic drag which is essen-
tially independent from perturbations. Instead, the CN coefficient appearing in equation
A.16 is typically a function of the angle of attack α, its rate α̇ and the pitch rate θ̇. A
linear dependence of CN with respect to some steady state values of the aforementioned
variables, can be obtained by classical Taylor series, where the coefficients of the series
are the classical stability derivatives. For LV having little or no lifting surfaces the only
stability derivative of real importance is typically the one associated with α, which we
denote with CN α = ∂CN /∂α. This stability derivative is, however, a function of Mach for
transonic and supersonic speeds. Furthermore, in the case of long slender LV, CN α is a
function of position along the vehicle, CN α (x) is therefore written that way to emphasize
this fact.
In order to completely define FAz one can start by introducing the local angle of attack
for the rigid/flexible LV,
(ℓOG − x) ˙ t)
∂ξ(x, t) ξ(x,
αloc (x) = α + θ̇ − − (A.17)
U ∂x U
where α = arctan((żb − W )ẋb ), ℓOG is the distance between the origin and the center of
gravity of the LV and ξ(x, t) is the displacement due to the bending modes.
Since both CN α (x) and αloc (x) depend on x the hole expression must be integrate on
the whole length L of the LV in order to obtain the desired expression of the aerodynamic
force. This gives:
∫ L
1 2
FAz = − ρU S CN α (x)αloc (x) dx
2 0
(∫ L ∫
1 2 1 L
= − ρU S CN α (x) dx α + CNα (x)(ℓOG − x) dx θ̇ (A.18)
2 0 U 0
)
∑∫ L ∑ 1 ∫ L
+ CNα σi (x) dx qi (t) − CNα ϕi (x) dx q̇i (t)
0 U 0
i i
The last two terms in equation A.18 represent the aeroelastic terms. Everything done for
FAz , α and My is equivalent for FAy , β and Mz due to the axis-symmetry of the launcher.
the reference trajectory. Denoting Sb as the vehicle body axes and ST as the trajectory
axes, the relation between them can be expressed by the three Euler angles (ψ, θ and φ)
as follows:
• Rotate Sb about the Zb axis by an angle psi in the positive direction
• Then rotate about the YP axis by an angle θ in the positive direction
• Finally, rotate about the XP axis by an angle φ in the positive direction
This brings Sb into ST . Defining [T ]bT as the transformation matrix
1 0 0 cθ 0 −sθ cψ sψ 0
[T ]bT = 0 cφ sφ 0 1 0 −sψ cψ 0 (A.20)
0 −sφ cφ sθ 0 cθ 0 0 1
Note that inverse of the matrix [T ]bT is equal to its transverse. Assuming small angles
(cos θ ≃ 1 ; sin θ ≃ θ) for θ and ψ, [T ]T b may be expressed like
1 −ψ θ
[T ]T b = ψ cos φ − sin φ (A.21)
−θ sin φ cos φ
So using the matrix [T ]T b it is easy to find the relation between the body angular rates
and the trajectory ones
wYT ≡ θ̇ = p · ψ + q cos φ − r sin φ
(A.22)
wZT ≡ ψ̇ = −p · θ + r cos φ + q sin φ
For control synthesis purposes it is necessary to linearise the rigid body motion of the
LV about a trajectory fixed reference frame and to obtain a perturbed motion about the
reference trajectory, given by a time scheduled look-up table.
The perturbed equation of motion in body axes can be obtained as:
¨
∆x x¨b x¨T
¨ = [T ]LO y¨b − y¨T
∆y (A.23)
¨
∆z z¨b z¨T
And writing the body states in term of reference variables as
qo = qL + ∆q
q˙o =≃ ∆q̇
ro = rL + ∆r
r˙o =≃ ∆ṙ
z˙o = z˙L + ∆ż
(A.24)
y˙o = y˙L + ∆ẏ
αo = αL + ∆α
βo = βL + ∆β
δpb = δpL + ∆δ
δyb = δyL + ∆δ
Then playing with the equations the result for little deviation from the reference be-
come:
With this it is very easy now to build a state space model. Choosing the desired level
of states different models can be defined. For example, the system built in 3.2 can be
easily obtained from this equations imposing φ = β = p = 0.
Tuning a controller
Until now the different values of Kp and Kd were found just comparing the denominator
of the transfer function to the denominator of a second order system (s2 + 2ξw + w2 ).
Comparing both expression one can fix the desired damping and frequency. However,
normally systems are not as easy as a second order or as easily identifiable as these one.
For that reason it is necessary to find other methods to find out the values of the controller.
The engineering software MATLAB offer a tool that allow to calculate an optimal value
for the controller satisfying some constraint in time or frequency domain.
1. One can only impose one time restriction to be satisfied by the system even if pa-
rameters change with time. That means that even if parameters change the time
performance to reach is always the same and the controller is going to vary to reach
this performance.
2. Different time restrictions are defined because the system is going to be different at
each time slide and time requirement are also going to be different. The controller
will be adapted at each slide of time for the specifics time requirement so we are
optimizing all the time domain.
Even if the second approach could look more efficient that the first one, we can get
some good results with the first approach because the final time response of the system
is going to be satisfactory (boundaries and constraint are going to be satisfied) however,
115
ANNEX B. TUNING A CONTROLLER
values of the controller parameters could be higher or more restrictive in some time slides
that needed.
Margins need to be checked a posteriori because this tool only provides values that
satisfy (if possible) the constraint presented in the time response. There is no guarantee
even of stability. For example taking back the three states LV model presented in 3
2.5 1.4
1.2
2
1.5
Amplitude
Amplitude
0.8
0.6
1
0.4
0.5
0.2
0 0
0 5 10 15 20 25 30 35 40 0 0.5 1 1.5
Time (sec) Time (sec)
Figure B.1: Comparison of the step response before and after using the PD optimization
tool
way to control overshoots, time response and pole position with the advantage that one
can guarantee stability at least for the nominal case but the drawback that time response
is not so intuitive like in the previous case. Imposing some temporary boundaries will
produce a controller that satisfies these boundaries but only for the time simulation. The
system could have one unstable root (very slow) and be unstable for higher time values.
Working directly with the system’s roots avoid this problem and control time response.
Nevertheless as it was said before, the problem of time variant parameters force to find
different restrictions for each time slide.
Perhaps one important difference rest in the fact that time domain optimisation is
easier to implement in a loop due to the fact that can be defined by a command while the
frequency optimisation needs to be done with the GUI.
Another option to manage the problem of a controller design when a lot of parameters
appears is trying to get the controller in one step. For example, instead of designing a rigid
body controller and after that a notch filter, why not design it in one step?. Theoretically
the algorithm will calculate the controller necessary to satisfy the requirements so pre-
senting the complete synthesis model, i.e rigid body system, bending modes and weighting
functions, a very similar solution should be given. The problem lies in the non-convexity
of the problem. When a solution is found there is no guarantee of optimal solution. In-
stead of having a big and complex system and trying to find a solution directly, making a
two steps approach a first problem easier is solved and then even if the performances are
degraded and system becomes unstable adding the flexible modes, the starting point for
this situation is very different from the other one when systems starts from zero. In this
section a one step controller for the rigid body and the bending modes is designed for each
time slides in order to compare the results achieved.
3D plot for the one step controller
40
20
Magnitude [dB]
−20
−40 80
−5
10
60
0
10 40
10
5 20 time [s]
frequency [rad/s]
119
ANNEX C. GETTING THE CONTROLLER IN ONE STEP
The results obtained are poor that the ones obtained with the two step controller
especially for the robust stability where the % of uncertainty tolerated is fewer. So, it
seams that making the two steps approach, the algorithm can find a better solution than
making only one step. The same can be done for the drift control. Instead of keeping the
rigid body controller it is possible to try to solve the problem in one step. However, even
if the algorithm can find a solution and the closed loop is stable, when making the time
simulation results and introducing the real wind profile, the system oscillates a lot, being
near to instability.
70
65
60
55
50
45
40
35
30
25
20
20 30 40 50 60 70 80 90 100
Perhaps the complexity of finding a solution when trying to solve the problem in shot,
makes necessary to reduce the time slides and to introduce more controllers. However,
because that is a comparison between both controllers, when using the same number and
in the same situation, the two step controllers give not only better results, but also less
computer time consumption (solution is founded faster).ss
Time Simulation
70
65
60
55
50
45
40
35
30
25
20
20 30 40 50 60 70 80 90 100
When interpolating two controllers a transition duration is defined to switch from one
to the other. Between this time controllers are interpolated. When time is over, one of
the designed controllers is used until the next transition point appears. If the duration is
very small and the difference between controllers is important then the system will bump
when switching from one controller to the other. In figure D.1 one can see the difference
between using o.1s or 5s as duration for the transition period. When using 5s bumps are
smaller than with 0.1s. However, time can not be put as big as the time interval between
two designed points. Making a very big duration will make the system switch a lot of time
121
ANNEX D. TIME SIMULATION
between different controllers, and this can produce important oscillations in very small
time periods which can produce instability in some cases.
In the other hand, if the time evolution of the controllers is very rough that means
that the difference to cover in the interpolation is bigger, and when switching from one
controller to the other bumps can appear again.
40
30
20 30
10
0 20
Magnitude [dB]
Magnitude [dB]
−10
10
−20
−30 0
−40
−50 −10
−60
−5
10 −20
−5
10
0 10
0
10
5
60 70 80 90 10
5
10 30 40 50 60 70 80 90
30 40 50
frequency [rad/s] time [s] frequency [rad/s] time [s]
Figure D.2 shows a controller where which has a max difference between two design
points of 30dB and a second one with less than 20dB of difference. When making a time
simulation with the same transition duration one can see how bumps appear in the simu-
lation of the first controller (figure D.3.
70 70
65 65
60 60
55 55
50 50
45 45
40 40
35 35
30 30
25 25
20 20
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
(a) Time simulation for the first controller (b) Time simulation for the second controller
As it was shown, when doing a time simulation it is important to check either the
shape and the transition duration. If the shape is very rough perhaps a high transition
duration is necessary.
1.2 0
−0.5
1
−1
0.8
−1.5
0.6
−2
0.4
−2.5
0.2 −3
0 −3.5
0 10 20 30 40 50 0 10 20 30 40 50
1
0
0.8
0.6
−200
0.4
−400 0.2
0
−600
−0.2
−0.4
−800
−0.6
−1000 −0.8
0 10 20 30 40 50 0 10 20 30 40 50
0.06 18000
16000
0.05
14000
0.04 12000
10000
0.03
8000
0.02 6000
4000
0.01
2000
0 0
0 10 20 30 40 50 0 10 20 30 40 50
450 −0.2
400
−0.3
350
−0.4
300
−0.5
250
−0.6
200
−0.7
150
−0.8
100
50 −0.9
0 −1
0 10 20 30 40 50 0 10 20 30 40 50
0.1 500
0.09
0
0.08
0.07
−500
0.06
0.05 −1000
0.04
−1500
0.03
0.02
−2000
0.01
0 −2500
0 10 20 30 40 50 0 10 20 30 40 50
0 0.06
−10
0.04
−20
0.02
−30
0
−40
−0.02
−50
−60 −0.04
−70 −0.06
0 10 20 30 40 50 0 10 20 30 40 50
4
x 10
4.5 0.5
4
0
3.5
−0.5
3
2.5 −1
2 −1.5
1.5
−2
1
−2.5
0.5
0 −3
0 10 20 30 40 50 0 10 20 30 40 50
0
3
−100
2
−200
−300 1
−400
0
−500
−1
−600
−700 −2
0 10 20 30 40 50 0 10 20 30 40 50
0
2.5
−0.5
2
−1
−1.5 1.5
−2
1
−2.5
0.5
−3
−3.5 0
0 10 20 30 40 50 0 10 20 30 40 50
0
600
−0.5
500
−1
400 −1.5
300 −2
−2.5
200
−3
100
−3.5
0 −4
0 10 20 30 40 50 0 10 20 30 40 50
0.25 200
0.2
−200
−400
0.15
−600
−800
0.1
−1000
−1200
0.05
−1400
0 −1600
0 10 20 30 40 50 0 10 20 30 40 50
0
0.2
−5
0.15
−10
−15 0.1
−20 0.05
−25
0
−30
−0.05
−35
−40 −0.1
0 10 20 30 40 50 0 10 20 30 40 50
2 1000
1.5
−1000
−2000
1
−3000
−4000
0.5
−5000
−6000
0
−7000
−0.5 −8000
0 10 20 30 40 50 0 10 20 30 40 50
20 2
1.5
−20
−40
1
−60
−80
0.5
−100
−120
0
−140
−160 −0.5
0 10 20 30 40 50 0 10 20 30 40 50
0.6 6000
0.4
5000
0.2
4000
0
3000
−0.2
2000
−0.4
1000
−0.6
−0.8 0
0 10 20 30 40 50 0 10 20 30 40 50
−0.4
100
−0.6
80
−0.8
60 −1
−1.2
40
−1.4
20
−1.6
0 −1.8
0 10 20 30 40 50 0 10 20 30 40 50
0.14 50
0
0.12
−50
0.1 −100
−150
0.08
−200
0.06
−250
0.04 −300
−350
0.02
−400
0 −450
0 10 20 30 40 50 0 10 20 30 40 50
0
0.08
−1
−2 0.06
−3
0.04
−4
0.02
−5
−6 0
−7
−0.02
−8
−9 −0.04
0 10 20 30 40 50 0 10 20 30 40 50
2.5 200
2 0
−200
1.5
−400
1
−600
0.5
−800
0
−1000
−0.5
−1200
−1 −1400
−1.5 −1600
0 20 40 60 80 100 0 20 40 60 80 100
200 2
150
1.5
100
1
50
0.5
0
−50 0
−100
−0.5
−150
−1
−200
−1.5
−250
−300 −2
0 20 40 60 80 100 0 20 40 60 80 100
2 1200
1.5 1000
1 800
0.5 600
0 400
−0.5 200
−1 0
0 20 40 60 80 100 0 20 40 60 80 100
200
0.5
150
0
100
50 −0.5
0
−1
−50
−1.5
−100
−150 −2
0 20 40 60 80 100 0 20 40 60 80 100
0.15 10
0.1 −10
−20
0.05 −30
−40
0 −50
−60
−0.05 −70
−80
−0.1 −90
0 20 40 60 80 100 0 20 40 60 80 100
10 0.1
5 0.05
0 0
−5 −0.05
−10 −0.1
−15 −0.15
−20 −0.2
0 20 40 60 80 100 0 20 40 60 80 100
0.06 0.5
0.05 0
−0.5
0.04
−1
0.03
−1.5
0.02
−2
0.01
−2.5
0
−3
−0.01 −3.5
−0.02 −4
0 10 20 30 40 50 0 10 20 30 40 50
1.5 0.06
1 0.05
0.04
0.5
0.03
0
0.02
−0.5
0.01
−1
0
−1.5 −0.01
−2 −0.02
0 10 20 30 40 50 0 10 20 30 40 50
−3
x 10
20 0.8
0.7
15
0.6
0.5
10
0.4
5
0.3
0.2
0
0.1
−5 0
0 10 20 30 40 50 0 10 20 30 40 50
0.4
0.35 −0.01
0.3
0.25 −0.015
0.2
0.15 −0.02
0.1
0.05 −0.025
−0.05 −0.03
0 10 20 30 40 50 0 10 20 30 40 50
0.07 0.5
0.06 0
0.05 −0.5
0.04 −1
0.03 −1.5
0.02 −2
0.01 −2.5
0 −3
0 10 20 30 40 50 0 10 20 30 40 50
1 0.03
0.02
0.5
0.01
0
0
−0.5
−0.01
−1
−0.02
−1.5 −0.03
−2 −0.04
0 10 20 30 40 50 0 10 20 30 40 50
70 1.4
65 1.2
60 1
55 0.8
50 0.6
45 0.4
40 0.2
35 0
30 −0.2
25 −0.4
20 −0.6
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
5
x 10
2 2.5
2
1
1.5
0 1
0.5
−1
0
−2
−0.5
−3 −1
−1.5
−4
−2
−5 −2.5
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
(c) α (d) Qα
500
400
300
200
100
−100
−200
20 30 40 50 60 70 80 90 100
(e) Drift
70 4
65
3
60
55
2
50
45 1
40
0
35
30
−1
25
20 −2
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
1 2
0
1
−1
0
−2
−1
−3
−2
−4
−5 −3
−6 −4
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
(c) α (d) Qα
700
600
500
400
300
200
100
−100
−200
20 30 40 50 60 70 80 90 100
(e) Drift
70 0.6
65
0.4
60
55 0.2
50
0
45
−0.2
40
35 −0.4
30
−0.6
25
20 −0.8
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
1 2
1.5
0.5
1
0
0.5
−0.5
0
−1
−0.5
−1.5
−1
−2
−1.5
−2.5 −2
−3 −2.5
20 30 40 50 60 70 80 90 100 20 30 40 50 60 70 80 90 100
(c) α (d) Qα
500
400
300
200
100
−100
20 30 40 50 60 70 80 90 100
(e) Drift
Robustness
This annex compile all the robust stability and performances details for each controller
used and for each slide of time.
Rigid body
Robust Stability
Instability Sensitivity
Design Point (%) Tolerate
Uncert Freq a6 (%) k1 (%) Wtvc (%)
30 91.3 – – 23 39 42
40 92 – – 19 39 42
50 96.6 667 0.0238 28 39 42
60 95.4 – – 20 39 261
70 106 667 0.0206 67 90 103
80 99.5 667 0.0060 43 40 43
90 137 667 0.0114 25 40 38
Robust Performances
Sensitivity
Design Point RP
a6 (%) k1 (%) Wtvc (%)
30 0.2636 6 11 16
40 0.2705 6 10 15
50 0.2736 6 10 15
60 0.2783 6 10 15
70 0.2864 6 10 22
80 0.2943 6 10 14
90 0.2980 6 10 14
135
ANNEX E. ROBUSTNESS
Flexible body
Robust Stability
Instability Sensitivity
Design Point (%) Tolerate
Uncert Freq Bend. Modes a6 (%) k1 (%) Wtvc (%)
30 24 24.1 53.2 99 0 0 5
40 25 25.1 53.2 99 0 0 5
50 26.7 26.7 53.3 99 0 0 5
60 43.7 43.9 22.1 91 0 1 9
70 41.1 41.3 32.4 91 0 0 12
80 12.9 12.9 27.6 98 0 0 3
90 54.1 54.4 31.2 92 0 1 12
Robust performances
Sensitivity
Design Point RP
Bend. Modes a6 (%) k1 (%) Wtvc (%)
30 0.1804 78 0 1 3
40 0.1871 77 0 0 3
50 0.1984 75 0 0 9
60 0.2723 48 6 10 14
70 0.2824 68 6 10 18
80 0.1130 93 0 0 3
90 0.2967 52 6 10 14
Robust Performances
Sensitivity
Design Point RP
a6 (%) k1 (%) Wtvc (%)
30 0.4606 4 9 11
40 0.4449 4 9 11
50 0.4445 4 9 12
60 0.4650 4 9 11
70 0.4946 4 9 10
80 0.5624 3 8 9
90 0.6012 3 8 9
Flexible Body
Robust Stability
Instability Sensitivity
Design Point (%) Tolerate
Uncert Freq Bend. Modes a6 (%) k1 (%) Wtvc (%)
30 98.5 113 3.59 24 28 49 59
40 98.5 115 24.7 70 10 33 29
50 89.6 122 5.15 14 60 66 22
60 91.9 113 0.60 1 19 39 41
70 66.8 73.1 0.51 1 20 37 43
80 120 120 27 76 21 36 27
90 115 219 5.13 1 28 56 41
Robust Performances
Sensitivity
Design Point RP
Bend. Modes a6 (%) k1 (%) Wtvc (%)
30 0.1824 1 7 11 15
40 0.3004 1 6 10 14
50 0.2142 2 7 11 15
60 0.3137 1 6 10 14
70 0.2328 1 7 11 15
80 0.3571 1 6 10 13
90 0.3610 0 5 10 13