Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Remote Tube-based MPC for Tracking Over Lossy Networks

David Umsonst and Fernando S. Barbosa \dagger Ericsson Research, Stockholm, Sweden.
{david.umsonst, fernando.dos.santos.barbosa}@ericsson.com
Abstract

This paper addresses the problem of controlling constrained systems subject to disturbances in the case where controller and system are connected over a lossy network. To do so, we propose a novel framework that splits the concept of tube-based model predictive control into two parts. One runs locally on the system and is responsible for disturbance rejection, while the other runs remotely and provides optimal input trajectories that satisfy the system’s state and input constraints. Key to our approach is the presence of a nominal model and an ancillary controller on the local system. Theoretical guarantees regarding the recursive feasibility and the tracking capabilities in the presence of disturbances and packet losses in both directions are provided. To test the efficacy of the proposed approach, we compare it to a state-of-the-art solution in the case of controlling a cartpole system. Extensive simulations are carried out with both linearized and nonlinear system dynamics, as well as different packet loss probabilities and disturbances. The code for this work is available at https://github.com/EricssonResearch/Robust-Tracking-MPC-over-Lossy-Networks

© 2024 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.

I Introduction

Wireless communication has evolved to enable higher and faster data transfer, with 5G being envisioned as being a key enabler of Industry 4.0 [1, 2] and of mass digitalization. Looking into control systems and robotics in general, faster and more reliable wireless communication enables plants and systems to be controlled remotely, utilizing edge and cloud computing, in a so-called offloaded control [3]. Running heavy-processing components remotely allows industries to save costs with cabling and processing power in the plant, easier integration of autonomous mobile agents in the industrial floor, and also a reduced energy consumption on battery-powered agents.

However, any wireless network is subject to imperfections and constraints. The former means that it can present delays, packet drops, and even longer outages. The latter implies that its resources, such as throughput and load, are constrained. These two factors are specially precarious for time- and safey-critical systems, such as unstable plants, mobile robots and autonomous cars [4].

A popular approach to address the problem of stabilization under safety and actuator constraints is Model Predictive Control (MPC) [5], since such constraints can be explicitly accounted for in its formulation. Several approaches have been proposed to make MPC robust to network imperfection. Looking specifically into the stabilization problem, [6] considers a bound on the amount of consecutively lost packets, while [7] considers bounded delay. Moving to trajectory tracking problems, [8] assumes Bernoulli distributed packet loss, while [9] only assumes that from time to time there are consecutive successful packet deliveries from the plant to the controller and back. In addition to network imperfections, [7] considers a bounded disturbance and [8] considers an unbounded zero mean stochastic disturbance acting on the plant.

Extensive research has been carried out on MPC that disregards the effects of imperfect communication, either because the controller is running onboard or because perfect communication was assumed, but can handle local disturbances. Limon et al. [10] propose a robust tracking MPC that keeps the plant state in a bounded neighborhood of the nominal plant state, while tracking a constant reference. Here, the nominal plant represents the plant dynamics without a disturbance present. Roque et al. [11] combine control barrier function with the nominal system to guarantee that the continuous system is within a bounded neighborhood of the desired reference in between discrete controller updates. Neither [10] nor [11] can handle network imperfections.

In our work, we combine the mild network assumptions of [9] with the disturbance rejection of [10] to develop a novel remote tracking MPC framework. This framework guarantees the satisfaction of state and actuator constraints in the presence of a local disturbance and a lossy network. The key idea is to use a nominal model on the local plant to simulate the nominal plant state in case of packet losses. This nominal plant state allows us to reduce the bandwidth by sending only control input trajectories over the network and it is used in an ancillary controller to reject the disturbance. This allows us to handle both packet losses and local disturbances. Furthermore, the code for our approach is available online.111https://github.com/EricssonResearch/Robust-Tracking-MPC-over-Lossy-Networks

Notation: Let xn𝑥superscript𝑛x\in\mathbb{R}^{n}italic_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT and An×m𝐴superscript𝑛𝑚A\in\mathbb{R}^{n\times m}italic_A ∈ blackboard_R start_POSTSUPERSCRIPT italic_n × italic_m end_POSTSUPERSCRIPT be a real-valued n𝑛nitalic_n-dimensional column vector and matrix with n𝑛nitalic_n rows and m𝑚mitalic_m columns, respectively. The transpose of a vector x𝑥xitalic_x and matrix A𝐴Aitalic_A are xsuperscript𝑥topx^{\top}italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT and Asuperscript𝐴topA^{\top}italic_A start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, respectively. The spectral radius and matrix square root of a square matrix A𝐴Aitalic_A are denoted by ρ(A)𝜌𝐴\rho(A)italic_ρ ( italic_A ) and A12superscript𝐴12A^{\frac{1}{2}}italic_A start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT, respectively. The n𝑛nitalic_n dimensional identity matrix is denoted by Insubscript𝐼𝑛I_{n}italic_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, while 00 denotes a scalar, vector, or matrix with zero elements of appropriate dimensions. A symmetric and square positive (semi-)definite matrix A𝐴Aitalic_A is denoted by A>0(A0)𝐴0𝐴0A>0(A\geq 0)italic_A > 0 ( italic_A ≥ 0 ) and we use xA2=xAxsuperscriptsubscriptnorm𝑥𝐴2superscript𝑥top𝐴𝑥\|x\|_{A}^{2}=x^{\top}Ax∥ italic_x ∥ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_A italic_x. For a set \mathbb{P}blackboard_P and a matrix A𝐴Aitalic_A of appropriate dimension, we define A={Ap|p}𝐴conditional-set𝐴𝑝𝑝A\mathbb{P}=\{Ap\ |\ p\in\mathbb{P}\}italic_A blackboard_P = { italic_A italic_p | italic_p ∈ blackboard_P }. For two sets \mathbb{P}blackboard_P and \mathbb{Q}blackboard_Q, the Minkowski sum and the Pontryagin difference are denoted as direct-sum\mathbb{P}\oplus\mathbb{Q}blackboard_P ⊕ blackboard_Q and symmetric-difference\mathbb{P}\ominus\mathbb{Q}blackboard_P ⊖ blackboard_Q, respectively. The probability of an event E𝐸Eitalic_E is denoted by Prob(E)Prob𝐸\mathrm{Prob}(E)roman_Prob ( italic_E ).

II Problem Definition

A block diagram summarizing the components involved in our setup is presented in Figure 1. In what follows in this section, we describe such components and formulate the problem addressed in this paper.

Refer to caption
Figure 1: Block diagram of the problem setup

II-1 Network

Local plant and remote controller communicate via a potentially lossy network, in which network packets can be lost in both directions. Reasons for a lost packet include a large transmission delay, a packet drop in the network, reordering, or a short network outage. To model these packet losses, we introduce two variables: θksubscript𝜃𝑘\theta_{k}italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and γksubscript𝛾𝑘\gamma_{k}italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. The variable θk{0,1}subscript𝜃𝑘01\theta_{k}\in\{0,1\}italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ { 0 , 1 } indicates whether the local plant has received the packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT or not, i.e., θk=1subscript𝜃𝑘1\theta_{k}=1italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 if Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, sent from the remote controller at time step k𝑘kitalic_k, has been received at the local plant, and θk=0subscript𝜃𝑘0\theta_{k}=0italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 otherwise. Similarly, the variable γk{0,1}subscript𝛾𝑘01\gamma_{k}\in\{0,1\}italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ { 0 , 1 } indicates that the packet Xksubscript𝑋𝑘X_{k}italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT sent from the local plant has been received at the remote controller (γk=1subscript𝛾𝑘1\gamma_{k}=1italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1) or not (γk=0subscript𝛾𝑘0\gamma_{k}~{}=~{}0italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0).

Assumption 1.

Over time, there is an infinite amount of two successful consecutive transmissions from plant to controller and controller to plant, i.e.,

Prob(tk{γt1θt=0})=0k0.Probsubscript𝑡𝑘subscript𝛾𝑡1subscript𝜃𝑡00for-all𝑘0\mathrm{Prob}(\cap_{t\geq k}\{\gamma_{t-1}\theta_{t}=0\})=0\ \forall\ k\geq 0.roman_Prob ( ∩ start_POSTSUBSCRIPT italic_t ≥ italic_k end_POSTSUBSCRIPT { italic_γ start_POSTSUBSCRIPT italic_t - 1 end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = 0 } ) = 0 ∀ italic_k ≥ 0 . (1)

This assumption is as in [9], and does not put any major restrictions on the reasons for the packet loss, such as a fixed distribution or a maximum amount of lost packets in a row.

II-2 Local plant

Consider a linear time-invariant discrete-time plant with additive disturbance given by

x(k+1)𝑥𝑘1\displaystyle x(k+1)italic_x ( italic_k + 1 ) =Ax(k)+Bu(k)+w(k),absent𝐴𝑥𝑘𝐵𝑢𝑘𝑤𝑘\displaystyle=Ax(k)+Bu(k)+w(k),= italic_A italic_x ( italic_k ) + italic_B italic_u ( italic_k ) + italic_w ( italic_k ) , (2)
y(k)𝑦𝑘\displaystyle y(k)italic_y ( italic_k ) =Cx(k),absent𝐶𝑥𝑘\displaystyle=Cx(k),= italic_C italic_x ( italic_k ) ,

where x(k)nx𝑥𝑘superscriptsubscript𝑛𝑥x(k)\in\mathbb{R}^{n_{x}}italic_x ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, u(k)nu𝑢𝑘superscriptsubscript𝑛𝑢u(k)\in\mathbb{R}^{n_{u}}italic_u ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, y(k)ny𝑦𝑘superscriptsubscript𝑛𝑦y(k)\in\mathbb{R}^{n_{y}}italic_y ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT end_POSTSUPERSCRIPT and w(k)nx𝑤𝑘superscriptsubscript𝑛𝑥{w(k)\in\mathbb{R}^{n_{x}}}italic_w ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT are the plant’s state, control input, output, and disturbance at time step k0𝑘subscriptabsent0k\in\mathbb{N}_{\geq 0}italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT, respectively. Here, Anx×nx𝐴superscriptsubscript𝑛𝑥subscript𝑛𝑥{A\in\mathbb{R}^{n_{x}\times n_{x}}}italic_A ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, Bnx×nu𝐵superscriptsubscript𝑛𝑥subscript𝑛𝑢{B\in\mathbb{R}^{n_{x}\times n_{u}}}italic_B ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, and Cny×nx𝐶superscriptsubscript𝑛𝑦subscript𝑛𝑥C\in\mathbb{R}^{n_{y}\times n_{x}}italic_C ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT are the system, input, and output matrices, respectively.

Assumption 2.

The system (A,B)𝐴𝐵(A,B)( italic_A , italic_B ) is stabilizable.

This assumption is necessary to be able to design a controller that stabilizes the plant (2).

Assumption 3.

The disturbance is bounded by a compact set 𝕎𝕎\mathbb{W}blackboard_W, such that w(k)𝕎𝑤𝑘𝕎w(k)\in\mathbb{W}italic_w ( italic_k ) ∈ blackboard_W for all k𝑘kitalic_k, where

𝕎={wnx|Hwwhw},𝕎conditional-set𝑤superscriptsubscript𝑛𝑥subscript𝐻𝑤𝑤subscript𝑤\mathbb{W}=\{w\in\mathbb{R}^{n_{x}}\ |\ H_{w}w\leq h_{w}\},blackboard_W = { italic_w ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | italic_H start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT italic_w ≤ italic_h start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT } , (3)

and 𝕎𝕎\mathbb{W}blackboard_W contains the origin in its interior.

This assumption confines the disturbance to a bounded set, which could, for example, depend on the modelling errors.

Furthermore, we also consider constraints in state x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and input u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U. These sets indicate, for example, safe set of states in which the plant should evolve, and actuator saturation. If x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U, x(k)𝑥𝑘x(k)italic_x ( italic_k ) and u(k)𝑢𝑘u(k)italic_u ( italic_k ) are called admissible.

Assumption 4.

The sets 𝕏𝕏\mathbb{X}blackboard_X and 𝕌𝕌\mathbb{U}blackboard_U are bounded sets containing the origin in their interior and are defined as

