961
Views
0
CrossRef citations to date
0
Altmetric
Research Articles

On the exact linearisation and control of flat discrete-time systems

ORCID Icon, ORCID Icon, ORCID Icon & ORCID Icon
Pages 412-426 | Received 04 Jan 2022, Accepted 22 Nov 2022, Published online: 10 Dec 2022

Abstract

The paper addresses the exact linearisation of flat nonlinear discrete-time systems by generalised static or dynamic feedbacks which may also depend on forward-shifts of the new input. We first investigate the question which forward-shifts of a given flat output can be chosen in principle as a new input, and subsequently how to actually introduce the new input by a suitable feedback. With respect to the choice of a feasible input, easily verifiable conditions are derived. Introducing such a new input requires a feedback which may in general depend not only on this new input itself but also on its forward-shifts. This is similar to the continuous-time case, where feedbacks which depend on time derivatives of the closed-loop input – and in particular quasi-static ones – have already been used successfully for the exact linearisation of flat systems since the nineties of the last century. For systems with a flat output that does not depend on forward-shifts of the input, it is shown how to systematically construct a new input such that the total number of the corresponding forward-shifts of the flat output is minimal. Furthermore, it is shown that in this case the calculation of a linearising feedback is particularly simple, and the subsequent design of a discrete-time flatness-based tracking control is discussed. The presented theory is illustrated by the discretised models of a wheeled mobile robot and a 3DOF helicopter.

1. Introduction

The concept of flatness has been introduced in the 1990s by Fliess, Lévine, Martin and Rouchon for nonlinear continuous-time systems (see e.g. Fliess et al. (Citation1995Citation1999)). Roughly speaking, a continuous-time system is flat if all system variables can be parameterised by a flat output and its time derivatives, which in turn depends on the system variables and their time derivatives. In other words, there exists a one-to-one correspondence between the trajectories of a flat system and the trajectories of a trivial system. Since these properties allow an elegant solution to motion planning problems and a systematic design of tracking controllers, flatness belongs doubtlessly to the most popular nonlinear control concepts.

For the practical implementation of a flatness-based control, it is important to evaluate the continuous-time control law at a sufficiently high sampling rate. If this is not possible, it can be advantageous to design the controller directly for a suitable discretisation of the continuous-time system, see e.g. Diwold et al. (Citation2022a). Thus, transferring the flatness concept to discrete-time systems is both interesting from a theoretical and an application point of view. In fact, there are two equally obvious possibilities: The first one is to replace the time derivatives of the continuous-time definition by forward-shifts. This point of view has been adopted e.g. in Kaldmäe and Kotta (Citation2013), Sira-Ramirez and Agrawal (Citation2004), or Kolar et al. (Citation2016), and is consistent with the linearisability by a discrete-time endogenous dynamic feedback as it is defined in Aranda-Bricaire and Moog (Citation2008). The second approach is based on the one-to-one correspondence of the system trajectories to the trajectories of a trivial system. In contrast to the first approach, in this case the flat output may also depend on backward-shifts of the system variables, see Diwold et al. (Citation2022b) or Guillot and Millérioux (Citation2020). Since it is more general, within the present paper we consider the second approach, and refer to the first one, which is included as a special case, as forward-flatness.

For flat continuous-time systems, the problem of exact linearisation by different types of feedback as well as a subsequent tracking control design have already been studied extensively since the nineties of the last century. The simplest approach is to perform an exact linearisation such that the new input corresponds to the highest time derivatives of the flat output that appear in the parameterisation of the system variables. This can always be achieved by a classical (endogenous) dynamic feedback, see e.g. Fliess et al. (Citation1999). However, it is well-known that it can be advantageous to choose appropriate lower-order time derivatives of the flat output as a new input. In this case, the required feedback depends also on time derivatives of the new input, and is hence not a dynamic feedback in the classical sense – see Delaleau and Rudolph (Citation1998), Rudolph (Citation2021), or Gstöttner et al. (Citation2021a). An important advantage of such an exact linearisation is that it allows e.g. to achieve a lower-order error dynamics for a subsequently designed tracking control.

For flat discrete-time systems, it has been shown in Diwold et al. (Citation2022b) that – similar to the continuous-time case – they can be exactly linearised by a dynamic feedback such that the new input of the closed-loop system corresponds to the highest forward-shifts of the flat output that appear in the parameterisation of the system variables. Furthermore, it has been demonstrated in Diwold et al. (Citation2022a) for the practical example of a gantry crane that also an exact linearisation which introduces lower-order forward-shifts of the flat output as a new input is in principle applicable. This allows to achieve a lower-order tracking error dynamics, but requires a feedback which depends also on forward-shifts of the new input. Since in the particular case of the gantry crane the required feedback does not have a dynamic part, it is a discrete-time quasi-static feedback – see e.g. Aranda-Bricaire and Kotta (Citation2001), where such a type of feedback is used in a different context. However, according to the authors' best knowledge, a thorough theoretical analysis of the problem of exact linearisation and tracking control design for flat discrete-time systems does not yet exist in the literature. Thus, the aim of the present paper is to close this gap: We investigate which (lower-order) forward-shifts of a flat output can be used in principle as a new input, and how to actually introduce such a new input by a suitable feedback. After discussing the general case, we consider systems with a flat output that does not depend on future values of the control input. We show how to systematically construct a new input such that the sum of the orders of the corresponding forward-shifts of the components of the flat output is minimal, and that deriving a linearising feedback is particularly simple in this case. Furthermore, we show how such an exact linearisation can be used as a basis for the systematic design of a flatness-based tracking control, and demonstrate our results by two examples.

The employed mathematical methods are similar as in Gstöttner et al. (Citation2021a), where we have proven that every flat continuous-time system with a flat output that is independent of time derivatives of the input can be exactly linearised by a quasi-static feedback of its classical state. Hence, it is particularly important to emphasise that like in Gstöttner et al. (Citation2021a) we restrict ourselves to feedbacks of the classical system state, and do not consider feedbacks of generalised states as e.g. in Delaleau and Rudolph (Citation1998) or Rudolph (Citation2021). However, it should be noted that the considered feedbacks are more general than a usual static or dynamic feedback in the sense that they may also depend on forward-shifts of the closed-loop input.

The paper is organised as follows: In Sections 2 and 3 we introduce some notation and recapitulate the concept of flatness for discrete-time systems. In Section 4 we investigate the exact linearisation of flat discrete-time systems in general, and derive further results for systems with a flat output that does not depend on future values of the control input. The design of a flatness-based tracking control is discussed in Section 5, and in Section 6 the developed theory is finally applied to the discretised models of a wheeled mobile robot and a 3DOF helicopter.

2. Notation

Throughout the paper we make use of some basic differential-geometric concepts. Let X be an n-dimensional smooth manifold equipped with local coordinates xi, i=1,,n, and h:XRm some smooth function. Then we denote by xh the m×n Jacobian matrix of h=(h1,,hm) with respect to x=(x1,,xn). The partial derivative of a single component hj with respect to a coordinate xi is denoted by xihj. Furthermore, dhj=x1hjdx1++xnhjdxn denotes the differential (exterior derivative) of the function hj, where dxi, i=1,,n are the differentials corresponding to the local coordinates. We frequently use dh as an abbreviation for the set {dh1,,dhm}, and with e.g. span{dh1,,dhm} we mean the span over the ring C(X) of smooth functions. The symbols ⊂ and are used in the sense that they also include equality.

To denote forward- and backward-shifts of the system variables, we use subscripts in brackets. For instance, the αth forward- or backward-shift of a component yj of a flat output y with αZ is denoted by y[α]j, and y[α]=(y[α]1,,y[α]m). To keep expressions which depend on different numbers of shifts of different components of a flat output readable, we use multi-indices. If A=(a1,,am) and B=(b1,,bm) are two multi-indices with AB, i.e. ajbj for j=1,,m, then y[A]=(y[a1]1,,y[am]m)and y[A,B]=(y[a1,b1]1,,y[am,bm]m)with y[aj,bj]j=(y[aj]j,,y[bj]j). In the case aj>bj we define y[aj,bj]j as empty. The addition and subtraction of multi-indices is performed componentwise, and for an integer c we define A±c=(a1±c,,am±c). Furthermore, #A=j=1maj denotes the sum over all components of a multi-index. As an example consider the tuple y=(y1,y2), an integer c = 2, and multi-indices A=(0,2), B=(1,2). We then have y[c]=(y[2]1,y[2]2), y[A]=(y1,y[2]2), y[A,B]=(y1,y[1]1,y[2]2), and y[A+c]=(y[2]1,y[4]2) as well as #A=2 and #B=3.

Frequently, it is also convenient to decompose the components of a flat output y or the input u into several blocks like e.g. y=(y1,,ym1y1,ym1+1,,ymy2).Since such blocks are also denoted by a subscript, in this case the first subscript always refers to the block, and shifts are denoted by a second subscript in brackets. For instance, y[α]=(y[α]1,,y[α]m1y1,[α],y[α]m1+1,,y[α]my2,[α])with some integer αZ, or y1,[A1]=(y1,[a11]1,,y1,[a1m1]m1) with some multi-index A1=(a11,,a1m1).

