12.07.2015 Views

Course on Model Predictive Control Part I ... - Centro E Piaggio

Course on Model Predictive Control Part I ... - Centro E Piaggio

Course on Model Predictive Control Part I ... - Centro E Piaggio

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol<strong>Part</strong> I – Introducti<strong>on</strong>Gabriele PannocchiaDepartment of Chemical Engineering, University of Pisa, ItalyEmail: g.pannocchia@diccism.unipi.itFacoltà di Ingegneria, Pisa.July 9th, 2012, Room A12G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 1 / 33


Outline1 Introducti<strong>on</strong> to MPC: motivati<strong>on</strong>s and history2 Comparis<strong>on</strong> with c<strong>on</strong>venti<strong>on</strong>al feedback c<strong>on</strong>trol3 Simple example and typical industrial architecture4 Some reminders of linear systems theory and optimal c<strong>on</strong>trol/estimati<strong>on</strong>G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 2 / 33


Brief history of <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trolOrigins and motivati<strong>on</strong>s<strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol (MPC) algorithms were born inindustrial envir<strong>on</strong>ments (mostly refining companies) during the70’s:▶ DMC (Shell, USA) [Cutler and Ramaker, 1979]▶ IDCOM (Adersa-Gerbios, France) [Richalet et al., 1978]Necessity to satisfy the more stringent producti<strong>on</strong> requests, e.g.:▶▶▶ec<strong>on</strong>omic optimizati<strong>on</strong>maximum exploitati<strong>on</strong> of producti<strong>on</strong> capacitiesminimum variability in product qualitiesG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 3 / 33


Brief history of <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol (c<strong>on</strong>t’d)Industry and academiaNowadays, most complex plants especially in refining and(petro)chemical industries use MPC systemsAfter an initial reluctance, the academia “embraced” MPCc<strong>on</strong>tributing to:▶▶establish theoretical foundati<strong>on</strong>sdevelop new algorithmsG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 4 / 33


Commercial product evoluti<strong>on</strong>Commercial Products (partial list updated to 1996)[DMC] Dynamic Matrix C<strong>on</strong>trol ⇒ DMC Corporati<strong>on</strong> (USA)[SMCA] (ex IDCOM) Multivariable C<strong>on</strong>trol Architecture ⇒ Set-Point,Inc.(USA)[PCT] (RMPCT) <strong>Predictive</strong> C<strong>on</strong>trol Technology ⇒ H<strong>on</strong>eywell - Profimatics(USA)[OPC] Optimum <strong>Predictive</strong> C<strong>on</strong>trol ⇒ Treiber C<strong>on</strong>trols, Inc. (Canada)[MVPC] Multivariable <strong>Predictive</strong> C<strong>on</strong>trol ⇒ ABB Ind. System Corp. (USA)[IDCOM-Y] ⇒ Johns<strong>on</strong> Yokogawa Corp. (USA)[MVC] Multivariable C<strong>on</strong>trol ⇒ C<strong>on</strong>tinental C<strong>on</strong>trol, Inc. (USA)[C-MCC] C<strong>on</strong>tas-Multivariable C<strong>on</strong>strained C<strong>on</strong>trol ⇒ CONTAS s.r.l. (Italy)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 5 / 33


