LPVcore: MATLAB Toolbox for LPV Modelling, Identification and Control

Page created by Brett Banks
 
CONTINUE READING
LPVcore: MATLAB Toolbox for LPV
                                                                         Modelling, Identification and Control
                                                                         Pascal den Boef ∗ Pepijn B. Cox ∗∗∗∗ Roland Tóth ∗∗,∗∗∗
                                                                         ∗
                                                                          Drebble, Horsten 1, 5612AX, Eindhoven, The Netherlands
                                                                    ∗∗
                                                                      Control Systems Group, Eindhoven University of Technology, P.O.
                                                                              Box 513, 5600 MB Eindhoven, The Netherlands
                                                                    ∗∗∗
                                                                        Systems and Control Laboratory, Institute for Computer Science
                                                                         and Control, Kende u. 13-17, H-1111 Budapest, Hungary.
                                                                    ∗∗∗∗
                                                                         Radar Technology, TNO, P.O. Box 96864, 2509 JG The Hague,
                                                                                              The Netherlands
arXiv:2105.03695v1 [eess.SY] 8 May 2021

                                                      Abstract: This paper describes the LPVcore software package for MATLAB developed to
                                                      model, simulate, estimate and control systems via linear parameter-varying (LPV) input-output
                                                      (IO), state-space (SS) and linear fractional (LFR) representations. In the LPVcore toolbox,
                                                      basis affine parameter-varying matrix functions are implemented to enable users to represent
                                                      LPV systems in a global setting, i.e., for time-varying scheduling trajectories. This is a key
                                                      difference compared to other software suites that use a grid or only LFR-based representations.
                                                      The paper contains an overview of functions in the toolbox to simulate and identify IO, SS and
                                                      LFR representations. Based on various prediction-error minimization methods, a comprehensive
                                                      example is given on the identification of a DC motor with an unbalanced disc, demonstrating the
                                                      capabilities of the toolbox. The software and examples are available on www.lpvcore.net.
                                                      Keywords: Linear parameter-varying systems, software tools, system identification

                                                             1. INTRODUCTION                               the applicability of LPV methodologies to applications,
                                          In recent years, the linear parameter-varying (LPV) mod-         various computational tools have become available, e.g.,
                                          elling paradigm has received considerable attention from         LPVTools (Hjartarson et al., 2015), Control Systems and
                                          the identification and control community (e.g., see Tóth,       System Identification Toolbox in MATLAB (MATLAB,
                                          2010; Lopes dos Santos et al., 2011; Mohammadpour and            2014), Predictor-Based Subspace IDentification (PBSID)
                                          Scherer, 2012; Sename et al., 2012; Briat, 2015; Hoffmann        Toolbox (van Wingerden and Verhaegen, 2009), and LPV
                                          and Werner, 2015). The LPV framework has become pop-             Input/Output Systems Identification Toolbox (LPVIOID)
                                          ular as it can represent non-linear and time-varying behav-      (Rabeei et al., 2015). The analysis and control methods in
                                          ior encountered in real-world systems while, at the same         the LPVTools and Control Systems toolboxes are mainly
                                          time, the linearity in the model can be exploited to have        focused on a local grid based formulation (Jacobian-
                                          convex optimization for synthesizing observers and con-          linearizations) or a grid based linear fractional representa-
                                          trollers including performance guarantees. An LPV rep-           tion. The Control Systems Toolbox does include a limited
                                          resentation describes a linear relation between the inputs       set of tools based on a global form. The PBSID and
                                          and the outputs of the model, but this linear relation is a      LPVIOID toolboxes focus on specific algorithms for iden-
                                          function of a measurable, time-varying signal, the so-called     tification of global LPV models in either SS or IO form,
                                          scheduling signal p. These variations w.r.t. the scheduling      respectively, but with limited options to further utilize
                                          signal enable the representation of non-linear and non-          these models and with only support for affine dependency
                                          stationary behaviour. Conceptually, LPV models of the            on the scheduling signal.
                                          underlying system can be obtained by 1) interpolating            The concept of the initial release of the LPVcore toolbox
                                          various local linear time-invariant representations around       is to facilitate modelling, simulation, and identification of
                                          fixed operating points, i.e., with constant p, often referred    LPV representations in a global form in MATLAB. Mod-
                                          to as the local or grid based model; or by 2) formulating        elling and simulating systems can be performed based on
                                          one overall representation of the system via the so-called       a continuous-time (CT) or discrete-time (DT) LPV rep-
                                          embedding principle, i.e., the global form. In general,          resentation. To include the parameter-varying nature, the
                                          global models capture the dynamics of the system w.r.t.          real and complex number based matrix representations in
                                          the scheduling signal and, for local models, the scheduling      MATLAB are extended to facilitate parameter-variations.
                                          signal is used to interpolate (schedule) between the local       These parameter-varying matrix functions form the core of
                                          linear time-invariant models.                                    the toolbox to facilitate algebraic operations. In addition,
                                          The LPV analysis, modelling, identification, and control         the LPVcore toolbox includes identification methods to
                                          literature has become mature in recent years. To accelerate      identify discrete-time LPV IO, SS and LFR models. The
                                                                                                           initial release of the toolbox does not cover the comprehen-
                                          1 This work has received funding from the European Research      sive LPV literature. However, it provides a solid basis to
                                          Council (ERC) under the European Union’s Horizon 2020 research   incorporate LPV analysis and control methods, implement
                                          and innovation programme (grant agreement nr. 714663).