3. Discrete-time systems and flatness

In this contribution, we consider time-invariant discrete-time nonlinear systems (1) xi,+=fi(x,u),i=1,,n(1) with dim(x)=n, dim(u)=m and smooth functions fi(x,u). In addition, we assume that system (Equation1) meets the submersivity condition (2) rank((x,u)f)=n,(2) which is common in the discrete-time literature and necessary for accessibility.

Like in Diwold et al. (Citation2022b), we call a discrete-time system (Equation1) flat if there exists a one-to-one correspondence between its solutions (x(k),u(k)) and solutions y(k) of a trivial system (arbitrary trajectories that need not satisfy any difference equation) with the same number of inputs. Before we state a more rigorous definition of discrete-time flatness, let us consider the coupling of the trajectories x(k) and u(k) by the system equations (Equation1). By a repeated application of (Equation1), all forward-shifts x(k+α), α1 of the state variables are obviously determined by x(k) and the input trajectory u(k+α) for α0. A similar argument holds for the backward-direction: Because of the submersivity condition (Equation2), there always exist m functions g(x,u) such that the (n+m)×(n+m) Jacobian matrix [xfufxgug]is regular and the map (3) x+=f(x,u)ζ=g(x,u)(3) hence locally invertible. By a repeated application of its inverse (4) (x,u)=ψ(x+,ζ),(4) all backward-shifts x(kβ), u(kβ) of the state- and input variables for β1 are determined by x(k) and backward-shifts ζ(kβ), β1 of the system variables ζ defined by (Equation3). Hence, if only a finite time-interval is considered, the system trajectories (x(k),u(k)) can be identified with points of a manifold ζ[lζ,1]×X×U[0,lu] with coordinates (ζ[lζ],,ζ[1],x,u,u[1],,u[lu]) and suitably chosen integers lζ, lu. If hC(ζ[lζ,1]×X×U[0,lu]) is a function defined on this manifold, then its future values can be determined by a repeated application δβ of the forward-shift operator (5) δ(h(,ζ[2],ζ[1],x,u,u[1],))=h(,ζ[1],g(x,u),f(x,u),u[1],u[2],).(5) Likewise, its past values can be determined by a repeated application δβ of the backward-shift operator (6) δ1(h(,ζ[1],x,u,u[1],u[2],))=h(,ζ[2],ψx(x,ζ[1]),ψu(x,ζ[1]),u,u[1],),(6) where ψx and ψu are the corresponding components of (Equation4). Since we work in a finite-dimensional framework, it is important to emphasise that δ only yields the correct forward-shift if the integer lu is chosen large enough such that the considered function h does not already depend on u[lu]. Likewise, δ1 only yields the correct backward-shift if lζ is chosen large enough such that the function h does not already depend on ζ[lζ]. Thus, throughout this contribution we assume that lu and lζ are chosen large enough such that (Equation5) and (Equation6) act as correct forward- and backward-shifts on all considered functions.

Like the discrete-time static feedback linearisation problem, discrete-time flatness is considered in a suitable neighbourhood of an equilibrium (x0,u0) of the system (Equation1). On the manifold ζ[lζ,1]×X×U[0,lu], an equilibrium corresponds to a point with coordinates (ζ0,,ζ0,x0,u0,u0,,u0) with ζ0=g(x0,u0) according to (Equation3). Hence, evaluated at an equilibrium point (or, in other words, at an equilibrium trajectory), the functions δ(h) and δ1(h) have the same value as the function h itself.

Definition 3.1

(Diwold et al. (Citation2022b)) The system (Equation1) is said to be flat around an equilibrium (x0,u0), if the n + m coordinate functions x and u can be expressed locally by an m-tuple of functions (7) yj=φj(ζ[q1],,ζ[1],x,u,,u[q2]),j=1,,m(7) and their forward-shifts (8) y[1]=δ(φ(ζ[q1],,ζ[1],x,u,,u[q2]))y[2]=δ2(φ(ζ[q1],,ζ[1],x,u,,u[q2]))(8) up to some finite order. The m-tuple (Equation7) is called a flat output.

The representation of x and u by a flat output (Equation7) is unique and has the form (9) xi=Fxi(y,,y[R1]),i=1,,nuj=Fuj(y,,y[R]),j=1,,m.(9) The multi-index R=(r1,,rm) consists of the number of forward-shifts of each component of the flat output (Equation7) that are needed to express x and u. After substituting (Equation8) into (Equation9), the equations are satisfied identically. Because of Lemma A.1 (see the Appendix), this is equivalent to the condition dxspan{dφ,,dδR1(φ)}duspan{dφ,,dδR(φ)}which we shall use later. The uniqueness of the map (Equation9) is a consequence of the fact that all forward- and backward-shifts of a flat output are functionally independent, see Diwold et al. (Citation2022b). Furthermore, the rows of the Jacobian matrix of the right-hand side of (Equation9) with respect to y[0,R] are linearly independent, i.e. the map (Equation9) is a submersion. With a restriction to flat outputs that are independent of backward-shifts of the system variables, Definition 3.1 leads to the concept of forward-flatness considered e.g. in Sira-Ramirez and Agrawal (Citation2004), Kaldmäe and Kotta (Citation2013), or Kolar et al. (Citation2016).

Definition 3.2

(Diwold et al. (Citation2022b)) The system (Equation1) is said to be forward-flat, if it meets the conditions of Definition 3.1 with a flat output of the form yj=φj(x,u,,u[q2]).

For continuous-time systems, the computation of flat outputs is known to be a challenging problem. Recent research in this field can be found e.g. in Nicolau and Respondek (Citation2017), Nicolau and Respondek (Citation2019), or Gstöttner et al. (Citation2021b). For discrete-time systems, in contrast, we have shown in Kolar et al. (Citation2021) that every forward-flat system can be decomposed by coordinate transformations into a smaller-dimensional forward-flat subsystem and an endogenous dynamic feedback. Because of this property, it is possible to check the forward-flatness of a system (Equation1) similar to the well-known static feedback linearisation test by computing a certain sequence of distributions, see Kolar et al. (Citation2022). However, even though ideas for an extension of this approach to the general case of Definition 3.1 can be found in Kaldmäe (Citation2021), a computationally efficient test does not yet exist. Hence, within the present paper, we assume that a flat output is given and do not address its computation.

4. Exact linearisation

In Diwold et al. (Citation2022b), it has been shown that every flat discrete-time system (Equation1) can be exactly linearised by a dynamic feedback which leads to an input-output behaviour of the form y[rj]j=vj, j=1,,m between the new input v=δR(φ) and the considered flat output (Equation7). In the following, we address the question whether also lower-order forward-shifts v=δA(φ) of the flat output with a suitable multi-index 0AR can be chosen as new input. This is particularly interesting for the subsequent design of a tracking control, since with an input-output behaviour y[aj]j=vj,j=1,,mthe order of the tracking error dynamics is given by #A=j=1maj instead of #R=j=1mrj.

Example 4.1

Consider the system (10) x1,+=x1+u1x2,+=x3u1+1x3,+=u2(10) with the flat output (11) y1=φ1(x)=x1y2=φ2(x)=x2.(11) The corresponding parameterisation (Equation9) of the system variables by the flat output is given by x1=y1x2=y2x3=y[1]2(1y1+y[1]1)u1=y[1]1y1u2=y[2]2(1y[1]1+y[2]1),i.e. there occur forward-shifts of the flat output up to the order R=(2,2). Thus, as shown in Diwold et al. (Citation2022b), by applying a dynamic feedback it is definitely possible to introduce a new input v=(δ2(φ1),δ2(φ2)) and hence achieve an input-output behaviour y[2]1=v1y[2]2=v2.However, it is actually also possible to introduce lower-order forward-shifts of the flat output (Equation11) as a new input: Let us define (12) v1=δ(φ1)=x1+u1v2=δ2(φ2)=u2u[1]1+1(12) (i.e. A=(1,2)) and complement these equations by the forward-shift v[1]1=δ2(φ1)=x1+u1+u[1]1.If we solve the resulting set of equations for u1 and u2 as well as u[1]1, the original inputs are given by (13) u1=v1x1u2=(1v1+v[1]1)v2.(13) With the feedbackFootnote1 (Equation13), it is possible to introduce the input (Equation12) and achieve an input-output behaviour y[1]1=v1y[2]2=v2.However, as already mentioned in the introduction, this requires a feedback which also depends on forward-shifts of the new input.

