Abstract:

The paper establishes the explicit relationship between two sets of
necessary and sufficient conditions for static state feedback
linearizability of a discrete-time nonlinear control system. A detailed
algorithm is presented for finding the state coordinate transformation.
Finally, the methods are compared from the point of view of
computational complexity. Two examples illustrate the theoretical
results.

Key words: static state feedback linearization, discrete-time control systems, nonlinear control system.

Key words: static state feedback linearization, discrete-time control systems, nonlinear control system.

Article Type:

Report

Subject:

Feedback (Electronics)
(Comparative analysis)

Control systems (Electric properties)

Control systems (Electric properties)

Authors:

Mullari, Tanel

Kotta, Ulle

Tonso, Maris

Kotta, Ulle

Tonso, Maris

Pub Date:

06/01/2011

Publication:

Name: Proceedings of the Estonian Academy of Sciences Publisher: Estonian Academy Publishers Audience: Academic Format: Magazine/Journal Subject: Chemistry Copyright: COPYRIGHT 2011 Estonian Academy Publishers ISSN: 1736-6046

Issue:

Date: June, 2011 Source Volume: 60 Source Issue: 2

Geographic:

Geographic Scope: Estonia Geographic Code: 4EXES Estonia

Accession Number:

258241635

Full Text:

1. INTRODUCTION

Feedback linearization has proved to be a tremendously useful tool in nonlinear control. We will restrict ourselves to discrete-time nonlinear control systems described by state equations and to static state feedback linearization. The number of publications on static state feedback linearization of continuous-time nonlinear systems is huge, but the situation is different for the discrete-time case [1-6]. Most results, except [7], focus on smooth feedback. However, note that it is not our purpose to address the approximate solutions of the problem (see [8] and the references therein).

The main aim of the paper is to find explicit relationship between the two best-known sets of necessary and sufficient linearizability conditions. The first and the earliest set of conditions is stated in terms of a sequence of nested distributions of vector fields, associated with the control system [3]. The second set of conditions is given via a decreasing sequence of codistributions of differential one-forms [5]. Detailed algorithms are given for computation of the sequences of distributions. Moreover, the connection between the two methods for finding the state coordinate transformation, corresponding to the above linearizability conditions, is clarified. Finally, the alternative conditions and methods are compared from the point of view of computational complexity, and experience from the respective implementations in the symbolic computation system Mathematica is discussed. Two examples are given to illustrate the theoretical results.

The paper is organized as follows. Section 2 gives the statement of the static state feedback linearization problem. Proposition 1, proved in Section 3, specifies the vector fields for which the backward shift is a well-defined operator. A detailed algorithm for computation of the sequence of distributions (that relies on the backward shift) is then given and finally the linearizability conditions in terms of vector fields are recalled. Section 4 recalls the linearizability conditions formulated in terms of codistributions and Section 5 finds the explicit relationship between two sets of conditions. Section 6 relates the methods for finding the new state coordinates, corresponding to two alternative linearizability conditions. Section 7 contains the discussion and the examples, and Section 8 concludes the paper.

2. STATIC STATE FEEDBACK LINEARIZABILITY

Consider a discrete-time nonlinear control system [SIGMA] of the
form

[x.sup.+] = f(x, u), (1)

where f: (M x U) [right arrow] [M.sup.+], and the variables x = ([x.sub.1], ..., [x.sub.n]) and u = ([u.sub.1], ..., [u.sub.m]) are the local coordinates of the state space M and the input space U, respectively; f is assumed to be an analytic function of its arguments, and [M.sup.+] is the forward shifted state space with the coordinates [x.sup.+] = ([x.sup.+.sub.1], ..., [x.sup.+.sub.n]).

In the discrete-time case the local study is useless around an arbitrary initial state, since even in one step the state can move far away from the initial state, regardless of the small control. One possibility is to work around an equilibrium point of the system. Another, more general possibility is to work around a reference trajectory that satisfies the system of equations (1). In this paper we adopt the first option.

Definition 1. A point ([x.sub.0], [u.sub.0]) [member of] M x U is called an equilibrium point of system (1) if f([x.sub.0], [u.sub.0]) = [x.sub.0].

In the study of discrete-time nonlinear control systems the following assumption is usually made. It guarantees the forward shift operator, defined by equations (1), to be injective. Note that this assumption is not restrictive as it is always satisfied for accessible systems [9].

Assumption 1. System (1) is, around the equilibrium point ([x.sub.0], [u.sub.0]), submersive, i.e. around ([x.sub.0], [u.sub.0]), rank[[partial derivative] f(x, u)/[partial derivative](x, u)] = n.

Definition 2. A regular static state feedback u = [alpha](x, v) is a mapping [alpha]:M x V [right arrow] U such that locally, around the equilibrium point, rank [[partial derivative][alpha](x)/[partial derivative]v] = m.

Definition 3. [3,4] System (1) is said to be static state feedback linearizable around its equilibrium point ([x.sub.0], [u.sub.0]) if there exist

1. a state coordinate transformation S : M [right arrow] M defined on a neighbourhood X of [x.sub.0] with S([x.sub.0]) = 0,

2. a regular static state feedback of the form u = [alpha](x, v), satisfying the condition [alpha]([x.sub.0], 0) = [u.sub.0] and defined on a neighbourhood X x O of ([x.sub.0], 0) such that, in the new coordinates z = S(x), the compensated system reads [z.sup.+] = Az + Bv, where the pair (A, B) is in Brunovsky canonical form.

3. LINEARIZABILITY CONDITIONS IN TERMS OF VECTOR FIELDS

In [3] the local linearizability conditions for system (1) around ([x.sub.0], [u.sub.0]) are formulated in terms of a sequence of distributions [D.sub.k] [subset] T(M x U), k = 0, ..., n, associated with system (1). Here T(M x U) is the tangent fibre bundle of the space M x U, where the fibres are the tangent vector spaces defined at each point (x, u) [member of] M x U.

Define the distribution K as the kernel of the tangent map T f of the state transition map f: T f(K) = 0. Under Assumption 1, dim K = m. Moreover, the distribution K as a kernel of a tangent map is always involutive. Therefore, one can define the commutable basis

K = span{[K.sub.i]; i = 1, ..., m} (2)

such that

[[K.sub.i], [K.sub.j]] [equivalent to] 0, (3)

for i, j = 1, ..., m. In the neighbourhood of ([x.sub.0], [u.sub.0]) the sequence of distributions [D.sub.k], k = 0, ..., n, is introduced:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (4)

where, provided the distribution [D.sub.k] + K is involutive and [D.sub.k] [intersection] K is constant dimensional, [[DELTA].sub.k+1] can be found from

[[DELTA].sup.+.sub.k+1] = T f([D.sub.k]) (5)

by applying the backward shift [3] (1). Note that [[DELTA].sub.k+1] is defined by (5) as the span of vector fields [{T f([D.sub.k])}.sup.-]; however, these vector fields do not necessarily exist, in general, since the backward shift operator is a well-defined operation on T [M.sup.+] iff the basis vectors of [D.sub.k] respect the distribution K, i.e., if for every basis element [XI] of [D.sub.k] and for the vector field [K.sub.i] [member of] K

[[XI], [K.sub.i]] [member of] K (6)

holds.

Consider an arbitrary vector field [XI], defined on the manifold M x U:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (7)

Multiplying (7) with the Jacobi matrix of submersion f gives the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (8)

Although this vector field belongs to T [M.sup.+], its components [{T f([XI])}.sub.I] are still expressed as the functions of the coordinates (x, u). The vector field T f([XI]) [member of] T [M.sup.+] is defined on the manifold [M.sup.+] iff one can, using equations (1), write its components [{T f([XI])}.sub.I] in terms of the coordinates [x.sup.+] exclusively. The latter is possible if the components of the vector field (8) can be expressed as the composite functions [{T f([XI])}.sub.I] (x, u) = [[PSI].sub.I] [omicron] f(x, u) for some functions [[PSI].sub.I], yielding

T f([XI]) = [n.summation over (I-1)] [[PSI].sub.I]([x.sup.+]) [partial derivative]/[partial derivative][x.sup.+.sub.I]. (9)

Proposition 1. The vector field (8) can be expressed in the form (9) iff (6) holds.

Proof. The submersion f defines the fibre bundle on the manifold M x U. The base manifold of this fibre bundle is [M.sup.+] with coordinates [x.sup.+]. The fibres are the integral surfaces of the distribution K. By (3) one can choose the fibre coordinates to be the canonical parameters [[chi].sub.i] = [g.sub.i](x, u) of the vector fields [K.sub.j]:

= 0, i, j = 1, ..., m. (10)

Therefore, the base coordinates [x.sup.+] and the fibre coordinates [[chi].sup.+] are defined by the following coordinate transformation, denoted by F:

[x.sup.+] = f (x, u),

[[chi].sup.+] = g(x, u).

The corresponding Jacobi matrix reads

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Multiplying the vector field [XI] (see (7)) by TF yields

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (11)

with the second term belonging to the distribution K. Its components can be expressed in terms of the base coordinates [x.sup.+] exclusively iff they do not depend on the fibre coordinates [[chi].sub.i.sup.+]. According to (10), this is equivalent to the property that the Lie derivatives

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (12)

for i = 1, ..., m, I = 1, ..., n. Due to (8), the components of T f([XI]) are actually the scalar products

[{T f([XI])}.sub.I] =.
(13)

Replacing [{T f([XI])}.sub.I] in (12) by the right-hand side of(13), we obtain, using the differentiation rule of the scalar product,

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (14)

Note that =
(d[x.sup.+.sub.I], T f([K.sub.i])> [equivalent to] 0 since [K.sub.i]
[member of] K and therefore, T f([K.sub.i]) [equivalent to] 0 for all i
= 1, ..., m. Consequently, (d[x.sup.+.sub.I] [omicron] T f,[[K.sub.i],
[XI]]) [equivalent to] 0 for all i = 1, ..., m whenever the Lie brackets
[[K.sub.i], [XI]] [member of] K for i = 1, ..., m.

Example 1 in Section 7 illustrates the both situations, i.e. when T f([XI]) cannot be shifted back and when it can be shifted back; see formulas (37) and (38), respectively.

Below, detailed algorithms are given for computation of the sequences [D.sub.k] and [[DELTA].sub.k], respectively. Both algorithms require the state equations of the control system to be given. Algorithm 1 gives the sequence [D.sub.k], or informs that the computation of the sequence cannot be completed, because either [D.sub.k-1] + K is not involutive or [D.sub.k-1] [intersection] K is not constant dimensional around the equilibrium point. In the latter case the control system is not static state feedback linearizable. Algorithm 2 computes the sequence [[DELTA].sub.k].

Algorithm 1: Computation of the sequence [D.sub.k]

Initialization. Define the distribution K as the kernel of the tangent map T f of the state transition map f in (1), T f(K) = 0, and [D.sub.0] as in (4). Set [D.sub.0] := span{[[XI].sup.0]}, such that the vector fields [[XI].sup.0] respect K, k := 1 and go to step k.

Step k. Check whether [D.sub.k-1] + K is involutive and [D.sub.k-1] [intersection] K constant dimensional around ([x.sub.0], [u.sub.0]). If not, then stop (the system is not static state feedback linearizable), otherwise continue.

Note that some vector fields, added at the previous step (or for step 1 at initialization) into [D.sub.k-1] may not respect the distribution K. If this is so, find the same number of independent linear combinations of [[XI].sup.0], ..., [[XI].sup.k-2] and [[T f([{XI].sup.k-2])].sup.-], denoted by [[XI].sup.k-1] that respect the distribution K, and be such that [D.sub.k-1] = span{[{XI].sup.0], [[XI].sup.1], ..., [{XI].sup.k-1]}, [[XI].sup.k-1] [not member of] [D.sup.k-2]. Finally, define (2)

[D.sub.k] = span{[{XI].sup.0], ..., [[XI].sup.k-1], [[T f([[XI].sup.k-1])].sup.-]}

and check whether dim [D.sub.k] = n + m. If yes, then set N := k and stop (the sequence [D.sub.k] has been found), otherwise check whether dim [D.sub.k] > dim [D.sub.k-1]. If yes, then set [[XI].sup.k] := [[T f({[{XI].sup.k-1])].sup.- ], k := k + 1 and go to the next step. Otherwise, the system is not static state feedback linearizable.

Note that N is the minimal integer such that dim [D.sub.N] = dim [D.sub.N+1] = ... = n + m.

Algorithm 2: Computation of the sequence [[DELTA].sub.k]

Algorithm 1 can be modified accordingly to compute the sequence [[DELTA].sub.k]. In that case one starts with [[DELTA].sub.1] = span{[[XI].sup.1]} instead of [D.sub.0], and at the kth (k = 2, ..., N) step defines [[DELTA].sub.k] = span{[[XI].sup.1], ..., [[XI].sup.k]}.

The linearizability conditions for system (1) are formulated in the following theorem.

Theorem 1. [3] System (1) is static state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]) iff 1. the distributions [D.sub.k] + K are involutive and [D.sub.k] [intersection] K are constant dimensional for all k = 0, ..., N - 1; 2. dim [D.sub.N] = n + m.

