Stable MPC with maximal terminal sets and quadratic terminal costs

Mikael Johansson and Hamed Taghavian
School of Electrical Engineering and Computer Science, KTH, Stockholm, Sweden
Abstract

This paper develops a technique for computing a quadratic terminal cost for linear model predictive controllers that is valid for all states in the maximal control invariant set. This maximizes the set of recursively feasible states for the controller, ensures asymptotic stability using standard proofs, and allows for easy tuning of the controller in linear operation.

I Introduction

With its ability to optimize the closed-loop system under constraints on states and control signals, model predictive control (MPC) has emerged as the preferred control technique for many advanced applications. Although the underlying ideas can be traced back to the 1960’s [1] and industrial applications appeared already in the 70’s [2], a more complete theoretical understanding of MPC emerged first around the millenium [3]. Advances in optimization algorithms [4, 5, 6] now allow model-predictive controllers to run on cheap embedded hardware, and a wealth of applications have demonstrated the practical value of MPC [7]. With a number of excellent textbooks on MPC [8, 9, 10], it is fair to say that the field of model predictive control for linear constrained systems is rather complete. However, there are still a few important questions that have not been fully resolved. This paper aims to address one of them.

Specifically, we are concerned with the problem of achieving the maximal operating region of a linear MPC with quadratic stage and terminal costs, while guaranteeing asymptotic stability of the closed loop.

The standard stability theorems for linear MPC require that the terminal set is matched with an appropriate terminal cost. Textbooks on MPC, such as [8, 9, 10], only present partial and suboptimal solutions to this problem. The easiest approach is to require that the terminal state reaches the origin, in which case we do not need a terminal penalty. A less restrictive solution is to use the control invariant set induced by some linear state feedback controller as terminal set. A matching terminal cost can then be computed by solving a Lyapunov equation. However, both these approaches result in an unnecessarily small feasible region for the associated MPC controller. To increase their operating regions, one needs to use long prediction horizons. A more economical alternative is to use the maximal control invariant set as a terminal set. Although techniques for computing maximal control invariant sets are well-developed [11], it is not obvious how to match these with an appropriate terminal cost. This paper demonstrates how one can compute a quadratic terminal cost that is valid on the maximal control invariant set, hence allowing the largest possible operating region for the associated MPC controller while guaranteeing asymptotic stability of the closed-loop.

The challenge of determining terminal sets and terminal costs that enlarge the operating region for MPC controllers has been approached by several authors. For example, [12] used the invariant set of a saturated linear controller (instead of linear) as terminal set, [13] computed a piecewise affine terminal cost for hybrid MPC controllers, and [14] and [15] suggested to use terminal costs derived from the Minkowski (control) Lyapunov function induced by the terminal set. Although these latter two approaches enable the MPC controller to operate from all states in the interior of the maximal control invariant set [15], they have a few disadvantages. First, polyhedral Lyapunov functions can have many segments, and therefore be complex to represent and costly to use in the MPC computations. This issue is partially overcome in [14], where the same inequalities are used to define the terminal set and the terminal cost. The second, and more important, disadvantage of the approaches in [15, 14] is that the computed terminal cost only depends on the system dynamics and constraints, but is independent of the stage cost. This necessitates a different convergence proof and makes it hard to affect the properties of the controller when it regulates the system without activating any constraints.

This paper is organized as follows. Section II reviews the linear MPC set-up and the standard stability theorems. Our approach to terminal cost computation is developed in Section III, and evaluated numerically in Section IV. Finally, Section V concludes the paper.

Notation.

Our notation is largely standard. For a set 𝒞n𝒞superscript𝑛\mathcal{C}\subseteq\mathbb{R}^{n}caligraphic_C ⊆ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, we let 𝒞𝒞\partial\mathcal{C}∂ caligraphic_C denote its boundary, and define the scaled set λ𝒞={x=λy|y𝒞}𝜆𝒞conditional-set𝑥𝜆𝑦𝑦𝒞\lambda\mathcal{C}=\{x=\lambda y\;|\;y\in\mathcal{C}\}italic_λ caligraphic_C = { italic_x = italic_λ italic_y | italic_y ∈ caligraphic_C }. We say that 𝒞𝒞\mathcal{C}caligraphic_C is a C-set if it is convex, compact, and includes the origin in its interior.

A simplex 𝒮n𝒮superscript𝑛{\mathcal{S}}\subset\mathbb{R}^{n}caligraphic_S ⊂ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is the convex hull of n+1𝑛1n+1italic_n + 1 affinely independent vectors vinsubscript𝑣𝑖superscript𝑛v_{i}\in{\mathbb{R}}^{n}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT which we refer to as vertices. A triangulation of a set 𝒞n𝒞superscript𝑛{\mathcal{C}}\in{\mathbb{R}}^{n}caligraphic_C ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is a subdivision of the set into a finite number of n𝑛nitalic_n-dimensional simplices such that any two simplices intersect in a common face (a simplex of any lower dimension) or not at all. In a boundary triangulation, each simplex in the triangulation has one vertex at the origin.

II Linear Model Predictive Control

Consider the discrete-time linear system

xt+1subscript𝑥𝑡1\displaystyle x_{t+1}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT =Axt+But,t0formulae-sequenceabsent𝐴subscript𝑥𝑡𝐵subscript𝑢𝑡𝑡0\displaystyle=Ax_{t}+Bu_{t},\quad t\geq 0= italic_A italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_t ≥ 0 (1)

with linear constraints on the states and controls

xt𝒳,ut𝒰.formulae-sequencesubscript𝑥𝑡𝒳subscript𝑢𝑡𝒰\displaystyle x_{t}\in\mathcal{X},\qquad u_{t}\in\mathcal{U}.italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ caligraphic_X , italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ caligraphic_U . (2)

Both 𝒳𝒳\mathcal{X}caligraphic_X and 𝒰𝒰\mathcal{U}caligraphic_U are assumed to be polyhedral C-sets.

It is useful to view linear MPC as an approximate solution to the infinite-horizon control problem

minimizet=0xtQxt+utRutsubject toxt+1=Axt+Butxt𝒳,ut𝒰minimizesuperscriptsubscript𝑡0superscriptsubscript𝑥𝑡top𝑄subscript𝑥𝑡superscriptsubscript𝑢𝑡top𝑅subscript𝑢𝑡subject tosubscript𝑥𝑡1𝐴subscript𝑥𝑡𝐵subscript𝑢𝑡missing-subexpressionformulae-sequencesubscript𝑥𝑡𝒳subscript𝑢𝑡𝒰\displaystyle\begin{array}[c]{ll}\mbox{minimize}&\sum_{t=0}^{\infty}x_{t}^{% \top}Qx_{t}+u_{t}^{\top}Ru_{t}\\ \mbox{subject to}&x_{t+1}=Ax_{t}+Bu_{t}\\ &x_{t}\in\mathcal{X},\;u_{t}\in\mathcal{U}\end{array}start_ARRAY start_ROW start_CELL minimize end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT + italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL subject to end_CELL start_CELL italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT = italic_A italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ caligraphic_X , italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ caligraphic_U end_CELL end_ROW end_ARRAY (6)

At every sampling instant t𝑡titalic_t, the MPC control law measures the state xtsubscript𝑥𝑡x_{t}italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, solves the planning problem