realization tools in a computationally efficient manner, and                 and (2) the basis functions {αi }ni=1  α
                                                                                                                      . To support simple
extend the set of identification methods in the future.                      use of parameter-varying matrix functions for casual users,
                                                                             but also support the more advanced needs of researchers,
The intention of this paper is to provide an overview
                                                                             a flexible pmatrix object is defined, which represents a
of the methods in the initial release of the LPVcore
                                                                             parameter-varying matrix function based on the three in-
toolbox. In Section 2, the handling of parameter-varying
                                                                             gredients described above. The first argument of pmatrix
matrix functions and the various LPV representation
                                                                             specifies the coefficients, followed by name-value pairs that
forms are introduced. The LPV-IO, LPV-SS and LPV-
                                                                             describe the basis functions and the extended schedul-
LFR identification methods are described in Section 3.
                                                                             ing signal. To demonstrate the degree of flexibility in
Section 4 presents an example in which LPVcore is used
                                                                             specifying parameter-varying matrix functions, the use of
to estimate a model of a DC motor with unbalanced disc.
                                                                             pmatrix is shown in a few examples:
In Section 5, the conclusions are given.
                                                                             Example 1. Consider the following affine parameter-varying
              2. LPV REPRESENTATIONS
                                                                             matrix function:
In this section, the LPV representations are described to                                   (A ⋄ p)t = A0 + A1 pt + A2 pt−1 .          (2)
model the system at hand. The key element in formulating
the representations in a global form is the parameter-                       The detailed way to represent this function in LPVcore
varying matrix object of the LPVcore toolbox, as dis-                        is to first construct a timemap object to extend the
cussed in Section 2.1. With the parameter-varying ma-                        scheduling signal with the time-shifted version, and then
trix object, LPV input-output, state-space and linear-                       use this object to create a pmatrix, i.e.:
fractional representations are constructed, as detailed in                   rho = timemap([0, -1], 'dt')
Sections 2.2, 2.4 and 2.3.                                                   A = pmatrix(cat(3, A0, A1, A2), ...
2.1 Parameter-varying matrix function                                          'BasisType', 'affine', ...
The LPV representations are defined using parameter-                           'BasisParametrization', {0, 1, 2}, ...
varying matrix functions. MATLAB does not have a native                        'SchedulingTimeMap', rho)
implementation of these functions. Therefore, LPVcore
introduces the pmatrix object, defining the following                        Note that the parameter 'BasisParametrization' is
parameter-varying matrix function:                                           a cell array of indices of the extended scheduling signal,
                              nα                                             with 0 representing the constant factor 1. Indices 1 and
              (A ⋄ p) = A0 +
                              X
                                 Ai (αi ⋄ p) ,         (1)                   2 refer to pt and pt−1 , respectively. As an alternative to
                                                                             pmatrix, one can simply use preal and assemble (2) in
                                     i=1
                                                                             one line by algebraic operations (see Example 4).
where p : T → P ⊆ Rnp is the scheduling variable,
Ai ∈ Rk×l are the parameters, and αi ∈ R are scheduling-                     Example 2. Consider the following affine parameter-varying
dependent coefficient functions. For the CT case, T = R                      matrix function with two scheduling signals:
and, for the DT case, T = Z. P is a compact subset of Rnp .                            (A ⋄ (p, q))t = pt−1 + 2qt−1 + 3pt + 4qt      (3)
The set R is defined as the set of real-analytic functions                   Additional scheduling signals can be specified in the
of the form f : Rnp × . . . × Rnp → R. Furthermore, in the                   'Name' option of timemap. Furthermore, affine basis
CT case, for a p ∈ P, we define the following notation:                      type is the default and need not be specified when creating
                                             d    d2                   d