4. LINEARIZABILITY CONDITION IN TERMS OF DIFFERENTIAL ONE-FORMS

In [5] the linearizability conditions for system (1) are given in terms of the decreasing sequence of codistributions [H.sub.k] [subset] T* M, defined locally around the equilibrium point by (3)

[H.sub.1] = span{dx}, [H.sub.k+1] = span{[omega] [member of] [H.sub.k] | [[omega].sup.+] [omicron] T f [member of] [H.sub.k]), k [greater than or equal to] 1. (15)

There exists an integer [N.sup.*] [less than or equal to] n such that for 1 [less than or equal to] k [less than or equal to] [N.sup.*], [H.sup.k+1] [subset] [H.sub.k] but [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Obviously, [N.sup.*] is the minimal integer satisfying [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] and [H.sub.[infinity]] is the maximal codistribution, invariant with respect to the forward shift. To compute the one-forms [[omega].sup.+] [omicron] T f in (15), consider first the forward shift of an arbitrary one-form

[omega] = [n.summation over (I=1)] [[omega].sub.I](x)d[x.sub.I] [member of] T M, (16)

obtained by replacing all the state coordinates [x.sub.I] in (16) by their forward shifts [x.sup.+.sub.I]:

[[omega].sup.+] = [n.summation over {I=1)] [[omega].sub.I]([x.sup.+])[dx.sup.+.sub.I] [member of] T [M.sup.+].

Then the one-form

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII],

where, by replacing [x.sup.+] in [[omega].sub.J]([x.sup.+]) by f(x, u), one obtains

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

The linearizability conditions for system (1) are formulated in the following theorem.

Theorem 2. [5] System (1) is static state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]) iff

1. [H.sub.k] is completely integrable for all k = 1, ..., [N.sup.*],

2. [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

In [5] the complete integrability has been checked via the Frobenius Theorem.

Theorem 3 (Frobenius). Let W = span{[[omega].sub.1], ..., [[omega].sub.r]} be a vector space of 1-forms. W is locally completely integrable iff d[[omega].sub.k] [and] [[omega].sub.1] [and] ... [and] [[omega].sub.r] = 0 for all k = 1, ..., r.

However, Theorem 4 below suggests an alternative rule which does not require the computation of exterior derivatives of the basis vectors of [H.sub.k], as well as their wedge products with the basis vectors of [H.sub.k]. The proof of Theorem 4 is based on the following Lemma.

Lemma 1. If the codistributions [H.sub.k], [H.sub.k+1], ... [H.sub.1] are integrable, or equivalently, one can define the state coordinates X, adapted to [H.sub.k], [H.sub.k-1], ..., [H.sub.1], such that

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (17)

if and only if the forward shift [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of an arbitrary 1-form [omega] [member of] [H.sub.k] can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] only.

Proof. Each codistribution [H.sub.[lambda]] for all [lambda] = 1, ..., k defines a corresponding subspace [B.sub.[lambda]] [subset] M such that [H.sub.[lambda]] is the cotangent bundle of [B.sub.[lambda]] and dim [H.sub.[lambda]] = dim [B.sub.[lambda]] if and only if all [H.sub.[lambda]] are integrable. Or, equivalently, the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.[lambda]] can also be defined as the coordinates of the subspace [B.sub.[lambda]]. This means that if an arbitrary 1-form [omega] [member of] [H.sub.[lambda]] is defined in the subspace [B.sub.[lambda]], then its components can be expressed only in terms of variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] as the integrals of [H.sub.[lambda]].

Finally, according to the definition of the codistributions [H.sub.k] for an arbitrary 1-form [omega] [member of] [H.sub.k] its forward shift [[omega].sup.+] [omicron] T f belongs to [H.sub.k-1], which is assumed to be integrable. That is, the components of [[omega].sup.+] [omicron] T f can be expressed only in terms of the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Theorem 4. If the codistribution [H.sub.k] is not integrable, then there does not exist the complete cobasis for [H.sub.k], where the components of the basis 1-forms can be expressed without using the backward shifts of the state coordinates.

Proof. Suppose [H.sub.k] is not integrable, but [H.sub.k-1], ..., [H.sub.1] are; then the number of the independent integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k] equals dim [[bar.H].sub.k], where [[bar.H].sub.k] [subset] [H.sub.k] is the maximal integrable subspace of [H.sub.k]. Then one can define at least dim [H.sub.k]--dim [[bar.H].sub.k] independent 1-forms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], where dim [H.sub.k] + 1 [less than or equal to] [[lambda].sub.k] [less than or equal to] dim [H.sub.k], and whose components cannot be expressed in terms of integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Consequently, we need some anditional variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] to express the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], since the other adapted coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] cannot be used for this purpose, as will be shown below.

First we will prove that the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], and alternatively also in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The latter yields that the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] must also be the integrals of [H.sub.k-1] and the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are the backward shifts of some integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Really, for of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], its components can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], where 1 [less than or equal to] [r.sub.k] [less than or equal to] dim [[bar.H].sub.k] and dim [[bar.H].sub.k] + 1 [less than or equal to] [[mu].sub.k] < dim [H.sub.k]. Consequently, the components of the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] [omicron] T f of the 1-forms [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. At the same time, according to the definitions of the sequence of codistributions [H.sub.k], the 1-forms [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] [omicron] T f belong to [H.sub.k-1]. Due to the integrability of [H.sub.k-1], the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can, according to Lemma 1, be expressed in terms of the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Let us prove now that the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] cannot be the functions of other variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The proof is by contradiction. Suppose that one can express [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. That is, one can alternatively express the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] as the functions of variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Consequently, the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can be expressed in terms of the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. However, according to the definition of codistributions [H.sub.k], the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are not the integrals of [H.sub.k-1], which leads to contradiction.

To conclude, if [H.sub.k] is not integrable, then the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are the backward shifts of the coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], but one cannot express them in terms of coordinates X. Therefore, one cannot express the components of all its basis 1-forms in terms of the adapted coordinates X as in (17); one needs to use additionally the backward shifts of the state coordinates.

The converse statement of Theorem 5 also holds. The proof is based on the application of the Frobenius Theorem and is trivial.

5. RELATIONSHIP BETWEEN THE LINEARIZABILITY CONDITIONS

In order to find the explicit relationship between the two sets of linearizability conditions, formulated by Theorems 1 and 2, respectively, we first reformulate Theorem 1 in terms of the distributions [[DELTA].sub.k]. In order to do so, we need the following lemma.

Lemma 2. The distribution [D.sub.k] + K is involutive and [D.sub.k] [intersection] K is constant dimensional iff the distribution [[DELTA].sub.k+1] is involutive and constant dimensional for k = 0, ..., N - 2.

Proof. We prove first that dim [[DELTA].sub.k+1] = dim([D.sub.k]) - dim([D.sub.k] [intersection] K). Due to (2), [D.sub.K] + K = span{[[XI].sup.[alpha]], [alpha] = 1, ..., [[rho].sub.k], [K.sub.i], i = 1, ..., m}; there [[XI].sub.[alpha]] [member of] [D.sub.K], [alpha] = 1, ..., [[rho].sub.k] are linearly independent vector fields such that T f([[XI].sub.[alpha]]) [??] 0. Since [[rho].sub.k] = dim([D.sub.K] + K) - dim K = dim [D.sub.K] + dim K - dim([D.sub.K] [intersection] K) - dim k,

[[rho].sub.k] = dim [D.sub.k] - dim([D.sub.k] [intersection] K). (18)

As K = kerT f, one can rewrite (5) as

[[DELTA].sup.+.sub.k+1] = T f([D.sub.k] + K), (19)

yielding

[[DELTA].sup.+.sub.k+1] = span{T f([[XI].sub.[alpha]])}. (20)

Because the number of vector fields [[XI].sub.[alpha]] (and so also T f([[XI].sub.[alpha]])) is [[rho].sub.k], dim [[DELTA].sup.+.sub.k+1] = dim [D.sub.k] - dim([D.sub.k] [intersection] k).

Next we prove that [[DELTA].sub.k+1] is involutive iff [D.sub.k] + K is involutive. Assume first that [D.sub.k] + K is involutive, then all the possible Lie brackets of the vector fields [[XI].sub.[alpha]] and [K.sub.i] must also belong to [D.sub.k] + K. By (3),

[[K.sub.i], [K.sub.j]] [member of] [D.sub.K] + K. (21)

According to Proposition 1, the vector fields T f([[XI].sub.[alpha]]) exist iff [[XI].sub.[alpha]] respect the distribution K, meaning

[[[XI].sub.[alpha]], [K.sub.i]] [member of] K, [alpha] = 1, ..., [[rho].sub.k], i = 1, ..., m. (22)

Finally, the third involutivity condition for [D.sub.k] + K reads

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (23)

We have to prove next that all the possible Lie brackets of the vector fields T f([[XI].sub.[alpha]]) belong to the distribution [[DELTA].sup.+.sub.k+1], defined by (20), since then and only then the distribution [[DELTA].sup.+.sub.k+1] (and also [[DELTA].sub.k+1]) is involutive. Applying the tangent map T f to (23) and taking into account T f(K) [equivalent to] 0 yields for all [alpha] and [beta]

T f([[[XI].sub.[alpha]], [[XI].sub.[beta]]]) = [[[rho].sub.k].summation over (y=1)] [c.sub.[alpha][beta][gamma]] T f([[XI].sub.[gamma]]). (24)

According to the property of the Lie brackets (see, e.g., [4], p. 50),

T f([[[XI].sub.[alpha]], [[XI].sub.[beta]]]) = [T f([[XI].sub.[alpha]]), T f([[XI].sub.[beta]])] (25)

holds and, consequently, because of (24),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (26)

proving the involutivity of [[DELTA].sub.k+1].

Conversely, assume that [[DELTA].sub.k+1] as the backward shift of [[DELTA].sup.+.sub.k+1], defined by (20), is involutive. Then (26) holds and due to (25), also (23) must hold. Since the conditions (21) and (22) are also satisfied, the involutivity of [D.sub.k] + K follows.

We are now ready to reformulate Theorem 1.

Theorem 5. System (1) s stat c state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]), iff

1. the distributions [[DELTA].sub.k+1] are involutive and constant dimensional for all k = 0, ..., N - 1;

2. dim [[DELTA].sub.N] = n.

We will prove that all distributions [[DELTA].sub.k], k = 1, ..., N - 1 are involutive and constant dimensional iff all codistributions [H.sub.k], k = 1, ..., N are integrable and constant dimensional. For that it is enough to show that [[DELTA].sub.k] is the maximal annihilator of [H.sub.k+1] for k = 1, ..., N - 1.

Theorem 6. The codistribution [H.sub.k+1] is the maximal annihilator of the distribution [[DELTA].sub.k], for k = 1, ..., N - 1. That is, on the manifold M, <[H.sub.k+1], [[DELTA].sub.k]> [equivalent to] 0, and codim [H.sub.k+1] = dim[[DELTA].sub.k].

Proof. The proof is by induction. First we prove that the codistribution [H.sub.2] is the maximal annihilator of the distribution [[DELTA].sub.1]. Due to definitions (4) and (15), obviously <[H.sub.1], [D.sub.0]> [equivalent to] 0. Due to [H.sub.2.sup.+] [omicron] T f [member of] [H.sub.1] also

