LPVTools: A Toolbox for Modeling, Analysis, and Synthesis ... SeilerControl/Papers/2015/HjartarsonEtAl...LPVTools: A Toolbox for Modeling, Analysis, and Synthesis of Parameter Varying Control Systems? Arnar Hjartarson, Peter Seiler, Andrew Packard MUSYN Inc.,

Download LPVTools: A Toolbox for Modeling, Analysis, and Synthesis ... SeilerControl/Papers/2015/HjartarsonEtAl...LPVTools: A Toolbox for Modeling, Analysis, and Synthesis of Parameter Varying Control Systems? Arnar Hjartarson, Peter Seiler, Andrew Packard MUSYN Inc.,

Post on 24-Apr-2018




2 download

Embed Size (px)


  • LPVTools: A Toolbox for Modeling,Analysis, and Synthesis of Parameter

    Varying Control Systems ?

    Arnar Hjartarson, Peter Seiler, Andrew Packard

    MUSYN Inc., Minneapolis, MN 55414, USA(e-mail: arnar496@gmail.com, peter.j.seiler@gmail.com,


    Abstract: This paper describes the LPVTools software suite developed by MUSYN Inc.LPVTools is a MATLAB toolbox for simulation, analysis, and design of parameter dependentcontrol systems using the Linear Parameter-Varying (LPV) framework. LPVTools contains datastructures to represent both LFT and gridded (Jacobian-linearization) types of LPV systems. Inaddition it contains a collection of functions and tools for model reduction, analysis, synthesisand simulation of LPV systems. Finally, the toolbox is fully documented and contains severaldemonstration examples. The software is freely available for use by the community.

    Keywords: Linear Parameter-Varying, Software Tools.


    LPVTools is a MATLAB toolbox for modeling and designof Linear Parameter-Varying (LPV) systems. The toolboxcontains data structures to represent LPV systems in boththe LFT and gridded (Jacobian-linearization) framework.The core of the toolbox is a collection of functions formodel reduction, analysis, synthesis and simulation ofLPV systems. Finally, the toolbox contains full documen-tation and several demonstration examples. LPVTools wasdeveloped by MUSYN, Inc. (G. Balas and the authors)but has been made freely available to the community. Thetoolbox can is available for download at:


    LPV theory is closely related to gain scheduling viainterpolation of point designs, a standard method usedin industry to develop full-envelope flight control laws.LPV theory provides a mathematically rigorous approachto the design of gain-scheduled controllers. This includespowerful guarantees on the performance and robustnessin the presence of time-varying dynamics and uncertainty.LPVTools was developed as a result of increased interestin the LPV approach to modeling and design in aerospaceapplications. Specifically, the tooblox was developed to aidthe design of aeroservoelastic control laws for lightweight,flexible Unmanned Aerial Vehicles (UAVs). Current effortsinclude flight control law development for the Mini-MUTTUAV at the University of Minnesota, Pfifer et al. (2015),and the X-56A by Lockheed Martin and NASA ArmstrongFlight Research Center.

    This paper describes the LPVTools software suite. It isnot meant as a survey of LPV theory and results, but is

    ? This work was supported by a NASA Small Business InnovationResearch contract from NASA Armstrong Flight Research Center,contract #NNX12CA14C. Contract Monitor is Dr. Martin J. Bren-ner.

    instead focused on the core data structures in LPVToolsand a description of their capabilities. For in an in depthlook at LPV theory and recent advances in the field, thereader is referred to recent books and survey papers onthe topic, e.g. Briat (2014); Mohammadpour and Scherer(2012); Lovera et al. (2011) The remainder of the paperis divided into five sections. First, an overview of theLPV framework is given in Section 2. Next, the core datastructures are introduced in Section 3. The capabilitiesof LPVTools are detailed in Section 4. Finally, a smallexample that illustrates the toolbox usage is provided inSection 5. Conclusions are given in Section 6.

    The functionality in this initial release of LPVTools doesnot comprehensively cover the existing results in the LPVliterature. In addition, LPVTools does not interact withother existing software for gain-scheduled control design,e.g. the hinfgs command in LMILab. Despite these limi-tations the basic infrastructure in LPVTools should enabledevelopment of new algorithms and comparison of varioustechniques.


    LPV systems are time-varying, state-space models of theform: [



    [A((t)) B((t))C((t)) D((t))

    ] [x(t)u(t)


    where Rn is a vector of measurable parameters,y Rny is a vector of measurements, x Rnx is thestate vector, u Rnu is a vector of control inputs, andA : P Rnxnx , B : P Rnxnu , C : P Rnynx andD : P Rnynu are continous matrix valued functions.The LPV system depends on a set of time-varying param-eters . The trajectories of the parameters are assumed totake on values in a known compact set P Rn , and to

  • have known bounds on their derivatives with respect totime: , where and Rn . A trajectory issaid to be rate unbounded if = and = .For control design in the LPV framework, it is furtherassumed that the trajectory of is not known in advance,and that the parameter values are measured and availablein real-time with sensors. The controller produced is itselfa LPV system which is optimized for the parametertrajectories in P, subject to , and dependenton real-time measurements of the parameter.

    Several methods have arisen for representing the param-eter dependence in LPV models (Equation 1). LPVToolsimplements data structures for two of these: i) Lineariza-tions on a gridded domain, e.g. as in Becker (1993) orWu (1995); and ii) Linear Fractional Transformations(LFT), e.g. as in Packard (1994) or Apkarian and Gahinet(1995a,b). Linearizations on a gridded domain are ob-tained through Jacobian linearization at each grid point.Each linearization approximates the systems dynamics inthe vicinity of a particular grid point, and the grid oflinearizations captures the systems parameter dependenceimplicitly. Hence, linearization based LPV models do notrequire any special dependence on the parameter vector.LFT models, on the other hand, have state matrices thatare rational functions of the parameter. Hence, their de-pendence on the parameter vector is modeled explicitly.


    LPVTools is implemented in MATLAB, using object-oriented programming. The toolbox introduces severalclass-based data structures for modeling LPV systems.These data structures extend the functionality associatedwith standard MATLAB data structures from the ControlSystems Toolbox and the Robust Control Toolbox intothe LPV framework 1 . This is pictorially represented inFigure 1. The core LPVTools data structures are directextensions of existing data structures, and provide a pa-rameter dependent interpretation of the original object.Note that LPV systems are time varying, and as such donot have a valid frequency response interpretation. Hence,the parameter dependent frequency response objects (pfrdand upfrd) are simply a convenience to hold frequencyresponse data at fixed parameter values, and do not implya time-varying frequency response.

    Each LPVTools object implements the capabilities of itscorresponding standard object, wherever applicable. Themotivation for this approach is to provide a seamlessand intuitive interface between existing MATLAB datastructures and the new LPVTools data structures. Thestandard MATLAB data structures become a special caseof the LPV data structures, such that if the parameterdependence in a LPV data structure is eliminated it revertsback to a standard Linear Time-Invariant (LTI) MATLABdata structure.

    3.1 Grid-based approach

    The LPV system in Equation 1 is conceptually repre-sented by a state-space system S() that depends on a

    1 LPVTools requires MATLABR, SimulinkR, the Control SystemsToolboxR, and the Robust Control ToolboxR.

    Fig. 1. Relation between MATLAB objects.

    time-varying parameter vector in some compact domainP Rn . A grid-based LPV model of this system is a col-lection of linearizations on a gridded domain of parametervalues. This is pictorially represented in Figure 2, for anexample system that depends on two parameters (in thiscase Mach number and altitude). For general LPV systemsthis conceptual representation requires storing the statespace system at an infinite number of points in the domainof . The grid based LPV approach, as implemented inLPVTools, approximates this conceptual representation bystoring the LPV system as a state space array defined ona finite, gridded domain. For each grid point k there isa corresponding LTI system (A(k), B(k), C(k), D(k))which describes the dynamics of S(k) when k is heldconstant (note that k, represents a constant vector cor-responding to the k-th grid point, while i is later used todenote the i-th element of the vector .) All the linearizedsystems on the grid have identical inputs u, outputs yand state vectors x. Together they form a LPV systemapproximation of S(). This approach is motivated bythe traditional gain-scheduling framework in aircraft flightcontrol, for which models are typically constructed aslinearizations around various flight operating conditions.

    Fig. 2. LPV models defined on a rectangular grid.

    The core data structure for grid-based LPV models isthe pss object (denoting parameter-varying state space

  • model), which stores the LPV system as a state spacearray defined on a finite, gridded domain. As a simpleexample, consider an LPV system S() that depends ona single scalar parameter in the domain [a, b]. Theinfrastructure requires the user to specify the domain witha finite grid, e.g. N points in the interval [a, b]. The toolboxcontains an rgrid data object to facilitate the creationand manipulation of multivariable parameter domains.The user must also specify the values of the state spacesystem S() at each point in this gridded domain. Thepss object stores the state-space array data using theMATLAB Control System Toolbox ss object. Thus thepss can be viewed as the parameter-varying extension ofthe standard ss object. To summarize, the LPV systemS() is represented by a pss data object which stores thegridded domain and the array that defines the state-spacedata at each point in the domain.

    The notions of parameter-varying matrices and parameter-varying frequency responses arise naturally to complementthe pss objects. LPV systems are time-varying and hencefrequency responses can not be used to represent thesystem behavior as parameters vary. However frequencyresponses are useful to gain intuition about the systemperformance at fixed locations in the operating domain.LPVTools represents parameter varying matrices and fre-quency responses by pmat and pfrd data objects, respec-tively. These two data objects are both stored as a dataarray defined on a gridded domain. A pmat stores a doublearray, while a pfrd stores an array of frequency responses(frd object in the Control System Toolbox). Figure 1shows the relation between the core LPVTools data objects(pmat, pss, pfrd) and existing MATLAB objects. The firstrow of the table (Nominal) shows the basic MATLABobjects: matrices are double objects, state-space systemsare ss objects, and frequency responses are frd objects.The third row of Table 1 (Nominal Gridded LPV) showsthe corresponding core LPV objects. The main point isthat the (pmat, pss, pfrd) objects should be viewed asparameter-varying extensions of the standard MATLABand Control Systems Toolbox objects (double, ss, frd).

    The second row of Table 1 (Uncertain) shows the equiv-alent objects used to represent uncertainty: uncertain ma-trices, state space systems, and frequency responses arerepresented by umat, uss, and ufrd objects, respectively.These objects are part of the MATLAB Robust ControlToolbox. The Robust Control Toolbox models the uncer-tainty as a perturbation wrapped in feedback arounda nominal part P , i.e. uncertainty is represented using alinear fractional transformation. Real parametric, complexparametric, and unmodeled dynamic uncertainties can bemodeled. The fourth row of Table 1 (Uncertain GriddedLPV) shows the corresponding parameter-varying objectswith uncertainty: uncertain parameter-varying matrices,state space systems, and frequency responses are repre-sented by upmat, upss, and upfrd objects, respectively.These objects enable the integration of uncertainty intoLPV models.

    Jacobian Linearization is the predominant method ofconstructing grid-based LPV models. In this case the pssobject is formed by combining a ss array of linearizationswith an rgrid object representing the grid of parametervalues (e.g. the grid of Mach and altitude values in Figure

    2). An alternative method of constructing grid-based LPVmodels in LPVTools is to use the pgrid atom (denoting areal scalar parameter defined on a grid of points).

    3.2 LFT-based approach

    An LPV model in Linear Fractional Transformation (LFT)form is an interconnection of a block that represents theplants nominal dynamics (linear, time invariant), and ablock that contains the time-varying parameters on whichthe system depends.




    -u -x



    Fig. 3. An LPV system in LFT form.

    In the LFT-based approach the LPV system in Equation 1is expressed as the interconnection of the blocks M and. Fu(M,) denotes the upper LFT shown in Figure 3,where M is a constant matrix such thatz(t)y(t)


    = Mw(t)u(t)x(t)

    (2)and := diag(1(t)Ir1 , . . . , n(t)Irn ) is a diagonalmatrix such that w = z. Where Iri indicates a ri-by-ri identity matrix, for positive integers r1, . . . , rn , and

    {i}n1 represent the elements of . Note that the LFT

    form can only be used to model LPV systems whosestate matrices are rational functions of the parameters(see Cockburn and Morton (1997) for details on LFTmodeling).

    A key component of the LFT-based LPVTools infrastruc-ture is the core LFT data structure object, referred toas a tvreal (denoting a time-varying parameter). Thetvreal object is used to create a time-varying, real val-ued scalar object. The tvreal has a range, denoting themaximum and minimum value that the time-varying scalarcan assume, and a rate-bound denoting the maximum andminimum rate of change of the time-varying scalar. Thetvreal is used to model individual time-varying param-eters, and construct parameter dependent LFT matricesand systems. LPVTools represents LFT-based parame-ter varying matrices and state-space systems by plftmatand plftss data objects, respectively. The plftmat, andplftss objects are constructed using tvreal elements,using a syntax that is a direct parallel to the ureal syntaxthat is used to define umat and uss objects in the RobustControl Toolbox.

    Both plftmat and plftss objects are stored as uncer-tain objects (i.e. umat and uss, respectively) which inMATLAB consist of the LFT (M , ), with beinga block of ureal objects. Each plftmat and plftss ob-jects constituent tvreal objects provide the additionalinformation necessary to handle the block like a blockof time-varying parameters. Uncertainty can be integratedinto the plftmat, and plftss objects, allowing these data

  • objects to model systems with, and without uncertainty.The plftmat and plftss objects should be viewed asLFT-based parameter-varying extensions of the standardMATLAB, Control System Toolbox, and Robust ControlToolbox objects double, ss, umat, and uss, as seen inrows five (Nominal LFT LPV) and six (Uncertain LFTLPV) in Table 1.

    3.3 Transition Between Grid-based and LFT-based LPVMode...


View more >