Académique Documents
Professionnel Documents
Culture Documents
Lateral track control of UAVs using the sliding mode approach: from design to flight testing
M Zamurad Shah, Raza Samar and Aamer I Bhatti
Transactions of the Institute of Measurement and Control published online 24 July 2014
DOI: 10.1177/0142331214543093
The online version of this article can be found at:
http://tim.sagepub.com/content/early/2014/07/24/0142331214543093.1
Published by:
http://www.sagepublications.com
On behalf of:
Additional services and information for Transactions of the Institute of Measurement and Control can be found at:
Email Alerts: http://tim.sagepub.com/cgi/alerts
Subscriptions: http://tim.sagepub.com/subscriptions
Reprints: http://www.sagepub.com/journalsReprints.nav
Permissions: http://www.sagepub.com/journalsPermissions.nav
Citations: http://tim.sagepub.com/content/early/2014/07/24/0142331214543093.1.refs.html
Article
Abstract
This paper develops sliding-mode-based nonlinear logic for guidance of unmanned aerial vehicles (UAVs) for curved and straight path following. UAV
trajectories generally consist of straight path segments, curved arcs, circular loiters and other manoeuvres; tight ground track control is desired
throughout the trajectory. This is achieved by controlling the lateral (cross-track) deviation of the vehicle in flight. The main objective of the guidance
algorithm is to keep the lateral track error of the vehicle as small as possible while performing graceful and stable manoeuvres despite the presence of
uncertainties and disturbing winds. Lateral track control is usually achieved by banking the vehicle, that is, by executing roll manoeuvres. The scheme
must perform well without saturating the roll angle of the vehicle, which serves as the control input for the guidance algorithm. The algorithm proposed here is shown to perform well for both straight and circular path tracking while ensuring control boundedness, and hence no saturation.
Crosswinds are a major source of disturbance for the guidance problem. This is incorporated into the design formulation and guidance gains are
selected to provide the desired performance despite the presence of disturbing winds. A sliding-mode-based scheme is developed which includes a
feedforward component related to the rate of change of the desired path heading. Stability of the algorithm is proved using an appropriate Lyapunov
function. The algorithm is implemented in the flight control computer of a scaled YAK-54 research aircraft; flight test results are presented and compared with those from other guidance algorithms. Flight results demonstrate the effectiveness and performance of the proposed guidance scheme. The
algorithm considers guidance in the 2D lateral plane only and minimizes deviations from the desired ground track of the vehicle.
Keywords
UAV guidance, sliding mode control, unmanned aerial vehicles, lateral guidance, track control, control boundedness, guidance of UAVs in the presence
of winds.
Introduction
In recent years, the use of unmanned aerial vehicles (UAVs)
has increased significantly in military, commercial and civilian applications due to their low cost, low human risk and
operational effectiveness. UAVs offer a unique range of features, such as ultra-long endurance, demanding trajectoryfollowing and high-risk mission acceptance, which cannot be
easily performed by manned aircraft. This has been made
possible due to the technological advancements of the last
two decades; UAVs have now obtained a permanent and critical role in high-tech military arsenals. Beside the military, the
use of UAVs has risen sharply in civilian and commercial
applications as well. Such applications include surveillance
and law enforcement, search and rescue, environmental studies, mapping and surveying, media and traffic reporting, forest fire monitoring and control, gas/oil/water pipeline and
power line monitoring, agriculture growth patterns monitoring and field spraying/crop dusting, radio/communications
relays and disaster surveying and management operations. In
all these applications, the requirement of closely following the
given ground track, despite complex mission trajectories,
remains a fundamental requirement. For example, in the
applications of agricultural field spraying, forest fire control,
as diverse as proportional navigation, cognitive and intelligent methods, vision-based techniques, and others (Cesetti et
al., 2009; Ren and Beard, 2004; Siouris, 2004; Yamasaki and
Balakrishnan, 2010; Zhang et al., 2013). The objective
remains to drive the lateral ground track deviation of the
vehicle to a minimum. The inner loop control design problem
is beyond the scope of this paper; numerous well-established
techniques for flight control design exist such as linear robust
design and nonlinear and intelligent control design techniques. The reader may refer to any text on advanced control
for further reading.
Some work has also been done on the so-called integrated
approach in which the guidance and control problems are
dealt with in an integrated and unified framework (Dadkhah
and Mettler, 2012; Park et al., 2004; Yamasaki and
Balakrishnan, 2010; Yu et al., 2011). This approach is more
complicated due to coupling of the different guidance and
control variables and needs more research (Kaminer et al.,
1998; Yamasaki et al., 2012a,b). Most of the practising aerospace community favours the two-step approach, and that is
what is considered in this paper.
A tracking guidance law for a pursuer UAV is considered
in Regina and Zanzi (2011). The UAV tracks a moving target
and the guidance law generates lateral acceleration commands
which the control system follows. A back-stepping-based guidance law is proposed in Ahmed and Subbarao (2010); firstorder dynamics are assumed for elevation and heading angles.
Design of a path-following controller for a small UAV is presented in Sasongko et al. (2011); the cross-track and course
angle errors are used to generate heading angle corrections.
Heading change is accomplished using bank-to-turn manoeuvres; a linear quadratic regulator (LQR)-based controller
provides inner-loop roll control. Simulation results are presented to demonstrate the working of the system. Guidance
based on the concept of vector fields for curved path following has also been studied (Griffiths, 2006; Pisano et al., 2007).
Vehicle position relative to the desired path is computed, and
a vector field of heading commands is generated to drive the
error to zero. This may, in some cases, generate large heading
commands thereby saturating the control system of the
vehicle.
Proportional-derivative (PD) logic for outer loop guidance
has been employed in some UAV applications (Pappoullis,
1994; Siouris, 2004). Modifications to the PD scheme for disturbance rejection and saturation avoidance are proposed in
Samar et al. (2007, 2008); however, no formal stability proofs
are provided. A nonlinear guidance algorithm is proposed in
Park et al. (2004), and its stability discussed in Deyst et al.
(2005); the performance is better than the PD scheme for both
straight and curved path following. When the track errors
become large, however, the control input saturates and stability is not guaranteed. Also, the algorithm needs a reference
point for computation, which is a point from the mission
plan ahead of the current position of the vehicle; if the mission gets changed online, it can give rise to a discontinuity.
For a more complete survey of different approaches to UAV
guidance, the reader is referred to references Dadkhah and
Mettler (2012) and Goerzen et al. (2009).
Crosswinds are a major source of disturbance for accurate
lateral track control. Wind effect is ignored by most authors
in the design of the guidance logic. UAV dynamics in the presence of winds is discussed in references Ceccarelli et al. (2007),
McGee and Hedrick (2006) and Osborne and Rysdyk (2005);
however, the emphasis here is not on guidance but on how to
modify the planned mission to best cater for wind conditions.
Beard and McLain (2012) discuss the effect of wind on guidance performance of UAVs and aircraft. In Brezoescu et al.
(2013) an adaptive backstepping-based guidance law (considering the effect of winds) for UAVs is presented using a skidto-turn concept.
Direct application of sliding mode control in the outer guidance loop is normally not feasible; interested readers are
referred to Shtessel et al. (2003, 2007) for a detailed discussion. In the authors previous work (Shah et al., 2011b, 2014),
a novel nonlinear sliding surface is proposed for lateral guidance of UAVs. The main theme of that work was a highperformance sliding surface and algorithm for simple straight
paths; the effect of wind was not considered. Derivation of the
algorithm was based on the assumption that the reference
course angle will not change rapidly (i.e. no sharp circular or
curved paths). Flight tests for circular and curved paths in the
presence of wind indicated a need for performance improvement, and hence an extension of that work is required from
an applications point of view. Subsequently assumption of no
rapid change in reference course angle was relaxed in Shah et
al. (2012) and theoretical aspects along with simulation results
discussed there. In this work, a generalized nonlinear guidance
law is presented for both straight and curved path following
in the presence of winds. Performance is shown to be quite
good both for small and large track errors. Flight test results
with the proposed algorithm are also presented; these demonstrate excellent performance for both straight and rapidly
turning paths even in windy conditions. The work presented
considers guidance in the 2D horizontal plane only (lateral
guidance): this can be extended to the more general 3D guidance problem which is the subject of ongoing research.
This paper is organized as follows. Problem formulation
describes the problem under consideration in relative detail.
We define the reference coordinate system and different parameters relevant for circular and straight path segments, state
assumptions and develop state equations for guidance design.
In Sliding surface for cross-track control, a brief review of
previous work regarding nonlinear sliding mode guidance is
given; this forms the basis for further development of the guidance algorithm. Guidance law design describes design of a
nonlinear guidance law for straight and circular path following. Stability and control boundedness proofs for the proposed
law are also discussed. The guidance law is implemented on a
test aircraft and various flight tests carried out. Flight results
show efficacy of the proposed law; these are presented in
Flight test results. Comparison with previous algorithms is
also made. The final section concludes the paper.
Problem formulation
Path planning for UAVs is an active area of research. The
output of a path planning algorithm is in general a sequence
of waypoints joined by a curved path that the UAV should
follow. The curved path can be a combination of straight lines
Shah et al.
WP-2
WP-1
rn
f tu
so
diu
Ra
(R
WP-1
WP-1
P
y
34
33
Aileron
Control
+-
Rudder
Waypoints,
R and R
32
UAV lateral
dynamics
Vg [m/s]
Yaw rate
Washout filter
Mission
Roll angle ()
31
30
29
28
27
26
25
Assumptions
50
100
150
200
G []
250
300
350
400
System dynamics
~g is the vector sum
As discussed earlier, the ground velocity V
~a and the wind velocity vector V
~w , in
of the airspeed vector V
~g = V
~a + V
~w . Considering a fixed and level
other words, V
northeastdown inertial coordinate system, the wind triangle
can be expressed as (Beard and McLain, 2012)
0
where Vg and Va are the magnitudes of the ground and airspeed vectors, respectively, and g and g a denote the inertial
referenced and air-mass-referenced flight-path angles respectively, in the longitudinal plane. For level flight (g = 0) the
projection of these vectors on the northeast (2D ground)
plane is written as
cos cG
sin cG
=
Vwn
Vwe
cos c
sin c
+ Va
2
or alternatively
Vg
cos cG
sin cG
Vwn
Vwe
= Va
cos cG cos g
cos c cos g a
Vwn
Vg @ sin cG cos g A = @ Vwe A + Va @ sin c cos g a A 1
sin g
Vwd
sin ga
Vg
cos c
sin c
3
5
which can be written in simplified form as
c cG = sin1
1
Vwn sin cG Vwe cos cG
Va
Shah et al.
5
Referring to Assumption 2 of Assumptions, where we
assume a significantly faster inner loop, we have fr f, and
so (9) can be approximated as
L cos
Vg c_ G
g
10
Vg (c_ E + c_ R )
g
11
g tan fr
c_ E =
cos (cG c) c_ R
Vg
12
g tan fr
c_ E =
Vg
1
cos sin1
Vwn sin cG + Vwe cos cG
c_ R
Va
13
cos
1
0
1 0
1
Vwn
cos c cos ga
P_ n
@ P_ e A = Va @ sin c cos g a A + @ Vwe A
V ed
sin g a
P_ d
Centre of turn O
(b) Top view during coordinated turn
14
0
1
1
cos cG cos g
P_ n
@ P_ e A = Vg @ sin cG cos g A
sin g
P_ d
0
mVg2
R
Vg2
Rg
Vg c_ G
g
P_ n
P_ e
= Vg
cos cG
sin cG
16
y_ = Vg sin cE
Equations (17) and (13) represent the overall dynamics for the
outer loop guidance design problem. For simplicity, we may
define u = tan fr as the control input. In state-space form we
can then write
15
y_ = Vg sin cE
_cE = gu cos sin1 1 Vwn sin cG + Vwe cos cG
c_ R
Vg
Va
18
Here y and cE are the state variables, and u = tan fr is the
control signal that the guidance loop has to generate for
cross-track control.
0.5
0.4
0.3
0.2
E [rad]
0.1
0
0.1
0.2
0.3
0.4
0.5
1000
500
19
0
Cross track error (y) [m]
500
1000
Shah et al.
ab
y_
1 + b2 y2
20
1
1 1
~wn sin cG + V
~we cos cG
V
cos sin
V~a
!
~
~g2
ab V
Vg _
cR
sin
c
E
g~
1 + b2 y2 g~
22
1
fr = tan
1
cos sin
V~g2
g~
1
1 +abb2 y2
fr
= tan
1
~a
V
24
(u)
G=
1
1 1
~
~
cos sin
~ Vwn sin cG + Vwe cos cG
V
a
Here we assume that both state variables y and cE are accurately measured and available for feedback control.
Conditions on k are derived in the following sections to cater
for uncertainties in different parameters, including G.
From an applications perspective, two approaches are possible to deal with the wind disturbance. In the first approach
G is taken as 1, but its maximum variation due to extreme
winds is computed beforehand during the design phase; this
variation is treated as an uncertainty and is considered in
selection of the gain k. In the second approach, an estimator
is used to estimate the wind speed and direction, and hence G
is estimated in real time and used in the guidance law (25);
any estimation error is considered while selecting k. Here in
this paper we adopt the first approach and take G equal to 1;
the wind disturbance is considered in design of the gain k.
The simplified guidance law therefore becomes
~2
~g
V
ab V
g
c_ R
sin cE k sgn(s)
2
2
g~
1 + b y g~
25
fr = tan1 (u)
k sgn(s)
where
u=
cos cG
~
Vg
g~
c_ R
sin cE k sgn(s)
(u)
23
Reachability condition
Reachability implies that the state trajectories are attracted
towards the sliding surface, and, once achieved, it maintains
that sliding motion for subsequent time periods
(Bandyopadhyay et al., 2009; Perruquetti and Barbot, 2002).
To check for reachability, let us take V = s2/2 as the
Lyapunov candidate function. The derivative of V is
V_ = s_s
gu
1 1
=s
cos sin
Vwn sin cG + Vwe cos cG
Vg
Va
ab
26
V
sin
c
c_ R +
g
E
1 + b 2 y2
Substituting for the control input u from (25), we get
g
1
Vwn sin cG + Vwe cos cG
V_ = s cos sin1
Vg
Va
#
~
~2
Vg _
ab V
g
c
sin cE k sgn(s)
g~ R 1 + b2 y2 g~
ab
27
V
sin
c
+ s c_ R +
g
E
1 + b2 y2
or
"
#
~g2
~
V
_V = s g t Vg c_ R ab
sin cE k sgn(s)
Vg
g~
1 + b2 y2 g~
ab
+ s c_ R +
V
sin
c
g
E
1 + b 2 y2
28
Control boundedness
where
1
t = cos sin1
Vwn sin cG + Vwe cos cG
Va
~g and g~ (with some measurement
The uncertain variables V
error) appear from substitution of the control input u above.
Neglecting the error in the gravity term (g g~), we have
s
ab
~g2 Vg2 c_ R (tV~g Vg ):
V_ =
sin
c
t
V
E
V g 1 + b 2 y2
+ gkt sgn(s)
29
2
V
V
ab
~g _
~g
+ jk sgn(s)j tan fmax 34
+
sin
c
c
E
g~ R
g~ 1 + b2 y2
After simplification, we have
k.
1
ab
1 _ ~
~2
2
cR t Vg Vg
jsin cE jt V
g Vg +
2
2
gt 1 + b y
gt
31
To find the value of k which satisfies the above for the entire
flight envelope, that is, to ensure reachability from any initial
condition, we find the maximum of the right-hand side in the
above inequality. The maximum value of ab/(1 + b2y2) is
ab at y = 0, and the maximum value of jsin cEj is 1 at
cE = 6p/2. Hence, the maximum value in the entire phase
portrait occurs at the point: (cE, y) = (6p/2, 0). Let us also
assume a worst-case error of 10% in the measurement of
~g 1:1 Vg ); now V_ will be negative defiground velocity (i.e. V
nite, if
Vg2 ab
Vg _
1
1
k.
+
1:21
cR 1:1
t
t
g
g
32
33
V~ 2 ab
~g
V
g
sin cE
k tan fmax c_ R
2
2
g~ 1 + b y
g~
35
~2
~g
V
V
g
c_ R
ab
g~
g~
36
Shah et al.
s
|s | +
0.5
= 0.7
= 0.3
= 0.1
0.5
1
10
10
0:21
~g
Vg2 ab
V~g2
V
0:1 Vg2
+
\k tan fmax c_ R
ab
g R
g
g~
g~
37
or
0:21
Vg2 ab
g
1:21Vg2
1:1Vg _
0:1 Vg2
\k tan fmax
cR
ab
g R
g
g
38
Implementation issues
10
Parameter selection
For implementation of the guidance law (25), the sliding surface is s =cE + a arctan by = 0, where a and b are selected
Shah et al.
11
Parameter
Value
1
2
3
4
5
6
7
8
Wing span
Length
Wing area
Wing root/tip airfoil
Horizontal tail root/tip airfoil
Vertical tail root/tip airfoil
Take-off mass
Moments of inertia: Ixx, Iyy, Izz
2235 mm
2080 mm
943,869 mm2
NACA 0016 / 0017
NACA 0015 / 0012
NACA 0009 / 0010
11 kg
1.36,2.848,4.07 kg-m2
Flight results
Effectiveness of the proposed algorithm for straight path following is equivalent to that of the algorithm presented in
Shah et al. (2011a, 2014). Here we shall focus on test results
for different cases of curved path following; comparisons will
also be drawn with our previously proposed algorithm (Shah
et al., 2014), and with Parks algorithm (Park, 2004; Park et
al., 2004). Parks algorithm generally performs well for
straight flight and mild turns. However, as discussed in
Introduction, if track errors become large, the control input
(roll angle) can saturate. The lateral acceleration command
generated by Parks algorithm for a circular loiter requires
perfect knowledge of the vehicle velocity for path following
with zero steady-state error. In the case of measurement
errors in velocity, a steady-state error will develop. Also, the
performance of this algorithm is sensitive to uncertainty in
the input channel (the roll channel), for example, a bias or
shift in roll angle following.
Flight results for two different circular loiters are discussed
first. The take-off point is taken as the origin, the northward
distance travelled is denoted by x (or Posx), while the eastward distance is denoted by y (or Posy). The UAV has an
open loop speed control which is adjustable from the ground.
Initially a circular loiter is performed with a fixed throttle setting; ground speed Vg versus course angle cG is plotted in
Figure 12. A nearly constant airspeed is maintained with the
12
38
36
34
32
30
200
100
150
50
G []
100
50
150
200
400
200
0
200
400
500
0
Pos x (north) [m]
500
1000
800
600
Switched to new algorithm
200
0
400
200
400
Switched to Parks algorithm
600
800
1000
1000 800
600
400
200
0
200
Pos (north) [m]
400
600
800
1000
Shah et al.
13
20
0
20
with Parks
algorithm
40
with new algorithm
60
80
1340
1360
1380
1400
1420 1440
Time [s]
1460
1480
1500
1520
1340
1360
1380
1400
1420 1440
Time [s]
1460
1480
1500
1520
15
10
E []
5
0
5
10
Figure 14. Cross-track error y and heading error cE vs time for the circular loiter of radius 800 m.
40
30
roll ref.
roll
[]
20
10
with Parks
algorithm
10
20
1340
1360
1380
1400
1420
1440
Time [s]
1460
1480
1500
1520
1340
1360
1380
1400
1420
1440
Time [s]
1460
1480
1500
1520
Aileron (a) []
4
2
0
2
4
6
Figure 15. Roll angle and aileron deflection (da) vs time for the circular loiter of radius 800 m.
14
400
200
Switched to new algorithm
0
Switched to Parks algorithm
Start here
with previous algorithm
200
400
600
600
600
400
200
0
Pos (north) [m]
200
400
20
0
with previous algorithm
20
with new
algorithm
40
with Parks
algorithm
60
80
340
360
380
400
420
Time [s]
440
460
480
500
340
360
380
400
420
Time [s]
440
460
480
500
15
10
E []
5
0
5
10
15
Figure 17. Cross-track error y and heading error cE vs time for the circular loiter of radius 400 m.
Shah et al.
15
40
35
roll ref.
roll
30
25
20
[]
15
10
with new
algorithm
with Parks
algorithm
0
5
10
15
340
360
380
400
420
Time [s]
440
460
480
500
340
360
380
400
420
Time [s]
440
460
480
500
Aileron (a) []
4
2
0
2
4
6
Figure 18. Roll angle and aileron deflection (da) vs time for the circular loiter of radius 400 m.
33.525
Start here
Latitude []
33.52
WP1
WP3
33.515
33.51
33.505
Reference path
UAV trajectory
WP2
33.5
73.162 73.164 73.166 73.168 73.17 73.172 73.174 73.176 73.178 73.18
Longitude []
Figure 19. Trajectory-following for a straight path followed by a sharp turn.
16
[m]
100
Reference alt
Actual altitude
50
0
1180
1200
1220
1240
1260
1280
1300
1200
1220
1240
Time [s]
1260
1280
1300
Speed [m/s]
50
40
30
20
10
1180
Figure 20. Altitude and speed for straight path and sharp turn.
40
roll ref.
roll
30
[]
20
10
0
10
20
1180
1200
1220
1240
1260
1280
1300
[ ]
2
0
2
4
1180
1200
1220
1240
Time [s]
1260
1280
Figure 21. Roll angle and aileron deflection for straight path and sharp turn.
1300
Shah et al.
17
Conclusion
In this paper a new lateral guidance law for cross-track control of UAVs is developed. The guidance law is based on the
sliding mode technique. For good performance and accurate
tracking while following curved paths, a feedforward term
which depends on the rate of change of the reference path
heading is included in the guidance law. The algorithm uses
the current mission information (reference path) and sensor
measurements to generate roll commands. Conditions for stability and control boundedness are derived in terms of upper
and lower bounds on the control gain k. The guidance algorithm is implemented in the flight computer of a scaled YAK54 research aircraft, and various flight tests conducted.
Comparison with other algorithms is also made. It is seen
that the performance of the proposed algorithm is better than
the previously suggested algorithm (Shah et al., 2014), especially during circular loiters. The sliding-mode-based guidance law performs well in the presence of wind, parametric
and input channel uncertainties; it does not saturate the control input, and meets the criterion of a good helmsman.
Generalization of this 2D lateral guidance problem to the full
3D trajectory tracking problem is the subject of ongoing
work.
Funding
This research received no specific grant from any funding
agency in the public, commercial, or not-for-profit sectors.
References
Ahmed M and Subbarao K (2010) Nonlinear 3-D trajectory guidance
for unmanned aerial vehicles. In: Proceedings of the 11th international conference on control, automation, robotics and vision.
Bandyopadhyay B and Janardhanan S (2006) Discrete-Time Sliding
Mode Control: A Multirate Output Feedback Approach. Berlin/
Heidelberg: Springer-Verlag.
Bandyopadhyay B, Deepak F and Kim KS (2009) Sliding Mode Control Using Novel Sliding Surfaces. Berlin/Heidelberg: SpringerVerlag.
Beard RW and McLain TW (2012) Small Unmanned Aircraft: Theory
and Practice. Princeton, NJ: Princeton University Press.
Boiko I (2013) Chattering in sliding mode control systems with
boundary layer approximation of discontinuous control. International Journal of Systems Science 44(6): 11261133.
Brezoescu A, Espinoza T, Castillo P, et al. (2013) Adaptive trajectory
following for a fixed-wing UAV in presence of crosswind. Journal
of Intelligent and Robotic Systems 69(14): 257271.
Burton JA and Zinober ASI (1986) Continuous approximation of
variable structure control. International Journal of Systems Science 17(6): 875885.
Ceccarelli N, Enright J, Frazzoli E, et al. (2007) Micro UAV path
planning for reconnaissance in wind. In: American control conference, pp. 53105315.
Cesetti A, Frontoni E, Mancini A, et al. (2009) A vision-based guidance system for UAV navigation and safe landing using natural
landmarks. Journal of Intelligent and Robotic Systems 57(14):
233257.
Dadkhah N and Mettler B (2012) Survey of motion planning literature in the presence of uncertainty: Considerations for UAV guidance. Journal of Intelligent and Robotic Systems 65(1): 233246.
18
mode approach. In: 12th international conference on control, automation and systems (ICCAS), pp. 185190.
Shah MZ, Samar R and Bhatti AI (2014) Guidance of air vehicles: A
sliding mode approach. IEEE Transactions on Control Systems
Technology. Epub ahead of print 3 June 2014. DOI: 10.1109/
TCST.2014.2322773.
Shtessel Y, Shkolnikov I and Brown M (2003) An asymptotic secondorder smooth sliding mode control. Asian Journal of Control 4(5):
959967.
Shtessel YB, Shkolnikov IA and Levant A (2007) Smooth secondorder sliding modes: Missile guidance application. Automatica
43(8): 14701476.
Siouris GM (2004) Missile Guidance and Control Systems. Berlin:
Springer-Verlag.
Skogestad S and Postlethwaite I (2005) Multivariable Feedback Control Analysis and Design. 2nd edn. New York, NY: John Wiley &
Sons.