<[H.sub.2.sup.+] [omicron] T f, [D.sub.0]> [equivalent to] 0. (27)

The left-hand side of (27) may be interpreted as the multiplication of three matrices. Matrix [H.sup.2.sub.+] is a dim[H.sub.2] x n-matrix, whose rows are the basis elements of [H.sub.2.sup.+]. The second one, T f, is the n x (n + m) Jacobi matrix of the state transition map f. The third matrix [D.sub.0] is the (n + m) x m-matrix, whose columns are the basis vectors of [D.sub.0]. Due to the associativity property of matrix multiplication, one can rewrite (27) as

<[H.sub.2.sup.+], T f([D.sub.0])> [equivalent to] <[H.sub.2.sup.+], [[DELTA].sub.1.sup.+]> [equivalent to] 0,

and as the value of a constant does not change by the backward shift, the latter yields ([H.sub.2], [[DELTA].sub.1]) [equivalent to] 0. Therefore, [H.sub.2] annihilates [[DELTA].sub.1] on the manifold M.

To show that [H.sub.2] is also the maximal annihilator of A1, suppose conversely that there exists a 1-form [omega] [member of] T M not belonging to [H.sub.2] but still annihilating [[DELTA].sub.1]: ([omega], [[DELTA].sub.1]) = 0 and [omega] [not member of] [H.sub.2]. The relationship ([omega], [[DELTA].sub.1]) = 0 must be valid also after applying to it the forward shift and the associativity property of matrix multiplication

