e. lpv system and gain scheduling e.1 linear parameter ... · pdf filee.1 linear parameter...

33
E.1 Linear Parameter Varying(LPV) System E.3 Gain Scheduling E. LPV System and Gain Scheduling E.4 Design Example Reference: [DP05] G.E. Dullerud and F. Paganini, A Course in Robust Control Theory: A Convex Approach, Text in Applied Mathematics, Springer, 2005. [DP05, Sec. 11] E.2 Quadratic Stabilization Robust and Optimal Control, Spring 2015 Instructor: Prof. Masayuki Fujita (S5-303B)

Upload: vuongphuc

Post on 16-Mar-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

E.1 Linear Parameter Varying(LPV) System

E.3 Gain Scheduling

E. LPV System and Gain Scheduling

E.4 Design Example

Reference:[DP05] G.E. Dullerud and F. Paganini,

A Course in Robust Control Theory: A Convex Approach,Text in Applied Mathematics, Springer, 2005.

[DP05, Sec. 11]

E.2 Quadratic Stabilization

Robust and Optimal Control, Spring 2015Instructor: Prof. Masayuki Fujita (S5-303B)

2

J. Shamma

A. Packard

LPV Systems and Gain ScheduleJ. Shamma and M. Athans, “Gain scheduling: Potential hazards and possible remedies,”IEEE Control Systems Magazine, 12-3, pp. 101-107, 1992

M. Athans

A. Packard, “Gain-scheduling via linear fractional transformations,” Systems and Control Letters, 22, pp. 79-92, 1994

3

LPV vs. LTI vs. LTV SystemsLTI(Linear Time Invariant) Systems

LTV(Linear Time Varying) Systems

LPV(Linear Parameter Varying) Systems

LPV systems are distinguished from LTV systems in the perspective taken on both analysis and synthesis

Optimization(LMI)LFT,

The exogenous parameters can be measured in real time

Trajectory of

Robustness

System functionStructuredoperator inequalities

1

4

LPV System RepresentationStyle 1: Polytope Representation

: non-singular matrix

Mass-Spring-Damper System[Ex.]

,

, ,

,

psys

pols = psys([M1, … ,Mn])

(Descriptor Representation)

(Convexity)

5

Style 2: Affine parameter-dependent Representation

: real parameters: affine function

LPV System Representation psys

Mass-Spring-Damper System[Ex.]

affs = psys(pv,[s0,s1, … ,sn])

,

pols = aff2pol( affs )

6

LPV System via Jacobian LinearizationNonlinear Plant

: Parametric-dependent exogenous inputEquilibrium Family

: trim point

Scheduling variableLinearization

[Ex.] ,

: equilibrium point

7

LPV System via Jacobian Linearization[Ex.] Longitudinal dynamics of a missileNonlinear Plant

Output : normalized acceleration

: angle of attack,: pitch rate, : tail-fin deflection

Aerodynamic coefficients: Mach number

Equilibrium Family (parametrized by and )

, ,

Linearization

2

8

Quadratic StabilitySystem ,

or differential inclusion:

Polytope Uncertainty

Norm-bounded Uncertainty

The system is quadratically stable if and s.t.,

s.t.

[Ex.]s.t.s.t.

[Ex.]

s.t.

and

( is globally asymptotically stable, which is a hard condition)

Suppose . If , such that for ,

If there exists such that for ,

9

Robust Performance

then

,

If is a time-variant,

-norm

-norm

-Stabilitythen , ,

s.t.s.t.

10

Quadratic Stabilization with State Feedback

State FeedbackClosed-loop System

Quadratic Stabilization Conditions.t.

and s.t.

Bilinear Matrix Inequality(BMI) (which does not have a feasible method to solve)

BMI to LMI: feasible

11

Polytope-based Gain Scheduling: Representation

LPV Plant

: affine functions of: physical parameters

LPV Controller

,

: measurable

12

where

, : the base of the null space spanned by ,

Minimize such that for

Convex Optimization Problem(LMI)

Polytope-based Gain Scheduling: -like SynthesisObjectives

The closed-loop system is stable for all admissible trajectoriesFind satisfying

