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 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