Wide DHMPC DMPCC

From HYCON2
Jump to: navigation, search

Contents

Decentralized Linear Model Predictive Control

The class Decentralized LINear CONstrained (dlincon) is an extension of the object lincon from Hybrid toolbox (by A. Bemporad) which allows to easily handle a set of decentralized linear MPC controllers. Moreover the a-posteriori stability test described in "Barcelli and Bemporad Decentralized Model Predictive Control of Dynamically-Coupled Linear Systems: Tracking under Packet Loss". Below we briefly recall the basic concepts of that contribution so as to describe the trems of applicability.

Problem Setup

Consider the problem of regulating the discrete-time linear time-invariant system


     \left\{\begin{array}{rcl}
     x(t+1) &=& Ax(t)+Bu(t)\\
     y(t)&=& Cx(t)
     \end{array}\right.

to the origin while fulfilling the constraints


x(t) \in \mathbb{X}, 
u_{min} \leq u(t) \leq u_{max}

at all time instants t\in\Z_{0+}, where \Z_{0+} is the set of nonnegative integers, x(t) \in \mathbb{R}^n, u(t) \in \mathbb{R}^m and y(t) \in \mathbb{R}^p are the state, input, and output vectors, and the pair (A,B) is stabilizable.

Assumption 1: Matrix A has all its eigenvalues strictly inside the unit disc.

The Assumption 1 restricts the strategy and stability results to processes that are open-loop asymptotically stable, leaving to the controller the mere role of optimizing the performance of the closed-loop system.

Consider the following finite-horizon optimal control problem:


\begin{array}{lll}
V(x(t)) &=& \min_{U} x'_{t+N}Px_{t+N}+\sum_{k=0}^{N-1}x'_{k}Qx_{k}+u'_{k}Ru_{k}\\
&st& x_{k+1}=Ax_{k}+Bu_{k},\ k=0,\ldots,N-1 \\
&&                 y_{k}=Cx_{k},\  k=0,\ldots,N \\
&&                 x_{0}=x(t)\\
&&                 u_{min} \leq u_{k} \leq u_{max},\ k=0,\ldots,N_u-1 \\
&&                 u_{k}=0,\ k=N_u,\ldots,N-1
\end{array}

where, at each time t, U \triangleq \{u_0,\ldots,u_{N_u-1}\} is the sequence of future input moves, xk denotes the predicted state vector at time t + k, obtained by applying the input sequence u_{0}, \ldots, u_{k-1} to the model, starting from x(t). N > 0 is the prediction horizon, N_u \leq N is the input horizon, and "\leq" denotes component-wise inequalities. We assume that Q=Q'\geq0, R = R' > 0, P=P' \geq 0 are square weight matrices defining the performance index, and P solves the Lyapunov equation P = A'PA + Q.


Decentralized Prediction Models

In general the matrices A, B have a certain number of zero or negligible components corresponding to a partial dynamical decoupling of the process, or are even block diagonal in case of total dynamical decoupling.

Let M be the number of decentralized control actions that we want to design, for example M = m in case each individual actuator is governed by its own controller. For all i=1,\ldots,M, we define x^i\in\mathbb{R}^{n_i} as the vector collecting a subset \mathcal{I}_{xi}\subseteq\{1,\ldots,n\} of the state components,


    x^i=W_i' x=\left[\begin{array}{ccc}x^{i}_1& \cdots & x^{i}_{n_i}\end{array}\right] ' \in \mathbb{R}^{n_i}

where W_i\in\mathbb{R}^{n\times n_i} collects the ni columns of the identity matrix of order n corresponding to the indices in \mathcal{I}_{xi}, and, similarly,     u^i=Z_i' u=\left[\begin{array}{ccc}u^{i}_1& \cdots &u^{i}_{m_i}\end{array}\right] ' \in \mathbb{R}^{m_i}

as the vector of input signals tackled by the i-th controller, where Z_i\in\mathbb{R}^{m\times m_i} collects mi columns of the identity matrix of order m corresponding to the set of indices \mathcal{I}_{ui}\subseteq\{1,\ldots,m\}. Note that


    W_i' W_i=I_{n_i},\  Z_i' Z_i=I_{m_i},\ \forall i=1,\ldots, M

where I_{(\cdot)} denotes the identity matrix of order (\cdot).

By definition of xi we obtain

xi(t + 1) = Wi'x(t + 1) = Wi'Ax(t) + Wi'Bu(t)

An approximation is obtained by changing Wi'A into Wi'AWiWi' and Wi'B into Wi'BZiZi', therefore getting the new prediction model of reduced order

xi(t + 1) = Aixi(t) + Biui(t) where matrices A_i=W_i'AW_i\in\mathbb{R}^{n_i \times n_i} and B_i=W_i'BZ_i \in\mathbb{R}^{m_i \times m_i} are submatrices of the original A and B matrices, respectively, describing in a possibly approximate way the evolution of the states of subsystem #i.


The choice of the pair (Wi,Zi) of decoupling matrices (and, consequently, of the dimensions ni, mi of each submodel) is a tuning knob of the DMPC procedure.

We want to design a controller for each set of moves ui according to the prediction model and based on feedback from xi, for all i=1,\ldots,M. Note that in general different states xi, xj and different ui, uj may share common components. To avoid ambiguities on the control action provided to the process, we impose that only a subset \mathcal{I}^\#_{ui}\subseteq \mathcal{I}_{ui} of input signals computed by controller #i is actually applied to the process without ambiguity, and for the sake of simplicity of notation since now on we assume that M = m, i.e., that controller #i only controls the ith input signal.


Decentralized Optimal Control Problems

Let the following assumption be satisfied:

Assumption 2: Matrix Ai has all its eigenvalues strictly inside the unit disc, \forall i=1,\ldots,M.

Assumption 2 restricts the degrees of freedom in choosing the decentralized models (if Ai = A for all i=1,\ldots,M is the only choice satisfying Assumption 2, then no decentralized MPC can be formulated within this framework). For all i=1,\ldots,M consider the following infinite-time constrained optimal control problems



\begin{align}
   V_i(x(t)) = & \min_{\{u^i_k\}_{k=0}^{\infty}} \sum_{k=0}^{\infty}(x^{i}_{k})'W'_iQW_ix^{i}_{k}+(u^{i}_{k})'Z'_iRZ_iu^i_k\\
                  =&\min_{u^i_0} (x^{i}_{1})'P_ix^{i}_{1}+x^{i}(t)'W'_iQW_{i}x^i(t)+ (u^{i}_{0})'Z'_iRZ_iu^i_0\\
                 &s.t.~x^i_1=A_ix^i(t)+B_iu_0^i ~~~~ x^i_0=W_i' x(t)=x^i(t) \\
                 &~~u_{min}^i\leq u_0^i\leq u_{max}^i ~~~~ u^i_k=0,\ \forall k\geq 1
\end{align}

where P_i=P'_i \geq 0 is the solution of the Lyapunov equation

A'iPiAiPi = − W'iQWi

that exists by virtue of Assumption 2.

This latter problem corresponds to a finite-horizon constrained problem with control horizon Nu = 1 and linear stable prediction models. Note that only the local state vector xi(t) is needed to solve the problem.


Stability Test Under Packet Dropouts

Thereom 1: Let N be a positive integer such that no more than N consecutive steps of channel transmission blackout can occur. Assume u(t) = 0 is applied when no packet is received. Let Assumptions 1,2 hold and \forall i=1,\ldots,M define

P_i \geq 0 solution of A'iPiAiPi = − W'iQWi for i=1,\dots,m


\begin{align}
\begin{array}{ll}
\Delta u^i(t)\triangleq u(t) - Z_i u_0^{*i}(t), & ~\Delta x^i(t)\triangleq
(I-W_iW_i')x(t)\\ 
\Delta A^i\triangleq (I-W_iW_i')A, & ~\Delta
B^i\triangleq B-W_iW_i' BZ_iZ_i'
\end{array}
\end{align}


\Delta Y^i(x(t)) \triangleq W_iW_i' (A\Delta x^i(t)+ B Z_iZ_i' \Delta u^i(t))+\Delta A^i x(t)+\Delta B^i u(t)


\Delta S^i_j(x) \triangleq [2(A_iW_i'x+B_iu_0^{*i}(x))'W_i'+\Delta Y^i(x)'] (A^{j-1})'W_iP_iW_i' A^{j-1}\Delta Y^i(x)

and let 	\xi_i(x)\triangleq A_iW_i'x+B_iu_0^{*i}(x)
.

If the condition


(i) \sum_{i=1}^M \left(x'W_iW_i' Q W_i W_i'x +\xi_i(x)'(P_i-W_i'(A^{j-1})'W_iP_iW_i'A^{j-1}\right.\left.W_i)\xi_i(x)-\Delta S^i_j(x)\right)\geq 0,~~~ \forall x\in\mathbb{R}^n,\ \forall j=1,...,N

is satisfied, or the condition


 (ii)\ \sum_{i=1}^M \left(x'W_iW_i' Q W_i W_i'x+\xi_i(x)'(P_i-W_i'(A^{j-1})'\cdot\right.\left.W_iP_iW_i'A^{j-1}W_i)\xi_i(x)-\Delta S^i_j(x)+u_0^{*i}(x)'Z_i' R Z_i u_0^{*i}(x)\right) -\alpha x' x\geq 0,\qquad \forall x\in\mathbb{R}^n,\ \forall j=1,...,N

is satisfied for some scalar α > 0, then the decentralized MPC scheme in closed loop with the decentralized controller is globally asymptotically stable under packet loss.

Remark : Around the origin both the conditions in (i) and (ii) become a quadratic form to be checked positive semidefinite, so local stability in closed loop under packet loss can be tested for any arbitrary fixed N.


Class description

Starting with an user defined decentralization, the toolbox automatically creates the corresponding set of decentralized lincon controllers of appropriate dimension. The user is requested to provide a starting configuration for the centralized controller (using the same parameters as in in lincon) that is used to derive, accordingly with the given decentralization, a corresponding decentralized setup, i.e. configure each controller with corresponding state, input and output variables weights and constraints. Moreover each controller can easily be customized according to individual needing just as any lincon object.

Methods are available for three kinds of control action computation:

  • global : centralized controller;
  • Dglobal: run all DMPCs and assemble the components to return the complete set of inputs;
  • i : run the i-th controller and return its results only;

Both regulator and tracking modes are supported, however the latter is realized by means of coordinates shift, as described in the paper. Classical tracking is currently under development.


Class Methods

Class constructor

dl = dlincon(model,type,cost,interval,limits,yzerocon,decent,varbounds);

model : centralized LTI model of the plant

type : 'reg' for regulator or 'track' for tracking

cost : structure with state and input matrices weights (see lincon for more details);

interval : structure with fields N and Nu, prediction and simulation horizons respectively (see lincon for more details);

limits : structure with bounds on states and inputs (see lincon for more details);

yzerocon : if 1 constraints are also enforced at the starting instant (see lincon for more details);

decent : decentralization structure, see Properties for a more detailed help;

varbounds : if 1 state are added to handle variant bounds specified by the user online to be enforced.


Optimal Input Computation

u = dl.Deval(type,xk,r) or u = Deval(dl,type,xk,r) where dl is a dlincon obj

type: global : centralized controller; Dglobal: run all DMPCs and assemble the components to output the complete set of inputs; i : run the i-th controller and outputs its results only;

xk : state measurements of estimations (must be coherent with state dimension

r : vector of references for the outputs, ignored if type='reg'.


Stability Test Around the Origin

ris=stability_test(dl,range,cost);

Returns the test outcome. Such sufficient only test is described in the paper.


[Wide Main Page]

Personal tools