2.1 Discrete Time Systems

In this book, we investigate model predictive control for discrete time nonlinear control systems of the form

$$ x^+ = f(x,u).$$
(2.1)

Here, thetransition map f:X×UX assigns the statex +X at the next time instant to each pair of statexX and control valueuU. Thestate space X and thecontrol value space U are arbitrary metric spaces, i.e., sets in which we can measure distances between two elementsx,yX oru,vU by metricsd X (x,y) ord U (u,v), respectively. Readers less familiar with metric spaces may think ofX=ℝd andU=ℝm ford,m∈ℕ with the Euclidean metricsd X (x,y)=‖xy‖ andd U (u,v)=‖uv‖ induced by the usual Euclidean norm ‖⋅‖, although some of our examples use different spaces. While most of the systems we consider possess continuous transition mapsf, we do not require continuity in general.

Theset of finite control sequences u(0),…,u(N−1) forN∈ℕ will be denoted byU N and theset of infinite control sequences u(0),u(1),u(2),… byU . Note that we may interpret the control sequences as functionsu:{0,…,N−1}→U oru:ℕ0U, respectively. For either type of control sequences we will briefly writeu(⋅) or simplyu if there is no ambiguity. With ℕ we denote the natural numbers including ∞ and with ℕ0 the natural numbers including 0.

Atrajectory of (2.1) is obtained as follows: given an initial valuex 0X and a control sequenceu(⋅)∈U K forK∈ℕ, we define the trajectoryx u (k) iteratively via

$$x_u(0)=x_0, \qquad x_u(k+1)=f\bigl(x_u(k),u(k)\bigr), $$
(2.2)

for allk∈ℕ0 ifK=∞ and fork=0,1,…,K−1 otherwise. Whenever we want to emphasize the dependence on the initial value we writex u (k,x 0).

An important basic property of the trajectories is thecocycle property: given an initial valuex 0X, a controluU N and time instantsk 1,k 2∈{0,…,N−1} withk 1k 2 the solution trajectory satisfies

$$x_u(k_2,x_0) = x_{u(\cdot +k_1)}\bigl(k_2-k_1,x_u(k_1,x_0)\bigr). $$
(2.3)

Here, theshifted control sequence\(u(\cdot+k_{1})\in U^{N-k_{1}}\) is given by

$$u(\cdot+k_1) (k) := u(k+k_1), \quad k\in\{0,\ldots, N-k_1-1\}, $$
(2.4)

i.e., if the sequenceu consists of theN elementsu(0),u(1),…,u(N−1), then the sequence\(\tilde{u} = u(\cdot+k_{1})\) consists of theNk 1 elements\(\tilde{u}(0)=u(k_{1}), \tilde{u}(1)=u(k_{1}+1), \ldots, \tilde{u}(N-k_{1}-1)=u(N-1)\). With this definition, the identity (2.3) is easily proved by induction using (2.2).

We illustrate our class of models by three simple examples—the first two being in fact linear.

Example 2.1

One of the simplest examples of a control system of type (2.1) is given byX=U=ℝ and

$$x^+ = x + u =: f(x,u).$$

This system can be interpreted as a very simple model of a vehicle on an infinite straight road in whichu∈ℝ is the traveled distance in the period until the next time instant. Foru>0 the vehicle moves right and foru<0 it moves left.

Example 2.2

A slightly more involved version of Example 2.1 is obtained if we consider the statex=(x 1,x 2)X=ℝ2, wherex 1 represents the position andx 2 the velocity of the vehicle. With the dynamics

$$ \left( {\begin{array}{*{20}l} {x_1^ + } \\ {x_2^ + } \\ \end{array}} \right) = \left( {\begin{array}{*{20}c} {x_1 + x_2 + u/2} \\ {x_2 + u} \\ \end{array}} \right) = :f(x,u) $$

on an appropriate time scale the controluU=ℝ can be interpreted as the (constant) acceleration in the period until the next time instant. For a formal derivation of this model from a continuous time system, see Example 2.6, below.

Example 2.3

Another variant of Example 2.1 is obtained if we consider the vehicle on a road which forms an ellipse, cf. Fig. 2.1, in which half of the ellipse is shown.

Fig. 2.1
figure 1

Illustration of Example 2.3

Here, the set of possible states is given by

$$ X = \left\{ {x \in R^{_2 } \left| {\left\| {\begin{array}{*{20}c} {x_1 } \\ {2x_2 } \\ \end{array}} \right\| = 1} \right.} \right\}. $$

SinceX is a compact subset of ℝ2 (more precisely a submanifold, but we will not need this particular geometric structure) we can use the metric induced by the Euclidean norm on ℝ2, i.e.,d X (x,y)=‖xy‖. Defining the dynamics

$$ \left( \begin{array}{l} x_1^ + \\ x_2^ + \\ \end{array} \right) = \left( \begin{array}{l} \sin (\vartheta (x) + u) \\ \cos (\vartheta (x) + u)/2 \\ \end{array} \right) = :f(x,u) $$

withuU=ℝ and