. C<strong>on</strong>trol algorithms are emphasized here becausetively little informati<strong>on</strong> is available <strong>on</strong> the developtof Commercial industrial identificati<strong>on</strong> product technology. The evoluti<strong>on</strong>follow-desired steady state. It was found that the soluti<strong>on</strong>this problem, known as the linear quadratic Gaussub-secti<strong>on</strong>s describe key algorithms <strong>on</strong> the MPC(LQG) c<strong>on</strong>troller, involves two separate steps. At tuti<strong>on</strong>ary tree.interval k; the output measurement y k is first usedobtain an optimal state estimate #x kjk :MergesLQG#x kjk 1 ¼ A#x k 1jk 1 þ Bu k 1 ; ðIn middle of the 90’s, many acquisiti<strong>on</strong>s and merges occurredhe development of modern c<strong>on</strong>trol c<strong>on</strong>cepts can be #x kjk ¼ #x kjk 1 þ K f ðy k C#x kjk 1 Þ: ðed to theThe worksituati<strong>on</strong> of Kalmanbecame et al. in quite the early steady 1960s with two main competitors (DMC+ andThen the optimal input u k is computed using an optilman, 1960a, RMPCT) b). A greatly and other simplified less descripti<strong>on</strong> diffused technologies ofproporti<strong>on</strong>al (C<strong>on</strong>noisseur, state c<strong>on</strong>troller: SMOC, PFC, etc.)r results will be presented here as a reference pointthe discussi<strong>on</strong> to come. In the discrete-time c<strong>on</strong>text, u k ¼ K c #x kjk :From [Qin and Badgwell, 2003]2000DMC+RMPCT4th generati<strong>on</strong>MPC1990SMOCSMCAIDCOM-MHIECONPFCPCTRMPC3rd generati<strong>on</strong>MPC1980C<strong>on</strong>noisseurQDMCDMCIDCOM2nd generati<strong>on</strong>MPC1st generati<strong>on</strong>MPC1970LQG1960Fig. 1. Approximate genealogy of linear MPC algorithms.G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 6 / 33


KeywordsMPC keywordsIn most commercial product acr<strong>on</strong>yms we find several important keywords thatdefine the MPC technologiesC<strong>on</strong>trol<strong>Model</strong><strong>Predictive</strong>MultivariableRobustnessC<strong>on</strong>straintsOptimizati<strong>on</strong>Identificati<strong>on</strong>Analysis of such characteristic features in comparis<strong>on</strong> with c<strong>on</strong>venti<strong>on</strong>al c<strong>on</strong>trolschemesG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 7 / 33


C<strong>on</strong>venti<strong>on</strong>al feedback c<strong>on</strong>trol (PID)Essential featuresC<strong>on</strong>trol acti<strong>on</strong> based <strong>on</strong> the tracking error, e(t) = y sp (t) − y(t) (no predicti<strong>on</strong>)Fixed structure regulator (e.g., PID)u(t) = K c e(t) + K ∫ tcτ I0e(τ)dτ + K c τ DdedtC<strong>on</strong>straints: <strong>on</strong>ly <strong>on</strong> the manipulated variable (absolute or incremental)u min ≤ u(t) ≤ u max ,du∣dt∣ ≤ ∆u maxProcess model: “sometimes” used to define the tuning parameters K c , τ I , τ DOptimizati<strong>on</strong>: no direct optimizati<strong>on</strong> is achieved (<strong>on</strong>ly by tuning)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 8 / 33


Shortcomings of c<strong>on</strong>venti<strong>on</strong>al feedback c<strong>on</strong>trol (PID)IssuesC<strong>on</strong>venti<strong>on</strong>al feedback c<strong>on</strong>trollers are not able to face:Interacti<strong>on</strong>s from each manipulated variable to allc<strong>on</strong>trolled variablesDirecti<strong>on</strong>alityCertain combinati<strong>on</strong>s of c<strong>on</strong>trol acti<strong>on</strong>s have amuch larger (20-200 times) effect <strong>on</strong> the c<strong>on</strong>trolledvariables than other combinati<strong>on</strong>s of the samec<strong>on</strong>trol acti<strong>on</strong>s. Thus:Perturbati<strong>on</strong>s in the former directi<strong>on</strong>s are rejected muchmore easily than perturbati<strong>on</strong>s in the latter directi<strong>on</strong>s.C<strong>on</strong>straints <strong>on</strong> the c<strong>on</strong>trolled variables (e.g., productqualities)Optimizati<strong>on</strong> of the overall plant (n<strong>on</strong>square systems)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 9 / 33