if f ∈ R, then (f ⋄ p) = f (p, dt              p, dt2 p, . . .) where dt p   the pmatrix:
is the time derivative of the scheduling signal. Similarly,
                                                                             rho = timemap([-1, 0], 'dt', ...
in the DT case, for a p ∈ P, we define: if f ∈ R, then
                                                                               'Name', {'p', 'q'})
(f ⋄ p) = f (p, q 1 p, q −1 p, q 2 p, . . .) where q is the time-shift
                                                                             A = pmatrix(cat(3, 1, 2, 3, 4), ...
operator, i.e., qpt = pt+1 . Hence, the set R allows to
                                                                               'BasisParametrization', ...
include various types of non-linearities and time-varying
                                                                                 {1, 2, 3, 4}, ...
effects into a representation. For example, the affine basis
                                                                               'SchedulingTimeMap', rho)
functions αi ∈ R can represent polynomials, cosines,
                                                                      di
exponentials, logarithms, and rational functions in dt                  ip   Example 3. Consider the following polynomial parameter-
or pt±i with i ≥ 0. For the full mathematical treatment                      varying matrix function:
of R see Tóth (2010, Chapter 3). Moreover, for notational                                 (A ⋄ p)t = p2t + 2pt pt−2 + p2t−2 .   (4)
simplicity, we denote by R k×l the set of all functions of
                                                                             Setting 'BasisType' to 'poly' specifies polynomial
the form (1).
                                                                             dependence, for which the associated parametrization is
In LPVcore, the timemap object is introduced to sim-                         a vector with the degree of each term of the extended
plify the handling of dynamic dependency on p, by in-                        scheduling signal, i.e.:
troducing the extended scheduling signal ρ that includes
                                                                             rho = timemap([-2, 0], 'dt')
all the shifted versions (DT) or time derivatives (CT) of
                                                                             A = pmatrix(cat(3, 1, 2, 1), ...
p that arise from the use of the ⋄ operator in (1). For
                                                                               'BasisType', 'poly', ...
example, to represent dynamic dependency on both pt
                                                                               'BasisParametrization', ...
and pt−1 , the user can generate the extended schedul-
                                                                                 {[2, 0], [1, 1], [0, 2]}, ...
ing signal using timemap([0, -1], 'dt'). The first
                                                                               'SchedulingTimeMap', rho)
argument represents the time shifts or derivatives and
the second argument denotes the time domain ('dt'                            Custom basis functions are supported, too. In LPVcore,
and 'ct' for DT and CT, respectively). Then, to model                        many key operations available in MATLAB for constant
a parameter-varying matrix function in LPVcore, two                          matrices, such as taking the sum or product, are extended
more ingredients are required: (1) the coefficients {Ai }ni=0
                                                           α
                                                              ,              for pmatrix objects, providing an intuitive manner to
Table 1. Operators for pmatrix.
                                                                                                  ∆⋄p
      Function             Description                                                    w
      P1 + P2              Addition                                                                            z
      P1 - P2              Subtraction
                           Element-wise multiplication
                                                                                                    G              y
      P1 .* P2                                                                        u
      P1 * P2              Matrix multiplication
      [P1, P2]             Horizontal concatenation
                                                                    Fig. 1. Schematic representation of an LPV-LFR model.
      [P1; P2]             Vertical concatenation
      Pˆ2                  Matrix power                             with finite polynomial orders na ≥ 0 and nb ≥ 0, re-
      P.ˆ2                 Element-wise power                       spectively, and Ai ∈ R ny ×ny and Bj ∈ R ny ×nu are
      P(:)                 Vectorization                            scheduling-dependent matrix coefficient functions that are
      p = P(i, j)          Subscripted reference                                                         na ,nα           nb ,nβ
                                                                    affine in the basis functions {αi,l }i=1,l=1 , {βj,l }j=0,l=1 , re-
      P(i, j)= p           Subscripted assignment
      kron(P1, P2)         Kronecker product
                                                                    spectively, similarly to (1). The LPV-IO representation (5)
      P'                   Conjugate transposition                  can be created by using the lpvio command.
      P.'                  Transposition                            2.3 LPV-SS representation
      diag([p1, p2])       Create diagonal matrix                   The system can also be represented by a first-order differ-
      diag(P)              Get diagonal elements                    ential or difference equation, i.e., state-space representa-
      sum(P)               Sum along columns
                                                                    tion:
      pshift(P, k)         Shift k time-steps (DT only)
      pdiff(P, k)          Differentiate k times (CT only)                         ξxt = (A ⋄ p)t xt + (B ⋄ p)t ut ,              (7a)
                                                                                     yt = (C ⋄ p)t xt + (D ⋄ p)t ut .            (7b)