([[omega].sub.+], [[DELTA].sub.+.sub.1]> = <[[omega].sup.+], T f([D.sub.0])> = <[[omega].sup.+] [omicron] T f, [D.sub.0]> = 0. (28)

According to (28), [[omega].sup.+] [omicron] T f must belong to [H.sub.1] as the maximal annihilator of [D.sub.0]. From above, we have [[omega].sup.+] [omicron] T f [member of] [H.sub.1] and [omega] [not member of] [H.sub.2], which leads to a contradiction. Therefore, [H.sub.2] is the maximal annihilator of [[DELTA].sub.1] on the manifold M, or, equivalently, due to (4), the maximal annihilator of [D.sub.1] on the manifold M x U.

Next suppose that [H.sub.k] is the maximal annihilator of [D.sub.k-1] on the manifold M x U. Then ([H.sub.k], [D.sub.k- 1]) = 0. According to definition (15), [H.sup.k.sub.k+1] [omicron] T f [member of] [H.sub.k], yielding ([H.sup.+.sub.k+1] [omicron] T f, [D.sub.k-1]> = 0.

Again, due to the associativity property of a matrix multiplication, definition (15), and the invariance of a scalar product with respect to the (backward) shift, we may write

([H.sup.+.sub.k+1], T f([D.sub.k-1])> = ([H.sup.+.sub.k+1], [[DELTA].sup.+.sub.k]> = 0 [??] ([H.sub.k+1], [[DELTA].sub.k]) = 0.

So, [H.sub.k+1] annihilates [[DELTA].sub.k]. In order to show that [H.sub.k+1] is also the maximal annihilator of [[DELTA].sub.k] on M, suppose contrarily the existence of a one-form [theta] [member of] T M such that [theta] [not member of] [H.sub.k+1] and <[theta], [[DELTA].sub.k]> = 0. As before, one can show that this leads to a contradiction. Consequently, [H.sub.k+1] is the maximal annihilator of [[DELTA].sub.k] on M. Moreover, because [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]is the first zero codistribution in the sequence, also [N.sup.*] = N.

Corollary 1.

1. From involutivity and constant dimensionality of distribution [[DELTA].sub.k] integrability and constant dimensionality of codistribution [H.sub.k+1] follows for all k = 1, ..., N - 1 and vice versa.

2. [H.sub.[infinity]] = {0} iff dim [[DELTA].sub.N] = n, or, equivalently, dim[D.sub.N] + K = m + n.

Proof. Follows directly from Theorem 6.

The result of Corollary 1 enables combination of both methods. This will be done in Section 6, where the state coordinate transformation is completed by using the [H.sub.k] subspaces even if one checks the linearizability condition via the sequence of distributions [[DELTA].sub.k].

6. METHOD FOR FINDING THE NEW STATE COORDINATES

The new state coordinates [z.sub.I], necessary for the static state feedback linearization of system (1), can be found via integration of the basis vectors of the codistributions [H.sub.k], k = 1, ..., [N.sup.*], constructed in a specific way by using the detailed algorithm below; see also [5]. Note that the basis vectors of the codistributions [H.sub.k+1], found either by (15) or by the method in [5], are not necessarily exact and the state coordinates cannot be found from arbitrary exact basis vectors. When linearizability conditions are satisfied, [H.sub.k+1] is integrable, and one can always find the exact basis for [H.sub.k+1], which can be used for finding the new coordinates.

Algorithm 3: Computation of the state transformation z = S(x)

Initialization. Given the sequence [H.sub.k], k = 1, ..., N, start with the last nonzero codistribution [H.sub.N] = span [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Integrate its basis one-forms to get the first [n.sub.N](= dim[H.sub.N]) state coordinates {[z.sup.N.sub.1], ..., [z.sup.N.sub.nN]}. Set k := 1.

Step k. Start with the codistribution [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The shifts of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] will be defined as the next subset of the new state coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], satisfying for all [i.sub.N-k+1] the conditions [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Add [n.sub.N-k] - [n.sub.N-k+1] more independent integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] so that their differentials complete the basis of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Check whether k = N - 1. If yes, then stop. Otherwise set k := k + 1 and go to the next step.

Alternatively, one may compute, according to Algorithm 2, the sequence of distributions [[DELTA].sub.k] = span{[[XI].sup.1], ..., [[XI].sup.k]}, k = 1, ..., N. Again, as all basis vectors of [H.sub.k+1] are not necessarily exact, the vector fields [[XI].sup.1], ..., [[XI].sup.k] do not necessarily commute. Therefore, one has to replace them by their commuting linear combinations [[??].sup.1], ..., [[??].sup.k] such that [[DELTA].sub.k] = span{[[??].sup.1], ..., [[??].sup.k]}. Next, define the canonical parameters of the vector fields [[??].sup.1] that satisfy the condition [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. By Theorem 6, the canonical parameters [X.sup.k] of the distribution [[DELTA].sub.k] provide an integrable basis for the codistribution [H.sub.k+1], k = 1, ..., N - 1. However, this set of state coordinates [X.sup.k] is in general not yet suitable for linearization. Therefore, one may continue with Algorithm 3 to find the new state coordinates.

7. DISCUSSION AND EXAMPLES

We have implemented both methods for checking feedback linearizability and the method for finding the new state coordinates in the package NLControl built within the computer algebra system Mathematica. Since the functions from the package NLControl cannot be used outside the Mathematica environment, we have developed a webMathematica-based application that allows the functions from NLControl to be used on the world-wide web, in such a way that no other software except for an internet browser is necessary. The developed webpage is available at http://webmathematica.cc.ioc.ee/webmathematica/NLControl/.

As the first step of the computations, the backward shift operator, defined by the system equations, has to be found, as described in [5]. For that one has to solve a system of n nonlinear equations with respect to n variables. The solution of such a system may exhibit a much more complex expression than the state transition map of the original control system and it may also happen that Mathematica is not able to find the solution. In a few cases the solution cannot, in principle, be expressed in terms of the elementary functions. Even in the latter case it is still possible, though extremely rare, that the system is feedback linearizable.

In principle, if the system is linearizable, then the linearization procedure can be carried out without knowing the backward shift operator. However, in practice it may be complicated, because in order to compute the backward shift of the one-form (or, alternatively, that of the vector field), the variables on negative time-instances may occur, but can be eliminated by using certain replacement rules defined by the control system. The backward shift operator gives explicit rules for replacing the mentioned variables; otherwise one has to try to eliminate them just by using the relations imposed by the original control system equations. The latter method is much less reliable and works successfully only with small systems. For instance, to find the backward shift operator for the system

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (29)

one has to express [x.sub.2] from [x.sup.+.sub.1] = u[x.sup.2] sin[x.sub.2], which is beyond the abilities of Mathematica 7.0. However, if the method from [5] (see the proof of Lemma 4.3) is applied to find [H.sub.2] = span{-[dx.sub.1] + [([x.sub.2] sin [x.sub.2]).sup.-]d[x.sub.2]} for system (29), then we actually need only the backward shift of the product [x.sub.2] sin[x.sub.2], that is

([x.sub.2] sin[x.sub.2])- = [x.sub.1]/[x.sub.2].

The system is feedback linearizable by the state transformation z = ([x.sub.1]/[x.sub.2], [x.sub.2] sin[x.sub.2]). But it is not possible to express the static state feedback in the form u = [alpha](x, v), because v = u sin u and thus u cannot be expressed in terms of elementary functions. However, replacing sin [x.sub.2] by [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], for example, in (29), yields a system, for which the backward shift operator can be found easily, since Mathematica is able to find the solution of the equation [x.sup.+.sub.1] = u[x.sub.2] ln[x.sub.2] as [x.sub.2] = ProductLog[[x.sup.+.sub.1]/u] (4).

To compute the sequence of codistributions of differential one-forms, three alternative methods are available. The first of them uses the method from [5], the second is based on the formula [H.sub.k+1] = [([H.sub.k] [intersection] [H.sub.k.sup.+).sup.-], for k [greater than or equal to] 1, and the third method computes the sequence of distributions [[DELTA].sub.k] and then finds [H.sub.k+1]'s as their maximal annihilators.

In the majority of cases the fastest method is the one based on the method from [5]. Even if our goal is only to check the feedback linearizability property of the system, which means that using the third method, we may only compute the distributions [[DELTA].sub.k] and check their involutivity, the first method in most cases still works faster. Of course, there exist exceptions, often characterized by the occurrence of exponential and logarithmic functions, for which the distributions [[DELTA].sub.k] give the result faster. Unfortunately, it is not possible to predict the fastest linearization method only by visual inspection of the function f.

The only difficulty known to us, which may occur in using the first method (and occurs extremely rarely), is that in case the expressions, found on the previous steps, have not been enough simplified, there is a chance that Mathematica may be unable to solve the system of equations and the computation fails.

The second method turns out to be slower than the first method, but in most cases it is faster than method 3. If the basis vectors of [H.sub.k] are not simplified enough, some basis vectors can be lost from the intersection [H.sub.k] [intersection] [H.sub.k.sup.+]. Addition of too many simplification commands into the program makes it work slowly.

If we need only to check the feedback linearizability property, an additional method is possible: instead of the subspaces [H.sub.k], one may use the subspaces [I.sub.k], introduced in [10] and defined by [I.sub.1] = [span.sub.k] {dx(0)}, [I.sub.k+1] = [I.sub.k] [intersection] [I.sup.k.sup.+] for k [greater than or equal to] 1. Between the sequences [H.sub.k] and [I.sub.k] the relations [I.sub.[infinity]] = [H.sub.[infinity]] and [I.sub.k] = [[delta].sup.k-1] [H.sub.k]] hold, where [delta] is the forward-shift operator. Moreover, the subspace [I.sub.k] is completely integrable iff [H.sub.k] is completely integrable. This method is especially useful when it is complicated to find the backward shift operator or it cannot be found at all. Then [I.sub.k] provides us with the only practical way for checking feedback linearizability. On the other hand, if the function f is complex and the backward shift operator is defined by a simple expression, then the computation of [I.sub.k]'s usually takes more time than that of [H.sub.k]'s and [[DELTA].sup.k]'s. In case the subspaces are not integrable, the expression of [I.sub.k] is usually more complex than the corresponding [H.sub.k].

Note that the algorithm for finding the state coordinates actually requires integration (solution) of differential equations and is thus only constructive if the latter subproblem is solvable. Though over the years the capabilities of Mathematica to integrate the one-forms for medium-size medium-complexity problems have improved, it has still not good enough facilities for this task. To improve the capabilities of Mathematica in this respect, we have implemented an additional function IntegrateOneForms. This function replaces the integration of the set of one-forms by solution of the sequence of linear homogeneous PDEs and is based on the algorithm described in [11]; see also [12]. Despite this extension, the solution of the set of the partial differential equations is still often unsuccessful, especially for high-complexity examples.

The final change of variables, which represents the system in the new state coordinates, requires again the inverse state transformation to be found and thus is a potential point of failure. The latter transformation is sometimes a quite time-demanding operation and may take more time than all the previous computations.

Note that none of the methods discussed in this paper is adapted for approximate calculations, therefore all decimal fractions are transformed to rational numbers.

Finally, note that the results on state feedback linearization with Mathematica for continuous-time nonlinear systems have been reported in [13] and with Maple in [14].

To illustrate the results of this paper, we provide two examples. One of them is an academic example, the other is the model of a truck trailer.

Example 1. Consider the system

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (30)

One may define the new state coordinates z from the sequence of codistributions [H.sub.1] = span{[dx.sub.1], [dx.sub.2], [dx.sub.3]}, [H.sub.2] = span{[dx.sub.3]}, computed for equations (30). According to the results of Section 6, [H.sub.2] defines the first new state coordinate [z.sup.2.sub.1] = [x.sub.3]. The next new state coordinate is its forward shift [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Finally, to complete the span of the 1-forms [dz.sup.2.sub.1] and [dz.sup.1.sub.2] to the cobasis [H.sub.1] of the state space, we add the 1-form [dz.sup.1.sub.1] = [dx.sub.1]. Consequently, the last new state coordinate is [z.sup.1.sub.1] = [x.sub.1]. The state equations in the new coordinates are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (31)

yielding the linear equations

[z.sup.1+.sub.1] = [v.sub.1], [z.sup.1+.sub.2] = [z.sup.1.sub.2] + [v.sub.2], [z.sup.2+.sub.1] = [z.sup.1.sub.2] (32)

after applying the static state feedback, defined by [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Alternatively, one may find the new state coordinates from the sequence of distributions [[DELTA].sub.k]. Compute the tangent map of the state transition map as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (33)

and its kernel K = Ker T f = span {[K.sub.1], [K.sub.2]}, where

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (34)

Next, compute, according to (5), the distribution

[[DELTA].sub.1] = [{T f([D.sub.0])}.sup.-], (35)

where [D.sub.0] = span {[partial derivative]/[partial derivative][u.sub.1], [partial derivative]/[partial derivative][u.sub.2]}. The distribution [D.sub.0] + K is involutive as both K and [D.sub.0] are involutive. Next, observe that the vector field [partial derivative]/[partial derivative][u.sub.1] commutes with the vector fields [K.sub.1] and [K.sub.2] but the vector field [partial derivative]/[partial derivative][u.sub.2] does not respect the distribution K since

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (36)

According to Proposition 1, one cannot, due to (36), express the components of the vector field T f([partial derivative]/[partial derivative][u.sub.2]) in terms of x+ exclusively. Really (see 30),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (37)

Choose another basis for D0 that respects K, for example,

[D.sub.0] = span {[partial derivative]/[partial derivative][u.sub.1], [u.sub.2][partial derivative]/[partial derivative][u.sub.2]} .

Then we have

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (38)

and

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (39)

Since [[DELTA].sub.2] = [[DELTA].sub.N], its basis vector fields span the complete tangent bundle T(M x U), and we have to find only one vector field [[XI].sup.2.sub.1], which does not belong to [[DELTA].sub.1] and commutes with [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] and [[XI].sup.1.sub.2] = [x.sub.2] [partial derivative]/[partial derivative][x.sub.2]. We may take, for example, [[XI].sup.2.sub.1] = [partial derivative]/[partial derivative][x.sub.3]. Consequently, we get the new commutative basis of [[DELTA].sub.2] as [[XI].sup.1.sub.1], [[XI].sup.1.sub.2] and [[XI].sup.2.sub.1]; those canonical parameters are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (40)

yielding the new state equations:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (41)

However, according to the results of Section 6, equations (41) are not yet linearizable via static state feedback, and one needs an additional coordinate transformation.

The additional coordinate transformation is defined below according to the method suggested in [3]. Starting with the coordinates {[X.sub.1.sup.1], [X.sup.1.sub.2], [X.sub.1.sup.2]}, define the first set [[??].sup.2] of the new coordinates [??] as [[??].sup.2.sub.1] = [X.sup.2.sub.1] = [x.sub.3]. The second set [[??].sup.1] of the new coordinates is defined in the following way. First we take = [[??].sup.1.sub.2] = [([[??].sup.1.sub.2]).sup.+], and complete the set of new coordinates by [[??].sup.1.sub.1] = [X.sup.1.sub.1], leading to the transformation

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (42)

The new state equations are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (43)

Example 2. Consider the model of a truck trailer [15]:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (44)

where [x.sub.1] is the angle between the truck and the trailer, [x.sub.2] is the angle between the trailer and the road, [x.sub.3] and [x.sub.4] are the vertical and horizontal positions of the rear end of the trailer, respectively, L is the length of the trailer, l is the length of the truck, t is the sampling interval, and v is the velocity of the truck. The input parameter u is the steering angle. We are going to check, using Theorems 5 and 2, respectively, whether system (44) is static state feedback linearizable. Compute first, for (44),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

and find K = kerT f, spanned by the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Next compute the distribution [[DELTA].sub.1], spanned by the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (45)

In order to simplify the computations, we multiply the vector field (45) by the constant l/tv, obtaining [[DELTA].sup.+.sub.1] = span{[[XI].sup.+.sub.1], where [[XI].sub.1] = [partial derivative]/[partial derivative][x.sub.1]. Obviously, the distribution [[DELTA].sub.1] is involutive. Applying the tangent map T f to the distribution [[DELTA].sub.1] = span{[partial derivative]/[partial derivative][x.sub.1]}, we obtain

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (46)

The distribution [[DELTA].sup.+.sub.2] (and therefore, also [[DELTA].sub.2]) is not involutive and therefore, according to Theorem 5, system (44) is not static state feedback linearizable.

Alternatively, one may compute the codistributions: [H.sub.1] = span{[dx.sub.1], [dx.sub.2], [dx.sub.3], [dx.sub.4]}, [H.sub.2] = span{[dx.sub.2], [dx.sub.3], [dx.sub.4]}, and

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Again, it is easy to check, for example via the Frobenius Theorem, that the codistribution [H.sub.3] is not integrable, and therefore according to Theorem 2, system (44) is not static state feedback linearizable.

8. CONCLUSION

In this paper the problem of static state feedback linearizability of a discrete-time nonlinear control system has been addressed. The paper focuses on establishing the explicit relationship between the two sets of necessary and sufficient linearizability conditions. The first set of conditions is formulated in terms of involutivity of an increasing sequence of certain distributions of vector fields. The second set of conditions is formulated in terms of integrability of the decreasing sequence of the codistributions of differential oneforms. We have demonstrated that the distributions used in the first set of conditions are the maximal annihilators of the corresponding codistributions used in the second set of conditions. Moreover, two methods have been compared from the point of view of computational complexity. Note that the new state coordinates are the canonical parameters of the commutative basis vector fields (with specific properties) of the distribution [[DELTA].sub.N] and also the integrals of the corresponding codistributions [H.sub.1]. The method based on one-forms is easier than that based on vector fields, since in the latter case the new state coordinates are computed in two steps. At the first step one has to find canonical parameters of an arbitrary commutative basis vector field of the distribution AN, which actually corresponds to finding the integrals of the corresponding codistribution [H.sub.1]. At the second step one modifies the integrals of [H.sub.1] to get the integrals with specific properties.

On kasitletud diskreetse ajaga mittelineaarsete juhtimissusteemide lineariseerimise voimalikkust staatilise olekutagasisidega. Pohitahelepanu on pooratud kahe tarvilike ja piisavate tingimuste kogumi omavaheliste seoste uurimisele. Esimene neist on esitatud juhtimissusteemi defineeritud vektorvaljadega genereeritud jaotuste jada involutiivsuse kaudu. Teine kogum esitub juhtimissusteemi defineeritud diferentsiaalsete 1-vormidega genereeritud kaasjaotuste jada integreeruvuse kaudu. Artiklis on toestatud, et esimese tingimuste kogumi puhul esinevad jaotused on teise tingimuste kogumi vastavate kaasjaotuste maksimaalsed annihilaatorid. On vorreldud molemat liiki tingimuste kontrolli ja vaadeldud uute olekukoordinaatide leidmist nende rakendusliku lihtsuse seisukohast arvutialgebra susteemis Mathematica. On esitatud algoritmid lineariseerimiseks vajaliku koordinaatteisenduse leidmiseks. Teoreetilisi tulemusi illustreerivad kaks naidet.

doi: 10.3176/proc.2011.2.07

ACKNOWLEDGEMENTS

This work was supported by the Estonian Science Foundation (grant No. 6922). Preliminary results were partly presented at the European Control Conference, 2-5 July 2007, Kos, Greece.

REFERENCES

[1.] Jayaraman, G. and Chirek, H. J. Feedback linearization of discrete-time systems. In Proceedings of the 32nd IEEE Conference on Decision and Control. San Antonio, Texas, 1993, 2972-2977.

[2.] Nam, K. Linearization of discrete-time nonlinear systems and a canonical structure. IEEE Trans. Autom. Contr., 1989, 34, 119-122.

[3.] Grizzle, J. W. Feedback linearization of discrete time systems. Lecture Notes in Control and Inform. Sci., 1986, 83, 273-281.

[4.] Nijmeijer, H. and van der Schaft, A. J. Nonlinear Dynamical Control Systems. Springer Verlag, New York-Berlin- Heidelberg, 1990.

[5.] Aranda-Bricaire, E., Kotta, U., and Moog, C. H. Linearization of discrete time systems. SIAM J. Control Optim., 1996, 34(6), 1999-1023.

[6.] Jakubczyk, B. Feedback linearization of discrete-time systems. Syst. Contr. Lett., 1987, 9, 411-416.

[7.] Simoes, C. and Nijmeijer, H. Nonsmooth stabilizability and feedback linearization of discrete-time nonlinear systems. Int. J. Robust Nonlinear Control, 1996, 6, 171-188.

[8.] Monaco, S. and Normand-Cyrot, D. Normal forms and approximated feedback linearization in discrete time. Syst. Contr. Lett., 2006, 55, 71-80.

[9.] Grizzle, J. W. A linear algebraic framework for the analysis of discrete-time nonlinear systems. SIAM J. Control Optim., 1993, 31, 1026-1044.

[10.] Aranda-Bricaire, E. Computer algebra analysis of discrete-time nonlinear systems. In Proceedings of the 13th IFAC World Congress. San Francisco, USA, 1996, 306-309.

[11.] Gunter, N. M. Integration of the First Order Partial Differential Equations. Gosudarstvennoe Tekhniko- Teoreticheskoe Izdatel'stvo, Leningrad, Moscow, 1934 (in Russian).

[12.] Kotta, U. and Tonso, M. Linear algebraic tools for discrete-time nonlinear control systems with Mathematica. Lecture Notes in Control and Inform. Sci., 2003, 281, 195-205.

[13.] RotfuB, R. and Zeitz, M. A toolbox for symbolic nonlinear feedback design. In Proceedings of the 13th IFAC World Congress. San Francisco, USA, 1996, 283-288.

[14.] deJager, B. The use of symbolic computation in nonlinear control: is it usable? IEEE Trans. Autom. Control, 1995, 40, 84-89.

[15.] Tanaka, K. and Sano, M. A robust stabilization problem of fuzzy control systems and its application to backing up control of a truck trailer. IEEE Trans. Fuzzy Syst., 1994, 2(2), 119-134.

Tanel Mullari *, Ulle Kotta, and Maris Tonso

Institute of Cybernetics at Tallinn University of Technology, Akadeemia tee 21, 12618 Tallinn, Estonia

Received 4 March 2010, accepted 2 June 2010

* Corresponding author, tanel@parsek.yf.ttu.ee

(1) Note that in [3] and [4] the notation [[DELTA].sub.k+1] = T f([D.sub.k]) is used, which may cause confusion as the distribution T f([D.sub.k]) belongs to the tangent bundle T [M.sup.+], and must be shifted backward to T M to obtain the distribution [[DELTA].sup.k+1].

(2) Some of the vector fields T f([[XI].sup.k-1]) may be zero since the corresponding vector fields [[XI].sup.k-1] [member of] K.

(3) In [5] the condition is given as [[omega].sup.+] [member of] [H.sub.k]. However, this may yield confusion because the one-forms [[omega].sup.+] (as the forward shifts of the one-forms [omega] [member of] T M) belong to T [M.sup.+] and the elements of [H.sub.k] belong to T M. Therefore, one has to "bring back" the one-forms [[omega].sup.+] to T M with the help of the tangent map T f.

(4) ProductLog[z] represents the solution for w in z = [we.sup.w].

Feedback linearization has proved to be a tremendously useful tool in nonlinear control. We will restrict ourselves to discrete-time nonlinear control systems described by state equations and to static state feedback linearization. The number of publications on static state feedback linearization of continuous-time nonlinear systems is huge, but the situation is different for the discrete-time case [1-6]. Most results, except [7], focus on smooth feedback. However, note that it is not our purpose to address the approximate solutions of the problem (see [8] and the references therein).

The main aim of the paper is to find explicit relationship between the two best-known sets of necessary and sufficient linearizability conditions. The first and the earliest set of conditions is stated in terms of a sequence of nested distributions of vector fields, associated with the control system [3]. The second set of conditions is given via a decreasing sequence of codistributions of differential one-forms [5]. Detailed algorithms are given for computation of the sequences of distributions. Moreover, the connection between the two methods for finding the state coordinate transformation, corresponding to the above linearizability conditions, is clarified. Finally, the alternative conditions and methods are compared from the point of view of computational complexity, and experience from the respective implementations in the symbolic computation system Mathematica is discussed. Two examples are given to illustrate the theoretical results.

The paper is organized as follows. Section 2 gives the statement of the static state feedback linearization problem. Proposition 1, proved in Section 3, specifies the vector fields for which the backward shift is a well-defined operator. A detailed algorithm for computation of the sequence of distributions (that relies on the backward shift) is then given and finally the linearizability conditions in terms of vector fields are recalled. Section 4 recalls the linearizability conditions formulated in terms of codistributions and Section 5 finds the explicit relationship between two sets of conditions. Section 6 relates the methods for finding the new state coordinates, corresponding to two alternative linearizability conditions. Section 7 contains the discussion and the examples, and Section 8 concludes the paper.

2. STATIC STATE FEEDBACK LINEARIZABILITY

[x.sup.+] = f(x, u), (1)

where f: (M x U) [right arrow] [M.sup.+], and the variables x = ([x.sub.1], ..., [x.sub.n]) and u = ([u.sub.1], ..., [u.sub.m]) are the local coordinates of the state space M and the input space U, respectively; f is assumed to be an analytic function of its arguments, and [M.sup.+] is the forward shifted state space with the coordinates [x.sup.+] = ([x.sup.+.sub.1], ..., [x.sup.+.sub.n]).

In the discrete-time case the local study is useless around an arbitrary initial state, since even in one step the state can move far away from the initial state, regardless of the small control. One possibility is to work around an equilibrium point of the system. Another, more general possibility is to work around a reference trajectory that satisfies the system of equations (1). In this paper we adopt the first option.

Definition 1. A point ([x.sub.0], [u.sub.0]) [member of] M x U is called an equilibrium point of system (1) if f([x.sub.0], [u.sub.0]) = [x.sub.0].

In the study of discrete-time nonlinear control systems the following assumption is usually made. It guarantees the forward shift operator, defined by equations (1), to be injective. Note that this assumption is not restrictive as it is always satisfied for accessible systems [9].

Assumption 1. System (1) is, around the equilibrium point ([x.sub.0], [u.sub.0]), submersive, i.e. around ([x.sub.0], [u.sub.0]), rank[[partial derivative] f(x, u)/[partial derivative](x, u)] = n.

Definition 2. A regular static state feedback u = [alpha](x, v) is a mapping [alpha]:M x V [right arrow] U such that locally, around the equilibrium point, rank [[partial derivative][alpha](x)/[partial derivative]v] = m.

Definition 3. [3,4] System (1) is said to be static state feedback linearizable around its equilibrium point ([x.sub.0], [u.sub.0]) if there exist

1. a state coordinate transformation S : M [right arrow] M defined on a neighbourhood X of [x.sub.0] with S([x.sub.0]) = 0,

2. a regular static state feedback of the form u = [alpha](x, v), satisfying the condition [alpha]([x.sub.0], 0) = [u.sub.0] and defined on a neighbourhood X x O of ([x.sub.0], 0) such that, in the new coordinates z = S(x), the compensated system reads [z.sup.+] = Az + Bv, where the pair (A, B) is in Brunovsky canonical form.

3. LINEARIZABILITY CONDITIONS IN TERMS OF VECTOR FIELDS

In [3] the local linearizability conditions for system (1) around ([x.sub.0], [u.sub.0]) are formulated in terms of a sequence of distributions [D.sub.k] [subset] T(M x U), k = 0, ..., n, associated with system (1). Here T(M x U) is the tangent fibre bundle of the space M x U, where the fibres are the tangent vector spaces defined at each point (x, u) [member of] M x U.

Define the distribution K as the kernel of the tangent map T f of the state transition map f: T f(K) = 0. Under Assumption 1, dim K = m. Moreover, the distribution K as a kernel of a tangent map is always involutive. Therefore, one can define the commutable basis

K = span{[K.sub.i]; i = 1, ..., m} (2)

such that

[[K.sub.i], [K.sub.j]] [equivalent to] 0, (3)

for i, j = 1, ..., m. In the neighbourhood of ([x.sub.0], [u.sub.0]) the sequence of distributions [D.sub.k], k = 0, ..., n, is introduced:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (4)

where, provided the distribution [D.sub.k] + K is involutive and [D.sub.k] [intersection] K is constant dimensional, [[DELTA].sub.k+1] can be found from

[[DELTA].sup.+.sub.k+1] = T f([D.sub.k]) (5)

by applying the backward shift [3] (1). Note that [[DELTA].sub.k+1] is defined by (5) as the span of vector fields [{T f([D.sub.k])}.sup.-]; however, these vector fields do not necessarily exist, in general, since the backward shift operator is a well-defined operation on T [M.sup.+] iff the basis vectors of [D.sub.k] respect the distribution K, i.e., if for every basis element [XI] of [D.sub.k] and for the vector field [K.sub.i] [member of] K

[[XI], [K.sub.i]] [member of] K (6)

holds.

Consider an arbitrary vector field [XI], defined on the manifold M x U:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (7)

Multiplying (7) with the Jacobi matrix of submersion f gives the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (8)

Although this vector field belongs to T [M.sup.+], its components [{T f([XI])}.sub.I] are still expressed as the functions of the coordinates (x, u). The vector field T f([XI]) [member of] T [M.sup.+] is defined on the manifold [M.sup.+] iff one can, using equations (1), write its components [{T f([XI])}.sub.I] in terms of the coordinates [x.sup.+] exclusively. The latter is possible if the components of the vector field (8) can be expressed as the composite functions [{T f([XI])}.sub.I] (x, u) = [[PSI].sub.I] [omicron] f(x, u) for some functions [[PSI].sub.I], yielding

T f([XI]) = [n.summation over (I-1)] [[PSI].sub.I]([x.sup.+]) [partial derivative]/[partial derivative][x.sup.+.sub.I]. (9)

Proposition 1. The vector field (8) can be expressed in the form (9) iff (6) holds.

Proof. The submersion f defines the fibre bundle on the manifold M x U. The base manifold of this fibre bundle is [M.sup.+] with coordinates [x.sup.+]. The fibres are the integral surfaces of the distribution K. By (3) one can choose the fibre coordinates to be the canonical parameters [[chi].sub.i] = [g.sub.i](x, u) of the vector fields [K.sub.j]:

Therefore, the base coordinates [x.sup.+] and the fibre coordinates [[chi].sup.+] are defined by the following coordinate transformation, denoted by F:

[x.sup.+] = f (x, u),

[[chi].sup.+] = g(x, u).

The corresponding Jacobi matrix reads

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Multiplying the vector field [XI] (see (7)) by TF yields

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (11)

with the second term belonging to the distribution K. Its components can be expressed in terms of the base coordinates [x.sup.+] exclusively iff they do not depend on the fibre coordinates [[chi].sub.i.sup.+]. According to (10), this is equivalent to the property that the Lie derivatives

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (12)

for i = 1, ..., m, I = 1, ..., n. Due to (8), the components of T f([XI]) are actually the scalar products

[{T f([XI])}.sub.I] =

Replacing [{T f([XI])}.sub.I] in (12) by the right-hand side of(13), we obtain, using the differentiation rule of the scalar product,

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (14)

Note that

Example 1 in Section 7 illustrates the both situations, i.e. when T f([XI]) cannot be shifted back and when it can be shifted back; see formulas (37) and (38), respectively.

Below, detailed algorithms are given for computation of the sequences [D.sub.k] and [[DELTA].sub.k], respectively. Both algorithms require the state equations of the control system to be given. Algorithm 1 gives the sequence [D.sub.k], or informs that the computation of the sequence cannot be completed, because either [D.sub.k-1] + K is not involutive or [D.sub.k-1] [intersection] K is not constant dimensional around the equilibrium point. In the latter case the control system is not static state feedback linearizable. Algorithm 2 computes the sequence [[DELTA].sub.k].

Algorithm 1: Computation of the sequence [D.sub.k]

Initialization. Define the distribution K as the kernel of the tangent map T f of the state transition map f in (1), T f(K) = 0, and [D.sub.0] as in (4). Set [D.sub.0] := span{[[XI].sup.0]}, such that the vector fields [[XI].sup.0] respect K, k := 1 and go to step k.

Step k. Check whether [D.sub.k-1] + K is involutive and [D.sub.k-1] [intersection] K constant dimensional around ([x.sub.0], [u.sub.0]). If not, then stop (the system is not static state feedback linearizable), otherwise continue.

Note that some vector fields, added at the previous step (or for step 1 at initialization) into [D.sub.k-1] may not respect the distribution K. If this is so, find the same number of independent linear combinations of [[XI].sup.0], ..., [[XI].sup.k-2] and [[T f([{XI].sup.k-2])].sup.-], denoted by [[XI].sup.k-1] that respect the distribution K, and be such that [D.sub.k-1] = span{[{XI].sup.0], [[XI].sup.1], ..., [{XI].sup.k-1]}, [[XI].sup.k-1] [not member of] [D.sup.k-2]. Finally, define (2)

[D.sub.k] = span{[{XI].sup.0], ..., [[XI].sup.k-1], [[T f([[XI].sup.k-1])].sup.-]}

and check whether dim [D.sub.k] = n + m. If yes, then set N := k and stop (the sequence [D.sub.k] has been found), otherwise check whether dim [D.sub.k] > dim [D.sub.k-1]. If yes, then set [[XI].sup.k] := [[T f({[{XI].sup.k-1])].sup.- ], k := k + 1 and go to the next step. Otherwise, the system is not static state feedback linearizable.

Note that N is the minimal integer such that dim [D.sub.N] = dim [D.sub.N+1] = ... = n + m.

Algorithm 2: Computation of the sequence [[DELTA].sub.k]

Algorithm 1 can be modified accordingly to compute the sequence [[DELTA].sub.k]. In that case one starts with [[DELTA].sub.1] = span{[[XI].sup.1]} instead of [D.sub.0], and at the kth (k = 2, ..., N) step defines [[DELTA].sub.k] = span{[[XI].sup.1], ..., [[XI].sup.k]}.

The linearizability conditions for system (1) are formulated in the following theorem.

Theorem 1. [3] System (1) is static state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]) iff 1. the distributions [D.sub.k] + K are involutive and [D.sub.k] [intersection] K are constant dimensional for all k = 0, ..., N - 1; 2. dim [D.sub.N] = n + m.

4. LINEARIZABILITY CONDITION IN TERMS OF DIFFERENTIAL ONE-FORMS

In [5] the linearizability conditions for system (1) are given in terms of the decreasing sequence of codistributions [H.sub.k] [subset] T* M, defined locally around the equilibrium point by (3)

[H.sub.1] = span{dx}, [H.sub.k+1] = span{[omega] [member of] [H.sub.k] | [[omega].sup.+] [omicron] T f [member of] [H.sub.k]), k [greater than or equal to] 1. (15)

There exists an integer [N.sup.*] [less than or equal to] n such that for 1 [less than or equal to] k [less than or equal to] [N.sup.*], [H.sup.k+1] [subset] [H.sub.k] but [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Obviously, [N.sup.*] is the minimal integer satisfying [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] and [H.sub.[infinity]] is the maximal codistribution, invariant with respect to the forward shift. To compute the one-forms [[omega].sup.+] [omicron] T f in (15), consider first the forward shift of an arbitrary one-form

[omega] = [n.summation over (I=1)] [[omega].sub.I](x)d[x.sub.I] [member of] T M, (16)

obtained by replacing all the state coordinates [x.sub.I] in (16) by their forward shifts [x.sup.+.sub.I]:

[[omega].sup.+] = [n.summation over {I=1)] [[omega].sub.I]([x.sup.+])[dx.sup.+.sub.I] [member of] T [M.sup.+].

Then the one-form

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII],

where, by replacing [x.sup.+] in [[omega].sub.J]([x.sup.+]) by f(x, u), one obtains

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

The linearizability conditions for system (1) are formulated in the following theorem.

Theorem 2. [5] System (1) is static state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]) iff

1. [H.sub.k] is completely integrable for all k = 1, ..., [N.sup.*],

2. [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

In [5] the complete integrability has been checked via the Frobenius Theorem.

Theorem 3 (Frobenius). Let W = span{[[omega].sub.1], ..., [[omega].sub.r]} be a vector space of 1-forms. W is locally completely integrable iff d[[omega].sub.k] [and] [[omega].sub.1] [and] ... [and] [[omega].sub.r] = 0 for all k = 1, ..., r.

However, Theorem 4 below suggests an alternative rule which does not require the computation of exterior derivatives of the basis vectors of [H.sub.k], as well as their wedge products with the basis vectors of [H.sub.k]. The proof of Theorem 4 is based on the following Lemma.

Lemma 1. If the codistributions [H.sub.k], [H.sub.k+1], ... [H.sub.1] are integrable, or equivalently, one can define the state coordinates X, adapted to [H.sub.k], [H.sub.k-1], ..., [H.sub.1], such that

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (17)

if and only if the forward shift [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of an arbitrary 1-form [omega] [member of] [H.sub.k] can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] only.

Proof. Each codistribution [H.sub.[lambda]] for all [lambda] = 1, ..., k defines a corresponding subspace [B.sub.[lambda]] [subset] M such that [H.sub.[lambda]] is the cotangent bundle of [B.sub.[lambda]] and dim [H.sub.[lambda]] = dim [B.sub.[lambda]] if and only if all [H.sub.[lambda]] are integrable. Or, equivalently, the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.[lambda]] can also be defined as the coordinates of the subspace [B.sub.[lambda]]. This means that if an arbitrary 1-form [omega] [member of] [H.sub.[lambda]] is defined in the subspace [B.sub.[lambda]], then its components can be expressed only in terms of variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] as the integrals of [H.sub.[lambda]].

Finally, according to the definition of the codistributions [H.sub.k] for an arbitrary 1-form [omega] [member of] [H.sub.k] its forward shift [[omega].sup.+] [omicron] T f belongs to [H.sub.k-1], which is assumed to be integrable. That is, the components of [[omega].sup.+] [omicron] T f can be expressed only in terms of the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Theorem 4. If the codistribution [H.sub.k] is not integrable, then there does not exist the complete cobasis for [H.sub.k], where the components of the basis 1-forms can be expressed without using the backward shifts of the state coordinates.

Proof. Suppose [H.sub.k] is not integrable, but [H.sub.k-1], ..., [H.sub.1] are; then the number of the independent integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k] equals dim [[bar.H].sub.k], where [[bar.H].sub.k] [subset] [H.sub.k] is the maximal integrable subspace of [H.sub.k]. Then one can define at least dim [H.sub.k]--dim [[bar.H].sub.k] independent 1-forms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], where dim [H.sub.k] + 1 [less than or equal to] [[lambda].sub.k] [less than or equal to] dim [H.sub.k], and whose components cannot be expressed in terms of integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Consequently, we need some anditional variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] to express the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], since the other adapted coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] cannot be used for this purpose, as will be shown below.