minimize{x^k},{u^k}k=0T1x^kQx^k+u^kRu^k+v^(x^T)subject tox^k+1=Ax^k+Bu^k,k=0,,T1x^k𝒳,u^k𝒰,k=0,,T1x^T𝒳Tx^0=xtsubscript^𝑥𝑘subscript^𝑢𝑘minimizesuperscriptsubscript𝑘0𝑇1superscriptsubscript^𝑥𝑘top𝑄subscript^𝑥𝑘superscriptsubscript^𝑢𝑘top𝑅subscript^𝑢𝑘^𝑣subscript^𝑥𝑇subject toformulae-sequencesubscript^𝑥𝑘1𝐴subscript^𝑥𝑘𝐵subscript^𝑢𝑘𝑘0𝑇1missing-subexpressionformulae-sequencesubscript^𝑥𝑘𝒳formulae-sequencesubscript^𝑢𝑘𝒰𝑘0𝑇1missing-subexpressionsubscript^𝑥𝑇subscript𝒳𝑇missing-subexpressionsubscript^𝑥0subscript𝑥𝑡\displaystyle\begin{array}[c]{ll}\underset{\{\hat{x}_{k}\},\{\hat{u}_{k}\}}{% \mbox{minimize}}&\sum_{k=0}^{T-1}\hat{x}_{k}^{\top}Q\hat{x}_{k}+\hat{u}_{k}^{% \top}R\hat{u}_{k}+\hat{v}(\hat{x}_{T})\\ \mbox{subject to}&\hat{x}_{k+1}=A\hat{x}_{k}+B\hat{u}_{k},\;\;k=0,\dots,T-1\\ &\hat{x}_{k}\in\mathcal{X},\;\hat{u}_{k}\in\mathcal{U},\;\;\;\;\;\;\;k=0,\dots% ,T-1\\ &\hat{x}_{T}\in\mathcal{X}_{T}\\ &\hat{x}_{0}=x_{t}\end{array}start_ARRAY start_ROW start_CELL start_UNDERACCENT { over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } , { over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } end_UNDERACCENT start_ARG minimize end_ARG end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_k = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + over^ start_ARG italic_v end_ARG ( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL subject to end_CELL start_CELL over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT = italic_A over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_B over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_k = 0 , … , italic_T - 1 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ caligraphic_X , over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ caligraphic_U , italic_k = 0 , … , italic_T - 1 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ∈ caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY (12)

for the predicted optimal controls {u^k}superscriptsubscript^𝑢𝑘\{\hat{u}_{k}^{\star}\}{ over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT } and predicted state trajectory {x^k}superscriptsubscript^𝑥𝑘\{\hat{x}_{k}^{\star}\}{ over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT }, and applies the control

utsubscript𝑢𝑡\displaystyle u_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT =u^0.absentsuperscriptsubscript^𝑢0\displaystyle=\hat{u}_{0}^{\star}.= over^ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT . (13)

In the planning problem, v^(x^T)=x^TQTx^T^𝑣subscript^𝑥𝑇superscriptsubscript^𝑥𝑇topsubscript𝑄𝑇subscript^𝑥𝑇\hat{v}(\hat{x}_{T})=\hat{x}_{T}^{\top}Q_{T}\hat{x}_{T}over^ start_ARG italic_v end_ARG ( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ) = over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT serves as an approximation of the infinite-horizon cost-to-go of (6) from state x^Tsubscript^𝑥𝑇\hat{x}_{T}over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT at the end of the planning horizon, while the terminal set 𝒳Tsubscript𝒳𝑇\mathcal{X}_{T}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ensures that the cost-to-go approximation is valid. The standard stability proof for linear MPC imposes the following requirements [8].

Theorem 1

Consider the system (1) with constraints (2) under the the RHC control law (12)-(13). Assume that (A,B)𝐴𝐵(A,B)( italic_A , italic_B ) is a reachable pair and let 𝒳0subscript𝒳0\mathcal{X}_{0}caligraphic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT be the set of states xtsubscript𝑥𝑡x_{t}italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT for which the planning problem (12) admits a feasible solution. If

  • (a)

    Q0succeeds-or-equals𝑄0Q\succeq 0italic_Q ⪰ 0 with (Q1/2,A)superscript𝑄12𝐴(Q^{1/2},A)( italic_Q start_POSTSUPERSCRIPT 1 / 2 end_POSTSUPERSCRIPT , italic_A ) detectable, R0succeeds𝑅0R\succ 0italic_R ≻ 0, QT0succeedssubscript𝑄𝑇0Q_{T}\succ 0italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ≻ 0

  • (b)

    The sets 𝒳𝒳\mathcal{X}caligraphic_X, 𝒰𝒰\mathcal{U}caligraphic_U and 𝒳TXsubscript𝒳𝑇𝑋\mathcal{X}_{T}\subseteq Xcaligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ⊆ italic_X are C-sets

  • (c)

    For every x𝒳T𝑥subscript𝒳𝑇x\in\mathcal{X}_{T}italic_x ∈ caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT, there exists a u𝒰𝑢𝒰u\in\mathcal{U}italic_u ∈ caligraphic_U such that

    Ax+Bu𝒳T, and𝐴𝑥𝐵𝑢subscript𝒳𝑇 and\displaystyle Ax+Bu\in\mathcal{X}_{T},\,\mbox{ and }italic_A italic_x + italic_B italic_u ∈ caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , and
    v^(Ax+Bu)v^(x)+xQx+uRu0^𝑣𝐴𝑥𝐵𝑢^𝑣𝑥superscript𝑥top𝑄𝑥superscript𝑢top𝑅𝑢0\displaystyle\hat{v}(Ax+Bu)-\hat{v}(x)+x^{\top}Qx+u^{\top}Ru\leq 0over^ start_ARG italic_v end_ARG ( italic_A italic_x + italic_B italic_u ) - over^ start_ARG italic_v end_ARG ( italic_x ) + italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q italic_x + italic_u start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_u ≤ 0

Then, every trajectory {xt}subscript𝑥𝑡\{x_{t}\}{ italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } of the closed-loop system remains in 𝒳0subscript𝒳0\mathcal{X}_{0}caligraphic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and limtxt=0subscript𝑡subscript𝑥𝑡0\lim_{t\rightarrow\infty}x_{t}=0roman_lim start_POSTSUBSCRIPT italic_t → ∞ end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = 0.

While the first two conditions of the theorem are straightforward to verify, the last one is more involved. In essence, it requires that 𝒳Tsubscript𝒳𝑇{\mathcal{X}}_{T}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT is control invariant and that v^()^𝑣\hat{v}(\cdot)over^ start_ARG italic_v end_ARG ( ⋅ ) is an upper bound on the true cost-to-go of (6) for all x𝒳T𝑥subscript𝒳𝑇x\in\mathcal{X}_{T}italic_x ∈ caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT. MPC textbooks, such as [10, 9, 8], typically suggest two approaches to this problem. The first one is to set 𝒳T={0}subscript𝒳𝑇0\mathcal{X}_{T}=\{0\}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = { 0 } (forcing the state at the end of the planning horizon to zero), for which we can set v^T(x)0subscript^𝑣𝑇𝑥0\hat{v}_{T}(x)\equiv 0over^ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_x ) ≡ 0. The second one is to choose a terminal set that is invariant under some linear state feedback ut=Lxtsubscript𝑢𝑡𝐿subscript𝑥𝑡u_{t}=-Lx_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = - italic_L italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Specifically, one uses the largest invariant set of xt+1=(ABL)xtsubscript𝑥𝑡1𝐴𝐵𝐿subscript𝑥𝑡x_{t+1}=(A-BL)x_{t}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT = ( italic_A - italic_B italic_L ) italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT contained in the set {x|x𝒳 and Lx𝒰}conditional-set𝑥𝑥𝒳 and 𝐿𝑥𝒰\{x\;|\;x\in\mathcal{X}\mbox{ and }-Lx\in\mathcal{U}\}{ italic_x | italic_x ∈ caligraphic_X and - italic_L italic_x ∈ caligraphic_U }. A valid quadratic upper bound of the cost-to-go is then v^(x)=xQTx^𝑣𝑥superscript𝑥topsubscript𝑄𝑇𝑥\hat{v}(x)=x^{\top}Q_{T}xover^ start_ARG italic_v end_ARG ( italic_x ) = italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x where QTsubscript𝑄𝑇Q_{T}italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT solves the Lyapunov equation

QTsubscript𝑄𝑇\displaystyle Q_{T}italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT =Q+LRL+(ABL)QT(ABL)absent𝑄superscript𝐿top𝑅𝐿superscript𝐴𝐵𝐿topsubscript𝑄𝑇𝐴𝐵𝐿\displaystyle=Q+L^{\top}RL+(A-BL)^{\top}Q_{T}(A-BL)= italic_Q + italic_L start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_L + ( italic_A - italic_B italic_L ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_A - italic_B italic_L )

A particularly convenient choice is to use the infinite-horizon optimal LQR controller ut=Lxtsubscript𝑢𝑡subscript𝐿subscript𝑥𝑡u_{t}=-L_{\infty}x_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = - italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT for the cost defined by Q𝑄Qitalic_Q and R𝑅Ritalic_R. In this way, the Lyapunov equation above is satisfied for the solution Psubscript𝑃P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT to the corresponding discrete-time algebraic Riccati equation

Psubscript𝑃\displaystyle P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT =Q+APAL(BPB+R)Labsent𝑄superscript𝐴topsubscript𝑃𝐴superscriptsubscript𝐿topsuperscript𝐵topsubscript𝑃𝐵𝑅subscript𝐿\displaystyle=Q+A^{\top}P_{\infty}A-L_{\infty}^{\top}(B^{\top}P_{\infty}B+R)L_% {\infty}= italic_Q + italic_A start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_A - italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( italic_B start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_B + italic_R ) italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT

where L=(BPB+R)1BPAsubscript𝐿superscriptsuperscript𝐵topsubscript𝑃𝐵𝑅1superscript𝐵topsubscript𝑃𝐴L_{\infty}=(B^{\top}P_{\infty}B+R)^{-1}B^{\top}P_{\infty}Aitalic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT = ( italic_B start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_B + italic_R ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_B start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_A. However, the terminal set computed in this way is not necessarily large.

Since xTsubscript𝑥𝑇x_{T}italic_x start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT must belong to 𝒳Tsubscript𝒳𝑇\mathcal{X}_{T}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT, a smaller terminal set leads to a smaller set of (recursively) feasible states, and hence to a smaller operating region of the MPC controller. The operating region increases with the planning horizon T𝑇Titalic_T, but with a small terminal set one typically need a long horizon to be able to operate from all states in the maximal control invariant set [16]. If one is able to use the maximal control invariant set as terminal set, on the other hand, the MPC controller will have the largest possible operating region already with a horizon of one. To illustrate the relationship between terminal set, prediction horizon, and operating regime of linear MPC, we consider the following example from [9].

Example 1

Consider the second-order system

xt+1subscript𝑥𝑡1\displaystyle x_{t+1}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT =(1.1200.95)xt+(00.0787)utabsentmatrix1.1200.95subscript𝑥𝑡matrix00.0787subscript𝑢𝑡\displaystyle=\begin{pmatrix}1.1&2\\ 0&0.95\end{pmatrix}x_{t}+\begin{pmatrix}0\\ 0.0787\end{pmatrix}u_{t}= ( start_ARG start_ROW start_CELL 1.1 end_CELL start_CELL 2 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0.95 end_CELL end_ROW end_ARG ) italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT + ( start_ARG start_ROW start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0.0787 end_CELL end_ROW end_ARG ) italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT
ytsubscript𝑦𝑡\displaystyle y_{t}italic_y start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT =(11)xtabsentmatrix11subscript𝑥𝑡\displaystyle=\begin{pmatrix}-1&1\end{pmatrix}x_{t}= ( start_ARG start_ROW start_CELL - 1 end_CELL start_CELL 1 end_CELL end_ROW end_ARG ) italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT

under the MPC control (12)-(13) with

Q𝑄\displaystyle Qitalic_Q =CC,R=1formulae-sequenceabsentsuperscript𝐶top𝐶𝑅1\displaystyle=C^{\top}C,\;R=1= italic_C start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_C , italic_R = 1
𝒳𝒳\displaystyle\mathcal{X}caligraphic_X ={x|x8}absentconditional-set𝑥subscriptnorm𝑥8\displaystyle=\{x\;|\;\|x\|_{\infty}\leq 8\}= { italic_x | ∥ italic_x ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ≤ 8 }
𝒰𝒰\displaystyle\mathcal{U}caligraphic_U ={u||u|1}absentconditional-set𝑢𝑢1\displaystyle=\{u\;|\;|u|\leq 1\}= { italic_u | | italic_u | ≤ 1 }

Figure 1 shows 𝒳0subscript𝒳0\mathcal{X}_{0}caligraphic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT for different horizon lengths when the terminal set is taken to be the maximal invariant set of the infinite-horizon LQR-optimal control law. Note how the operating region of the MPC controller increases with increasing horizon length, and that even with a horizon of 24 samples, the MPC controller can only operate in a subset of the maximal control invariant set.

Refer to caption

Figure 1: Operating region 𝒳0subscript𝒳0\mathcal{X}_{0}caligraphic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT for MPC controller depending on the horizon length T𝑇Titalic_T. A small terminal set may force us to use an unnecessarily long horizon.

In the next section, we will develop a technique for computing a quadratic terminal cost so that one can use the maximal control invariant set as terminal set and still guarantee stability using Theorem 1.

III Computing a quadratic terminal cost valid on the maximal invariant set

Our procedure contains three key steps: we first determine the maximal invariant set, then recover an explicit feedback policy that renders the set invariant, and finally compute an upper bound on the infinite-horizon cost for this control law.

III-A Maximal control invariant and λ𝜆\lambdaitalic_λ-contractive sets

Definition 1

A set 𝒞n𝒞superscript𝑛\mathcal{C}\subseteq\mathbb{R}^{n}caligraphic_C ⊆ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is control invariant for the system (1) under the constraints (2) if 𝒞𝒳𝒞𝒳\mathcal{C}\subseteq\mathcal{X}caligraphic_C ⊆ caligraphic_X and

x𝑥\displaystyle xitalic_x 𝒞u𝒰 such that Ax+Bu𝒞.absent𝒞𝑢𝒰 such that 𝐴𝑥𝐵𝑢𝒞\displaystyle\in{\mathcal{C}}\Rightarrow\exists u\in\mathcal{U}\mbox{ such % that }Ax+Bu\in\mathcal{C}.∈ caligraphic_C ⇒ ∃ italic_u ∈ caligraphic_U such that italic_A italic_x + italic_B italic_u ∈ caligraphic_C .

Furthermore, we say that 𝒞subscript𝒞\mathcal{C}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT is maximal control invariant if it is control invariant and contains all control invariant sets for the system (1) under the constraints (2).

Control invariance by itself does not imply that states in 𝒞subscript𝒞{\mathcal{C}}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT can be driven to zero. For example, if A=I𝐴𝐼A=Iitalic_A = italic_I and B=0𝐵0B=0italic_B = 0, then 𝒞=𝒳subscript𝒞𝒳{\mathcal{C}}_{\infty}={\mathcal{X}}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT = caligraphic_X but xk=x0subscript𝑥𝑘subscript𝑥0x_{k}=x_{0}italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT for all k0𝑘0k\geq 0italic_k ≥ 0. Such situations can be detected and avoided by requiring that the terminal set is contractive in the following sense.

Definition 2

Let λ(0,1]𝜆01\lambda\in(0,1]italic_λ ∈ ( 0 , 1 ]. A set 𝒞𝒳𝒞𝒳{\mathcal{C}}\subseteq{\mathcal{X}}caligraphic_C ⊆ caligraphic_X is called λ𝜆\lambdaitalic_λ-contractive (1) under the constraints (2), if for every x𝒞𝑥𝒞x\in{\mathcal{C}}italic_x ∈ caligraphic_C there exists u𝒰𝑢𝒰u\in{\mathcal{U}}italic_u ∈ caligraphic_U such that Ax+Buλ𝒞𝐴𝑥𝐵𝑢𝜆𝒞Ax+Bu\in\lambda{\mathcal{C}}italic_A italic_x + italic_B italic_u ∈ italic_λ caligraphic_C. For a given λ𝜆\lambdaitalic_λ, the maximal λ𝜆\lambdaitalic_λ-contractive set for (1) under the constraints (2), denoted 𝒞λsuperscriptsubscript𝒞𝜆{\mathcal{C}}_{\infty}^{\lambda}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT, is the union of all λ𝜆\lambdaitalic_λ-contractive sets.

Note that the maximal 1111-contractive set is identical to the maximal control invariant set. There are several techniques for computing the maximal control invariant set (e.g.[8, Algorithm 10.2]), but λ𝜆\lambdaitalic_λ-contractive sets are typically computed using the following approach: define the predecessor set

𝒫(Ω)𝒫Ω\displaystyle\mathcal{P}(\Omega)caligraphic_P ( roman_Ω ) ={xn|Ax+BuΩ for some u𝒰}absentconditional-set𝑥superscript𝑛𝐴𝑥𝐵𝑢Ω for some 𝑢𝒰\displaystyle=\left\{x\in\mathbb{R}^{n}\;|\;Ax+Bu\in\Omega\mbox{ for some }u% \in\mathcal{U}\right\}= { italic_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT | italic_A italic_x + italic_B italic_u ∈ roman_Ω for some italic_u ∈ caligraphic_U }

and then execute the following algorithm [8, Algorithm 10.2]

  1. 1.

    Set Ω0=𝒳subscriptΩ0𝒳\Omega_{0}=\mathcal{X}roman_Ω start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = caligraphic_X, k=0𝑘0k=0italic_k = 0.

  2. 2.

    Let k=k+1𝑘𝑘1k=k+1italic_k = italic_k + 1 and Ωk=𝒫(λΩk1)𝒳subscriptΩ𝑘𝒫𝜆subscriptΩ𝑘1𝒳\Omega_{k}=\mathcal{P}(\lambda\Omega_{k-1})\cap{\mathcal{X}}roman_Ω start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = caligraphic_P ( italic_λ roman_Ω start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ) ∩ caligraphic_X.

  3. 3.

    If Ωk=Ωk1subscriptΩ𝑘subscriptΩ𝑘1\Omega_{k}=\Omega_{k-1}roman_Ω start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = roman_Ω start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT, return Cλ=Ωksubscriptsuperscript𝐶𝜆subscriptΩ𝑘C^{\lambda}_{\infty}=\Omega_{k}italic_C start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT = roman_Ω start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT else goto 2.

For a linear system with C-set constraints on the states and controls, the maximal control invariant set is also a C-set. However, even if 𝒳𝒳\mathcal{X}caligraphic_X and 𝒰𝒰\mathcal{U}caligraphic_U are polyhedral, the maximal invariant set may not be polyhedral and the algorithm above will not terminate. Conditions for when the algorithm is guaranteed to terminate in a finite number of steps, along with bounds for the number of iterations required, can be found in [17]. When we consider λ𝜆\lambdaitalic_λ-contractive sets with λ[0,1)𝜆01\lambda\in[0,1)italic_λ ∈ [ 0 , 1 ), the situation becomes slightly more complicated since the constraints may limit our ability to contract; see [18] and  [19] for a careful convergence analysis of the algorithm.

III-B Recovering the implicit feedback policy

The algorithm described above allows us to compute the maximal λ𝜆\lambdaitalic_λ-contractive set 𝒞λsuperscriptsubscript𝒞𝜆\mathcal{C}_{\infty}^{\lambda}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT of a linear system with C-set constraints on states and controls. From Definition 2, we therefore know that there exists an admissible control function u(x):𝒞λ𝒰:𝑢𝑥maps-tosuperscriptsubscript𝒞𝜆𝒰u(x):\mathcal{C}_{\infty}^{\lambda}\mapsto\mathcal{U}italic_u ( italic_x ) : caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT ↦ caligraphic_U that steers states in 𝒞λsuperscriptsubscript𝒞𝜆\mathcal{C}_{\infty}^{\lambda}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT into λ𝒞λ𝜆superscriptsubscript𝒞𝜆\lambda\mathcal{C}_{\infty}^{\lambda}italic_λ caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT. However, this control function is only implicit in the calculations. We will now demonstrate how we can recover u(x)𝑢𝑥u(x)italic_u ( italic_x ) as a continuous and piecewise linear control law.

The next result, which is a slight generalization of the conditions proposed by Gutman and Cwikel [20] (see also [11, §4]) demonstrates how we can determine control signals to apply at each vertex of a C-set 𝒞𝒞{\mathcal{C}}caligraphic_C to steer the state into λ𝒞𝜆𝒞\lambda{\mathcal{C}}italic_λ caligraphic_C.

Theorem 2

The C-set 𝒞𝒳𝒞𝒳\mathcal{C}\subseteq\mathcal{X}caligraphic_C ⊆ caligraphic_X with vertices visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, i=1,2,,s𝑖12𝑠i=1,2,\dots,sitalic_i = 1 , 2 , … , italic_s is λ𝜆\lambdaitalic_λ-contractive for the discrete-time linear system (1) under the constraints (2) if and only if there exists λi[0,λ]subscript𝜆𝑖0𝜆\lambda_{i}\in[0,\lambda]italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ [ 0 , italic_λ ], pij[0,1]subscript𝑝𝑖𝑗01p_{ij}\in[0,1]italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ [ 0 , 1 ] and uimsubscript𝑢𝑖superscript𝑚u_{i}\in\mathbb{R}^{m}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT that satisfy

{Avi+Bui=j=1spijvjj=1spijλiui𝒰cases𝐴subscript𝑣𝑖𝐵subscript𝑢𝑖superscriptsubscript𝑗1𝑠subscript𝑝𝑖𝑗subscript𝑣𝑗superscriptsubscript𝑗1𝑠subscript𝑝𝑖𝑗subscript𝜆𝑖subscript𝑢𝑖𝒰\displaystyle\left\{\begin{array}[c]{rcl}Av_{i}+Bu_{i}&=&\sum_{j=1}^{s}p_{ij}v% _{j}\\ \sum_{j=1}^{s}p_{ij}&\leq&\lambda_{i}\\ u_{i}&\in&\mathcal{U}\end{array}\right.{ start_ARRAY start_ROW start_CELL italic_A italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_CELL start_CELL = end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≤ end_CELL start_CELL italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_CELL start_CELL ∈ end_CELL start_CELL caligraphic_U end_CELL end_ROW end_ARRAY (17)

for every i=1,2,,s𝑖12𝑠i=1,2,\dots,sitalic_i = 1 , 2 , … , italic_s.

Together, the equality constraint and the conditions that pij0subscript𝑝𝑖𝑗0p_{ij}\geq 0italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ≥ 0 and j=1spijλiλsuperscriptsubscript𝑗1𝑠subscript𝑝𝑖𝑗subscript𝜆𝑖𝜆\sum_{j=1}^{s}p_{ij}\leq\lambda_{i}\leq\lambda∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ≤ italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_λ imply that for each vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of 𝒞𝒞\mathcal{C}caligraphic_C, there is an admissible control action uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT so that the next state belongs to λi𝒞subscript𝜆𝑖𝒞\lambda_{i}{\mathcal{C}}italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT caligraphic_C and hence to λ𝒞𝜆𝒞\lambda\mathcal{C}italic_λ caligraphic_C. Since 𝒰𝒰\mathcal{U}caligraphic_U is a C-set, u𝒰𝑢𝒰u\in\mathcal{U}italic_u ∈ caligraphic_U can be expressed as a system of linear inequalities or equalities. This means that the conditions in (17) constitute a linear programming feasibility problem.

Remark 1

Although we could fix λi=λsubscript𝜆𝑖𝜆\lambda_{i}=\lambdaitalic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_λ for all i𝑖iitalic_i, it can be useful to minimize iλisubscript𝑖subscript𝜆𝑖\sum_{i}\lambda_{i}∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to encourage the control to drive the state closer to the origin or to minimize the difference between the uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and a linear control law, e.g. Lvisubscript𝐿subscript𝑣𝑖-L_{\infty}v_{i}- italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

As suggested by Gutman and Cwikel [20], it is possible to transform the vertex controls computed in Theorem 2 into a continuous feedback policy that is valid for all x𝑥xitalic_x. To this end, consider a subdivision of 𝒞𝒞{\mathcal{C}}caligraphic_C into simplices {𝒮k}k=1Nsuperscriptsubscriptsubscript𝒮𝑘𝑘1𝑁\{\mathcal{S}_{k}\}_{k=1}^{N}{ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT, such that each simplex 𝒮ksubscript𝒮𝑘\mathcal{S}_{k}caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT has one vertex at the origin and the remaining n𝑛nitalic_n ones at extreme points of 𝒞𝒞\mathcal{C}caligraphic_C. Such a boundary triangulation of a C-set is readily determined using standard convex hull algorithms [21, Section 3]. Let visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i=1,2,s𝑖12𝑠i=1,2,\dots sitalic_i = 1 , 2 , … italic_s be the extreme points of 𝒞𝒞\mathcal{C}caligraphic_C, v0=0subscript𝑣00v_{0}=0italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0 and k={i|vi𝒮k}subscript𝑘conditional-set𝑖subscript𝑣𝑖subscript𝒮𝑘\mathcal{I}_{k}=\{i\;|\;v_{i}\in\mathcal{S}_{k}\}caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { italic_i | italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } be the index set for the vertices of 𝒮ksubscript𝒮𝑘\mathcal{S}_{k}caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT.

Since 𝒮ksubscript𝒮𝑘{\mathcal{S}}_{k}caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is a simplex, any x𝒮k𝑥subscript𝒮𝑘x\in\mathcal{S}_{k}italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT can be written as

x𝑥\displaystyle xitalic_x =ikpi(x)viabsentsubscript𝑖subscript𝑘subscript𝑝𝑖𝑥subscript𝑣𝑖\displaystyle=\sum_{i\in{\mathcal{I}}_{k}}p_{i}(x)v_{i}= ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (18)

where pi(x)0subscript𝑝𝑖𝑥0p_{i}(x)\geq 0italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) ≥ 0 and ikpi(x)=1subscript𝑖subscript𝑘subscript𝑝𝑖𝑥1\sum_{i\in{\mathcal{I}}_{k}}p_{i}(x)=1∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) = 1. Moreover, the vertices visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are affinely independent, so if we define Vkn×nsubscript𝑉𝑘superscript𝑛𝑛V_{k}\in\mathbb{R}^{n\times n}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n × italic_n end_POSTSUPERSCRIPT as the matrix whose columns are the non-zero vertices of 𝒮ksubscript𝒮𝑘{\mathcal{S}}_{k}caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ordered in increasing vertex index i𝑖iitalic_i, the matrix

(0Vk1𝟏)matrix0subscript𝑉𝑘1superscript1top\displaystyle\begin{pmatrix}0&V_{k}\\ 1&\mathbf{1}^{\top}\end{pmatrix}( start_ARG start_ROW start_CELL 0 end_CELL start_CELL italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL 1 end_CELL start_CELL bold_1 start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG )

has full rank. This implies that Vksubscript𝑉𝑘V_{k}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT also has full rank.

Next, define u0=0subscript𝑢00u_{0}=0italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0 so that Av0+Bu0=0𝐴subscript𝑣0𝐵subscript𝑢00Av_{0}+Bu_{0}=0italic_A italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0. A feasible solution to the conditions in Theorem 2 then implies that

Avi+Bui𝒞 for all i=0,1,,s.formulae-sequence𝐴subscript𝑣𝑖𝐵subscript𝑢𝑖𝒞 for all 𝑖01𝑠\displaystyle Av_{i}+Bu_{i}\in{\mathcal{C}}\qquad\mbox{ for all }i=0,1,\dots,s.italic_A italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_C for all italic_i = 0 , 1 , … , italic_s .

Since 𝒞𝒞\mathcal{C}caligraphic_C is convex, any convex combination of Avi+Bui𝐴subscript𝑣𝑖𝐵subscript𝑢𝑖Av_{i}+Bu_{i}italic_A italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT also belongs to 𝒞𝒞{\mathcal{C}}caligraphic_C. In particular, with pi(x)subscript𝑝𝑖𝑥p_{i}(x)italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) defined above,

ikpi(x)(Avi+Bui)=Ax+Bikpi(x)ui𝒞subscript𝑖subscript𝑘subscript𝑝𝑖𝑥𝐴subscript𝑣𝑖𝐵subscript𝑢𝑖𝐴𝑥𝐵subscript𝑖subscript𝑘subscript𝑝𝑖𝑥subscript𝑢𝑖𝒞\displaystyle\sum_{i\in\mathcal{I}_{k}}p_{i}(x)(Av_{i}+Bu_{i})=Ax+B\sum_{i\in% \mathcal{I}_{k}}p_{i}(x)u_{i}\in{\mathcal{C}}∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) ( italic_A italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_B italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_A italic_x + italic_B ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_C

Similarly, since each ui𝒰subscript𝑢𝑖𝒰u_{i}\in{\mathcal{U}}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_U, and the set 𝒰𝒰{\mathcal{U}}caligraphic_U is convex,

u(x)𝑢𝑥\displaystyle u(x)italic_u ( italic_x ) =ikpi(x)ui𝒰.absentsubscript𝑖subscript𝑘subscript𝑝𝑖𝑥subscript𝑢𝑖𝒰\displaystyle=\sum_{i\in\mathcal{I}_{k}}p_{i}(x)u_{i}\,\in{\mathcal{U}}.= ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_U .

Thus, u(x)𝑢𝑥u(x)italic_u ( italic_x ) is admissible and renders 𝒞𝒞{\mathcal{C}}caligraphic_C λ𝜆\lambdaitalic_λ-contractive under xk+1=Axk+Bu(xk)subscript𝑥𝑘1𝐴subscript𝑥𝑘𝐵𝑢subscript𝑥𝑘x_{k+1}=Ax_{k}+Bu(x_{k})italic_x start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT = italic_A italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_B italic_u ( italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ). To derive an explicit expression for the control policy, let Ukm×nsubscript𝑈𝑘superscript𝑚𝑛U_{k}\in\mathbb{R}^{m\times n}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_m × italic_n end_POSTSUPERSCRIPT be the matrix whose columns are uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for ik\0𝑖\subscript𝑘0i\in{\mathcal{I}}_{k}\backslash 0italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT \ 0 ordered in increasing vertex index i𝑖iitalic_i and p(x)n𝑝𝑥superscript𝑛p(x)\in\mathbb{R}^{n}italic_p ( italic_x ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT as the vector of pi(x)subscript𝑝𝑖𝑥p_{i}(x)italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) for ik\0𝑖\subscript𝑘0i\in{\mathcal{I}}_{k}\backslash 0italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT \ 0 ordered in the same way. Then, for x𝒮k𝑥subscript𝒮𝑘x\in{\mathcal{S}}_{k}italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT,

x𝑥\displaystyle xitalic_x =ikvipi(x)=Vkp(x)p(x)=Vk1xabsentsubscript𝑖subscript𝑘subscript𝑣𝑖subscript𝑝𝑖𝑥subscript𝑉𝑘𝑝𝑥𝑝𝑥superscriptsubscript𝑉𝑘1𝑥\displaystyle=\sum_{i\in{\mathcal{I}}_{k}}v_{i}p_{i}(x)=V_{k}p(x)\Rightarrow p% (x)=V_{k}^{-1}x= ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) = italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_p ( italic_x ) ⇒ italic_p ( italic_x ) = italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x
and
u(x)𝑢𝑥\displaystyle u(x)italic_u ( italic_x ) =ikuipi(x)=Ukp(x)=UkVk1xabsentsubscript𝑖subscript𝑘subscript𝑢𝑖subscript𝑝𝑖𝑥subscript𝑈𝑘𝑝𝑥subscript𝑈𝑘superscriptsubscript𝑉𝑘1𝑥\displaystyle=\sum_{i\in{\mathcal{I}}_{k}}u_{i}p_{i}(x)=U_{k}p(x)=U_{k}V_{k}^{% -1}x= ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_I start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) = italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_p ( italic_x ) = italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x