In this introductory example, we have chosen the new input v=(δ(φ1),δ2(φ2)) without a prior theoretical justification. The criterion for the feasibility of an m-tuple of forward-shifts δA(φ) of a flat output (Equation7) as a new input v is the possibility to realise arbitrary trajectories v(k+α), α0 independently of the previous trajectory of the system. More precisely, like for the original input u, at every time step k the system (Equation1) must permit arbitrary trajectories v(k+α), α0 independently of its current state x(k) and past values ζ(kβ), β1. That is, for every possible state x(k) and past values ζ(kβ), β1 there must exist a trajectory u(k+α), α0 of the original control input such that the desired trajectory v(k+α), α0 can be realised. The practical importance of this criterion is obvious, since otherwise there would be no guarantee that a trajectory v(k+α), α0 requested e.g. by a controller for the exactly linearised system can actually be achieved. Similar considerations for flat continuous-time systems can be found in Gstöttner et al. (Citation2021a), where it has to be ensured that arbitrary trajectories v(t) can be realised.

Theorem 4.2

Let A=(a1,,am) denote a multi-index with aj0, j=1,,m. The system (Equation1) permits arbitrary trajectories v(k+α), α0 for the forward-shifts v=δA(φ) of a flat output (Equation7) regardless of its current state x(k) and past values ζ(kβ), β1 if and only if the differentials (14) dζ[q1+A],,dζ[1],dx,dδA(φ),,dδR1(φ)(14) are linearly independent.

Proof.

The system permits arbitrary trajectories v(k+α), α0 if and only if there does not exist any non-trivial relation of the form (15) ψ(,ζ(k2),ζ(k1),x(k),v(k),v(k+1),)=0.(15) Otherwise, (Equation15) could be solved by the implicit function theorem for at least one component of some v(k+α), α0, which would thus be uniquely determined by the other quantities appearing in (Equation15). In our differential-geometric framework with the manifold ζ[lζ,1]×X×U[0,lu], this corresponds to the non-existence of any non-trivial relation ψ(,ζ[2],ζ[1],x,δA(φ),δA+1(φ),)=0.Because of Lemma A.1, this condition is equivalent to the linear independence of the differentials (16) ,dζ[2],dζ[1],dx,dδA(φ),dδA+1(φ),.(16) However, it is not necessary to check the linear independence of all these differentials. Since the flat output (Equation7) is independent of the variables ,ζ[q12],ζ[q11], its forward-shift δA(φ) is independent of ,ζ[q1+A2],ζ[q1+A1]. Thus, we do not need to consider the corresponding differentials. Furthermore, since the differentials of a flat output and all its forward- and backward-shifts are linearly independent and the fact that dxspan{dφ,,dδR1(φ)}as well asFootnote2 dζ[1]span{dδ1(φ),dφ,,dδR1(φ)}dζ[2]span{dδ2(φ),dδ1(φ),,dδR2(φ)},there is also no need to consider the differentials dδR(φ),dδR+1(φ),. Consequently, the linear independence of the differentials (Equation14) implies the linear independence of the differentials (Equation16), which completes the proof.

An immediate consequence of Theorem 4.2 is that the choice of an input v=δA(φ) with AR is always possible.

Example 4.3

Consider again the system (Equation10) with the flat output (Equation11) of Example 4.1. For the chosen new input (Equation12) with A=(1,2) and R=(2,2), the differentials (Equation14) of Theorem 4.2 are given by dx1dx2dx3dδ(φ1)=dx1+du1and obviously linearly independent. Thus, the system permits indeed arbitrary trajectories v(k+α), α0 for the new input (Equation12) independently of its current state x(k) and past values of the system trajectory. The latter play no role in this case, since the flat output (Equation11) is a forward-flat output. If, however, we would try to use the flat output (Equation11) itself as a new input v1=φ1=x1v2=φ2=x2,then it is obvious that the possible trajectories v(k+α), α0 are restricted by the current state x(k). Accordingly, it can be observed that the differentials dx1dx2dx3dφ1=dx1dφ2=dx2dδ(φ1)=dx1+du1dδ(φ2)=1u1+1dx3x3(u1+1)2du1of condition (Equation14) with A=(0,0) are not linearly independent.

4.1. Construction of the linearising feedback in the general case

Theorem 4.2 ensures that every trajectory v(k+α), α0 of the new input v=δA(φ) can be realised independently of the previous trajectory of the system up to the time instant k by applying a suitable trajectory of the control input u(k+α), α0. In the following, we show how the required trajectory u(k+α) can be determined by a suitable state feedback. In other words, we derive a feedback which actually introduces v=δA(φ) as new input. For simplicity we assume AR, since the choice A = R is possible anyway. The basic idea for the construction of the linearising feedback is similar as in the continuous-time case in Gstöttner et al. (Citation2021a). However, due to the different transformation laws of continuous-time and discrete-time systems, the proof is adapted accordingly.

Because of the linear independence of the differentials (Equation14) and dxspan{dφ[0,R1]}, there exists a selection dφc of #An differentials from the set dφ[0,A1] such that span{dφ[0,R]}=span{dφ[0,A1],dφ[A,R]}=span{dx,dφc,dφ[A,R]}.As a consequence of Lemma A.1, there exists a diffeomorphism Ψ:R#R+mR#R+m such that locally (17) φ[0,R]=Ψ(x,φc,φ[A,R])(17) holds identically. Its inverse is given by x=Fx(φ[0,R1])φc=φcφ[A,R]=φ[A,R],where Fx is the parameterisation of the state variables according to (Equation9). Based on the diffeomorphism (Equation17), the quantities v=δA(φ) can be introduced as new input of the system (Equation1) by a dynamic feedback with the controller state z=φc. Since the functions φc belong to the set φ[0,A1], their forward-shifts φc,[1]=δ(φc) belong to the set φ[1,A]φ[0,R] and can hence be expressed as functions of x, φc, and φ[A,R]. The corresponding components of (Equation17) are denoted in the following as φc,[1]=ψc,[1](x,φc,φ[A,R]).

Theorem 4.4

Consider a system (Equation1) with a flat output (Equation7) and a multi-index AR which satisfies the condition of Theorem 4.2. With a feedback (18) z+=ψc,[1](x,z,v[0,RA])u=FuΨ(x,z,v[0,RA])(18) with dim(z)=#An, the closed-loop system (19) x+=f(x,FuΨ(x,z,v[0,RA]))z+=ψc,[1](x,z,v[0,RA])(19) has the input-output behaviour y[A]=v.

Proof.

First, let us extend the feedback (Equation18) by the trivial equations v[0,RA1]+=v[1,RA], such that the extended closed-loop system (20) x+=f(x,FuΨ(x,z,v[0,RA]))z+=ψc,[1](x,z,v[0,RA])v[0,RA1]+=v[1,RA](20) has the form of a classical state representation with the input v[RA]. In the following, we show that with the transformation (21) y[0,R]=Ψ(x,z,v[0,RA])(21) derived from (Equation17) the system is equivalent to the discrete-time Brunovsky normal form (22) y1,+=y[1]1ym,+=y[1]my[r11]1,+=y[r1]1y[rm1]m,+=y[rm]m.(22) From the inverse (23) x=Fx(y[0,R1])z=ycv[0,RA1]=y[A,R1]v[RA]=y[R](23) of (Equation21) and ycy[0,A1]y[0,R1], it is clear that the transformation is actually a state transformation for the extended closed-loop system (Equation20). The input is only renamed according to v[RA]=y[R]. Because of the transformation law for discrete-time systems, applying the transformation (Equation23) to the Brunovsky normal form (Equation22) yields x+=Fx(y[1,R])Ψ(x,z,v[0,RA])z+=yc,[1]Ψ(x,z,v[0,RA])v[0,RA1]+=y[A+1,R]Ψ(x,z,v[0,RA]).Using the identityFootnote3 Fx(y[1,R])=f(Fx(y[0,R1]),Fu(y[0,R])) as well as FxΨ(x,z,v[0,RA])=x and y[A+1,R]Ψ(x,z,v[0,RA])=v[1,RA], the system representation (Equation20) follows. Thus, the extended closed-loop system (Equation20) is equivalent to the Brunovsky normal form (Equation22) via a state transformation and a renaming of the input. Consequently, it has the linear input-output behaviour y[R]=v[RA]. Since the closed-loop system (Equation19) has the input v instead of v[RA], it has the input-output behaviour y[A]=v.

In contrast to a classical static or dynamic feedback, the feedback (Equation18) depends besides the new input v also on its forward-shifts up to the order RA. This is similar to the continuous-time case, where feedbacks which depend also on time derivatives of the new input have been used successfully for the exact linearisation of flat systems since the nineties of the last century, see e.g. Delaleau and Rudolph (Citation1998) or Rudolph (Citation2021). For a practical application, this means that at every time step not only the value of v itself needs to be specified but also its future values. Hence, if a control law for the exactly linearised system y[A]=v is designed, also expressions for the forward-shifts of v occuring in (Equation18) have to be derived. If the system y[A]=v shall be controlled by a pure feedforward control, this is of course straightforward as long as the desired reference trajectory yd is known a sufficient number of time steps ahead (note that with such a feedforward control already a dead-beat behaviour can be achieved). In Section 5, it is shown how the required forward-shifts of v can be determined also for a more general type of tracking control.

Remark 4.1