manipulate these objects. The pmatrix object automati-
                                                                    where x : T → X = Rnx is the so-called state (latent)
cally merges different scheduling signals when these oper-
                                                                    variable and A ∈ R nx ×nx , B ∈ R nx ×nu , C ∈ R ny ×nx , and
ations are used (see Table 1 for an overview).
                                                                    D ∈ R ny ×nu are matrix coefficient functions. For the CT
                                                                                 d
For convenience, the function preal is also available to            case, ξ = dt   and, for the DT case, ξ = q is the forward
generate a scalar coefficient. Combined with pdiff and              time-shift operator. The LPV-SS representation (7) can be
pshift to differentiate or shift the scheduling in CT or            created by using the lpvss command.
DT respectively, it can be used as an alternative syntax            2.4 LPV-LFR representation
for constructing parameter-varying matrix functions, e.g.:          An LPV-LFR representation can be used if the dynamics
Example 4. The parameter-varying matrix function (2)                of the system can be decomposed as the linear fractional
can be constructed by a combination of preal and al-                transform (LFT) of an LTI system G with a parameter-
gebraic operations in the following way:                            varying matrix function ∆, as shown in Figure 1. The
p = preal('p', 'dt')                                                input-output behavior of the system can then be described
A = A0 + A1 * p + A2 * pshift(p, -1)                                by the following equations:
                                                                                   ξxt = A xt + Bw wt + Bu ut ,                   (8a)
As highlighted by the above examples, an important
strength of LPVcore is the implementation of the                                    zt = Cz xt + Dzw wt + Dzu ut ,               (8b)
parameter-varying matrix functions and, as shown in the                             yt = Cy xt + Dyw wt + Dyu ut ,                (8c)
next sections, the ability to model, analyze, identify, and                         wt = (∆ ⋄ p)t zt .                           (8d)
control LPV representations in a global form. Local repre-          The LPV-LFR representation can be created by using
sentational forms can be obtained via conversion functions,         the lpvlfr command. The LPV-LFR representation is
which will be introduced for compatibility with LPVTools            a generalization of the LPV-SS representation, as can be
in the future.                                                      seen by setting Dzw = 0. Therefore, LPVcore internally
2.2 LPV-IO representation                                           treats LPV-SS models as LPV-LFR models, and every
                                                                    operation defined on LPV-LFR models, such as multipli-
With the parameter-varying matrix function defined, vari-
                                                                    cation, concatenation and feedback interconnection, can
ous forms of LPV representations of a system at hand can
                                                                    directly be used on LPV-SS models. For a complete list of
be formulated. A commonly used representation form is
                                                                    supported operations, see www.lpvcore.net.
the input-output (IO) representation, given by the follow-
ing equation:                                                                3. IDENTIFICATION OF LPV MODELS
               (A(ξ) ⋄ p)t yt = (B(ξ) ⋄ p)t ut ,         (5)        LPVcore includes several system identification methods
where y : T → Y = Rny is the measured output                        to estimate DT LPV-IO and LPV-SS models in a global
signal and u : T → U = Rnu denotes the input signal.                setting, and one method to estimate LPV-LFR models in
For the CT case, ξ = dt   d
                            , i.e., ξyt = dt d
                                               yt denotes the       a local setting. For the global approach, the estimation
time derivative of the output; and for the DT case, ξ =             of the model parameters is performed by minimizing the
q −1 is the backward time-shift operator. The scheduling-           prediction-error. Hence, in Section 3.1, the prediction-error
dependent polynomials A(ξ), B(ξ) are polynomials in the             minimization (PEM) setting is briefly introduced. Next,
indeterminate ξ with scheduling-dependent coefficients:             the LPV-IO model set and the corresponding identification
                                  na
                                                                    methods are discussed in Section 3.2. In Section 3.3, the
                                 X                                  model set and PEM for LPV-SS models are discussed.
              A(ξ) ⋄ p = Iny +       (Ai ⋄ p) ξ i ,      (6a)
                                                                    For the local approach, to identify LPV-LFR models, the
                                    i=1
                           nb
                           X                                        estimation is based on minimizing the worst-case local
              B(ξ) ⋄ p =         (Bj ⋄ p) ξ j ,              (6b)   H∞ -error between the model and a given set of LTI
                           j=0                                      models at the measured operating points. This approach
                                                                    is discussed in Section 3.4.
