Vous êtes sur la page 1sur 33

Robust and Optimal Control, Spring 2015

Instructor: Prof. Masayuki Fujita (S5-303B)


E. LPV System and Gain Scheduling [DP05, Sec. 11]

E.1 Linear Parameter Varying(LPV) System


E.2 Quadratic Stabilization
E.3 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.
LPV Systems and Gain Schedule
J. Shamma and M. Athans,
“Gain scheduling: Potential hazards and possible remedies,”
IEEE Control Systems Magazine, 12-3, pp. 101-107, 1992
A. Packard, “Gain-scheduling via linear fractional transformations,”
Systems and Control Letters, 22, pp. 79-92, 1994

J. Shamma M. Athans

2
A. Packard
LPV vs. LTI vs. LTV Systems 1
LTI(Linear Time Invariant) Systems

Robustness LFT, Optimization(LMI)

LPV(Linear Parameter Varying) LTV(Linear Time Varying)


Systems Systems

The exogenous parameters System function


can be measured in real time Structured
Trajectory of operator inequalities
LPV systems are distinguished from LTV systems
in the perspective taken on both analysis and synthesis 3
LPV System Representation psys
Style 1: Polytope Representation
(Descriptor Representation)

: non-singular matrix
pols = psys([M1, … ,Mn])

(Convexity)
[Ex.] Mass-Spring-Damper System

, ,
,
, 4
LPV System Representation psys
Style 2: Affine parameter-dependent Representation

: affine function
: real parameters
affs = psys(pv,[s0,s1, … ,sn])
pols =
aff2pol( affs )

,
[Ex.] Mass-Spring-Damper System

5
LPV System via Jacobian Linearization
Nonlinear Plant

: Parametric-dependent
exogenous input
Equilibrium Family
: equilibrium point
: trim point

Scheduling variable
Linearization

[Ex.] , 6
LPV System via Jacobian Linearization
[Ex.] Longitudinal dynamics of a missile : angle of attack,
Nonlinear Plant : pitch rate,
: tail-fin deflection
: Mach number
Aerodynamic coefficients
Output : normalized acceleration

Equilibrium Family (parametrized by and )

, ,
Linearization

2 7
Quadratic Stability
System ,
or differential inclusion:
The system is quadratically stable if and s.t.
,
( is globally asymptotically stable, which is a hard condition)
s.t.
[Ex.] Polytope Uncertainty
s.t.
s.t.
[Ex.] Norm-bounded Uncertainty

s.t.
and
8
Robust Performance
-norm If there exists such that for ,

then
If is a time-variant,
-norm Suppose . If , such that for ,

then , ,
-Stability
s.t.
s.t. 9
Quadratic Stabilization with State Feedback

State Feedback
Closed-loop System

Quadratic Stabilization Condition


s.t.

Bilinear Matrix Inequality(BMI)


(which does not have a feasible method to solve)
and s.t.

BMI to LMI: feasible


10
Polytope-based Gain Scheduling: Representation
LPV Plant ,

: measurable

: affine functions of
: physical parameters

LPV Controller

11
Polytope-based Gain Scheduling: -like Synthesis
3
Objectives Find satisfying
The closed-loop system is stable for all admissible trajectories

Minimize such that for

where

, : the base of the null space spanned by ,

Convex Optimization Problem(LMI) 12


LFT-based Gain Scheduling: Representation

LPV Plant ,

: measurable

LPV Controller

Closed Loop System

13
LPV Systems: Applications and Design
[Ex.] Flight control(Boeing 747, F-14, F-16 and VAAC Harrier)
Missile autopilots, Aeroelasticity, Turbofan engines,
Magnetic bearings, Automotive systems, Energy

LPV Control Design: LMI approach