For #A=n, the controller state z is empty and the feedback (Equation18) degenerates to a feedback of the form u=FuΨ(x,v[0,RA]). Since there is no controller state but the feedback depends on forward-shifts of the closed-loop input v, such a feedback is a discrete-time quasi-static feedback as it is defined in Aranda-Bricaire and Kotta (Citation2001). For continuous-time systems, a quasi-static feedback depends on time derivatives instead of forward-shifts of the closed-loop input, see Delaleau and Rudolph (Citation1998) or Rudolph (Citation2021).

4.2. Flat outputs that are independent of future values of the input

In the remainder of the paper, we consider flat outputs of the form (24) yj=φj(ζ[q1],,ζ[1],x,u),j=1,,m(24) that are independent of future values of the input u. With this restriction, it is possible to derive further results in a similar way as in Gstöttner et al. (Citation2021a) for flat outputs of continuous-time systems which are independent of time derivatives of u. In the following, we show how to systematically construct a ‘minimal’ multi-index κ=(κ1,,κm) such that with A=κ the condition of Theorem 4.2 is met and #κ#A for all other feasible multi-indices A. The basic idea is to replace the coordinates u,u[1],u[2], of the manifold ζ[lζ,1]×X×U[0,lu] step by step by forward-shifts v,v[1],v[2], of the flat output (Equation24) with v[α]=δκ+α(φ), α0, such that finally we have coordinates (ζ[2],ζ[1],x,v,v[1],v[2],).Footnote4 For this purpose, we forward-shift every component of the flat output (Equation24) until it depends explicitly on the input u, and introduce as many of these functions as possible as new coordinates. Subsequently, the other components of the flat output are further shifted until they depend explicitly on the remaining components of u, and again as many of these functions as possible are introduced as new coordinates. Continuing this procedure until all m components of the original input u have been replaced by forward-shifts of the flat output (Equation24) yields a minimal multi-index κ=(κ1,,κm) such that with v=δκ(φ) the condition of Theorem 4.2 is satisfied. In the following, we explain the procedure in detail.

In the first step, determine the multi-index K1=(k11,,k1m) such that δk1j1(φj)=φ[k1j1]j(ζ[q1,1],x)δk1j(φj)=φ[k1j]j(ζ[q1,1],x,u)and define m1=rank(uφ[K1]). Then reorder the components of the flat output (Equation24) and the input u such that rank(u1φ1,[κ1])=m1, where φ1=(φ1,,φm1), u1=(u1,,um1), and κ1=(k11,,k1m1) consist of the first m1 components of φ, u, and K1, respectively. Now apply the coordinate transformation (25) v1=φ1,[κ1](ζ[q1,1],x,u)urest1=(um1+1,,um)v1,[1]=φ1,[κ1+1](ζ[q1,1],x,u,u[1])urest1,[1]=(u[1]m1+1,,u[1]m)v1,[2]=φ1,[κ1+2](ζ[q1,1],x,u,u[1],u[2])urest1,[2]=(u[2]m1+1,,u[2]m)(25) which replaces the inputs u1 and their forward-shifts by v1 and its forward-shifts. The remaining inputs urest1=(um1+1,,um) and their forward-shifts are left unchanged.

Remark 4.2

The coordinate transformation (Equation25) is indeed regular, since in a sufficiently small neighbourhood of an equilibrium point the condition rank(u1φ1,[κ1])=m1 implies rank(u1,[α]φ1,[κ1+α])=m1 for α1. In the new coordinates, the forward-shift operator (Equation5) has the form δ(h(,ζ[2],ζ[1],x,v1,urest1,v1,[1],urest1,[1],))=h(,ζ[1],g(x,Φ^),f(x,Φ^),v1,[1],urest1,[1],v1,[2],urest1,[2],)with Φ^ denoting the inverse of the transformation (Equation25).

After the coordinate transformation (Equation25) we have y1,[0,κ11]=φ1,[0,κ11](ζ[q1,1],x)y1,[κ1]=v1yrest1,[0,Krest11]=φrest1,[0,Krest11](ζ[q1,1],x)yrest1,[Krest1]=φrest1,[Krest1](ζ[q1,1],x,v1)with y1=(y1,,ym1), yrest1=(ym1+1,,ym), Krest1=(k1m1+1,,k1m), and φrest1,[α]=(φ[α]m1+1,,φ[α]m)Φ^. The functions φrest1,[Krest1] are independent of urest1, since otherwise rank(uφ[K1]) would have been larger than m1.

In the second step, determine the multi-index K2=(k21,,k2mm1) such that δk2j1(φrest1j)=φrest1,[k2j1]j(x,v1,v1,[1],)δk2j(φrest1j)=φrest1,[k2j]j(x,v1,v1,[1],,urest1)and let m2=rank(urest1φrest1,[K2]). Then reorder the components of the flat output belonging to yrest1 and the components of the input belonging to urest1 such that rank(u2φ2,[κ2])=m2, where φ2=(φrest11,,φrest1m2), u2=(urest11,,urest1m2), and κ2=(k21,,k2m2) consist of the first m2 components of φrest1, urest1, and K2, respectively. Now apply the coordinate transformationFootnote5 (26) v2=φ2,[κ2](x,v1,v1,[1],,urest1)urest2=(um1+m2+1,,um)v2,[1]=φ2,[κ2+1](x,v1,v1,[1],,urest1,urest1,[1])urest2,[1]=(u[1]m1+m2+1,,u[1]m)v2,[2]=φ2,[κ2+2](x,v1,v1,[1],,urest1,urest1,[1],urest1,[2])urest2,[2]=(u[2]m1+m2+1,,u[2]m)(26) which replaces the inputs u2=(um1+1,,um1+m2) and their forward-shifts by v2 and its forward-shifts. The remaining inputs urest2=(um1+m2+1,,um) and their forward-shifts are left unchanged. After the coordinate transformation (Equation26) we have y1,[0,κ11]=φ1,[0,κ11](ζ[q1,1],x)y1,[κ1]=v1y2,[0,κ21]=φ2,[0,κ21](ζ[q1,1],x,v1,v1,[1],)y2,[κ2]=v2yrest2,[0,Krest21]=φrest2,[0,Krest21](ζ[q1,1],x,v1,v1,[1],)yrest2,[Krest2]=φrest2,[Krest2](ζ[q1,1],x,v1,v1,[1],,v2),where y2=(ym1+1,,ym1+m2), yrest2=(ym1+m2+1,,ym), Krest2=(k2m2+1,,k2mm1), and φrest2,[α]=(φrest1,[α]m2+1,,φrest1,[α]mm1)Φ^ with the inverse Φ^ of the transformation (Equation26). The functions φrest2,[Krest2] are again independent of urest2, since otherwise rank(urest1φrest1,[K2]) would have been larger than m2.

This procedure is now continued until in some step s we obtain a multi-index Ks=(ks1,,ksmm1ms1) with δksj1(φrests1j)=φrests1,[ksj1]j(x,v1,v1,[1],,vs1,vs1,[1],)δksj(φrests1j)=φrests1,[ksj]j(x,v1,v1,[1],,vs1,vs1,[1],,urests1)such that rank(urests1φrests1,[Ks])=dim(urests1). Thus, with φs=φrests1 and κs=Ks we can apply the coordinate transformation vs=φs,[κs](x,v1,v1,[1],,vs1,vs1,[1],,urests1),which replaces the remaining inputs urests1 by vs. With the constructed coordinates, the flat output and its forward-shifts up to the orders κi are finally given by (27) y1,[0,κ11]=φ1,[0,κ11](ζ[q1,1],x)y1,[κ1]=v1y2,[0,κ21]=φ2,[0,κ21](ζ[q1,1],x,v1,v1,[1],)y2,[κ2]=v2ys1,[0,κs11]=φs1,[0,κs11](ζ[q1,1],x,v1,v1,[1],,vs2,vs2,[1],)ys1,[κs1]=vs1ys,[0,κs1]=φs,[0,κs1](ζ[q1,1],x,v1,v1,[1],,vs1,vs1,[1],)ys,[κs]=vs(27) with dim(yi)=mi and κi=(κi1,,κimi).

Theorem 4.5

For every flat output (Equation24) of the system (Equation1), the above procedure terminates after sm steps. The multi-index κ=(κ1,,κs) formed by the constructed multi-indices κi=(κi1,,κimi) has the following properties:

  1. κR

  2. #κn, and #κ=n if and only if the flat output (Equation24) is independent of the variables ζ[q1],,ζ[1].

  3. With A=κ the condition of Theorem 4.2 is met, and #κ#A for all other multi-indices A that satisfy this condition.

Furthermore, (Equation27) is actually of the form (28) y1,[0,κ11]=φ1,[0,κ11](ζ[q1,1],x)y1,[κ1]=v1y2,[0,κ21]=φ2,[0,κ21](ζ[q1,1],x,v1,[0,r1κ11])y2,[κ2]=v2ys1,[0,κs11]=φs1,[0,κs11](ζ[q1,1],x,v1,[0,r1κ11],,vs2,[0,rs2κs21])ys1,[κs1]=vs1ys,[0,κs1]=φs,[0,κs1](ζ[q1,1],x,v1,[0,r1κ11],,vs1,[0,rs1κs11])ys,[κs]=vs,(28) where ri=(ri1,,rimi) denotes the components of the multi-index R corresponding to the components yi=(yi1,,yimi) of the flat output.

