<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Viability Kernel Based Control Approach for a Flight Simulator Model ? ??</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mathematical Faculty</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chair of Mathematical Modelling</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Flight System Dynamics, Technische Universitat München</institution>
          ,
          <addr-line>Garching bei Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technische Universitat München</institution>
          ,
          <addr-line>Garching bei Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>An approach for the application of differential game theory to control a realistic flight simulator model is presented. In the context of aircraft control safe operation must be ensured particularly under external disturbances (e.g. wind). The application of viability theory enables a determination of envelopes (viability kernels) in which safe operation is guaranteed. Here, a state-feedback control law can be derived based on a viability kernel which keeps the dynamic system within a set of safe states. So far, our solver implementation on a supercomputer allows us to compute viability kernels for general nonlinear dynamic systems in up to seven state dimensions. Unfortunately, the mathematical model of the flight simulator consists of about one hundred differential equations. Therefore, the following procedure is used to enable the application of the viability kernel based control. First, a reduced model of the flight simulator model is derived for the calculation of the viability kernel in up to seven state dimensions. Then, the optimal controls are determined through the evaluation of the precomputed viability kernel using the reduced model. In order to apply the optimal controls to the flight simulator model a Nonlinear Dynamic Inversion (NDI) control architecture is used. This NDI controller contains two cascaded control loops with modified reference models of relative degree one. Numerical experiments in a cruise flight condition using different wind disturbances suggest that the proposed control procedure keeps the considered states of the flight simulator model within the viability kernel.</p>
      </abstract>
      <kwd-group>
        <kwd>Aircraft control</kwd>
        <kwd>Differential games</kwd>
        <kwd>Viability kernel</kwd>
        <kwd>Flight simulator</kwd>
        <kwd>Reduced model</kwd>
        <kwd>Nonlinear dynamic inversion</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Wind is a common and unforeseeable disturbance, which has a strong effect on
the aerodynamic forces, and thus, flight dynamics. Therefore, a robust
performance of flight control systems regarding wind disturbances is of paramount
importance to ensure safe aircraft operation. In this paper, the application of
viability theory is investigated for this purpose in which the viability kernel takes
a central role. This viability kernel is the largest subset of the state constraints
in which a system can remain arbitrarily long for all admissible disturbances
if an appropriate feedback control is used [4]. It is remarkable that an optimal
feedback control which ensures safe aircraft operation can be constructed if the
viability kernel is known. The viability approach has already been successfully
applied in a similar context to a simplified aircraft model [8].</p>
      <p>
        The notion of viability kernel is clarified in [1] for control systems and in
[3, 4] for conflict control problems. It should be emphasized that the notion of
viability kernel is more appropriate for control systems (without disturbances).
In the case of differential games, the terms discriminating and leadership kernels
are more suitable, see e.g. [6]. The discriminating kernel corresponds to the
case where the first player (pilot) can exactly measure current wind components
to use counter feedback strategies. In contrast, the leadership kernel assumes
that the second player (wind) knows the current controls of the pilot and uses
feedback counter-strategies, which is rather realistic in the context of computing
guaranteeing controls. If the saddle point condition (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) holds, then discriminating
and leadership kernels coincide. It is shown that for the application considered
in this paper the saddle point condition (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) holds, and, therefore, we will keep
the term viability kernel also in the case of differential games.
      </p>
      <p>The numerical computation of viability kernels, using a highly parallelized
implementation on dozens of compute nodes for a supercomputer, is currently
possible, with reasonable effort, for dynamic systems containing up to seven state
variables. However, as the realistic flight simulator model considered in this study
consists of about one hundred state variables it is unrealistic to directly apply the
viability kernel based control. Therefore, our approach considers the computation
of the viability kernel only for a reduced model. Clearly, this reduced model
should, on the one hand, allow us to compute the viability kernel (i.e. not contain
more than seven states) and, on the other hand, reflect the behavior (considered
dynamics) of the flight simulator model as well as possible. For a formulation of
such a model, we use a first-order reference model (RM) prescribing the attitude
dynamics, which yields an eight-state self-contained model together with the
altitude, translational, and thrust dynamics. Assuming one state variable to be
constant, a seven-dimensional model is obtained, which meets the requirements
regarding the numerical computation of the viability kernel. This allows us to
construct a feedback strategy that keeps all seven state variables of the reduced
model inside the viability kernel. It is shown that applying the same feedback
strategy to the flight simulator model, which uses the same RM for the attitude
loop, makes it possible to keep the states of the flight simulator model within
the viability kernel.</p>
      <p>The paper is organized as follows: Section 2 describes the numerical method
for computing viability kernels regarding conflict control problems. The flight
simulator model is briefly described in Section 3. The reduced model is outlined
in Section 4 and Section 5 presents the control architecture based on Nonlinear
Dynamic Inversion (NDI). Finally, Section 6 demonstrates the application to
simulated cruise flight trajectories of a flight simulator model for different wind
disturbances. A concluding discussion is given in Section 7.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Computation of the Viability Kernel</title>
      <p>In the following, a numerical method for the computation of viability kernels will
be outlined. Details regarding the theoretical background and implementation
can be found in [3] and [4]. See also [12] for methods and techniques of differential
game theory.</p>
      <p>Consider a general state constrained conflict control problem with the
dynamics</p>
      <p>x˙ = f (x, u, v),