3

13

LFT-based Gain Scheduling: Representation

,

: measurable

Closed Loop System

LPV Plant

LPV Controller

,

14[HW14] C. Hoffmann and H. Werner, “A Survey of Linear Parameter-Varying Control Applications Validated by Experiments or High-Fidelity Simulations,” IEEE TCST, 23-2, 416/433, 2015.

LPV Systems: Applications and DesignFlight control(Boeing 747, F-14, F-16 and VAAC Harrier)Missile autopilots, Aeroelasticity, Turbofan engines,Magnetic bearings, Automotive systems, Energy

[Ex.]

Derive a (in general, sufficient) analysis condition for a desired closed-loop property

STEP 1

Evaluate this condition on the closed-loop LPV system (plant and controller in feedback)

STEP 2

Transform the search for control parameters into a convex searchSTEP 3If the convex search is successful, extract controller parametersSTEP 4

LPV Control Design: LMI approach

15

Output argument

MATLAB Command

Input argument

hinfgs

[gopt, pdK, R, S] = hinfgs( pdP, r, gmin, tol, tolred )

option

R

gmin lower limit of gopttol , tolred required relative accuracy on gopt and threshold

S, symmetric matrices satisfying Riccati inequalities

pdKgopt

Polytopic Gain Scheduled controllerFeasible optimal closed-loop quadratic performance gain

pdPr

Parameter-dependent plantnumber of control inputs and outputs

16

Missile Model: Model Representation misldemObjective The missile dynamics are strongly dependent on

angle of attack , air speed and altitudeTheir parameters completely define the flight conditions(operating point) of the missile and they are assumed to be measured in real time.

Assumption The pitch, yaw and roll axes are decoupled.Linearized Dynamics of Pitch Channel

: angle of attack, : normalized vertical acceleration: pitch rate, : fin deflection of vertical stabilizer

Aerodynamical coefficients(depending on , and ): available (measurable) in real time

Gulf War(Patriot Missile)

Note: The command misldem does not exist in the newest version.

4

0

106

0.5 4 17

Missile Model: Parameter RepresentationAerodynamical coefficients

Oncoming Flow

Define 100 pairs of Specific Parameters for Verification/Analysis

pNum = 100 ; polyc = [ ] ;% Fixed polytopic coordinatespoly1 = [ 1, 0, 0, 0 ] ; poly2= [ 0, 1, 0, 0 ] ;poly3 = [ 0, 0, 1, 0.] ; poly4 = [ 0, 0, 0, 1 ] ;polyc = [ polyc; poly1; poly2; poly3; poly4 ] ;for j = 1 : 9

poly1 = [ 1-j*0.1, j*0.1, 0, 0 ] ; poly2= [ 0, 1-j*0.1, j*0.1, 0 ] ;poly3 = [ 0, 0, 1-j*0.1, j*0.1 ] ; poly4 = [ j*0.1, 0, 0, 1-j*0.1 ] ;poly5 = [ 1-j*0.1, 0, j*0.1, 0 ] ; poly6 = [ 0, 1-j*0.1, 0, j*0.1 ] ;polyc = [ polyc; poly1; poly2; poly3; poly4; poly5; poly6 ] ;

end% random polytopic coordinatesfor j = 1 : pNum-58

poly= rand(1,4) ; poly= poly/sum(poly) ; polyc = [ polyc; poly ] ;

end

MATLAB Command

,

%Specify the range of parameter valuesZmin=.5; Zmax=4; Mmin=0; Mmax=106; pv=pvec('box',[Zmin Zmax; Mmin Mmax]);

MATLAB Command

pvec

18

,

Missile Model: LPV System via Polytopic Approach

psinfo(pdP) % data of polytopic systempvinfo(pv) % data of parameters

MATLAB Command

Plant

%Specify parameter-dependent models0=ltisys([0 1;0 0],[0;1],[-1 0;0 1],[0;0]);s1=ltisys([-1 0;0 0],[0;0],zeros(2),[0;0],0);s2=ltisys([0 0;-1 0],[0;0],zeros(2),[0;0],0); pdPa=psys(pv,[s0 s1 s2]);pdP = aff2pol( pdPa ) ;