Proof.

In every step i1 of the procedure, it is possible to forward-shift the remaining components φresti1 of the flat output until every component depends explicitly on one of the remaining inputs uresti1 (φrest0=φ and urest0=u for i = 1). Otherwise, the property that all forward-shifts of a flat output up to arbitrary order are functionally independent could not hold. Since in every step we have rank(uresti1φresti1,[Ki])1, at least one of the original inputs u can be eliminated, and the procedure terminates after at most dim(u)=m steps.

Now let us prove that κR. If the parameterisation of x and ζ[q1,1] by the flat output is substituted into (Equation27) and y[κ+α], α0 renamed according to y[κ+α]=v[α], then the equations (29) yi,[0,κi1]ji=φi,[0,κi1]ji(ζ[q1,1],x,v1,v1,[1],,vi1,vi1,[1],),ji=1,,mi,i=1,,s(29) must be satisfied identically. Since both x and ζ[q1,1] depend only on forward-shifts of the flat output up to the order R−1, and the forward-shifts yi,[0,κi1]ji of yiji on the left-hand side of (Equation29) are not contained in the quantities v1,v1,[1],,vi1,vi1,[1], on the right-hand side, this can only hold in the case κR. By the same argument, it is clear that (Equation27) is actually of the form (Equation28).

To prove #κn, recall that there exist exactly n independent linear combinations of the differentials of a flat output and its forward-shifts which are contained in span{dx}. In the coordinates constructed during the above procedure, the forward-shifts of the flat output up to the order κ are given by the expressions in (Equation27), and the higher forward-shifts are forward-shifts of v. Thus, there can exist at most #κ independent linear combinations which are contained in span{dx}, and hence #κn. If the flat output (Equation24) is independent of ζ[q1],,ζ[1], then all expressions in (Equation27) are independent of these variables. Consequently, there exist exactly #κ independent linear combinations of the differentials of the flat output and its forward-shifts which are contained in span{dx}, and hence #κ=n.

To prove the relation with Theorem 4.2, we use again the representation (Equation27). In these coordinates, it can be immediately observed that with A=κ the differentials (Equation14) are linearly independent. Moreover, it can also be seen that there exist exactly #κ independent linear combinations of the differentials of the flat output and its forward-shifts which are contained in span{dζ[q1],,dζ[1],dx}. If there exists a multi-index A such that the differentials (Equation14) are linearly independent, then there can exist at most #A independent linear combinations of the differentials of the flat output and its forward-shifts which are contained in span{dζ[q1],,dζ[1],dx}. Thus, the existence of such a multi-index with #A<#κ would be a contradiction.

Since the condition of Theorem 4.2 is met, the forward-shifts y[κ] of the flat output (Equation24) can be introduced as a new input v by a (dynamic) feedback according to Theorem 4.4, where the controller state z corresponds to suitable forward-shifts of the flat output that are contained in y[0,κ1]. However, the representation (Equation28) of y[0,κ1] offers a convenient alternative. With the map y[0,R]=ϕ(ζ[q1,1],x,v[0,Rκ]) defined by y1,[0,κ11]=φ1,[0,κ11](ζ[q1,1],x)y1,[κ1,r1]=v1,[0,r1κ1]ys,[0,κs1]=φs,[0,κs1](ζ[q1,1],x,v1,[0,r1κ11],,vs1,[0,rs1κs11])ys,[κs,rs]=vs,[0,rsκs],we can formulate the following corollary.

Corollary 4.6

A flat system (Equation1) with a flat output of the form (Equation24) can be exactly linearised with respect to this flat output by a feedback of the form (30) u=Fuϕ(ζ[q1,1],x,v[0,Rκ]),(30) such that the input-output behaviour of the closed-loop system is given by y[κ]=v. If the flat output (Equation24) is independent of the variables ζ[q1],,ζ[1], then the feedback has the form (31) u=Fuϕ(x,v[0,Rκ]),(31) and #κ=n.

In contrast to a dynamic feedback (Equation18) with the controller state z, the feedback (Equation30) depends only on the state x and past values ζ[q1],,ζ[1] of the system trajectory. Since the values of ζ[q1],,ζ[1] are available anyway from past measurements and/or past control inputs (depending on the choice of ζ, cf. (Equation3)), the implementation of a feedback (Equation30) is straightforward. However, even though there is no dedicated controller dynamics as in (Equation18), the required past values ζ[q1],,ζ[1] have to be stored. Thus, the feedback (Equation30) can be considered either as a special case of a dynamic feedback or a generalisation of the class of discrete-time quasi-static feedbacks (as they are defined in Aranda-Bricaire and Kotta (Citation2001)) to backward-shifts ,ζ[2],ζ[1] of the system variables. A feedback of the special form (Equation31) has been used in Diwold et al. (Citation2022a) for the exact linearisation of the discrete-time model of a gantry crane.

Remark 4.3

If the flat output (Equation24) is of the form y=φ(x) – i.e. independent of the input u as well as past values ζ[q1],,ζ[1] of the system trajectory – then the proposed procedure for the construction of a minimal multi-index κ is from a technical point of view similar to the inversion algorithm stated e.g. in Kotta (Citation1995), see also Kotta and Nijmeijer (Citation1991) or Kotta (Citation1990). In the inversion algorithm, which deals with the forward right-invertibility of a system (Equation1) with a (not necessarily flat) output y=φ(x) and possibly also dim(y)dim(u), the components of the output are also shifted until the Jacobian matrices with respect to the input variables meet certain rank conditions. However, it should be noted that in every step of the inversion algorithm only one-fold shifts of the components of the output are performed. Furthermore, it should also be noted that the so-called invertibility indices computed by the inversion algorithm are related to but not the same as the components of the constructed minimal multi-index κ.

5. Tracking control design

Like in the continuous-time case, the exact linearisation can be used as a first step in the design of a flatness-based tracking control. For an exact linearisation according to Theorem 4.4 with the choice A = R, which is always possible, the closed-loop system has the form of a classical state representation. Thus, the design of a tracking control is straightforward. For AR, however, the closed-loop system depends also on forward-shifts v[0,RA] of the new input v. Thus, when designing a control law for v, also the corresponding expressions for these forward-shifts have to be derived. For a discussion of this problem in the continuous-time case see e.g. Delaleau and Rudolph (Citation1998), Rudolph (Citation2021), or Gstöttner et al. (Citation2021a).

In the following, we demonstrate the design of a tracking control for flat outputs of the form (Equation24) and an exact linearisation by a feedback (Equation30) according to Corollary 4.6. We assume that the multi-index κ which determines the new input v has been constructed in accordance with the procedure of Section 4.2, and make use of the corresponding notation. With the control law (32) viji=yi,[κiji]ji,dβ=0κiji1aiji,β(yi,[β]jiyi,[β]ji,d),ji=1,,mi,i=1,,s(32) for the exactly linearised system y[κ]=v, the tracking error eiji=yijiyiji,d with respect to an arbitrary reference trajectory yiji,d(k) is subject to the tracking error dynamics (33) ei,[κiji]ji+β=0κiji1aiji,βei,[β]ji=0,ji=1,,mi,i=1,,s.(33) The eigenvalues of the i=1smi=m decoupled tracking error systems (Equation33) can be placed arbitrarily by a suitable choice of the coefficients aiji,βR. The forward-shifts v[0,Rκ] that are needed in the linearising feedback (Equation30) can be determined by shifting (Equation32) and using yi,[κi+γ]ji=vi,[γ]ji, γ0, which leads to equations of the form (34) vi,[γ]ji=yi,[κiji+γ]ji,dα=κijiκiji1+γaiji,αγ(vi,[ακiji]jiyi,[α]ji,d)β=γκiji1aiji,βγ(yi,[β]jiyi,[β]ji,d).(34) Since the future values y[0,κ1] of the flat output which appear in (Equation32) and (Equation34) are in general not available as measurements, we use again the expressions (Equation28) and finally obtain the system of equations (35) v1j1=y1,[κ1j1]j1,dβ=0κ1j11a1j1,β(φ1,[β]j1y1,[β]j1,d)v1,[1]j1=y1,[κ1j1+1]j1,da1j1,κ1j11(v1j1y1,[κ1j1]j1,d)β=1κ1j11a1j1,β1(φ1,[β]j1y1,[β]j1,d)v1,[r1j1κ1j1]j1=y1,[r1j1]j1,dα=κ1j1r1j11a1j1,αr1j1+κ1j1(v1,[ακ1j1]j1y1,[α]j1,d)β=r1j1κ1j1κ1j11a1j1,βr1j1+κ1j1(φ1,[β]j1y1,[β]j1,d)vsjs=ys,[κsjs]js,dβ=0κsjs1asjs,β(φs,[β]jsys,[β]js,d)vs,[1]js=ys,[κsjs+1]js,dasjs,κsjs1(vsjsys,[κsjs]js,d)β=1κsjs1asjs,β1(φs,[β]jsys,[β]js,d)vs,[rsjsκsjs]js=ys,[rsjs]js,dα=κsjsrsjs1asjs,αrsjs+κsjs(vs,[ακsjs]jsys,[α]js,d)β=rsjsκsjsκsjs1asjs,βrsjs+κsjs(φs,[β]jsys,[β]js,d).(35) Because of the triangular dependence of the functions φ1,[0,κ11],φ2,[0,κ21], of (Equation28) on the variables v1,[0,r1κ11], v2,[0,r2κ21], …, Equations (Equation35) have a triangular structure and can be solved systematically from top to bottom for all elements of v[0,Rκ] as a function of ζ[q1,1], x, and the reference trajectory y[0,R]d, i.e. (36) v[0,Rκ]=ρ(ζ[q1,1],x,y[0,R]d).(36) Substituting (Equation36) into the linearising feedback (Equation30) yields a tracking control law of the form u=η(ζ[q1,1],x,y[0,R]d).Besides the known reference trajectory y[0,R]d, this tracking control law depends like the linearising feedback (Equation30) only on the state x and past values ζ[q1],,ζ[1] of the system trajectory. Thus, if the state x of system (Equation1) can be measured, an implementation is again straightforward.