C<strong>on</strong>venti<strong>on</strong>al multivariable c<strong>on</strong>trolTypical structureFeatures and limitati<strong>on</strong>sThe decoupler structure (model based) determines the achievableperformances (interacti<strong>on</strong>s and directi<strong>on</strong>ality)Decoupler robustness is an issueWhen # CV ≠ # MV (n<strong>on</strong>square systems) different alternatives are necessary(split-range, selective c<strong>on</strong>trol, etc.)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 10 / 33


Main features of MPCMPC became a successful technology due to the following features:ease of handling multivariable systemsease of handling complicated dynamics (e.g., delays, inverseresp<strong>on</strong>se, ramps, etc.)ease of handling c<strong>on</strong>straints <strong>on</strong> c<strong>on</strong>trolled and manipulatedvariables (pushing the plant towards its limits)straightforward applicability to feedforward informati<strong>on</strong>(measurable disturbances)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 11 / 33


Industrial applicati<strong>on</strong>s [Qin and Badgwell, 2003]Area Aspen H<strong>on</strong>eywell Adersa PCL MDC TotalTechnology Hi-SpecRefining 1200 480 280 25 1985Petrochemicals 450 80 – 20 550Chemicals 100 20 3 21 144Pulp and Paper 18 50 – – 68Air & Gas – 10 – – 10Utility – 10 – 4 14Mining/Metallurgy 8 6 7 6 37Food Processing – – 41 10 51Polymer 17 – – – 17Furnaces – – 42 3 45Aerospace/Defense – – 13 – 13Automotive – – 7 – 7Unclassified 40 40 1045 26 450 1601Total 1833 696 1438 125 450 4542First App. DMC:1985 PCT:1984 IDCOM:1973 PCL: SMOC:IDCOM-M:1987 RMPCT:1991 HIECON:1986 1984 1988OPC:1987Largest App 603×283 225×85 – 31×12 –G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 12 / 33


Hierarchy of an optimizati<strong>on</strong> and c<strong>on</strong>trol systemG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 13 / 33


Typical example: a distillati<strong>on</strong> unit−Q00000001111111000000111111 00000001111111000000111111000000111111000000111111000000111111LDF000000111111000000111111000000111111000000111111000000111111000000111111000000111111000000111111000000111111V+QBG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 14 / 33


C<strong>on</strong>venti<strong>on</strong>al decentralized c<strong>on</strong>trol of a distillati<strong>on</strong> unitPCFCLCLACDFCFFCLCBVACG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 15 / 33


MPC of a distillati<strong>on</strong> unitPCFCLCLAIDFCFMPCFCLCBVAIG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 16 / 33


MPC: basic ideaManual c<strong>on</strong>trol of a furnace temperatureT% valve1234Use the process model (DC gain)Feedback informati<strong>on</strong> is thedifference between actual andpredicted process outputActi<strong>on</strong>s are iterated based <strong>on</strong>feedback informati<strong>on</strong>TimeG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 17 / 33


MPC frameworkPast rec<strong>on</strong>ciliati<strong>on</strong>Future predicti<strong>on</strong>dataestimateSensorsypredicti<strong>on</strong>Input seq.ActuatorsutTimeG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 18 / 33


General structure of an MPC algorithmTuning parametersDynamicOptimizati<strong>on</strong>u(k)ˆx − (k + 1)ˆ d − (k + 1)Processy(k)ˆx(k), ˆ d(k)z −1x s (k), u s (k)Steady-stateOptimizati<strong>on</strong>ˆ d(k)EstimatorTuning parametersMPCG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 19 / 33