𝕏𝕏\displaystyle\mathbb{X}blackboard_X ={xnx|Hxxhx},absentconditional-set𝑥superscriptsubscript𝑛𝑥subscript𝐻𝑥𝑥subscript𝑥\displaystyle=\{x\in\mathbb{R}^{n_{x}}\ |\ H_{x}x\leq h_{x}\},= { italic_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | italic_H start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_x ≤ italic_h start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT } , (4)
𝕌𝕌\displaystyle\mathbb{U}blackboard_U ={unu|Huuhu}.absentconditional-set𝑢superscriptsubscript𝑛𝑢subscript𝐻𝑢𝑢subscript𝑢\displaystyle=\{u\in\mathbb{R}^{n_{u}}\ |\ H_{u}u\leq h_{u}\}.= { italic_u ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | italic_H start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT italic_u ≤ italic_h start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT } . (5)

The control input is determined as u(k)=f(x(k),{Ui}i=0k,{θi}i=0k)𝑢𝑘𝑓𝑥𝑘superscriptsubscriptsubscript𝑈𝑖𝑖0𝑘superscriptsubscriptsubscript𝜃𝑖𝑖0𝑘{u(k)=f(x(k),\{U_{i}\}_{i=0}^{k},\{\theta_{i}\}_{i=0}^{k})}italic_u ( italic_k ) = italic_f ( italic_x ( italic_k ) , { italic_U start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT , { italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ), where {Ui}i=0ksuperscriptsubscriptsubscript𝑈𝑖𝑖0𝑘\{U_{i}\}_{i=0}^{k}{ italic_U start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT and {θi}i=0ksuperscriptsubscriptsubscript𝜃𝑖𝑖0𝑘\{\theta_{i}\}_{i=0}^{k}{ italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT are the sequence of packets sent from the remote controller to the local plant and the binary sequence indicating the successful transmission of them, respectively. Note that this function can make use of all previously received packets.

II-3 Remote Controller

The remote controller is used to determine the controller packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT based on the received packets Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the desired reference xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT. More formally the controller is defined as g({Ui}i=0k1,{Xi}i=0k1,{γi}i=0k1,xr)𝑔superscriptsubscriptsubscript𝑈𝑖𝑖0𝑘1superscriptsubscriptsubscript𝑋𝑖𝑖0𝑘1superscriptsubscriptsubscript𝛾𝑖𝑖0𝑘1subscript𝑥𝑟g(\{U_{i}\}_{i=0}^{k-1},\{X_{i}\}_{i=0}^{k-1},\{\gamma_{i}\}_{i=0}^{k-1},x_{r})italic_g ( { italic_U start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT , { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT , { italic_γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT , italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ), which has access to all previous controller packets and can make use of all previously received plant packets. Here, {Xi}i=0k1superscriptsubscriptsubscript𝑋𝑖𝑖0𝑘1\{X_{i}\}_{i=0}^{k-1}{ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT and {γi}i=0k1superscriptsubscriptsubscript𝛾𝑖𝑖0𝑘1\{\gamma_{i}\}_{i=0}^{k-1}{ italic_γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT are defined similarly as {Ui}i=0ksuperscriptsubscriptsubscript𝑈𝑖𝑖0𝑘\{U_{i}\}_{i=0}^{k}{ italic_U start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT and {θi}i=0ksuperscriptsubscriptsubscript𝜃𝑖𝑖0𝑘\{\theta_{i}\}_{i=0}^{k}{ italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT above.

II-4 Problem Formulation

Now that all the components are defined, let us formulate the problem we want to solve.

Problem 1.

Given a local plant (2), design f()𝑓f(\cdot)italic_f ( ⋅ ) and g()𝑔g(\cdot)italic_g ( ⋅ ) such that i) state and input constraints are respected, i.e. x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U for k0𝑘0k\geq 0italic_k ≥ 0, and ii) x(k)𝑥𝑘x(k)italic_x ( italic_k ) converges to a bounded neighborhood of reference xr(k)nxsubscript𝑥𝑟𝑘superscriptsubscript𝑛𝑥x_{r}(k)\in\mathbb{R}^{n_{x}}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, despite the lossy network and the disturbance w(k)𝑤𝑘w(k)italic_w ( italic_k ).

III Preliminaries

In the previous section, we have set up our problem and and now we will present several preliminaries, found, e.g., in [9, 10, 12], necessary for our proposed approach. This section introduces the nominal plant dynamics, i.e. the plant dynamics without an additive disturbance, the error between the actual and the nominal plant state, as well as the steady-state behaviour of the nominal plant.

III-1 Nominal plant

The nominal plant [12] is given by

xn(k+1)subscript𝑥n𝑘1\displaystyle x_{\text{n}}(k+1)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k + 1 ) =Axn(k)+Bun(k),absent𝐴subscript𝑥n𝑘𝐵subscript𝑢n𝑘\displaystyle=Ax_{\text{n}}(k)+Bu_{\text{n}}(k),= italic_A italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) + italic_B italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) , (6)
yn(k)subscript𝑦n𝑘\displaystyle y_{\text{n}}(k)italic_y start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) =Cxn(k),absent𝐶subscript𝑥n𝑘\displaystyle=Cx_{\text{n}}(k),= italic_C italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ,

where xn(k)nxsubscript𝑥n𝑘superscriptsubscript𝑛𝑥x_{\text{n}}(k)\in\mathbb{R}^{n_{x}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, un(k)nusubscript𝑢n𝑘superscriptsubscript𝑛𝑢u_{\text{n}}(k)\in\mathbb{R}^{n_{u}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, and yn(k)nysubscript𝑦n𝑘superscriptsubscript𝑛𝑦y_{\text{n}}(k)\in\mathbb{R}^{n_{y}}italic_y start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT end_POSTSUPERSCRIPT are the nominal state, the nominal control input, and the nominal output, respectively. Due to the disturbance w(k)𝑤𝑘w(k)italic_w ( italic_k ) in (2), the plant state differs from the nominal state and subsequently we want to show how close the plant state is to the nominal state. To do so, we introduce the error e(k)=x(k)xn(k)𝑒𝑘𝑥𝑘subscript𝑥n𝑘e(k)=x(k)-x_{\text{n}}(k)italic_e ( italic_k ) = italic_x ( italic_k ) - italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ).

If A𝐴Aitalic_A is unstable, then the error will diverge such that the plant state is not close to the nominal state. To prevent that, we introduce an ancillary controller, which will be used by the plant to track the nominal state. The ancillary controller is given by

u(k)=un(k)K(x(k)xn(k)),𝑢𝑘subscript𝑢n𝑘𝐾𝑥𝑘subscript𝑥n𝑘u(k)=u_{\text{n}}(k)-K\left(x(k)-x_{\text{n}}(k)\right),italic_u ( italic_k ) = italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) - italic_K ( italic_x ( italic_k ) - italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ) , (7)

where Knu×nx𝐾superscriptsubscript𝑛𝑢subscript𝑛𝑥K\in\mathbb{R}^{n_{u}\times n_{x}}italic_K ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT is a linear state feedback controller chosen such that ρ(ABK)<1𝜌𝐴𝐵𝐾1\rho(A-BK)<1italic_ρ ( italic_A - italic_B italic_K ) < 1, which is possible due to Assumption 2. Note that if the system matrix A𝐴Aitalic_A is stable, i.e., ρ(A)<1𝜌𝐴1\rho(A)<1italic_ρ ( italic_A ) < 1, then we could choose K=0𝐾0K=0italic_K = 0.

When the plant uses the ancillary controller (7), we obtain the following error dynamics

e(k+1)=(ABK)e(k)+w(k).𝑒𝑘1𝐴𝐵𝐾𝑒𝑘𝑤𝑘e(k+1)=(A-BK)e(k)+w(k).italic_e ( italic_k + 1 ) = ( italic_A - italic_B italic_K ) italic_e ( italic_k ) + italic_w ( italic_k ) . (8)

The evolution of e(k)𝑒𝑘e(k)italic_e ( italic_k ) is bounded, because 𝕎𝕎\mathbb{W}blackboard_W is a compact set and ABK𝐴𝐵𝐾A-BKitalic_A - italic_B italic_K is stable [13].

We introduce the minimal robust positively invariant set [14] to determine the bounded set in which e(k)𝑒𝑘e(k)italic_e ( italic_k ) evolves as

K=i=0(ABK)i𝕎.subscript𝐾superscriptsubscriptdirect-sum𝑖0superscript𝐴𝐵𝐾𝑖𝕎\mathbb{Z}_{K}=\bigoplus_{i=0}^{\infty}(A-BK)^{i}\mathbb{W}.blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT = ⨁ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT ( italic_A - italic_B italic_K ) start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT blackboard_W . (9)

It is guaranteed that (ABK)K𝕎Kdirect-sum𝐴𝐵𝐾subscript𝐾𝕎subscript𝐾(A-BK)\mathbb{Z}_{K}\oplus\mathbb{W}\subseteq\mathbb{Z}_{K}( italic_A - italic_B italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊕ blackboard_W ⊆ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, i.e., if e(k0)K𝑒subscript𝑘0subscript𝐾{e(k_{0})\in\mathbb{Z}_{K}}italic_e ( italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∈ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, then e(k)K𝑒𝑘subscript𝐾e(k)\in\mathbb{Z}_{K}italic_e ( italic_k ) ∈ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT for all k>k0𝑘subscript𝑘0k>k_{0}italic_k > italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Since 0𝕎0𝕎0\in\mathbb{W}0 ∈ blackboard_W, we have 0K0subscript𝐾0\in\mathbb{Z}_{K}0 ∈ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT [14]. The set Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT can be overapproximated with, for example, the methods proposed in [14] and [15].

With Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT defined, it is known that [12]

x(k){xn(k)}Kk>0,𝑥𝑘direct-sumsubscript𝑥n𝑘subscript𝐾for-all𝑘0x(k)\in\{x_{\text{n}}(k)\}\oplus\mathbb{Z}_{K}\ \forall k>0,italic_x ( italic_k ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ∀ italic_k > 0 , (10)

given that x(0){xn(0)}K𝑥0direct-sumsubscript𝑥n0subscript𝐾x(0)\in\{x_{\text{n}}(0)\}\oplus\mathbb{Z}_{K}italic_x ( 0 ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( 0 ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT This means that the plant state evolves in a bounded neighborhood Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT around the nominal state. This bounded neighborhood is often called a tube. The size of Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT depends on the ancillary controller K𝐾Kitalic_K, so that the ancillary controller determines how close the plant state will track the nominal state. Similarly, we obtain

u(k){un(k)}(K)K,𝑢𝑘direct-sumsubscript𝑢n𝑘𝐾subscript𝐾u(k)\in\{u_{\text{n}}(k)\}\oplus(-K)\mathbb{Z}_{K},italic_u ( italic_k ) ∈ { italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ ( - italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT , (11)

which means that the control input also evolves in a bounded neighborhood around the nominal control input.

Therefore, we will introduce tightened constraint sets [12] in which the nominal state and input trajectory should evolve, i.e., xn(k)𝕏csubscript𝑥n𝑘subscript𝕏c{x_{\text{n}}(k)\in\mathbb{X}_{\text{c}}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and un(k)𝕌csubscript𝑢n𝑘subscript𝕌c{u_{\text{n}}(k)\in\mathbb{U}_{\text{c}}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, which guarantee that the plant state and input trajectories evolve in the sets 𝕏𝕏\mathbb{X}blackboard_X and 𝕌𝕌\mathbb{U}blackboard_U, respectively. We define the tightened sets 𝕏c=𝕏Ksubscript𝕏csymmetric-difference𝕏subscript𝐾\mathbb{X}_{\text{c}}=\mathbb{X}\ominus\mathbb{Z}_{K}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT = blackboard_X ⊖ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT and 𝕌c=𝕌(K)Ksubscript𝕌csymmetric-difference𝕌𝐾subscript𝐾{\mathbb{U}_{\text{c}}=\mathbb{U}\ominus(-K)\mathbb{Z}_{K}}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT = blackboard_U ⊖ ( - italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, which guarantee that 𝕏cK𝕏direct-sumsubscript𝕏csubscript𝐾𝕏\mathbb{X}_{\text{c}}\oplus\mathbb{Z}_{K}\subseteq\mathbb{X}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_X and 𝕌c(K)K𝕌direct-sumsubscript𝕌c𝐾subscript𝐾𝕌\mathbb{U}_{\text{c}}\oplus(-K)\mathbb{Z}_{K}\subseteq\mathbb{U}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT ⊕ ( - italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_U.

III-2 Steady-state behavior

Next, we look into the steady-states of the nominal plant [10, 9] and how to control the nominal plant towards a steady state while guaranteeing that the nominal state and input remain in 𝕏csubscript𝕏c\mathbb{X}_{\text{c}}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and 𝕌csubscript𝕌c\mathbb{U}_{\text{c}}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, respectively.

The steady-state equations of (6) are given by

[AInxB][x¯u¯]=0,matrix𝐴subscript𝐼subscript𝑛𝑥𝐵matrix¯𝑥¯𝑢0\displaystyle\begin{bmatrix}A-I_{n_{x}}&B\end{bmatrix}\begin{bmatrix}\bar{x}\\ \bar{u}\end{bmatrix}=0,[ start_ARG start_ROW start_CELL italic_A - italic_I start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL start_CELL italic_B end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL over¯ start_ARG italic_x end_ARG end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_u end_ARG end_CELL end_ROW end_ARG ] = 0 , (12)

which have a solution due to Assumption 2. Here, x¯nx¯𝑥superscriptsubscript𝑛𝑥\bar{x}~{}\in~{}\mathbb{R}^{n_{x}}over¯ start_ARG italic_x end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT and u¯nu¯𝑢superscriptsubscript𝑛𝑢\bar{u}\in\mathbb{R}^{n_{u}}over¯ start_ARG italic_u end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT are a steady state and steady-state input, respectively. To control the nominal system towards the steady state, we introduce the state feedback controller K¯nx×nu¯𝐾superscriptsubscript𝑛𝑥subscript𝑛𝑢{\bar{K}\in\mathbb{R}^{n_{x}\times n_{u}}}over¯ start_ARG italic_K end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT for the nominal plant

un(k)=u¯K¯(xn(k)x¯),subscript𝑢n𝑘¯𝑢¯𝐾subscript𝑥n𝑘¯𝑥u_{\text{n}}(k)=\bar{u}-\bar{K}(x_{\text{n}}(k)-\bar{x}),italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) = over¯ start_ARG italic_u end_ARG - over¯ start_ARG italic_K end_ARG ( italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) - over¯ start_ARG italic_x end_ARG ) , (13)

where K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG is chosen such that ρ(ABK¯)<1𝜌𝐴𝐵¯𝐾1\rho(A-B\bar{K})<1italic_ρ ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) < 1. However, we want to guarantee that xn𝕏csubscript𝑥nsubscript𝕏cx_{\text{n}}\in\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and un𝕌csubscript𝑢nsubscript𝕌cu_{\text{n}}\in\mathbb{U}_{\text{c}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT. Thus, we define the augmented state xa(k)=[xn(k),x¯,u¯]subscript𝑥𝑎𝑘superscriptsuperscriptsubscript𝑥ntop𝑘superscript¯𝑥topsuperscript¯𝑢toptop{x_{a}(k)=[x_{\text{n}}^{\top}(k),\ \bar{x}^{\top},\ \bar{u}^{\top}]^{\top}}italic_x start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ( italic_k ) = [ italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( italic_k ) , over¯ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT and its dynamics with the controller in (13) are given by

xa(k+1)=Aaxa(k)withAa=[ABK¯BK¯B0Inx000Inu].subscript𝑥a𝑘1subscript𝐴asubscript𝑥a𝑘withsubscript𝐴amatrix𝐴𝐵¯𝐾𝐵¯𝐾𝐵0subscript𝐼subscript𝑛𝑥000subscript𝐼subscript𝑛𝑢\displaystyle x_{\text{a}}(k+1)=A_{\text{a}}x_{\text{a}}(k)\ \mathrm{with}\ A_% {\text{a}}=\begin{bmatrix}A-B\bar{K}&B\bar{K}&B\\ 0&I_{n_{x}}&0\\ 0&0&I_{n_{u}}\end{bmatrix}.italic_x start_POSTSUBSCRIPT a end_POSTSUBSCRIPT ( italic_k + 1 ) = italic_A start_POSTSUBSCRIPT a end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT a end_POSTSUBSCRIPT ( italic_k ) roman_with italic_A start_POSTSUBSCRIPT a end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_A - italic_B over¯ start_ARG italic_K end_ARG end_CELL start_CELL italic_B over¯ start_ARG italic_K end_ARG end_CELL start_CELL italic_B end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL italic_I start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL italic_I start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] .

Next, we define the maximum admissible set [13]

Xf,K¯={xa|Aakxa𝕏a,K¯k0},subscript𝑋𝑓¯𝐾conditional-setsubscript𝑥asuperscriptsubscript𝐴a𝑘subscript𝑥asubscript𝕏a¯𝐾for-all𝑘subscriptabsent0X_{f,\bar{K}}=\{x_{\text{a}}\ |\ A_{\text{a}}^{k}x_{\text{a}}\in\mathbb{X}_{% \text{a},\bar{K}}\ \forall\,k\in\mathbb{N}_{\geq 0}\},italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT a end_POSTSUBSCRIPT | italic_A start_POSTSUBSCRIPT a end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT italic_x start_POSTSUBSCRIPT a end_POSTSUBSCRIPT ∈ blackboard_X start_POSTSUBSCRIPT a , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT ∀ italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT } , (14)

where 𝕏a,K¯={xa|xn𝕏c,u¯K¯(xn(k)x¯)𝕌c}subscript𝕏a¯𝐾conditional-setsubscript𝑥aformulae-sequencesubscript𝑥nsubscript𝕏c¯𝑢¯𝐾subscript𝑥n𝑘¯𝑥subscript𝕌c{\mathbb{X}_{\text{a},\bar{K}}=\{x_{\text{a}}|x_{\text{n}}\in\mathbb{X}_{\text% {c}},\bar{u}-\bar{K}(x_{\text{n}}(k)-\bar{x})\in\mathbb{U}_{\text{c}}\}}blackboard_X start_POSTSUBSCRIPT a , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT a end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT , over¯ start_ARG italic_u end_ARG - over¯ start_ARG italic_K end_ARG ( italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) - over¯ start_ARG italic_x end_ARG ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT }. If [xn(0),x¯,u¯]Xf,K¯superscriptsubscript𝑥nsuperscript0topsuperscript¯𝑥topsuperscript¯𝑢toptopsubscript𝑋𝑓¯𝐾{[x_{\text{n}}(0)^{\top},\bar{x}^{\top},\bar{u}^{\top}]^{\top}\in X_{f,\bar{K}}}[ italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( 0 ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over¯ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT, then the nominal plant (6) using the control law (13) guarantees that [xn(k),x¯,u¯]Xf,K¯superscriptsubscript𝑥nsuperscript𝑘topsuperscript¯𝑥topsuperscript¯𝑢toptopsubscript𝑋𝑓¯𝐾{[x_{\text{n}}(k)^{\top},\bar{x}^{\top},\bar{u}^{\top}]^{\top}\in X_{f,\bar{K}}}[ italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over¯ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT for all k>0𝑘0k>0italic_k > 0 and that xn(k)subscript𝑥n𝑘x_{\text{n}}(k)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) converges to the steady state x¯¯𝑥\bar{x}over¯ start_ARG italic_x end_ARG. We can compute Xf,K¯subscript𝑋𝑓¯𝐾X_{f,\bar{K}}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT as described in [13]. Since Xf,K¯subscript𝑋𝑓¯𝐾X_{f,\bar{K}}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT might not be finitely determined, i.e., the polytope Xf,K¯subscript𝑋𝑓¯𝐾X_{f,\bar{K}}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT cannot be described by a finite amount of inequalities, we introduce

Xf,K¯λ=Xf,K¯{x¯,u¯|x¯λ𝕏c,u¯λ𝕌c},superscriptsubscript𝑋𝑓¯𝐾𝜆subscript𝑋𝑓¯𝐾conditional-set¯𝑥¯𝑢formulae-sequence¯𝑥𝜆subscript𝕏c¯𝑢𝜆subscript𝕌cX_{f,\bar{K}}^{\lambda}=X_{f,\bar{K}}\cap\{\bar{x},\ \bar{u}\ |\ \bar{x}\in% \lambda\mathbb{X}_{\text{c}},\ \bar{u}\in\lambda\mathbb{U}_{\text{c}}\},italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT = italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT ∩ { over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG | over¯ start_ARG italic_x end_ARG ∈ italic_λ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT , over¯ start_ARG italic_u end_ARG ∈ italic_λ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT } , (15)

with λ(0,1)𝜆01\lambda\in(0,1)italic_λ ∈ ( 0 , 1 ). This is a finitely determined set that approximates Xf,K¯subscript𝑋𝑓¯𝐾X_{f,\bar{K}}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT arbitrarily well as λ1𝜆1\lambda\rightarrow 1italic_λ → 1 [13].

IV Remote Tube-Based Tracking MPC
over Lossy Networks

In this section, we describe in more details the Remote Tube-based Tracking MPC over Lossy Networks approach that we propose to solve Problem 1 and its theoretical guarantees. As mentioned earlier, the proposed approach is an extension of those presented in [9] and [10] that enables remote tracking of references even in the presence of disturbance on the plant and lossy networks.

Figure 2 presents the architecture of our proposed approach. It is composed of five parts: two are placed remotely representing g()𝑔g(\cdot)italic_g ( ⋅ ), namely the MPC controller and the state estimator, and three are placed together with the local plant representing f()𝑓f(\cdot)italic_f ( ⋅ ), namely the consistent actuator, the nominal plant, and the ancillary controller.

Refer to caption
Figure 2: The block diagram of our proposed remote tube-based tracking MPC approach over lossy networks.

IV-A Remote Model Predictive Controller For Tracking

To track the reference xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, we will use a model predictive controller on the remote controller-side, which is inspired by [9]. The cost function optimized in the MPC is given by

c(𝐮,𝐱,x¯,u¯,xr)=i=0N1(ci(𝐮,𝐱,x¯,u¯))+c¯(𝐱,x¯,xr),𝑐𝐮𝐱¯𝑥¯𝑢subscript𝑥𝑟superscriptsubscript𝑖0𝑁1subscript𝑐𝑖𝐮𝐱¯𝑥¯𝑢¯𝑐𝐱¯𝑥subscript𝑥𝑟c(\mathbf{u},\mathbf{x},\bar{x},\bar{u},x_{r})=\sum_{i=0}^{N-1}\left(c_{i}(% \mathbf{u},\mathbf{x},\bar{x},\bar{u})\right)+\bar{c}(\mathbf{x},\bar{x},x_{r}),italic_c ( bold_u , bold_x , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG , italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT ( italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_u , bold_x , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG ) ) + over¯ start_ARG italic_c end_ARG ( bold_x , over¯ start_ARG italic_x end_ARG , italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) , (16)

where 𝐮={𝐮(0),,𝐮(N)}𝐮𝐮0𝐮𝑁\mathbf{u}=\{\mathbf{u}(0),\ldots,\mathbf{u}(N)\}bold_u = { bold_u ( 0 ) , … , bold_u ( italic_N ) }, 𝐱={𝐱(0),,𝐱(N)}𝐱𝐱0𝐱𝑁\mathbf{x}=\{\mathbf{x}(0),\ldots,\mathbf{x}(N)\}bold_x = { bold_x ( 0 ) , … , bold_x ( italic_N ) },

ci(𝐮,𝐱,x¯,u¯)subscript𝑐𝑖𝐮𝐱¯𝑥¯𝑢\displaystyle c_{i}(\mathbf{u},\mathbf{x},\bar{x},\bar{u})italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_u , bold_x , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG ) =𝐱(i)x¯Q2+𝐮(i)u¯R2,absentsuperscriptsubscriptnorm𝐱𝑖¯𝑥𝑄2superscriptsubscriptnorm𝐮𝑖¯𝑢𝑅2\displaystyle=\|\mathbf{x}(i)-\bar{x}\|_{Q}^{2}+\|\mathbf{u}(i)-\bar{u}\|_{R}^% {2},= ∥ bold_x ( italic_i ) - over¯ start_ARG italic_x end_ARG ∥ start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ∥ bold_u ( italic_i ) - over¯ start_ARG italic_u end_ARG ∥ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (17)
c¯(𝐱,x¯,xr)¯𝑐𝐱¯𝑥subscript𝑥𝑟\displaystyle\bar{c}(\mathbf{x},\bar{x},x_{r})over¯ start_ARG italic_c end_ARG ( bold_x , over¯ start_ARG italic_x end_ARG , italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) =𝐱(N)x¯P2+x¯xrT2,absentsuperscriptsubscriptnorm𝐱𝑁¯𝑥𝑃2superscriptsubscriptnorm¯𝑥subscript𝑥𝑟𝑇2\displaystyle=\|\mathbf{x}(N)-\bar{x}\|_{P}^{2}+\|\bar{x}-x_{r}\|_{T}^{2},= ∥ bold_x ( italic_N ) - over¯ start_ARG italic_x end_ARG ∥ start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ∥ over¯ start_ARG italic_x end_ARG - italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (18)

and Q0𝑄0Q\geq 0italic_Q ≥ 0, R>0𝑅0R>0italic_R > 0, and T>0𝑇0T>0italic_T > 0 are the symmetric cost matrices for the state, input, and the tracking output, and P𝑃Pitalic_P is the solution of P=(ABK¯)P(ABK¯)+Q+K¯RK¯.𝑃superscript𝐴𝐵¯𝐾top𝑃𝐴𝐵¯𝐾𝑄superscript¯𝐾top𝑅¯𝐾P=(A-B\bar{K})^{\top}P(A-B\bar{K})+Q+\bar{K}^{\top}R\bar{K}.italic_P = ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) + italic_Q + over¯ start_ARG italic_K end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R over¯ start_ARG italic_K end_ARG . Given the cost function, a state estimate x^(k|k1)^𝑥conditional𝑘𝑘1\hat{x}(k|k-1)over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) and a reference signal xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, the optimization problem of the MPC is formulated as follows

min𝐮,x¯,u¯subscript𝐮¯𝑥¯𝑢\displaystyle\min_{\mathbf{u},\bar{x},\bar{u}}\ roman_min start_POSTSUBSCRIPT bold_u , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG end_POSTSUBSCRIPT c(𝐮,𝐱,x¯,u¯,xr)𝑐𝐮𝐱¯𝑥¯𝑢subscript𝑥𝑟\displaystyle c(\mathbf{u},\mathbf{x},\bar{x},\bar{u},x_{r})italic_c ( bold_u , bold_x , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG , italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) (19a)
s.t.formulae-sequencest\displaystyle\mathrm{s.t.}\ roman_s . roman_t . 𝐱(i+1)=A𝐱(i)+B𝐮(i),𝐱𝑖1𝐴𝐱𝑖𝐵𝐮𝑖\displaystyle\mathbf{x}(i+1)=A\mathbf{x}(i)+B\mathbf{u}(i),bold_x ( italic_i + 1 ) = italic_A bold_x ( italic_i ) + italic_B bold_u ( italic_i ) , (19b)
𝐱(i)𝕏c,𝐮(i)𝕌c,i{0,,N1},formulae-sequence𝐱𝑖subscript𝕏cformulae-sequence𝐮𝑖subscript𝕌c𝑖0𝑁1\displaystyle\mathbf{x}(i)\in\mathbb{X}_{\text{c}},\ \mathbf{u}(i)\in\mathbb{U% }_{\text{c}},\ i\in\{0,\ldots,N-1\},bold_x ( italic_i ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT , bold_u ( italic_i ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT , italic_i ∈ { 0 , … , italic_N - 1 } , (19c)
𝐱(0)=x^(k|k1),𝐱0^𝑥conditional𝑘𝑘1\displaystyle\mathbf{x}(0)=\hat{x}(k|k-1),bold_x ( 0 ) = over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) , (19d)
(𝐱(N),x¯,u¯)Xf,K¯λ,𝐱𝑁¯𝑥¯𝑢superscriptsubscript𝑋𝑓¯𝐾𝜆\displaystyle(\mathbf{x}(N),\,\bar{x},\,\bar{u})\in X_{f,\bar{K}}^{\lambda},( bold_x ( italic_N ) , over¯ start_ARG italic_x end_ARG , over¯ start_ARG italic_u end_ARG ) ∈ italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT , (19e)
[AInxB][x¯u¯]=0matrix𝐴subscript𝐼subscript𝑛𝑥𝐵matrix¯𝑥¯𝑢0\displaystyle\begin{bmatrix}A-I_{n_{x}}&B\\ \end{bmatrix}\begin{bmatrix}\bar{x}\\ \bar{u}\end{bmatrix}=0[ start_ARG start_ROW start_CELL italic_A - italic_I start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_CELL start_CELL italic_B end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL over¯ start_ARG italic_x end_ARG end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_u end_ARG end_CELL end_ROW end_ARG ] = 0 (19f)

where the sets 𝕏csubscript𝕏c\mathbb{X}_{\text{c}}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, 𝕌csubscript𝕌c\mathbb{U}_{\text{c}}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, and Xf,K¯λsuperscriptsubscript𝑋𝑓¯𝐾𝜆X_{f,\bar{K}}^{\lambda}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT, are as in Section III.

Compared to the remote MPC formulated in [9], the MPC (19) generates trajectories for the nominal plant by using the tightened sets 𝕏csubscript𝕏c\mathbb{X}_{\text{c}}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, 𝕌csubscript𝕌c\mathbb{U}_{\text{c}}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, and Xf,K¯λsuperscriptsubscript𝑋𝑓¯𝐾𝜆X_{f,\bar{K}}^{\lambda}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT. This difference is inspired by [10] and we make use of it in Section IV-C to generate inputs u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U, which guarantee x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X for all k0𝑘subscriptabsent0{k\in\mathbb{N}_{\geq 0}}italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT. Since the communication from the plant to the remote controller is lossy, we are not guaranteed to have the plant state x(k)𝑥𝑘x(k)italic_x ( italic_k ) available at time k𝑘kitalic_k. Therefore, we use the estimate x^(k|k1)^𝑥conditional𝑘𝑘1{\hat{x}(k|k-1)}over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) based on the previously received packets as in [9] (see Section IV-D) instead of the true state.

Let the optimal solution of (19) at time step k𝑘kitalic_k be 𝐮k,u¯ksuperscriptsubscript𝐮𝑘superscriptsubscript¯𝑢𝑘\mathbf{u}_{k}^{*},\bar{u}_{k}^{*}bold_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and x¯ksuperscriptsubscript¯𝑥𝑘\bar{x}_{k}^{*}over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. With that, the packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is, similar to [9], constructed as follows

Uk={𝐮k,u¯k+K¯x¯k,qk},subscript𝑈𝑘superscriptsubscript𝐮𝑘superscriptsubscript¯𝑢𝑘¯𝐾superscriptsubscript¯𝑥𝑘subscript𝑞𝑘U_{k}=\{\mathbf{u}_{k}^{*},\bar{u}_{k}^{*}+\bar{K}\bar{x}_{k}^{*},q_{k}\},italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { bold_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT + over¯ start_ARG italic_K end_ARG over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } , (20)

where qksubscript𝑞𝑘q_{k}italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the time instance when the remote estimator has last received a packet from the local plant. The packet contains the optimal nominal input trajectory at time step k𝑘kitalic_k and the steady-state control input for the nominal plant.

IV-B Consistent Actuator

The consistent actuator is located at the local plant and is responsible for deciding the next nominal control input un(k)subscript𝑢n𝑘u_{\text{n}}(k)italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ). It has the same functionality as the Smart Actuator in [9]. When a packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is received, the consistent actuator needs to decide if Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will be used or if it will be discarded; in the latter, the packet already in use continues to be applied.

The consistent actuator might discard a received packet because the estimated state on the remote controller side is inconsistent with the actual state on the plant. This means that the control inputs have been calculated based on an incorrectly estimated state. To determine consistency, we use a variable ΘksubscriptΘ𝑘\Theta_{k}roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT as in [9], which is calculated as follows

Θk={i=qk+1kθiifθk=1,0otherwise.subscriptΘ𝑘casessuperscriptsubscriptproduct𝑖subscript𝑞𝑘1𝑘subscript𝜃𝑖ifsubscript𝜃𝑘10otherwise\displaystyle\Theta_{k}=\begin{cases}\prod_{i=q_{k}+1}^{k}\theta_{i}&\mathrm{% if}\ \theta_{k}=1,\\ 0&\mathrm{otherwise.}\end{cases}roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { start_ROW start_CELL ∏ start_POSTSUBSCRIPT italic_i = italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_CELL start_CELL roman_if italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 , end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL roman_otherwise . end_CELL end_ROW (21)

We observe that if θk=1subscript𝜃𝑘1\theta_{k}=1italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, i.e., the packet is received at time step k𝑘kitalic_k, then we can calculate the product and otherwise Θk=0subscriptΘ𝑘0{\Theta_{k}=0}roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0. Once ΘksubscriptΘ𝑘\Theta_{k}roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is determined the consistent actuator updates its internal state sksubscript𝑠𝑘s_{k}italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT as follows

sk=Θkk+(1Θk)sk1.subscript𝑠𝑘subscriptΘ𝑘𝑘1subscriptΘ𝑘subscript𝑠𝑘1s_{k}=\Theta_{k}k+(1-\Theta_{k})s_{k-1}.italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_k + ( 1 - roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) italic_s start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT . (22)

This internal state keeps track of which packet Usksubscript𝑈subscript𝑠𝑘U_{s_{k}}italic_U start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT should be used by the consistent actuator at time step k𝑘kitalic_k. Note that if Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 then sk=ksubscript𝑠𝑘𝑘s_{k}=kitalic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_k and the latest packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will be used. Once sksubscript𝑠𝑘s_{k}italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT has been determined, the packet Xksubscript𝑋𝑘X_{k}italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is sent from the plant to the controller with the following content,

Xk={xn(k),sk}.subscript𝑋𝑘subscript𝑥n𝑘subscript𝑠𝑘X_{k}=\{x_{\text{n}}(k),s_{k}\}.italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) , italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } . (23)

While in [9] the packet Xksubscript𝑋𝑘X_{k}italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT contains x(k)𝑥𝑘x(k)italic_x ( italic_k ) and sksubscript𝑠𝑘s_{k}italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, our proposed solution sends the nominal state xn(k)subscript𝑥n𝑘x_{\text{n}}(k)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) to the remote controller, which is obtained as described in Section IV-C.

The consistent actuator determines un(k)subscript𝑢n𝑘u_{\text{n}}(k)italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) as

un(k)={𝐮sk(ksk)ifksk<N,u¯sk+K¯x¯skK¯xn(k)otherwise.subscript𝑢n𝑘casessuperscriptsubscript𝐮subscript𝑠𝑘𝑘subscript𝑠𝑘if𝑘subscript𝑠𝑘𝑁superscriptsubscript¯𝑢subscript𝑠𝑘¯𝐾superscriptsubscript¯𝑥subscript𝑠𝑘¯𝐾subscript𝑥n𝑘otherwise\displaystyle u_{\text{n}}(k)=\begin{cases}\mathbf{u}_{s_{k}}^{*}(k-s_{k})&% \mathrm{if}\ k-s_{k}<N,\\ \bar{u}_{s_{k}}^{*}+\bar{K}\bar{x}_{s_{k}}^{*}-\bar{K}x_{\text{n}}(k)&\mathrm{% otherwise}.\end{cases}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) = { start_ROW start_CELL bold_u start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_k - italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) end_CELL start_CELL roman_if italic_k - italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT < italic_N , end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT + over¯ start_ARG italic_K end_ARG over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - over¯ start_ARG italic_K end_ARG italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) end_CELL start_CELL roman_otherwise . end_CELL end_ROW (24)

In a nutshell, the consistent actuator uses all predicted control inputs in a packet Uksubscript𝑈𝑘U_{k}italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT if no new consistent packet has been received and once there are no more predicted inputs available it uses the controller K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG in (13) to control the nominal plant around the steady state x¯sksuperscriptsubscript¯𝑥subscript𝑠𝑘\bar{x}_{s_{k}}^{*}over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT.

Note that since un(k)subscript𝑢n𝑘u_{\text{n}}(k)italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) is determined from an optimal trajectory coming from the MPC, it is guaranteed that un(k)𝕌csubscript𝑢n𝑘subscript𝕌c{u_{\text{n}}(k)\in\mathbb{U}_{\text{c}}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT.

IV-C Nominal Plant and Ancillary Controller

The main idea of our proposed approach is that a model of the nominal plant runs on the local plant to determine the nominal plant state xn(k)subscript𝑥n𝑘x_{\text{n}}(k)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ). Here, xn(k)subscript𝑥n𝑘x_{\text{n}}(k)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) together with un(k)subscript𝑢n𝑘u_{\text{n}}(k)italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) coming from (24) are used to determine the control input u(k)𝑢𝑘u(k)italic_u ( italic_k ) for the plant via the ancillary controller K𝐾Kitalic_K in (7).

The nominal control input coming from the consistent actuator is then applied to the model of the nominal plant, which evolves as described in (6). Since the nominal control inputs are determined by the MPC problem, they guarantee that xn(k)𝕏csubscript𝑥n𝑘subscript𝕏cx_{\text{n}}(k)\in\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT for all k0𝑘0k\geq 0italic_k ≥ 0.

As described in Section III, the ancillary controller will guarantee that x(k){xn(k)}K𝕏𝑥𝑘direct-sumsubscript𝑥n𝑘subscript𝐾𝕏x(k)\in\{x_{\text{n}}(k)\}\oplus\mathbb{Z}_{K}\subseteq\mathbb{X}italic_x ( italic_k ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_X for all k0𝑘subscriptabsent0k\in\mathbb{N}_{\geq 0}italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT and u(k){un(k)}KK𝕌𝑢𝑘direct-sumsubscript𝑢n𝑘𝐾subscript𝐾𝕌u(k)\in\{u_{\text{n}}(k)\}\oplus K\mathbb{Z}_{K}\subseteq\mathbb{U}italic_u ( italic_k ) ∈ { italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ italic_K blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_U if xn(k)𝕏csubscript𝑥n𝑘subscript𝕏cx_{\text{n}}(k)\in\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT for all k0𝑘subscriptabsent0k\in\mathbb{N}_{\geq 0}italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT, since un(k)𝕌csubscript𝑢n𝑘subscript𝕌cu_{\text{n}}(k)\in\mathbb{U}_{\text{c}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT for all k0𝑘subscriptabsent0k\in\mathbb{N}_{\geq 0}italic_k ∈ blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT.

The nominal plant and ancillary controller on the local plant are the key to make our approach work because they enable us to track a reference xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT in the presence of a disturbance w(k)𝑤𝑘w(k)italic_w ( italic_k ), and they are the main architectural difference to [9]. Furthermore, running a nominal model is computationally cheaper than running a robust MPC as in [10] on the local plant. This makes our proposed approach more applicable to lightweight devices controlled over a lossy network without sacrificing robustness.

Remark 1.

The ancillary controller K𝐾Kitalic_K and the steady-state controller K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG are not necessarily the same. This enables us to tune K𝐾Kitalic_K to minimize Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, while K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG can be tuned to increase the size of Xf,K¯λsuperscriptsubscript𝑋𝑓¯𝐾𝜆X_{f,\bar{K}}^{\lambda}italic_X start_POSTSUBSCRIPT italic_f , over¯ start_ARG italic_K end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_λ end_POSTSUPERSCRIPT. For the former, Section 7 in [10] proposed a semi-definite program to design K𝐾Kitalic_K, which minimizes Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT while guaranteeing that 𝕏csubscript𝕏c\mathbb{X}_{\text{c}}blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and 𝕌csubscript𝕌c\mathbb{U}_{\text{c}}blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT are non-empty. For the latter, a common choice in the literature is to choose K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG as the optimal LQR gain.

IV-D Estimator

The estimator, similar to [9], is used to estimate the state of the nominal plant at time step k+1𝑘1k+1italic_k + 1 as x^(k+1|k)^𝑥𝑘conditional1𝑘\hat{x}(k+1|k)over^ start_ARG italic_x end_ARG ( italic_k + 1 | italic_k ). Based on the reception of Xksubscript𝑋𝑘X_{k}italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, it estimates the nominal plant state

x^(k+1|k)=Ax^(k|k)+Bu^(k|k),^𝑥𝑘conditional1𝑘𝐴^𝑥conditional𝑘𝑘𝐵^𝑢conditional𝑘𝑘\hat{x}(k+1|k)=A\hat{x}(k|k)+B\hat{u}(k|k),over^ start_ARG italic_x end_ARG ( italic_k + 1 | italic_k ) = italic_A over^ start_ARG italic_x end_ARG ( italic_k | italic_k ) + italic_B over^ start_ARG italic_u end_ARG ( italic_k | italic_k ) , (25)

where

x^(k|k)^𝑥conditional𝑘𝑘\displaystyle\hat{x}(k|k)over^ start_ARG italic_x end_ARG ( italic_k | italic_k ) =γkxn(k)+(1γk)x^(k|k1),absentsubscript𝛾𝑘subscript𝑥n𝑘1subscript𝛾𝑘^𝑥conditional𝑘𝑘1\displaystyle=\gamma_{k}x_{\text{n}}(k)+(1-\gamma_{k})\hat{x}(k|k-1),= italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) + ( 1 - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) , (26)
u^(k|k)^𝑢conditional𝑘𝑘\displaystyle\hat{u}(k|k)over^ start_ARG italic_u end_ARG ( italic_k | italic_k ) =γkun(k)+(1γk)𝐮k(0).absentsubscript𝛾𝑘subscript𝑢n𝑘1subscript𝛾𝑘superscriptsubscript𝐮𝑘0\displaystyle=\gamma_{k}u_{\text{n}}(k)+(1-\gamma_{k})\mathbf{u}_{k}^{*}(0).= italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) + ( 1 - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) bold_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) . (27)

Since only xn(k)subscript𝑥n𝑘x_{\text{n}}(k)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) and sksubscript𝑠𝑘s_{k}italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT are sent to the remote controller, the remote controller also needs to run a consistent actuator (24) to determine un(k)subscript𝑢n𝑘u_{\text{n}}(k)italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ). Furthermore, qksubscript𝑞𝑘q_{k}italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is updated as follows

qk+1=γkk+(1γk)qksubscript𝑞𝑘1subscript𝛾𝑘𝑘1subscript𝛾𝑘subscript𝑞𝑘q_{k+1}=\gamma_{k}k+(1-\gamma_{k})q_{k}italic_q start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT = italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_k + ( 1 - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT (28)

to keep track of which packet Xksubscript𝑋𝑘X_{k}italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT has been received last at the remote controller.

Other than in [9], we estimate the nominal plant state in the estimator and not the plant state. This guarantees that x^(k|k1)𝕏c^𝑥conditional𝑘𝑘1subscript𝕏c\hat{x}(k|k-1)\in\mathbb{X}_{\text{c}}over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, such that the constraints 𝐱(0)=x^(k|k1)𝐱0^𝑥conditional𝑘𝑘1\mathbf{x}(0)=\hat{x}(k|k-1)bold_x ( 0 ) = over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) and 𝐱(0)𝕏c𝐱0subscript𝕏c\mathbf{x}(0)\in\mathbb{X}_{\text{c}}bold_x ( 0 ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT in the optimization problem (19) will not lead to an infeasible optimization problem.

IV-E Theoretical Guarantees

In this section, we provide theoretical guarantees for our proposed MPC. The key insight for our theoretical guarantees is that the closed-loop system involving the MPC in Figure 2 acts on the nominal plant and not the plant itself. This means that inside this closed-loop system there is no disturbance, such that it represents the disturbance-free system assumed in [9]. Hence, the theoretical guarantees of [9] will hold for the closed-loop system involving the MPC in our proposed approach given Assumption 5 below.

Assumption 5.

In addition to Assumptions 14, the following conditions hold:

  1. 1.

    Q𝑄Qitalic_Q, R𝑅Ritalic_R, and T𝑇Titalic_T are positive definite.

  2. 2.

    The system (Q12,A)superscript𝑄12𝐴(Q^{\frac{1}{2}},A)( italic_Q start_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT , italic_A ) is observable.

  3. 3.

    The gains K𝐾Kitalic_K and K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG are such that ρ(ABK)<1𝜌𝐴𝐵𝐾1\rho(A-BK)<1italic_ρ ( italic_A - italic_B italic_K ) < 1 and ρ(ABK¯)<1𝜌𝐴𝐵¯𝐾1\rho(A-B\bar{K})<1italic_ρ ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) < 1, respectively.

  4. 4.

    The matrix P𝑃Pitalic_P satisfies

    P=(ABK¯)P(ABK¯)+Q+K¯RK¯𝑃superscript𝐴𝐵¯𝐾top𝑃𝐴𝐵¯𝐾𝑄superscript¯𝐾top𝑅¯𝐾P=(A-B\bar{K})^{\top}P(A-B\bar{K})+Q+\bar{K}^{\top}R\bar{K}italic_P = ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P ( italic_A - italic_B over¯ start_ARG italic_K end_ARG ) + italic_Q + over¯ start_ARG italic_K end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R over¯ start_ARG italic_K end_ARG.

We begin by showing that the plant state is in a bounded neighbourhood around the estimated state if Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1.

Proposition 1.

If Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, then x(k){x^(k|k1)}K𝑥𝑘direct-sum^𝑥conditional𝑘𝑘1subscript𝐾x(k)\in\{\hat{x}(k|k-1)\}\oplus\mathbb{Z}_{K}italic_x ( italic_k ) ∈ { over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT.

Proof.

Since the closed-loop system of our proposed approach acts on the disturbance-free nominal plant (see Figure 2), we can use Proposition 1 of [9] to show that if Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 then x^(k|k1)=xn(k)^𝑥conditional𝑘𝑘1subscript𝑥n𝑘\hat{x}(k|k-1)=x_{\text{n}}(k)over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) = italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ). Due the ancillary controller, we know that x(k){xn(k)}K𝑥𝑘direct-sumsubscript𝑥n𝑘subscript𝐾x(k)\in\{x_{\text{n}}(k)\}\oplus\mathbb{Z}_{K}italic_x ( italic_k ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT holds. ∎

This shows that when the estimate is consistent with the nominal plant state, i.e. Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, then we know that the plant state is in a tube around the estimated state.

Next, we show recursive feasibility of our proposed remote MPC and that the plant will always evolve in the constraints regardless of the network quality.

Proposition 2.

Let Assumption 5 hold, and assume there exists a k0subscript𝑘0k_{0}italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT such that γk01=1subscript𝛾subscript𝑘011\gamma_{k_{0}-1}=1italic_γ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - 1 end_POSTSUBSCRIPT = 1, θk0=1subscript𝜃subscript𝑘01\theta_{k_{0}}=1italic_θ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1, x(k0)xn(k0)K𝑥subscript𝑘0subscript𝑥nsubscript𝑘0subscript𝐾{x(k_{0})-x_{\text{n}}(k_{0})\in\mathbb{Z}_{K}}italic_x ( italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) - italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∈ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, and that the optimization problem (19) is feasible. If the consistent actuator (24) and the ancillary controller (7) are used, the optimization problem (19) is feasible, and x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U for all kk0𝑘subscript𝑘0k\geq k_{0}italic_k ≥ italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT.

Proof.

Given the conditions above, Proposition 2 of [9] shows us that optimization problem (19) is feasible and xn(k)𝕏csubscript𝑥n𝑘subscript𝕏cx_{\text{n}}(k)\in\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and un(k)𝕌csubscript𝑢n𝑘subscript𝕌cu_{\text{n}}(k)\in\mathbb{U}_{\text{c}}italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT for all kk0𝑘subscript𝑘0k\geq k_{0}italic_k ≥ italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. The constraint satisfaction of x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U is guaranteed since the ancillary controller (7) guarantees that x(k){xn(k)}K𝕏𝑥𝑘direct-sumsubscript𝑥n𝑘subscript𝐾𝕏x(k)\in\{x_{\text{n}}(k)\}\oplus\mathbb{Z}_{K}\subseteq\mathbb{X}italic_x ( italic_k ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_X and u(k){un(k)}(K)K𝕌𝑢𝑘direct-sumsubscript𝑢n𝑘𝐾subscript𝐾𝕌u(k)\in\{u_{\text{n}}(k)\}\oplus(-K)\mathbb{Z}_{K}\subseteq\mathbb{U}italic_u ( italic_k ) ∈ { italic_u start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ ( - italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ⊆ blackboard_U. ∎

Note that the feasibility of the MPC does not depend on the value of xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, such that for all reference values our solution is recursively feasible according to Proposition 2.

Finally, the following theorem states the tracking capabilities of our approach given a constant reference xrsubscript𝑥𝑟x_{r}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT.

Theorem 1.

Let Assumption 5 hold and [xr,u~]superscriptsuperscriptsubscript𝑥𝑟topsuperscript~𝑢toptop[x_{r}^{\top},\ \tilde{u}^{\top}]^{\top}[ italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT , over~ start_ARG italic_u end_ARG start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT fulfil the steady-state equation (12). If the consistent actuator (24) and the ancillary controller (7) are used, then almost surely limkx(k){x~r}𝕏subscript𝑘𝑥𝑘direct-sumsubscript~𝑥𝑟𝕏\lim_{k\rightarrow\infty}x(k)\in\{\tilde{x}_{r}\}\oplus\mathbb{X}roman_lim start_POSTSUBSCRIPT italic_k → ∞ end_POSTSUBSCRIPT italic_x ( italic_k ) ∈ { over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ⊕ blackboard_X, where x~r=xrsubscript~𝑥𝑟subscript𝑥𝑟\tilde{x}_{r}=x_{r}over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT if xrλ𝕏csubscript𝑥𝑟𝜆subscript𝕏cx_{r}\in\lambda\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∈ italic_λ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and u~λ𝕌c~𝑢𝜆subscript𝕌c\tilde{u}\in\lambda\mathbb{U}_{\text{c}}over~ start_ARG italic_u end_ARG ∈ italic_λ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, and x~r=argminxλ𝕏cxxrT2subscript~𝑥𝑟subscript𝑥𝜆subscript𝕏csuperscriptsubscriptnorm𝑥subscript𝑥𝑟𝑇2\tilde{x}_{r}=\arg\min_{x\in\lambda\mathbb{X}_{\text{c}}}\|x-x_{r}\|_{T}^{2}over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT italic_x ∈ italic_λ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ italic_x - italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT otherwise.

Proof.

From Proposition 3 of [9] we obtain that limkxn(k)=x~rsubscript𝑘subscript𝑥n𝑘subscript~𝑥𝑟\lim_{k\rightarrow\infty}x_{\text{n}}(k)=\tilde{x}_{r}roman_lim start_POSTSUBSCRIPT italic_k → ∞ end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) = over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT almost surely, while Theorem 1 of [10] states that x~r=argminxλ𝕏cxxrT2subscript~𝑥𝑟subscript𝑥𝜆subscript𝕏csuperscriptsubscriptnorm𝑥subscript𝑥𝑟𝑇2\tilde{x}_{r}=\arg\min_{x\in\lambda\mathbb{X}_{\text{c}}}\|x-x_{r}\|_{T}^{2}over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = roman_arg roman_min start_POSTSUBSCRIPT italic_x ∈ italic_λ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ italic_x - italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT such that x~r=xrsubscript~𝑥𝑟subscript𝑥𝑟\tilde{x}_{r}=x_{r}over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT if xrλ𝕏csubscript𝑥𝑟𝜆subscript𝕏cx_{r}\in\lambda\mathbb{X}_{\text{c}}italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∈ italic_λ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT and u~λ𝕌c~𝑢𝜆subscript𝕌c\tilde{u}\in\lambda\mathbb{U}_{\text{c}}over~ start_ARG italic_u end_ARG ∈ italic_λ blackboard_U start_POSTSUBSCRIPT c end_POSTSUBSCRIPT. The ancillary controller guarantees that limkx(k){x~r}𝕏subscript𝑘𝑥𝑘direct-sumsubscript~𝑥𝑟𝕏\lim_{k\rightarrow\infty}x(k)\in\{\tilde{x}_{r}\}\oplus\mathbb{X}roman_lim start_POSTSUBSCRIPT italic_k → ∞ end_POSTSUBSCRIPT italic_x ( italic_k ) ∈ { over~ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT } ⊕ blackboard_X almost surely. ∎

Corollary 1.

Theorem 1 and Proposition 2 show us that by choosing f()𝑓f(\cdot)italic_f ( ⋅ ) and g()𝑔g(\cdot)italic_g ( ⋅ ) as in our approach, we have solved Problem 1 for constant references.

IV-F Extension to include state feedback

While our proposed approach does not require feedback from x(k)𝑥𝑘x(k)italic_x ( italic_k ), it is common to send the state also to the remote controller, for example, for anomaly detection purposes. Therefore, we will now propose an extension to our approach, which includes state feedback, while inheriting the theoretical guarantees of our previously described approach.

To include the state, we change the content of the plant packet (23) as follows

Xk={x(k),xn(k),sk}.subscript𝑋𝑘𝑥𝑘subscript𝑥n𝑘subscript𝑠𝑘X_{k}=\{x(k),x_{\text{n}}(k),s_{k}\}.italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { italic_x ( italic_k ) , italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) , italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } . (29)

With the new package (29), the estimator in (25) uses

x^(k|k)^𝑥conditional𝑘𝑘\displaystyle\hat{x}(k|k)over^ start_ARG italic_x end_ARG ( italic_k | italic_k ) =γkx(k)+(1γk)𝐱k(0),absentsubscript𝛾𝑘𝑥𝑘1subscript𝛾𝑘superscriptsubscript𝐱𝑘0\displaystyle=\gamma_{k}x(k)+(1-\gamma_{k})\mathbf{x}_{k}^{*}(0),= italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_x ( italic_k ) + ( 1 - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) , (30)
u^(k|k)^𝑢conditional𝑘𝑘\displaystyle\hat{u}(k|k)over^ start_ARG italic_u end_ARG ( italic_k | italic_k ) =γku(k)+(1γk)𝐮k(0).absentsubscript𝛾𝑘𝑢𝑘1subscript𝛾𝑘superscriptsubscript𝐮𝑘0\displaystyle=\gamma_{k}u(k)+(1-\gamma_{k})\mathbf{u}_{k}^{*}(0).= italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_u ( italic_k ) + ( 1 - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) bold_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) . (31)

Note that we use the state x(k)𝑥𝑘x(k)italic_x ( italic_k ) and control input u(k)𝑢𝑘u(k)italic_u ( italic_k ), when γk=1subscript𝛾𝑘1\gamma_{k}=1italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, where u(k)𝑢𝑘u(k)italic_u ( italic_k ) can be calculated according to (7). This leads to x(k+1)x^(k+1|k)𝕎𝑥𝑘1direct-sum^𝑥𝑘conditional1𝑘𝕎x(k+1)\subseteq\hat{x}(k+1|k)\oplus\mathbb{W}italic_x ( italic_k + 1 ) ⊆ over^ start_ARG italic_x end_ARG ( italic_k + 1 | italic_k ) ⊕ blackboard_W, which gives us a better estimate than with the estimator of Section IV-D, where x(k+1)x^(k+1|k)K𝑥𝑘1direct-sum^𝑥𝑘conditional1𝑘subscript𝐾{x(k+1)\subseteq\hat{x}(k+1|k)\oplus\mathbb{Z}_{K}}italic_x ( italic_k + 1 ) ⊆ over^ start_ARG italic_x end_ARG ( italic_k + 1 | italic_k ) ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT. Otherwise, the estimator will use the last optimal trajectory of the MPC to estimate the next state, which gives us again an estimate of the nominal plant. However, this new estimate does not guarantee that x^(k+1|k)𝕏c^𝑥𝑘conditional1𝑘subscript𝕏c\hat{x}(k+1|k)\in\mathbb{X}_{\text{c}}over^ start_ARG italic_x end_ARG ( italic_k + 1 | italic_k ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT when γk=1subscript𝛾𝑘1\gamma_{k}=1italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, which requires us to change the constraint (19d) in our MPC described in Section IV-A to guarantee feasibility. Thus, we replace constraint (19d) with

{x^(k1|k)}𝕎{𝐱k(0)}K,direct-sum^𝑥𝑘conditional1𝑘𝕎direct-sumsubscript𝐱𝑘0subscript𝐾\displaystyle\{\hat{x}(k-1|k)\}\oplus\mathbb{W}\subseteq\{\mathbf{x}_{k}(0)\}% \oplus\mathbb{Z}_{K},{ over^ start_ARG italic_x end_ARG ( italic_k - 1 | italic_k ) } ⊕ blackboard_W ⊆ { bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( 0 ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT , (32)

when γk1=1subscript𝛾𝑘11\gamma_{k-1}=1italic_γ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 1 and otherwise we keep (19d). Hence, the MPC algorithm is now made aware if packets have been received. Furthermore, the constraint (32) allows the MPC to reset the nominal state trajectory, since now it is not necessarily true that 𝐱k(0)=x^(k|k1)subscript𝐱𝑘0^𝑥conditional𝑘𝑘1\mathbf{x}_{k}(0)=\hat{x}(k|k-1)bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( 0 ) = over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) as it is the case for (19d). This can improve the convergence as discussed in Chapter 3.5 of [5].

Since the MPC can change the optimal trajectory of the nominal plant, we need to update the trajectory on the nominal plant if a consistent packet has been received. This is done by changing the controller packet (20) to

Uk={𝐮k,u¯k+K¯x¯k,𝐱k(0),qk},subscript𝑈𝑘superscriptsubscript𝐮𝑘superscriptsubscript¯𝑢𝑘¯𝐾superscriptsubscript¯𝑥𝑘superscriptsubscript𝐱𝑘0subscript𝑞𝑘U_{k}=\{\mathbf{u}_{k}^{*},\bar{u}_{k}^{*}+\bar{K}\bar{x}_{k}^{*},\mathbf{x}_{% k}^{*}(0),q_{k}\},italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { bold_u start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT + over¯ start_ARG italic_K end_ARG over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) , italic_q start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } , (33)

and setting xn(k)=𝐱k(0)subscript𝑥n𝑘superscriptsubscript𝐱𝑘0x_{\text{n}}(k)=\mathbf{x}_{k}^{*}(0)italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) = bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) if Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1.

Proposition 3.

Let Assumption 5 hold, and assume there exists a k0subscript𝑘0k_{0}italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT such that γk01=1subscript𝛾subscript𝑘011\gamma_{k_{0}-1}=1italic_γ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - 1 end_POSTSUBSCRIPT = 1, θk0=1subscript𝜃subscript𝑘01\theta_{k_{0}}=1italic_θ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1, x(k0)xn(k0)K𝑥subscript𝑘0subscript𝑥nsubscript𝑘0subscript𝐾{x(k_{0})-x_{\text{n}}(k_{0})\in\mathbb{Z}_{K}}italic_x ( italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) - italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∈ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT, and that the optimization problem (19) is feasible with the new constraint (32). If the consistent actuator (24) with the nominal state update and the ancillary controller (7) are used, the optimization problem (19) with the new constraint (32) is feasible, and x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U for all kk0𝑘subscript𝑘0k\geq k_{0}italic_k ≥ italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT.

Proof.

If γk=0subscript𝛾𝑘0\gamma_{k}=0italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0, the problem is feasible, since the nominal state is used in the estimator. If γk=1subscript𝛾𝑘1\gamma_{k}=1italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 we can show that

x^(k|k1){xn(k)}(ABK)K.^𝑥conditional𝑘𝑘1direct-sumsubscript𝑥n𝑘𝐴𝐵𝐾subscript𝐾\displaystyle\hat{x}(k|k-1)\in\{x_{\text{n}}(k)\}\oplus(A-BK)\mathbb{Z}_{K}.over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) ∈ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ ( italic_A - italic_B italic_K ) blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT . (34)

holds. This leads to

x(k+1)𝑥𝑘1\displaystyle x(k+1)italic_x ( italic_k + 1 ) {x^(k|k1)}𝕎{xn(k)}K.absentdirect-sum^𝑥conditional𝑘𝑘1𝕎direct-sumsubscript𝑥n𝑘subscript𝐾\displaystyle\in\{\hat{x}(k|k-1)\}\oplus\mathbb{W}\subseteq\{x_{\text{n}}(k)\}% \oplus\mathbb{Z}_{K}.∈ { over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) } ⊕ blackboard_W ⊆ { italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT . (35)

Hence, the constraints {x^(k|k1)}𝕎{𝐱k(0)}Kdirect-sum^𝑥conditional𝑘𝑘1𝕎direct-sumsubscript𝐱𝑘0subscript𝐾\{\hat{x}(k|k-1)\}\oplus\mathbb{W}\subseteq\{\mathbf{x}_{k}(0)\}\oplus\mathbb{% Z}_{K}{ over^ start_ARG italic_x end_ARG ( italic_k | italic_k - 1 ) } ⊕ blackboard_W ⊆ { bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( 0 ) } ⊕ blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT and 𝐱k(0)𝕏csubscript𝐱𝑘0subscript𝕏c\mathbf{x}_{k}(0)\in\mathbb{X}_{\text{c}}bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( 0 ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT are feasible with the choice of 𝐱k(0)=xn(k)subscript𝐱𝑘0subscript𝑥n𝑘{\mathbf{x}_{k}(0)=x_{\text{n}}(k)}bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( 0 ) = italic_x start_POSTSUBSCRIPT n end_POSTSUBSCRIPT ( italic_k ). So the optimal solution of our original MPC (19) is a feasible solution of the extended MPC with constraint (32). Thus, the extended MPC with state feedback is recursively feasible for all kk0𝑘subscript𝑘0k\geq k_{0}italic_k ≥ italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, since the original MPC is recursive feasible as shown in Proposition 2. Since 𝐱k(0)𝕏csuperscriptsubscript𝐱𝑘0subscript𝕏c\mathbf{x}_{k}^{*}(0)\in\mathbb{X}_{\text{c}}bold_x start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( 0 ) ∈ blackboard_X start_POSTSUBSCRIPT c end_POSTSUBSCRIPT, the nominal state update, when Θk=1subscriptΘ𝑘1\Theta_{k}=1roman_Θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1, will not change the guarantees given by the ancillary controller, such that x(k)𝕏𝑥𝑘𝕏x(k)\in\mathbb{X}italic_x ( italic_k ) ∈ blackboard_X and u(k)𝕌𝑢𝑘𝕌u(k)\in\mathbb{U}italic_u ( italic_k ) ∈ blackboard_U for all kk0𝑘subscript𝑘0k\geq k_{0}italic_k ≥ italic_k start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. ∎

Corollary 2.

The tracking guarantees of Theorem 1 hold for the extended MPC with state feedback as well.

Proof.

Since Proposition 3 shows that the solution of the original MPC is a feasible solution of the extended MPC, we can deduce that the tracking guarantees of the original MPC also hold for the extended MPC. ∎

In summary, this extension includes state feedback from the plant, which can change the optimal trajectory of the nominal plant to improve performance as well with the same theoretical guarantees of the previous approach. However, this approach requires more bandwidth and might change the execution times of the MPC.

V Numerical Examples

To demonstrate the efficacy of our proposed approach, henceforth called RT-MPC and ERT-MPC for the extended version with state feedback (see Section IV-F), we use it to track a position reference of a cartpole system, where the pole is in the upright unstable configuration. We compare our approach with the approach of [9], subsequently called R-MPC. Scripts to reproduce the results presented are included in our open-source code.

In order to design our nominal plant, we linearize the nonlinear dynamics around the unstable equilibrium point, where the pole is pointing up. The resulting continuous-time matrices are defined as follows for the state x=[pp˙ϕϕ˙]𝑥superscriptmatrix𝑝˙𝑝italic-ϕ˙italic-ϕtopx~{}=~{}\begin{bmatrix}p&\dot{p}&\phi&\dot{\phi}\end{bmatrix}^{\top}italic_x = [ start_ARG start_ROW start_CELL italic_p end_CELL start_CELL over˙ start_ARG italic_p end_ARG end_CELL start_CELL italic_ϕ end_CELL start_CELL over˙ start_ARG italic_ϕ end_ARG end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT:

Ac=[01000(I+ml2)brm2gl2r000010(mlb)rmgl(M+m)r0]Bc=[0I+ml2r0mlr],subscript𝐴𝑐matrix01000𝐼𝑚superscript𝑙2𝑏𝑟superscript𝑚2𝑔superscript𝑙2𝑟000010𝑚𝑙𝑏𝑟𝑚𝑔𝑙𝑀𝑚𝑟0subscript𝐵𝑐matrix0𝐼𝑚superscript𝑙2𝑟0𝑚𝑙𝑟A_{c}=\begin{bmatrix}0&1&0&0\\ 0&\frac{-(I+ml^{2})b}{r}&\frac{-m^{2}gl^{2}}{r}&0\\ 0&0&0&1\\ 0&\frac{-(mlb)}{r}&\frac{mgl(M+m)}{r}&0\end{bmatrix}\;B_{c}=\begin{bmatrix}0\\ \frac{I+ml^{2}}{r}\\ 0\\ \frac{-ml}{r}\end{bmatrix},italic_A start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL 0 end_CELL start_CELL 1 end_CELL start_CELL 0 end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL divide start_ARG - ( italic_I + italic_m italic_l start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) italic_b end_ARG start_ARG italic_r end_ARG end_CELL start_CELL divide start_ARG - italic_m start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_g italic_l start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_r end_ARG end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL 1 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL divide start_ARG - ( italic_m italic_l italic_b ) end_ARG start_ARG italic_r end_ARG end_CELL start_CELL divide start_ARG italic_m italic_g italic_l ( italic_M + italic_m ) end_ARG start_ARG italic_r end_ARG end_CELL start_CELL 0 end_CELL end_ROW end_ARG ] italic_B start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL 0 end_CELL end_ROW start_ROW start_CELL divide start_ARG italic_I + italic_m italic_l start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_r end_ARG end_CELL end_ROW start_ROW start_CELL 0 end_CELL end_ROW start_ROW start_CELL divide start_ARG - italic_m italic_l end_ARG start_ARG italic_r end_ARG end_CELL end_ROW end_ARG ] ,

where p𝑝pitalic_p is the position of the cart, ϕitalic-ϕ\phiitalic_ϕ the angle of the pole, r=I(M+m)+Mml2𝑟𝐼𝑀𝑚𝑀𝑚superscript𝑙2{r=I(M+m)+Mml^{2}}italic_r = italic_I ( italic_M + italic_m ) + italic_M italic_m italic_l start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, with the remaining parameters and their values defined in Table I. The system is then discretized with a zero-order hold and a sampling time of Ts=20 mssubscript𝑇𝑠times20millisecondT_{s}=$20\text{\,}\mathrm{ms}$italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = start_ARG 20 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG in order to obtain (6). The controllers K𝐾Kitalic_K and K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG are designed as a discrete LQR controller with cost matrices Q=diag(100,10,100,10)𝑄diag1001010010{Q=\mathrm{diag}(100,10,100,10)}italic_Q = roman_diag ( 100 , 10 , 100 , 10 ) and R=0.1𝑅0.1R=0.1italic_R = 0.1. Furthermore, we choose |p|5 m𝑝times5meter|p|\leq$5\text{\,}\mathrm{m}$| italic_p | ≤ start_ARG 5 end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG, |p˙|5 m/s˙𝑝times5ms|\dot{p}|\leq$5\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}$| over˙ start_ARG italic_p end_ARG | ≤ start_ARG 5 end_ARG start_ARG times end_ARG start_ARG roman_m / roman_s end_ARG, |ϕ|0.3 raditalic-ϕtimes0.3radian|\phi|\leq$0.3\text{\,}\mathrm{rad}$| italic_ϕ | ≤ start_ARG 0.3 end_ARG start_ARG times end_ARG start_ARG roman_rad end_ARG, |ϕ˙|2 rad/s˙italic-ϕtimes2rads|\dot{\phi}|\leq$2\text{\,}\mathrm{rad}\mathrm{/}\mathrm{s}$| over˙ start_ARG italic_ϕ end_ARG | ≤ start_ARG 2 end_ARG start_ARG times end_ARG start_ARG roman_rad / roman_s end_ARG, and |u|10 N𝑢times10newton|u|\leq$10\text{\,}\mathrm{N}$| italic_u | ≤ start_ARG 10 end_ARG start_ARG times end_ARG start_ARG roman_N end_ARG to define 𝕏𝕏\mathbb{X}blackboard_X and 𝕌𝕌\mathbb{U}blackboard_U. The constraints on ϕitalic-ϕ\phiitalic_ϕ and ϕ˙˙italic-ϕ\dot{\phi}over˙ start_ARG italic_ϕ end_ARG guarantee that the LQR controller stabilizes the system. Finally, we choose N=20𝑁20N=20italic_N = 20 as the horizon for the MPC.

V-A Disturbance set 𝕎𝕎\mathbb{W}blackboard_W

The linearized model will inherently differ from the nonlinear one, and such model error will be represented as the disturbance w(k)𝑤𝑘w(k)italic_w ( italic_k ). To estimate the set 𝕎𝕎\mathbb{W}blackboard_W, we run several simulations with randomly chosen initial conditions, and let the LQR controller bring the system back to the origin. The disturbance is then estimated as the difference between the actual state and the linear model, i.e. w(k)=x(k+1)(ABK)x(k)𝑤𝑘𝑥𝑘1𝐴𝐵𝐾𝑥𝑘w(k)=x(k+1)-(A-BK)x(k)italic_w ( italic_k ) = italic_x ( italic_k + 1 ) - ( italic_A - italic_B italic_K ) italic_x ( italic_k ). This results in the following bounds for the disturbance of the position |wp|0.0001 msubscript𝑤𝑝times0.0001meter|w_{p}|\leq$0.0001\text{\,}\mathrm{m}$| italic_w start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT | ≤ start_ARG 0.0001 end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG, velocity |wp˙|0.0027 m/ssubscript𝑤˙𝑝times0.0027ms|w_{\dot{p}}|\leq$0.0027\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}$| italic_w start_POSTSUBSCRIPT over˙ start_ARG italic_p end_ARG end_POSTSUBSCRIPT | ≤ start_ARG 0.0027 end_ARG start_ARG times end_ARG start_ARG roman_m / roman_s end_ARG, angle |wϕ|0.0003 radsubscript𝑤italic-ϕtimes0.0003radian|w_{\phi}|\leq$0.0003\text{\,}\mathrm{rad}$| italic_w start_POSTSUBSCRIPT italic_ϕ end_POSTSUBSCRIPT | ≤ start_ARG 0.0003 end_ARG start_ARG times end_ARG start_ARG roman_rad end_ARG, and angular velocity |wϕ˙|0.043 rad/ssubscript𝑤˙italic-ϕtimes0.043rads|w_{\dot{\phi}}|\leq$0.043\text{\,}\mathrm{rad}\mathrm{/}\mathrm{s}$| italic_w start_POSTSUBSCRIPT over˙ start_ARG italic_ϕ end_ARG end_POSTSUBSCRIPT | ≤ start_ARG 0.043 end_ARG start_ARG times end_ARG start_ARG roman_rad / roman_s end_ARG. To approximate Ksubscript𝐾\mathbb{Z}_{K}blackboard_Z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT we use a method described in [15].