First we will prove that the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], and alternatively also in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The latter yields that the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] must also be the integrals of [H.sub.k-1] and the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are the backward shifts of some integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Really, for of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], its components can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], where 1 [less than or equal to] [r.sub.k] [less than or equal to] dim [[bar.H].sub.k] and dim [[bar.H].sub.k] + 1 [less than or equal to] [[mu].sub.k] < dim [H.sub.k]. Consequently, the components of the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] [omicron] T f of the 1-forms [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can be expressed in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. At the same time, according to the definitions of the sequence of codistributions [H.sub.k], the 1-forms [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] [omicron] T f belong to [H.sub.k-1]. Due to the integrability of [H.sub.k-1], the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can, according to Lemma 1, be expressed in terms of the integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] of [H.sub.k-1].

Let us prove now that the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] cannot be the functions of other variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The proof is by contradiction. Suppose that one can express [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. That is, one can alternatively express the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] as the functions of variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] in terms of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Consequently, the components of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] can be expressed in terms of the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. However, according to the definition of codistributions [H.sub.k], the forward shifts [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are not the integrals of [H.sub.k-1], which leads to contradiction.

To conclude, if [H.sub.k] is not integrable, then the variables [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] are the backward shifts of the coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], but one cannot express them in terms of coordinates X. Therefore, one cannot express the components of all its basis 1-forms in terms of the adapted coordinates X as in (17); one needs to use additionally the backward shifts of the state coordinates.