MATLAB Command

figureomega = logspace( -2, 2, 200 ) ;for j = 1 : pNum

Pdp = psinfo(pdP,'eval',polyc(j,:)) ;[adp,bdp,cdp,ddp] = ltiss(Pdp) ;sys = ss(adp,bdp,cdp,ddp) ;[vs] = sigma( sys, omega ) ;semilogx( omega, mag2db( vs ) ) ;hold on ; grid on ;

end

MATLAB Command

psys

ltisys, ltiss, pvinfo

19

Goal

Mixed Sensitivity Problem

Generalized Plant

Missile Model: Problem Specification

Specifications(Performance/Robustness)To control the vertical acceleration over this operation range

The stringent performance specifications

The bandwidth limitation imposed by unmodeled dynamicsfor the step response of the vertical acceleration Settling Time < 0.5 s

missileautopilot

20

Missile Model: Shaping Filters(Weight Functions)

np=2.0101; dp=[1.0000e+00 2.0101e-01];Wp=ltisys('tf',np,dp);nu=[9.6785e+00 2.9035e-02 0 0];du=[1.0000e+00 1.2064e+04 1.1360e+07 1.0661e+10];Wu=ltisys('tf',nu,du);

MATLAB CommandPerformance/Sensitivity Weight

Robustness/Input Weight

2 rad/s 1000 rad/s

21

Missile Model: Generalized Plant

missile

(Gaug)

(‘G’)

(‘r’) (‘K:e’)

(‘G:K’)

inputs = 'r' ;outputs = ‘wp;wu' ;Kin = 'K:e=r-G(1);G(2)' ;[Gaug,r]=sconnect(inputs,outputs,Kin,'G:K',...pdP,‘wp:e',Wp,‘wu:K',Wu);

MATLAB Command

figureomega = logspace( -2, 2, 200 ) ;for j = 1 : pNum

Pdg = psinfo(Gaug,'eval',polyc(j,:)) ;[adg,bdg,cdg,ddg] = ltiss(Pdg) ;sys = ss(adg,bdg,cdg,ddg) ;[vs] = sigma( sys, omega ) ;semilogx( omega, mag2db( vs ) ) ;hold on ; grid on ;

end

MATLAB Command

sconnect

22

Missile Model: Gain Scheduled Controller

(automatic calculation)

OK

% Minimization of gamma for the loop-shaping criterion[gopt,pdK]=hinfgs(Gaug,r,0,1e-2);gopt

MATLAB Command

hinfgs

MATLAB Command WindowSolver for linear objective minimization under LMI constraints

Iterations : Best objective value so far 11112 8035.93758913 5439.90165343 0.245759

*** new lower bound: 0.22753044 0.23669745 0.23514446 0.234688

*** new lower bound: 0.23183447 0.233905

*** new lower bound: 0.231683

Result: feasible solution of required accuracybest objective value: 0.233905guaranteed absolute accuracy: 2.22e-003f-radius saturation: 2.666% of R = 1.00e+008

Optimal quadratic RMS performance: 2.0544e-001

% Form the closed-loop systempCL=slft(Gaug,pdK);

MATLAB Command

23

figureomega = logspace( -4, 4, 300 ) ;for j = 1 : pNum

Pd = psinfo(pdK,'eval',polyc(j,:)) ;[adk,bdk,cdk,ddk] = ltiss(Pd) ;sys = ss(adk,bdk,cdk,ddk) ;[vs] = sigma( sys, omega ) ;semilogx( omega, mag2db( vs ) ) ;hold on ; grid on ;

end

MATLAB Command

Missile Model: LPV Controller

Controller

Elements of Controller

24

Missile Model: Frequency Response AnalysisLoop Transfer Function Closed-loop TF

pdPo = psinfo(pdP,'eval',polyc(j,:)) ;pdKo = psinfo(pdK,'eval',polyc(j,:)) ;Pd = smult(pdKo, pdPo ) ;

MATLAB Command

Pd = psinfo(pCL,'eval',polyc(j,:)) ;MATLAB Command