TABLE I: Parameters used in the numerical examples.
Definition Value
I𝐼Iitalic_I Pendulum’s inertia 0.001 kgm2times0.001kgsuperscriptm20.001\text{\,}\mathrm{k}\mathrm{g}\cdot\mathrm{m}^{2}start_ARG 0.001 end_ARG start_ARG times end_ARG start_ARG roman_kg ⋅ roman_m start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG
l𝑙litalic_l Length to pendulum center of mass 0.5 mtimes0.5meter0.5\text{\,}\mathrm{m}start_ARG 0.5 end_ARG start_ARG times end_ARG start_ARG roman_m end_ARG
m𝑚mitalic_m Pendulum’s mass 0.1 kgtimes0.1kilogram0.1\text{\,}\mathrm{kg}start_ARG 0.1 end_ARG start_ARG times end_ARG start_ARG roman_kg end_ARG
M𝑀Mitalic_M Cart’s mass 1.0 kgtimes1.0kilogram1.0\text{\,}\mathrm{kg}start_ARG 1.0 end_ARG start_ARG times end_ARG start_ARG roman_kg end_ARG
b𝑏bitalic_b Cart’s coefficient of friction 0 N/m/stimes0Nms0\text{\,}\mathrm{N}\mathrm{/}\mathrm{m}\mathrm{/}\mathrm{s}start_ARG 0 end_ARG start_ARG times end_ARG start_ARG roman_N / roman_m / roman_s end_ARG
g𝑔gitalic_g Gravity acceleration 9.8 m/s2times9.8msuperscripts29.8\text{\,}\mathrm{m}\mathrm{/}\mathrm{s}^{2}start_ARG 9.8 end_ARG start_ARG times end_ARG start_ARG roman_m / roman_s start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG
Tssubscript𝑇𝑠T_{s}italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT Sampling Time 0.02 stimes0.02second0.02\text{\,}\mathrm{s}start_ARG 0.02 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG

V-B Reference Tracking

Next, we present results for the tracking of a constant reference in position p𝑝pitalic_p. To do so, the cartpole system is always initialized at the origin, and the reference is set to r(k)=[0.5,0,0,0]𝑟𝑘superscriptmatrix0.5000topr(k)=\begin{bmatrix}0.5,0,0,0\end{bmatrix}^{\top}italic_r ( italic_k ) = [ start_ARG start_ROW start_CELL 0.5 , 0 , 0 , 0 end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. To evaluate the performance, we use the average tracking error 1T+1i=0Tx(k)r(k)21𝑇1superscriptsubscript𝑖0𝑇subscriptnorm𝑥𝑘𝑟𝑘2\frac{1}{T+1}\sum_{i=0}^{T}\|x(k)-r(k)\|_{2}divide start_ARG 1 end_ARG start_ARG italic_T + 1 end_ARG ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∥ italic_x ( italic_k ) - italic_r ( italic_k ) ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. For the lossy network, we assume a constant packet loss probability of ϱitalic-ϱ\varrhoitalic_ϱ and investigate ϱ{0,0.1,,0.9}italic-ϱ00.10.9\varrho\in\{0,0.1,\ldots,0.9\}italic_ϱ ∈ { 0 , 0.1 , … , 0.9 }. In addition to that, we perform 20202020 simulations for each value of ϱitalic-ϱ\varrhoitalic_ϱ and record the average tracking error to get a better insight for different realizations of the lossy network.

V-B1 Linear Plant

We begin by comparison with the plant being simulated with linear dynamics, where the disturbance w(k)𝑤𝑘w(k)italic_w ( italic_k ) is sampled uniformly from the set 𝕎𝕎\mathbb{W}blackboard_W at each time step. The results are presented as a box plot in Figure 3(a).

First, note that both RT-MPC and ERT-MPC outperform R-MPC for every packet loss probability investigated. Second, for a packet loss probability of ϱ=0.9italic-ϱ0.9\varrho=0.9italic_ϱ = 0.9, the average tracking error decreases. The reason for that is that due to the large packet loss the cartpole moves less aggressively than when there is less packet loss. This leads to a smaller tracking error for the velocity, angle, and angular velocity, since their reference values are zero, which lowers the overall tracking error. Third, during our simulations, we encountered infeasibility issues for R-MPC. While [9] proves recursive feasibility for the plant without a disturbance present, the presence of a disturbance in our simulations showed that infeasibility can occur. Hence, modelling errors can result in infeasible MPC problems for R-MPC, which we will encounter again when the nonlinear plant is used. Comparing RT-MPC and ERT-MPC we observe that the performance of ERT-MPC seems almost constant, while the tracking error for RT-MPC increases with the packet loss probability. The ability to reset the nominal trajectory is likely the reason for the constant performance of ERT-MPC.

V-B2 Nonlinear Plant

Next, we compare the controllers on the nonlinear cartpole simulated using PyBullet. To do so, the physics simulators runs at a higher frequency than the controllers (500 Hztimes500hertz500\text{\,}\mathrm{Hz}start_ARG 500 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG, to be precise), and a zero-order hold keeps the control input constant between controller updates.

Figure 3(b) shows the box plots of the average tracking error for the different packet loss probabilities. We observed that R-MPC struggled with infeasibility issues; notably, for ϱ{0,0.1,0.2,0.3,0.4}italic-ϱ00.10.20.30.4\varrho\in\{0,0.1,0.2,0.3,0.4\}italic_ϱ ∈ { 0 , 0.1 , 0.2 , 0.3 , 0.4 } R-MPC is always infeasible in our simulations, and the larger ϱitalic-ϱ\varrhoitalic_ϱ the less infeasible problems were encountered. Therefore, the corresponding box plots only present the results of runs without an infeasible MPC problem. Our approach, on the other hand, is recursively feasible for all simulations performed.

The infeasibility issues decreasing with the increase of packet losses for R-MPC was a surprising result, since the opposite could sound more logical. Our intuition for this is that the LQR controller K¯¯𝐾\bar{K}over¯ start_ARG italic_K end_ARG used as the steady state controller is able to handle the nonlinearities of the system better than R-MPC, since it uses direct state feedback, while R-MPC estimates the next state based on the currently received state. Hence, the more packet loss there is, the more often the steady-state controller is used, which brings the plant to a state that R-MPC can actually handle well. Our approach, on the other hand, uses the LQR controller both as the steady-state controller in the MPC as well as the tracking controller to track the nominal plant state and, in addition to that, tightens the constraint set of the MPC by taking the propagation of the modelling error into account. This can be observed in Figure 3(c), where we present one trajectory of the position and angle at a packet loss of ϱ=0.4italic-ϱ0.4\varrho=0.4italic_ϱ = 0.4, and the star marks when the infeasibility occurred in R-MPC. R-MPC exhibits an oscillatory behaviour before it becomes infeasible, while RT-MPC has a smoother trajectory, which reaches the desired reference. By including actual state feedback in ERT-MPC the trajectory becomes even smoother due to the ability to reset the nominal trajectory based on the state x(k)𝑥𝑘x(k)italic_x ( italic_k ).

While our approaches have not shown any infeasibility issues, we noticed that the state is not always in a tube around the nominal state for ERT-MPC. These violations happened in the beginning of the simulation and then stopped. We believe that 𝕎𝕎\mathbb{W}blackboard_W does not capture the differences well in the beginning of the reference tracking which leads to these violations. We did not observe such violations for RT-MPC, probably because it is more conservative than ERT-MPC.

In general, we observe that our proposed solution outperforms R-MPC of [9] for all investigated value of ϱitalic-ϱ\varrhoitalic_ϱ. Interestingly, the tracking error seems to peak at ϱ=0.7italic-ϱ0.7\varrho=0.7italic_ϱ = 0.7 and then reduces again for R-MPC and RT-MPC, which is due to the same reason as in the linear case.

V-C Execution time of the MPC

Our simulations run on a 24GB RAM Windows machine with a Ryzen7 8-core CPU. From the 50000 executions of the MPC in Section V-B1, we removed the first execution time, since it represents the cold start of the optimization, and present the histogram of the remaining execution times in Figure 3(d). We observe that the majority of the sampling times is below 20 mstimes20millisecond20\text{\,}\mathrm{ms}start_ARG 20 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG, which shows that our MPC can run in real-time for the sampling time of 20 mstimes20millisecond20\text{\,}\mathrm{ms}start_ARG 20 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG. Further, the median and the 95%percent9595\,\%95 % quantile of the execution time for RT-MPC were 5.00 mstimes5.00millisecond5.00\text{\,}\mathrm{ms}start_ARG 5.00 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG and 7.85 mstimes7.85millisecond7.85\text{\,}\mathrm{ms}start_ARG 7.85 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG, respectively. The median and the 95%percent9595\,\%95 % quantile of the execution time for ERT-MPC were 6.21 mstimes6.21millisecond6.21\text{\,}\mathrm{ms}start_ARG 6.21 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG and 7.06 mstimes7.06millisecond7.06\text{\,}\mathrm{ms}start_ARG 7.06 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG, respectively. The histogram for ERT-MPC has two peaks because it solves two different MPC problems depending on if a measurement was received or not. While real-time execution is not considered here, an optimization problem that is not solved in time can be interpreted as a lost packet in a real scenario. Hence, our approach can deal with too long execution times of the MPC as well.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 3: Results comparing our approaches, RT-MPC and ERT-MPC, and R-MPC of [9]. In (a) and (b), the average tracking error over 20 runs for different packet loss probabilities is presented. Then, an example trajectory for a packet loss probability of ϱ=0.4italic-ϱ0.4\varrho=0.4italic_ϱ = 0.4 is presented in (c), where the star marks the moment when R-MPC becomes infeasible. Lastly, (d) shows the histogram of the execution time of the MPC.

VI Conclusions

We presented a novel framework that addresses the problem of controlling systems over lossy network connections. More precisely, we propose a robust tube-based MPC algorithm that allows for the tracking of a piecewise-constant reference signal with guaranteed convergence properties for constant references, recursive feasibility, and safety and input constraint satisfaction. Further, we presented numerical simulation results of the approach applied to a cartpole system, together with comparisons with state-of-the-art algorithms. Lastly, our code is available as open-source.

For future work, we would like to investigate time-varying trajectories and the reasons for the peak of the reference tracking error around a packet loss probability of 80%percent8080\%80 %.

References

  • [1] 5G-ACIA, “Key 5G Use Cases and Requirements,” Frankfurt am Main, Germany, Tech. Rep., May 2020.
  • [2] 5G-SMART, “5G-SMART Final Report,” Stockholm, Sweden, Tech. Rep. D7.4, 2022.
  • [3] A. Baxi, M. Eisen, S. Sudhakaran, F. Oboril, G. S. Murthy, V. S. Mageshkumar, M. Paulitsch, and M. Huang, “Towards factory-scale edge robotic systems: Challenges and research directions,” Internet of Things Magazine, vol. 5, no. 3, pp. 26–31, 2022.
  • [4] P. Park, S. Coleri Ergen, C. Fischione, C. Lu, and K. H. Johansson, “Wireless network design for control systems: A survey,” IEEE Communications Surveys & Tutorials, vol. 20, no. 2, pp. 978–1013, 2018.
  • [5] J. B. Rawlings, D. Q. Mayne, and M. Diehl, Model Predictive Control: Theory, Computation, and Design.   Nob Hill Publishing Madison, WI, 2022, vol. 2.
  • [6] S. Wildhagen, M. Pezzutto, L. Schenato, and F. Allgöwer, “Self-triggered MPC robust to bounded packet loss via a min-max approach,” in 2022 IEEE 61st Conference on Decision and Control (CDC), 2022, pp. 7670–7675.
  • [7] G. Pin and T. Parisini, “Networked predictive control of uncertain constrained nonlinear systems: Recursive feasibility and input-to-state stability analysis,” IEEE Transactions on Automatic Control, vol. 56, no. 1, pp. 72–87, 2011.
  • [8] P. K. Mishra, S. S. Diwale, C. N. Jones, and D. Chatterjee, “Reference tracking stochastic model predictive control over unreliable channels and bounded control actions,” Automatica, vol. 127, p. 109512, 2021.
  • [9] M. Pezzutto, M. Farina, R. Carli, and L. Schenato, “Remote MPC for tracking over lossy networks,” IEEE Control Systems Letters, vol. 6, pp. 1040–1045, 2022.
  • [10] D. Limon, I. Alvarado, T. Alamo, and E. Camacho, “Robust tube-based MPC for tracking of constrained linear systems with additive disturbances,” Journal of Process Control, vol. 20, no. 3, pp. 248–260, 2010.
  • [11] P. Roque, W. S. Cortez, L. Lindemann, and D. V. Dimarogonas, “Corridor MPC: Towards optimal and safe trajectory tracking,” in 2022 American Control Conference (ACC), 2022, pp. 2025–2032.
  • [12] D. Mayne, M. Seron, and S. Raković, “Robust model predictive control of constrained linear systems with bounded disturbances,” Automatica, vol. 41, no. 2, pp. 219–224, 2005.
  • [13] I. Kolmanovsky and E. G. Gilbert, “Theory and computation of disturbance invariant sets for discrete-time linear systems,” Mathematical problems in engineering, vol. 4, pp. 317–367, 1998.
  • [14] S. Rakovic, E. Kerrigan, K. Kouramas, and D. Mayne, “Invariant approximations of the minimal robust positively invariant set,” IEEE Transactions on Automatic Control, vol. 50, no. 3, pp. 406–410, 2005.
  • [15] M. S. Darup and D. Teichrib, “Efficient computation of RPI sets for tube-based robust MPC,” in 2019 18th European Control Conference (ECC), 2019, pp. 325–330.