Remark 5.1

If all coefficients aiji,β in the control law (Equation32) are set to zero, all eigenvalues of the tracking error dynamics (Equation33) are located at the origin of the complex plane and a dead-beat control is obtained. In this case, the system of equations (Equation35) drastically simplifies. Because of viji=yi,[κiji]ji,d, the forward-shifts of v required in the linearising feedback (Equation30) are simply higher-order forward-shifts of the reference trajectory yd.

6. Examples

As already mentioned in the introduction, an important application for the concept of discrete-time flatness are discretised continuous-time systems. In the following, we illustrate our results by the discretised models of a wheeled mobile robot and a 3DOF helicopter.

6.1. Wheeled mobile robot

As first example let us consider a wheeled mobile robot, which has already been studied in the context of discrete-time dynamic feedback linearisation in Orosco-Guerrero et al. (Citation2004) and Aranda-Bricaire and Moog (Citation2008). The continuous-time system is given by (37) x˙1=u1cos(x3)x˙2=u1sin(x3)x˙3=u2,(37) and is also known as kinematic car model, see e.g. Nijmeijer and van der Schaft (Citation1990). The state variables x1 and x2 describe the position and x3 the angle of the mobile robot. The control inputs u1 and u2 represent the translatory and the angular velocity. An exact discretisation of system (Equation37) with the sampling time T>0 yields the discrete-time system (38) x1,+=x1+u1Tcos(x3+u2T2)sin(u2T2)u2T2x2,+=x2+u1Tsin(x3+u2T2)sin(u2T2)u2T2x3,+=x3+u2T,(38) cf. Orosco-Guerrero et al. (Citation2004) or Sira-Ramirez and Rouchon (Citation2003). With the input transformation (39) u¯1=2u1sin(u2T2)u2u¯2=x3+u2T2,(39) this system can be simplified to (40) x1,+=x1+u¯1cos(u¯2)x2,+=x2+u¯1sin(u¯2)x3,+=2u¯2x3.(40) As shown in Kolar et al. (Citation2021), system (Equation40) is not forward-flat. However, it is flat in the more general sense of Definition 3.1. With the choice ζ1=x3ζ2=x1for the variables ζ according to (Equation3), a flat output is given by (41) y=(ζ[1]1,x1sin(ζ[1]1+x32)x2cos(ζ[1]1+x32)).(41) The corresponding parameterisation (Equation9) of the system variables has the form (42) x=Fx(y1,y2,,y[2]1,y[1]2)u¯=Fu¯(y1,y2,,y[3]1,y[2]2).(42) Thus, the orders of the highest forward-shifts of the flat output that appear in (Equation9) are given by R=(3,2), and an exact linearisation by a dynamic feedback which leads to an input-output behaviour (43) y[3]1=v1y[2]2=v2(43) is possible with the standard approach discussed in Diwold et al. (Citation2022b).

In the following, we investigate whether also lower-order forward-shifts of the flat output (Equation41) can be chosen as a new input. Since the flat output is of the form (Equation24), we can apply the procedure of Section 4.2 and use the corresponding notation. In the first step, both components of the flat output have to be shifted until they depend explicitly on the input u¯. Because of φ1=ζ[1]1δ(φ1)=x3δ2(φ1)=2u¯2x3and φ2=x1sin(ζ[1]1+x32)x2cos(ζ[1]1+x32)δ(φ2)=x1sin(u¯2)x2cos(u¯2),this is the case for the second and the first forward-shift, respectively. Hence, we obtain K1=(2,1), and since φ[K1] is independent of u¯1 we clearly have m1=rank(u¯φ[K1])=1.Footnote6 At this point, we can choose whether we introduce δ2(φ1) or δ(φ2) as new input v1=v11.Footnote7 In the following, we proceed with φ1=φ1 and φrest1=φ2. Consequently, we get κ1=k11=2 and Krest1=k12=1. After the coordinate transformation v11=φ1,[2]1=2u¯2x3v1,[1]1=φ1,[3]1=2u¯[1]22u¯2+x3,which replaces u¯2 and its forward-shifts by v11 and its forward-shifts, we have y1,[0,κ11]=[φ11φ1,[1]1]=[ζ[1]1x3]y1,[κ1]=φ1,[2]1=v11yrest1,[0,Krest11]=φrest11=x1sin(ζ[1]1+x32)x2cos(ζ[1]1+x32)yrest1,[Krest1]=φrest1,[1]1=x1sin(x3+v112)x2cos(x3+v112).In the second step, we have to shift the remaining component φrest1=φ2 of the flat output until it depends explicitly on the remaining input u¯1. This is the case for its second forward-shift (44) δ2(φrest11)=(x1+u¯1cos(x3+v112))sin(v11+v1,[1]12)(x2+u¯1sin(x3+v112))cos(v11+v1,[1]12).(44) Because of rank(u¯1φrest1,[2]1)=dim(u¯1)=1, the procedure terminates with φ2=φrest1 and κ2=K2=2. After introducing (Equation44) as new input v2=v21, the forward-shifts of the flat output (Equation41) up to the orders κ=(κ1,κ2)=(2,2) are given by (45) y1,[0,κ11]=[φ11φ1,[1]1]=[ζ[1]1x3]y1,[κ1]=φ1,[2]1=v11y2,[0,κ21]=[φ21φ2,[1]1]=[x1sin(ζ[1]1+x32)x2cos(ζ[1]1+x32)x1sin(x3+v112)x2cos(x3+v112)]y2,[κ2]=φ2,[2]1=v21.(45) Substituting (Equation45) as well as y1,[3]1=v1,[1]1 into the parameterisation (Equation42) of the control input u¯ yields a feedback of the form (46) u¯=Fu¯ϕ(ζ[1]1,x1,x2,x3,v11,v1,[1]1,v21)(46) such that the input-output behaviour of the closed-loop system is given by (47) y1,[2]1=v11y2,[2]1=v21,(47) cf. Corollary 4.6. Thus, in contrast to (Equation43), we can actually use the second instead of the third forward-shift of the first component of the flat output as a new input.

For the exactly linearised system (Equation47), the design of a tracking control is now straightforward. The control law v11=y1,[2]1,da11,1(y1,[1]1y1,[1]1,d)a11,0(y11y11,d)v21=y2,[2]1,da21,1(y2,[1]1y2,[1]1,d)a21,0(y21y21,d)results in the linear tracking error dynamics e1,[2]1+a11,1e1,[1]1+a11,0e11=0e2,[2]1+a21,1e2,[1]1+a21,0e21=0with a total order of #κ=2+2=4 instead of #R=3+2=5 with the standard approach. Since the linearising feedback (Equation46) depends also on v1,[1]1, the system of equations (Equation35) is given by v11=y1,[2]1,da11,1(φ1,[1]1y1,[1]1,d)a11,0(φ11y11,d)v1,[1]1=y1,[3]1,da11,1(v11y1,[2]1,d)a11,0(φ1,[1]1y1,[1]1,d)v21=y2,[2]1,da21,1(φ2,[1]1y2,[1]1,d)a21,0(φ21y21,d)with the functions φ11,φ1,[1]1,φ21,φ2,[1]1 according to (Equation45). This system of equations can be solved from top to bottom for v11,v1,[1]1, and v21 as a function of ζ[1]1, x, and the reference trajectory y[0,R]d. Substituting the solution into the linearising feedback (Equation46) yields a control law of the form u¯1=η1(ζ[1]1,x1,x2,x3,y1,[0,3]1,d,y2,[0,2]1,d)u¯2=η2(ζ[1]1,x1,x2,x3,y1,[0,3]1,d,y2,[0,2]1,d).With the inverse of the input transformation (Equation39), the corresponding control law for the system (Equation38) or (Equation37) with the original inputs u1 and u2 follows. The presence of the variable ζ[1]1 is no obstacle for a practical implementation, since it simply represents a past value of x3.