STEP 1 Derive a (in general, sufficient) analysis condition for a desired
closed-loop property
STEP 2 Evaluate this condition on the closed-loop LPV system (plant and
controller in feedback)
STEP 3 Transform the search for control parameters into a convex search
STEP 4 If the convex search is successful, extract controller parameters
[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. 14
MATLAB Command hinfgs

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

Input argument
pdP Parameter-dependent plant
r number of control inputs and outputs
Output argument
gopt Feasible optimal closed-loop quadratic performance gain
pdK Polytopic Gain Scheduled controller

option
gmin lower limit of gopt
tol , tolred required relative accuracy on gopt and threshold
R, S symmetric matrices satisfying Riccati inequalities

15
Missile Model: Model Representation misldem
4
Objective The missile dynamics are strongly dependent on
angle of attack , air speed and altitude
Their 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 Gulf War
(Patriot Missile)

: angle of attack, : normalized vertical acceleration


: pitch rate, : fin deflection of vertical stabilizer
Aerodynamical coefficients(depending on , and )
: available (measurable) in real time
Note: The command misldem does not exist in the newest version. 16
Missile Model: Parameter Representation pvec
Aerodynamical coefficients MATLAB Command
pNum = 100 ; polyc = [ ] ;
% Fixed polytopic coordinates
poly1 = [ 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
Oncoming Flow % random polytopic coordinates
for j = 1 : pNum-58
poly= rand(1,4) ; poly= poly/sum(poly) ;
polyc = [ polyc; poly ] ;
end
106
,
Define 100 pairs of Specific Parameters
for Verification/Analysis
MATLAB Command
%Specify the range of parameter values
0 Zmin=.5; Zmax=4; Mmin=0; Mmax=106;
4 pv=pvec('box',[Zmin Zmax; Mmin Mmax]); 17
0.5
Missile Model: LPV System via Polytopic Approach psys
, MATLAB Command
%Specify parameter-dependent model
s0=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
psinfo(pdP) % data of polytopic system
pvinfo(pv) % data of parameters

ltisys, ltiss, pvinfo


Plant
MATLAB Command
figure
omega = 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

18
Missile Model: Problem Specification
Goal To control the vertical acceleration over this operation range
Specifications(Performance/Robustness)
The stringent performance specifications
Settling Time < 0.5 s
for the step response of the vertical acceleration
The bandwidth limitation imposed by unmodeled dynamics
Generalized Plant

autopilot missile

Mixed Sensitivity Problem


19
Missile Model: Shaping Filters(Weight Functions)
Performance/Sensitivity Weight
MATLAB Command
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];
Robustness/Input Weight Wu=ltisys('tf',nu,du);

2 rad/s 1000 rad/s


20
Missile Model: Generalized Plant sconnect
(Gaug)
MATLAB Command
inputs = 'r' ;
missile outputs = ‘wp;wu' ;
(‘r’) (‘K:e’) Kin = 'K:e=r-G(1);G(2)' ;
[Gaug,r]=sconnect(inputs,outputs,Kin,'G:K',...
pdP,‘wp:e',Wp,‘wu:K',Wu);
(‘G:K’) (‘G’)

MATLAB Command
figure
omega = 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
21
Missile Model: Gain Scheduled Controller hinfgs
MATLAB Command
% Minimization of gamma for the loop-shaping criterion
[gopt,pdK]=hinfgs(Gaug,r,0,1e-2);
gopt

MATLAB Command Window


Solver for linear objective minimization under LMI constraints

Iterations : Best objective value so far


1
MATLAB Command 11
% Form the closed-loop system 12 8035.937589
pCL=slft(Gaug,pdK); 13 5439.901653
43 0.245759
*** new lower bound: 0.227530
44 0.236697
45 0.235144
46 0.234688
OK *** new lower bound: 0.231834
47 0.233905
*** new lower bound: 0.231683
(automatic calculation)
Result: feasible solution of required accuracy
best objective value: 0.233905
guaranteed absolute accuracy: 2.22e-003
f-radius saturation: 2.666% of R = 1.00e+008

Optimal quadratic RMS performance: 2.0544e-001 22


Missile Model: LPV Controller
Controller

MATLAB Command
figure
omega = 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

Elements of Controller

23
Missile Model: Frequency Response Analysis
Loop Transfer Function Closed-loop TF

MATLAB Command
pdPo = psinfo(pdP,'eval',polyc(j,:)) ;
pdKo = psinfo(pdK,'eval',polyc(j,:)) ; MATLAB Command
Pd = smult(pdKo, pdPo ) ; Pd = psinfo(pCL,'eval',polyc(j,:)) ;
24
Missile Model: Sensitivity
Sensitivity Complementary Sensitivity

MATLAB Command MATLAB Command


pdPo = psinfo(pdP,'eval',polyc(j,:)) ; pdPo = psinfo(pdP,'eval',polyc(j,:)) ;
pdKo = psinfo(pdK,'eval',polyc(j,:)) ; pdKo = psinfo(pdK,'eval',polyc(j,:)) ;
Pd = smult(pdKo, pdPo ) ; Pd = smult(pdKo, pdPo ) ;
pdS = sloop( eye(2), Pd ) ; pdT = sloop( Pd, eye(2) ) ;
25
Missile Model: Step Response for vertical acceleration
MATLAB Command MATLAB Command
[pdG0,r]=sconnect('r','e=r-G(1);K','K:e;G(2)','G:K',pdP); AZV=[]; U=[]; t=[0:.01:1]';
pCL0=slft(pdG0,pdK); 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];
end
figure; grid on; hold on; plot(t,AZV);
figure; grid on; hold on; plot(t,U);

Vertical acceleration Control Input

splot 26
Missile Model: Assessment of LPV Controller pdsimul
Transition on parameters spiralt

MATLAB Command MATLAB Command


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

Vertical acceleration Control Input

Note: The command spiralt does not exist in the newest version. 27
LPV System: Handling Models
1
NMD Systems Hybrid Dynamical Systems
Sloop

Jump Linear Systems


s.t.

28
NMD Systems: Non-commuting Multi-Dimensional Systems
LPV System via quasi-LPV
2
States divided into two partitions

Tune-varying Parameters
Quasi-LPV form

[Ex.] Longitudinal dynamics of a missile

29
LFT-based Gain Scheduling: Synthesis
3
Find an internally stabilizing controller s.t.

Minimize satisfying that there exist pairs of symmetric matrices


in and in such that

where

Conservative Design 30
Missile Model: Advanced Model and Controller
4

LPV system Gyro


Actuator
(pitch channel) Flexibility

Frequency Response 2DOF controller

[AGB95] P. Apkarian, P. Gahinet and G. Becker, “Self-Scheduled Control of Linear


31
Parameter-Varying Systems,” Automatica, Vol. 31, No. 9, pp. 1251-1261, 1995.
P-system and connection commands
5
G3 = sadd(G1,G2) ; G3 = smult(G1,G2) ; G3 = sloop(G1,G2) ;

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


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

ns number of states
ni number of inputs
no number of outputs

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

P standard plant
r=[r(1),r(2)] number of control inputs ( ) and
outputs ( ) respectively
32
Data Structure
50
6
Affine-parameter Representation Parameter box
pv = pvec('box',[-1 2;20 50]);
pvec 20
Vertices
aff2pol pv = pvec('pol',[v1,v2,v3,v4]) -1 2

Polytopic Representation LFT Representation


sys = ltisys(A,B,C,D,E) ; sys = ss(A,B,C,D) ;
P-system SYSTEM matrix USS SYSTEM

sys = [Pnom,delta]
= aff2lft(pdP) ;

sconnect Interconnection sysic

33

Vous aimerez peut-être aussi