The converse statement of Theorem 5 also holds. The proof is based on the application of the Frobenius Theorem and is trivial.

5. RELATIONSHIP BETWEEN THE LINEARIZABILITY CONDITIONS

In order to find the explicit relationship between the two sets of linearizability conditions, formulated by Theorems 1 and 2, respectively, we first reformulate Theorem 1 in terms of the distributions [[DELTA].sub.k]. In order to do so, we need the following lemma.

Lemma 2. The distribution [D.sub.k] + K is involutive and [D.sub.k] [intersection] K is constant dimensional iff the distribution [[DELTA].sub.k+1] is involutive and constant dimensional for k = 0, ..., N - 2.

Proof. We prove first that dim [[DELTA].sub.k+1] = dim([D.sub.k]) - dim([D.sub.k] [intersection] K). Due to (2), [D.sub.K] + K = span{[[XI].sup.[alpha]], [alpha] = 1, ..., [[rho].sub.k], [K.sub.i], i = 1, ..., m}; there [[XI].sub.[alpha]] [member of] [D.sub.K], [alpha] = 1, ..., [[rho].sub.k] are linearly independent vector fields such that T f([[XI].sub.[alpha]]) [??] 0. Since [[rho].sub.k] = dim([D.sub.K] + K) - dim K = dim [D.sub.K] + dim K - dim([D.sub.K] [intersection] K) - dim k,

[[rho].sub.k] = dim [D.sub.k] - dim([D.sub.k] [intersection] K). (18)

As K = kerT f, one can rewrite (5) as

[[DELTA].sup.+.sub.k+1] = T f([D.sub.k] + K), (19)

yielding

[[DELTA].sup.+.sub.k+1] = span{T f([[XI].sub.[alpha]])}. (20)

Because the number of vector fields [[XI].sub.[alpha]] (and so also T f([[XI].sub.[alpha]])) is [[rho].sub.k], dim [[DELTA].sup.+.sub.k+1] = dim [D.sub.k] - dim([D.sub.k] [intersection] k).

Next we prove that [[DELTA].sub.k+1] is involutive iff [D.sub.k] + K is involutive. Assume first that [D.sub.k] + K is involutive, then all the possible Lie brackets of the vector fields [[XI].sub.[alpha]] and [K.sub.i] must also belong to [D.sub.k] + K. By (3),

[[K.sub.i], [K.sub.j]] [member of] [D.sub.K] + K. (21)

According to Proposition 1, the vector fields T f([[XI].sub.[alpha]]) exist iff [[XI].sub.[alpha]] respect the distribution K, meaning

[[[XI].sub.[alpha]], [K.sub.i]] [member of] K, [alpha] = 1, ..., [[rho].sub.k], i = 1, ..., m. (22)

Finally, the third involutivity condition for [D.sub.k] + K reads

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (23)

We have to prove next that all the possible Lie brackets of the vector fields T f([[XI].sub.[alpha]]) belong to the distribution [[DELTA].sup.+.sub.k+1], defined by (20), since then and only then the distribution [[DELTA].sup.+.sub.k+1] (and also [[DELTA].sub.k+1]) is involutive. Applying the tangent map T f to (23) and taking into account T f(K) [equivalent to] 0 yields for all [alpha] and [beta]

T f([[[XI].sub.[alpha]], [[XI].sub.[beta]]]) = [[[rho].sub.k].summation over (y=1)] [c.sub.[alpha][beta][gamma]] T f([[XI].sub.[gamma]]). (24)

According to the property of the Lie brackets (see, e.g., [4], p. 50),

T f([[[XI].sub.[alpha]], [[XI].sub.[beta]]]) = [T f([[XI].sub.[alpha]]), T f([[XI].sub.[beta]])] (25)

holds and, consequently, because of (24),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (26)

proving the involutivity of [[DELTA].sub.k+1].

Conversely, assume that [[DELTA].sub.k+1] as the backward shift of [[DELTA].sup.+.sub.k+1], defined by (20), is involutive. Then (26) holds and due to (25), also (23) must hold. Since the conditions (21) and (22) are also satisfied, the involutivity of [D.sub.k] + K follows.

We are now ready to reformulate Theorem 1.

Theorem 5. System (1) s stat c state feedback linearizable around the equilibrium point ([x.sub.0], [u.sub.0]), iff

1. the distributions [[DELTA].sub.k+1] are involutive and constant dimensional for all k = 0, ..., N - 1;

2. dim [[DELTA].sub.N] = n.

We will prove that all distributions [[DELTA].sub.k], k = 1, ..., N - 1 are involutive and constant dimensional iff all codistributions [H.sub.k], k = 1, ..., N are integrable and constant dimensional. For that it is enough to show that [[DELTA].sub.k] is the maximal annihilator of [H.sub.k+1] for k = 1, ..., N - 1.

Theorem 6. The codistribution [H.sub.k+1] is the maximal annihilator of the distribution [[DELTA].sub.k], for k = 1, ..., N - 1. That is, on the manifold M, <[H.sub.k+1], [[DELTA].sub.k]> [equivalent to] 0, and codim [H.sub.k+1] = dim[[DELTA].sub.k].

Proof. The proof is by induction. First we prove that the codistribution [H.sub.2] is the maximal annihilator of the distribution [[DELTA].sub.1]. Due to definitions (4) and (15), obviously <[H.sub.1], [D.sub.0]> [equivalent to] 0. Due to [H.sub.2.sup.+] [omicron] T f [member of] [H.sub.1] also

<[H.sub.2.sup.+] [omicron] T f, [D.sub.0]> [equivalent to] 0. (27)

The left-hand side of (27) may be interpreted as the multiplication of three matrices. Matrix [H.sup.2.sub.+] is a dim[H.sub.2] x n-matrix, whose rows are the basis elements of [H.sub.2.sup.+]. The second one, T f, is the n x (n + m) Jacobi matrix of the state transition map f. The third matrix [D.sub.0] is the (n + m) x m-matrix, whose columns are the basis vectors of [D.sub.0]. Due to the associativity property of matrix multiplication, one can rewrite (27) as

<[H.sub.2.sup.+], T f([D.sub.0])> [equivalent to] <[H.sub.2.sup.+], [[DELTA].sub.1.sup.+]> [equivalent to] 0,