6.2. 3DOF helicopter

As a second example, let us consider the three-degrees-of-freedom helicopter laboratory experiment of Kiefer et al. (Citation2004). The continuous-time system is given by (48) q˙1=ω1q˙2=ω2q˙3=ω3ω˙1=b1cos(q2)sin(q3)u1ω˙2=a1sin(q2)+a2cos(q2)+b2cos(q3)u1ω˙3=a3cos(q2)sin(q3)+b3u2(48) with the travel angle q1, the elevation angle q2, and the pitch angle q3 as well as the corresponding angular velocities ω1, ω2, and ω3. The control inputs u1 and u2 are the sum and the difference of the thrusts of the two propellers. The constant coefficients a1, a2, a3 and b1, b2 depend on the masses and the geometric parameters. As shown in Kiefer et al. (Citation2004), the system (Equation48) is flat and a flat output is given byFootnote8 (49) y=(q2,q1).(49) Since the system equations are significantly more complex than those of the wheeled mobile robot of Section 6.1, instead of an exact discretisation we perform an approximate discretisation with the Euler-method. The resulting system (50) q1,+=q1+Tω1q2,+=q2+Tω2q3,+=q3+Tω3ω1,+=ω1+Tb1cos(q2)sin(q3)u1ω2,+=ω2+T(a1sin(q2)+a2cos(q2)+b2cos(q3)u1)ω3,+=ω3+T(a3cos(q2)sin(q3)+b3u2)(50) is forward-flat, and the flat output (Equation49) is preserved.Footnote9 This can be checked either with the systematic tests proposed in Kolar et al. (Citation2021) and Kolar et al. (Citation2022), or by simply verifying that all state- and input variables of (Equation50) can indeed be expressed by (Equation49) and its forward-shifts. The corresponding parameterisation (Equation9) is of the form (51) x=Fx(y1,y2,,y[3]1,y[3]2)u=Fu(y1,y2,,y[4]1,y[4]2)(51) with the orders of the highest required forward-shifts given by R=(4,4). Thus, an exact linearisation with a dynamic feedback according to the standard approach discussed in Diwold et al. (Citation2022b) would lead to an input-output behaviour (52) y[4]1=v1y[4]2=v2.(52) Since the flat output (Equation49) is of the form (Equation24), we can again apply the procedure of Section 4.2 in order to determine whether also lower-order forward-shifts can be used as new input. In the first step, both components of the flat output have to be shifted until they depend explicitly on the input u. Because of φ1=q2δ(φ1)=q2+Tω2δ2(φ1)=q2+2Tω2+T2(a1sin(q2)+a2cos(q2)+b2cos(q3)u1)and φ2=q1δ(φ2)=q1+Tω1δ2(φ2)=q1+2Tω1+T2b1cos(q2)sin(q3)u1,this is the case for the second forward-shifts. Hence, we obtain K1=(2,2), and since φ[K1] is independent of u2 we obviously have m1=rank(uφ[K1])=1. Again, we can choose whether we introduce δ2(φ1) or δ2(φ2) as new input v1=v11. In the following we proceed with φ1=φ1 and φrest1=φ2, and get κ1=k11=2 as well as Krest1=k12=2. The other choice would lead to a feedback with a singularity for q3=0, which is not suitable for a practical application since the pitch angle q3 is zero in an equilibrium position. After the coordinate transformation v11=φ1,[2]1=q2+2Tω2+T2(a1sin(q2)+a2cos(q2)+b2cos(q3)u1)v1,[1]1=φ1,[3]1(q2,q3,ω2,ω3,u1,u[1]1),which replaces u1 and its forward-shifts by v11 and its forward-shifts, we have y1,[0,κ11]=[φ11φ1,[1]1]=[q2q2+Tω2]y1,[κ1]=φ1,[2]1=v11yrest1,[0,Krest11]=[φrest11φrest1,[1]1]=[q1q1+Tω1]yrest1,[Krest1]=φrest1,[2]1=q1+2Tω1b1cos(q2)tan(q3)b2×(q2v11+2Tω2+T2(a1sin(q2)+a2cos(q2))).In the second step, we have to shift the remaining component φrest1=φ2 of the flat output until it depends explicitly on the remaining input u2. This is the case for its fourth forward-shift (53) δ4(φrest11)=φrest1,[4]1(q1,q2,q3,ω1,ω2,ω3,v11,v1,[1]1,v1,[2]1,u2).(53) Because of rank(u2φrest1,[4]1)=dim(u2)=1, the procedure terminates with φ2=φrest1 and κ2=K2=4. After introducing (Equation53) as new input v2=v21, the forward-shifts of the flat output (Equation49) up to the orders κ=(κ1,κ2)=(2,4) are given by (54) y1,[0,κ11]=[φ11φ1,[1]1]=[q2q2+Tω2]y1,[κ1]=φ1,[2]1=v11y2,[0,κ21]=[φ21φ2,[1]1φ2,[2]1φ2,[3]1]=[q1q1+Tω1φ2,[2]1(q1,q2,q3,ω1,ω2,v11)φ2,[3]1(q1,q2,q3,ω1,ω2,ω3,v11,v1,[1]1)]y2,[κ2]=φ2,[4]1=v21.(54) Substituting (Equation54) as well as y1,[3]1=v1,[1]1 and y1,[4]1=v1,[2]1 into the parameterisation  (Equation51) of the control input u yields a feedback of the form (55) u=Fuϕ(q1,q2,q3,ω1,ω2,ω3,v11,v1,[1]1,v1,[2]1,v21)(55) such that the input-output behaviour of the closed-loop system is given by (56) y1,[2]1=v11y2,[4]1=v21.(56) Thus, in contrast to (Equation52), we can actually use the second instead of the fourth forward-shift of the first component of the flat output as a new input. Since the linearising feedback (Equation55) does not depend on backward-shifts of the system variables, it is a discrete-time quasi-static feedback in the sense of Aranda-Bricaire and Kotta (Citation2001) – see the discussion after Corollary 4.6.

For the exactly linearised system (Equation56), the design of a tracking control is again straightforward. The control law v11=y1,[2]1,da11,1(y1,[1]1y1,[1]1,d)a11,0(y11y11,d)v21=y2,[4]1,dβ=03a21,β(y2,[β]1y2,[β]1,d)results in the linear tracking error dynamics e1,[2]1+a11,1e1,[1]1+a11,0e11=0e2,[4]1+β=03a21,βe2,[β]1=0with a total order of #κ=2+4=6 instead of #R=4+4=8. The system of equations (Equation35) is given by v11=y1,[2]1,da11,1(φ1,[1]1y1,[1]1,d)a11,0(φ11y11,d)v1,[1]1=y1,[3]1,da11,1(v11y1,[2]1,d)a11,0(φ1,[1]1y1,[1]1,d)v1,[2]1=y1,[4]1,da11,1(v1,[1]1y1,[3]1,d)a11,0(v11y1,[2]1,d)v21=y2,[4]1,dβ=03a21,β(φ2,[β]1y2,[β]1,d)with the functions φ11,φ1,[1]1,φ21,φ2,[1]1,φ2,[2]1,φ2,[3]1 according to (Equation54), and can be solved from top to bottom for v11,v1,[1]1,v1,[2]1, and v21 as a function of q1,q2,q3,ω1,ω2,ω3 and the reference trajectory y[0,R]d. Substituting the solution into the linearising feedback (Equation55) finally yields a control law of the form u1=η1(q1,q2,q3,ω1,ω2,ω3,y1,[0,4]1,d,y2,[0,4]1,d)u2=η2(q1,q2,q3,ω1,ω2,ω3,y1,[0,4]1,d,y2,[0,4]1,d).

7. Conclusion

In this contribution we have investigated the exact linearisation of flat discrete-time systems. Since an exact linearisation can always be achieved by choosing the highest forward-shifts of the flat output in (Equation9) as new input v=y[R], the point of departure of our considerations was the question whether also lower-order forward-shifts v=y[A] with AR can be used. Similar to the continuous-time case, this allows e.g. to achieve a lower-order error dynamics for a subsequently designed tracking control. Concerning the choice of a feasible new input v=y[A], we have derived conditions which are formulated in terms of the linear independence of certain differentials and can be checked in a straightforward way. Furthermore, we have shown how the new input v can be introduced by a suitable dynamic feedback. For the practically quite important case of flat outputs (Equation24) which do not depend on future values of the control input, we have shown how to construct a minimal multi-index κ such that v=y[κ] is a feasible input and #κ#A for all other feasible inputs v=y[A]. Such an input v=y[κ] can be introduced by a feedback (Equation30) which depends only on the state x as well as past values of the system variables. This is particularly convenient for an implementation, since past values of the system variables are available anyway from past measurements or past inputs, which only need to be stored. Moreover, we have shown that such an exact linearisation can be used as a basis for the design of a tracking control law which again only depends on x as well as past values of the system variables and the reference trajectory. To illustrate our results, we have computed tracking control laws for the discretised models of a wheeled mobile robot and a 3DOF helicopter.