3.1 The PEM identification setting                                  The object sys is then used as a template model structure
This section provides a short overview of PEM, for a                in subsequent LPV-IO identification methods, which use it
more detailed description, see e.g. Tóth et al. (2012).            to extract the scheduling dependence and, in some meth-
In PEM, model estimates are obtained by minimizing                  ods, the initial parameter values. Zero elements are, by
their associated prediction-error with respect to a loss            default, excluded from the set of identifiable parameters,
function where the (unknown) model parameters are the               providing an intuitive method for semi-grey box identifi-
optimization variables. Hence, the concept is to obtain a           cation of LPV-IO representations. This behaviour can be
                                                                    disabled: see documentation at www.lpvcore.net.
parameter estimate θ̂N of the parameter θo describing the
data-generating system by minimizing the least-squares              Identification schemes: The toolbox contains four time-
criterion, i.e., by                                                 domain methods for identifying IO model structures (10):
                   θ̂N = argmin V (DN , θ),                  (9)    1) linear regression, 2) pseudo-linear regression, 3) gradient-
                           θ∈Rnθ                                    based search, and 4) instrumental variable method. These
with                                                                methods are based on Butcher et al. (2008); Tóth et al.
                             N
                          1 X              1                        (2012); Cox (2018). Linear regression is applicable for the
          V (DN , θ) =          kεt|θ k22 = kεθ k2ℓ2 ,              ARX model set and the model estimate is obtained by exe-
                          N t=1            N
                                                                    cuting lpvarx. For the lpvarx method, regularization is
where DN = {ut , pt , yt }N t=1 is the observed data sequence       included by solving a Tikhonov regression problem, where
of the system and the one-step-ahead prediction-error is            various weighting matrices can automatically be tuned
εt|θ = yt − ŷt|θ,t−1 . In Sections 3.2 and 3.3, the one-step-      using generalised cross-validation (Golub and Van Loan,
ahead prediction-error εt|θ associated with the IO and SS           2013, Section 6.1.4) or marginal likelihood optimization
model sets will be introduced.                                      (Rasmussen and Williams, 2006). These options can be se-
                                                                    lected using the option set lpvarxOptions. The pseudo-
In system identification, the data DN is assumed to be
                                                                    linear regression algorithm is executed for the ARMAX,
corrupted with noise. Hence, it is essential to extend
                                                                    OE, and BJ model sets by calling lpvarmax, lpvoe, and
the system representations with a noise process. These
                                                                    lpvbj, respectively. The gradient-based search is applica-
extensions are discussed in the next sections.
                                                                    ble for all afore-mentioned model types and is executed by
3.2 LPV-IO model identification                                     calling lpvpolyest. The instrumental variable method
Model set: The IO representation of the data-generating             is applied by the command lpviv. At the moment, this
system is captured by the parametrized model Mθ :                   function is available for model structures with a single
                                                                    input and a single output (SISO), and will be extended
    (F (q −1 , θ) ⋄ p)t y̆t = (B(q −1 , θ) ⋄ p)t q −τd ut , (10a)
                                                                    to the general case in a later release.
          −1                      −1
    (D(q , θ) ⋄ p)t vt = (C(q , θ) ⋄ p)t εt|θ ,             (10b)
                                                                    3.3 LPV-SS model identification
    (A(q −1 , θ) ⋄ p)t yt = y̆t + vt ,                     (10c)
                                                                    Model set: The model set for LPV-SS representations
where A(), . . . , D(), F () are polynomials in q −1 with        supports innovation noise, i.e.:
scheduling-dependent coefficients, which are parametrized            xt+1 = (A(θ) ⋄ p)t xt +(B(θ) ⋄ p)t ut +(K(θ) ⋄ p)t eot , (12a)
in θ using a-priori given basis functions.
                                                                        yt = (C(θ) ⋄ p)t xt +(D(θ) ⋄ p)t ut +eot ,            (12b)
The model (10) with A , Iny is also known as the                    where the matrix coefficient functions A, . . . , D, K are
LPV Box-Jenkins (BJ) model. By considering C , D ,                  affine in the set of a-priori specified basis functions
                                                                             nψ
F , Iny in (10), the LPV version of the so-called auto              {ψi ⋄ p}i=1 similar to (1). The sequence eot is the sample
regressive with exogenous input (ARX) model structure               path realization of the zero-mean stationary process:
is obtained. Similarly, the auto regressive moving average                                   eot ∼ N (0, Ξ),                   (13)
with exogenous input (ARMAX) model is found by con-                 with Ξ a positive-definite, symmetric real matrix.
sidering D , F , Iny , and the output-error (OE) model
by A , C , D , Iny .                                                Identification schemes: To identify the state-space model
                                                                    with parametrization (12), the toolbox includes an iter-