In other words, the feedback policy

u(x)𝑢𝑥\displaystyle u(x)italic_u ( italic_x ) =Lkx=UkVk1xx𝒮kformulae-sequenceabsentsubscript𝐿𝑘𝑥subscript𝑈𝑘superscriptsubscript𝑉𝑘1𝑥𝑥subscript𝒮𝑘\displaystyle=-L_{k}x=U_{k}V_{k}^{-1}x\qquad x\in{\mathcal{S}}_{k}= - italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x = italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT (19)

renders 𝒞𝒞\mathcal{C}caligraphic_C λ𝜆\lambdaitalic_λ-contractive. It is continuous and piecewise linear, and easy to extract from a solution to (17).

Example 2

Figure 2 shows the triangulation of the maximal control invariant set for the system considered in Example 1. The triangulation of 𝒞subscript𝒞\mathcal{C}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT is shown in gray while the associated piecewise linear control law is shown in blue.

Refer to caption

Figure 2: Triangulation of 𝒞subscript𝒞\mathcal{C}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT (gray) and the associated piecewise linear control law (blue) for the system in Example 1.

III-C A quadratic upper bound on the cost-to-go

Now that we have developed a procedure to recover an explicit feedback policy that renders the desired terminal set control invariant, we can proceed to compute an upper bound on the associated cost-to-go. In particular, consider v^(x)=xPx^𝑣𝑥superscript𝑥top𝑃𝑥\hat{v}(x)=x^{\top}Pxover^ start_ARG italic_v end_ARG ( italic_x ) = italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_x. Then condition (d) of Theorem 1 reads