and as the value of a constant does not change by the backward shift, the latter yields ([H.sub.2], [[DELTA].sub.1]) [equivalent to] 0. Therefore, [H.sub.2] annihilates [[DELTA].sub.1] on the manifold M.

To show that [H.sub.2] is also the maximal annihilator of A1, suppose conversely that there exists a 1-form [omega] [member of] T M not belonging to [H.sub.2] but still annihilating [[DELTA].sub.1]: ([omega], [[DELTA].sub.1]) = 0 and [omega] [not member of] [H.sub.2]. The relationship ([omega], [[DELTA].sub.1]) = 0 must be valid also after applying to it the forward shift and the associativity property of matrix multiplication

([[omega].sub.+], [[DELTA].sub.+.sub.1]> = <[[omega].sup.+], T f([D.sub.0])> = <[[omega].sup.+] [omicron] T f, [D.sub.0]> = 0. (28)

According to (28), [[omega].sup.+] [omicron] T f must belong to [H.sub.1] as the maximal annihilator of [D.sub.0]. From above, we have [[omega].sup.+] [omicron] T f [member of] [H.sub.1] and [omega] [not member of] [H.sub.2], which leads to a contradiction. Therefore, [H.sub.2] is the maximal annihilator of [[DELTA].sub.1] on the manifold M, or, equivalently, due to (4), the maximal annihilator of [D.sub.1] on the manifold M x U.

Next suppose that [H.sub.k] is the maximal annihilator of [D.sub.k-1] on the manifold M x U. Then ([H.sub.k], [D.sub.k- 1]) = 0. According to definition (15), [H.sup.k.sub.k+1] [omicron] T f [member of] [H.sub.k], yielding ([H.sup.+.sub.k+1] [omicron] T f, [D.sub.k-1]> = 0.

Again, due to the associativity property of a matrix multiplication, definition (15), and the invariance of a scalar product with respect to the (backward) shift, we may write

([H.sup.+.sub.k+1], T f([D.sub.k-1])> = ([H.sup.+.sub.k+1], [[DELTA].sup.+.sub.k]> = 0 [??] ([H.sub.k+1], [[DELTA].sub.k]) = 0.

So, [H.sub.k+1] annihilates [[DELTA].sub.k]. In order to show that [H.sub.k+1] is also the maximal annihilator of [[DELTA].sub.k] on M, suppose contrarily the existence of a one-form [theta] [member of] T M such that [theta] [not member of] [H.sub.k+1] and <[theta], [[DELTA].sub.k]> = 0. As before, one can show that this leads to a contradiction. Consequently, [H.sub.k+1] is the maximal annihilator of [[DELTA].sub.k] on M. Moreover, because [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]is the first zero codistribution in the sequence, also [N.sup.*] = N.

Corollary 1.

1. From involutivity and constant dimensionality of distribution [[DELTA].sub.k] integrability and constant dimensionality of codistribution [H.sub.k+1] follows for all k = 1, ..., N - 1 and vice versa.

2. [H.sub.[infinity]] = {0} iff dim [[DELTA].sub.N] = n, or, equivalently, dim[D.sub.N] + K = m + n.

Proof. Follows directly from Theorem 6.

The result of Corollary 1 enables combination of both methods. This will be done in Section 6, where the state coordinate transformation is completed by using the [H.sub.k] subspaces even if one checks the linearizability condition via the sequence of distributions [[DELTA].sub.k].

6. METHOD FOR FINDING THE NEW STATE COORDINATES

The new state coordinates [z.sub.I], necessary for the static state feedback linearization of system (1), can be found via integration of the basis vectors of the codistributions [H.sub.k], k = 1, ..., [N.sup.*], constructed in a specific way by using the detailed algorithm below; see also [5]. Note that the basis vectors of the codistributions [H.sub.k+1], found either by (15) or by the method in [5], are not necessarily exact and the state coordinates cannot be found from arbitrary exact basis vectors. When linearizability conditions are satisfied, [H.sub.k+1] is integrable, and one can always find the exact basis for [H.sub.k+1], which can be used for finding the new coordinates.

Algorithm 3: Computation of the state transformation z = S(x)

Initialization. Given the sequence [H.sub.k], k = 1, ..., N, start with the last nonzero codistribution [H.sub.N] = span [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Integrate its basis one-forms to get the first [n.sub.N](= dim[H.sub.N]) state coordinates {[z.sup.N.sub.1], ..., [z.sup.N.sub.nN]}. Set k := 1.

Step k. Start with the codistribution [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. The shifts of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] will be defined as the next subset of the new state coordinates [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], satisfying for all [i.sub.N-k+1] the conditions [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Add [n.sub.N-k] - [n.sub.N-k+1] more independent integrals [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] so that their differentials complete the basis of [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Check whether k = N - 1. If yes, then stop. Otherwise set k := k + 1 and go to the next step.

Alternatively, one may compute, according to Algorithm 2, the sequence of distributions [[DELTA].sub.k] = span{[[XI].sup.1], ..., [[XI].sup.k]}, k = 1, ..., N. Again, as all basis vectors of [H.sub.k+1] are not necessarily exact, the vector fields [[XI].sup.1], ..., [[XI].sup.k] do not necessarily commute. Therefore, one has to replace them by their commuting linear combinations [[??].sup.1], ..., [[??].sup.k] such that [[DELTA].sub.k] = span{[[??].sup.1], ..., [[??].sup.k]}. Next, define the canonical parameters of the vector fields [[??].sup.1] that satisfy the condition [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. By Theorem 6, the canonical parameters [X.sup.k] of the distribution [[DELTA].sub.k] provide an integrable basis for the codistribution [H.sub.k+1], k = 1, ..., N - 1. However, this set of state coordinates [X.sup.k] is in general not yet suitable for linearization. Therefore, one may continue with Algorithm 3 to find the new state coordinates.

7. DISCUSSION AND EXAMPLES

We have implemented both methods for checking feedback linearizability and the method for finding the new state coordinates in the package NLControl built within the computer algebra system Mathematica. Since the functions from the package NLControl cannot be used outside the Mathematica environment, we have developed a webMathematica-based application that allows the functions from NLControl to be used on the world-wide web, in such a way that no other software except for an internet browser is necessary. The developed webpage is available at http://webmathematica.cc.ioc.ee/webmathematica/NLControl/.

As the first step of the computations, the backward shift operator, defined by the system equations, has to be found, as described in [5]. For that one has to solve a system of n nonlinear equations with respect to n variables. The solution of such a system may exhibit a much more complex expression than the state transition map of the original control system and it may also happen that Mathematica is not able to find the solution. In a few cases the solution cannot, in principle, be expressed in terms of the elementary functions. Even in the latter case it is still possible, though extremely rare, that the system is feedback linearizable.

In principle, if the system is linearizable, then the linearization procedure can be carried out without knowing the backward shift operator. However, in practice it may be complicated, because in order to compute the backward shift of the one-form (or, alternatively, that of the vector field), the variables on negative time-instances may occur, but can be eliminated by using certain replacement rules defined by the control system. The backward shift operator gives explicit rules for replacing the mentioned variables; otherwise one has to try to eliminate them just by using the relations imposed by the original control system equations. The latter method is much less reliable and works successfully only with small systems. For instance, to find the backward shift operator for the system

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (29)

one has to express [x.sub.2] from [x.sup.+.sub.1] = u[x.sup.2] sin[x.sub.2], which is beyond the abilities of Mathematica 7.0. However, if the method from [5] (see the proof of Lemma 4.3) is applied to find [H.sub.2] = span{-[dx.sub.1] + [([x.sub.2] sin [x.sub.2]).sup.-]d[x.sub.2]} for system (29), then we actually need only the backward shift of the product [x.sub.2] sin[x.sub.2], that is

([x.sub.2] sin[x.sub.2])- = [x.sub.1]/[x.sub.2].

The system is feedback linearizable by the state transformation z = ([x.sub.1]/[x.sub.2], [x.sub.2] sin[x.sub.2]). But it is not possible to express the static state feedback in the form u = [alpha](x, v), because v = u sin u and thus u cannot be expressed in terms of elementary functions. However, replacing sin [x.sub.2] by [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], for example, in (29), yields a system, for which the backward shift operator can be found easily, since Mathematica is able to find the solution of the equation [x.sup.+.sub.1] = u[x.sub.2] ln[x.sub.2] as [x.sub.2] = ProductLog[[x.sup.+.sub.1]/u] (4).

To compute the sequence of codistributions of differential one-forms, three alternative methods are available. The first of them uses the method from [5], the second is based on the formula [H.sub.k+1] = [([H.sub.k] [intersection] [H.sub.k.sup.+).sup.-], for k [greater than or equal to] 1, and the third method computes the sequence of distributions [[DELTA].sub.k] and then finds [H.sub.k+1]'s as their maximal annihilators.

In the majority of cases the fastest method is the one based on the method from [5]. Even if our goal is only to check the feedback linearizability property of the system, which means that using the third method, we may only compute the distributions [[DELTA].sub.k] and check their involutivity, the first method in most cases still works faster. Of course, there exist exceptions, often characterized by the occurrence of exponential and logarithmic functions, for which the distributions [[DELTA].sub.k] give the result faster. Unfortunately, it is not possible to predict the fastest linearization method only by visual inspection of the function f.

The only difficulty known to us, which may occur in using the first method (and occurs extremely rarely), is that in case the expressions, found on the previous steps, have not been enough simplified, there is a chance that Mathematica may be unable to solve the system of equations and the computation fails.

The second method turns out to be slower than the first method, but in most cases it is faster than method 3. If the basis vectors of [H.sub.k] are not simplified enough, some basis vectors can be lost from the intersection [H.sub.k] [intersection] [H.sub.k.sup.+]. Addition of too many simplification commands into the program makes it work slowly.

If we need only to check the feedback linearizability property, an additional method is possible: instead of the subspaces [H.sub.k], one may use the subspaces [I.sub.k], introduced in [10] and defined by [I.sub.1] = [span.sub.k] {dx(0)}, [I.sub.k+1] = [I.sub.k] [intersection] [I.sup.k.sup.+] for k [greater than or equal to] 1. Between the sequences [H.sub.k] and [I.sub.k] the relations [I.sub.[infinity]] = [H.sub.[infinity]] and [I.sub.k] = [[delta].sup.k-1] [H.sub.k]] hold, where [delta] is the forward-shift operator. Moreover, the subspace [I.sub.k] is completely integrable iff [H.sub.k] is completely integrable. This method is especially useful when it is complicated to find the backward shift operator or it cannot be found at all. Then [I.sub.k] provides us with the only practical way for checking feedback linearizability. On the other hand, if the function f is complex and the backward shift operator is defined by a simple expression, then the computation of [I.sub.k]'s usually takes more time than that of [H.sub.k]'s and [[DELTA].sup.k]'s. In case the subspaces are not integrable, the expression of [I.sub.k] is usually more complex than the corresponding [H.sub.k].

Note that the algorithm for finding the state coordinates actually requires integration (solution) of differential equations and is thus only constructive if the latter subproblem is solvable. Though over the years the capabilities of Mathematica to integrate the one-forms for medium-size medium-complexity problems have improved, it has still not good enough facilities for this task. To improve the capabilities of Mathematica in this respect, we have implemented an additional function IntegrateOneForms. This function replaces the integration of the set of one-forms by solution of the sequence of linear homogeneous PDEs and is based on the algorithm described in [11]; see also [12]. Despite this extension, the solution of the set of the partial differential equations is still often unsuccessful, especially for high-complexity examples.

The final change of variables, which represents the system in the new state coordinates, requires again the inverse state transformation to be found and thus is a potential point of failure. The latter transformation is sometimes a quite time-demanding operation and may take more time than all the previous computations.

Note that none of the methods discussed in this paper is adapted for approximate calculations, therefore all decimal fractions are transformed to rational numbers.

Finally, note that the results on state feedback linearization with Mathematica for continuous-time nonlinear systems have been reported in [13] and with Maple in [14].

To illustrate the results of this paper, we provide two examples. One of them is an academic example, the other is the model of a truck trailer.

Example 1. Consider the system

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (30)

One may define the new state coordinates z from the sequence of codistributions [H.sub.1] = span{[dx.sub.1], [dx.sub.2], [dx.sub.3]}, [H.sub.2] = span{[dx.sub.3]}, computed for equations (30). According to the results of Section 6, [H.sub.2] defines the first new state coordinate [z.sup.2.sub.1] = [x.sub.3]. The next new state coordinate is its forward shift [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Finally, to complete the span of the 1-forms [dz.sup.2.sub.1] and [dz.sup.1.sub.2] to the cobasis [H.sub.1] of the state space, we add the 1-form [dz.sup.1.sub.1] = [dx.sub.1]. Consequently, the last new state coordinate is [z.sup.1.sub.1] = [x.sub.1]. The state equations in the new coordinates are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (31)

yielding the linear equations

[z.sup.1+.sub.1] = [v.sub.1], [z.sup.1+.sub.2] = [z.sup.1.sub.2] + [v.sub.2], [z.sup.2+.sub.1] = [z.sup.1.sub.2] (32)

after applying the static state feedback, defined by [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Alternatively, one may find the new state coordinates from the sequence of distributions [[DELTA].sub.k]. Compute the tangent map of the state transition map as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (33)

and its kernel K = Ker T f = span {[K.sub.1], [K.sub.2]}, where

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (34)

Next, compute, according to (5), the distribution

[[DELTA].sub.1] = [{T f([D.sub.0])}.sup.-], (35)

where [D.sub.0] = span {[partial derivative]/[partial derivative][u.sub.1], [partial derivative]/[partial derivative][u.sub.2]}. The distribution [D.sub.0] + K is involutive as both K and [D.sub.0] are involutive. Next, observe that the vector field [partial derivative]/[partial derivative][u.sub.1] commutes with the vector fields [K.sub.1] and [K.sub.2] but the vector field [partial derivative]/[partial derivative][u.sub.2] does not respect the distribution K since

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (36)

According to Proposition 1, one cannot, due to (36), express the components of the vector field T f([partial derivative]/[partial derivative][u.sub.2]) in terms of x+ exclusively. Really (see 30),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (37)

Choose another basis for D0 that respects K, for example,

[D.sub.0] = span {[partial derivative]/[partial derivative][u.sub.1], [u.sub.2][partial derivative]/[partial derivative][u.sub.2]} .

Then we have

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (38)

and

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (39)

Since [[DELTA].sub.2] = [[DELTA].sub.N], its basis vector fields span the complete tangent bundle T(M x U), and we have to find only one vector field [[XI].sup.2.sub.1], which does not belong to [[DELTA].sub.1] and commutes with [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] and [[XI].sup.1.sub.2] = [x.sub.2] [partial derivative]/[partial derivative][x.sub.2]. We may take, for example, [[XI].sup.2.sub.1] = [partial derivative]/[partial derivative][x.sub.3]. Consequently, we get the new commutative basis of [[DELTA].sub.2] as [[XI].sup.1.sub.1], [[XI].sup.1.sub.2] and [[XI].sup.2.sub.1]; those canonical parameters are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (40)

yielding the new state equations:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (41)

However, according to the results of Section 6, equations (41) are not yet linearizable via static state feedback, and one needs an additional coordinate transformation.

The additional coordinate transformation is defined below according to the method suggested in [3]. Starting with the coordinates {[X.sub.1.sup.1], [X.sup.1.sub.2], [X.sub.1.sup.2]}, define the first set [[??].sup.2] of the new coordinates [??] as [[??].sup.2.sub.1] = [X.sup.2.sub.1] = [x.sub.3]. The second set [[??].sup.1] of the new coordinates is defined in the following way. First we take = [[??].sup.1.sub.2] = [([[??].sup.1.sub.2]).sup.+], and complete the set of new coordinates by [[??].sup.1.sub.1] = [X.sup.1.sub.1], leading to the transformation

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (42)

The new state equations are

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (43)

Example 2. Consider the model of a truck trailer [15]:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII], (44)

where [x.sub.1] is the angle between the truck and the trailer, [x.sub.2] is the angle between the trailer and the road, [x.sub.3] and [x.sub.4] are the vertical and horizontal positions of the rear end of the trailer, respectively, L is the length of the trailer, l is the length of the truck, t is the sampling interval, and v is the velocity of the truck. The input parameter u is the steering angle. We are going to check, using Theorems 5 and 2, respectively, whether system (44) is static state feedback linearizable. Compute first, for (44),

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

and find K = kerT f, spanned by the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Next compute the distribution [[DELTA].sub.1], spanned by the vector field

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (45)

In order to simplify the computations, we multiply the vector field (45) by the constant l/tv, obtaining [[DELTA].sup.+.sub.1] = span{[[XI].sup.+.sub.1], where [[XI].sub.1] = [partial derivative]/[partial derivative][x.sub.1]. Obviously, the distribution [[DELTA].sub.1] is involutive. Applying the tangent map T f to the distribution [[DELTA].sub.1] = span{[partial derivative]/[partial derivative][x.sub.1]}, we obtain

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. (46)

The distribution [[DELTA].sup.+.sub.2] (and therefore, also [[DELTA].sub.2]) is not involutive and therefore, according to Theorem 5, system (44) is not static state feedback linearizable.

Alternatively, one may compute the codistributions: [H.sub.1] = span{[dx.sub.1], [dx.sub.2], [dx.sub.3], [dx.sub.4]}, [H.sub.2] = span{[dx.sub.2], [dx.sub.3], [dx.sub.4]}, and

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII].

Again, it is easy to check, for example via the Frobenius Theorem, that the codistribution [H.sub.3] is not integrable, and therefore according to Theorem 2, system (44) is not static state feedback linearizable.

8. CONCLUSION

In this paper the problem of static state feedback linearizability of a discrete-time nonlinear control system has been addressed. The paper focuses on establishing the explicit relationship between the two sets of necessary and sufficient linearizability conditions. The first set of conditions is formulated in terms of involutivity of an increasing sequence of certain distributions of vector fields. The second set of conditions is formulated in terms of integrability of the decreasing sequence of the codistributions of differential oneforms. We have demonstrated that the distributions used in the first set of conditions are the maximal annihilators of the corresponding codistributions used in the second set of conditions. Moreover, two methods have been compared from the point of view of computational complexity. Note that the new state coordinates are the canonical parameters of the commutative basis vector fields (with specific properties) of the distribution [[DELTA].sub.N] and also the integrals of the corresponding codistributions [H.sub.1]. The method based on one-forms is easier than that based on vector fields, since in the latter case the new state coordinates are computed in two steps. At the first step one has to find canonical parameters of an arbitrary commutative basis vector field of the distribution AN, which actually corresponds to finding the integrals of the corresponding codistribution [H.sub.1]. At the second step one modifies the integrals of [H.sub.1] to get the integrals with specific properties.

On kasitletud diskreetse ajaga mittelineaarsete juhtimissusteemide lineariseerimise voimalikkust staatilise olekutagasisidega. Pohitahelepanu on pooratud kahe tarvilike ja piisavate tingimuste kogumi omavaheliste seoste uurimisele. Esimene neist on esitatud juhtimissusteemi defineeritud vektorvaljadega genereeritud jaotuste jada involutiivsuse kaudu. Teine kogum esitub juhtimissusteemi defineeritud diferentsiaalsete 1-vormidega genereeritud kaasjaotuste jada integreeruvuse kaudu. Artiklis on toestatud, et esimese tingimuste kogumi puhul esinevad jaotused on teise tingimuste kogumi vastavate kaasjaotuste maksimaalsed annihilaatorid. On vorreldud molemat liiki tingimuste kontrolli ja vaadeldud uute olekukoordinaatide leidmist nende rakendusliku lihtsuse seisukohast arvutialgebra susteemis Mathematica. On esitatud algoritmid lineariseerimiseks vajaliku koordinaatteisenduse leidmiseks. Teoreetilisi tulemusi illustreerivad kaks naidet.

doi: 10.3176/proc.2011.2.07

ACKNOWLEDGEMENTS

This work was supported by the Estonian Science Foundation (grant No. 6922). Preliminary results were partly presented at the European Control Conference, 2-5 July 2007, Kos, Greece.

REFERENCES

[1.] Jayaraman, G. and Chirek, H. J. Feedback linearization of discrete-time systems. In Proceedings of the 32nd IEEE Conference on Decision and Control. San Antonio, Texas, 1993, 2972-2977.

[2.] Nam, K. Linearization of discrete-time nonlinear systems and a canonical structure. IEEE Trans. Autom. Contr., 1989, 34, 119-122.

[3.] Grizzle, J. W. Feedback linearization of discrete time systems. Lecture Notes in Control and Inform. Sci., 1986, 83, 273-281.

[4.] Nijmeijer, H. and van der Schaft, A. J. Nonlinear Dynamical Control Systems. Springer Verlag, New York-Berlin- Heidelberg, 1990.

[5.] Aranda-Bricaire, E., Kotta, U., and Moog, C. H. Linearization of discrete time systems. SIAM J. Control Optim., 1996, 34(6), 1999-1023.

[6.] Jakubczyk, B. Feedback linearization of discrete-time systems. Syst. Contr. Lett., 1987, 9, 411-416.

[7.] Simoes, C. and Nijmeijer, H. Nonsmooth stabilizability and feedback linearization of discrete-time nonlinear systems. Int. J. Robust Nonlinear Control, 1996, 6, 171-188.

[8.] Monaco, S. and Normand-Cyrot, D. Normal forms and approximated feedback linearization in discrete time. Syst. Contr. Lett., 2006, 55, 71-80.

[9.] Grizzle, J. W. A linear algebraic framework for the analysis of discrete-time nonlinear systems. SIAM J. Control Optim., 1993, 31, 1026-1044.

[10.] Aranda-Bricaire, E. Computer algebra analysis of discrete-time nonlinear systems. In Proceedings of the 13th IFAC World Congress. San Francisco, USA, 1996, 306-309.

[11.] Gunter, N. M. Integration of the First Order Partial Differential Equations. Gosudarstvennoe Tekhniko- Teoreticheskoe Izdatel'stvo, Leningrad, Moscow, 1934 (in Russian).

[12.] Kotta, U. and Tonso, M. Linear algebraic tools for discrete-time nonlinear control systems with Mathematica. Lecture Notes in Control and Inform. Sci., 2003, 281, 195-205.

[13.] RotfuB, R. and Zeitz, M. A toolbox for symbolic nonlinear feedback design. In Proceedings of the 13th IFAC World Congress. San Francisco, USA, 1996, 283-288.

[14.] deJager, B. The use of symbolic computation in nonlinear control: is it usable? IEEE Trans. Autom. Control, 1995, 40, 84-89.

[15.] Tanaka, K. and Sano, M. A robust stabilization problem of fuzzy control systems and its application to backing up control of a truck trailer. IEEE Trans. Fuzzy Syst., 1994, 2(2), 119-134.

Tanel Mullari *, Ulle Kotta, and Maris Tonso

Institute of Cybernetics at Tallinn University of Technology, Akadeemia tee 21, 12618 Tallinn, Estonia

Received 4 March 2010, accepted 2 June 2010

* Corresponding author, tanel@parsek.yf.ttu.ee

(1) Note that in [3] and [4] the notation [[DELTA].sub.k+1] = T f([D.sub.k]) is used, which may cause confusion as the distribution T f([D.sub.k]) belongs to the tangent bundle T [M.sup.+], and must be shifted backward to T M to obtain the distribution [[DELTA].sup.k+1].

(2) Some of the vector fields T f([[XI].sup.k-1]) may be zero since the corresponding vector fields [[XI].sup.k-1] [member of] K.

(3) In [5] the condition is given as [[omega].sup.+] [member of] [H.sub.k]. However, this may yield confusion because the one-forms [[omega].sup.+] (as the forward shifts of the one-forms [omega] [member of] T M) belong to T [M.sup.+] and the elements of [H.sub.k] belong to T M. Therefore, one has to "bring back" the one-forms [[omega].sup.+] to T M with the help of the tangent map T f.

(4) ProductLog[z] represents the solution for w in z = [we.sup.w].

Gale Copyright:

Copyright 2011 Gale, Cengage Learning. All rights
reserved.