LPVcore: MATLAB Toolbox for LPV Modelling, Identification and Control
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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 toTable 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
τ τ J100 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