xAkPAkxxPx+xQkxsuperscript𝑥topsuperscriptsubscript𝐴𝑘top𝑃subscript𝐴𝑘𝑥superscript𝑥top𝑃𝑥superscript𝑥topsubscript𝑄𝑘𝑥\displaystyle x^{\top}A_{k}^{\top}PA_{k}x-x^{\top}Px+x^{\top}Q_{k}xitalic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x - italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_x + italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x 0x𝒮kformulae-sequenceabsent0for-all𝑥subscript𝒮𝑘\displaystyle\leq 0\quad\forall x\in{\mathcal{S}}_{k}≤ 0 ∀ italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT

where Ak=(ABLk)subscript𝐴𝑘𝐴𝐵subscript𝐿𝑘A_{k}=(A-BL_{k})italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = ( italic_A - italic_B italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) and Qk=Q+LkRLksubscript𝑄𝑘𝑄superscriptsubscript𝐿𝑘top𝑅subscript𝐿𝑘Q_{k}=Q+L_{k}^{\top}RL_{k}italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_Q + italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. There are N𝑁Nitalic_N such inequalities, one for each simplex in the boundary triangulation of the terminal set. As described in [22, 23] these conditions can be verified using semi-definite programming, where the condition that x𝒮k𝑥subscript𝒮𝑘x\in{\mathcal{S}}_{k}italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is encoded using the S-procedure. This leads to the next result.

Theorem 3