where x = [x1, . . . , xn]0 ∈ Rn represents the states, and u = [u1, . . . , unp ]0 ∈
P ⊂ Rnp and v = [v1, . . . , vnq ]0 ∈ Q ⊂ Rnq stand for controls of the first and
second player, respectively. Here and in what follows, the symbol “ 0 ” denotes
transposition.</p>
      <p>Assume, that the Isaacs saddle point condition holds:
min max `0f (x, u, v) = max min `0f (x, u, v), `, x ∈ Rn.</p>
      <p>u∈P v∈Q v∈Q u∈P
This saddle point condition is fulfilled for right-hand sides with additively
separable controls</p>
      <p>f (x, u, v) = f u(x, u) + f v(x, v)
which is the case for our application (see Section 4).</p>
      <p>The objective of the first player (aircraft commands) is to stay within the
state constraint, whereas the objective of the second player (wind) is the
opposite. The state constraints and the bounds on the control variables of the first
and second players are defined as:</p>
      <p>G0 : xlib,V iab ≤ xi ≤ xiu,bV iab, i = 1, ..., n,
P : ulib,V iab ≤ ui ≤ uiu,bV iab, i = 1, ..., np,</p>
      <p>Q : vil,bV iab ≤ vi ≤ viu,bV iab, i = 1, ..., nq.</p>
      <p>
        The viability kernel represents the largest subset of the state constraint in which
the system trajectory can be kept arbitrarily long if the first player employs an
appropriate state feedback law u(x).
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
Assume that the state constraint, G0, is included into the family of sets
      </p>
      <p>
        Gλ = {x ∈ Rn, g(x) ≤ λ},
where g is a suitable continuous function. The viability kernels, V iab(Gλ), of the
state constraints (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) can be represented as level sets of an appropriate function V :
      </p>
      <p>V iab(Gλ) = {x ∈ Rn, V (x) ≤ λ}.</p>
      <p>
        The required function V can be found as a grid approximation of a limiting
solution (t → −∞) of an appropriate Hamilton-Jacobi equation, which arises
from the conflict control problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), see [2].
      </p>
      <p>The numerical solution requires a discretization in space, with some step sizes
h := (h1, ..., hn), and in time, with a step length δ &gt; 0. The grid scheme
V`h+1 = max</p>
      <p>
        nΠ V`h; δ, h , gho, V0h = gh,
with gh being the grid restriction of g, yields a sequence V`h, ` = 0, 1, . . . , that
monotonically and point-wise converges (see [3] and references [1] and [12] cited
there) to a grid function Vh, which is an approximation of the function V
introduced in (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ). The operator Π in (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) is defined as
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
with
n
Π[φ; δ, h](x) = φ(x) + δ min max X(pirfi+ + plifi−),
      </p>
      <p>u∈P v∈Q i=1
fi+ = max{fi, 0},</p>
      <p>
        fi− = min{fi, 0},
pir =
pli =
φ(x1, ..., xi + hi, ..., xn) − φ(x1, ..., xi, ..., xn) ,
φ(x1, ..., xi, ..., xn) − φ(x1, ..., xi − hi, ..., xn) ,
hi
hi
where fi is the i-th component of f from (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). The implementation of such a
method is feasible for up to seven dimensions, see [4] and [8], because of
computer memory and performance requirements. For this implementation we have
to use a highly parallelized solver tailored to a large computer grid such as
the SuperMUC system at the Leibniz Supercomputing Centre of the Bavarian
Academy of Sciences and Humanities.
      </p>
      <p>The state feedback controls u(x) and v(x) of the first and second players,
respectively, can be computed as solutions of the following minimax and maximin
problems:
u(x) → mu∈iPn mv∈aQx Lh V`h
x + τ f (x, u, v) ,</p>
      <p>
        v(x) → mv∈aQx mu∈iPn Lh V`h
x + τ f (x, u, v) ,
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
where Lh is an interpolation operator, and τ is a small extrapolation step length.
It should be noted that τ &gt; δ for stability. In practice, τ ≈ 10 δ.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Flight Simulator</title>
      <p>The control scheme outlined in Section 2 is implemented on a flight simulator
model at the Institute of Flight System Dynamics of the Technical University of
Munich. The flight simulator model represents a modern transport aircraft with
realistic dynamics, which includes rigid body motion, high fidelity aerodynamics,
and engine industry data [11]. Furthermore, the simulator model has
secondorder transfer functions for the dynamics of elevators, rudders, ailerons, and
other actuators. In total, the number of state variables is about one hundred.
Additionally, inexact measurements of the states through noisy sensor models
are considered for the feedback control using an Extended Kalman Filter (EKF).</p>
      <p>Based on this mathematical flight simulator model, a model of forces for
gravity, aerodynamics, and thrust, as well as the gains of reference models for
attitude dynamics, and the rotational dynamics are derived for the reduced
model. Moreover, in order to realize the viability kernel based control approach,
the flight simulator model is extended by a control architecture for transforming
the optimal attitude commands to actuator deflections of the flight simulator
model.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Reduced Model</title>
      <p>The main requirement for the reduced model is that a maximum number of
seven states can be used for the dynamics in order to calculate the viability
kernel. Considering the altitude, thrust, translation, and attitude of the aircraft,
a reduced model with eight states can be derived. The corresponding state vector
x of the reduced model comprises the altitude h, the kinematic velocity VK , the
kinematic climb angle γK , the kinematic course angle χK , and the states of
the attitude reference model (32), i.e. the kinematic angle of attack αK,RM , the
kinematic sideslip angle βK,RM , the kinematic bank angle μK,RM , and the thrust
level δT . Thus,
x = [h, VK , γK , χK , αK,RM , βK,RM , μK,RM , δT ]0 .
(14)
For the conflict control problem under consideration the first player u utilizes
the attitude and thrust commands:</p>
      <p>u = [αK,c, βK,c, μK,c, δT,c]0 .</p>
      <p>The opposing player v controls wind velocity components in the body fixed frame
(B), i.e.:
v = [(uW )B , (vW )B , (wW )B]0 .
(15)
Observe that the wind velocities are directly used as the disturbance inputs to
the reduced model and no states for the wind dynamics are introduced in the
model. The reasoning behind this modeling choice is the following: First, the
additional states for the wind model would further augment the state vector,
rendering the computation of the viability kernel infeasible. Second, all states of
the reduced model need to be measured for the viability kernel based control.
Thus, if the wind states are included in the set of states of the reduced model an
accurate measurement of the current wind velocity is required for the controller
implementation in the flight simulator which for realistic applications is typically
difficult to obtain. Obviously, this modeling choice is highly conservative as it
allows the wind to change its velocity instantaneously. However, as shown for
the illustrative example in Section 6, even if the viability kernel is computed
for maximum (optimal) wind velocities considerably below the wind velocities
which typically occur in aircraft operation, the viability based controller is able
to withstand much higher (suboptimal) wind velocities in realistic simulations.</p>
      <p>The dynamic equations for this model are detailed in the following.
Simplifying assumptions for the derivation of this model are:
– Only gravity, aerodynamic, and engine forces in the cruise flight condition
are considered.
– Constant gravity and mass are assumed.
– The effect of control surface deflections on the aerodynamic forces is
neglected.
– The same power setting for left and right wing engine is used.
– A flat and non-rotating earth is supposed.
– The wind velocity is the only disturbance.
(17)
(18)
Moreover, recall that for the calculation of the viability kernel and the evaluation
of the viability kernel based control, we require a model with at most seven
states. In order to arrive at this number of states, we further reduce the model
by setting the angle of side-slip command βK,c to zero which directly implies
βK,RM = 0◦. Thus, this state may be removed from the model and we arrive at
the desired number of seven states.</p>
      <p>The altitude propagation for the reduced model is obtained from the following
relation:</p>
      <p>h˙ = sin(γK )VK .</p>
      <p>The translational dynamics, assuming flat and non-rotating earth, can be
determined using the aircraft mass m and total force (FT )K = [XT , YT , ZT ]0K acting
on the aircraft. In the kinematic frame (K), the corresponding equations read:
V˙K 
χ˙ K  =

γ˙ K</p>
      <p> VK (XT )K 
1 1
mVK  cos(γK) (YT )K  .</p>
      <p>− (ZT )K
The total force (FT )K comprises the aerodynamic force (FA)K , the propulsion
force (FP )K , and the gravitation force (FG)K , i.e.:</p>
      <p>(FT )K = (FA)K + (FP )K + (FG)K .</p>
      <p>In (19), the aerodynamic force (FA)K is defined as:</p>
      <p>(FA)K = RKA (FA)A ,
where RKA is the transformation matrix between the aerodynamic frame (A)
and the kinematic frame (K). The aerodynamic force model for (FA)A is
derived from the mathematical model of the flight simulator and, besides the
tabulated aerodynamic coefficients, depends on quantities such as the aerodynamic
angle of attack αA, the aerodynamic sideslip angle βA, the air density ρ, the
wing reference area S, the Mach number M a = VA/a with the speed of sound
a = √κRTstat and the ratio of specific heat κ = 1.4, the specific gas constant
R = 287.05 J/(kg · K), and the static temperature of air Tstat. The atmospheric
quantities are determined based on the international standard atmosphere (ISA)
model according to DIN ISO2533. The following equations are valid up to an
altitude of 11000 m:</p>
      <p>Tstat = Ts + γT rHG,
ρ = ρs 1 + γT r HG</p>
      <p>Ts
pstat = ps 1 + γT r HG</p>
      <p>Ts
ηTr1−1
ηTηTr −r1
,
.</p>
      <p>(20)
(21)
(22)
(23)
(24)
(25)
(26)
In these equations, Ts = 288.15 K is the reference temperature, ρs = 1.225 kg/m3
the reference density, ps = 1.01325 N/m2 the reference pressure,
γT r = −6.510−3 K/m the temperature gradient of the troposphere, ηT r = 1.235
the exponent of the troposphere, and HG the geopotential altitude calculated as
HG =</p>
      <p>rEh
rE + h
,
with the earth radius rE = 6356766 m. The aerodynamic quantities such as the
aerodynamic velocity VA, the aerodynamic angle of attack αA, and the
aerodynamic angle of sideslip βA are derived from the vectorial wind relation denoted
in the body-fixed frame (B)</p>
      <p>(VA)B = RBK (VK )K − (VW )B ,
with the wind velocity vector (VW )B = v (see equation (16)) and the
transformation matrix RBK between the kinematic frame (K) and the body-fixed
frame (B). From the components of (VA)B = [(uA)B , (vA)B , (wA)B]0, we can
compute the aerodynamic quantities as follows:</p>
      <p>VA =
q
(uA)2B + (vA)2B + (wA)B,</p>
      <p>2
αA = arctan (wA)B ,</p>
      <p>(uA)B

βA = arctan  q
(vA)B</p>
      <p>2 
(uA)2B + (wA)B

.</p>
      <p>Regarding the modeling of the forces, the propulsion force in body-fixed frame
(FP )B derived from the mathematical model of the flight simulator provides
with a transformation matrix RKB = [RBK ]0 the following equation:
(FP )K = RKB (FP )B .</p>
      <p>The propulsion force depends on the thrust δT , the aerodynamic angle of attack
αA, the aerodynamic sideslip angle βA, the Mach number M a, the static
temperature Tstat and the static pressure pstat of air. For the gravitational forces, we
assume a constant gravitational acceleration vector (g)O and a constant mass
m of the aircraft. Using the transformation matrix RKO = [ROK ]0 we obtain:
(FG)K = RKO (FG)O = RKOm (g)O .
(28)
(29)
(30)
(31)</p>
      <p>
        Finally, it should be mentioned that the dynamics regarding the thrust state
δT depends on the thrust command δT,c, the thrust state itself, and the
atmospheric quantities M a, Tstat as well as pstat. Note that the Mach number depends
on the aerodynamic velocity which represents the disturbance in our conflict
control problem. However, the dynamic model of the thrust can be written in the
form
˙
δT = fp,u (x, δT,c) + fp,v (x, v) ,
meaning that the right-hand side is additively separable regarding the thrust
command and the disturbances (cf. (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )).
      </p>
      <p>One of the key concepts for the reduced model is the use of a first-order
reference model (32) for the description of attitude dynamics. This reference model
essentially defines an interface between the reduced model and the closed-loop
flight simulator model as the same reference model is used in the NDI controller
of the flight simulator described in the following Section 5. For the attitude
states in the reference model we use the kinematic angle of attack αK,RM , the
kinematic sideslip angle βK,RM , and the kinematic bank angle μK,RM . It is
important to mention that besides this choice of the reference model states also
Euler angles Φ, Θ, and Ψ have been considered for the attitude loop. However,
the performance of this modeling alternative showed considerably inferior
results. A possible explanation may be a too conservative design regarding the
performance of the reference model. Due to the rather high computational
burden associated with the calculation of the viability kernel an extensive study for
the determination of the exact root cause was outside the scope of this study.
As such, the following reference dynamics are used for the attitude:
α˙ K,RM </p>
      <p>Kα(h, VK ) (αK,c − αK,RM )
β˙K,RM  =  Kβ (h, VK ) (βK,c − βK,RM ) 
 
μ˙ K,RM</p>
      <p>Kμ(h, VK ) (μK,c − μK,RM )
(32)</p>
      <p>The commands αK,c, βK,c, and μK,c represent the controls of the reduced model
and the gains Kα(h, VK ), Kβ (h, VK ), and Kμ(h, VK ) depend on the altitude h
as well as the kinematic velocity VK (see Fig. 1).</p>
      <p>3
2.5</p>
      <p>2
2.6
2.4
2.2</p>
      <p>2
2.5</p>
      <p>2
1.5
220</p>
      <p>200
220</p>
      <p>200
220
200
180</p>
      <p>
        It is important to mention that it would be preferable to formulate the
dependencies of these gains on aerodynamic quantities, i.e. the aerodynamic velocity
VA or similar quantities such as the dynamic pressure. Here, we deliberately
do not follow this approach and only consider the kinematic velocity VK for
scheduling purposes in order to decouple the wind velocities (disturbance,
second player) from the aircraft commands (controls, first player) in the reference
model. This allows us to separate the dynamics in the form of (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ). As the same
form holds as well for the thrust control (cf. (31)) the saddle point condition (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
is automatically fulfilled for the reduced model under consideration.
      </p>
      <p>At this point it should be mentioned that for the translation of the optimal
attitude commands calculated in the viability kernel based control to the
corresponding actuator deflections the flight simulator model is extended by a NDI
control architecture. This controller features first-order reference models for the
attitude and rotation dynamics. It is particularly noteworthy that the reference
model for the middle loop in the NDI controller shares the same structure and
gains as the reference dynamics (32) but is modified by hedging signals and error
controllers. The inner loop for the rotation dynamics shares a similar structure
with its gains scheduled over the same quantities (VK and h). Details regarding
the controller implementation are provided in Section 5.</p>
      <p>The gain coefficients presented in Fig. 1 for the attitude reference model (32)
and the rotation reference model in the innermost loop of the NDI controller
described in the following Section are determined for a trim grid over different
altitudes and kinematic velocities. For this procedure a time-scale separation
factor of ten between the attitude and the rotation loop is used. A detailed
description regarding the calculation of these gains can be found in [9]. Intermediate
values of the gain coefficients are obtained based on a multi-linear interpolation.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Control Architecture</title>
      <p>
        The main task of the control architecture described in the following is to
translate the optimal controls obtained from the viability kernel (cf. (
        <xref ref-type="bibr" rid="ref12">12</xref>
        )) to surface
deflection increments for the flight simulator model. For this purpose, two
cascaded control loops with modified reference models of relative degree one (34)
and (42), and a NDI in each loop are applied. The basic idea of NDI is to
define an appropriate nonlinear feedback law that linearizes the plant. This can
be achieved by computing the Lie-Derivative [13] of the output equations until
the control input appears explicitly. Inversion of the resulting equation yields
the nonlinear control feedback law. Using this approach, smooth reference
trajectories can be followed by the plant. In the control concept presented here,
two modified reference models of relative degree one (34) and (42) are used for
the attitude dynamics (middle loop) and the rotation dynamics (inner loop).
Further details regarding this control architecture can be found in [5] and [10].
The considered reference models are modified by hedging signals and PI error
controllers. The attitude reference
      </p>
      <p>
        αK,c
rαβμ = βK,c  ,
(33)
found from the reduced model using the feedback (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ), is first propagated through
the attitude equation
 νRM,α 
νRM,μ
 Kα(h, VK ) (αK,c − αˆK,RM ) 
      </p>
      <p>Kμ(h, VK ) (μK,c − μˆK,RM )
νRM,αβμ =  νRM,β  = Kβ(h, VK ) βK,c − βˆK,RM  .</p>
      <p> 
(34)
with the states of the modified reference model αˆK,RM , βˆK,RM , and μˆK,RM ,
as well as the same gains Kα(h, VK ), Kβ(h, VK ) and Kμ(h, VK ) used for the
attitude dynamics (32). The state derivatives of the modified reference model
are then obtained as:
(35)
(36)
(37)
(38)
with the hedging signal νh,αβμ
αˆ˙K,RM </p>
      <p>˙
βˆK,RM  = νRM,αβμ − νh,αβμ,

˙
μˆK,RM
νh,αβμ =  νh,β  = β˙K,RM,e − β˙K  ,</p>
      <p>
 νh,α 
νh,μ
α˙ K,RM,e − α˙ K 
μ˙ K,RM,e − μ˙ K
defined as the expected reaction deficit between the pseudo commands α˙ K,RM,e,
β˙K,RM,e, μ˙ K,RM,e and the expected system reactions α˙ K , β˙K and μ˙ K . Note that
α˙ K , β˙K , and μ˙ K are the time derivatives of the corresponding states of the flight
simulator model. The pseudo command of the attitude dynamics (middle loop)
is defined as
α˙ K,RM,e</p>
      <p>μ˙ K,RM,e
νm = β˙K,RM,e = νRM,αβμ + νe,αβμ,</p>
      <p>
where νe,αβμ = [νe,α, νe,β, νe,μ]0 is obtained from the error controller
 KeP,α (αˆK,RM − αK ) + KeI,α R (αˆK,RM − αK ) dt 
νe,αβμ = KeP,β βˆK,RM − βK

+ KeI,β R βˆK,RM − βK dt
</p>
      <p>KeP,μ (μˆK,RM − μK ) + KeI,μ R (μˆK,RM − μK ) dt
consisting of proportional (KeP,α, KeP,β, KeP,μ) and integral (KeI,α, KeI,β, KeI,μ)
parts.</p>
      <p>In this way, equations (33) – (38) describe the modified reference model for
the attitude dynamics (middle loop). The described reference model structure is
illustrated in Fig. 2 for the kinematic angle of attack.</p>
      <sec id="sec-5-1">
        <title>Modified Reference Model</title>
      </sec>
      <sec id="sec-5-2">
        <title>Middle Loop</title>
        <p>α˙ K</p>
      </sec>
      <sec id="sec-5-3">
        <title>Reference Model</title>
        <p>rαβμ
αK,c
αˆK,RM
αK</p>
      </sec>
      <sec id="sec-5-4">
        <title>PI Error Controller</title>
        <p>Kα
KeP,α
KeI,α</p>
        <p>Continuing to the inner loop, the reference command of the rotational
dynamics is computed from</p>
        <p>μ˙ K,RM,e + α˙ K,RM,e sin(βK )
ωcKB K = α˙ K,RM,e cos(βK ) cos(μK ) + β˙K,RM,e sin(μK ) .</p>
        <p>α˙ K,RM,e cos(βK ) sin(μK ) − β˙K,RM,e cos(μK ) K
From the commands pc, qc, and rc using

 νRM,p  Kp(h, VK ) (pc − pˆRM )
νRM,pqr =  νRM,q  = Kq(h, VK ) (qc − qˆRM ) ,</p>
        <p>
νRM,r Kr(h, VK ) (rc − rˆRM )
νm
(39)
(40)
(41)
(42)
with the states of the modified reference model pˆRM , qˆRM , and rˆRM , the gain
coefficients Kp(h, VK ), Kq(h, VK ), and Kr(h, VK ) depicted in Fig. 3 and the
25
20
15
30
25
20
26
24
22
20
220</p>
        <p>200
220</p>
        <p>200
220
200
180
hedging signal νh,pqr, we obtain the modified rotation reference model:
pˆ˙RM 
qˆ˙RM  = νRM,pqr − νh,pqr.

˙
rˆRM
(43)
Herein, the hedging signal, νh,pqr = [νh,p, νh,q, νh,r]0, is defined as the expected
reaction deficit between the pseudo commands p˙RM,e, q˙RM,e, r˙RM,e and the
expected reactions p˙, q˙ and r˙ of the system, i.e.</p>
        <p>Note that, the hedging signal in the rotation dynamics accounts for the actuator
dynamics, which are not included in the inversion. The pseudo command for the
rotation dynamics is defined as</p>
        <p>p˙RM,e − p˙
νh,pqr = q˙RM,e − q˙</p>
        <p>
r˙RM,e − r˙
p˙RM,e</p>
        <p>r˙RM,e
νi = q˙RM,e = νRM,pqr + νe,pqr,
δur = δη
 
δξ</p>
        <p>δζ
 ∂L ∂L ∂L </p>
        <p>∂ξ ∂η ∂ζ
B =  ∂∂Mξ ∂∂Mη ∂∂Mζ  .</p>
        <p>∂N ∂N ∂N
∂ξ ∂η ∂ζ
where the error controller signal for the rotation dynamics νe,pqr = [νe,p, νe,q, νe,r]0
is defined as</p>
        <p>KeP,p (pˆRM − p) + KeI,p R (pˆRM − p) dt
νe,pqr =  KeP,q (qˆRM − q) + KeI,q R (qˆRM − q) dt 
 </p>
        <p>KeP,r (rˆRM − r) + KeI,r R (rˆRM − r) dt
consisting of proportional (KeP,p, KeP,q, KeP,r) and integral (KeI,p, KeI,q, KeI,r) parts
as for the middle loop. Note that, the modified reference model of the rotation
loop share the same structure as the modified reference model of the attitude
loop. This structure is visualized in Fig. 4 for the pitch rate.</p>
        <p>The actuator command increment vector
containing the aileron increment δξ, elevator increment δη, and rudder increment
δζ is obtained from the inversion of the rotational dynamics. For this purpose,
the control effectiveness matrix B collecting the derivatives of the total moments
(MT )B = [L, M, N ]0 with respect to the actuator positions ξ, η and ζ is defined
as:
The desired moments (MT )B are computed from the angular body rates ωOKB B,
the inertia tensor (I)BB, and the pseudo command of the rotation dynamics
(inner loop) νi from (45):
(MT )B =</p>
      </sec>
      <sec id="sec-5-5">
        <title>Modified Reference Model</title>
      </sec>
      <sec id="sec-5-6">
        <title>Inner Loop</title>
        <p>rpqr
qc
qˆRM
q</p>
        <p>Subtracting the estimated moment M˜ T B from the desired moment (49)
corresponds to the product of the control effectiveness (48) and the actuator command
increments (47):</p>
        <p>Bδur = (MT )B −</p>
        <p>M˜ T B .</p>
        <p>(50)
Finally, we get the actuator command increments δur by solving the control
allocation problem (50). Thus, the actuator controls ur result from adding the
actuator increments to the current actuator surface deflections xr = [ξ, η, ζ]0.
The actuator controls and the thrust control δT,c yield the controls ufs for the
flight simulator model. The information flow in the control architecture from
the viability kernel based control to the control surface and thrust command are
illustrated in Fig. 5.</p>
        <p>Moreover, step responses for the same trim conditions used in the simulation
in Section 6 are shown in Fig. 6. For the step responses presented here perfect
measurements of states are assumed.
xV K</p>
        <p>xRM,m</p>
        <p>Figure 6 suggests a good following behavior of the modified reference models
for the attitude dynamics by the flight simulator model, even without using the
hedging signal. Note that using the hedging signal, the step responses of the
modified reference models coincides with the behavior of the flight simulator.
This also holds for larger step responses as can be seen in Fig. 7.
11.5
4.25
-3
0
5
0
-5</p>
        <p>0
10
0
-10
0
5
5
5
10
10
10
15
15
15
20
20
20
25
25
25
30
30
30
35
35
35</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Calculation and Simulation Results</title>
      <p>In this section, the calculation of the viability kernel, simulation aspects, and
numerical results of the flight simulations in the cruise flight condition are
presented.
6.1</p>
      <p>Calculation of the Viability Kernel
The calculation was performed on a grid with 9·107 nodes according to Section 2.
A resolution of 30 nodes both for the altitude and kinematic velocity, as well as
ten nodes for the other states were used.</p>
      <p>Recall, that due to the computer resource limitation, the kinematic sideslip
angle is neglected (set to zero) which reduces the dimension of the reduced model
to seven states. The state constraints are chosen according to Table 1 and the
bounds imposed on control and disturbance variables are presented in Tables 2
and 3.</p>
      <p>Unit
m
m
s
◦
◦
◦
◦
◦
%</p>
      <sec id="sec-6-1">
        <title>Unit</title>
        <p>◦
◦
◦
%
Unit
m
s
m
s
m
s</p>
        <p>
          Note that, the control bounds for the calculation of viability kernel (Table 2)
are not the same as for the simulation controls (compare Table 4) because the
viability kernel disappears in the case of the same bounds. The calculation of the
viability kernel was performed with a step length δ = 0.01 s until the functions
produced by the formula (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ) converge to a precision of 10−6.
        </p>
        <p>
          A visualization of the seven-dimensional viability kernel is not useful for
checking whether some point belongs to it. Instead of that the limiting value
function produced by (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ) can be used. If the value function is non-positive at a
point, this point lies in the viability kernel, and vise versa.
6.2
        </p>
        <p>Simulation Aspects
For the initial values of the simulation, we use a trim condition of the flight
simulator which is obtained through the optimal values for the altitude and
the kinematic velocity from the viability kernel. Depending on these values we
determine the relative angle of attack, elevator deflection, and thrust level by
trimming the model of the flight simulator. Thus, it is ensured that the simulation
starts from a trim condition inside the viability kernel.</p>
        <p>
          It is noteworthy that the simulation shows a sensitive behavior with respect to
the control variables and the length of the extrapolation step τ (see (
          <xref ref-type="bibr" rid="ref12">12</xref>
          )). If the
controls are too large, the reduced model does not accurately reflect the aircraft
dynamics. If the controls are too small, the disturbance cannot be sufficiently
compensated. The low resolution of the control can be partly compensated by the
extrapolation step length τ . If the time step is too small, the faster dynamics are
weighted more, which may lead to an unfavorable control if the model deviates.
If the time step is too large, the predictive shift can aim near to or beyond the
boundary of the viability kernel leading to a higher cost function value. Thus,
the bounds on the control variables and the predictive simulation time step
τ (extrapolation step) need to be selected carefully for the application under
consideration.
        </p>
        <p>
          In our simulation, we evaluate the min max-operator in (
          <xref ref-type="bibr" rid="ref12">12</xref>
          ) using control
values u = [u1, . . . , u4]0 according to Table 4 and disturbance values according
to Table 3. Note that ui, i = 1, . . . , 4 represent the lower thresholds of the
control, and u¯i, i = 1, . . . , 4 the upper thresholds. Moreover u˜i, i = 1, . . . , 4
are the current values of the corresponding flight simulator model states, i.e. u˜1
corresponds to the kinematic angle of attack αK , u˜2 to the kinematic angle of
sideslip βK , u˜3 to the kinematic bank angle μK , and u˜4 to the thurst state δT .
During the whole simulation, the control variable of the kinematic sideslip angle
βK,c is kept at zero.
        </p>
        <p>It is noteworthy that the use of current states as control variables (see
Table 4) shows a positive influence on the simulation results. Computational
experience suggests that, on the one side, this strategy is less likely to lead to
fast control chattering as in many cases the current state is preferred over large
corrective actions. On the other side, the low number of controls to be evaluated
(min, max, current state), compared to an otherwise potentially fine resolution
of the control, has a positive effect on the simulation time.</p>
        <p>
          In our experiments, we achieved good results using the extrapolation step τ =
0.2 s in (
          <xref ref-type="bibr" rid="ref12">12</xref>
          ). In addition to the case of optimal wind and the case without wind,
we considered a suboptimal wind generated by the Dryden turbulence model [7].
The simulation was performed for 100 s using the Euler forward method with the
step size δs = 0.0001 s. The optimal control variables are determined with the
step size δc = 0.02 s. Moreover, noisy measurement from the sensor models are
assumed and the measured quantities for the control architecture are estimated
using an EKF implementation.
The flight simulator model was initialized in a cruise flight condition with the
kinematic angle of attack αK,trim = 2.36◦, elevator deflection ηtrim = −1.13◦,
and thrust level δT,trim = 84, 36 % at the kinematic velocity VK = 186 m/s and
altitude of h = 9980 m.
        </p>
        <p>In addition, simulation results for the Dryden suboptimal wind with an
amplitude of 12 m/s are shown in Fig. 15. For this case, Figure 16 shows the value
function along the trajectory. Since the value function remains negative, the
whole trajectory lies inside the viability kernel in this case. It should be noted
that 12 m/s is four times larger than the wind disturbance bounds used for the
construction of the viability kernel.</p>
        <p>4.5</p>
        <p>0
-4.5</p>
        <p>0
Fig. 9. Value function for optimal (thin black line), suboptimal (thick black line), and
no wind (grey line) disturbance.
1.0045</p>
        <p>104
0
10
20
30
40
50
60
70
80
90
100
1
230
200
170</p>
        <p>0
5.2</p>
        <p>0
-5.2</p>
        <p>0
1.5</p>
        <p>0
-1.5
0
10
20
30
40
50
60
70
80
90
100</p>
        <p>14.9
5.5
-3.9
0
1
0
-1</p>
        <p>0
13
0
-13</p>
        <p>0
110
90
70
0
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
Fig. 13. Trajectory for the flight simulator states μK and δT for optimal (thin black
line), suboptimal (thick black line), and no wind (grey line) disturbance.
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
7.5</p>
        <p>0
-7.5</p>
        <p>0
100
90
80</p>
        <p>0
13
0
13
0
13
0
-13</p>
        <p>0
-13</p>
        <p>0
Fig. 14. Flight simulator controls αK,c, μK,c and δT,c for optimal (thin black line),
suboptimal (thick black line), and no wind (grey line) disturbance.</p>
        <p>10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
-13
0
10
20
30
40
50
60
70
80
90
100
Fig. 15. Dryden wind disturbances (uW )B , (vW )B and (wW )B for suboptimal wind
with an amplitude of 12 m/s.
-0.07
0
10
20
30
40
50
60
70
80
90
100</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future Perspective</title>
      <p>The current investigation shows that the model of a flight simulator with about
a hundred state variables can be controlled by applying viability theory on a
reduced problem having few (seven) states. The reduced model enables the
computation of the viability kernels, which allows designing a feedback control for
keeping the state vector of the reduced model inside the viability kernel. This
feedback control, using a control architecture based on NDI, can be applied to
the flight simulation model in such a way that the seven state variables (the
same as in the reduced model) remain in the viability kernel.</p>
      <p>It should be stressed that the reduced model has to reflect the flight simulator
dynamics as well as possible. If the rates produced by the reduced model (32) are
too high, the flight simulator dynamics can not follow it. If the rates are too low,
the viability kernel can not exist. As such, the design of an appropriate reduced
model is a key ingredient in the control approach presented in this paper.</p>
      <p>For future research the idea to include unmodeled parts (such as the control
surface deflections in the aerodynamic forces) in the reduced model as
disturbances seems appealing.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgment</title>
      <p>This work was supported by the DFG grant HO4190/8-2 and TU427/2-2.
Computer resources for this project have been provided by the Gauss Centre for
Supercomputing/Leibniz Supercomputing Centre under the grant: pr74lu.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aubin</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          :
          <source>Viability theory. Systems</source>
          and control, Birkhäuser, Boston (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Botkin</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoffmann</surname>
            ,
            <given-names>K.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mayer</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turova</surname>
            ,
            <given-names>V.L.</given-names>
          </string-name>
          :
          <article-title>Approximation schemes for solving disturbed control problems with non-terminal time and state constraints</article-title>
          .
          <source>Analysis</source>
          <volume>31</volume>
          (
          <issue>4</issue>
          ),
          <fpage>355</fpage>
          -
          <lpage>379</lpage>
          (
          <year>2011</year>
          ). https://doi.org/10.1524/anly.
          <year>2011</year>
          .1122
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Botkin</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turova</surname>
            ,
            <given-names>V.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diepolder</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bittner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Holzapfel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Aircraft control during cruise flight in windshear conditions: viability approach</article-title>
          .
          <source>Dynamic Games and Applications</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <fpage>594</fpage>
          -
          <lpage>608</lpage>
          (
          <year>2017</year>
          ). https://doi.org/10.1007/s13235- 017-0215-9
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Botkin</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turova</surname>
            ,
            <given-names>V.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diepolder</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Holzapfel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Computation of viability kernels on grid computers for aircraft control in windshear</article-title>
          .
          <source>Advances in Science, Technology and Engineering Systems Journal</source>
          <volume>3</volume>
          ,
          <fpage>502</fpage>
          -
          <lpage>510</lpage>
          (
          <year>2018</year>
          ). https://doi.org/10.25046/aj030161
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bugajski</surname>
            ,
            <given-names>D.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Enns</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elgersma</surname>
            ,
            <given-names>M.R.:</given-names>
          </string-name>
          <article-title>A dynamic inversion based control law with application to the high angle-of-attack research vehicle</article-title>
          .
          <source>In: Guidance, Navigation and Control Conference. Guidance, Navigation, and Control and Co-located Conferences</source>
          , pp.
          <fpage>826</fpage>
          -
          <lpage>839</lpage>
          . American Institute of Aeronautics and Astronautics (
          <year>1990</year>
          ). https://doi.org/10.2514/6.1990-
          <fpage>3407</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cardaliaguet</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A differential game with two players and one target</article-title>
          .
          <source>SIAM Journal on Control and Optimization</source>
          <volume>34</volume>
          (
          <issue>4</issue>
          ),
          <fpage>1441</fpage>
          -
          <lpage>1460</lpage>
          (
          <year>1996</year>
          ). https://doi.org/10.1137/S036301299427223X
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Chalk</surname>
            ,
            <given-names>C.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neal</surname>
            ,
            <given-names>T.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>T.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pritchard</surname>
            ,
            <given-names>F.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woodcock</surname>
          </string-name>
          , R.J.:
          <article-title>Background information and user guide for Mil-F-8785B (ASG), 'Military specificationflying qualities of piloted airplanes', AFFDL-TR</article-title>
          , vol.
          <volume>70</volume>
          -
          <fpage>72</fpage>
          . Air Force Flight Dynamics Laboratory Air Force Systems Command,
          <string-name>
            <surname>Wright-Patterson</surname>
            <given-names>AFB</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ohio</surname>
          </string-name>
          (
          <year>1969</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Diepolder</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piprek</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botkin</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turova</surname>
            ,
            <given-names>V.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Holzapfel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A robust aircraft control approach in the presence of wind using viability theory</article-title>
          .
          <source>In: Australian and New Zealand Control Conference (ANZCC)</source>
          , pp.
          <fpage>155</fpage>
          -
          <lpage>160</lpage>
          (
          <year>2017</year>
          ). https://doi.org/10.1109/ANZCC.
          <year>2017</year>
          .8298503
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Gerdt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Integration und Testen einer robusten Regelungsstruktur an einem Forschungsflugsimulator</article-title>
          . Masterarbeit, Technische Universität München,
          <string-name>
            <surname>München</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Holzapfel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Nichtlineare adaptive Regelung eines unbemannten Fluggerätes</article-title>
          . Dissertation, Technische Universität München,
          <string-name>
            <surname>München</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Research Flight Simulator, https://www.fsd.mw.tum.de/infrastructure/simulators.
          <source>Last accessed 29 Sep 2020</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Krasovskii</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Subbotin</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          :
          <article-title>Game-theoretical control problems</article-title>
          . Springer, New York (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Slotine</surname>
            ,
            <given-names>J.J.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Applied nonlinear control</article-title>
          .
          <source>Prentice Education Taiwan Ltd</source>
          , Taipei, international ed. (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>