Each of the above model structures is available in LPV-             ative, gradient-based (GB) optimization technique which
core using the lpvidpoly object, which serves as                    obtains an estimate of the innovation model. In a future
an LPV extension to the idpoly object included in                   release, a second iterative optimization technique which is
the System Identification Toolbox. A powerful feature of            based on the expectation-maximization (EM) (Wills and
lpvidpoly is the ability to exploit known sparsity of θ,            Ninness (2011)) method will be included. The lpvssest
as demonstrated in the following example.                           function estimates an LPV-SS model with the GB algo-
Example 5. (LPV-ARX model). Consider an LPV-ARX                     rithm. Since this method is based on a non-linear optimiza-
model of the form A(p, θ)q −1 y + y = B(θ)u:                        tion, an initial estimate must be provided by the user. This
                    
                     θ1 θ2
                                         
                                          θ                         initial estimate can be obtained by identifying an IO model
          A(p, θ) =          p, B(θ) = 4 .          (11)            and transforming it into the state-space form (available
                      0 θ3                 0
                                                                    in a future release of LPVcore) or by subspace identifi-
This model structure can be created as follows:                     cation which is the default option (Cox and Tóth, 2021;
p =    preal('p', 'dt');                                            van Wingerden and Verhaegen, 2009). The GB method
A =    [1, 1; 0, 1] * p;                                            includes several steps to efficiently estimate the parametric
B =    [1; 0];                                                      LPV-SS model with innovation noise (12). Among others,
sys    = lpvidpoly({eye(2), A}, B);                                 the implementation ensures that the non-linear optimiza-
                                                                    tion does not wander among parametrizations of SS mod-
els with equivalent input-scheduling-output behavior. The                Table 2. Parameters of the unbalanced disc.
method is explained in detail in Cox (2018, Sec. 8.2).
                                                                   Parameter                    Symbol            Value            Unit
                                                                   Sampling time                Ts                75               ms
3.4 LPV-LFR model identification
                                                                   Motor constant               Km                15.3145          -
The local identification scheme for LPV-LFR representa-            Disc inertia                 J                 2.2 · 10−4       Nm2
tions included in LPVcore is based on Vizer et al. (2013).         Lumped mass                  m                 0.07             kg
                                                                   Distance mass to center      l                 0.42             mm
Due to a lack of space, a detailed explanation can be found
                                                                   Gravitational acceleration   g                 9.8              m · s−2
on www.lpvcore.net soon.                                           Back EMF constant            τ                 0.5971           -

3.5 Using identified models for control synthesis
LPVcore includes several control synthesis algorithms.                 0.2

LPV-SS models identified using the previously introduced                0

schemes can directly be used for control by synthesizing a            -0.2
                                                                            0    5       10       15             20           25      30

stabilizing controller based on given performance specifi-
                                                                       1
cations in a variety of settings. For a complete overview of                                    Original CT system
                                                                                                DT approximation (BFR: 96%)
                                                                       0
the available algorithms, consult the documentation which
                                                                       -1
is included in LPVcore.                                                     0    5       10       15             20           25      30

                                                                        1
                    4. SIMULATION STUDY                                0.9

4.1 Non-linear data-generating system                                  0.8

                                                                            0    5       10       15             20           25      30

To illustrate the effectiveness of LPVcore, several of
the implemented identification methods are applied to            Fig. 2. Estimation dataset from the unbalanced disc sys-
estimate a model of a DC motor with an unbalanced disc.               tem (14), compared to the output of its DT approxi-
The system consists of a vertically mounted disc with a               mation (18).
lumped mass m at distance l from the center, actuated
                                                                 Figure 2 shows the quality of the approximation in terms
by an input voltage u. Due to the gravitational force
                                                                 of the Best Fit Rate (BFR) for a simulation. The BFR,
exerted on the lumped mass, the system exhibits non-
                                                                 expressed as a percentage, is defined as follows:
linear dynamics, which can be represented in the following
                                                                                                     ky − ŷk2
                                                                                                                
differential equation:                                               BFR := 100% · max 0, 1 −                      .   (20)
                     1      Km       mgl                                                          ky − mean(y)k
               θ̈ = − θ̇ +      u−        sin(θ)         (14)    The values of all numerical parameters used in this exam-
                     τ       τ        J