Disclosure statement

No potential conflict of interest was reported by the author(s).

Additional information

Funding

The second and the third author have been supported by the Austrian Science Fund (FWF) [grant number P 32151].

Notes

1 The feedback (Equation13) is actually a discrete-time quasi-static feedback, see e.g. Aranda-Bricaire and Kotta (Citation2001).

2 Note that because of (Equation3) the quantities ζ are functions of x and u. Hence, their parameterisation by the flat output (Equation7) can be obtained immediately from (Equation9).

3 If the parameterisation (Equation9) of the system variables is substituted into (Equation1), then the equations are satisfied identically.

4 Since the manifold ζ[lζ,1]×X×U[0,lu] is finite-dimensional, in fact some of the higher-order forward-shifts of u cannot be replaced by forward-shifts of the flat output and must be kept as coordinates (unless the system (Equation1) is static feedback linearisable and (Equation24) a linearising output).

5 The functions φ2,[κ2] depend on forward-shifts of v1, and since we work on a finite-dimensional manifold ζ[lζ,1]×X×U[0,lu] these forward-shifts are only available up to the order lu. Thus, some higher-order forward-shifts of u2 must be kept as coordinates on ζ[lζ,1]×X×U[0,lu] and cannot be replaced by forward-shifts of v2. However, as long as lu is chosen sufficiently large, this does not affect our considerations.

6 In contrast to Section 4.2, for the sake of simplicity we do not renumber the components u¯1 and u¯2 of the input.

7 To emphasise that v1 could in general consist of more than one component we write v11.

8 The components of the flat output are already sorted in such a way that we do not need a renumbering during our calculations.

9 Neither an exact nor an approximate discretisation necessarily preserve the flatness or the static feedback linearisability of a continuous-time system, see e.g. Diwold et al. (Citation2022b), Diwold et al. (Citation2022a), or Grizzle (Citation1986) for a further discussion.

References

  • Aranda-Bricaire, E., & Kotta, Ü. (2001). Generalized controlled invariance for discrete-time nonlinear systems with an application to the dynamic disturbance decoupling problem. IEEE Transactions on Automatic Control, 46(1), 165–171. https://doi.org/10.1109/9.898712
  • Aranda-Bricaire, E., & Moog, C. (2008). Linearization of discrete-time systems by exogenous dynamic feedback. Automatica, 44(7), 1707–1717. https://doi.org/10.1016/j.automatica.2007.10.030
  • Delaleau, E., & Rudolph, J. (1998). Control of flat systems by quasi-static feedback of generalized states. International Journal of Control, 71(5), 745–765. https://doi.org/10.1080/002071798221551
  • Diwold, J., Kolar, B., & Schöberl, M. (2022a). Discrete-time flatness-based control of a gantry crane. Control Engineering Practice, 119, Article ID 104980. https://doi.org/10.1016/j.conengprac.2021.104980
  • Diwold, J., Kolar, B., & Schöberl, M. (2022b). A trajectory-based approach to discrete-time flatness. IEEE Control Systems Letters, 6, 289–294. https://doi.org/10.1109/LCSYS.2021.3071177
  • Fliess, M., Lévine, J., Martin, P., & Rouchon, P. (1995). Flatness and defect of non-linear systems: Introductory theory and examples. International Journal of Control, 61(6), 1327–1361. https://doi.org/10.1080/00207179508921959
  • Fliess, M., Lévine, J., Martin, P., & Rouchon, P. (1999). A Lie–Bäcklund approach to equivalence and flatness of nonlinear systems. IEEE Transactions on Automatic Control, 44(5), 922–937. https://doi.org/10.1109/9.763209
  • Grizzle, J. (1986). Feedback linearization of discrete-time systems. In A. Bensoussan & J. Lions (Eds.), Analysis and optimization of systems (Vol. 83, pp. 273–281). Springer.
  • Gstöttner, C., Kolar, B., & Schöberl, M. (2021a). Control of (x,u)-flat systems by quasi-static feedback of classical states. arXiv e-prints. arXiv:2110.12995 [math.OC].
  • Gstöttner, C., Kolar, B., & Schöberl, M. (2021b). Necessary and sufficient conditions for the linearisability of two-input systems by a two-dimensional endogenous dynamic feedback. International Journal of Control. https://doi.org/10.1080/00207179.2021.2015542
  • Guillot, P., & Millérioux, G. (2020). Flatness and submersivity of discrete-time dynamical systems. IEEE Control Systems Letters, 4(2), 337–342. https://doi.org/10.1109/LCSYS.7782633
  • Kaldmäe, A. (2021). Algebraic necessary and sufficient condition for difference flatness. International Journal of Control. https://doi.org/10.1080/00207179.2021.1908598
  • Kaldmäe, A., & Kotta, Ü. (2013). On flatness of discrete-time nonlinear systems. In Proceedings 9th IFAC symposium on nonlinear control systems (pp. 588–593).
  • Kiefer, T., Kugi, A., & Kemmetmüller, W. (2004). Modeling and flatness-based control of a 3 DOF helicopter laboratory experiment. In Proceedings 6th IFAC symposium on nonlinear control systems (pp. 207–212).
  • Kolar, B., Diwold, J., & Schöberl, M. (2022). Necessary and sufficient conditions for difference flatness. IEEE Transactions on Automatic Control, https://doi.org/10.1109/TAC.2022.3151615
  • Kolar, B., Kaldmäe, A., Schöberl, M., Kotta, Ü., & Schlacher, K. (2016). Construction of flat outputs of nonlinear discrete-time systems in a geometric and an algebraic framework. IFAC-PapersOnLine, 49(18), 796–801. https://doi.org/10.1016/j.ifacol.2016.10.263
  • Kolar, B., Schöberl, M., & Diwold, J. (2021). Differential-geometric decomposition of flat nonlinear discrete-time systems. Automatica, 132, Article ID 109828. https://doi.org/10.1016/j.automatica.2021.109828
  • Kotta, Ü. (1990). Right inverse of a discrete time non-linear system. International Journal of Control, 51(1), 1–9. https://doi.org/10.1080/00207179008934047
  • Kotta, Ü. (1995). Inversion method in the discrete-time nonlinear control systems synthesis problems (Vol. 205). Springer.
  • Kotta, Ü., & Nijmeijer, H. (1991). Dynamic disturbance decoupling for nonlinear discrete-time systems (in Russian). Proceedings of the Academy of Sciences of USSR Technical Cybernetics, 52–59.
  • Nicolau, F., & Respondek, W. (2017). Flatness of multi-input control-affine systems linearizable via one-fold prolongation. SIAM Journal on Control and Optimization, 55(5), 3171–3203. https://doi.org/10.1137/140999463
  • Nicolau, F., & Respondek, W. (2019). Normal forms for multi-input flat systems of minimal differential weight. International Journal of Robust and Nonlinear Control, 29(10), 3139–3162. https://doi.org/10.1002/rnc.v29.10
  • Nijmeijer, H., & van der Schaft, A. (1990). Nonlinear dynamical control systems. Springer.
  • Orosco-Guerrero, R., Velasco-Villa, M., & Aranda-Bricaire, E. (2004). Discrete-time controller for a wheeled mobile robot. In Proceedings XI congreso latinoamericano de control automatico.
  • Rudolph, J. (2021). Flatness-based control: An introduction. Shaker Verlag.
  • Sira-Ramirez, H., & Agrawal, S. (2004). Differentially flat systems. Marcel Dekker.
  • Sira-Ramirez, H., & Rouchon, P. (2003). Exact delayed reconstructors in nonlinear discrete-time systems control. In A. Zinober & D. Owens (Eds), Nonlinear and adaptive control (Vol. 281, pp. 351–360). Springer.

Appendix. Supplements

The following lemma addresses the relation between the functional independence of functions and the linear independence of their differentials.

Lemma A.1

Consider a set of smooth functions g1,,gk as well as another smooth function h which are all defined on the same manifold. Then (A1) dhspan{dg1,,dgk}(A1) is equivalent to the existence of a smooth function ψ:RkR such that locally (A2) h=ψ(g1,,gk)(A2) holds identically. If the differentials dg1,,dgk are linearly independent, then the function ψ is unique.

Proof.

Let lk denote the maximal number of linearly independent differentials from the set {dg1,,dgk}, and assume that these differentials are given by dg1,,dgl (which is always possible by a renumbering). Then the functions g1,,gl can be introduced as (a part of the) coordinates zi=gi,i=1,,lon the considered manifold. Moreover, by construction, also the functions gl+1,,gk can depend only on the coordinates z. With such coordinates, (EquationA1) is equivalent to (A3) dhspan{dz1,,dzl}.(A3) Thus, the function h can only depend on z1,,zl, and hence be written in original coordinates as h=ψ(g1,,gl).Conversely, it is clear that h=ψ(z1,,zl,gl+1(z),,gk(z))implies (EquationA3) and hence (EquationA1). In the case l = k, all functions g1,,gk can be introduced as new coordinates, and no choice of l independent ones is necessary. Thus, the representation (EquationA2) is then unique.