25

Missile Model: SensitivitySensitivity Complementary Sensitivity

pdPo = psinfo(pdP,'eval',polyc(j,:)) ;pdKo = psinfo(pdK,'eval',polyc(j,:)) ;Pd = smult(pdKo, pdPo ) ;pdS = sloop( eye(2), Pd ) ;

MATLAB CommandpdPo = psinfo(pdP,'eval',polyc(j,:)) ;pdKo = psinfo(pdK,'eval',polyc(j,:)) ;Pd = smult(pdKo, pdPo ) ;pdT = sloop( Pd, eye(2) ) ;

MATLAB Command

Vertical acceleration Control Input

Missile Model: Step Response for vertical acceleration

AZV=[]; U=[]; t=[0:.01:1]';for j=1:pNum

Pcl=psinfo(pCL0,'eval',polyc(j,:));[acl,bcl,ccl,dcl]=ltiss(Pcl);y=step(acl,bcl,ccl,dcl,1,t);AZV=[AZV,1-y(:,1)]; U=[U,y(:,2)/20];

endfigure; grid on; hold on; plot(t,AZV);figure; grid on; hold on; plot(t,U);

MATLAB Command

26

[pdG0,r]=sconnect('r','e=r-G(1);K','K:e;G(2)','G:K',pdP);pCL0=slft(pdG0,pdK);

MATLAB Command

splot

27

Missile Model: Assessment of LPV ControllerTransition on parameters

Vertical acceleration Control Input

pdsimul

Note: The command spiralt does not exist in the newest version.

spiralt

t0=[0:.001:.5];pt=spiralt(t0);figure; plot(pt(1,:),pt(2,:));

MATLAB Command[t,x,y]=pdsimul(pCL0,'spiralt',.5);figure; plot(t,1-y(:,1));figure; plot(t,y(:,2)/20);

MATLAB Command

28

NMD Systems Hybrid Dynamical Systems

Jump Linear Systems

LPV System: Handling Models

NMD Systems: Non-commuting Multi-Dimensional Systems

Sloop

s.t.

1

29

LPV System via quasi-LPVStates divided into two partitions

Tune-varying Parameters

Quasi-LPV form

[Ex.] Longitudinal dynamics of a missile

2

30

LFT-based Gain Scheduling: Synthesis

Conservative Design

where

Minimize satisfying that there exist pairs of symmetric matrices

Find an internally stabilizing controller s.t.

in and in such that

3

31[AGB95] P. Apkarian, P. Gahinet and G. Becker, “Self-Scheduled Control of Linear Parameter-Varying Systems,” Automatica, Vol. 31, No. 9, pp. 1251-1261, 1995.

2DOF controller

Missile Model: Advanced Model and Controller

ActuatorFlexibility

GyroLPV system(pitch channel)

Frequency Response

4

32

P-system and connection commands

G3 = sadd(G1,G2) ; G3 = smult(G1,G2) ;

G3 = sdiag(G1,G2) ;

G3 = sloop(G1,G2) ;

[P, r] = sconnect( inputs, outputs, K_in, G1_in, g1, G2_in, g2, … ) ;

G3 = slft(G1,G2, udim, ydim) ;

r=[r(1),r(2)] number of control inputs ( ) and outputs ( ) respectively

P standard plant

ns number of statesni number of inputsno number of outputs

G = ltisys(A,B,C,D,E) ;G = ltisys(‘tf’,num,den) ; %SISO only[A,B,C,D,E] = ltiss(G) ;[num,den] = ltitf(G) ;[ns,ni,no] = sinfo(G) ;

5

33

Data StructureAffine-parameter Representation

LFT Representation

Interconnection

sys = ltisys(A,B,C,D,E) ; sys = ss(A,B,C,D) ;

sconnect sysic

P-system SYSTEM matrix

sys =

USS SYSTEM

Polytopic Representation

[Pnom,delta] = aff2lft(pdP) ;

aff2pol

pvec

Parameter box

-1 2

20

50

pv = pvec('box',[-1 2;20 50]);

Verticespv = pvec('pol',[v1,v2,v3,v4])

6