where θ is the disc angular position, τ is the lumped            ple are listed in Table 2.
back EMF constant, Km is the motor constant, J is the            For the identification procedure, five datasets of 400 sam-
complete disc inertia and g is the acceleration due to           ples each are generated: four for estimation with varying
gravity. The goal of this section is to identify the dynamics    levels of additive White Gaussian output noise and one for
of (14) based on simulation data. The simulated output           validation (without noise). These datasets are generated
is the angular position θ corrupted with additive white          by simulating (14) for a random-phase multi-sine input
Gaussian noise ε of a specified signal-to-noise ratio SNR.       u containing 10 frequencies equally spaced in a passband
4.2 LPV identification                                           from 0 to 0.75 times the Nyquist frequency. The signal
                                                                 is scaled to have a maximum amplitude of 0.25 V. Zero-
An LPV embedding of the non-linear dynamics in (14) can          order-hold is used to interpolate between the samples. The
be obtained by introducing the scheduling signal p:              SNRs for the estimation datasets are 0, 10, 20 and 40
                                    sin(θ)                       dB. A noise-free example of the estimation dataset and
                    p := sinc(θ) =         .           (15)
                                       θ                         a comparison with the DT LPV-IO approximation (18)
Substitution of (15) into (14) leads to the following LPV-       can be seen in Figure 2. Four LPV-IO model structures
IO representation of the dynamics of the unbalanced disc:        are identified: ARX, ARMAX, OE and BJ. It is assumed
                        1      mgl       Km                      that the true model structure (18) is not known exactly
                θ̈ = − θ̇ −        pθ +      u         (16)      and the following more generic template structure is used
                        τ        J        τ                      instead (see (10)):
Global identification approaches available in LPVcore
operate in DT. Therefore, the LPV system (16) is dis-              • (A(q −1 ) ⋄ p)k = 1 + (1 + pk−1 ) q −1 + (1 + pk−2 ) q −2
cretized using forward Euler, i.e.:                                • (B(q −1 ) ⋄ p)k = (F (q −1 ) ⋄ p)k = (A(q −1 ) ⋄ p)k
                                   θk+1 − θk                       • Cq −1 ) = D(q −1 ) = 1 + q −1
                 θ̇k := θ̇(kTs ) ≈           ,         (17)
                                      Ts                         The models are identified using the estimation dataset in
with Ts = 0.75 ms the sampling time. Applying (17) to            the following order: (1) The LPV-ARX model is iden-
(16) yields the following DT approximation:                      tified by calling lpvarx. (2) The LPV-ARMAX and
                                                                 LPV-OE models are identified by calling lpvpolyest.
                                         Km Ts2                  The LPV-ARX model is used as initialization. (3) The
       θk + A1 θk−1 + (A2 ⋄ p)k θk−2 =          uk−2 ,    (18)
                                          τ                      LPV-BJ model is identified by calling lpvpolyest. The
with                                                             LPV-OE model is used as initialization. For each method,
          Ts                           Ts   mglTs2               the default options were used, except the number of gra-
  A1 =       − 2,    (A2 ⋄ p)k = 1 −      +        pk−2 . (19)   dient descent iterations performed by lpvpolyest: it
          τ                            τ     J
100                                                                         Butcher, M., Karimi, A., and Longchamp, R. (2008). On
                                                                LPV-ARX
                                                                                   the consistency of certain identification methods for
      80
                                                                LPV-ARMAX
                                                                LPV-OE
                                                                                   linear parameter varying systems. In Proc. of the 17th
      60                                                        LPV-BJ             IFAC World Congress, 4018–4023. Seoul, Korea.
      40
                                                                                 Cox, P.B. (2018). Towards Efficient Identification of
                                                                                   Linear Parameter-Varying State-Space Models. Phd
      20
           0   5       10        15   20        25         30          35   40
                                                                                   thesis, Eindhoven University of Technology.
                                                                                 Cox, P.B. and Tóth, R. (2021). Linear parameter-varying
                                                                                   subspace identification: A unified framework. Automat-
Fig. 3. Validation BFR of the model estimates for different                        ica, 123, 109296.
     output SNRs of the estimation dataset.                                      Golub, G.H. and Van Loan, C.F. (2013). Matrix Compu-
       2
                                                                                   tations. The Johns Hopkins Uni. Press, 4th edition.
                                                                                 Hjartarson, A., Seiler, P.J., and Packard, A. (2015). LPV-
       1
                                                                                   Tools: A toolbox for modeling, analysis, and synthesis of
       0                                                                           parameter varying control systems. In Proc. of the 1st
                                           Non-linear CT
                                           LPV-ARX
                                                                                   IFAC Workshop on Linear Parameter Varying Systems,
      -1
                                           LPV-OE                                  139–145. Grenoble, France.
      -2
           0       5        10        15             20           25        30
                                                                                 Hoffmann, C. and Werner, H. (2015). A survey of linear
                                                                                   parameter-varying control applications validated by ex-
                                                                                   periments or high-fidelity simulations. IEEE Trans. on
