Feedback linearization of possibly non-smooth systems

The algebraic approach known as functions’ algebra is used to develop the necessary and sufficient conditions for the existence of state transformation and static state feedback that linearize the system equations. The advantage of this method is that it allows considering also non-smooth systems. The main object in functions’ algebra is the set of vector functions, divided into equivalence classes, which form a lattice. Both discreteand continuous-time cases are considered. The solutions to the feedback linearization problem are expressed in terms of a finite sequence of vector functions, which contain all the independent functions having certain relative degrees. The theoretical results are illustrated by numerous examples.


INTRODUCTION
The problem of linearization by static state feedback and change of coordinates is addressed in this paper. The problem has received a lot of attention [1,2,4,7,9,10,[16][17][18]. In [16] only the state transformation was used. The first solution to the static state feedback linearizability problem was given in [10]. Since then numerous publications have addressed different aspects of the problem for different system classes using various mathematical tools. For the differential geometric approach see for instance [9] for continuous-time case and [7] for discrete-time case. For the algebraic methods see [4] for continuous-time case and [1] for discrete-time case. The papers [2,18] search for the largest feedback linearizable subsystem. An important point in all of these solutions is the assumption that the system equations are either smooth or analytic. To the authors' knowledge only papers [15,21] consider feedback linearization of non-smooth systems. Both these papers address only the single-input case and paper [21] allows non-smooth parts only in the feedback. Note that in the non-smooth case the methods of differential geometry and differential algebra are not applicable.
In this paper the (possibly) non-smooth systems are addressed and the algebraic approach, called 'functions' algebra' (see [15,24]), is used. This approach was developed in analogy of the algebra of partitions, see [8]. Its advantage is that one can consider also non-smooth systems. The main objects one operates with are vector functions that depend on the state and input variables. These vector functions are divided into the equivalence classes on the basis of preorder, which defines an equivalence relation. Namely, two vector functions are said to be equivalent if one can write the first vector function in terms of the second and vice versa. In what follows, one operates with the equivalence classes (or with their representatives) but not with the vector functions themselves. Since on the set of the equivalence classes the previously defined preorder becomes a partial order, the set becomes a lattice. Finally, this lattice is connected to the system equations by certain binary relation ∆. The described method is already used to solve problems such as disturbance decoupling [11] and fault diagnosis [19].
In this paper the feedback linearization problem is solved for discrete-time systems by a static state feedback and a state transformation. The paper generalizes the results of [15] for single-input systems to multi-input systems and then also extends the results for the continuous-time case. The extension of the linearizability conditions to the multi-input case is not direct. However, the specification of the new conditions for the single-input case is shown to be equivalent to those from [15]. Like in [15], the conditions for the existence of static feedback and coordinate transformation are given in terms of a certain finite sequence of vector functions δ i . Additionally, compared to [15], we give a simpler formula for computing the sequence δ i . In [15] a comparison of the solutions of the feedback linearization problem of [15] (single input case) and [1] is given. This comparison can be directly extended for the solutions given in this paper, i.e. for multiple input systems and for the continuous-time case.
The results of this paper are not global, but we study the generic case. This means that we do not fix a point and work in the neighbourhood of this point; instead, the results of this paper are valid locally around every point where the conditions for feedback linearizability are satisfied and all the necessary transformations can be defined uniquely. This allows us to simplify the presentation of the results compared to the local case where a working point and its neighbourhood have to be fixed.
The typical non-smooth functions for practical applications are those describing such phenomena as saturation, hysteresis, friction, and backlash. All these phenomena may be expressed or approximated mathematically with the help of the signum function. The other non-smooth functions are absolute value and functions described in different regions via different functions.
The paper is organized as follows. In Section 2, an overview of functions' algebra is given. Sections 3 and 4 present the main results. In Section 3 the discrete-time case and in Section 4 the continuous-time case are considered. The paper ends with conclusions.

FUNCTIONS' ALGEBRA
Consider the discrete-time system of the following form where x(t) ∈ X ⊆ R n and u(t) ∈ U ⊆ R m . It is assumed that the inputs influence the system equations (1) independently, which means that one cannot eliminate input variables by a static state feedback. In the differentiable case this corresponds to matrix ∂ f ∂ u , which generically has a full rank. To simplify the presentation, we alternatively use the notations x := x(t), x + := x(t + 1), x − := x(t − 1), x [ j] := x(t + j), j ∈ Z, and similarly for the other variables and functions.
The mathematical approach called functions' algebra will be used in this paper (see [15,24]). Denote by S X×U the set of vector functions with the domain X ×U. So, the elements of S X×U are vectors with a finite dimension, whose elements are functions depending on variables x and u. We assume that these functions are piecewise smooth.
Note that some vector functions may contain information on the others. For example, if one knows the value of the vector function α = [x 1 , x 2 , x 3 ] T , one knows also the value of the vector function β = [x 1 x 2 , x 3 ] T . This gives reason for considering the following definition. In the set S X×U , the relation of preorder ≤ is defined. Definition 1. Given α, β ∈ S X×U , one says that α ≤ β if there exists a vector function γ such that β (x, u) = γ(α(x, u)) for x ∈ X, u ∈ U.
Note that ≤ is not a partial order, i.e. there exist non-equal vector functions α, β ∈ S X×U such that α ≤ β and β ≤ α. This does not agree with the intuition; moreover, this does not allow us to build up an algebraic structure for our purposes. To eliminate the problem, such functions are defined to be equivalent. Definition 2. If α ≤ β and β ≤ α, then α and β are called equivalent, denoted by α ∼ = β .
Note that the relation ∼ = is reflexive (α ∼ = α for all α ∈ S X×U ), symmetric (α ∼ = β ⇒ β ∼ = α) and transitive (α ∼ = β , and β ∼ = θ yield α ∼ = θ ). Thus ∼ = is an equivalence relation. The equivalence relation divides the set S X×U into the equivalence classes containing the equivalent functions. If S X×U / ∼ = is the set of all equivalence classes, then the relation ≤ becomes a partial order on this set. In the following we work on the set of equivalence classes S X×U / ∼ = (or rather with their simplest representatives), i.e. one can always replace a vector function by an equivalent one. This also means that in the following the symbol '=' should be understood as ' ∼ ='.
Note that there exist two special equivalence classes: 1 -the set of constant functions and 0 := [x, u]. The equivalence class 1, which contains all the constant functions, satisfies α ≤ 1 for all α ∈ S X×U . On the other hand, since every function in S X×U can be written in terms of x and u, then the equivalence class 0 satisfies 0 ≤ α for all α ∈ S X×U . Therefore, for any two equivalence classes in S X×U / ∼ =, represented respectively by vector functions α and β , there exist a minimal equivalence class, represented by a vector function γ that satisfies α ≤ γ, β ≤ γ, and a maximal equivalence class, represented by a vector function ζ that satisfies ζ ≤ α, ζ ≤ β .
Recall that a lattice is a set with a partial order where every two elements α and β have a unique supremum (least upper bound) sup(α, β ) and an infimum (greatest lower bound) inf(α, β ). Thus, (S X×U / ∼ = , ≤) is a lattice. The equivalent definition of the lattice as an algebraic structure with two binary operations, × and ⊕, may be given if for every two elements both operations are commutative and associative and, moreover, α × (α ⊕ β ) = α, α ⊕ (α × β ) = α. The equivalence follows from the definition of the binary operations × and ⊕ as Therefore, the triple (S X×U / ∼ =, ×, ⊕) can also be viewed as a lattice. With a slight abuse of notation, we use below for S X×U / ∼ = also the notation S X×U . In lattice theory it is customary not to operate with inf(α, β ) and sup(α, β ) but with binary operations × and ⊕, respectively.
Computation of ⊕. In the simple cases, (2) may be used to compute α ⊕ β . Computation of ×. The rule for operation × is simple: However, the product may contain functionally dependent components that have to be found and removed, which just means finding the simplest representative in the equivalence class for α × β .
Next, the lattice (S X×U / ∼ =, ×, ⊕) is connected with the system dynamics (1) through the following definition. Since (1) defines only the forward shift of x, not u, in the following definitions the vector functions must belong to S X .
The binary relation ∆ is mostly used to define the operators m and M.
Definition 4. The vector function m(α) ∈ S X is defined by the following two conditions: Definition 5. The vector function M(β ) ∈ S X is defined by the following two conditions: Remark 1. As mentioned before, in this approach one works with the equivalence classes S X×U / ∼ = of the set S X×U of vector functions. Therefore, m(α) and M(β ) are representatives of the respective equivalence classes and as such not unique. Any vector function equivalent to m(α) (respectively M(β )), satisfies also the conditions of Definition 4 (respectively Definition 5).
Computation of the operator m. Note that by the definition of ∆, the condition Finally, observe that m(α)(x) can be computed by shifting the function (α × u) ⊕ f back once: which is possible, since (α × u) ⊕ f can be written in terms of f and f − = x.
Computation of the operator M. In the special case when β ( f (x, u)) can be represented in the form where a 1 , a 2 , . . ., a d are arbitrary functions and all the functions b 1 , b 2 , . . ., b d that are non-constant are linearly independent, M(β ) := a 1 × a 2 × · · · × a d .
Example 2. Consider the system

FEEDBACK LINEARIZATION
In the previous section we defined the main tools that are used in this section to solve the feedback linearization problem. Note that while the partial order ≤ and the operations × and ⊕ do not depend on the system dynamics (1), the operators m and M are defined by the given system dynamics (1). Problem statement. One searches for a generic state transformation 1 z = φ(x) and a regular static state feedback u = G(x, v) that transform the system (1) into the Brunovsky canonical form The solution will be given in terms of a sequence of the vector functions δ i , defined in the following way, see also [15]. Let δ 0 = x and δ 1 be the minimal vector function such that its forward shift does not depend on the input u. For i ≥ 1 define The sequence δ i , i ≥ 1, converges, see [15]. Denote the limit by δ and let k be such that δ k ̸ = δ , δ k+1 = δ . Note that since (δ 1 ) + does not depend on u and δ i = γ i (δ 1 ), then (δ i ) + does not depend on u for i ≥ 1.

Lemma 1. The vector functions δ i satisfy the relations
for i ≥ 0.
Proof. Since m(α) = ((α × u) ⊕ f ) − , one gets from (5) The last equivalence comes from the facts that (δ i ) by the properties of ⊕ and × and the fact that (δ i ) + does not depend on u.
Lemma 1 gives an alternative and a simpler way to define (compute) the vector functions δ i , i ≥ 1. Unlike (5), equality (6) can also be used to compute the vector function δ 1 . Definition 6. The relative degree of a vector function α = [α 1 , . . . , α p ] T is defined as minimal number r such that α j (x [r] ) depends on system inputs for some j ∈ {1, . . . , p}.
Note that in [15] one speaks about relative degrees of α i 's, for i = 1, . . . , p, not about the relative degree of a vector function α.
Another property of the sequence δ i is the following.
Proof. The proof is accomplished by induction over i. For i = 0, the relative degree of δ 0 = x is clearly 1. Now assume that the claim is also true for δ i , i = 0, . . . , p. Then, by Lemma 1, (δ p+1 ) [1] = γ(δ p ) for some vector function γ. Since the relative degree of δ p is p+1, the relative degree of δ p+1 is p+2.
In the rest of this paper, |α| denotes the number of independent non-constant elements of the vector α. Note that in some cases this number may differ in various regions. For example, consider a vector function α = [x 1 , F], where F = x 2 when x 3 < 0 and F = x 1 when x 3 ≥ 0. Now, depending on whether x 3 < 0 or not, there are 2 or 1 independent non-constant elements in α. In this case, we say that |α| is the maximum of all the possibilities, thus for the example |α| = 2.

Theorem 1. System (1) can be transformed into the form (4) by a state transformation z = φ(x) and static state feedback u = G(x, v) if and only if
where k is defined as the minimal number such that δ k+1 = δ .

Remark 2.
The vector function ϕ = [ϕ 1 , . . . , ϕ m ] T in the proof of Theorem 1 is the so-called vector of linearizing outputs, see [ 1 ], which are also called flat outputs. Condition (7) guarantees that there exist m linearizing outputs. Of course, condition (7) is only sufficient for the existence of linearizing outputs as static state feedback linearizability is only a special case of more general problem statement of dynamic feedback linearizability, which in turn is equivalent to the existence of linearizing outputs. Once the linearizing outputs (vector function ϕ in our case) are known, the computation of a state transformation (11) and a feedback to be computed from v = K(z, u) follows the standard procedure.
We have computed the sequence δ i . Next, condition (7) will be checked: Definition 7. Given α, β ∈ S X , where β is differentiable, one says that (α, β ) ∈ ∆ if there exists a function f * such that for all (x, u) ∈ X ×U,β When (α, β ) ∈ ∆, it is said that α and β form an ordered pair.
The definition of the binary relation ∆ is given only for the differentiable vector function β . In particular, one has to be able to find the derivative of β . Note that this is sometimes also possible for non-smooth β . For instance, if x ̸ = 0, then one gets d/dt abs(x) = sign(x) ·ẋ.
Although the operators m and M may be defined as in the discrete-time case, one faces now difficulties in computations due to the remarks made before Definition 7. In particular, there is no general formula/algorithm to compute m(α), and as a consequence, also the sequence δ i , i ≥ 0, which is defined similarly as in the discrete-time case. Let δ 0 = x and δ 1 be the minimal vector function such that its derivative does not depend on the input u. For i ≥ 1 define The sequence δ i , i ≥ 1, converges. Denote the limit by δ and let k be such that δ k ̸ = δ , δ k+1 = δ . Since the computing sequence δ i requires finding the derivatives of vector functions δ i , then from now on we assume that they exist.
To compute the sequence δ i , the following Lemma may be useful.
Lemma 3. The relative degree of δ i is i + 1 for i ≥ 0.
Proof. We prove the conjecture by induction on i. For i = 1, the conjecture is true by the definition. Assume that the conjecture is true for i ≤ p. Next we show that it is also true for i = p + 1.
By (16) and the definition of ⊕, there exists a function ξ such that δ p+1 = ξ (δ p ), and thus the relative degree of δ p+1 cannot be smaller than the relative degree of δ p , i.e. p + 1. On the other hand, (16) and the definition of ⊕ yield δ p+1 = γ(m(δ p )) for some function γ. Compute the derivative of δ p+1 : The relative degrees of ∂ γ ∂ m(δ p ) and δ p are p + 1. Since, as said above, the relative degree of δ p+1 is p + 1 or higher, thenδ p+1 does not depend on u and the relative degree ofδ p+1 is p + 1, which means that the relative degree of δ p+1 is p + 2.
To continue, we make the following assumption.
For continuous-time systems, the conditions for the existence of a state transformation and a static state feedback, which linearize the system, are similar as in the discrete-time case.
Theorem 2. Under Assumption 1, system (15) can be transformed into the Brunovsky form by a state transformation z = φ(x) and static state feedback u = G(x, v) if and only if δ = 1 and where k is defined as the minimal number such that δ k+1 = δ .
Proof. The proof of Theorem 2 is similar to that of Theorem 1; the only difference is that instead of shifts of vector functions, one has to take their derivatives.
Thus, system (19) can be linearized by state transformation and a static feedback, as was also stated in [22].
Example 5. Consider the system (see [6, p. 313]) where transforms system (20) into the formẋ Note that u in the static state feedback (21) is not uniquely defined when v = 0 and x 2 = 0. However, since any choice of u from [−F 0 , F 0 ] yields the same result, one can take, for example, u = 0 in (21) when v = 0 and x 2 = 0. Then one has a regular feedback. Example 6. Consider the systemẋ The vector function δ 1 is defined as a vector function whose derivative does not depend on the input u. To compute δ 1 , we try to eliminate u on the right-hand side of equations (22) by combining the equations. Since there are 3 equations and 1 input, then the dimension of δ 1 is 2 or less. Obviously,ẋ 2 does not depend on u, thus δ 1 ≤ x 2 . By using d dt abs(x 3 ) = sign(x 3 ) ·ẋ 3 , x 3 ̸ = 0, one can also check that d/dt(x 1 + abs(x 3 )) = x 2 . Thus, we have δ 1 = [x 2 , x 1 + abs(x 3 )] T . Now, δ 2 is, by definition, a vector function of δ 1 whose derivative depends only on δ 1 . Observe that the derivative of x 1 + abs(x 3 ) depends on x 2 ≥ δ 1 and therefore δ 2 = x 1 + abs(x 3 ) and since the relative degree of δ 2 is 3, then δ 3 = 1.
Condition (18)  The vector of linearizing outputs ϕ is computed similarly as in the discrete-time case: where φ r , r = 1, 2, 3, satisfy δ r−1 = δ r ×δ r × φ r . Following the standard procedure for computing the state transformation and the static state feedback, one gets the change of coordinates and a static feedback u = v sign(x 3 ) · x 1 .
the non-smooth case. The solvability conditions were given in terms of the finite sequence of vector functions δ i . Although the algebraic method used in this paper allows considering non-smooth functions, the computations with such functions are difficult and thus in many cases one has to find solutions intuitively. The solution obtained is generic, i.e. valid in open and dense subspaces of the state space. In the future one may try to extend the results so that they will be applicable also in singular points, like it is done, for example, in [3,23] for a problem of i/o linearization and output tracking through singularities. The method used in this paper works better in the discrete-time case than in the continuous-time case, since shifting a function (even a non-smooth one) forward or backward is relatively easy, while in the continuous-time case one can not always find a derivative of a function.
A software has been developed to make the computations in functions' algebra, (see [12,14] and http://webmathematica.cc.ioc.ee/webmathematica/NLControl/funcalg). However, at the moment most of these functions work only for the smooth case. The bottleneck in implementing the non-smooth case is the absence of a method to check whether α ≤ β for non-smooth α.
The future goal is to generalize Definition 7. Namely, one can say that (α, β ) ∈ ∆ if the dynamics of β depends on x only through α. In this way, one does not have to assume that β is smooth.