Let 𝒞𝒞{\mathcal{C}}caligraphic_C be control invariant for (1) under constraints (2), and let {𝒮k}k=1Nsuperscriptsubscriptsubscript𝒮𝑘𝑘1𝑁\{\mathcal{S}_{k}\}_{k=1}^{N}{ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT be a boundary triangulation of 𝒞𝒞\mathcal{C}caligraphic_C. Consider the control policy uk=u(xk)subscript𝑢𝑘𝑢subscript𝑥𝑘u_{k}=u(x_{k})italic_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_u ( italic_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) defined in (19) and let Ak=ABLksubscript𝐴𝑘𝐴𝐵subscript𝐿𝑘A_{k}=A-BL_{k}italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_A - italic_B italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and Qk=Q+LkRLksubscript𝑄𝑘𝑄superscriptsubscript𝐿𝑘top𝑅subscript𝐿𝑘Q_{k}=Q+L_{k}^{\top}RL_{k}italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_Q + italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. If the following semi-definite program

minimizeTr(P)subject toAkPAkP+Qk+VkWkVk10kWk=Wk0kP0minimizeTr𝑃missing-subexpressionsubject toprecedes-or-equalssuperscriptsubscript𝐴𝑘top𝑃subscript𝐴𝑘𝑃subscript𝑄𝑘superscriptsubscript𝑉𝑘absenttopsubscript𝑊𝑘superscriptsubscript𝑉𝑘10for-all𝑘missing-subexpressionsubscript𝑊𝑘superscriptsubscript𝑊𝑘top0for-all𝑘missing-subexpressionsucceeds𝑃0missing-subexpression\displaystyle\begin{array}[c]{lll}\mbox{minimize}&\mathrm{Tr}(P)&\\ \mbox{subject to}&A_{k}^{\top}PA_{k}-P+Q_{k}+V_{k}^{-\top}W_{k}V_{k}^{-1}% \preceq 0&\forall k\\ &W_{k}=W_{k}^{\top}\geq 0&\forall k\\ &\;P\succ 0&\end{array}start_ARRAY start_ROW start_CELL minimize end_CELL start_CELL roman_Tr ( italic_P ) end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL subject to end_CELL start_CELL italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_P + italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - ⊤ end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⪯ 0 end_CELL start_CELL ∀ italic_k end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ≥ 0 end_CELL start_CELL ∀ italic_k end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_P ≻ 0 end_CELL start_CELL end_CELL end_ROW end_ARRAY

in variables P𝑃Pitalic_P and Wksubscript𝑊𝑘W_{k}italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is feasible, then condition (d) in Theorem 1 is satisfied with 𝒳T=𝒞subscript𝒳𝑇𝒞\mathcal{X}_{T}={\mathcal{C}}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = caligraphic_C and v^(x)=xPx^𝑣𝑥superscript𝑥top𝑃𝑥\hat{v}(x)=x^{\top}Pxover^ start_ARG italic_v end_ARG ( italic_x ) = italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_x.

Remark 2

The first matrix inequality uses the S-procedure to reduce conservatism. Since Wksubscript𝑊𝑘W_{k}italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is elementwise non-negative, and Vk1x0superscriptsubscript𝑉𝑘1𝑥0V_{k}^{-1}x\geq 0italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x ≥ 0 when x𝒮k𝑥subscript𝒮𝑘x\in\mathcal{S}_{k}italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, the term xVkWkVk1x0superscript𝑥topsuperscriptsubscript𝑉𝑘absenttopsubscript𝑊𝑘superscriptsubscript𝑉𝑘1𝑥0x^{\top}V_{k}^{-\top}W_{k}V_{k}^{-1}x\geq 0italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - ⊤ end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x ≥ 0 for x𝒮k𝑥subscript𝒮𝑘x\in\mathcal{S}_{k}italic_x ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. However, VkWkVk1superscriptsubscript𝑉𝑘absenttopsubscript𝑊𝑘superscriptsubscript𝑉𝑘1V_{k}^{-\top}W_{k}V_{k}^{-1}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - ⊤ end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT is not necessarily a positive semi-definite matrix and xVkWkVk1xsuperscript𝑥topsuperscriptsubscript𝑉𝑘absenttopsubscript𝑊𝑘superscriptsubscript𝑉𝑘1𝑥x^{\top}V_{k}^{-\top}W_{k}V_{k}^{-1}xitalic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - ⊤ end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_x may be negative when x𝒮k𝑥subscript𝒮𝑘x\not\in\mathcal{S}_{k}italic_x ∉ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. This makes the linear matrix inequality easier to satisfy than AkPAkP+Qk0precedes-or-equalssuperscriptsubscript𝐴𝑘top𝑃subscript𝐴𝑘𝑃subscript𝑄𝑘0A_{k}^{\top}PA_{k}-P+Q_{k}\preceq 0italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_P + italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⪯ 0. The S-procedure is, in general, only a sufficient condition for checking positivity of a quadratic form on a polyhedron, but since 𝒮ksubscript𝒮𝑘\mathcal{S}_{k}caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is a simplex, this use of the S-procedure is loss-less up until dimension n=4𝑛4n=4italic_n = 4 [23].

Remark 3

As discussed in § III-B, the matrices Vksubscript𝑉𝑘V_{k}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT are invertible per definition. Nevertheless, one can multiply the linear matrix inequalities

AkPAkP+Qk+VkWkVk10precedes-or-equalssuperscriptsubscript𝐴𝑘top𝑃subscript𝐴𝑘𝑃subscript𝑄𝑘superscriptsubscript𝑉𝑘absenttopsubscript𝑊𝑘superscriptsubscript𝑉𝑘10\displaystyle A_{k}^{\top}PA_{k}-P+Q_{k}+V_{k}^{-\top}W_{k}V_{k}^{-1}\preceq 0italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_P + italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - ⊤ end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⪯ 0

by Vksuperscriptsubscript𝑉𝑘topV_{k}^{\top}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT from the left and Vksubscript𝑉𝑘V_{k}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT from the right without affecting the solution set. By accounting for the structure of Aksubscript𝐴𝑘A_{k}italic_A start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, Qksubscript𝑄𝑘Q_{k}italic_Q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and Lksubscript𝐿𝑘L_{k}italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, the resulting linear matrix inequality reads

(AVk+BUk)P(AVk+BUk)+Vk(P+Q)Vk+superscript𝐴subscript𝑉𝑘𝐵subscript𝑈𝑘top𝑃𝐴subscript𝑉𝑘𝐵subscript𝑈𝑘limit-fromsuperscriptsubscript𝑉𝑘top𝑃𝑄subscript𝑉𝑘\displaystyle(AV_{k}+BU_{k})^{\top}P(AV_{k}+BU_{k})+V_{k}^{\top}(-P+Q)V_{k}+( italic_A italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_B italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P ( italic_A italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_B italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) + italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( - italic_P + italic_Q ) italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT +
UkRUk+Wk0precedes-or-equalssuperscriptsubscript𝑈𝑘top𝑅subscript𝑈𝑘subscript𝑊𝑘0\displaystyle U_{k}^{\top}RU_{k}+W_{k}\preceq 0italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⪯ 0

This circumvents the need for recovering the feedback gains Lisubscript𝐿𝑖L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and avoids any inversions of the Vksubscript𝑉𝑘V_{k}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT matrices.

Remark 4

As a final remark, we have used the objective Tr(P)Tr𝑃\mbox{Tr}(P)Tr ( italic_P ), but there are many other options. One such example would be to minimize iviTPvi=iTrP(vivi)subscript𝑖superscriptsubscript𝑣𝑖𝑇𝑃subscript𝑣𝑖subscript𝑖Tr𝑃subscript𝑣𝑖superscriptsubscript𝑣𝑖top\sum_{i}v_{i}^{T}Pv_{i}=\sum_{i}\mbox{Tr}\,P(v_{i}v_{i}^{\top})∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_P italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT Tr italic_P ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ), or to minimize PPF2superscriptsubscriptnorm𝑃subscript𝑃𝐹2\|P-P_{\infty}\|_{F}^{2}∥ italic_P - italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Both are easily expressed as SDPs.

III-D The complete algorithm

We now have all the required components for computing a quadratic upper bound to the cost-to-go that is valid in the maximal control invariant set (and, more generally, in the maximal λ𝜆\lambdaitalic_λ-contractive set). Specifically, we propose to use the following algorithm with λ=1𝜆1\lambda=1italic_λ = 1.

  1. 1.

    Compute 𝒞λsubscriptsuperscript𝒞𝜆\mathcal{C}^{\lambda}_{\infty}caligraphic_C start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT and determine its boundary triangulation (including the vertices) using a convex hull algorithm.

  2. 2.

    Recover admissible vertex controls {ui}subscript𝑢𝑖\{u_{i}\}{ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } that render 𝒞λsubscriptsuperscript𝒞𝜆{\mathcal{C}}^{\lambda}_{\infty}caligraphic_C start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT λ𝜆\lambdaitalic_λ-contractive by solving the linear program (17).

  3. 3.

    Convert {ui}subscript𝑢𝑖\{u_{i}\}{ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } into feedback gains {Li}subscript𝐿𝑖\{L_{i}\}{ italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } such that

    utsubscript𝑢𝑡\displaystyle u_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT =Lkxt for xt𝒮k,k=1,,Nformulae-sequenceabsentsubscript𝐿𝑘subscript𝑥𝑡formulae-sequence for subscript𝑥𝑡subscript𝒮𝑘𝑘1𝑁\displaystyle=-L_{k}x_{t}\quad\mbox{ for }x_{t}\in\mathcal{S}_{k},\;k=1,\dots,N= - italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT for italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ caligraphic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_k = 1 , … , italic_N

    using the procedure in Section III-B.

  4. 4.

    Solve the semidefinite program in Theorem 3 for P𝑃Pitalic_P.

If the algorithm returns a feasible solution P𝑃Pitalic_P, then the receding-horizon control law (12)-(13) with 𝒳T=𝒞λsubscript𝒳𝑇superscriptsubscript𝒞𝜆\mathcal{X}_{T}={\mathcal{C}}_{\infty}^{\lambda}caligraphic_X start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT and QT=Psubscript𝑄𝑇𝑃Q_{T}=Pitalic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = italic_P renders the closed-loop control of the linear system (1) asymptotically stable according to Theorem 1.

Remark 5

Although the proposed procedure is numerical, the new steps that we have introduced rely on convex optimization, are fast and reliable to execute, and do not introduce any conservatism for systems of order n4𝑛4n\leq 4italic_n ≤ 4. Still, since control invariance does not imply asymptotic stabilizability (cf. the discussion in § III-A), we cannot guarantee that the procedure will always find a quadratic upper bound on the infinite-horizon cost-to-go that is valid in the maximal control invariant set. However, with λ<1𝜆1\lambda<1italic_λ < 1, the implicit feedback policy is guaranteed to make the closed loop asymptotically stable and should, in principle, admit a quadratic upper bound on the infinite-horizon cost within the associated maximal λ𝜆\lambdaitalic_λ-contractive set.

III-E Horizon length and linear performance

With the computed terminal cost, the MPC controller will result in an asymptotically stable closed-loop for all horizon lengths. Close to the origin, it will realize the linear state-feedback that is optimal for a T𝑇Titalic_T-horizon linear-quadratic control problem with stage cost defined by Q𝑄Qitalic_Q and R𝑅Ritalic_R, and terminal cost xPxsuperscript𝑥top𝑃𝑥x^{\top}Pxitalic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P italic_x. The fact that the optimal unconstrained control is linear and easy to compute is a distinct advantage over approaches that use more complex terminal costs. It allows us to analyze the frequency domain properties of the controller near the origin, and understand how the horizon length affects the control performance. In particular, if the computed terminal cost matrix P𝑃Pitalic_P is very different from Psubscript𝑃P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT and we use a small horizon length, the linear operation of the MPC controller can be far from the infinite-horizon LQR controller. The difference diminishes with increasing horizon length, and is easy to quantify using the Riccati recursion for the associated finite-horizon LQR problem.

IV Numerical examples

In this section, we will illustrate various aspects of our framework by examples.

IV-A Horizon length and performance

Let us first return to the system in Example 1. The maximal control invariant set 𝒞subscript𝒞{\mathcal{C}}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT has s=39𝑠39s=39italic_s = 39 vertices our procedure finds the terminal cost matrix

QTsubscript𝑄𝑇\displaystyle Q_{T}italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT =(38.6343.1343.14178.5)absentmatrix38.6343.1343.14178.5\displaystyle=\begin{pmatrix}38.6&343.1\\ 343.1&4178.5\end{pmatrix}= ( start_ARG start_ROW start_CELL 38.6 end_CELL start_CELL 343.1 end_CELL end_ROW start_ROW start_CELL 343.1 end_CELL start_CELL 4178.5 end_CELL end_ROW end_ARG )

If we compare this with the Riccati solution

Psubscript𝑃\displaystyle P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT =(8.026.126.1145.3)absentmatrix8.026.126.1145.3\displaystyle=\begin{pmatrix}8.0&26.1\\ 26.1&145.3\end{pmatrix}= ( start_ARG start_ROW start_CELL 8.0 end_CELL start_CELL 26.1 end_CELL end_ROW start_ROW start_CELL 26.1 end_CELL start_CELL 145.3 end_CELL end_ROW end_ARG )

we note an increased incentive for the MPC controller to bring the terminal state closer to rest when we insist to operate within the maximal operating range. To validate our results further, we let x0=(7.991.27)subscript𝑥0matrix7.991.27x_{0}=\begin{pmatrix}7.99&-1.27\end{pmatrix}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = ( start_ARG start_ROW start_CELL 7.99 end_CELL start_CELL - 1.27 end_CELL end_ROW end_ARG ), which is just inside the lower right corner of the maximal control invariant set in Figure 1. Recall that the MPC controller that uses the invariant set of the LQR controller and the terminal cost defined by Psubscript𝑃P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT above requires a planning horizon of at least 26262626 samples to operate from this initial value. In contrast, the simulations shown in Figure 3 show how the MPC controller drives the system to rest for all horizon lengths.

Figure 4 shows the partitions of the corresponding explicit MPC control laws. Here, a lighter color indicates that the local behavior in the region is closer the infinite-horizon LQR controller, with white for perfect agreement and black for saturation. We notice how the linear behavior around x=0𝑥0x=0italic_x = 0 becomes increasingly close to the infinite-horizon LQR controller as the prediction horizon increases.

Refer to caption

Figure 3: The MPC controller with the proposed terminal cost ensures a feasible and stable operation for all horizon lengths.

Refer to caption

Figure 4: Partitions of explicit MPC policies for different T𝑇Titalic_T. Light colors indicate a local behavior close to ut=Lxtsubscript𝑢𝑡subscript𝐿subscript𝑥𝑡u_{t}=-L_{\infty}x_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = - italic_L start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT.

IV-B Stability in absence of terminal set contractivity

Next, we consider the constrained linear system given by

A𝐴\displaystyle Aitalic_A =(0110),B=(01)formulae-sequenceabsentmatrix0110𝐵matrix01\displaystyle=\begin{pmatrix}0&1\\ -1&0\end{pmatrix},\qquad B=\begin{pmatrix}0\\ 1\end{pmatrix}= ( start_ARG start_ROW start_CELL 0 end_CELL start_CELL 1 end_CELL end_ROW start_ROW start_CELL - 1 end_CELL start_CELL 0 end_CELL end_ROW end_ARG ) , italic_B = ( start_ARG start_ROW start_CELL 0 end_CELL end_ROW start_ROW start_CELL 1 end_CELL end_ROW end_ARG )

and 𝒳={x|x5}𝒳conditional-set𝑥subscriptnorm𝑥5\mathcal{X}=\{x\;|\;\|x\|_{\infty}\leq 5\}caligraphic_X = { italic_x | ∥ italic_x ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ≤ 5 } and 𝒰={u||u|1}𝒰conditional-set𝑢𝑢1\mathcal{U}=\{u\;|\;|u|\leq 1\}caligraphic_U = { italic_u | | italic_u | ≤ 1 }. It turns out that the maximal control invariant set 𝒞subscript𝒞\mathcal{C}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT is 𝒳𝒳\mathcal{X}caligraphic_X itself.

Since 𝒞subscript𝒞{\mathcal{C}}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT is not contractive, this system is challenging for approaches such as [14] that use the Minkowski functional of the maximal control invariant set as terminal cost. To see that 𝒞subscript𝒞\mathcal{C}_{\infty}caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT is not contractive, note that xt=(0 5)𝒞subscript𝑥𝑡05subscript𝒞x_{t}=(0\;5)\in\partial\mathcal{C}_{\infty}italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = ( 0 5 ) ∈ ∂ caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT. In addition, the first component of xt+1subscript𝑥𝑡1x_{t+1}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT is equal to 5555 for all utsubscript𝑢𝑡u_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, which means that also xt+1𝒞subscript𝑥𝑡1subscript𝒞x_{t+1}\in\partial\mathcal{C}_{\infty}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT ∈ ∂ caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT. Hence, the set is not contractive, and the corresponding Minkowski functional will not decrease for all x𝒞𝑥subscript𝒞x\in{\mathcal{C}}_{\infty}italic_x ∈ caligraphic_C start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT.

However, the system admits a quadratic terminal cost that can be found by the approach developed in this paper. With Q=I𝑄𝐼Q=Iitalic_Q = italic_I and R=1𝑅1R=1italic_R = 1, the algorithm in Setion III-D returns

QTsubscript𝑄𝑇\displaystyle Q_{T}italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT =(9.650.500.5010.67)absentmatrix9.650.500.5010.67\displaystyle=\begin{pmatrix}9.65&0.50\\ 0.50&10.67\end{pmatrix}= ( start_ARG start_ROW start_CELL 9.65 end_CELL start_CELL 0.50 end_CELL end_ROW start_ROW start_CELL 0.50 end_CELL start_CELL 10.67 end_CELL end_ROW end_ARG )

which is the infinite-horizon cost-to-go for the feedback law ut=(0.10.1)xtsubscript𝑢𝑡0.10.1subscript𝑥𝑡u_{t}=(0.1\,-0.1)x_{t}italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = ( 0.1 - 0.1 ) italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. In fact, all state feedback laws on the form ut=(l1l2)xsubscript𝑢𝑡matrixsubscript𝑙1subscript𝑙2𝑥u_{t}=-\begin{pmatrix}l_{1}&l_{2}\end{pmatrix}xitalic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = - ( start_ARG start_ROW start_CELL italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) italic_x with |l1+0.1|+|l2|0.1subscript𝑙10.1subscript𝑙20.1|l_{1}+0.1|+|l_{2}|\leq 0.1| italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 0.1 | + | italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | ≤ 0.1 and l1subscript𝑙1l_{1}italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and l2subscript𝑙2l_{2}italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT not both equal to zero are admissible in 𝒳𝒳{\mathcal{X}}caligraphic_X, render the closed-loop system asymptotically stable and 𝒳𝒳{\mathcal{X}}caligraphic_X invariant.

IV-C A higher-order system

As another example, we consider the system

xt+1subscript𝑥𝑡1\displaystyle x_{t+1}italic_x start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT =(0.480.450.380.130.520.540.580.320.40)xt+(0.150.000.14)utabsentmatrix0.480.450.380.130.520.540.580.320.40subscript𝑥𝑡matrix0.150.000.14subscript𝑢𝑡\displaystyle=\begin{pmatrix}0.48&0.45&0.38\\ -0.13&0.52&-0.54\\ -0.58&0.32&0.40\end{pmatrix}x_{t}+\begin{pmatrix}0.15\\ 0.00\\ 0.14\end{pmatrix}u_{t}= ( start_ARG start_ROW start_CELL 0.48 end_CELL start_CELL 0.45 end_CELL start_CELL 0.38 end_CELL end_ROW start_ROW start_CELL - 0.13 end_CELL start_CELL 0.52 end_CELL start_CELL - 0.54 end_CELL end_ROW start_ROW start_CELL - 0.58 end_CELL start_CELL 0.32 end_CELL start_CELL 0.40 end_CELL end_ROW end_ARG ) italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT + ( start_ARG start_ROW start_CELL 0.15 end_CELL end_ROW start_ROW start_CELL 0.00 end_CELL end_ROW start_ROW start_CELL 0.14 end_CELL end_ROW end_ARG ) italic_u start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT

with cost given by Q=10I𝑄10𝐼Q=10Iitalic_Q = 10 italic_I and R=1𝑅1R=1italic_R = 1, and constraints 𝒳={x|x10}𝒳conditional-set𝑥subscriptnorm𝑥10\mathcal{X}=\{x\;|\;\|x\|_{\infty}\leq 10\}caligraphic_X = { italic_x | ∥ italic_x ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ≤ 10 } and 𝒰={u|u1}𝒰conditional-set𝑢subscriptnorm𝑢1\mathcal{U}=\{u\;|\;\|u\|_{\infty}\leq 1\}caligraphic_U = { italic_u | ∥ italic_u ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ≤ 1 }. In this case, the maximal control invariant set is much larger (a factor 500x) in volume than the invariant set of the LQR controller, see Figure 5.

Refer to caption

Figure 5: Maximal invariant set is much larger than the invariant set of the LQR controller.

Yet, the quadratic upper bounds are quite similar: our procedure finds

QTsubscript𝑄𝑇\displaystyle Q_{T}italic_Q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT =(23.981.691.031.6923.250.781.030.7824.65)absentmatrix23.981.691.031.6923.250.781.030.7824.65\displaystyle=\begin{pmatrix}23.98&-1.69&1.03\\ -1.69&23.25&0.78\\ 1.03&0.78&24.65\end{pmatrix}= ( start_ARG start_ROW start_CELL 23.98 end_CELL start_CELL - 1.69 end_CELL start_CELL 1.03 end_CELL end_ROW start_ROW start_CELL - 1.69 end_CELL start_CELL 23.25 end_CELL start_CELL 0.78 end_CELL end_ROW start_ROW start_CELL 1.03 end_CELL start_CELL 0.78 end_CELL start_CELL 24.65 end_CELL end_ROW end_ARG )

while the Riccati solution is

Psubscript𝑃\displaystyle P_{\infty}italic_P start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT =(21.180.590.040.5918.211.950.041.9518.97)absentmatrix21.180.590.040.5918.211.950.041.9518.97\displaystyle=\begin{pmatrix}21.18&0.59&0.04\\ 0.59&18.21&-1.95\\ 0.04&-1.95&18.97\end{pmatrix}= ( start_ARG start_ROW start_CELL 21.18 end_CELL start_CELL 0.59 end_CELL start_CELL 0.04 end_CELL end_ROW start_ROW start_CELL 0.59 end_CELL start_CELL 18.21 end_CELL start_CELL - 1.95 end_CELL end_ROW start_ROW start_CELL 0.04 end_CELL start_CELL - 1.95 end_CELL start_CELL 18.97 end_CELL end_ROW end_ARG )

We simulate the closed-loop system from x0=(10100)subscript𝑥0superscriptmatrix10100topx_{0}=\begin{pmatrix}-10&10&0\end{pmatrix}^{\top}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = ( start_ARG start_ROW start_CELL - 10 end_CELL start_CELL 10 end_CELL start_CELL 0 end_CELL end_ROW end_ARG ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. The MPC controller based on the LQR invariant set and terminal cost requires a horizon of T=10𝑇10T=10italic_T = 10 for this initial value, and yields the closed-loop response shown in Figure 6. When we use the maximal control invariant set and our upper bound cost, on the other hand, we can use all horizon lengths and get practically indistinguishable responses even for T=1𝑇1T=1italic_T = 1.

Refer to caption

Figure 6: Initial value responses for MPC controller with terminal penalty and terminal cost defined by LQR solution and horizon T=10𝑇10T=10italic_T = 10 (the minimal horizon required).

V Conclusions

We have presented a numerical procedure for computing a quadratic cost-to-go for linear MPC controllers that is valid for the maximal control invariant sets. This results in the largest possible set of recursively feasible states for the MPC controller, while the closed-loop stability follows from the standard stability proof for linear MPC.

We believe that the suggested procedure could be adapted to many scenarios beyond linear MPC and maximal control invariant sets. In essence, the approach only relies on our ability to compute a control invariant set (not necessarily the maximal one), recover admissible vertex controls, and to interpolate these into a piecewise linear feedback law. We leave such extensions as future work.

References

  • [1] A. I. Propoi. Application of linear programming methods for the synthesis of automatic sampled-data systems. Avtomat. i Telemekh, 24(7):912–920, 1963.
  • [2] J. Richalet, A. Rault, J.L. Testud, and J. Papon. Model algorithmic control of industrial processes. IFAC Proceedings Volumes, 10(16):103–120, 1977. Preprints of the 5th IFAC/IFIP International Conference on Digital Computer Applications to Process Control, The Hague, The Netherlands, 1977.
  • [3] D.Q. Mayne, J.B. Rawlings, C.V. Rao, and P.O.M. Scokaert. Constrained model predictive control: Stability and optimality. Automatica, 36(6):789–814, 2000.
  • [4] A. Bemporad, M. Morari, V. Dua, and E.N. Pistikopoulos. The explicit linear quadratic regulator for constrained systems. Automatica, 38(1):3–20, 2002.
  • [5] H.J. Ferreau, C. Kirches, A. Potschka, H.G. Bock, and M. Diehl. qpOASES: A parametric active-set algorithm for quadratic programming. Mathematical Programming Computation, 6(4):327–363, 2014.
  • [6] B. Stellato, G. Banjac, P. Goulart, A. Bemporad, and S. Boyd. OSQP: an operator splitting solver for quadratic programs. Mathematical Programming Computation, 12(4):637–672, 2020.
  • [7] S. V. Rakovic and W. S. Levine. Handbook of Model Predictive Control. Birkhäuser Basel, 2018.
  • [8] F. Borrelli, A. Bemporad, and M. Morari. Predictive Control for Linear and Hybrid Systems. Cambridge University Press, USA, 2017.
  • [9] B. Kouvaritakis and M. Cannon. Model Predictive Control. Advanced Textbooks in Control and Signal Processing. Springer International Publishing, 2016.
  • [10] D.Q. Mayne, J.B. Rawlings, C.V. Rao, and P.O.M. Scokaert. Constrained model predictive control: Stability and optimality. Automatica, 36(6):789–814, 2000.
  • [11] F. Blanchini. Set invariance in control. Automatica, 35(11):1747–1767, 1999.
  • [12] J.A. De Doná, M.M. Seron, D.Q. Mayne, and G.C. Goodwin. Enlarged terminal sets guaranteeing stability of receding horizon control. Systems & Control Letters, 47(1):57–63, 2002.
  • [13] F. Brunner, M. Lazar, and F. Allgöwer. Computation of piecewise affine terminal cost functions for model predictive control. In Proceedings of the 17th International Conference on Hybrid Systems: Computation and Control, HSCC ’14, page 1–10, New York, NY, USA, 2014. Association for Computing Machinery.
  • [14] S. Grammatico and G. Pannocchia. Achieving a large domain of attraction with short-horizon linear MPC via polyhedral Lyapunov functions. In 2013 European Control Conference (ECC), 2013.
  • [15] M. Schulze Darup and M. Mönnigmann. A stabilizing control scheme for linear systems on controlled invariant sets. Systems & Control Letters, 79:8–14, 2015.
  • [16] P.O.M. Scokaert and J.B. Rawlings. Constrained linear quadratic regulation. IEEE Transactions on Automatic Control, 43(8):1163–1169, 1998.
  • [17] E.G. Gilbert and K.T. Tan. Linear systems with state and control constraints: the theory and application of maximal output admissible sets. IEEE Transactions on Automatic Control, 36(9):1008–1020, 1991.
  • [18] F. Blanchini. Ultimate boundedness control for uncertain discrete-time systems via set-induced Lyapunov functions. IEEE Transactions on Automatic Control, 39(2):428–433, 1994.
  • [19] Moritz Schulze Darup and Mark Cannon. On the computation of λ𝜆\lambdaitalic_λ- contractive sets for linear constrained systems. IEEE Transactions on Automatic Control, 62(3):1498–1504, 2017.
  • [20] P.-O. Gutman and M. Cwikel. Admissible sets and feedback control for discrete-time linear dynamical systems with bounded controls and states. IEEE Transactions on Automatic Control, 31(4):373–376, 1986.
  • [21] B. Büeler, A. Enge, and K. Fukuda. Exact Volume Computation for Polytopes: A Practical Study, pages 131–154. Birkhäuser Basel, Basel, 2000.
  • [22] M. Johansson and A. Rantzer. Computation of piecewise quadratic Lyapunov functions for hybrid systems. IEEE Transactions on Automatic Control, 43(4):555–559, 1998.
  • [23] M. Johansson. Piecewise linear control systems - a computational approach. Sprinver Verlag, 2002.