$$ \vartheta (x) = \left\{ {\begin{array}{*{20}c} {\arccos 2x_2 } & {x_1 \ge 0,} \\ {2\pi - \arccos 2x_2 ,} & {x_1< 0} \\ \end{array}} \right. $$

the vehicle moves on the ellipse with traveled distanceuU=ℝ in the next time step, where the traveled distance is now expressed in terms of the angleϑ. Foru>0 the vehicle moves clockwise and foru<0 it moves counterclockwise.

The main purpose of these very simple examples is to provide test cases which we will use in order to illustrate various effects in model predictive control. Due to their simplicity we can intuitively guess what a reasonable controller should do and often even analytically compute different optimal controllers. This enables us to compare the behavior of the NMPC controller with our intuition and other controllers. More sophisticated models will be introduced in the next section.

As outlined in the introduction, the model (2.1) will serve for generating the predictionsx u (k,x(n)) which we need in the optimization algorithm of our NMPC scheme, i.e., (2.1) will play the role of the model (1.1) used in the introduction. Clearly, in general we cannot expect that this mathematical model produces exact predictions for the trajectories of the real process to be controlled. Nevertheless, during Chaps. 37 and in Sects. 8.18.4 of this book we will suppose this idealized assumption. In other words, given the NMPC-feedback lawμ:XU, we assume that the resulting closed-loop system satisfies

$$x^+ = f\bigl(x,\mu(x)\bigr) $$
(2.5)

withf from (2.1). We will refer to (2.5) as thenominal closed-loop system.

There are several good reasons for using this idealized assumption: First, satisfactory behavior of the nominal NMPC closed loop is a natural necessary condition for the correctness of our controller—if we cannot ensure proper functioning in the absence of modeling errors we can hardly expect the method to work under real life conditions. Second, the assumption that the prediction is based on an exact model of the process considerably simplifies the analysis and thus allows us to derive sufficient conditions under which NMPC works in a simplified setting. Last, based on these conditions for the nominal model (2.5), we can investigate additional robustness conditions which ensure satisfactory performance also for the realistic case in which (2.5) is only an approximate model for the real closed-loop behavior. This issue will be treated in Sects. 8.58.9.

2.2 Sampled Data Systems

Most models of real life processes in technical and other applications are given as continuous time models, usually in form of differential equations. In order to convert these models into the discrete time form (2.1) we introduce the concept of sampling.

Let us assume that the control system under consideration is given by a finite-dimensional ordinary differential equation

$$\dot{x}(t) = f_c\bigl(x(t),v(t)\bigr) $$
(2.6)

withvector field f c :ℝd×ℝm→ℝd,control function v:ℝ→ℝm, and unknown functionx:ℝ→ℝd, where\(\dot{x}\) is the usual short notation for the derivativedx/dt andd,m∈ℕ are the dimensions of the state and the control vector. Here, we use the slightly unusual symbolv for the control function in order to emphasize the difference between the continuous time control functionv(⋅) in (2.6) and the discrete time control sequenceu(⋅) in (2.1).

Caratheodory’s Theorem (see, e.g., [15, Theorem 54]) states conditions onf c andv under which (2.6) has a unique solution. For its application we need the following assumption.

Assumption 2.4

The vector field f c :ℝd×ℝm→ℝd is continuous and Lipschitz in its first argument in the following sense:for each r>0there exists a constant L>0such that the inequality

$$\big\|f_c(x,v) - f_c(y,v)\big\| \le L\|x-y\|$$

holds for all x,y∈ℝd and all v∈ℝm withx‖≤r, ‖y‖≤r andv‖≤r.

Under Assumption 2.4, Caratheodory’s Theorem yields that for each initial valuex 0∈ℝd, each initial timet 0∈ℝ and each locally Lebesgue integrable control functionv:ℝ→ℝm equation (2.6) has a unique solutionx(t) withx(t 0)=x 0 defined for all timest contained in some open intervalI⊆ℝ witht 0I. We denote this solution byϕ(t,t 0,x 0,v).

We further denote the space of locally Lebesgue integrable control functions mapping ℝ into ℝm byL (ℝ,ℝm). For a precise definition of this space see, e.g., [15, Sect. C.1]. Readers not familiar with Lebesgue measure theory may always think ofv being piecewise continuous, which is the approach taken in [7, Chap. 3]. Since the space of piecewise continuous functions is a subset ofL (ℝ,ℝm), existence and uniqueness holds for these control functions as well. Note that if we consider (2.6) only for timest from an interval [t 0,t 1] then it is sufficient to specify the control functionv for these timest∈[t 0,t 1], i.e., it is sufficient to considervL ([t 0,t 1],ℝm). Furthermore, note that two Caratheodory solutionsϕ(t,t 0,x 0,v 1) andϕ(t,t 0,x 0,v 2) forv 1,v 2L (ℝ,ℝm) coincide ifv 1 andv 2 coincide for almost allτ∈[t 0,t], wherealmost all means thatv 1(τ)≠v 2(τ) may hold for\(\tau\in\mathcal{T}\subset[t_{0},t]\) where\(\mathcal{T}\) is a set with zero Lebesgue measure. Since, in particular, sets\(\mathcal{T}\) with only finitely many values have zero Lebesgue measure, this implies that for anyvL (ℝ,ℝm) the solutionϕ(t,t 0,x 0,v) does not change if we change the value ofv(τ) for finitely many timesτ∈[t 0,t].Footnote 1

The idea of sampling consists of defining a discrete time system (2.1) such that the trajectories of this discrete time system and the continuous time system coincide at the sampling timest 0<t 1<t 2<⋅⋅⋅<t N , i.e.,

$$\varphi(t_n,t_0,x_0,v) = x_u(n,x_0), \quad n=0,1,2,\ldots,N, $$
(2.7)

provided the continuous time control functionv:ℝ→ℝm and the discrete time control sequenceu(⋅)∈U N are chosen appropriately. Before we investigate how this appropriate choice can be done, cf. Theorem 2.7, below, we need to specify the discrete time system (2.1) which allows for such a choice.

Throughout this book we use equidistant sampling timest n =nT,n∈ℕ0, withsampling period T>0. For this choice, we claim that

$$x^+ = f(x,u) := \varphi(T,0,x,u) $$
(2.8)

forx∈ℝd anduL ([0,T],ℝm) is the desired discrete time system (2.1) for which (2.7) can be satisfied. Clearly,f(x,u) is only well defined if the solutionϕ(t,0,x,u) exists for the timet=T. Unless explicitly stated otherwise, we will tacitly assume that this is the case whenever usingf(x,u) from (2.8).

Before we explain the precise relation betweenu in (2.8) andu(⋅) and ν(⋅) in (2.7), cf. Theorem 2.7, below, we first look at possible choices ofu in (2.8). In general,u in (2.8) may be any function inL ([0,T],ℝm), i.e., any measurable continuous time control function defined on one sampling interval. This suggests that we should useU=L ([0,T],ℝm) in (2.1) whenf is defined by (2.8). However, other—much simpler—choices ofU as appropriate subsets ofL ([0,T],ℝm) are often possible and reasonable. This is illustrated by the following examples and discussed after Theorem 2.7 in more detail.

Example 2.5

Consider the continuous time control system

$$\dot{x}(t) = v(t)$$

withn=m=1. It is easily verified that the solutions of this system are given by

$$\varphi(t,0,x_0,v) = x_0 + \int_0^t v(\tau)\,d\tau.$$

Hence, forU=L ([0,T],ℝ) we obtain (2.8) as

$$x^+ = f(x,u) = x + \int_0^T u(\tau)\,d\tau.$$

If we restrict ourselves to constant control functionsu(t)≡u∈ℝ (for ease of notation we use the same symbolu for the function and for its constant value), which corresponds to choosingU=ℝ, thenf simplifies to

$$f(x,u) = x + T u.$$

If we further specifyT=1, then this is exactly Example 2.1.

Example 2.6

Consider the continuous time control system

$$ \dot x(t) = \nu (t) $$

withn=2 andm=1. In this model, if we interpretx 1(t) as the position of a vehicle at timet, then\(x_{2}(t)=\dot{x}_{1}(t)\) is its velocity and\(v(t)=\dot{x}_{2}(t)\) its acceleration.

Again, one easily computes the solutions of this system with initial valuex 0=(x 01,x 02) as

$$ \varphi (t,0,x_0 ,\upsilon ) = \left( {\begin{array}{*{20}c} {x_{01} + \int_0^t {x_2 (\tau )d\tau } } \\ {x_{02} + \int_0^t {\upsilon (\tau )d\tau } } \\ \end{array}} \right) = \left( {\begin{array}{*{20}c} {x_{01} + \int_0^t {(x_{02} \int_0^\tau \upsilon (s)ds)d\tau } } \\ {x_{02} + \int_0^t \upsilon (\tau )d\tau } \\ \end{array}} \right). $$

Hence, forU=L ([0,T],ℝ) andx=(x 1,x 2) we obtain (2.8) as

$$ x^ + = f(x,u) = x + \int_0^T u (\tau )d\tau . $$

If we restrict ourselves to constant control functionsu(t)≡u∈ℝ (again using the same symbolu for the function and for its constant value), i.e.,U=ℝ, thenf simplifies to

$$ f(x,u) = x + Tu. $$

If we further specifyT=1, then this is exactly Example 2.2.

In order to see how the control inputsv(⋅) in (2.6) andu(⋅) in (2.8) need to be related such that (2.8) ensures (2.7), we use that the continuous time trajectories satisfy the identity

$$\varphi(t,t_0,x_0,v) = \varphi\bigl(t-s,t_0-s,x_0,v(\cdot+s)\bigr) $$
(2.9)

for allt,s∈ℝ, provided, of course, the solutions exist for the respective times. Herev(⋅+s):ℝ→ℝm denotes the shifted control function, i.e.,v(⋅+s)(t)=v(t+s), see also (2.4). This identity is illustrated in Fig. 2.2: changingϕ(t,t 0s,x 0,v(⋅+s)) toϕ(ts,t 0s,x 0,v(⋅+s)) implies a shift of the upper graph bys to the right after which the two graphs coincide.

Fig. 2.2
figure 2

Illustration of equality (2.9)

Identity (2.9) follows from the fact thatx(t)=ϕ(ts,t 0s,x 0,v(⋅+s)) satisfies

$$ \begin{array}{*{20}l} {\dot x(t)} \hfill & { = \frac{d}{{dt}}\varphi (t - s,t_0 - s,x_0 ,\nu ( \cdot + s))} \hfill \\ {} \hfill & { = f(\varphi (t - s,t_0 - s,x_0 ,\nu ( \cdot + s)),\nu ( \cdot + s)(t - s)) = f(x(t),\nu (t))} \hfill \\ \end{array} $$

and

$$x(t_0) = \varphi\bigl(t_0-s,t_0-s,x_0,v(\cdot+s)\bigr) = x_0.$$

Hence, both functions in (2.9) satisfy (2.6) with the same control function and fulfill the same initial condition. Consequently, they coincide by uniqueness of the solution.

Using a similar uniqueness argument one sees that the solutionsϕ satisfy thecocycle property

$$\varphi(t,t_0,x_0,v) = \varphi\bigl(t,s,\varphi(s,t_0,x_0,v),v\bigr) $$
(2.10)

for allt,s∈ℝ, again provided all solutions in this equation exist for the respective times. This is the continuous time version of the discrete time cocycle property (2.3). Note that in (2.3) we have combined the discrete time counterparts of (2.9) and (2.10) into one equation since by (2.2) the discrete time trajectories always start at time 0.

With the help of (2.9) and (2.10) we can now prove the following theorem.

Theorem 2.7

Assume that (2.6)satisfies Assumption 2.4and let x 0∈ℝd and vL ([t 0,t N ],ℝm)be given such that ϕ(t n ,t 0,x 0,v)exists for all sampling times t n =nT,n=0,…,N with T>0.Define the control sequence u(⋅)∈U N with U=L ([0,T],ℝm)by

$$u(n) = v|_{[t_n,t_{n+1}]}(\cdot+t_n), \quad n=0,\ldots,N-1, $$
(2.11)

where \(v|_{[t_{n},t_{n+1}]}\) denotes the restriction of v onto the interval [t n ,t n+1].Then

$$\varphi(t_n,t_0,x_0,v) = x_u(n,x_0) $$
(2.12)

holds for n=0,…,N and the trajectory of the discrete time system (2.1)defined by (2.8).

Conversely,given u(⋅)∈U N with U=L ([0,T],ℝm),then (2.12)holds for n=0,…,N for any vL ([t 0,t N ],ℝm)satisfying

$$ \nu (t)\, = \,u(n)\,(t - t_n )\,\,for\,almost\,all\,t\, \in \,[t_n ,\,t_n + 1]\,and\,all\,n = 0,....,N. $$
(2.13)

provided ϕ(t n ,t 0,x 0,v)exists for all sampling times t n =nT,n=0,…,N.

Proof

We prove the assertion by induction overn. Forn=0 we can use the initial conditions to get

$$x_u(t_0,u) = x_0 = \varphi(t_0,t_0,x_0,v).$$

For the induction stepnn+1 assume (2.12) fort n as induction assumption. Then by definition ofx u we get

$$ \begin{array}{l} x_u (n + 1,x_0 ) = f(x_u (n,x_0 ),u(n)) = \varphi (T,0,x_u (n,x_0 ),u(n)) \\ \quad \quad \quad \quad \quad = \varphi (T,0,\varphi (t_n ,t_0 ,x_0 ,\upsilon ),\upsilon ( \cdot + t_n )) \\ \quad \quad \quad \quad \quad = \varphi (t_{n + 1} ,t_n ,\varphi (t_n ,t_0 ,x_0 ,\upsilon ),\upsilon ) \\ \quad \quad \quad \quad \quad = \varphi (t_{n + 1} ,t_0 ,x_0 ,\upsilon ), \\ \end{array} $$

where we used the induction assumption in the third equality, (2.9) in the fourth equality and (2.10) in the last equality.

The converse statement follows by observing that applying (2.11) for anyv satisfying (2.13) yields a sequence of control functionsu(0),…,u(N−1) whose elements coincide with the original ones for almost allt∈[0,T]. □

Remark 2.8

At first glance it may seem that the condition onv in (2.13) is not well defined at the sampling timest n : from (2.13) forn−1 andt=t n we obtainv(t n )=u(n−1)(t n t n−1) while (2.13) forn andt=t n yieldsv(t n )=u(n)(0) and, of course, the valuesu(n−1)(t n t n−1) andu(n)(0) need not coincide. However, this does not pose a problem because the set of sampling timest n in (2.13) is finite and thus the solutionsϕ(t,t 0,x 0,v) do not depend on the valuesv(t n ),n=0,…,N−1, cf. the discussion after Assumption 2.4. Formally, this is reflected in the wordsalmost all in (2.13), which in particular imply that (2.13) is satisfied regardless of howv(t n ),n=0,…,N−1 is chosen.

Theorem 2.7 shows that we can reproduce every continuous time solution at the sampling times if we chooseU=L ([0,T],ℝm). Although this is a nice property for our subsequent theoretical investigations, usually this is not a good choice for practical purposes in an NMPC context: recall from the introduction that in NMPC we want to optimize over the sequenceu(0),…,u(N−1)∈U N in order to determine the feedback valueμ(x(n))=u(0)∈U. UsingU=L ([0,T],ℝm), each element of this sequence and hence alsoμ(x(n)) is an element from a very large infinite-dimensional function space. In practice, such a general feedback concept is impossible to implement. Furthermore, although theoretically it is well possible to optimize over sequences from this space, for practical algorithms we will have to restrict ourselves to finite-dimensional sets, i.e., to subsetsUL ([0,T],ℝm) whose elements can be represented by finitely many parameters.

A popular way to achieve this—which is also straightforward to implement in technical applications—is viazero order hold, where we chooseU to be the space of constant functions, which we can identify with ℝm, cf. also the Examples 2.5 and 2.6. Foru(n)∈U, the continuous time control functionsv generated by (2.13) are then piecewise constant on the sampling intervals, i.e.,v(t)=u(n) for almost allt∈[t n ,t n+1], as illustrated in Fig. 2.3. Recall from Remark 2.8 that the fact that the sampling intervals overlap at the sampling instantst n does not pose a problem.

Fig. 2.3
figure 3

Illustration of zero order hold: the sequenceu(n)∈ℝm on theleft corresponds to the piecewise constant control functions with ν(t)=u(n) for almost allt∈[t n ,t n+1] on theright

Consequently, the feedbackμ(x(n)) is a single control value from ℝm to be used as a constant control signal on the sampling interval [t n ,t n+1]. This is also the choice we will use in Chap. 9 on numerical methods for solving (2.6) and which is implemented in our NMPC software, cf. the Appendix. In our theoretical investigations, we will nevertheless allow for arbitraryUL ([0,T],ℝm).

Other possible choices ofU can be obtained, e.g., by polynomialsu:[0,T]→ℝm resulting in piecewise polynomial control functionsv. Yet another choice can be obtained by multirate sampling, in which we introduce a smaller sampling periodτ=T/K for someK∈ℕ,K≥2 and chooseU to be the space of functions which are constant on the intervals [,(j+1)τ),j=0,…,K−1. In all cases the timen in the discrete time system (2.1) corresponds to the timet n =nT in the continuous time system.

Remark 2.9

The particular choice ofU affects various properties of the resulting discrete time system. For instance, in Chap. 5 we will need the sets\(\mathbb{X}_{N}\) which contain all initial valuesx 0 for which we can find a control sequenceu(⋅) with\(x_{u}(N,x_{0})\in\mathbb{X}_{0}\) for some given set\(\mathbb{X}_{0}\). Obviously, for sampling with zero order hold, i.e., forU=ℝm, this set\(\mathbb{X}_{N}\) will be smaller than for multirate sampling or for sampling withU=L ([0,T],ℝm). For this reason, we will formulate all assumptions needed in the subsequent chapters directly in terms of the discrete time system (2.1) rather than for the continuous time system (2.6), cf. also Remark 6.7.

When using sampled data models, the mapf from (2.8) is usually not available in exact analytical form but only as a numerical approximation. We will discuss this issue in detail in Chap. 9.

We end this section by three further examples we will use for illustration purposes later in this book.

Example 2.10

A standard example in control theory is theinverted pendulum on a cart problem shown in Fig. 2.4.

Fig. 2.4
figure 4

Schematical sketch of the inverted pendulum on a cart problem: The pendulum (with unit massm=1) is attached to a cart which can be controlled using the acceleration forceu. Via the joint, this force will have an effect on the dynamics of the pendulum

This problem has two types of equilibria, the stable downright position and the unstable upright position. A typical task is to stabilize one of the unstable upright equilibria. Normalizing the mass of the pendulum to 1, the dynamics of this system can be expressed via the system of ordinary differential equations

$$ \begin{array}{*{20}l} {\dot x_1 (t)} \hfill & { = x_2 (t),} \hfill \\ {\dot x_2 (t)} \hfill & { - \frac{g}{l}\sin (x_1 (t)) - (t)\cos (x_1 (t)) - \frac{{k_L }}{l}x_2 (t)|x_2 (t)| - k_R {\mathop{\rm sgn}} (x_2 (t),} \hfill \\ {\dot x_3 (t)} \hfill & {x_4 (t),} \hfill \\ {\dot x_4 (t)} \hfill & { = u(t)} \hfill \\ \end{array} $$

with gravitational forceg, length of the penduluml, air friction constantk L and rotational friction constantk R . Here,x 1 denotes the angle of the pendulum,x 2 the angular velocity of the pendulum,x 3 the position andx 4 the velocity of the cart. For this system the upright unstable equilibria are of the form ((2k+1)π,0,0,0) fork∈ℤ.

Our model thus presented deviates from other variants often found in the literature, see, e.g., [2,9], in terms of the types of friction we included. Instead of the linear friction model often considered, here we use a nonlinear air friction term\(\frac{k_{L}}{l} x_{2}(t) | x_{2}(t) |\) and a rotational discontinuous Coulomb friction termk R sgn (x 2(t)). The air friction term captures the fact that the force induced by the air friction grows quadratically with the speed of the pendulum mass. The Coulomb friction term is derived from first principles using Coulomb’s law, see, e.g., [17] for an introduction and a description of the mathematical and numerical difficulties related to discontinuous friction terms. We consider this type of modeling as more appropriate in an NMPC context, since it describes the evolution of the dynamics more accurately, especially around the upright equilibria which we want to stabilize. For short time intervals, these nonlinear effect may be neglected, but within the NMPC design we have to predict the future development of the system for rather long periods, which may render the linear friction model inappropriate.

Unfortunately, these friction terms pose problems both theoretically and numerically:

$$ \dot x_2 (t) = - \frac{g}{l}\sin (x_1 (t)) - u(t)\cos (x_1 (t)) - \underbrace {\frac{{k_L }}{l}x_2 (t)|x_2 (t)|}_{{\rm not}\,\,C^2 }\underbrace { - k_R {\mathop{\rm sgn}} (x_2 (t))}_{{\rm discountinuous}}. $$

The rotational Coulomb friction term is discontinuous inx 2(t), hence Assumption 2.4, which is needed for Caratheodory’s existence and uniqueness theorem, is not satisfied. In addition, the air friction term is only once continuously differentiable inx 2(t), which poses problems when using higher order numerical methods for solving the ODE for computing the NMPC predictions, cf. the discussion before Theorem 9.5 in Chap. 9.

Hence, for the friction terms we use smooth approximations, which allow us to approximate the behavior of the original equation:

$$ \dot x_1 (t) = x_2 (t), $$
(2.14)
$$ \begin{array}{*{20}l} {\dot x_2 (t)} \hfill & { = \frac{g}{l}\sin (x_1 (t)) - \frac{{k_L }}{l}\arctan (1000x_2 (t))x_2^2 (t) - u(t)\cos (x_1 (t))} \hfill \\ {} \hfill & { - k_R \left( {\frac{{4ax_2 (t)}}{{1 + 4(ax_2 (t))^2 }} + \frac{{2\arctan (bx_2 (t))}}{\pi }} \right),} \hfill \\ \end{array} $$
(2.15)
$$ \dot x_3 (t) = x_4 (t), $$
(2.16)
$$ \dot x_4 (t) = u(t). $$
(2.17)

In some examples in this book we will also use the linear variant of this system. To obtain it, a transformation of coordinates is applied which shifts one unstable equilibrium to the origin and then the system is linearized. Using a simplified set of parameters including only the gravitational constantg and a linear friction constantk, this leads to the linear control system

$$ \dot x(t) = \left( {\begin{array}{*{20}l} 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill \\ g \hfill & { - k} \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array}} \right)x(t) + \left( \begin{array}{l} 0 \\ 1 \\ 0 \\ 1 \\ \end{array} \right)u(t). $$
(2.18)

Example 2.11

In contrast to the inverted pendulum example where our task was to stabilize one of the upright equilibria, the control task for the arm/rotor/platform (ARP) model illustrated in Fig. 2.5 (the meaning of the different elements A, R, P and B in the model is indicated in the description of this figure) is a digital redesign problem, see [4,12].

Fig. 2.5
figure 5

Graphical illustration of the arm/rotor/platform (ARP) problem, see also [1, Sect. 7.3]: The arm (A) is driven by a motor (R) via a flexible joint. This motor is mounted on a platform (P) which is again flexibly connected to a fixed base (B). Moreover, we assume that there is no vertical force and that the rotational motion of the platform is not present

Such problems consist of two separate steps: First, a continuous time control signalv(t) derived from a continuous time feedback law is designed which—in the case considered here—solves a tracking problem. Since continuous time control laws may perform poorly under sampling, in a second step, the trajectory corresponding tov(t) is used as a reference function to compute a digital control using NMPC such that the resulting sampled data closed-loop mimics the behavior of the continuous time reference trajectory. Compared to a direct formulation of a tracking problem, this approach is advantageous since the resulting NMPC problem is easier to solve. Here, we describe the model and explain the derivation of continuous time control functionv(t). Numerical results for the corresponding NMPC controller are given in Example 7.21 in Chap. 7.

Using the Lagrange formalism and a change of coordinates detailed in [1, Sect. 7.3], the ARP model can be described by the differential equation system

$$ \dot x_1 (t) = x_2 (t) + x_6 (t)x_3 (t), $$
(2.19)
$$ \dot x_2 (t) = - \frac{{k_1 }}{M}x_1 (t) - \frac{{b_1 }}{M}x_2 (t) + x_6 (t),x_4 (t) - \frac{{mr}}{{M^2 }}b_1 x_6 (t), $$
(2.20)
$$ \dot x_3 (t) = - x_6 (t)x_1 (t) + x_4 (t), $$
(2.21)
$$ \dot x_4 (t) = - x_6 (t)x_2 (t) - \frac{{k_1 }}{M}x_3 (t) - \frac{{b_1 }}{M}x_4 (t) + \frac{{mr}}{{M^2 }}k_1 , $$
(2.22)
$$ \dot x_5 (t) = - x_6 (t), $$
(2.23)
$$ \dot x_6 (t) = - a_1 x_5 (t) - a_2 x_6 (t) + a_1 s_7 (t) + a_3 x_8 (t) - p_1 x_1 (t) - p_2 x_2 (t), $$
(2.24)
$$ \dot x_7 (t) = x_8 (t), $$
(2.25)
$$ \dot x_8 (t) = a_4 x_5 (t) + a_5 x_6 (t) - a_4 x_7 (t) - (a_5 + a_6 )x_8 (t) + \frac{1}{j}\nu (t) $$
(2.26)

where

$$\everymath{\displaystyle}\begin{array}{rcl@{\qquad }rcl@{\qquad }rcl}a_{1} & =& \frac{k_{3} M}{M I - (m r )^2},& a_{4}& =& \frac{k_{3}}{J}, & p_{1}& = &\frac{mr}{M I - (m r)^{2}}k_{1},\\[6pt]a_{2} & =& \frac{b_{3} M^{2} - b_{1} (m r)^{2}}{M [M I - (m r)^{2}]},&a_{5} &= &\frac{b_{3}}{J},&p_{2}& =& \frac{mr}{M I - (m r)^{2}} b_{1}.\\[6pt]a_{3} & =& \frac{b_{3} M}{M I - (m r)^{2}},& a_{6} &= &\frac{b_{4}}{J},&&&\end{array}$$

Here,M represents the total mass of arm, rotor and platform andm is the mass of arm,r denotes the distance from the A/R joint to the arm center of mass andI,J andD are the moment of inertia of the arm about the A/R joint, of the rotor and of the platform, respectively. Moreover,k 1,k 2 andk 3 denote the translational spring constant of the P/B connection as well as the rotational spring constants of the P/B connection and the A/R joint. Last,b 1,b 2,b 3 andb 4 describe the translational friction coefficient of P/B connection as well as the rotational friction coefficients of the P/B, A/R and R/P connection, respectively. The coordinatesx 1 andx 2 correspond to the (transformed)x position of P and its velocity of the platform in directionx whereasx 3 andx 4 represent the (transformed)y position of P and the respective velocity. The remaining coordinatesx 5 andx 7 denote the anglesθ andα and the coordinatesx 6 andx 8 the corresponding angular velocities.

Our design goal is to regulate the system such that the position of the arm relative to the platform, i.e. the anglex 5, tracks a given reference signal. Note that this task is not simple since both connections of the rotor are flexible. Here, we assume that the reference signal and its derivatives are known and available to the controller. Moreover, we assume that the relative positions and velocitiesx 5,x 6,x 7 andx 8 are supplied to the controller.

In order to derive the continuous time feedback, we follow the backstepping approach from [1] using the output

$$ \zeta (t) = x_5 (t) - \frac{{a_3 }}{{a_1 - a_2 a_3 }}\left[ {x_6 (t) - a_3 x_7 (t)} \right]. $$
(2.27)

The output has relative degree 4, that is, the controlv(t) appears explicitly within the fourth derivative of ζ(t). Expressing ζ(4)(t) by the known data, we obtain the continuous time input signalFootnote 2

$$ \begin{array}{l} \upsilon (t) = \frac{J}{{a_1^2 + a_3 [p] \cdot [[\frac{{\partial F(x_6 (t))}}{{\partial x_6 (t)}}]] \cdot [\eta (t)] + [[\frac{{\partial G(x_6 (t))}}{{\partial x_6 (t)}}]]}} \\ \quad \quad \left( { - ( - a_1 x_5 (t) - a_2 x_6 (t) + a_1 x_7 (t) + a_3 x_8 (t) - [p] \cdot [\eta (t)]} \right) \\ \quad \quad \left( { - a_1^2 + a_1 a_2 (a_2 - a_3 ) + (a_3 [p] \cdot [F(x_6 (t)) - (a_1 + a_2 a_3 )[p]])} \right. \\ \quad \quad \left[ {\left[ {\frac{{\partial F(x_6 (t))}}{{\partial x_6 (t)}}} \right]} \right] \cdot [\eta (t)] + \left[ {\left[ {\frac{{\partial G(x_6 (t))}}{{\partial x_6 (t)}}} \right]} \right] \\ \quad \quad \left. { + 2a_3 [p]\left[ {\frac{{\partial F(x_6 (t))}}{{\partial x_6 (t)}}} \right] \cdot [[F(x_6 (t))]].[\eta (t)] + [G(x_6 (t))]]} \right) \\ \quad \quad - (a_4 x_5 (t) + a_5 x_6 (t) - a_4 x_7 (t) - a(a_5 + a_6 )x_8 (t)) \\ \quad \quad \left( {a_1^2 + a_3 \left( {a_3 [p] \cdot \left[ {\left[ {\frac{{\partial F(x_6 (t))}}{{\partial x_6 (t)}}} \right]} \right.} \right..} \right.[\eta (t)] \\ \quad \quad + \left. {\left[ {\frac{{\partial G(x_6 (t))}}{{\partial x_6 (t)}}} \right]} \right] - \left. {\left. {a_1 (a_2 - a_3 )} \right)} \right) \\ \quad \quad - (a_3 [p] \cdot [F(x_6 (t))] - a_1 [p] \cdot [F(x_6 (t))] \cdot [F(x_6 (t))].[\eta (t)] \\ \quad \quad + [G(x_6 (t))]] \\ \quad \quad - ( - a_1 (x_6 (t) - x_8 (t)) - [p] \cdot [[F(x_6 (t))]] \cdot [\eta (t)] + [G(x_6 (t))]]) \\ \quad \quad \left( {\left( { - a_1 (a_2 - a_3 } \right) + a_3 [p] \cdot \left[ {\left[ {\frac{{\partial F(x_6 (t))}}{{\partial x_6 (t)}}} \right] \cdot [\eta (t)] + \left[ {\frac{{\partial G(x_6 (t))}}{{\partial x_6 (t)}}} \right]} \right]} \right) \\ \quad \quad \left. { + (a_1 - a_2 a_3 )\hat \upsilon (t)} \right) \\ \end{array} $$
(2.28)

