Multivariable Sliding Mode Control Design For Aircraft Engines PDF
Multivariable Sliding Mode Control Design For Aircraft Engines PDF
Multivariable Sliding Mode Control Design For Aircraft Engines PDF
EngagedScholarship@CSU
ETD Archive
2011
Recommended Citation
Sangwian, Sirirat, "Multivariable Sliding Mode Control Design for Aircraft Engines" (2011). ETD Archive. 646.
https://engagedscholarship.csuohio.edu/etdarchive/646
This Thesis is brought to you for free and open access by EngagedScholarship@CSU. It has been accepted for inclusion in ETD Archive by an
authorized administrator of EngagedScholarship@CSU. For more information, please contact [email protected].
MULTIVARIABLE SLIDING MODE
ENGINES
SIRIRAT SANGWIAN
August 2009
at the
August 2011
This thesis has been approved
for the department of MECHANICAL ENGINEERING
and the College of Graduate Studies by:
I would like to thank Dr. Hanz Richter for being my advisor throughout this
project. With his expertise and his support, I am able to feed my passion of aviation
in the form of education and to obtain my master’s degree at the same time. I truly
appreciate all of the valuable time that Dr. Richter has spent on this project, without
him I would not have been able to make this thesis possible. I would like to express
my gratitude to Dr. Jerzy Sawicki and Dr. Lili Dong for serving as my committee
members.
I also would like to thank my family, especially my mother who always gives me
comfort and unconditionally loves me. Her role model has given me the courage to
never give up. In addition, I would like to acknowledge Dr. William Atherton who
inspired me to obtain my master’s degree at Cleveland State University and for his
University. Without CSU’s financial support, I never would have made it through.
MULTIVARIABLE SLIDING MODE CONTROL DESIGN FOR AIRCRAFT
ENGINES
SIRIRAT SANGWIAN
ABSTRACT
Many control theories are used in controlling aircraft engines. However, the multi-
variable sliding mode control is not yet established in this application even though it
has a lot of potential in dealing with complex and nonlinear systems such as aircraft
for an aircraft engine is presented in this thesis. The problem of chattering in the
sliding mode control is suppressed by the use of the boundary layer method. The con-
System Simulation 40k (C-MAPSS40k). Simulation results are analyzed and com-
pared to the results obtained from the baseline controller. The robust property of
multivariable sliding mode control is also examined by altering the flight condition of
the engine. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]
iv
TABLE OF CONTENTS
ABSTRACT iv
LIST OF TABLES xi
I INTRODUCTION 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
II AIRCRAFT ENGINES 7
2.2.1 Inlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Compressor . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 Combustor . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4 Turbine . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.5 Nozzle . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Ramjet . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 Turbojet . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 Turbofan . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.4 Turboprop . . . . . . . . . . . . . . . . . . . . . . . . . 14
v
III AIRCRAFT ENGINE CONTROLS AND C-MAPSS40K 18
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
MAPSS40k) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . 36
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
vi
5.6 Comparison Between the Sliding Mode Controller and the Baseline
Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
BIBLIOGRAPHY 87
APPENDIX 90
A MATLAB PROGRAMS 91
vii
LIST OF FIGURES
3.1 Engine Operating Envelope of Generic Turbojet and Turbofan (from [3]) 21
viii
5.7 Reference State and Actual State of ∆Nc vs. Time . . . . . . . . . . 62
5.9 Reference State and Actual State of VSV Command vs. Time . . . . 63
5.10 Reference State and Actual State of VBV Command vs. Time . . . . 63
5.16 Diagram of the Sliding Mode Control Logic Inside the SMC Block . . 68
ix
5.34 Control Input of Variable Stator Vanes vs. Time . . . . . . . . . . . . 80
x
LIST OF TABLES
xi
CHAPTER I
INTRODUCTION
Aircraft engines are complex dynamic systems with uncertain parameter varia-
as a control law for these systems. This thesis establishes practical procedures for
designing multivariable sliding mode control and applies them to a turbofan engine,
which is widely used in commercial aircrafts due to its efficiency and quieter opera-
tion. In addition, by utilizing the multivariable sliding mode control in creating the
control law for an aircraft engine, the horizon of the control theory for aircraft en-
gines is expanded. In this first chapter, the motivation behind the thesis is discussed
along with a brief history of aircraft engine controllers. The scope of the thesis is also
1.1 Motivation
Technology in aircraft engines has significantly improved from the first flight of
Gloster E28/39 in 1941 to the current world’s most powerful commercial jet engine
GE90. The Gloster E28/39 used a Whittle engine, known as the W1, generating
1
850 lb-thrust, while the GE90 is recognized by the Guinness Book of World Records
producing thrust at 127,900 lb-thrust [1]. With the engine technology continuously
advance in engine technology. New engines are more complex and powerful, therefore,
Current research in control theories used in aircraft engine control are focusing on
MIMO control methods have been utilized in controlling the aircraft engines, such
as: output feedback regulator (OFR), linear quadratic Gaussian (LQG), H-infinity,
and inverse Nyquist array(INA). However, a control technique such as sliding mode
control, which has a lot of potential in dealing with nonlinear and complex system like
aircraft engine, has been received less attention. Therefore, this thesis is developing
a controller based on multivariable sliding mode control for an aircraft engine. The
sliding mode controller is then tested using the turbofan engine simulation created
The main function of the engine controller is to be able to accurately control the
amount of thrust with respect to the position of the throttle regardless of changes
in the operating environment. Other than controlling the amount of thrust, the
engine controller can be used to “schedule engine geometry and augmentor fuel, pro-
vide fan and booster stall protection, control variable parasitic engine flows, improve
diagnostics” [2]. Sometimes, the monitoring part is separated into its own structure
fault can be the difference between life and death as well as hundreds to hundreds of
2
thousands of dollars. Therefore, the monitoring role is as important as the control-
ling role. It needs to be able to detect failure in the system and compensate for that
failure accordingly. The monitoring system also requires to predict an engine life or
engine component life before the engine or its components are no longer in acceptable
unexpected problems arise, fixing or tuning the controller is always an easier solution
engine parts.
Designing engine controllers is not an easy task and it has undergone many changes
over the past decades. Aircraft engines can vary from engine to engine due to manu-
facturing processes and a mismatch in engine components. Even the same engine can
be able to adapt and cope with each engine’s characteristics and deal with the slow
control development (1940s), engine controllers were initially created using mostly
mechanical parts such as cams, gear trains, linkages, and valves. These controllers
then became hydromechanical controllers (HMC) when hydraulic fluid was added to
the system. The control algorithm is limited due to the constraints in the mechanical
parts, which hinders the development of HMC to keep up with engine technologies.
In order to create more sophisticated HMC, more parts were added to the system to
accommodate its complexity. As a result, HMC became bigger and heavier, which
did not favor the engine design. Having more components also increased the operat-
ing and maintenance cost of the controllers. Therefore, HMC had slowly reached its
limit as an aircraft engine controller. With the advances in electronic circuit tech-
nology, engine controllers have evolved and became more computerized. As a result,
controller logics grew in complexity which improved controller performance and effi-
3
ciency, since the engine is able to operate closer to its limitations. In other words, the
efficiency of the engine is greatest when the engine operates at or near its maximum
limitations. Furthermore, the electronic controller also has longer service life, higher
precision, higher reliability, lower weight, easier backup, and lower operating cost of
case of a failure or pilot override. The electronic controllers are developed based on
In the early 1970s, electronic aircraft engine controllers were developed first in
analog and later in digital. These are called electronic control units (ECU). If the
ECU “controls the entire operation of an engine from startup to shutdown for the
engine thrust (or power)” [3], the ECU is considered to have “full authority”. Over the
past decades, the ECU has grown and expanded to become a standard control system
for jet engines. Many functions have been added to the control to improve engine
performance and diagnostics. The weight and size of controllers are also lighter and
engine controls (DEC) and full authority digital electronic controls (FADEC), created
by Pratt and Whitney, and General Electric, respectively. Moreover, the FADEC does
not have an override option for the pilot. All of the engine parameters are controlled
by the FADEC. Therefore, FADEC are designed with many redundancies because in
case of a total FADEC failure, the pilot will have no means to control or restart the
engine.
next step after the controller has been perfected is to create the source code for
the control logic. The source code is then compiled and downloaded onto a control
hardware. Finally, the control law is tested with an actual engine in a real time
setting.
4
1.3 Scope of Thesis
mode controller for an aircraft engine. To validate the developed control logic, the
MAPSS40k) [16]. The engine performance of the multivariable sliding mode controller
is compared to the engine performance of the default baseline controller that comes
with the C-MAPSS40k. Sliding mode control is known for its robustness, so the
To evaluate the robust property of the controller, the engine flight condition is altered.
There are six chapters in this thesis. Chapter 2 reviews the basic knowledge of
aircraft engines, where aircraft components are discussed along with type of aircrafts,
engine maintenance, and the standard practice of engine station numbering. Chapter
3 presents a brief history of control methods used in aircraft engine controls, including
engine characteristics and two instabilities of the engine: stall and surge. Chapter
concept of sliding mode control is introduced and organized in developing the control
law based on which sliding mode control is established. The problem of chattering in
sliding mode control is also discussed. Note that the control law is created in the form
of state space, where there are three control inputs and three control outputs. Hence,
the control law is for a MIMO system and to reduce wordiness, the prefix multivariable
is dropped and the control method will be mentioned as sliding mode control. Chapter
5 applies the sliding mode controller developed in chapter 4 to a turbofan engine and
implements the controller into the C-MAPSS40k. The simulation results are then
discussed and compared to the results obtained from a baseline controller, which
comes with the C-MAPSS40k. The robustness of the sliding mode controller is also
5
tested by altering the engine operating mode. To do so, the flight condition of the
engine is changed. Chapter 6 concludes this thesis paper with the summary of the
thesis, along with recommendation for the future work in the same subject.
6
CHAPTER II
AIRCRAFT ENGINES
materials, and technology of the time period when they were developed. Selecting
the right kind of engine to suit the aircraft depends upon the operating require-
ments, configuration, weight, dependability, and cost of the overall designed aircrafts.
[2]. To work with aircraft engines, one must have a strong understanding of their
functions of standard engine components, along with basic types of aircraft engines.
numbering of aircraft engine station are also included in this chapter. Knowledge of
these subjects is beneficial in designing and simulating the control law for the aircraft
engine.
7
2.2 Aircraft Engine Components
Each of the engines are different in configuration, but have some common parts
2.2.1 Inlet
The engine inlet is located in front of the compressor, where it guides the air
into the engine. Since thrust, F , is dependent on the mass flow rate from F =
ṁ(ue − u0 ) where ṁ is the inlet mass flow rate, u0 is the flight velocity, and ue is the
exhaust velocity, it is obvious that the inlet has a significant effect on the engine net
thrust. Designing the inlet is based upon the operating speed. Therefore, inlets are
classified into three types according to the operating speed of the aircraft, which are
2.2.2 Compressor
Once the air passes through the inlet, it is then compressed in the compressor to
increase the pressure of the air before being mixed with the fuel and ignited in the
combustor. Compressors come in two types: axial compressors and centrifugal com-
pressors. The main difference between these compressors is the path that air passes
through them. Air travels parallel to the axis of the rotation in the axial compressor,
The same type of compressors can also be joined together to create a multistage
popularly used as a multistage compressor since it is easy to link them together, due
to the parallel path of the air to the axis of the rotation. On the other hand, cen-
trifugal compressors need a passage for the air to be ducted back to the axis of the
compressor at each stage which complicates the system and reduces the efficiency of
8
the compressors. In addition, the extra passages of the air for each multistage cen-
trifugal compressor also cause higher aircraft drag due to an increase in the engine’s
size. There are also some undesired characteristics that can occur at the compressor
which can affect an entire engine. These instabilities are surge and stall which will
2.2.3 Combustor
After the air is pressurized, it is then combined with fuel in the combustor. The
combustor is sometime called a burner, since the air-fuel mixture is ignited in the
combustor. “The overall mixture of fuel and air varies over a wide range with chang-
ing engine speed, and the compressor outlet air varies in pressure and temperature
with altitude and flight Mach number as well as with engine speed” [5]. The com-
bustor consists of a case, diffuser, liner, snout, dome, fuel injector, and igniter. There
are three types of combustors based on the configurations of the combustion cham-
bers: annular, can, and can-annular. The annular is the most common type, widely
used in modern aircraft engines due to its better uniform combustion, uniform exit
temperature, lighter weight, and lower pressure drop compared to the other types of
combustors.
2.2.4 Turbine
The exhaust gas exits from the combustor, passing through the turbine which
coexists on the same shaft as the compressor. The turbine extracts energy from the
exhaust gas and uses that energy to primarily drive the compressor. In some engines,
this energy is also utilized to power fuel pumps, oil pumps, hydraulic pump, and
similar equipment. There are two common configurations for the connection between
the turbine and the compressor in the aircraft engines, which are a single-spool also
known as a single-shaft, and a two-spool. The single-spool structure has only one
9
turbine and one compressor. On the other hand, the two-spool has two turbines
positioned on two separate shafts. One turbine is a high pressure turbine attached to
a high pressure compressor and the other turbine is a low pressure turbine connected
to a low pressure compressor. In some rare cases, a third turbine is added to the
system and the engine is called a three-spool engine. Overall, the two-spool engine
has a better thermodynamic efficiency compared to the single-spool engine due to the
increase in the overall pressure ratio, which is the combustor inlet pressure divided by
the intake delivery pressure. On the other hand, the three-spool possesses a higher
cost compared to other engine types and presents a designing challenge due to its
2.2.5 Nozzle
Positioned after the turbine is the nozzle, where exhaust gas is released back to
the atmosphere, producing thrust. The nozzle is a shaped tube which can come in
different sizes and shapes depending on the application of the aircraft. The common
nozzle has two separate sections: the center nozzle and the annular nozzle. The
exhaust gas flows through the center nozzle while the fan flow is discharged through
the annular nozzle. The fan flow is the air ducted into the engine that did not go
through the combustion process. It bypasses the core engine and then merges with the
exhaust gas at the nozzle. Doing so improves thrust efficiency and reduces exhaust
noise. The convergent nozzle is the reduced model of the co-annular nozzle, having
only the center nozzle where all of the exhaust gas is converged by the shape of
the nozzle before being released back into the atmosphere. Lastly, the convergent-
divergent nozzle is fairly self-explanatory. The first section of the nozzle is exactly
like the convergent nozzle where the gas is converged and then diverged by the second
10
section of the nozzle. With this arrangement, the flow of the exhaust gas is able to
obtain supersonic speeds. The smallest cross section area of this type of nozzle is
called the throat, which is located between the first section and the second section of
the nozzle. The throat plays an important role in determining the amount of thrust
being produced by the nozzle by setting the mass flow rate, the exit velocity, and the
A basic aircraft engine can be created with an inlet, compressor, combustor, tur-
bine, and nozzle. However, with demands in a wide range of applications and envi-
ronments, aircraft engines come in many shapes, sizes, and configurations, which can
be categorized into four general types: ramjet, turbojet, turbofan, and turboprop.
2.3.1 Ramjet
The ramjet is the most basic form of a jet engine [5]. It only consists of an inlet,
a combustor, and a nozzle, as shown in Figure 2.1. Ramjet is also called scream
jet due to its very loud operating noise. Since ramjet does not have a compressor
section, it relies on the speed of the aircraft to compress the incoming air when it
rams into the engine, hence the name ramjet. Ramjets cannot produce thrust at
zero speed and therefore, a stationary aircraft needs an alternative propulsion system
to initially move the aircraft. As a result, ramjets are rarely used in a commercial
2.3.2 Turbojet
in Figure 2.2. The efficiency of the ramjet is increased as a result of the air pressure
11
Figure 2.1: Schematic Diagram of a Ramjet Engine (from [6])
and air temperature rise before the combustion process. Additionally, turbojets can
used centrifugal compressors initially, but soon after, axial compressors were used
to obtain smaller engine sizes. Turbojets were developed and used primarily as war
planes in World War II. Nowadays, turbojets are being replaced by turbofans which
12
2.3.3 Turbofan
the intake air to bypass the core engine and adding a fan in front of the compressor
as shown in Figure 2.3. The bypass air then joins with the exhausted gas from the
core engine, or expands through a separate nozzle. The bypass ratio is the bypass
airflow divided by the core airflow. The higher the bypass ratio is, the higher the
energy that goes into the bypass section is, decreasing the mean jet velocity and
enhancing the propulsive efficiency. A turbofan also has a lower exhaust velocity
compared to a turbojet, resulting in less required fuel flow which means lower fuel
consumption (i.e., more fuel efficiency). A turbofan can be classified into two types
using the bypass ratio. The first type is low-bypass turbofan and the second type
is high-bypass turbofan. The low-bypass turbofan has low bypass ratio and usually
has multistage fan which creates higher exhaust gas velocity. Therefore, it has a
high specific thrust which is defined as net thrust divided by intake airflow. A low-
bypass turbofan has quieter noise when compared to a turbojet, but is still considered
fighter airplanes. On the other hand, high-bypass turbofans have high bypass ratio
and low specific thrust and they are mainly used in civil aircrafts due to its quieter
is usually used in a short period of time like during takeoff, emergencies, or combat,
13
Figure 2.3: Schematic Diagram of a Turbofan Engine (from [8])
2.3.4 Turboprop
The turboprop engine is similar to a high-bypass turbofan except for one key
aspect. The energy extracted from the turbine is used to drive a propeller through a
series of a shaft and a gear box instead of driving a compressor, as shown in Figure
2.4. As a result, the propeller then produces most of the thrust. The turboprop is
commonly used in small aircraft due to its limitation in flight speed since the propeller
is exposed to the oncoming air flow and it “becomes less efficient as the speed of the
aircraft increases” as well [9]. Although, turboprop can been seen in large aircrafts
where the duration of flight is more emphasized than the velocity of flight.
The specific fuel consumption (SFC) is used to to determine the fuel efficiency of
an engine. The SFC is an indication of how much fuel an engine is used to provide a
net thrust in a given period of time. To calculate the SFC, the fuel flow rate (lbm/hr)
is divided by the net thrust (lbf). Therefore, an engine with a low SFC will generate
14
Figure 2.4: Schematic Diagram of a Turboprop Engine (from [10])
more thrust with less fuel consumption compared to an engine with a high SFC.
An engine that has a low SFC has much more fuel efficiency than an engine with
a high SFC. The turbojet JT3C-6 engine used in the Boeing 707-120 and Douglas
DC-8/-11/-12 generating 11,200 lb-thrust has the SFC of 0.775, while the turbofan
CFM56-5C4 engine used in Airbus A340-200/-300 providing 34,000 lb-thrust has the
SFC of 0.33 [11]. The lower SFC value in turbofan engine confirms the improvement
of propulsion efficiency of turbofan by adding the fan to the engine. The addition
of the fan only slightly increases the fuel flow rate but greatly amplifies the amount
of thrust generated by the engine. Note that SFC is changed with the altitude and
operating modes of the engine, since the fuel flow rate and the net thrust are adjusted
very long time. Maintenance can be broken down into preventive and corrective
15
maintenance. Preventive maintenance is a planing service which occurs periodically
to eliminate failure in the engine. Inspection and repair focus on parts that are
more prone to failure such as sensors and actuators, or components that deteriorate
faster than others such as turbines and nozzles, since they are working in a very
high temperature section of the engine. On the other hand, if the failure has already
a good monitoring system. The monitoring system oversees the overall health of the
engine in terms of health parameters. To best indicate the engine’s health, all of the
parameters that impact the engine must be accounted for. However, certain health
parameters may not be available due to difficulty in measuring them, which may be
from the inaccessibility of the position to mounting the measuring device (due to
complexity of the engine) or unavailability of the device itself. Therefore, each engine
Aircraft engine industries are massive operations, where one company may have
different departments working on the same task or different companies may work to-
gether on the same task. Therefore, communication plays an important role in passing
information among the agents. Companies and manufacturers usually have their own
ways in numbering the engine stations, hence, confusion often arises when informa-
tion is passed between agents with different standards. The Aerospace Recommended
numbering engine stations for gas turbine engines. This practice has improved the
gine components are divided into nine stations, describing by number one through
16
number nine as shown in Table 2.1.
The first fundamental station number can be followed by the second digit, which
are usually divided into ten stations. However, if there are more than ten stations, a
stations and each company usually has its own practice. In addition, different types
Nomenclature is also used with the engine station numbers to specify parameters
at the particular engine location. The ARP 755A also standardizes the nomenclature
as well. Examples of nomenclature with engine station numbers are: T1 indicates to-
tal temperature at the engine inlet, P2 indicates total pressure at the first compressor
front face, and W31 indicates combustor inlet mass flow rate [12]. For the full list of
17
CHAPTER III
C-MAPSS40K
3.1 Introduction
In the early period of engine control development (1940s), the frequency response
method was used by utilizing the Bode plot to achieve desired system responses. In
addition, a step response method and a root locus method were also used to improve
control efficiency at a high altitude [3]. At this time, analysis of engine performance
obtained from rig testing were primarily used in the evaluation of the engine perfor-
mance.
and time-domain methods were used in the design of the engine controllers. A method
called successive loop-closure technique was utilized to isolate the coupling effects
between control loops. Hence, control loops can be designed separately by assuming
that other control loops are maintained at or near steady-state [3]. The control loops
18
can then be put together through successive loop-closure to create multiple control
was developed at the National Advisory Committee for Aeronautics (NACA) Lewis
(the NACA Lewis is now the NASA Glenn Research Center). Furthermore, the
Air Force Aero Propulsion Laboratory created a new efficient technique to calculate
When the electronic control unit (ECU) became available in the early 1970s,
research in applying multivariable control design methods was already started. How-
ever, the multivariable control design was not ready for manufacturing engines yet,
and all engine productions were still using single-input single-output (SISO) design in
the control loop. The successive loop-closure technique was then used to join the SISO
variable control were also developed, but only the time-domain method was widely
sense and was not as popular as the time-domain method. At this time, steady-state
and transient performance simulations were used in the engine and control design.
During the 1980s, real-time simulation was developed and used, significantly ex-
automatic software generation tools, and the introduction of graphical user interfaces
simulation.An advance in multivariable control design method also finds its way into
the integration of the flight control and the propulsion control into one system. Prior
to this innovation, these controls were usually designed separately by the airframe
and engine manufacturers. By integrating the flight control and the propulsion con-
[3]. In the past decade, the integration of control systems was broadened into the
incorporation of subsystems, such as engine inlet and exhaust controls, with the main
19
engine system. The integration of subsystems further improves maneuverability.
This thesis expands the horizon of multivariable control design for engine control
by implementing the multi-input sliding mode control method to the engine control
chapter, along with the description of essential aircraft engine characteristics and
components.
can range from sea level to 60,000 feet or higher and temperatures can range from
below freezing level to 100 ◦ F or higher. However, like any other machine, aircraft
engines have limitations. Extreme inputs from a pilot can damage the structure of
an operating envelope, and within that envelope, the aircraft engine will safely oper-
ate without exceeding its structural and aerodynamic limits. The operating envelop
for aircraft engines can be interpreted as an diagram of flight Mach number versus
flight altitude, and the ambient temperature can be added as a third dimension for
and use the information to sufficiently control the engine and ensure that nothing
operates outside its limit. Operating an engine outside its limit can also instigate
20
Figure 3.1: Engine Operating Envelope of Generic Turbojet and Turbofan (from [3])
Two common instabilities in turbine engines are surge and stall,which usually
occur in the engines with axial compressors. Surge and stall commonly appear de-
pendant of each other. An axial compressor uses rotor stages to increase pressure of
air flowing into the engine. A rotor stage is composed of many small blades, which
are small airfoils. These blades can be thought of as airplane wings, where stall is de-
veloped when the angle of attack exceeds the critical angle of attack which cause the
air to no longer cling to the blades creating disruption in the airflow. The disruption
in the airflow causes the flow through the compressor to slow down and stagnate,
or even reverse in flow direction [13]. Hence, the compressor no longer effectively
pressurizes the air, and the amount of thrust produced by the engine is reduced. The
21
• Intake of turbulent, distorted airflow, and hot airflow (e.g., re-ingestion of hot
exhaust gases).
Stall generally occurs at high compressor rotor speeds. The area where a stall
occurs is called a stall cell, which can partially or entirely cover a rotor span. There-
fore, the severity of a stall can range from a momentary decrease in compression
(e.g., slightly loss of power/thrust) or a total loss of compression causing the entire
engine to fail and the pilot may lose control of the aircraft. Stall can also develop in
with a loud explosion noise in the engine as the engine backfires and reverse of airflow
occurs [13]. A transient stall is usually temporary and resolved on it own in a matter
of seconds. Thus, a transient stall is generally not destructive to the engine. On the
other hand, a steady state stall can cause strong repeatable vibrations through out
the engine and poses significant stresses on the engine components. Immediate action
from a pilot or an engine controller must take place before the effects of steady stall
create damage on the engine structures, which may lead to total loss of thrust.
On the other hand, surge is a condition where flow rate is heavily fluctuated and
the flow of air is reversed (it exits out through the inlet duct). Surge can occur due to
the amount of airflow sent to the higher compressor stages by the lower compressor
stages exceeds the higher compressor stages’ limit. Hence, the higher compressor
stages are choked, which builds up pressure in the compressor to the point where the
lower compressor stages (in the front of the compressor) can no longer hold back the
pressure causing the airflow to reversely blow out through the engine inlet. Surge can
also take place as a result of a compressor stall. In addition, surge usually occurs at
22
To combat stall and surge, an aircraft engine is equipped with variable stator
vanes (VSV) and bleed valves. VSV guides incoming air into the engine at an appro-
priate angle to ensure that air uniformly flows through compressor rotors, preventing
separation of airflow from the rotor’s blades, thus avoiding the compressor stall. An
engine can have many stages of VSV, where each stage is located between compressor
rotors.
arm. The vane arm is connected to a unison ring, which is controlled by an actuation
system through a drag link. When the unison ring is rotated by the actuation system,
each vane is pitched at the same angle. In addition, rub pads are placed at the inner
radius of the unison ring to keep the unison ring in a circular shape [14]. Figure 3.2
Bleed valves are attached on a compressor case where they release excess amounts
of air in the compressor into the outside environment. The engine controller is able to
regulate the pressure in the compressor and prevent a compressor stall and surge to
occur. A bleed valve is composed of the valve, actuator, bellcrank, rollers and cams
slots, and rub pads [14]. The actuator controls the valve to open or close through
the bellcrank with a series of rollers and cam slots, guiding the motion of the bleed
valve. The rub pads located around the inner ring of the valve also act as the shape
constraint, ensuring the circular shape of the bleed valve. Figure 3.3 and 3.4 show a
sor. “Stall margin is defined in various ways, all of which characterize the distance
the compressor and the stall/surge line, i.e. the line beyond which the compressor
23
Figure 3.2: A stage of VSV (from [14])
24
Figure 3.4: A Bleed Valve (from [14])
becomes unstable” [15]. Therefore, a stall margin indicates the boundary in which
a compressor can operate without inducing a stall. The same idea applies to surge
margin, but instead of stall, the compressor will surge if operating outside a surge
margin. In addition, the surge margin is used to indicate the engine’s ability to ac-
celerate. Hence, the broader the surge margin, the faster the engine can accelerate.
Figure 3.5 shows a surge margin in a green region on a compressor map. The surge
margin in Figure 3.5 is reduced due to uncertainties and variations in the engine. In
which, overtime the normal operating line will move upward, while the surge line
will move downward [3]. Note that a compressor map is a diagram of pressure ratio
(i.e., the ratio of compressor exit static pressure to compressor inlet static pressure)
versus amount of airflow, in which it can predict the behavior of the compressor. The
25
Figure 3.5: Surge Margin on a Compressor Map (from [3])
regards to the position of the throttle. However, measuring thrust directly is not
currently practical. The engine pressure ratio (EPR) and engine shaft rotational
speed N directly correlate to thrust; hence, they are used to indicate the amount
of thrust produced by the engine. Engine pressure ratio is a ratio of the nozzle
pressure to compressor inlet pressure, whereas the engine shaft rotational speed, N ,
can be divided into N 1 and N 2 values. The N 1 value is the rotational speed of
the low pressure compressor, where N 2 is the rotational speed of the high pressure
compressor. Only N 1 is used as the indication of thrust while N 2 is used for limit and
condition monitoring [17]. Both EPR and engine shaft rotational speed indicators are
provided in the cockpit for cross reference. Note that the indicated values of engine
shaft rotational speed are a percentage of design r.p.m. Since the EPR and engine
shaft rotational speed N are good indication of thrust, they are used as parameters
in engine controllers to control the amount of thrust produced by the engine. Figure
26
Figure 3.6: Diagram of Thrust Control Using Fan Speed Nf
3.6 shows a diagram of thrust control where the value of fan speed Nf is equivalent
to N 1. The engine controller sends the fuel flow Wf , VSV, and VBV commands to
the actuators, which then regulate the Wf , VSV, and VBV to obtain the desired Nf
value.
Overall, the EPR is more favorable as the thrust indication compared to the N 1
value due to its consistent thrust indication over a long period of time. In other words,
the value of EPR will always give the same value of thrust. However, the value of
engine shaft rotational speed will not indicate the same value of thrust over time due
to engine deterioration as the engine ages. Values of EPR and N 1 are also used as a
suggestion to identify specific breakdowns in the engine. Low values of EPR and N 1
EPR and N 1 value may be a result of an instability in the engine, such as stall and
surge. Surprising high values of EPR and N 1 may be an effect of malfunction in the
fuel control.
27
3.4 Commercial Modular Aero-Propulsion System
NASA has developed a simulation of a generic 40,000 lb-thrust twin spool, high
bypass turbofan engine utilizing Matlab and Simulink program. This simulation is
90,000 lb-thrust, but it only has one control mode: fan speed. The updated version
has three control modes: fan speed (Nf ), core speed (Nc ), and engine pressure ratio
in the previous section. Engine life, high-speed shaft power takeoff, and customer
bleed flow rate were also added to this update version of C-MAPSS. In addition, the
C-MAPSS40k throttle setting is in a degree unit of power lever angle (PLA), instead
of the percentage of power used in the earlier version of C-MAPSS, and the engine
control is digital rather than the continuous control used in the C-MAPSS. Note that
this section only provides the most essential material about the C-MAPSS40k. For
Adjustment of the engine parameters can be done through the command line or
the graphical user interface (GUI) shown in Figure 3.7. Modification to the engine
model can be partial or complete such as replacing the entire engine. There are
countless possibilities of how to modify the engine as long as all of the components
involved in the change are adjusted accordingly and the change is not in conflict with
The C-MAPSS40k has been developed based on test data. Therefore, the re-
sponses of the engine merely represent the test data from which the engine simula-
tion was created and not from the precise responses of an actual engine. Operating
conditions and simulation inputs of C-MAPSS40k is shown in Table 3.1 and 3.2 re-
28
Figure 3.7: C-MAPSS40k Graphical User Interface (from [16])
29
spectively.
Controller Fuel flow, Variable Bleed Valve position, and Variable Stator Vane
Operational High-speed shaft power takeoff, and customer bleed flow rate
The delta ambient temperature (dTamb) represents “free stream static tempera-
ture minus standard atmosphere temperature” in degrees Fahrenheit [16]. The dete-
rioration level of the engine is represented in percentage, where 0.0 indicates a new
diagrams, which makes it easy to see how the engine systems are built and how the
components are connected. Thus, engine input and engine parameter modifications
are straightforward. However, not all of the engine components are defined in the
Simulink. Some of the engine components, such as the inlet, LPC, and HPC, are
some of the engine components as MEX files, the simulation time is shorted.
30
Figure 3.8: Schematic of The Twin Spool, Turbofan Engine (from [18])
The engine in C-MAPSS40k is called the PAX200 engine, possessing three major
components: open-loop engine model, discrete-time solver, and digital baseline engine
controller [16]. The schematic of the twin spool turbofan engine that the PAX200
engine is modelled after is shown in Figure 3.8, along with the engine station numbers.
As described earlier, an aircraft engine must operate within its operating envelope in
order to ensure the safety of the flight. The PAX200 engine’s operating envelope is
The open-loop engine model is shown in Figure 3.10, where text represents engine
control inputs. The discrete-time solver is utilized to balance the mass-flow rate
which is used to express the relationship between engine components. The controller
used in the C-MAPSS40k is a digital baseline engine controller that consists of three
3.11. The input schedules calculate the VSV command (deg) and the VBV command
(%open), where the power management calculates the fuel flow rate Wf (lb/sec). The
commands of VSV, VBV, and Wf are sent to the actuator models as the input signals.
31
Figure 3.9: PAX200 Engine’s Operating Envelope (from [16])
The actuator systems then simulate the actuators that regulate the fuel flow, VSV,
and VBV. Finally, the commands from the actuator models are used as the inputs
A proportional fuel metering valve is used as an actuator for the fuel flow; its model
rate-limiter, and stroke limit are included in the model to represent the non-linear
closed loop system, consisting of the proportional integral (PI) controller, a motor
model, and a backlash block. Figure 3.13 shows the VSV actuator model implemented
takes an error input (degrees) and creates a current control signal for the motor (mA)”
[16]. The VBV actuator is represented as a first order system in the state space form.
Using the first order system, the lag in response to the VBV command is captured by
the model. The VBV actuator model used in C-MAPSS40k is shown in Figure 3.14.
In the C-MAPSS40k, the VSV are located in front of the HPC, while the VBV is
located between the LPC outlet and the bypass duct. The range of the VSV command
is from -62.412 to 0.61 degrees and the range of the VBV command is between 0 to
1, where zero represents fully closed and one represents fully open.
32
Figure 3.10: C-MAPSS40k Complete Block Diagram (from [16])
Figure 3.11: Diagram of the Engine Controller Used in C-MAPSS40k (from [16])
33
Figure 3.12: Fuel Metering Valve Diagram (from [16])
34
The fuel flow rate calculated by the power management is based on the specific
power lever angle (PLA) that defined by the users. The power lever angle is the angle
of the throttle, which corresponds to the amount of thrust demanded by the pilot.
Keep in mind that the PLA does not correlate to the percent open of the throttle.
“At the minimum PLA of 40 degrees, the net thrust is approximately 3,000 lbf while
full power corresponds to a thrust of nearly 35,000 lbf at sea level static conditions”
[16]. Hence, a PLA of 40 degrees, only equals to an approximated 8.6% of the full
throttle. Table 3.3 shows the PLA values according to the power ratings.
inside the power management architecture. There are three control modes, which are
Nf , Nc , and EPR. These control mode are represented as setpoint controllers in the
PAX200 engine. When the Nf control mode is selected, the engine controller will
drive the value of Nf to a specific value and the output of the Nf controller will
always be selected by the control logic. The same idea applies to Nc and EPR control
mode. Furthermore, the power management can interfere with the VSV and the VBV
commands to guarantee that compressor stall will not occur, especially during large
flight transitions.
35
3.4.2 Linearization
The GUI shown in Figure 3.7 gives the user easy access to the linear time-invariant
model of an open-loop engine with the user specified inputs, such as altitude, Mach
number, and PLA. The linearization routine within the GUI can generate two types
of the engine models. Both of the engine models have the same output, but their
inputs are different. One of the models has one input, which is fuel flow, while the
other model has three inputs-which are fuel flow, VSV, and VBV. The model with
one input assumes that VSV and VBV are always on schedule and do not change [16].
On the other hand, the model with three inputs includes VSV and VBV to represent
the variations from their nominal schedule values. The GUI outputs a linear model
ẋ = Ax + Bu + Lh (3.2)
y = Cx + Du + M h (3.3)
where:
y is the output vector defined as [Nf , Nc , T 25, T 50, P s3, P 5, F net, SM LP C, SM HP C]T
Note that linearization can be done through the command line as well, but this
method is not used in this thesis. With the history of the engine controllers, and the
engine characteristics are described, along with the introduction of the C-MAPSS40k,
the next chapter will introduce the idea of the sliding mode control and develop the
36
CHAPTER IV
4.1 Introduction
This chapter introduces the concept of sliding mode control then uses it to develop
and its properties are presented. Once the system model and the reference model are
defined, the sliding mode control law is derived. To efficiently implement the control
namics is suppressed. After chattering is dealt with, the control law will be modeled
chapter 5.
Sliding mode control is a variable structure system where the control logic switches
between two extreme control laws to obtain the designed system performance. The
control uses a switching function to choose between two controls based on the location
of the state trajectory. A state trajectory is driven toward the sliding surface by
37
switching between control laws. When a state trajectory reaches the sliding surface
(also called sliding manifold or hypersurface when the dimension of the surface is
greater than two), the trajectory is trapped in the surface and forced to move toward
state equilibrium, such as the origin. The movement of the trajectory along the
surface is called sliding, hence the name sliding mode control. The biggest advantage
of sliding mode control is its robustness, because the control structure is protean,
In addition, when the state trajectory reaches the sliding surface, the order of
the system is reduced which simplifies the complexity of the system and makes it
easier to regulate. Other advantages of sliding mode control are rejection of distur-
of power converters [19]. However, sliding mode control has a major setback: the
of the state trajectory between the two extreme control laws, which occurs in the
neighborhood of the sliding surface. In an attempt to trap the state trajectory within
the sliding surface, the switching functions are switched at an infinite frequency. The
undesired effect of chattering creates heat as a result of rapid change between the
systems. The heat can burn electronic systems, while in mechanical parts the act
of rapidly changing between two extreme control laws can wear off mechanical parts
Sliding mode is a motion where the control logic switches at a high frequency,
taking place in any control system with discontinuous control function and in any
38
of a first-order tracking relay system from [20], sliding mode characteristic can be
ẋ = f (x) + u (4.1)
where f (x) is a bounded function, |f (x)| < f0 = constant, and the control, u, is
a relay function of the tracking error defined as e = r(t) − x where r(t) is a reference
with u0 = constant. This control can be written in the signum function form
obtained.
If u0 > f0 + |ṙ|, then e and ė have different signs, which means that tracking error
decreases at a finite rate. When the tracking error is equal to zero, discontinuity
occurs in the control since the sgn function is undefined at e = 0. The motion after
The next example is a system with discontinuities in its motion equation, in which
sliding mode behavior is also present. Using Coulomb friction example from [20], the
with x(t) defined as displacement and k defined as spring stiffness. The friction
39
force, uf is discontinue and given as
uf = u0 sgn(ẋ) (4.4)
rearranging to obtain
It is seen that if the friction force, uf , is less than the spring force, then the mass
alternately moves in a positive and a negative direction. However, if the friction force
is greater than the spring force, then the mass cannot move which means x(t)= ẋ=0.
This condition creates slide mode since ẋ = 0 is not defined in the signum function
Sliding mode control also possesses invariance property, which means the control
has low sensitivity to disturbances and plant parameter variations. To show the in-
variance property of sliding mode control, the example from [20] is demonstrated. The
system is a second order time invariant relay system and its equation is determined
as
ẍ + a2 ẋ + a1 x = u + f (t) (4.6)
u = −M sgn(s) (4.7)
s = ẋ + cx (4.8)
by f (t). When s = 0, the system undergoes sliding mode and the motion equation
40
can be described as
ẋ + cx = 0 (4.9)
The solution to equation (4.9) is x(t) = x(t1 )e−c(t−t1 ) where t1 is the time when the
state trajectory reaches switching surface and is trapped in the surface. It is obvious
that the solution does not depend on the plant parameters or the disturbance. This
invariance property of sliding mode control adds robustness to the controller and
mode control also creates order reduction in the system once the state trajectory
reaches the sliding surface (i.e., s = 0), making the system simpler and easier to
regulate. Using the previous second order time invariant relay system, the order
reduction property of sliding mode control can be shown. When the sliding mode is
ẋ = −cx (4.10)
ẍ = −cẋ (4.11)
By substituting equation (4.10) and (4.11) into equation (4.6), the next equation
is obtained.
Equation (4.12) shows that the system equation is of reduced order. The reduc-
tion of the system order is equal to the number of inputs. In this case, the order of
the system is reduced by one since there is only one input. In addition, sliding mode
dynamics are based on the switching function equations and are independent of the
control logic.
41
With many advantages, sliding mode control is a suitable algorithm to deal with
the sliding mode control into a real system can pose problems, since the ideal sliding
mode may not be obtained due to imperfections of the switching device, dead zone,
hysteresis, or unmodelled system dynamics, etc. Therefore, the control can only
force the state trajectories to the vicinity of the switching surface, which may lead to
This thesis focuses on the boundary layer method in suppressing the chattering, which
After the system model and the reference model are determined, designing a sliding
mode control consists of three steps. The first step is to define the sliding surfaces
that will give desired performances in the system. The second step is designing the
control logic that will induce the state trajectories into the intersection of sliding
surfaces with any initial conditions. The final step is to ensure that the trajectories
will stay on the sliding surfaces once sliding mode occurs, so in other word s = 0
after t = ts where ts is the time that trajectories reach sliding surface. The plant is
ẋ = Ax + Bu (4.13)
y = Cx + Du
42
The reference model is defined as
um = −Kxm + P r (4.15)
By substituting equation (4.15) into (4.14), the reference model becomes a closed
loop model:
with outputs
The desired outputs are defined as r. The gain matrix K is calculated from
utilizing the linear quadratic regulator (LQR) to ensure that (A − BK) is a stable
matrix while giving an optimal control [21]. In addition, the state variables are
gain matrix P is chosen with a condition in which at steady state (where ẋm = 0),
the reference outputs, ym will equal the desired outputs, r. When ẋm becomes zero,
By substituting equation (4.18) into equation (4.17), the next equation is obtained.
43
Since ym and r are equal at a steady state, the term [D−(C −DK)(A−BK)−1 B]P
Once the system model and the reference model are described, the first step is to
s = Ge (4.21)
where G is a gain matrix calculated by choosing the desired sliding mode poles that
the orientation of the sliding surfaces, where s is equal to zero. Hence, the tracking
inputs for the function “vplace” are desired sliding mode poles and partial of the
regular form of the state space matrix A. The regular form of matrix A is calculated
with the Mathlab command demonstrated in [22] as well, which is shown in Appendix
e = x − xm (4.22)
ṡ = Gė (4.23)
44
4.3.2 Designing the Control Law
The second step in designing the sliding mode control is to ensure that state
trajectory will be induced into the sliding surface. The value of the sliding variable
s can be thought of as a distance between the state trajectory and sliding surface.
As a result, the absolute value of s is needed to be reduced over time in order for
state trajectory to reach sliding surface. Using a Lyapunov function v, the origin of
the state plane is asymptotically stable (i.e., s will always decrease) if derivative of
1
v = s2
2
v̇ = sṡ
v̇ = s(−ηsgn(s))
Therefore, v̇ < 0 whenever s ̸= 0 and distance between the state trajectory and
the sliding surface is always reduced. In other words, the state trajectory is able to
reach sliding surface. Next, the control law is derived through the sliding surface
equation to assure that the state trajectory will be induced into the sliding surface.
Since ė is equal to ẋ − ẋm , equations (4.13) and equations (4.14) can be used to
45
substitute ė in equation (4.23), resulting in
Hence, the invert of GB must exist. Substituting equation (4.22) into equation
(4.25) and the control law for the plant can be obtained as
This control law will ensure that state trajectories will induce into the sliding
surfaces. Furthermore, instead of having to force the state trajectories into the inter-
section of the sliding surfaces, each state trajectory is equipped with its own sliding
surface. This will simplify the control law and enable the designer to tune the sliding
surfaces separately.
To guarantee that state trajectories will stay on the sliding surface once sliding mode
ė = Ax + Bu − Axm − Bum
ė = Ae + Bu − Bum (4.27)
46
written as
The terms B(GB)−1 GBum and Bum canceled out and error dynamics can be
represented as
where Aeq = [A − B(GB)−1 GA]. If all of eigenvalues of Aeq are in the left hand
side of state space plane, stable sliding mode is obtained. Therefore, when sliding
variable s is equal to zero (i.e., the state trajectory is on the sliding surface), tracking
error e will tend to zero since ė = Aeq e. This means that once the state trajectories
are induced into sliding surfaces, they will stay on the surfaces since the reduced order
system is stable. Note that there will be zero eigenvalues present in the Aeq matrix.
The number of zero eigenvalues of Aeq matrix is equal to the number of input because
a zero eigenvalue represents a reduction of system order which is equal to the number
of input as well. In this case, there are three inputs, therefore, three zero eigenvalues
exist.
When the control law is implemented into the actual system, the unmodelled
dynamics or system imperfections can cause chattering in the system. Since chattering
is undesired in the controlled environment, it will be dealt with in the next section.
the control [20], therefore they must be carefully modeled into the system. However,
47
without the knowledge of these dynamics, designing the system using boundary layer
control can be used, but with the trade off of disturbance rejection properties. In the
presence of imperfection in the system, such as time delays, chattering can also appear.
Delay “is the most relevant to any electronic implementation of the switching device,
including both analog and digital circuits, and microprocessor code executions” [23].
The chattering due to delays can be suppressed using discrete-time control design
ration function, therefore, the control signal becomes continuous and chattering is
ary layer of the sliding surface s = 0 [20]. As a consequence, ideal sliding mode is
no longer taking place and state trajectories are confined to a vicinity of the sliding
η
sgn(s) = sat(s) (4.28)
Φ
where η is the sliding gain. A high value of η will drive the value of the sliding
variable s to zero faster than the lower value of η. However, it is more likely that the
system response will experience overshoot as the sliding variable s goes to zero more
quickly. The value of Φ represents the width of the area extending from the sliding
4.5 Remarks
In this chapter, the concept of sliding mode is presented, along with mathematical
examples and its undesired characteristic of chattering. The advantages of the sliding
mode, such as invariance property and order reduction, are also demonstrated. The
48
control law is then developed in a state space form, following three simple steps.
Lastly, the chattering effect is suppressed using the boundary layer method. Now the
control law is ready to be applied to the aircraft engine system. The next chapter will
model the control logic in Matlab/Simulink and implement it into the C-MAPSS40k.
49
CHAPTER V
IMPLEMENTATION OF SLIDING
MODE CONTROL
5.1 Introduction
In this chapter, the control is further defined in the aircraft engine environment.
Applicable matrix values and dimensions will be assigned to the variables in the
control logic. After all of the parameters are defined, the control law will be simulated
that the controller is functioning properly. Then, it will be implemented into the C-
MAPSS40k, where the tuning process will take place and the robustness of the control
will be examined. Performance of the engine based on the multivariable sliding mode
control is also compared to the default baseline engine controller, which is comprised
50
5.2 Sliding Mode Control for Aircraft Engine
The developed sliding mode controller will regulate thrust according to specific
values of fan speed Nf , core speed Nc , and stall margin of high pressure compressor
SM HP C. The desired Nf and Nc values are related to the amount of thrust, while
the desired SM HP C value ensures that the engine operates within its limits. The
model. The controller’s job is forcing the system states to follow the reference model
by using the control law. Therefore, the control law signals are the commands of
fuel flow rate Wf , V SV , and V BV that will generate the desired values of Nf , Nc ,
and SM HP C. Note that the controller in this thesis is created based on a linearized
model of the C-MAPSS40k engine at a ground idle condition, where the altitude is
set to 1,000 feet with the Mach number of 0.1 and power lever angle (PLA) equal to
40 degrees.
“one” indicates the number of integrations (in this case is one integration). As a
consequence, a steady-state tracking error of zero can be produced when step inputs
are fed into the system [21]. Figure 5.1 shows how the controller is constructed with
51
Figure 5.1: Diagram of a Sliding Mode Controller With an Augmented Plant
where
Az Bv
Aaug =
0 0
0
Baug =
I = identity matrix
I
[ ]
Cz = Caug Txu Caug = C D (5.2)
z
xaug =
z and v are scaled version of state variable x and control u repectively
v
ż
ẋaug =
v̇
52
hence equation (5.1) can be rewritten as
ż Az Bv z 0
= + vr (5.3)
v̇ 0 0 v I
The subscript “aug” corresponds to the format of the A and C matrices that are
augmented. The rest of the plant variables are subscripted with “aug” as well to
prevent confusion with regular state space matrices. In addition, the whole system
is scaled, where z is used to denote the scaled state variable x and v denotes the
scaled control u. The state variable x represents engine fan speed Nf and engine
core speed Nc , whereas the control u represents actuator commands, which are fuel
flow Wf , variable stator vanes V SV , and variable bleed valve V BV commands. The
magnitudes of state variable x and control u are quite different in themselves and
between them, therefore, scaling the system enables these variables to be in the same
range. In order to scale the system, transformation matrices Tx , Tu , and Txu are used.
Variables associate with state vector are scaled using Tx , while variables related to the
input vector are scaled using Tu . Since the augmented matrix Caug is a combination
of C and D matrices, scaling the Caug is done through the transformation matrix Txu
defined as
Tx 0
Txu =
0 Tu
To properly scale the system matrices, the state variable x and the control u (in
term of the transformation matrices) are substituted in a generic state space equation
for the proper forms of the scaled matrices to emerge. These forms are then used to
z = Tx x
53
x = Tx−1 z (5.4)
ẋ = Tx−1 ż (5.5)
For control u
v = Tu u
u = Tu−1 v (5.6)
Substitute equations (5.4), (5.5), and (5.6) into the regular plant state space
ẋ = Ax + Bu result in
It can be seen from equation (5.7) that Az = Tx ATx−1 and Bv = Tx BTu−1 . Values
of matrices A, B, C, and D are obtained from linearizing the engine system through
the C-MAPSS40k graphical user interface (GUI) in a ground idle condition where
the altitude is set to 1,000 feet with the Mach number of 0.1 and power lever angle
(PLA) equal to 40 degrees. Also, C and D matrices only include the first row, second
row, and ninth row from the linearized C and D matrices from C-MAPSS. These
three rows represent Nf , N c, and the stall margin of the high pressure compressor
SM HP C, respectively.
54
5.2.2 Reference Model and The Control Law
The reference model described in equation (4.14) is redefined with the scaled
augmented matrices as
um = −Kxm + P r
−1
P = −Cz (Aaug − Baug K)−1 Baug (5.9)
Note that the control vr in equation (5.1) is the control rate, v̇. In addition, Aeq
Parameters
The control law is redefined to make it suitable for the engine system and now
matrix dimensions are assigned to the matrix variables in the control logic. For
simplicity, matrix dimensions are summarized in Table 5.1, where n represents the
number of states and m represents the number of inputs. In this case, there are five
55
Table 5.1: Dimension of Matrix Parameters
Variable Dimension
Aaug nxn
Baug nxm
Cz mxn
G mxn
K mxn
P mxm
e mx1
r mx1
s mx1
um mx1
vr mx1
xaug nx1
xm nx1
states (Nf , Nc , and three zero states) and three inputs (fuel flow rate Wf , variable
in a ground idle condition are shown in Table 5.2 along with the values of the trans-
formation matrices. Note that C and D matrices only contain the first, second, and
method where state variable deviations and the control effort are weighted [21].
∫ ∞
J(u) = (xT Qx + uT Ru + 2xT N u)dt
0
matrix with diagonal values of 1, 1, and 10. By choosing the values of Q and R
appropriately, the state variables are normalized to change in the same range.
56
Table 5.2: Values of Linearized State Space Matrices and Transformation Matrices
Variable [
Value ]
−3.3808 1.2954
A
[
0.4444 −3.0501 ]
0.6678 −0.0392 −0.0142
B 1 ∗ 103
1.3340 0.1173 −0.0268
1 0
C 0 1
0.0158 −0.0037
0 0 0
D 0 0 0
−10.9483 [
0.1837 ]−0.4766
1
500
0
Tx 1
0 1000
1
5
0 0
1
Tu 0 100 0
0 0 1
obtained from [22]. This Matlab function is called “vplace”. The selected pole
will give desired properties in sliding mode. The desired poles are eventually
the sliding mode poles. The number of poles correspond to the number of states
minus the number of inputs. Therefore, there are two sliding mode poles in this
The control law is modeled in Matlab Simulink as shown in Figure 5.2. The
reference inputs are the difference between the desired values (i.e., target values)
and the initial values (i.e., zero value) of fan speed Nf , core speed Nc , and stall
margin of the high pressure compressor SM HP C. These values are obtained via
C-MAPSS40k closed-loop GUI at the altitude of 1,000 ft, Mach number of 0.1, delta
57
ambient temperature of 0, power lever angle of [55 55 75 75] in the time vector [0
15 20 30]. The engine mode is also set to fan speed control mode and the engine
limiters are disabled. The difference between desired value and the initial values is
called the delta value. Table 5.3 shows the desired, initial, and delta values of Nf ,
Nc , and SM HP C.
Table 5.3: Defined Desired, Initial and Delta Values of Nf , Nc , and SMHPC
Variable Name Value ∆ Value
Nf target 3739.4 rpm
Nf zro 3109.1 rpm ∆Nf = 630.3
Nc target 11417 rpm
Nc zro 10584 rpm ∆Nc = 833
SMHPC target 20
SMHPC zro 30.94 ∆ SMHPC = -10.94
It can be seen from Figure 5.2 that the saturation functions used instead of the
signum functions are multiplied by two gain blocks. These gains, called phi and eta
(discussed in Chapter 4), are used to adjust the saturation functions to suppress
chattering and overshoot in the system outputs. The values of phi are 0.1, 0.05, and
0.1, and the values of eta are 15, 5, and 25 for the first, second, and third saturation
function respectively. Note that the values of phi are used as the reciprocal. To
simulate the control law modelled in Figure 5.2, the Matlab command shown in
appendix A are executed to define parameter values and run the Simulink file. The
control model is simulated for 30 seconds and the results are shown in Figure 5.3
It can be seen from Figure 5.3 to Figure 5.5 that the actual outputs perfectly
tracked the desired values of ∆Nf , ∆Nc , and ∆SM HP C shown in Table 5.3. The
system states also accurately tracked the reference states as seen in Figure 5.6 to
Figure 5.10. The values of Wf , and V BV commands (Figure 5.11 and Figure 5.13)
are in an acceptable range. However, the V SV command (Figure 5.12) are out of its
range due to the value of the fifth reference state representing V SV command being
58
Figure 5.2: Diagram of The Sliding Mode Control Modelled in Simulink
59
Figure 5.3: Desired and Actual Values of ∆Nf vs. Time
60
Figure 5.5: Desired and Actual Values of ∆SM HP C vs. Time
Figure 5.6: Reference State and Actual State of ∆Nf vs. Time
61
Figure 5.7: Reference State and Actual State of ∆Nc vs. Time
Figure 5.8: Reference State and Actual State of ∆Wf vs. Time
62
Figure 5.9: Reference State and Actual State of VSV Command vs. Time
Figure 5.10: Reference State and Actual State of VBV Command vs. Time
63
Figure 5.11: Fuel Flow Rate Command vs. Time
64
Figure 5.13: VBV Command vs. Time
65
out of the range. This is due to the use of the linearized engine model. When the
control law is implemented in the C-MAPSS, the V SV command will fall within its
range since the the actual engine model is used. Finally, the values of sliding variables
shown in Figure 5.14 are very close to zero, confirming that the control law is working
correctly. It must be restated that the values of sliding variable will not equal to zero
during sliding mode since the sgn function is replaced with the saturation function.
Therefore, the values of sliding variable are only trapped in the vicinity of the sliding
surface where s = 0.
The results obtained from simulating the control law modelled in Simulink verify
that the developed control logic is working properly. This modelled controller is now
The digital baseline controller shown in Figure 3.11 is replaced with the sliding
mode controller as seen in Figure 5.15. Figure 5.16 shows the sliding mode control
Since the inputs (Nf , Nc , andSM HP C) of the reference model are incremental
values (i.e., the amount of increment needed to add to the initial value in order
to achieve the desired value), the control values (Wf , V SV , and V BV ) are also
and V BV are added to the delta values of Wf , V SV , and V BV before being fed into
In order to run the C-MAPSS40k with the sliding mode controller, some of the
engine parameters are needed to be defined through the GUI. The settings in the
GUI are determined as the following: the altitude of 1,000 ft, Mach number of 0.1,
dTamb of 0, the PLA vector = [55 55 75 75], fan speed control mode is selected, and
66
Figure 5.15: Diagram of the Sliding Mode Controller Implemented in the C-
MAPSS40k
engine limiters are in-active. The sliding mode control C-MAPSS40k is then executed
better performance by changing the values of Φ and η. Through trial and error, the
best values of Φ are 11, 13.2, and 10, whereas the best values of η are 48, 25, and
25. The system is simulated for 50 seconds and the simulation results are shown in
The simulation results show that sliding mode controller is able to drive the Nf ,
Nc , and SM HP C values close to the desired values, since the values of sliding vari-
ables (Figure 5.23) are very close to zero. Due to the use of the saturation function
and SM HP C are not equal to the exact desired values because ideal sliding mode
are 0.1224%, -0.2972%, and 0.0360%, respectively. The values of percent errors are
very small, therefore the performance of the sliding mode control implemented in the
C-MAPSS40k is acceptable. Figures 5.20 through 5.22 show values of the command
67
Figure 5.16: Diagram of the Sliding Mode Control Logic Inside the SMC Block
68
Figure 5.17: Fan Speed Nf vs. Time
69
Figure 5.19: Stall Margin of High Pressure Compressor (SMHPC) vs. Time
70
Figure 5.21: Control Input of Variable Stator Vanes vs. Time
71
Figure 5.23: Sliding Variables vs. Time
inputs of Wf , V SV , and V BV that injected into the actuators. To verify if the value
Wf (lb/hr)
SF C = (5.10)
Fnet (lbf )
Where Fnet is the net thrust. Hence, SFC for the Wf of 2.86 lb/s and Fnet =28,813
lbf is equal to 0.3573. The average value of SFC for the turbofan engine is approx-
imately 0.3 [24], therefore the value of Wf is justified. Furthermore, the V SV and
the V BV values are also within their operational ranges of -62.412 to 0.61 degrees
for V SV , and 0 to 1 for V BV value. The V BV value is very close to zero, meaning
the V BV can be interpreted as being in the fully closed position. Overall, the sliding
very small percent errors while maintaining the engine’s integrity. In the next section,
the performance of the sliding mode controller is compared with the digital baseline
72
5.6 Comparison Between the Sliding Mode Con-
The C-MAPSS40k is run with the same condition used for running the sliding
mode controller in the previous section. This time, however, the controller is the
digital baseline controller, which comes with the C-MAPSS40k. The simulation is
executed for 50 seconds, and the results are shown in Figure 5.24 through Figure
5.29.
15 seconds instead of zero second. Figure 5.24 and Figure 5.25 show that the baseline
controller is able to perfectly drive the values of Nf and Nc to their desired values.
However, the value of SM HP C is not settling and still increases over time. The
simulation is re-run for 100 seconds to clearly see the tend of the SM HP C value
as shown in Figure 5.26. The fuel flow rate is equal to 2.832 lb/s (Figure 5.27) and
the net thrust is equal to 28,712 lbf, therefore SFC is calculated to be 0.3551. In
Figure 5.28 and Figure 5.29, the values of V SV and V BV commands are in their
operational ranges. The V BV value is very close to zero, thus, the V BV is nearly
in the closed position. Comparisons between the settling time of system parameters
between sliding mode controller and the baseline controller are shown in Table 5.4.
73
Figure 5.24: Fan Speed Nf vs. Time
74
Figure 5.26: Stall Margin of High Pressure Compressor (SMHPC) vs. Time
75
Figure 5.28: Control Input of Variable Stator Vanes vs. Time
76
It can be seen from Table 5.4 that the sliding mode controller has longer settling
times for Nf , Nc , and Wf compared to the baseline controller. On the other hand,
settling times for V SV and V BV are shorter in sliding mode controller than the
baseline controller. From the control law perspective, sliding mode controller simplify
the complexity of the baseline controller by eliminating the power management for
the Wf and the schedule control for the V SV and the V BV . Therefore, there is no
need for the the lookup tables used in the schedule control, which saves time and
effort in making these tables. As long as the initial and the desired values of the Nf ,
Nc , and SM HP C for specific flight conditions are known, sliding mode control logic
The developed sliding mode controller is created based on the linearized model of
the engine at the ground idle condition. To evaluate the robustness of the designed
controller, two other conditions are applied to the engine. These conditions are
• Maximum climb: altitude of 6,000 ft, Mach number of 0.4, and PLA of 73
where
77
• Maximum take-off: altitude of 1,000 ft, Mach number of 0.15, and PLA of 78
where
The target and the zero values of Nf , Nc , and SM HP C for the ground idle
condition defined in the Matlab file are replaced with one of these conditions while
the rest of the controller parameters (that based on the ground idle condition) stay
the same. The system is simulated for 50 seconds. Figure 5.30 through Figure 5.36
show simulation results for the maximum climb condition, while Figures 5.37 through
5.43 show the simulation results for the maximum take-off condition.
The sliding mode controller is able to cope with the change in the system param-
eters and drive the values of Nf , Nc , and SMHPC close to the desired values. Due
to non-ideal sliding mode, the value of sliding variables (Figure 5.36 and Figure 5.43)
are only enforced in the vicinity of the ideal sliding surface of s=0. This hinders the
perfect tracking of the system. The percent errors for Nf , Nc , and SMHPC values are
calculated and shown in Table 5.5. The percent errors are less than 10%, therefore,
and V BV from both conditions are also in their operational ranges. The simulation
results from both of the conditions, indicating that the sliding mode controller is ca-
pable to cope with the change in the condition of flight. Therefore, the sliding mode
78
Figure 5.30: Fan Speed Nf vs. Time
Figure 5.32: Stall Margin of High Pressure Compressor (SMHPC) vs. Time
79
Figure 5.33: Control Input of Fuel Flow Rate vs. Time
80
Figure 5.36: Sliding Variables vs. Time
81
Figure 5.39: Stall Margin of High Pressure Compressor (SMHPC) vs. Time
82
Figure 5.42: Control Input of Variable Bleed Valve vs. Time
83
CHAPTER VI
6.1 Conclusions
This thesis has introduced and developed a guideline in creating a controller for
an aircraft engine using a multivariable sliding mode control. The chattering issue,
which is a major set back for sliding mode control, is successfully suppressed utiliz-
ing the boundary layer method. The sliding mode controller is implemented in the
C-MAPSS40k to validate its functionality. The simulation results proves that the
controller is able to control the turbofan engine, even when flight conditions changed.
By utilizing the sliding mode controller, the control architect of the engine is sim-
plified and the need for the lookup tables used in baseline controller is eliminated.
Additionally, the sliding mode controller can compensate for changes in engine charac-
teristics over time due to deterioration, while the baseline controller does not. How-
ever, the baseline controller is able to achieve perfect tracking whereas the sliding
mode controller can only drive the system parameters close to the desired values.
Ideal sliding mode no longer occurs in the designed controller and perfect tracking
cannot be accomplished because the signum function is replaced with the saturation
84
function in order to remove the chattering effect. Even though the exact desired val-
ues are not acquired by the sliding mode controller, the calculated percent errors for
Wf , V SV , and V BV are very small. Ultimately, the sliding mode controller is fully
However, there are two drawbacks in the developed sliding mode controller. The
first drawback is the construct of the reference model that based on the linearized
model of the C-MAPSS40k engine at a particular condition. Even though the sliding
mode control is robust, if the condition of the engine is far too different than the
condition (that the reference model is base upon), the actuators will start to saturate
and the engine will no longer work properly. To prevent this from happening, the
Doing so will create the second drawback in designed sliding mode controller, because
it defeats the purpose to eliminate the gain schedule in the baseline control in the
first place.
This thesis is just the beginning of the multivariable sliding mode control in the
application of an aircraft engine. Even though the sliding mode controller was tested
in the C-MAPSS40k, it still needs to be run in a real time simulator. Hence, im-
provement in the performance of the designed controller may need. In addition, the
sliding mode control technique utilized in this thesis is only a fundamental element
of the control method. A more complex and sophisticated sliding mode control such
as the integral sliding mode control can be used in developing the control logic to
optimize the controller, resulting in better performance. Integral sliding mode con-
trol eliminates the reaching phase of the system trajectories and replaces it with the
sliding surfaces where system trajectories are induced into sliding mode right away.
85
In short, the entire system response is guaranteed the robustness of the sliding mode
control. Integral sliding mode control may also be employed to suppress chattering as
well. Other methods in dealing with the chattering, such as the observer-based, dis-
turbance rejection, and regular form, can also be imposed on the designed controller
instead of the boundary layer approach. Moreover, the actuator models may even be
integrated into the control logic to prevent chattering and improve the controller’s
multi-input multi-output system and certain matrix operations may not be available.
This thesis can be used as ground work for the multivariable sliding mode con-
troller for an aircraft engine, its limitless applications extended as far as a designer’s
imagination can go. With so many possibilities laying ahead of the multivariable
sliding mode control, the control method may one day even be capable of managing
the most powerful of commercial jet engines while raising the engine efficiency and
86
BIBLIOGRAPHY
guinnessworldrecords.com/search/details/most-powerful-jetengine/
[2] H. Austin Spang III and Harold Brown. Conrol of Jet Engines. Control Engi-
[3] Link C. Jaw and Jack D. Mattingly. Aircraft Engine Controls: Design, Sys-
Astronautics, 2009.
[4] Ryan D. May, Jeffrey Csank, Thomas M. Lavelle, Jonathan S. Litt, and Ten-
[5] Jack L. Kerrebrock. Aircraft Engines and Gas Turbines. The MIT Press, 1992.
[6] Online Digital Education Connection. Propulsion and the x-43a. http://www.
odec.ca/projects/2004/flor4a0/public\_html/propulsionx43.htm. Ac-
87
[8] File: Turbofan operation.svg. http://en.wikipedia.org/wiki/File:
[12] Philip P. Walsh and Paul Fletcher. Gas Turbine Performance. Blackwell Pub-
lishing, 2004.
[14] Dave Riesland. Aircraft engine analysis using adams. Technical report, European
[15] Zack Warfield, James D. Paduano, and Douglas G. MacMartin. Stall margin
[16] Ryan D. May, Jeffrey Csank, Jonathan S. Litt, and Ten-Huei Guo. Commercial
[17] Airplane Turbofan Engine Operation and Malfunctions Basic Familiarization for
88
[18] Jonathan A. DeCastro, Jonathan S. Litt, and Dean K. Frederick. A modular
[19] Vadim I. Utkin. Application oriented trends in sliding mode control theory.
[20] Vadim Utkin, Jürgen Guldner, and Jingxin Shi. Sliding Mode Control in Elec-
[21] Richard C. Dorf and Robert H. Bishop. Modern Control Systems. Pearson
[22] Christopher Edwards and Sarah K Spurgeon. Sliding Mode Control: Theory and
[23] K. David Young, Vadim I. Utkin, and Ümit Özgüner. A control engineer’s guide
1999.
[24] Lloyd Jenkinson, Paul Simpkin, and Darren Rhodes. Data b: Engine
2011.
89
APPENDIX
90
APPENDIX A
MATLAB PROGRAMS
Vplace Function
vplace.m
function K=vplace(A,B,p)
[nn,mm]=size(B);
rnk=rank(B);
if rnk==mm,
K=place(A,B,p);
else
[Q,Btilde]=qr(B’);
Btilde=Btilde’;
Btilde=Btilde(:,1:rnk);
Ktilde=place(A,Btilde,p);
K=Q*[Ktilde;zeros(mm-rnk,nn)];
end
return
91
Matlab Commands for Verification of Sliding Mode
Controller
SMC MIMO track test.m
%Designs integral SMC tracker near Ground Idle
clc
%Define matrices obtained from linearizing the engine through C-MAPSS 40k
%Define transformation matrices Tx, Tu, and Txu. Then calculate Az and Bv
%matrices
Tx=[1/500 0; 0 1/1000];
scaleTui=inv(Tu);
A_z=Tx*A*inv(Tx);
B_z=Tx*B*inv(Tu);
92
%Assemble augmented plant
A_aug=[A_z B_z;zeros(3,5)];
B_aug=[zeros(2,3);eye(3)];
C_aug=[C D];
Cz=C_aug*inv(scaleTxTu);
[nn,mm]=size(B_aug);
[Tr temp]=qr(B_aug);
Tr=Tr’;
Tr=[Tr(mm+1:nn,:);Tr(1:mm,:)];
clear temp
Areg=Tr*A_aug*Tr’;
Breg=Tr*B_aug;
A11=Areg(1:nn-mm,1:nn-mm);
A12=Areg(1:nn-mm,nn-mm+1:nn);
A21=Areg(nn-mm+1:nn,1:nn-mm);
A22=Areg(nn-mm+1:nn,nn-mm+1:nn);
B2=Breg(nn-mm+1:nn,1:mm);
A_augRf=Areg;
B_augRf=Breg;
%Calculate matrix G
93
%In this case is 5 states - 3 inputs = 2 pole
DP=0.1*[-30, -25];
M=vplace(A11,A12,DP);
G=[M eye(3,3)]*Tr;
J=G*A_aug;
N=-1*inv(G*B_aug);
Aeq=A_aug-(B_aug*inv(G*B_aug))*G*A_aug;
Aeq_Eigenvalue=eig(Aeq)
GBaug=G*B_aug;
Q=eye(5);
R=diag([1 1 10]);
K=lqr(A_aug,B_aug,Q,R);
P=inv(-Cz*inv(A_aug-B_aug*K)*B_aug);
94
%Fan speed control mode, and in-active engine limiters
Nf_target=3739.4;
Nf_zro=3109.1;
Nc_target=11417;
Nc_zro=10584;
SMHPC_target=20;
SMHPC_zro=30.94;
phi1=0.1;
phi2=0.05;
phi3=0.1;
eta1=15;
eta2=5;
eta3=25;
sim(’SMC_track_MIMO_test’);
figure(1)
plot(Time,y_ref(:,1),’k’,Time,y(:,1),’b’)
axis([0 10 0 700])
xlabel(’Time (s)’)
95
legend(’First reference output’,’First actual output’)
figure(2)
plot(Time,y_ref(:,2),’k’,Time,y(:,2),’b’)
axis([0 10 0 900])
xlabel(’Time (s)’)
figure(3)
plot(Time,y_ref(:,3),’k’,Time,y(:,3),’b’)
xlabel(’Time (s)’)
figure(4)
plot(Time,x_m(:,1),’k’,Time,x(:,1),’b’)
axis([0 10 0 700])
xlabel(’Time (s)’)
96
figure(5)
plot(Time,x_m(:,2),’k’,Time,x(:,2),’b’)
axis([0 10 0 900])
xlabel(’Time (s)’)
figure(6)
plot(Time,x_m(:,3),’k’,Time,x(:,3),’b’)
axis([0 10 0 2])
%title(’System and reference fuel mass flow rate command vs. time’)
xlabel(’Time (s)’)
ylabel(’Wf (lb/s)’)
figure(7)
plot(Time,x_m(:,4),’k’,Time,x(:,4),’b’)
axis([0 10 0 3.5])
%title(’System and reference variable stator vane angle command vs. time’)
xlabel(’Time (s)’)
ylabel(’VSV (deg)’)
figure(8)
plot(Time,x_m(:,5),’k’,Time,x(:,5),’b’)
97
xlabel(’Time (s)’)
figure(9)
plot(Time,u(:,1))
axis([0 10 0 2])
xlabel(’Time (s)’)
figure(10)
plot(Time,u(:,2))
axis([0 10 0 3.5])
xlabel(’Time (s)’)
figure(11)
plot(Time,u(:,3))
xlabel(’Time (s)’)
figure(12);
98
plot(Time,s_system(:,1),’b’)
hold on
plot(Time,s_system(:,2),’g:’)
plot(Time,s_system(:,3),’r--’)
ylabel(’Sliding variables’)
xlabel(’Time (s)’)
%title(’Sliding Functions’)
%In order to run this code, some necessary papameters for the system
%model is needed to obtain through C-MAPSS by runing C-MAPSS 40k GUI and
%Define matrices obtained from linearizing the engine through C-MAPSS 40k
99
%A, B, C, and D near ground idle condition
%Define transformation matrices Tx, Tu, and Txu. Then calculate Az and Bv
%matrices
Tx=[1/500 0; 0 1/1000];
scaleTui=inv(Tu);
A_z=Tx*A*inv(Tx);
B_z=Tx*B*inv(Tu);
A_aug=[A_z B_z;zeros(3,5)];
B_aug=[zeros(2,3);eye(3)];
C_aug=[C D];
Cz=C_aug*inv(scaleTxTu);
[nn,mm]=size(B_aug);
[Tr temp]=qr(B_aug);
100
Tr=Tr’;
Tr=[Tr(mm+1:nn,:);Tr(1:mm,:)];
clear temp
Areg=Tr*A_aug*Tr’;
Breg=Tr*B_aug;
A11=Areg(1:nn-mm,1:nn-mm);
A12=Areg(1:nn-mm,nn-mm+1:nn);
A21=Areg(nn-mm+1:nn,1:nn-mm);
A22=Areg(nn-mm+1:nn,nn-mm+1:nn);
B2=Breg(nn-mm+1:nn,1:mm);
A_augRf=Areg;
B_augRf=Breg;
%Calculate matrix G
DP=0.1*[-30, -25];
M=vplace(A11,A12,DP);
G=[M eye(3,3)]*Tr;
J=G*A_aug;
N=-1*inv(G*B_aug);
101
%The rest of the eigenvalues should have negative values
Aeq=A_aug-(B_aug*inv(G*B_aug))*G*A_aug;
Aeq_Eigenvalue=eig(Aeq)
GBaug=G*B_aug;
Q=eye(5);
R=diag([1 1 10]);
K=lqr(A_aug,B_aug,Q,R);
P=inv(-Cz*inv(A_aug-B_aug*K)*B_aug);
Nf_target=3739.4;
Nc_target=11417;
SMHPC_zro=out_SM_HPC(1);
SMHPC_target=20;
phi1=11;
phi2=13.2;
phi3=10;
eta1=48;
eta2=25;
102
eta3=25;
sim(’PAX200_SMC_track_MIMO’);
%Plotting Section
figure(1)
plot(out_t,out_Nf,’k’)
hold on
xlabel(’Time (s)’)
figure(2)
plot(out_t,out_Nc,’k’)
hold on
xlabel(’Time (s)’)
figure(3)
plot(out_t,out_SM_HPC,’k’)
hold on
xlabel(’Time (s)’)
103
figure(4)
plot(out_t,out_Wf,’k’)
xlabel(’Time (s)’)
figure(5)
plot(out_t,out_VSV,’k’)
xlabel(’Time (s)’)
figure(6)
plot(out_t,out_VBV,’k’)
xlabel(’Time (s)’)
figure(7)
plot(out_t,s_system(:,1),’b’)
hold on
plot(out_t,s_system(:,2),’g:’)
plot(out_t,s_system(:,3),’r--’)
ylabel(’Sliding variables’)
xlabel(’Time (s)’)
%Calculate %error
Nf_error=(out_Nf(end)-Nf_target)/Nf_target*100
104
Nc_error=(out_Nc(end)-Nc_target)/Nc_target*100
SMHPC_error=(out_SM_HPC(end)-SMHPC_target)/SMHPC_target*100
105