Fig. 4. Comparison between the output of the validation                            Control Systems Technology, 23(2), 416–433.
     dataset and the DT LPV-ARX and LPV-OE models                                Lopes dos Santos, P., Azevedo-Perdicoúlis, T.P., Novara,
     estimated with SNR = 20 dB.                                                   C., Ramos, J.A., and Rivera, D.E. (eds.) (2011). Linear
was set to 400. The quality of the resulting models is                             Parameter-Varying System Identification: New Develop-
evaluated using the validation dataset by calculating the                          ments and Trends. World Scientific.
BFR between the output of the non-linear CT system (14)                          MATLAB (2014). version 8.4.0 (R2014b). The Math-
and the output of the DT model estimate.                                           Works Inc., Natick, Massachusetts.
4.3 Results                                                                      Mohammadpour, J. and Scherer, C. (eds.) (2012). Control
The achieved BFR of the model estimates can be seen                                of Linear Parameter Varying Systems with Applications.
in Figure 3. For each SNR, the LPV-OE and LPV-BJ                                   Springer.
models have a substantially higher BFR than the LPV-                             Rabeei, M., Abbas, H.S., and Hassan, M.M.
ARX and LPV-ARMAX models, which is in line with the                                (2015). LPVIOID: An LPV input/output systems
expectation since output noise was used. The low BFR of                            identification toolbox using MATLAB.                URL
the LPV-ARX and LPV-ARMAX models, even for high                                    sites.google.com/site/mustafarabeei/.
SNRs, is likely the result of a high parameter sensitivity                       Rasmussen, C.E. and Williams, C.K.I. (2006). Gaussian
due to the proximity of the poles of the frozen dynamics                           Processes for Machine Learning. the MIT Press.
of (16) to the unit circle. For example, at p = 0 (θ = ±π                        Sename, O., Gáspár, P., and Bokor, J. (eds.) (2012).
rad), the magnitude of the two poles of the resulting LTI                          Robust Control and Linear Parameter Varying Ap-
dynamics are 1 and 0.92. When p = 1 (θ = 0), both poles                            proaches: Application to Vehicle Dynamics. Springer.
have a magnitude of 0.96. The output of the LPV-ARX                              Tóth, R. (2010). Modeling and Identification of Linear
and LPV-OE models estimated with SNR = 20 dB are                                   Parameter-Varying Systems. Springer.
compared to the original non-linear CT dynamics (14) in                          Tóth, R., Heuberger, P.S.C., and Van den Hof, P.M.J.
Figure 4.                                                                          (2012). Prediction error identification of LPV systems:
                     5. CONCLUSION                                                 present and beyond. In J. Mohammadpour and C.W.
                                                                                   Scherer (eds.), Control of Linear Parameter Varying
This paper introduces a software package for MATLAB
                                                                                   Systems with Applications, 27–60. Springer, Heidelberg.
called the LPVcore toolbox to model, simulate, and es-
                                                                                 van Wingerden, J.W. and Verhaegen, M. (2009). Subspace
timate linear parameter-varying input-output, state-space
                                                                                   identification of bilinear and LPV systems for open- and
and linear fractional representations in a global setting. To
                                                                                   closed-loop data. Automatica, 45(2), 372–381.
support the global setting, the package defines parameter-
                                                                                 Vizer, D., Mercere, G., Prot, O., Laroche, E., and Lovera,
varying matrix functions, which is the key difference to
                                                                                   M. (2013). Linear fractional lpv model identification
other software suites that use a grid or linear fractional
                                                                                   from local experiments: an H∞ -based optimization tech-
based representation. This paper provides an overview of
                                                                                   nique. In 52nd IEEE Conference on Decision and Con-
the core modelling tools combined with the simulation
                                                                                   trol, 4559–4564. IEEE.
and identification methods. The software and examples
                                                                                 Wills, A. and Ninness, B. (2011). System identification
are freely available on www.lpvcore.net.
                                                                                   of linear parameter varying state-space models. In
The initial toolbox forms a solid basis for additional algo-                       P.L. dos Santos, C. Novara, D. Rivera, J. Ramos, and
rithms. In the near future, algorithms for LPV realization                         T. Perdicoúlis (eds.), Linear Parameter-Varying System
and a wide range of subspace identification methods will                           Identification: New Developments and Trends, 295–313.
be implemented.                                                                    World Scientific Publishing, Singapore.
                      REFERENCES
Briat, C. (2015). Linear Parameter-Varying and Time-
  Delay Systems: Analysis, Observation, Filtering & Con-
  trol. Springer.
You can also read