where we used the abbreviations

$$ \begin{array}{*{20}l} {[\eta (t)} \hfill & {: = (x_1 (t)x_2 (t)x_3 (t)x_4 (t))^T ,} \hfill \\ {[\chi (t)} \hfill & {: = (x_5 (t)x_6 (t)x_7 (t)x_8 (t))^T ,} \hfill \\ {[F(x_6 (t))]} \hfill & {: = \left( {\begin{array}{*{20}c} 0 \hfill & 1 \hfill & {x_6 (t)} \hfill & 0 \hfill \\ { - \frac{{k_1 }}{M}} \hfill & { - \frac{{b_1 }}{M}} \hfill & 0 \hfill & {x_6 (t)} \hfill \\ { - x_6 (t)} \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ 0 \hfill & { - x_6 (T)} \hfill & { - \frac{{K_1 }}{M}} \hfill & { - \frac{{b_1 }}{M}} \hfill \\ \end{array}} \right),} \hfill \\ {[G(x_6 (t)]} \hfill & {: = \left( \begin{array}{l} 0 \\ - \frac{{mrb_1 }}{{M^2 }}x_6 (t) \\ 0 \\ \end{array} \right),} \hfill \\ {[A]} \hfill & {: = \left( {\begin{array}{*{20}c} 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill \\ { - a_1 } \hfill & { - a_2 } \hfill & {a_1 } \hfill & {a_3 } \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ {a_4 } \hfill & {a_5 } \hfill & { - a_4 } \hfill & { - (a_5 + a_6 )} \hfill \\ \end{array}} \right),} \hfill \\ {[E]} \hfill & {: = \left( {\begin{array}{*{20}c} 0 \hfill & 0 \hfill \\ { - p_1 } \hfill & { - p_2 } \hfill \\ 0 \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill \\ \end{array}} \right),[B]: = \left( {\begin{array}{*{20}c} 0 \\ 0 \\ 0 \\ {\frac{1}{J}} \\ \end{array}} \right)} \hfill \\ \end{array} $$

as well as the row vector [p]:=(p 1 p 2 0 0). In (2.28), we added the function\(\hat{v}(t)\), which we will now use as the new input. Given a desired reference ζref(⋅) for the output (2.27), we can track this reference by setting\(\hat{v}\) in (2.28) as

$$ \begin{array}{*{20}c} {\hat \nu (t): = } \hfill & {\zeta _{{\rm ref}}^{(4)} (t) - c_3 (\zeta ^{(3)} (t) - \zeta _{{\rm ref}}^{(t))} ) - c_2 (\ddot \zeta (t) - \ddot \zeta _{{\rm ref}} (t))} \hfill \\ {} \hfill & { - c_1 (\dot \zeta (t) - \dot \zeta _{{\rm ref}} (t)) - c_0 (\zeta (t) - \zeta _{{\rm ref}} (t))} \hfill \\ \end{array}$$

with design parametersc i ∈ℝ,c i ≥0. These parameters are degrees of freedom within the design of the continuous time feedback which can be used as tuning parameters, e.g., to reduce the transient time or the overshoot.

Example 2.12

Another class of systems fitting our framework, which actually goes beyond the setting we used for introducing sampled data systems, are infinite-dimensional systems induced by partial differential equations (PDEs). In this example, we slightly change our notation in order to be consistent with the usual PDE notation.

In the following controlled parabolic PDE (2.29) the solutiony(t,x) with\(y:\mathbb{R}\times\overline{\Omega}\to \mathbb{R}\) depends on timet as well as on a one-dimensional state variablex∈Ω=(0,L) for a parameterL>0. Thus, the state of the system at each timet is now a continuous function\(y(t,\cdot):\overline{\Omega}\to\mathbb{R}\) andx becomes an independent variable. The controlv in this example is a so-called distributed control, i.e., a measurable functionv:ℝ×Ω→ℝ. The evolution of the state is defined by the equation

$$y_t(t,x) = \theta y_{xx}(t,x) - y_x(t,x) + \rho \bigl(y(t,x)-y(t,x)^3\bigr) + v(t,x) $$
(2.29)

forx∈Ω andt≥0 together with the initial conditiony(0,x)=y 0(x) and the boundary conditionsy(t,0)=y(0,L)=0.

Herey t andy x denote the partial derivatives with respect tot andx, respectively andy xx denotes the second partial derivative with respect tox. The parametersθ andρ are positive constants. Of course, in order to ensure that (2.29) is well defined, we need to interpret this equation in an appropriate weak sense and make sure that for the chosen class of control functions a solution to (2.29) exists in appropriate function spaces. For details on these issues we refer to, e.g., [10] or [18]. As we will see later in Example 6.27, for suitable values of the parametersθ andρ the uncontrolled equation, i.e., (2.29) withv≡0, has an unstable equilibriumy ≡0 which can be stabilized by NMPC.

Using the letterz for the state of the discrete time system associated to the sampled data solution of (2.29), we can abstractly write this system as

$$z^+ = f(z,u)$$

withz andz + being continuous functions from\(\overline{\Omega}\) to ℝ. The functionf mapsy 0=z to the solutiony(T,x) of (2.29) at the sampling timeT using the measurable control functionu=v:[0,T]×Ω→ℝ. Thus, it maps continuous functions to continuous functions; again we omit the exact details of the respective functions spaces.

As in the ordinary differential equation case, we can restrict ourselves to the zero order hold situation, i.e., to control functionsu(t,x) which are constant int∈[0,T]. The corresponding control functionsv generated via (2.11) are again constant int on each sampling interval [t n ,t n+1). Note, however, that in our distributed control context bothu andv are still arbitrary measurable—i.e., in particular non-constant—functions inx.

For sampled data systems, the nominal closed-loop system (2.5) corresponds to the closed-loop sampled data system

$$\dot{x}(t) = f_c\bigl(x(t),\mu\bigl(x(t_n)\bigr) (t-t_n)\bigr), \quad t\in[t_n,t_{n+1}),\ n=0,1,2,\ldots $$
(2.30)

whose solution with initial valuex 0X we denote byϕ(t,t 0,x 0,μ). Note that the argument “(tt n )” ofμ(x(t n )) can be dropped in case of sampling with zero order hold when—as usual—we interpret the control valueμ(x(t n ))∈U=ℝm as a constant control function.

2.3 Stability of Discrete Time Systems

In the introduction, we already specified the main goal of model predictive control, namely to control the statex(n) of the system toward a reference trajectoryx ref(n) and then keep it close to this reference. In this section we formalize what we mean by “toward” and “close to” using concepts from stability theory of nonlinear systems.

We first consider the case wherex ref is constant, i.e., wherex refx holds for somex X. We assume that the statesx(n) are generated by a difference equation of the form

$$x^+ = g(x) $$
(2.31)

for a not necessarily continuous mapg:XX via the usual iterationx(n+1)=g(x(n)). As before, we writex(n,x 0) for the trajectory satisfying the initial conditionx(0,x 0)=x 0X. Allowingg to be discontinuous is important for our NMPC application, becauseg will later represent the nominal closed-loop system (2.5) controlled by the NMPC-feedback lawμ, i.e.,g(x)=f(x,μ(x)). Sinceμ is obtained as an outcome of an optimization algorithm, in general we cannot expectμ to be continuous and thusg will in general be discontinuous, too.

Nonlinear stability properties can be expressed conveniently via so-called comparison functions, which were first introduced by Hahn in 1967 [5] and popularized in nonlinear control theory during the 1990s by Sontag, particularly in the context of input-to-state stability [14]. Although we mainly deal with discrete time systems, we stick to the usual continuous time definition of these functions using the notation\(\mathbb{R}_{0}^{+}=[0,\infty)\).

Definition 2.13

We define the following classes of comparison functions:

$$ \begin{array}{*{20}l} mathcal{k:} \hfill & { = \left\{ {\alpha :R_0^ + \to R_0^ + |\,\alpha \,{\rm is}\,{\rm continous}\,{\rm \& strictly increasing with }\alpha {\rm (0) = }\left. {\rm 0} \right\},} \right.} \hfill \\ {k\infty } \hfill & {: = \left\{ {\alpha :R_0^ + \to R_0^ + |\alpha \, \in k,\alpha \,{\rm is unbounred}\,} \right\},} \hfill \\ \mathcal{L} \hfill & {: = \left\{ {\delta :R_0^ + \to R_0^ + |\delta \,{\rm is countinous \& strictly decreasing with }\mathop {{\rm lim}}\limits_{{\rm t} \to \infty } \delta = (t) = 0,} \right\},} \hfill \\ {kL} \hfill & {: = \left\{ {\beta :R_0^ + \times R_0^ + \to R_0^ + |G\beta \,{\rm is countinoud,}\beta {\rm (} \cdot {\rm ,(t)} \in k,\beta (r,.) \in L} \right\}.} \hfill \\ \end{array} $$

The graph of a typical function\(\beta\in\mathcal{KL}\) is shown in Fig. 2.6.

Fig. 2.6
figure 6

Illustration of a typical class\(\mathcal{KL}\) function

Using this function, we can now introduce the concept of asymptotic stability. Here, for arbitraryx 1,x 2X we denote the distance fromx 1 tox 2 by

$$|x_1|_{x_2}:=d_{X}(x_1,x_2).$$

Furthermore, we use the ball

$$\mathcal{B}_\eta(x_*) := \big\{ x\in X\bigm| |x|_{x_*}<\eta\big\}$$

and we say that a setYX isforward invariant for (2.31) ifg(x)∈Y holds for allxY.

Definition 2.14

Letx X be an equilibrium for (2.31), i.e.,g(x )=x . Then we say thatx islocally asymptotically stable if there existη>0 and a function\(\beta\in\mathcal{KL}\) such that the inequality

$$\big|x(n,x_0)\big|_{x_*} \le\beta\bigl(|x_0|_{x_*},n\bigr) $$
(2.32)

holds for all\(x_{0}\in\mathcal{B}_{\eta}(x_{*})\) and alln∈ℕ0.

We say thatx isasymptotically stable on a forward invariant set Y withx Y if there exists\(\beta\in\mathcal{KL}\) such that (2.32) holds for allx 0Y and alln∈ℕ0 and we say thatx isglobally asymptotically stable ifx is asymptotically stable onY=X.

If one of these properties holds thenβ is calledattraction rate.

Note that asymptotic stability on a forward invariant setY implies local asymptotic stability ifY contains a ball\(\mathcal{B}_{\eta}(x_{*})\). However, we do not necessarily require this property.

Asymptotic stability thus defined consists of two main ingredients.

  1. (i)

    The smaller the initial distance fromx 0 tox is, the smaller the distance fromx(n) tox becomes for all futuren, or formally: for eachε>0 there existsδ>0 such that\(|x(n,x_{0})|_{x_{*}}\le\varepsilon\) holds for alln∈ℕ0 and allx 0Y (or\(x_{0}\in\mathcal{B}_{\eta}(x_{*})\)) with\(|x_{0}|_{x_{*}}\le \delta\).

    This fact is easily seen by choosingδ so small thatβ(δ,0)≤ε holds, which is possible since\(\beta(\cdot,0)\in\mathcal{K}\). Sinceβ is decreasing in its second argument, for\(|x_{0}|_{x_{*}}\le\delta\) from (2.32) we obtain

    $$\big|x(n,x_0)\big|_{x_*} \le\beta\bigl(|x_0|_{x_*},n\bigr) \le \beta\bigl(|x_0|_{x_*},0\bigr) \le\beta(\delta,0) \le\varepsilon.$$
  2. (ii)

    As the system evolves, the distance fromx(n,x 0) tox becomes arbitrarily small, or formally: for eachε>0 and eachR>0 there existsN>0 such that\(|x(n,x_{0})|_{x_{*}}\le \varepsilon\) holds for allnN and allx 0Y (or\(x_{0}\in\mathcal{B}_{\eta}(x_{*})\)) with\(|x_{0}|_{x_{*}}\le R\). This property easily follows from (2.32) by choosingN>0 withβ(R,N)≤ε and exploiting the monotonicity properties ofβ.

These two properties are known as (i) stability (in the sense of Lyapunov) and (ii) attraction. In the literature, asymptotic stability is often defined via these two properties. In fact, for continuous time (and continuous) systems (i) and (ii) are known to be equivalent to the continuous time counterpart of Definition 2.14, cf. [8, Sect. 3]. We conjecture that the arguments in this reference can be modified in order to prove that equivalence also holds for our discontinuous discrete time setting.

Asymptotic stability includes the desired properties of the NMPC closed loop described earlier: whenever we are already close to the reference equilibrium we want to stay close; otherwise we want to move toward the equilibrium.

Asymptotic stability also includes that eventually the distance of the closed-loop solution to the equilibriumx becomes arbitrarily small. Occasionally, this may be too demanding. In the following chapters, this is for instance the case if the system is subject to perturbations or modeling errors, cf. Sects. 8.58.9 or if in NMPC without stabilizing terminal constraints the system cannot be controlled tox sufficiently fast, cf. Sect. 6.7. In this case, one can relax the asymptotic stability definition to practical asymptotic stability as follows. Here we only consider the case of asymptotic stability on a forward invariant setY.

Definition 2.15

LetY be a forward invariant set and letPY be a subset ofY. Then we say that a pointx P isP-practically asymptotically stable on Y if there exists\(\beta\in\mathcal{KL}\) such that (2.32) holds for allx 0Y and alln∈ℕ0 withx(n,x 0)∉P.

Figure 2.7 illustrates practical asymptotic stability (on the right) as opposed to “usual” asymptotic stability (on the left).

Fig. 2.7
figure 7

Sketch of asymptotic stability (left) as opposed to practical asymptotic stability (right)

This definition is typically used withP contained in a small ball around the equilibrium, i.e.,\(P\subseteq\mathcal{B}_{\delta}(x_{*})\) for some smallδ>0. In this case one obtains the estimate

$$\big|x(n,x_0)\big|_{x_*} \le \max\bigl\{\beta\bigl(|x_0|_{x_*},n\bigr), \delta \bigr\} $$
(2.33)

for allx 0Y and alln∈ℕ0, i.e., the system behaves like an asymptotically stable system until it reaches the ball\(\mathcal{B}_{\delta}(x_{*})\). Note thatx does not need to be an equilibrium in Definition 2.15.

For general non-constant reference functionsx ref:ℕ0X we can easily extend Definition 2.14 if we take into account that the objects under consideration become time varying in two ways: (i) the distance under consideration varies withn and (ii) the system (2.31) under consideration varies withn. While (i) is immediate, (ii) follows from the fact that with time varying reference also the feedback lawμ is time varying, i.e., we obtain a feedback law of the typeμ(n,x(n)). Consequently, we now need to consider systems

$$x^+ = g(n,x) $$
(2.34)

withg of the formg(n,x)=f(x,μ(n,x)). Furthermore, we now have to take the initial timen 0 into account: while the solutions of (2.31) look the same for all initial timesn 0 (which is why we only consideredn 0=0) now we need to keep track of this value. To this end, byx(n,n 0,x 0) we denote the solution of (2.34) with initial conditionx(n 0,n 0,x 0)=x 0 at timen 0. The appropriate modification of Definition 2.14 then looks as follows. Here we say that a time-dependent family of setsY(n)⊆X,n∈ℕ0 isforward invariant ifg(n,x)∈Y(n+1) holds for alln∈ℕ0 and allxY(n).

Definition 2.16

Letx ref:ℕ0X be a trajectory for (2.31), i.e.,x ref(n+1)=g(x ref(n)) for alln∈ℕ0. Then we say thatx ref islocally uniformly asymptotically stable if there existsη>0 and a function\(\beta\in\mathcal{KL}\) such that the inequality

$$\big|x(n,n_0,x_0)\big|_{x^{\mathrm{ref}}(n)} \le \beta\bigl(|x_0|_{x^{\mathrm{ref}}(n_0)},n-n_0\bigr) $$
(2.35)

holds for all\(x_{0}\in\mathcal{B}_{\eta}(x^{\mathrm{ref}}(n_{0}))\) and alln 0,n∈ℕ0 withnn 0.

We say thatx isuniformly asymptotically stable on a forward invariant family of sets Y(n) withx ref(n)∈Y(n) if there exists\(\beta\in\mathcal{KL}\) such that (2.35) holds for alln 0,n∈ℕ0 withnn 0 and allx 0Y(n 0) and we say thatx isglobally uniformly asymptotically stable ifx is asymptotically stable onY(n)=X for alln 0∈ℕ0.

If one of these properties hold thenβ is called (uniform)attraction rate.

The term “uniform” describes the fact that the bound\(\beta(|x_{0}|_{x^{\mathrm{ref}}(n_{0})},n-n_{0})\) only depends on the elapsed timenn 0 but not on the initial timen 0. If this were the case, i.e., if we needed differentβ for different initial timesn 0, then we would call the asymptotic stability “nonuniform”. For a comprehensive discussion of nonuniform stability notions and their representation via time-dependent\(\mathcal{KL}\) functions we refer to [3].

As in the time-invariant case, asymptotic stability on a forward invariant family of setsY(n) implies local asymptotic stability if eachY(n) contains a ball\(\mathcal{B}_{\eta}(x^{\mathrm{ref}}(n))\). Again, we do not necessarily require this property.

The time varying counterpart ofP-practical asymptotic stability is defined as follows.

Definition 2.17

LetY(n) be a forward invariant family of sets and letP(n)⊂Y(n) be subsets ofY(n). Then we say that a reference trajectoryx ref withx ref(n)∈P(n) isP-practically uniformly asymptotically stable onY(n) if there exists\(\beta\in\mathcal{KL}\) such that (2.35) holds for allx 0Y(n 0) and alln 0,n∈ℕ0 withnn 0 andx(n,n 0,x 0)∉P(n).

Analogous to the time-invariant case, this definition is typically used with\(P(n)\subseteq\mathcal{B}_{\delta}(x^{\mathrm{ref}}(n))\) for some small valueδ>0, which then yields

$$\big|x(n,n_0,x_0)\big|_{x^{\mathrm{ref}}(n)} \le \max\bigl\{\beta\bigl(|x_0|_{x^{\mathrm{ref}}(n_0)},n-n_0\bigr),\delta\bigr\}. $$
(2.36)

In order to verify that our NMPC controller achieves asymptotic stability we will utilize the concept of Lyapunov functions. For constant referencex refx X these functions are defined as follows.

Definition 2.18

Consider a system (2.31), a pointx X and letSX be a subset of the state space. A function\(V:S\to\mathbb{R}_{0}^{+}\) is called aLyapunov function onS if the following conditions are satisfied:

  1. (i)

    There exist functions\(\alpha_{1},\alpha_{2}\in\mathcal {K}_{\infty}\) such that

    $$\alpha_1\bigl(|x|_{x_*}\bigr) \le V(x) \le\alpha_2\bigl(|x|_{x_*}\bigr) $$
    (2.37)

    holds for allxS.

  2. (ii)

    There exists a function\(\alpha_{V}\in\mathcal{K}\) such that

    $$V\bigl(g(x)\bigr) \le V(x) - \alpha_V\bigl(|x|_{x_*}\bigr) $$
    (2.38)

    holds for allxS withg(x)∈S.

The following theorem shows that the existence of a Lyapunov function ensures asymptotic stability.

Theorem 2.19

Let x be an equilibrium of (2.31)and assume there exists a Lyapunov function V on S.If S contains a ball \(\mathcal{B}_{\nu}(x_{*})\) with g(x)∈S for all \(x\in\mathcal{B}_{\nu}(x_{*})\) then x is locally asymptotically stable with \(\eta=\alpha_{2}^{-1}\circ\alpha_{1}(\nu)\).If S=Y holds for some forward invariant set YX containing x then x is asymptotically stable on Y.If S=X holds then x is globally asymptotically stable.

Proof

The idea of the proof lies in showing that by (2.38) the functionV(x(n,x 0)) is strictly decreasing inn and converges to 0. Then by (2.37) we can conclude thatx(n,x 0) converges tox . The functionβ from Definition 2.14 will be constructed fromα 1,α 2 andα V . In order to simplify the notation, throughout the proof we write |x| instead of\(|x|_{x_{*}}\).

First, ifS is not forward invariant, define the valueγ:=α 1(ν) and the set\(\widetilde{S} :=\{ x\in X\,|\, V(x)< \gamma\}\). Then from (2.37) we get

$$x \in\widetilde{S}\quad \Rightarrow\quad \alpha_1\bigl(|x|\bigr) \le V(x)< \gamma \quad \Rightarrow\quad |x|<\alpha_1^{-1}(\gamma) = \nu\quad \Rightarrow\quad x \in\mathcal{B}_\nu(x_*),$$

observing that each\(\alpha\in\mathcal{K}_{\infty}\) is invertible with\(\alpha^{-1}\in\mathcal{K}_{\infty}\).

Hence, for each\(x\in\widetilde{S}\) Inequality (2.38) applies and consequentlyV(g(x))≤V(x)<γ implying\(g(x)\in \widetilde{S}\). IfS=Y for some forward invariant setYX we define\(\widetilde{S} := S\). With these definitions, in both cases the set\(\widetilde{S}\) becomes forward invariant.

Now we define\(\alpha_{V}':=\alpha_{V}\circ\alpha_{2}^{-1}\). Note that concatenations of\(\mathcal{K}\)-functions are again in\(\mathcal{K}\), hence\(\alpha _{V}'\in\mathcal{K}\). Since\(|x|\ge\alpha_{2}^{-1}(V(x))\), using monotonicity ofα V this definition implies

$$\alpha_V\bigl(|x|\bigr) \ge\alpha_V\circ\alpha_2^{-1}\bigl(V(x)\bigr) =\alpha_V'\bigl(V(x)\bigr).$$

Hence, along a trajectoryx(n,x 0) with\(x_{0}\in\widetilde{S}\), from (2.38) we get the inequality

$$ \begin{array}{*{20}l} {V(x(n + 1,x_0 ))} \hfill & { \le V(x(n,x_0 )) - \alpha _V (|x(n,x_0 )|)} \hfill \\ {} \hfill & { \le _V (x(n,x_0 )) - \alpha '_V (V(x(n,x_0 ))).} \hfill \\ \end{array} $$
(2.39)

For the construction ofβ we need the last expression in (2.39) to be strictly increasing inV(x(n,x 0)). To this end we define

$$\tilde{\alpha}_V(r) := \min_{s\in[0,r]}\bigl\{\alpha_V'(s) +(r-s)/2\bigr\}.$$

Straightforward computations show that this function satisfies\(r_{2}-\tilde{\alpha}_{V}(r_{2})>r_{1}-\tilde{\alpha}_{V}(r_{1})\ge0\) for allr 2>r 1≥0 and\(\min\{\alpha_{V}'(r/2),r/4\} \le\tilde{\alpha}_{V}(r) \le\alpha_{V}'(r)\) for allr≥0. In particular, (2.39) remains valid and we get the desired monotonicity when\(\alpha_{V}'\) is replaced by\(\tilde{\alpha}_{V}\).

We inductively define a function\(\beta_{1}:\mathbb{R}_{0}^{+}\times \mathbb{N}_{0}\to\mathbb{R}_{0}^{+}\) via

$$\beta_1(r,0) := r, \qquad\beta_1(r,n+1) = \beta _1(r,n) - \tilde{\alpha}_V\bigl(\beta_1(r,n)\bigr). $$
(2.40)

By induction overn using the properties of\(\tilde{\alpha}_{V}(r)\) and Inequality (2.39) one easily verifies the following inequalities:

$$ \beta _1 (r_2 ,n) > \beta _1 (r_1 ,n) \ge 0\,{\rm for all }r_2 > r_1 \ge 0\,{\rm and all }n \in \,\mathbb{N}_0 , $$
(2.41)
$$ \beta _1 (r,n_1 ) > \beta _1 (r,n_2 ) \ge 0\,{\rm for all }n_2 > n_1 \ge 0\,{\rm and all }r > 0, $$
(2.42)
$$ V(x(n,x_0 )) \le \beta _1 (V(x_0 ),n)\,{\rm for all } \in N_0 \,{\rm and all }x_0 \in \,\tilde S. $$
(2.43)

From (2.42) it follows thatβ 1(r,n) is monotone decreasing inn and by (2.41) it is bounded from below by 0. Hence, for eachr≥0 the limit\(\beta_{1}^{\infty}(r)=\lim_{n\to\infty} \beta_{1}(r,n)\) exists. We claim that\(\beta_{1}^{\infty}(r) = 0\) holds for allr. Indeed, convergence impliesβ 1(r,n)−β 1(r,n+1)→0 asn→∞, which together with (2.40) yields\(\tilde{\alpha}_{V}(\beta_{1}(r,n)) \to0\). On the other hand, since\(\tilde{\alpha}_{V}\) is continuous, we get\(\tilde{\alpha}_{V}(\beta_{1}(r,n)) \to \tilde{\alpha}_{V}(\beta_{1}^{\infty}(r))\). This implies

$$\tilde{\alpha}_V\bigl(\beta_1^\infty(r)\bigr) = 0,$$

which, because of\(\tilde{\alpha}_{V}(r) \ge\min\{\alpha'_{V}(r/2),r/4\}\) and\(\alpha'_{V}\in\mathcal{K}\), is only possible if\(\beta_{1}^{\infty}(r)=0\).

Consequently,β 1(r,n) has all properties of a\(\mathcal{KL}\) function except that it is only defined forn∈ℕ0. Defining the linear interpolation

$$\beta_2(r,t) := (n+1-t)\beta_1(r,n) + (t-n)\beta_1(r,n+1)$$

fort∈[n,n+1) andn∈ℕ0, we obtain a function\(\beta_{2}\in\mathcal{KL}\) which coincides withβ 1 fort=n∈ℕ0. Finally, setting

$$\beta(r,t) := \alpha_1^{-1}\circ\beta_2\bigl(\alpha_2(r),t\bigr)$$

we can use (2.43) in order to obtain

$$ \begin{array}{*{20}c} {|x(n,x_0 )|} \hfill & { \le \alpha _1 ^{ - 1} (V(x(n,x_0 ))) \le \alpha _1 ^{ - 1} \circ \beta _1 (V(x_0 ),n)} \hfill \\ {} \hfill & { = \alpha _1 ^{ - 1} \circ \beta _2 (V(x_0 ),n) \le \alpha _1 ^{ - 1} \circ \beta _2 (\alpha _2 (|x_0 |),n) = \beta (|x_0 |,n),} \hfill \\ \end{array} $$

for all\(x_{0}\in\widetilde{S}\) and alln∈ℕ0. This is the desired Inequality (2.32). If\(\widetilde{S}=S=Y\) this shows the claimed asymptotic stability onY and global asymptotic stability ifY=X. If\(\widetilde{S} \neq S\), then in order to satisfy the local version of Definition 2.14 it remains to show that\(x\in\mathcal{B}_{\eta}(x_{*})\) implies\(x\in\widetilde{S}\). Since by definition ofη andγ we have\(\eta= \alpha_{2}^{-1}(\gamma)\), we get

$$x\in\mathcal{B}_\eta(x_*) \quad \Rightarrow\quad |x|< \eta= \alpha _2^{-1}(\gamma)\quad \Rightarrow\quad V(x) \le\alpha_2\bigl(|x|\bigr)< \gamma \quad \Rightarrow\quad x \in\widetilde{S}.$$

This finishes the proof. □

Likewise,P-practical asymptotic stability can be ensured by a suitable Lyapunov function condition provided the setP is forward invariant.

Theorem 2.20

Consider forward invariant sets Y and PY and a point x P.If there exists a Lyapunov function V on S=YP then x is P-practically asymptotically stable on Y.

Proof

The same construction ofβ as in the proof of Theorem 2.19 yields

$$\big|x(n,x_0)\big|_{x_*} \le\beta\bigl(|x|_{x_*},n\bigr)$$
(2.32)

for alln=0,…,n −1, wheren ∈ℕ0 is minimal withx(n ,x 0)∈P. This follows with the same arguments as in the proof of Theorem 2.19 by restricting the times considered in (2.39) and (2.43) ton=0,…,n −2 andn=0,…,n −1, respectively.

Since forward invariance ofP ensuresx(n,x 0)∈P for allnn , the timesn for whichx(n,x 0)∉P holds are exactlyn=0,…,n −1. Since these are exactly the times at which (2.32) is required, this yields the desiredP-practical asymptotic stability. □

In case of a time varying referencex ref we need to use the time varying asymptotic stability from Definition 2.16. The corresponding Lyapunov function concept is as follows.

Definition 2.21

Consider a system (2.34), reference pointsx ref(n), subsets of the state spaceS(n)⊆X and define\(\mathcal {S}:=\{(n,x)\,|\, n\in\mathbb{N}_{0},\, x\in S(n)\}\). A function\(V:\mathcal{S}\to\mathbb{R}_{0}^{+}\) is called auniform time varying Lyapunov function onS(n) if the following conditions are satisfied:

  1. (i)

    There exist functions\(\alpha_{1},\alpha_{2}\in\mathcal {K}_{\infty}\) such that

    $$\alpha_1\bigl(|x|_{x^{\mathrm{ref}}(n)}\bigr) \le V(n,x) \le \alpha_2\bigl(|x|_{x^{\mathrm{ref}}(n)}\bigr) $$
    (2.44)

    holds for alln∈ℕ0 and allxS(n).

  2. (ii)

    There exists a function\(\alpha_{V}\in\mathcal{K}\) such that

    $$V\bigl(n+1,g(n,x)\bigr) \le V(n,x) - \alpha_V\bigl(|x|_{x^{\mathrm{ref}}(n)}\bigr) $$
    (2.45)

    holds for alln∈ℕ0 and allxS(n) withg(n,x)∈S(n+1).

Theorem 2.22

Let x ref be a trajectory of (2.34)and assume there exists a uniform time varying Lyapunov function V on S(n).If each S(n)contains a ball \(\mathcal{B}_{\nu}(x^{\mathrm{ref}}(n))\) with g(n,x)∈S(n+1)for all \(x\in\mathcal{B}_{\nu}(x^{\mathrm{ref}}(n))\) then x ref is locally asymptotically stable with \(\eta=\alpha_{2}^{-1}\circ\alpha_{1}(\nu)\).If the family of sets S(n)is forward invariant in the sense stated before Definition 2.16,then x ref is asymptotically stable on S(n).If S(n)=X holds for all n∈ℕ0 then x ref is globally asymptotically stable.

Proof

The proof is analogous to the proof of Theorem 2.19 with the obvious modifications to taken∈ℕ0 into account. □

Indeed, the necessary modification in the proof are straightforward because the time varying Lyapunov function is uniform, i.e.,α 1,α 2 andα V do not depend onn. For the more involved nonuniform case we again refer to [3].

TheP-practical version of this statement is provided by the following theorem in which we assume forward invariance of the setsP(n). Observe that herex ref does not need to be a trajectory of the system (2.34).

Theorem 2.23

Consider forward invariant families of sets Y(n)and P(n)⊂Y(n),n∈ℕ0,and reference points x ref(n)∈P(n).If there exists a uniform time varying Lyapunov function V on S(n)=Y(n)∖P(n)then x ref is P-practically asymptotically stable on Y(n).

Proof

The proof is analogous to the proof of Theorem 2.20 with the obvious modifications. □

2.4 Stability of Sampled Data Systems

We now investigate the special case in which (2.31) represents the nominal closed-loop system (2.5) withf obtained from a sampled data system via (2.8). In this case, the solutionsx(n,x 0) of (2.31) and the solutionsϕ(t n ,t 0,x 0,μ) of the sampled data closed-loop system (2.30) satisfy the identity

$$x(n,x_0) = \varphi(t_n,t_0,x_0,\mu) $$
(2.46)

for alln∈ℕ0. This implies that the stability criterion from Definition 2.14 (and analogous for the other stability definitions) only yields inequalities for the continuous state of the system at the sampling timest n , i.e.,

$$\big|\varphi(t_n,t_0,x_0,\mu)\big|_{x_*} \le \beta\bigl(|x_0|_{x_*},n\bigr)\quad \mbox{for all } n=0,1,2,\ldots $$
(2.47)

for a suitable\(\beta\in\mathcal{KL}\). However, for a continuous time system it is in general desirable to ensure the existence of\(\overline{\beta}\in\mathcal {KL}\) such that the continuous time asymptotic stability property

$$\big|\varphi(t,t_0,x_0,\mu)\big|_{x_*} \le\overline{\beta}\bigl(|x_0|_{x_*},t\bigr)\quad\mbox{for all } t\ge0 $$
(2.48)

holds.

In the remainder of this chapter we will show that under a reasonable additional assumption (2.47) implies the existence of\(\overline{\beta}\in\mathcal{KL}\) such that (2.48) holds. For simplicity, we restrict ourselves to local asymptotic stability and to the case of time-invariant referencex refx . The arguments can be modified to cover the other cases, as well.

The necessary additional condition is the following boundedness assumption on the solutions in between two sampling instants.

Definition 2.24

Consider a sampled data closed-loop system (2.30) with sampling periodT>0. If there exists a function\(\gamma\in\mathcal{K}\) and a constantη>0 such that for allxX with\(|x|_{x_{*}} \leq\eta\), the solutions of (2.30) exist on [0,T] and satisfy

$$ \left| {\varphi (t,0,x,\mu } \right|_{x_* } \le \gamma \left( {\left| x \right|_{x_* } } \right) $$

for allt∈[0,T] then the solutions of (2.30) are calleduniformly bounded over T.

Effectively, this condition demands that in between two sampling timest n andt n+1 the continuous time solution does not deviate too much from the solution at the sampling timet n . Sufficient conditions for this property formulated directly in terms of the vector fieldf c in (2.30) can be found in [11, Lemma 3]. A sufficient condition in our NMPC setting is discussed in Remark 4.13.

For the subsequent analysis we introduce the following class of\(\mathcal{KL}\) functions, which will allow us to deal with the inter sampling behavior of the continuous time solution.

Definition 2.25

A function\(\beta\in\mathcal{KL}\) is calleduniformly incrementally bounded if there existsP>0 such thatβ(r,k)≤(r,k+1) holds for allr≥0 and allk∈ℕ.

Uniformly incrementally bounded\(\mathcal{KL}\) functions exhibit a nice bounding property compared to standard\(\mathcal{KL}\) functions which we will use the proof of Theorem 2.27. Before, we show that any\(\mathcal{KL}\) functionβ—like the one in (2.47)—can be bounded from above by a uniformly incrementally bounded\(\mathcal{KL}\) function.

Lemma 2.26

For any \(\beta\in\mathcal{KL}\) the function

$$ \tilde \beta (r,t): = \mathop {\max }\limits_{\tau \in [0,t]} 2^{ - \tau } \beta (r,t - \tau ) $$

is a uniformly incrementally bounded \(\mathcal{KL}\) function with \(\beta(r, t) \leq \tilde{\beta}(r, t)\) for all r≥0and all t≥0and P=2.

Proof

The inequality\(\beta\le\tilde{\beta}\) follows immediately from the definition. Uniform incremental boundedness withP=2 follows from the inequality

$$ \begin{array}{*{20}l} {\tilde \beta (r,t)} \hfill & { = \mathop {\max }\limits_{\tau \in [0,t]} 2^{ - \tau } \beta (r,t - \tau )} \hfill & { = \mathop {\max }\limits_{\tau \in [1,t + 1]} 2^{1 - \tau } \beta (r,t - \tau + 1)} \hfill \\ {} \hfill & { = 2\mathop {\max }\limits_{\tau \in [1,t + 1]} 2^{ - \tau } \beta (r,t - \tau + 1) \le 2} \hfill & {\mathop {\max }\limits_{\tau \in [0,t + 1]} \beta (r,t - \tau + 1)} \hfill \\ {} \hfill & { = 2\tilde \beta (r,t + 1).} \hfill & {} \hfill \\ \end{array} $$

It remains to show that\(\tilde{\beta} \in\mathcal{KL}\).

Since\(\beta\in\mathcal{KL}\) it follows that\(\tilde{\beta}\) is continuous and\(\tilde{\beta}(0, t) = 0\) for anyt≥0. For anyr 2>r 1≥0,\(\beta\in\mathcal{KL}\) implies 2τ β(r 2,tτ)>2τ β(r 1,tτ). This shows that\(\tilde{\beta}(r_{2}, t) > \tilde{\beta}(r_{1}, t)\) and hence\(\tilde{\beta}(\cdot, t) \in\mathcal{K}\).

Next we show that for any fixedr>0 the function\(t\mapsto\tilde{\beta}(r,t)\) is strictly decreasing to 0. To this end, in the following we use that for alltsq≥0 and allr≥0 the inequality

$$\max_{\tau\in[q,s]} 2^{-\tau}\beta(r,t-\tau) \le2^{-q}\beta(r,t-s)$$

holds. In order to show the strict decrease property forr>0, lett 2>t 1≥0. Definingd:=t 2t 1 we obtain

$$ \begin{array}{l} \tilde \beta (r,t_2 ) = \mathop {\max }\limits_{\tau \in [0,t_2 ]} \quad 2^{ - \tau } \,\beta (r,t_2 - \tau ) \\ \quad \quad \quad = \max \left\{ {\mathop {\max }\limits_{\tau \in [0,d/2]} } \right.\quad 2^{ - \tau } \,\beta (r,t_2 - \tau ),\quad \mathop {\max }\limits_{\tau \in [0,d/2,d]} \quad 2^{ - \tau } \,\beta (r,t_2 - \tau ), \\ \quad \quad \quad \quad \left. {\mathop {\max }\limits_{\tau \in [d,t_2 ]} \quad 2^{ - \tau } \,\beta (r,t_2 - \tau )} \right\} \\ \quad \quad \quad \quad \le \max \left\{ {\beta (r,t_2 - d/2),} \right.2^{ - d/2} \beta (r,t_2 - d),\quad \left. {\mathop {\max }\limits_{\tau \in [0,t_1 ]} \quad 2^{ - \tau - d} \,\beta (r,t_1 - \tau )} \right\} \\ \quad \quad \quad \quad = \max \left\{ {\beta (r,t_1 + d/2),} \right.2^{ - d/2} \beta (r,t_1 ),\,2^{ - d} \tilde \beta (r,t_1 )\} \\ \end{array} $$

Now the strict monotonicity\(\tilde{\beta}(r,t_{2})< \tilde{\beta}(r,t_{1})\) follows sinceβ(r,t 1+d/2)<β(r,t 1)\(\leq\tilde{\beta}(r, t_{1})\),\(2^{-d/2} \beta(r, t_{1})<\beta(r, t_{1}) \leq\tilde{\beta}(r, t_{1})\) and\(2^{-d}\tilde{\beta}(r, t_{1})< \tilde{\beta}(r, t_{1})\).

Finally, we prove\(\lim_{t \rightarrow \infty} \tilde{\beta}(r, t) = 0\) for anyr>0. Since

$$ \begin{array}{*{20}l} {} \hfill & { \le \max \left\{ {\mathop {\max }\limits_{\tau \in [0,t/2]} 2^{ - \tau } \beta (r,t - \tau ),\mathop {\max }\limits_{\tau \in [t/2,t]} 2 - \tau \beta (r,t - \tau )} \right\}} \hfill \\ {} \hfill & { \le \max \left\{ {\beta (r,t/2),2^{ - t/2} \beta (r,0\left. ) \right\} \to 0\,\,{\rm as}\,t \to \infty } \right.} \hfill \\ \end{array} $$

the assertion follows. □

Now, we are ready to prove the final stability result.

Theorem 2.27

Consider the sampled data closed-loop system (2.30)with sampling period T>0and the corresponding discrete time closed-loop system (2.5)with f from (2.8).Then (2.30)is locally asymptotically stable,i.e.,there exists η>0and \(\overline{\beta}\in\mathcal{KL}\) such that (2.48)holds for all \(x\in\mathcal{B}_{\eta}(x_{*})\),if and only if (2.5)is locally asymptotically stable and the solutions of (2.30)are uniformly bounded over T.

Proof

If (2.30) is locally asymptotically stable with some\(\overline{\beta}\in\mathcal{KL}\), then by (2.46) it immediately follows that the discrete time system (2.5) is asymptotically stable with\(\beta(r,k)=\overline{\beta}(r,kT)\) and that the solutions of (2.30) are uniformly bounded with\(\gamma(r)=\overline{\beta}(r,0)\).

Conversely, assume that (2.5) is locally asymptotically stable and that the solutions of (2.30) are uniformly bounded overT. Denote the valuesη>0 from Definition 2.14 and Definition 2.24 byη s andη b, respectively. These two properties imply that there exist\(\beta\in\mathcal{KL}\) and\(\gamma\in \mathcal{K}_{\infty}\) such that

$$ \begin{array}{*{20}l} {|x|_{x*} \le \eta ^s \,\, \Rightarrow } \hfill & {\varphi (kT,0,x,\mu )|_{x*} \le \beta \,(|x|_{x*} ,k)} \hfill & {{\rm for}\,{\rm all}\,k \ge 0,} \hfill \\ \end{array} $$
(2.49)
$$ \begin{array}{*{20}l} {|x|_{x*} \le \eta ^b } \hfill & \Rightarrow \hfill & {|\varphi (t,0,x,\mu )|_{x*} \le \gamma (|x|x_{x*} )} \hfill & {{\rm for all }t \in [0,T].} \hfill \\ \end{array} $$
(2.50)

In order to show the assertion we have to constructη>0 and\(\overline{\beta}\in\mathcal{KL}\) with

$$ \begin{array}{*{20}l} {|x|_{x*} \le \eta } \hfill & \Rightarrow \hfill & {|\varphi (t,0,x,\mu )|_{x*} \le \bar \beta (|x|x_{x*} ,t)} \hfill & {{\rm for all }t \ge 0.} \hfill \\ \end{array} $$
(2.51)

Defineγ 0(r):=β(r,0) and let\(\eta= \min\{\eta^{s}, \gamma_{0}^{-1}(\eta^{b})\}\). This definition impliesβ(η,0)≤η b andηη s. In what follows we consider arbitraryxX with\(| x |_{x_{*}} \leq\eta\). For thesex, (2.49) andηη s yield

$$\big|\varphi( k T, 0, x, \mu)\big|_{x_*} \leq\beta\bigl(\|x\|_{x_*},k\bigr) \le \beta(\eta,0) \le\eta^b \quad\mbox{for all } k \geq0. $$
(2.52)

For anyk≥0 andt∈[kT,(k+1)T] the definition of (2.30) implies

$$\varphi(t, 0,x,\mu)= \varphi\bigl(t-kT,0, \varphi(kT, 0,x,\mu), \mu\bigr).$$

Since (2.52) implies\(|\varphi(kT, 0,x,\mu)|_{x_{*}} \le \eta^{b}\) for allk≥0, (2.50) holds forx=ϕ(kT,0,x,μ) and from (2.50) and (2.52) we obtain

$$\big|\varphi(t, 0,x,\mu)\big|_{x_*} \le\gamma\bigl(\big\|\varphi(kT, 0,x,\mu)\big\|\bigr) \le\gamma\bigl(\beta\bigl(\|x\|_{x_*},k\bigr)\bigr) $$
(2.53)

for allt∈[kT,(k+1)T] and allk≥0.

Now we define\(\hat{\beta}(r,t):= \gamma(\beta(r,t))\). Clearly,\(\hat{\beta}\in\mathcal{KL}\) and by Lemma 2.26 we can assume without loss of generality that\(\hat{\beta}\) is uniformly incrementally bounded; otherwise we replace it by\(\tilde{\beta}\) from this lemma.

Hence, fork∈ℕ0 ands∈[0,1] we obtain

$$\hat{\beta}(r,k) \le P\hat{\beta}(r,k+1) \le P\hat{\beta}(r,k+s). $$
(2.54)

Now pick an arbitraryt≥0 and letk∈ℕ0 be maximal withkt/T. Then (2.53) and (2.54) withs=t/Tk∈[0,1] imply

$$\big|\varphi(t, 0,x,\mu)\big|_{x_*} \le\hat{\beta}\bigl(\|x\|_{x_*},k\bigr) \le P\hat{\beta}\bigl(|x|_{x_*},k+(t/T-k)\bigr) = P\hat{\beta}\bigl(|x|_{x_*},t/T\bigr).$$

This shows the assertion with\(\overline{\beta}(r,t)=P\hat{\beta}(r, t/T)\). □

Concluding, if we can compute an asymptotically stabilizing feedback law for the discrete time system induced by the sampled data system, then the resulting continuous time sampled data closed loop is also asymptotically stable provided its solutions are uniformly bounded overT.

2.5 Notes and Extensions

The general setting presented in Sect. 2.1 is more or less standard in discrete time control theory, except maybe for the rather general choice of the state spaceX and the control value spaceU which allows us to cover infinite-dimensional systems as illustrated in Example 2.12 and sampled data systems without the zero order hold assumption as discussed after Theorem 2.7.

This definition of sampled data systems is not so frequently found in the literature, where often only the special case of zero order hold is discussed. While zero order hold is usually the method of choice in practical applications and is also used in the numerical examples later in this book, for theoretical investigations the more general approach given in Sect. 2.2 is appealing, too.

The discrete time stability theory presented in Sect. 2.3 has a continuous time counterpart, which is actually more frequently found in the literature. Introductory textbooks on this subject in a control theoretic setting are, e.g., the books by Khalil [7] and Sontag [15]. The proofs in this section are not directly taken from the literature, but they are based on standard arguments, which appear in many books and papers on the subject. Formulating asymptotic stability via\(\mathcal{KL}\)-function goes back to Hahn [5] and became popular in nonlinear control theory during the 1990s via the input-to-state stability (ISS) property introduced by Sontag in [14]. A good survey on this theory can be found in Sontag [16].

While here we only stated direct Lyapunov function theorems which state that the existence of a Lyapunov function ensures asymptotic stability, there is a rather complete converse theory, which shows that asymptotic stability implies the existence of Lyapunov functions. A collection of such results—again in a control theoretic setting—can be found in the PhD thesis of Kellett [6].

The final Sect. 2.4 on asymptotic stability of sampled data systems is based on the Paper [11] by Nešić, Teel and Sontag, in which this topic is treated in a more general setting. In particular, this paper also covers ISS results for perturbed systems.

2.6 Problems

  1. 1.

    Show that there exists no differential equation\(\dot{x}(t) = f_{c}(x(t))\) (i.e., without control input) satisfying Assumption 2.4 andf c (0)=0 such that the difference equationx +=f(x) with

    $$ \begin{array}{*{20}l} {f(x) = } \hfill & {\left\{ {\begin{array}{*{20}c} {\frac{x}{2}} \hfill & {x \ge 0,} \hfill \\ { - x} \hfill & {x< 0} \hfill \\ \end{array}} \right.} \hfill \\ \end{array} $$

    is the corresponding sampled data system.

  2. 2.
    1. (a)

      Show that\(x^{\mathrm{ref}}(n)= \sum_{k =0}^{n}\frac{1}{2^{n-k}} \sin(k)\) is a solution of the difference equation

      $$x(n+1) = \frac{1}{2} x(n) + \sin(n).$$
    2. (b)

      Prove thatx ref from (a) is uniformly asymptotically stable and derive a comparison function\(\beta\in \mathcal{KL}\) such that (2.35) holds. Here it is sufficient to derive a formula forβ(r,n) forn∈ℕ0.

    3. (c)

      Show that\(x^{\mathrm{ref}}(n) = \sum_{k =0}^{n}\frac{k+ 1}{n + 1} \sin(k)\) is a solution of the difference equation

      $$x (n + 1) = \frac{n + 1}{n + 2} x(n) + \sin(n).$$
    4. (d)

      Can you also prove uniform asymptotic stability forx ref from (c)?

    Hint for (b) and (d): One way to proceed is to derive a difference equation forz(n)=x(n,n 0,x 0)−x ref(n) and look at the equilibriumx =0 for this new equation.

  3. 3.

    Consider the two-dimensional difference equation

    $$ x^ + = (1 - ||x||)\left( {\begin{array}{*{20}c} 0 \hfill & 1 \hfill \\ { - 1} \hfill & 0 \hfill \\ \end{array}} \right)x $$

    withx=(x 1,x 2)∈ℝ2.

    1. (a)

      Prove that\(V(x) = x_{1}^{2}+x_{2}^{2}\) is a Lyapunov function for the equilibriumx =0 onS={x∈ℝ2∣‖x‖≤1}.

    2. (b)

      IsV also a Lyapunov function onS=ℝ2?

    3. (c)

      Solve (a) and (b) for the difference equation

      $$ x^ + = \frac{1}{{1 + ||x||}}\left( {\begin{array}{*{20}c} 0 \hfill & 1 \hfill \\ { - 1} \hfill & 0 \hfill \\ \end{array}} \right)x. $$
  4. 4.

    Consider a globally asymptotically stable difference equation (2.31) with equilibriumx X and a Lyapunov functionV onS=X withα 1(r)=2r 2,α 2(r)=3r 2 andα V (r)=r 2.

    Compute the rate of attraction\(\beta\in\mathcal{KL}\) such that (2.32) holds. Here it is sufficient to derive a formula forβ(r,n) forn∈ℕ0.

    Hint: Follow the construction ofβ from the proof of Theorem 2.19. Why can you use\(\tilde{\alpha}_{V}=\alpha_{V}'\) for this problem?

  5. 5.

    Consider a difference equation (2.31) with equilibriumx X and a function\(V:X\to\mathbb{R}_{0}^{+}\) which satisfies (2.37) but only

    $$V\bigl(g(x)\bigr) \le V(x)$$

    instead of (2.38).

    1. (a)

      Prove that there exists\(\alpha_{L}\in\mathcal{K}_{\infty}\) such that the solutions of (2.1) satisfy the inequality

      $$\big|x(n,x_0)\big|_{x_*} \le\alpha_L\bigl(|x_0|\bigr).$$
    2. (b)

      Conclude from (a) that the system is stable in the sense of Lyapunov, cf. the discussion after Definition 2.14.