Linear dynamic models: c<strong>on</strong>tinuous-timeState-space formulati<strong>on</strong> (LTV)dx= A(t)x(t) + B(t)u(t)dt xy(t) = C (t)x(t) + D(t)u(t)x(0) = x 0∈ Rnu ∈ R my ∈ R pIn most applicati<strong>on</strong>s D(t) = 0State-space formulati<strong>on</strong> (LTI)dx= Ax(t) + Bu(t)dty(t) = C x(t) + Du(t)Soluti<strong>on</strong>:x(t) = e At x 0 +∫ t0e A(t−τ) Bu(τ)dτG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 20 / 33


Linear dynamic models: discrete-timeState-space formulati<strong>on</strong> (LTV)x(k + 1) = A(k)x(k) + B(k)u(k)y(k) = C (k)x(k) + D(k)u(k)x(0) = x 0x ∈ R nu ∈ R my ∈ R pState-space formulati<strong>on</strong> (LTI)or simply:x(k + 1) = Ax(k) + Bu(k)y(k) = C x(k) + Du(k)x + = Ax + Buy = C x + DuSoluti<strong>on</strong>: x(k) = A k k−1 ∑x 0 + A k−j −1 Bu(j )j =0G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 21 / 33


Linear Quadratic Regulati<strong>on</strong> problemProblem setupDiscrete-time LTI system x + = Ax + BuC<strong>on</strong>sider N time steps into the future, collect input sequenceDefine the cost functi<strong>on</strong>:V N (x(0), u) = 1 2u = {u(0), u(1), ,...,u(N − 1)}N−1 ∑k=0[x(k) ′ Qx(k) + u(k) ′ Ru(k) ] + 1 2 x(N )′ P f x(N )subject to: x + = Ax + BuOptimal LQ c<strong>on</strong>trol problemmin uV N (x(0), u)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 22 / 33


Optimizing multi-stage functi<strong>on</strong>sBasic ideaSolve the following problem of three variables (x, y, z):min f (w, x) + g (x, y) + h(y, z), w x,y,zfixedRewrite as three single-variable problems:[[] ]min f (w, x) + min g (x, y) + minh(y, z)x y zIterative strategySolve the most inner problem first: h 0 (y) = min z h(y, z)Proceed to the intermediate problem: g 0 (x) = min y g (x, y) + h 0 (y)Solve the most outer problem: f 0 (w) = min x f (x, y) + g 0 (x)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 23 / 33


