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].