Dynamic programming soluti<strong>on</strong> of the LQR problemPrinciple of dynamic programming applied to LQR problemLet l(x,u) = 1/2(x ′ Qx + u ′ Ru) and l N (x) = 1/2x ′ P f xOptimize over u(N − 1) and x(N )minN−2 ∑u(0),x(1),...,u(N−2),x(N−1)k=0l(x(k),u(k))+min l(x(N − 1),u(N − 1)) + l N (x(N ))u(N−1),x(N )} {{ }Solve this first s.t. x(N ) = Ax(N − 1) + Bu(N − 1)Obtain:u 0 (N−1) = K N (N−1)x(N−1), with K N (N−1) = −(B ′ P f B+R) −1 B ′ P f ARepeat to obtain the (backward) Riccati recursi<strong>on</strong>s:u 0 (k) = K N (k)x(k), with K N (k) = −(B ′ Π(k + 1)B + R) −1 B ′ Π(k + 1)AΠ(k − 1) = Q + A ′ Π(k)A − A ′ Π(k)B(B ′ Π(k)B + R) −1 B ′ Π(k)A,Π(N ) = P fG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 24 / 33


Infinite horiz<strong>on</strong> LQR problemA quote from [Kalman, 1960]In the engineering literature it is often assumed (tacitly and incorrectly)that a system with optimal c<strong>on</strong>trol law is necessarily stable.Closed-loop with finite-horiz<strong>on</strong> LQRC<strong>on</strong>sider the optimal finite-horiz<strong>on</strong> (N ) c<strong>on</strong>trol law: u = K N (0)xClosed-loop system: x + = Ax + Bu = (A + BK N )xExamples for which (see e.g. [Rawlings and Mayne, 2009]):max |eig(A + BK N )| ≥ 1and hence the origin is not asymptotically stableInfinite horiz<strong>on</strong> LQR: let N → ∞ and solve the Riccati equati<strong>on</strong>Π = Q + A ′ ΠA − A ′ ΠB(B ′ ΠB + R) −1 B ′ ΠA ⇒ K = −(B ′ ΠB + R) −1 B ′ ΠAG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 25 / 33


C<strong>on</strong>trollabilityDefiniti<strong>on</strong> [S<strong>on</strong>tag, 1998]A system x + = Ax +Bu is c<strong>on</strong>trollable if for any pair of state y, z in R n , there exists afinite input sequence {u(0), u(1),...,u(N − 1)} such that x(0) = y implies x(N ) = zTests for c<strong>on</strong>trollabilityVia c<strong>on</strong>trollability matrix: C = [ B AB ··· A n−1 B ](A,B) is c<strong>on</strong>trollable iff rank(C ) = nVia Hautus Lemma – c<strong>on</strong>ceptual:rank [ λI − A B ] = n for all λ ∈ CVia Hautus Lemma – practical:rank [ λI − A B ] = n for all λ ∈ eig(A)Infinite-horiz<strong>on</strong> LQR and c<strong>on</strong>trollabilityFor (A,B) c<strong>on</strong>trollable and Q,R positive definite, there exists a positive definitesoluti<strong>on</strong> of the Riccati equati<strong>on</strong>, and the matrix (A + BK ) is strictly HurwitzG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 26 / 33


Stochastic linear systemsDiscrete-time LTI systemsx + = Ax +Gwy = C x + vx(0) = x 0x(0), w and v are random variablesGaussian assumpti<strong>on</strong>We often make the following assumpti<strong>on</strong>:x(0) ∼ N ( ¯x(0),P(0)), w ∼ N (0,Q), v ∼ N (0,R)Notati<strong>on</strong>: x ∼ N ( ¯x,P) means that the random variable x is normally distributedwith mean ¯x and covariance PG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 27 / 33


Linear optimal state estimati<strong>on</strong>Preliminary results <strong>on</strong> normally distributed random variablesIf x and y are n.d. and (statistically) independent, i.e.x ∼ N (m x ,P x ) and y ∼ N (m y ,P y ), then the joint density is[ xy] ( [ mx] [ ])Px 0∼ N m y , 0 P yIf x and y are jointly n.d., i.e. [ x] ( [ mx] [ Pxy ∼ N m y ,the c<strong>on</strong>diti<strong>on</strong>al density of x given y, (x|y), is:((x|y) ∼ N m x +P x y Py−1If x ∼ N (m x ,P) and y = C x, then:y ∼ N (Cm x ,CPC ′ )P x yP x ′ y P y(y − m y ),P x −P x y Py−1 P x ′ yIf x ∼ N (m x ,P), v ∼ N (0,R) and y = C x + v, then:y ∼ N (Cm x ,CPC ′ + R)]), then)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 28 / 33


Linear optimal state estimati<strong>on</strong> (c<strong>on</strong>t.’d)Deriving the Kalman filter...Assume prior knowledge: x(k) ∼ N ( ˆx − (k),P − (k))]Obtain measurement y(k) that satisfies:[x(k)y(k)[x(k)y(k)= [ I 0C ISince x(k) and v(k) are independent, there holds:]] [ ])∼ N , P − (k) P − (k)C ′([ˆx − (k)C ˆx − (k)CP − (k) CP − (k)C ′ +RC<strong>on</strong>diti<strong>on</strong>al density (x(k)|y(k)) ∼ N ( ˆx(k),P(k)) with:ˆx(k) = ˆx − (k) + L(k) ( y(k) −C ˆx − (k) )L(k) = P − (k)C ′ (CP − (k)C ′ + R) −1P(k) = P − (k) − P − (k)C ′ (CP − (k)C ′ + R) −1 P − (k)C ′Forecast using x(k + 1) = Ax(k) +Gw(k)x(k + 1) ∼ N ( A ˆx(k) , AP(k)A ′ +GQG ′ )} {{ } } {{ }ˆx − (k+1) P − (k+1)] [ ]x(k)v(k)G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 29 / 33


Linear optimal state estimati<strong>on</strong> (c<strong>on</strong>t.’d)C<strong>on</strong>vergence of the state estimatorC<strong>on</strong>sider the noise-free system:x(k + 1) = Ax(k) + Bu(k),y = C x(k)Given an incorrect initial estimate ˆx − (0), we use a time-varyingKalman filter L(k). Is ˆx − (k) → x(k) as k → ∞?Estimati<strong>on</strong> error and steady-state Kalman filterDefine the state estimati<strong>on</strong> error: e(k) = x(k) − ˆx − (k)We obtain:e(k + 1) = (A − AL(k)C )e(k)Thus, e(k) → 0 as k → ∞ if (A − ALC ) is strictly Hurwitz, where:L = ΠC ′ (CΠC ′ + R) −1Π = AΠA ′ − AΠC ′ (CΠC ′ + R) −1 ΠC ′ A ′ +GQG ′G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 30 / 33


ObservabilityDefiniti<strong>on</strong> [S<strong>on</strong>tag, 1998]A system x + = Ax +Bu with measured output y = C x, is observable if there exists afinite N such that for any (unknown) initial state x(0) and N measurements{y(0), y(1),..., y(N − 1)}, the initial state x(0) can be determined uniquelyTests for observabilityVia observability matrix: O = ⎣(A,C ) is observable iff rank(O ) = nVia Hautus[Lemma]– c<strong>on</strong>ceptual:λI − Arank = n for all λ ∈ CC⎡C⎤C A. ⎦.C A n−1Via Hautus[Lemma]– practical:λI − Arank = n for all λ ∈ eig(A)CG. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 31 / 33


Regulator vs estimatorRegulator:x + = Ax + Bu, y = C x, V ∞ (x(0), u) = 1 ∑ ∞[2 k=0 x(k) ′ C ′ QC x(k) + u(k) ′ Ru(k) ]Estimator:x + = Ax +Gw, y = C x + vDualityRegulatorEstimatorR > 0, Q > 0 R > 0, Q > 0(A,B) c<strong>on</strong>trollable (A,C ) observable(A,C ) observable (A,G) c<strong>on</strong>trollableA A ′B C ′C G ′ΠΠK −(AL) ′A + BK (A − ALC ) ′x e ′G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 32 / 33


ReferencesC. R. Cutler and B. L. Ramaker. Dynamic matrix c<strong>on</strong>trol – a computer algorithm. In AIChE 86th Nati<strong>on</strong>alMeeting, Houst<strong>on</strong>, TX, 1979.R. E. Kalman. C<strong>on</strong>tributi<strong>on</strong>s to the theory of optimal c<strong>on</strong>trol. Bull. Soc. Math. Mex., 5:102–119, 1960.S. J. Qin and T. A. Badgwell. A survey of industrial model predictive c<strong>on</strong>trol technology. C<strong>on</strong>t. Eng.Practice, 11:733–764, 2003.J. B. Rawlings and D. Q. Mayne. <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol: Theory and Design. Nob Hill Publishing,Madis<strong>on</strong>, WI, 2009.J. Richalet, J. Rault, J. L. Testud, and J. Pap<strong>on</strong>. <strong>Model</strong> predictive heuristic c<strong>on</strong>trol: applicati<strong>on</strong>s toindustrial processes. Automatica, 14:413–1554, 1978.E. D. S<strong>on</strong>tag. Mathematical C<strong>on</strong>trol Theory. Springer, 1998.G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> I – Introducti<strong>on</strong> 33 / 33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!