neural network approximation of piecewise continuous functions

NEURAL NETWORK APPROXIMATION OF
PIECEWISE CONTINUOUS FUNCTIONS:
APPLICATION TO FRICTION COMPENSATION
Rastko R. Šelmiæ and Frank L. Lewis
Automation and Robotics Research Institute
The University of Texas at Arlington
7300 Jack Newell Blvd. South
Fort Worth, Texas 76118-7115
Tel. 817-272-5957, fax. 817-272-5989
Email: [email protected]
[email protected]
Soft Computing and Intelligent Systems: Theory and Applications, Chapter 20
Editors N. K. Sinha and M. M. Gupta
Academic Press, London, 2000.
2
ABSTRACT
One of the most important properties of neural nets (NN) for control purposes is the
universal approximation property. Unfortunately, this property is generally proven for
continuous functions. In most real industrial control systems there are nonsmooth
functions (e.g. piecewise continuous) for which approximation results in the literature are
sparse. Examples include friction, deadzones, backlash, and so on. It is found that
attempts to approximate piecewise continuous functions using smooth activation
functions require many NN nodes and many training iterations, and still do not yield very
good results.
Therefore, a novel neural network structure is given for approximation of
piecewise continuous functions of the sort that appear in friction, deadzone, backlash and
other motion control actuator nonlinearities. The novel NN consists of neurons having
standard sigmoid activation functions, plus some additional neurons having a special
class of non-smooth activation functions termed 'jump approximation basis functions'.
Two types of non-smooth jump approximation basis functions are determined- a
polynomial-like basis and a sigmoid-like basis. This modified NN with additional
neurons having 'jump approximation' activation functions can approximate any piecewise
continuous function with discontinuities at a finite number of known points.
Applications of the new NN structure are made to rigid-link robotic systems with
friction nonlinearities. Friction is a nonlinear effect that can limit the performance of
industrial control systems; it occurs in all mechanical systems and therefore is
unavoidable in control systems. It can cause tracking errors, limit cycles, and other
undesirable effects. Often, inexact friction compensation is used with standard adaptive
techniques that require models that are linear in the unknown parameters. It is shown here
how a certain class of augmented NN, capable of approximating piecewise continuous
functions, can be used for friction compensation. A very general friction model is used. In
contrast to standard adaptive control approaches, it is not required using this approach for
the model to be linear in the unknown parameters.
3
1 INTRODUCTION
NN have been used extensively in feedback control systems. When stability proofs are
provided, they rely almost invariably on the universal approximation property for NN [8],
[19], [20], [30], [32], [33], [34]. However, in most real industrial control systems there
are nonsmooth functions (piecewise continuous) for which approximation results in the
literature are sparse [28], [29]. Examples include friction, deadzones, backlash, and so on.
It is found (see subsequent example), that attempts to approximate piecewise continuous
functions using smooth activation functions require many NN nodes and many training
iterations, and still do not yield very good results. Sontag has shown [38] that nonlinear
control systems can be stabilized using two-hidden-layer NN, but not in general using
one-layer NN, due to the requirement for inverting discontinuous mappings in the control
law.
Our main result is an approximation theorem for piecewise continuous functions
or functions with jumps. It is found that to approximate such functions suitably, it is
necessary to augment the standard NN that uses smooth activation functions with extra
nodes containing a certain jump function approximation basis set of nonsmooth activation
functions. Applications of this augmented NN are given in friction compensation of
industrial motion devices.
Friction is a nonlinear effect that can limit the performance of industrial control
systems; it occurs in all mechanical systems and therefore is unavoidable in control
systems. It can cause tracking errors, limit cycles, and other undesirable effects. In order
to design accurate control systems it is necessary to analyze the model of friction and
techniques for its compensation. Friction modeling has been studied by many researchers.
Models of Coulomb friction have been widely used, and there are various techniques for
their compensation [5], [13], [22]. On the other hand, more general friction models given
in [1], [2], [5], [6] are more accurate, but it is much harder to design compensators for
them. Often, inexact friction compensation is used with standard adaptive techniques that
require models that are linear in the unknown parameters [5]. A dynamic friction model is
4
presented in [6]. Observer-based friction compensation for a dynamical friction model is
given in [7], [27].
Robust adaptive friction compensation of the static friction model is given in [16],
and using reinforcement adaptive learning neural networks in [15]. Identification and
compensation of the static friction model using neural networks is given in [11], [39], but
without any closed-loop stability proof or guarantee of bounded weights.
In is shown here how a certain class of augmented NN, capable of approximating
piecewise continuous functions, can be used for friction compensation. The general
friction model given in [2], [5] is used. It is not required for the model to be linear in the
unknown parameters. We show how to design the friction compensator, and provide a
rigorous closed-loop system stability proof that guarantees small tracking error and
bounded NN weights.
2 BACKGROUND
Let S be a compact simply connected set of ℜ n . With map f: S→ ℜ m , define C(S) as the
space such that f is continuous. The space of functions whose r-th derivative is
continuous is denoted by Cr (S), and the space of smooth functions is C∞(S).
By
is denoted any suitable vector norm. When it is required to be specific we
denote the p-norm by
p
. The supremum norm of f(x), over S, is defined as [4]
sup f ( x ) , f: S→ ℜ m .
(2.1)
x∈S
Given A=[aij], B∈ ℜ mxn the Frobenius norm is defined by
A
2
F
= tr (A T A) = ∑ a ij2 ,
(2.2)
i, j
with tr( ) the trace. The associated inner product is <A,B>F=tr(ATB). The Frobenius norm
is compatible with the 2-norm so that Ax
2
≤ A
5
F
x 2.
When x(t)∈ ℜ n is a function of time we use the standard Lp norms. It is said that
x(t) is bounded if its L∞ norm is bounded. Matrix A(t)∈ ℜ mxn is bounded if its induced
matrix ∞-norm is bounded.
2.1
Stability
Consider the nonlinear system
x& = g(x, u, t) , y = h(x, t)
(2.3)
with state x(t)∈ ℜ n . The equilibrium point xe is said to be uniformly ultimately bounded
(UUB) if there exists a compact set S⊂ ℜ n , so that for all x0∈S there exists an ε>0, and a
number T(ε,x0) such that x ( t ) − x e ≤ ε for all t≥t0+T. That is, after a transition period T,
the state x(t) remains within the ball of radius ε around xe .
2.2
Robot Arm Dynamics
The dynamics of an n-link robot manipulator may be expressed in the Lagrange form
[17], [35]
M(q& )&q& + Vm(q, q& )q& + G(q) + F(q& ) + τ d = τ
(2.4)
with q(t)∈ ℜ n the joint variable vector, M(q) the inertia matrix, Vm(q, q& ) the
& the friction. Bounded
coriolis/centripetal matrix, G(q) the gravity vector, and F(q)
unknown disturbances (including unstructured, unmodeled dynamics) are denoted by τd
and the control input torque is τ(t).
Given a desired arm trajectory qd(t)∈ ℜ n , the tracking error is
e(t) = q d (t) - q(t)
(2.5)
r = e& + Λe
(2.6)
and the filtered tracking error is
where Λ=ΛT >0 is a design parameter matrix. Differentiating r(t) the arm dynamics may
be written in terms of the filtered tracking error as
6
Mr& = − Vm r − τ + f + τ d
(2.7)
where the nonlinear robot function is
f(x) = M(q& )&q& d + Vm (q, q& )(q& d + Λe) + G(q) + F(q& ) ,
(2.8)
where
[
]
T
x ≡ q T q& T q Td q& Td &q& Td .
(2.9)
Function f(x) is generally unknown or incompletely known. Define a control input torque
as
τ o = fˆ+ K v r ,
(2.10)
with gain matrix Kv=KvT >0 and f$ (x) an estimate of f(x). The closed-loop dynamics is
given by
~
Mr& = -(K v + Vm ) r + f + τ d ,
(2.11)
where the functional estimation error is
~
f = f − fˆ.
(2.12)
e
e&
−1
−1
= (sI + Λ ) ,
= s(sI + Λ ) ,
r
r
(2.13)
Note that, according to (2.6), one has
e ≤ (sI + Λ )
−1
−1
r , e& ≤ s(sI + Λ ) r .
(2.14)
Using operator gain properties, it follows that
e ≤
r
σ min ( Λ )
,
e& ≤ r ,
(2.15)
with σ min ( Λ ) the minimum singular value of Λ [17].
There are several properties of the robot arm dynamics [17] important in control:
Property 1: M(q) is a positive definite symmetric matrix bounded by
m1I≤M(q)≤m2I , where m1, m2 are known positive constants.
Property 2: Vm (q,q& ) is bounded by Vm (q, q& ) ≤ v b (q ) q& , with vb(q): S→ ℜ1 a
known bound.
& - 2Vm is skew-symmetric.
Property 3: The matrix M
7
Property 4: The unknown disturbance satisfies τ d < b d , where bd is a known
positive constant.
3 FRICTION
Friction is a nonlinear effect that can limit the performance of industrial control systems;
it occurs in all mechanical systems and therefore is unavoidable in control systems. It can
cause tracking errors, limit cycles, and other undesirable effects.
In order to design accurate control systems it is necessary to study models of
friction and techniques for its compensation. Many researchers have studied friction
modeling. Models of Coulomb friction have been widely used, and there are various
techniques for its compensation [5], [13], [22]. On the other hand, more general friction
models [1], [2], [5], [6] are more accurate, but it is much harder to design compensators
for them. Often, inexact friction compensation is used with standard adaptive techniques
that require a model linear in the unknown parameters [5]. This linearity in the parameters
(LIP) requirement is a severe restriction for practical systems.
Dynamic friction model is recently introduced [6] and it models static and
dynamic behavior of the friction effect. Observer-based adaptive friction compensation
for a dynamical friction model is given in [7]. The observer-based controller for
dynamical friction compensation is given in [27].
Robust adaptive friction compensation of the static friction model is given in [16],
and using reinforcement adaptive learning neural networks in [15]. Identification and
compensation of the static friction model using neural networks is given in [11], [39], but
without any closed-loop stability proof or guarantee of bounded weights. We consider
here the static complex friction model introduced in [5], [23]. We do not need LIP
condition. In Section 6 we show how to design the friction compensator, with rigorous
closed-loop system stability proofs.
8
3.1
Friction Model
There are several ways to model friction effects [2]. Static friction models are studied in
[2]. Starting from the simplest case to more general cases one has following models:
Coulomb friction (Figure 3.1a), Coulomb and viscous friction (Figure 3.1b), static and
Coulomb and viscous friction (Figure 3.1c).
F
F
F
velocity
velocity
velocity
(a)
(b)
(c)
Figure 3.1 Friction models (a): Coulomb friction model; (b): Coulomb and viscous
friction model; (c): static, Coulomb and viscous friction model.
A detailed friction model suitable for industrial controller design is given in [5] as
[
]
F(q& ) = α 0 + α 1e − β1 q + α 2 (1 − e − β2 q ) sgn(q& ) ,
&
&
(3.1)
where Coulomb friction is given by α0 [Nm], static friction is (α0 + α1) [Nm], and α2
[Nmsec/rad] represents the viscous friction model. The Stribeck effect is modeled with an
exponential second term in the model (3.1). Figure 3.2 shows the dependence of the
friction force on velocity.
9
F
velocity
Figure 3.2 Stribeck effect, static, Coulomb and viscous friction model.
The model given by (3.1) includes Coulomb friction, viscous friction, static friction, and
negative viscous friction. Justification for using (3.1) is provided by Armstrong’s
experimental results [1]. A static model similar to (3.1) is given in [23] where dynamic
effects are included as well.
One can see that model (3.1) is highly nonlinear and discontinuous at zero. This
makes accurate friction compensation a difficult problem. Note specially that (3.1) is not
linear in the parameters, so that standard adaptive robot control approach cannot be used.
In the given friction model, friction depends only on velocity. Friction can also depend on
position, but this dependence is negligible [1], and is neglected here.
& is a function: S→Rn.
In the n-link robot manipulator dynamics, friction term F(q)
& is uncoupled among the joints, so
Since friction is a local effect, it is assumed that F(q)
that
F(q& ) = [ f1 (q& 1 ) .... f n (q& n )] ,
T
with functions fi, which represent friction terms for each joint given by (3.1).
10
(3.2)
4 NEURAL NETWORK APPROXIMATION OF PIECEWISE
CONTINUOUS FUNCTIONS
NN have been used extensively in feedback control systems. Most applications are ad hoc
with no demonstrations of stability. The stability proofs that do exist rely almost
invariably on the universal approximation property for NN [8], [19], [20], [30], [32],
[33], [34]. However, in most real industrial control systems there are nonsmooth
functions with jumps for which approximation results in the literature are sparse [28],
[29]. Examples include friction, deadzone, backlash, and so on. Though there do exists
some results for piecewise continuous functions, it is found (see subsequent example) that
attempts to approximate jump functions using smooth activation functions require many
NN nodes and many training iterations, and still do not yield very good results.
Therefore, in this section we present our main result: an approximation theorem
for piecewise continuous functions. It is found that to approximate such functions
suitably, it is necessary to augment the standard NN that uses smooth activation functions
with extra nodes containing a certain jump function approximation basis set of
nonsmooth activation functions.
4.1
Background on Neural Networks
The two-layer NN in Figure 4.1 consists of two layers of tunable weights and has a
hidden layer and an output layer. The hidden layer has L neurons, and the output layer has
m neurons. The multilayer NN is a nonlinear mapping from input space ℜ n into output
space ℜ m .
11
1
1
σ
σ
.
..
.
x1
x2
σ
1
2
L
.
..
y1
ym
WT
VT
xn
Figure 4.1 Two-layer NN.
The NN output y is a vector with m components that are determined in terms of the n
components of the input vector x by the equation
 L

 n

y i = ρ ∑ w il σ ∑ v lj x j + v l 0  + w i 0  ; i=1, 2, ..., m.
 l =1

 j=1



(4.1)
where σ(⋅) are the hidden layer activation functions, ρ(⋅) are the output layer activation
functions and L is the number of hidden-layer neurons. The first-layer interconnection
weights are denoted v
j
and the second-layer interconnection weights by wi . The
threshold offsets are denoted by v 0, wi0.
By collecting all the NN weights v j, wi into matrices VT, WT, the NN equation
with linear output activation function ρ(⋅), may be written in terms of vectors as
y = W T σ(V T x ) .
(4.2)
The thresholds are included as the first column of the weight matrices WT, VT; to
accommodate this, the vector x and σ(⋅) need to be augmented by placing a ‘1’ as their
first element (e.g. x=[1 x1 x2 ... xn]T). In this equation, to represent (4.1) one has sufficient
generality if σ(⋅) is taken as a diagonal function from ℜ L to ℜ L , that is σ(z)=diag{σ(z )}
for a vector z=[z1 z2 ... zL]T∈ ℜ L .
12
There are many different ways to choose the activation functions σ(⋅), including
sigmoid, hyperbolic tangent, etc. Figure 4.2 shows the sigmoid activation function,
σ(x) =
1
,
1 + e - βx
(4.3)
for different parameters β.
1
0.9
β=0.5
0.8
0.7
0.6
0.5
0.4
0.3
β=3
0.2
0.
1
0
10
β=1
-5
0
5
1
0
Figure 4.2 Sigmoid function for β=0.5, 1, 3.
4.2
NN Approximation of Continuous Functions
Many well-known results say that any sufficiently smooth function can be approximated
arbitrarily closely on a compact set using a two-layer NN with appropriate weights [10],
[12], [14]. For instance, Cybenko’s result [10] for continuous function approximation
says that given any function f∈C(S), with S compact subset of ℜ n , and any ε > 0, there
exists a sum G(x) of the form
L
G ( x ) = ∑ α k σ(m Tk x + n k ) ,
k =0
(4.4)
for some mk∈ ℜ n , nk∈ ℜ , αk∈ ℜ , such that
G ( x ) − f ( x) < ε
(4.5)
for all x∈S. Function σ(⋅) could be any continuous sigmoidal function [10]. This result
shows that any continuous function can be approximated arbitrarily well using a linear
combination of sigmoidal functions. This is known as the NN universal approximation
property.
13
4.3
NN Approximation of Jump Functions
There are few results for approximation of nonsmooth functions [28], [29]. Here are
presented our main results for approximation of piecewise continuous functions or
functions with jumps. It is found that to approximate such functions suitably, it is
necessary to augment the set of functions σ(⋅) used for approximation. In addition to
continuous sigmoidal functions, one requires a set of discontinuous basis functions. We
propose two suitable sets- the “polynomial jump approximation functions”, and the
“sigmoidal jump approximation functions”.
Theorem 1 (Approximation of Piecewise Continuous Functions)
Let there be given any bounded function f: S→ ℜ which is continuous and
analytic on a compact set S⊂ ℜ , except at x=c where the function f has a finite jump and
is continuous from the right. Then, given any ε>0, there exists a sum F of the form
N
F( x) = g( x) + ∑ a k f k ( x − c) ,
(4.6)
F( x ) − f ( x ) < ε
(4.7)
k=0
such that
for every x in S, where g is a function in C∞(S), and the polynomial jump
approximation basis functions fk are defined as
0 , for x < 0

f k (x) =  x k
 k ! , for x ≥ 0 .
(4.8)
Proof:
Let f be a smooth bounded function on S, except at x=c, where the function has a
finite discontinuity. Let g be an analytic function in C∞(S), such that f(x)=g(x) for all x<c
as shown in Figure 4.3.
14
f(x)
f(x)
g(x)
c
x
Figure 4.3 Functions f and g.
Then for a≥c and x≥c, expand f and g into Taylor series as
f ' (a )
f '' (a )
f ( N ) (a )
2
f ( x ) = f (a ) +
(x − a) +
( x − a ) + ... +
( x − a ) N + R fN ( x , a ) , (4.9)
1!
2!
n!
g ' (a )
g '' (a )
g ( N ) (a )
2
g ( x ) = g (a ) +
(x − a) +
( x − a ) + ... +
( x − a ) N + R gN ( x , a ). (4.10)
1!
2!
n!
Combining these two equations yields
f ' (a ) − g ' ( a )
f '' (a ) − g '' (a )
f ( x) = g( x) + f (a ) − g(a ) +
(x − a ) +
(x − a ) 2 +...
1!
2!
.... +
f ( N ) (a ) − g ( N ) (a )
( x − a ) N + R fN ( x , a ) − R gN ( x , a ).
N!
(4.11)
Letting a→c, and knowing that the first N derivatives of g are continuous and that f is
continuous from the right, results in
f ( x) = g( x) + f (c) − g(c) +
.... +
f ' ( c) − g ' ( c)
f '' (c) − g '' (c)
( x − c) +
( x − c) 2 +...
1!
2!
f ( N ) (c) − g ( N ) (c )
( x − c) N + R fN ( x , c) − R gN ( x , c) ,
N!
(4.12)
for x≥c. Therefore one has
f ( x ) = g ( x ) + a 0 f 0 ( x − c) + a 1f 1 ( x − c) + ... + a N f N ( x − c) + R fN ( x , c) − R gN ( x , c) .(4.13)
Since R fN ( x, c) and R gN ( x , c) go to zero as N approaches infinity, the proof is complete.
15
Remark: We use the terminology ‘basis set’ for (4.8) somewhat loosely. Note that
fk(x-c) is a basis set for approximation of functions with discontinuities at a specified
value x=c.
The next results follow directly from the foregoing proof.
Corollary 1
Given the hypotheses of Theorem 1, define the jump approximation error as
E = F(x ) − f ( x) . Then,
f ( N +1) (d )
g ( N +1) (d )
N +1
E = R ( x , c) − R ( x , c) =
( x − c) −
( x − c) N +1 ,
( N + 1)!
( N + 1)!
N
f
N
g
(4.14)
where d is between c and x. Therefore, the error is bounded by
E≤
( x − c) ( N +1)
sup f ( N +1) (d ) − g ( N +1) (d ) ,
( N + 1)!
d
(4.15)
where d is between c and x.
Corollary 2
If the function f is continuous from the left, then fk is defined as
0 , for x ≤ 0

f k (x) =  x k
 k ! , for x > 0 .
(4.16)
It is desired now to replace the polynomial jump approximation basis functions fk
by another set of basis functions that are bounded. This yields a result more useful for
closed-loop feedback control purposes. To accomplish this, some technical lemmas are
needed.
Lemma 1
m
 m
i
k
 ( −1) ( − i ) = 0

∑  i
i=0
16
(4.17)
 m
for every m > k, where   is defined as usual
i 
 m
m!
  =
.
 i  i!(m − i)!
Proof:
We will prove this expression using regressive mathematical induction.
a) For k=1 (4.17) is simplified into
m
 m − 1
 m
i
(−1) i (−i)



(
1
)
(
i
)
m
−
−
=
∑
∑
i 
i
i=0 
i =1 


m
 m − 1
(−1) i
= − m∑ 
i =1  i − 1 
m
(4.18)
m −1 m − 1


(−1) j
= m∑ 
j
j= 0 

m −1
= m(1 − 1) = 0
where j=i-1. Therefore for k=1 expression (4.17) is true.
b) Assume expression (4.17) is true for some k=p, k=p-1, k=p-2, ..., k=1. One needs to
show it is true for k=p+1.
For k=p+1,
 m
(−1) i ( − i) p +1
i=0 

m
m(m − 1)...(m − i + 1)
(−1) i ( − i) p (−i)
=∑
i
!
i =0
m
∑  i
m
= −∑
i=0
(4.19)
m(m − 1)...(m − i + 1)
(−1) i ( − i) p
(i − 1)!
Putting j=i-1 and knowing that the term for i=0 is equal to zero, using binomial formula
one can transform a (4.19) into
17
m −1
− m∑
j= 0
(m − 1)...(m − j)
(−1) j−1 ( − j + 1) p
j!
p
m −1 m − 1
p


(−1) j ∑  ( − j) k
= m ∑ 
j= 0  j
k =0  k 

p

 p   m −1  m − 1
(−1) j ( − j) k  = 0
= m ∑   ∑ 
k = 0  k   j= 0  j


(4.20)
Expression (4.20) is equal to zero for every m-1>k, k=0, 1, ..., p because of the induction
assumption. Therefore, (4.17) is true for k=p+1.
Lemma 2
Any linear combination of polynomial jump approximation functions fk,
N
∑a
k=0
f ( x) , can be represented as
k k
N
N
k=0
k=0
∑ a k f k ( x) = z( x) + ∑ b k ϕ k ( x) ,
(4.21)
where the ϕk (sigmoid jump approximation functions) are defined as
0 , for x < 0
ϕ k ( x) = 
−x k
(1 − e ) , for x ≥ 0 ,
(4.22)
and where z(x) is a function which belongs to CN(S).
Proof:
It is enough to prove that there exist coefficients bk, such that first N derivatives of
the expression
N
∑a
k=0
N
k f k ( x) − ∑ b k ϕ k ( x)
(4.23)
k=0
are continuous.
For x<0, expression (4.23) has the constant value 0. Therefore one must show that
there exist coefficients bi, such that for x>0, first N derivatives of the expression (4.23)
are equal to zero.
18
For x>0 one has
N
N
k =0
k =0
∑ a k f k ( x) − ∑ b k ϕ k ( x)
(4.24)
N
xk
= ∑ak
− ∑ b k (1 − e − x ) k .
k ! k =0
k =0
(4.25)
N
Using the binomial formula one can expand expression (4.25) into
N
∑ak
k =0
N
 k  k

xk
− ∑ b k ∑   ( − e − x ) i 
k ! k =0  i=0  i 

N
 k  k

xk
= ∑ak
− ∑ b k ∑   ( −1) i (e − ix ) 
k ! k =0  i=0  i 
k =0

(4.26)
N
N
∞
 k  k
( − ix) j 
xk
− ∑ b k ∑   ( −1) i ∑

k ! k =0  i=0  i 
j! 
j= 0
(4.28)
j
∞
 k
i
j x
  ( −1) ∑ ( − i)
j!
i 
j= 0
(4.29)
N k ∞
 k
xk
xj
− ∑ ∑ ∑ b k   ( −1) i ( − i) j
k ! k = 0 i = 0 j= 0
j!
i 
(4.30)
∞ N k
 k
xk
xj
− ∑ ∑ ∑ b k   ( −1) i ( − i) j
k ! j= 0 k = 0 i = 0
j!
i 
(4.31)
∞ N m
 m
xk
xk
.
− ∑ ∑ ∑ b m   ( −1) i ( − i) k
k ! k = 0 m= 0 i = 0
k!
i 
(4.32)
N
= ∑ak
k =0
N k
xk
= ∑ak
− ∑ ∑ bk
k ! k =0 i=0
k =0
N
N
= ∑ak
k =0
N
= ∑ak
k =0
N
= ∑ak
k =0
(4.27)
In order that first n derivatives of expression (4.23) be zero, the coefficients of (4.32) of
xk for k=0, 1, ...N should be zero. Therefore, one requires
N m
 m
a k − ∑ ∑ b m   ( −1) i ( − i) k = 0 ,
i 
m= 0 i = 0
(4.33)
N
m
 m
a k − ∑ b m ∑   ( −1) i ( − i) k = 0 .
m= 0
i=0  i 
(4.34)
19
m
Using Lemma 1 which says that
 m
i
k
 ( −1) ( − i ) = 0 for every m>k, one

∑  i
i=0
obtains
k
m
 m
a k − ∑ b m ∑   ( −1) i ( − i ) k = 0
m=0
i=0  i 
(4.35)
k
k −1
m
 k
 m
a k − b k ∑   ( −1) i ( − i ) k − ∑ b m ∑   ( −1) i ( − i ) k = 0
i=0  i 
m =0
i=0  i 
(4.36)
for k=1, 2, ..., N, or
for k=1,2,...,N. Therefore, one obtains the recurrent relation for coefficients bk ,
k −1
m
 m
a k − ∑ b m ∑   ( −1) i ( − i) k
i=0  i 
m =0
bk =
k
 k
i
k
  ( −1) ( − i )
∑
i=0  i 
(4.37)
for k=1, 2, ..., N, and with b0=a0.
The next main result provides a set of bounded jump approximation basis
functions that is extremely useful for feedback control purposes.
Theorem 2 (Approximation Using Sigmoid Basis Functions)
Let there be given any bounded function f: S→ ℜ which is continuous and
analytic on a compact set S, except at x=c where function f has a finite jump and is
continuous from the right. Then, given any ε>0, there exists a sum F of the form
N
F( x) = g( x) + ∑ a k ϕ k ( x − c) ,
(4.38)
F( x ) − f ( x ) < ε
(4.39)
k=0
such that
for every x in S, where g is a function in CN(S), and the sigmoid jump approximation
basis functions ϕk are defined as
20
0 , for x < 0
ϕ k ( x) = 
−x k
(1 − e ) , for x ≥ 0 .
(4.40)
Proof:
According to Theorem 1 there exists a sum F of the form
N
F( x) = g( x) + ∑ a k f k ( x − c) ,
(4.41)
F(x ) − f (x ) < ε .
(4.42)
k=0
such that
Using Lemma 2
N
N
k=0
k =0
∑ a k f k ( x) = z( x) + ∑ b k ϕ k ( x) ,
(4.43)
one obtains the result.
Theorem 2 says that any bounded function with a finite jump can be approximated
arbitrary well by a sum of a function with continuous first N derivatives, and a linear
combination of jump basis functions ϕk. Functions ϕk for k=0, 1, 2, 3 are shown in Figure
4.4.
21
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
-3
-2
-1
0
1
2
3
4
0
-3
5
-2
-1
0
ϕ0(x)
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
-2
-1
0
1
2
3
2
3
4
5
ϕ1(x)
1
0
-3
1
4
0
-3
5
-2
-1
0
ϕ2(x)
1
2
3
4
5
ϕ3(x)
Figure 4.4 Sigmoid jump approximation functions.
Using the known result of Cybenko for continuous function approximation, one can
formulate the following result for approximation of functions with a finite jump.
Theorem 3 (General Approximation Result)
Let there be given bounded function f: S→ ℜ which is continuous and analytic on
a compact set S, except at x=c where function f has a finite jump and is continuous from
the right. Given any ε > 0, there exists a sum F of the form
L
N
k =0
k =0
F( x ) = ∑ α k σ(m k x + n k ) + ∑ a k ϕ k ( x − c) ,
(4.44)
F( x ) − f ( x ) < ε
(4.45)
such that
for every x in S, where σ(x) is a sigmoid function, e.g. (4.3), and the sigmoidal jump
approximation functions ϕk are defined as (4.40).
22
Proof:
Using Theorem 2 and applying Cybenko’s result to function g∈CN(S) one obtains
expression (4.44).
Similarly as in the Theorem 2 it can be shown that instead of the sigmoidal jump
approximation functions, one can use either
0 , for x < 0

ϕ k ( x) =  1 − e − x  k
,
 1 + e − x  , for x ≥ 0

(4.46)
or jump basis functions based on the hyperbolic tangent
0 , for x < 0

ϕ k ( x) =  e x − e − x  k
 e x + e − x  , for x ≥ 0 .

(4.47)
5 AUGMENTED MULTILAYER NN FOR JUMP FUNCTION
APPROXIMATION
Here are presented the structure and training algorithms for an augmented multilayer NN
that is capable of approximating functions with jumps, provided that the points of
discontinuity are known. Since the points of discontinuity are known in many nonlinear
characteristics in industrial motion systems (e.g. the friction model is discontinuous at
zero, the deadzone inverse is discontinuous at zero, etc.), this augmented NN is a useful
tool for compensation of parasitic effects and actuator nonlinearities in industrial control
systems.
23
5.1
Structure of Augmented Multilayer NN
The augmented multilayer NN shown in Figure 5.1 is capable of approximating any
piecewise continuous function f: S⊂ ℜ → ℜ , provided that the points of discontinuity are
known.
1
1
σ
V 1T
σ
..
..
x
σ
2
W 1T
y
L
ϕ1
V 2T
ϕ2
..
.
ϕN
c
c
1
1
c
W 2T
Figure 5.1 Augmented multilayer NN.
Comparing with the standard NN given in Figure 4.1, one can see that the augmented NN
has two sets of hidden activation functions, σ and ϕi; two sets of weights for the first
layer, V1T and V2T; and two set of weights for the second layer, W1T and W2T. With this
structure of NN, one has
L
(
)
N
(
)
y = ∑ w11l σ v1l1x1 + v1l 0 + ∑ w12l ϕl vl21x1 + v l20 + w10
l =1
l =1
(5.1)
If the hidden layer activation functions σ are defined as the sigmoids (4.3), and one takes
the jump basis functions ϕi in (4.40), then using Theorem 3 for approximation of jump
functions one can see that the augmented NN is capable of approximating any continuous
function with a finite jump, provided that the jump location is known.
24
The standard NN tuning algorithms must be modified since the structure of the
NN is changed. The set of second-layer weights, W1T and W2T are trained as in usual
multilayer NN. Both of them are treated the same way, including threshold weights. The
first-layer weights V1T are updated as in usual NN (e.g. by a backpropagation approach).
Weights V2T and the threshold c are fixed, and correspond to the known point of
discontinuity.
5.2
Augmented NN for Friction Compensation
In order to apply the augmented NN for friction compensation, it is necessary to estimate
functions like (3.2), which is a map from ℜ n to ℜ n . Since the friction terms in most
industrial motion systems are uncoupled among the joints and can be presented as (3.2),
the augmented multilayer NN in Figure 5.2 can be used for friction compensation in
multivariable systems. This augmented NN is capable of approximating vector functions
like (2.8).
25
1
1
σ
V 1T
σ
..
..
x1
x2
.
.
.
xn
σ
1W T
1
2
..
.
y1
ym
L
ϕ1
V 2T
c1
1
c1
c1
ϕ2
..
.
ϕN
..
.
W 2T
1
ϕ1
1
cM
ϕ2
..
.
ϕN
M
Figure 5.2 Augmented multilayer NN used for friction compensation.
The upper part of the NN in Figure 5.2 is the standard NN for approximating
continuous vector functions. In addition, there are M additional sets of nodes for jump
approximation. The number M depends on the number of points where the function has
jumps and the number of inputs n. In fact,
n
M = ∑ νi ,
i =1
(5.2)
where n is the number of inputs, and νi is the number of discontinuities in the i-th input
(coordinate). For instance, for the two-link robot arm one has M=2 because of friction
discontinuities at zero velocities in each of the two links. The fixed values of the bias
26
weights ci are the locations of the jump points. Similarly as in the standard NN case, the
output of the NN is given in a matrix form as
T
T
T
y = W1T σ ( V1 x) + W2 ϕ ( V2 x) ,
where
[ ]
W1T = w 1il ,
[ ]
W2T = w i2l ,
[ ]
V1T = v1lj ,
(5.3)
[ ]
V2T = v l2j . In order to include
thresholds in the matrix form, matrices W1T, W2T, V1T, V2T are augmented in the same
manner as in section 4.1, so that vector activation functions are defined as σ(ω)=[1 σ(ω1)
σ(ω2) ... σ(ωL)]T, ϕ(ω)=[1 ϕ1(ω1) ϕ2(ω2) ... ϕΝ(ωN) ϕ1(ωN+1) ϕ2(ωN+2) ... ϕΝ(ω2N) ...
ϕΝ(ωNM)]T.
For friction compensation, for instance in a robot arm with two joints, a function
(2.8) which includes the friction term (3.2) needs to be approximated. Function f maps a
simply connected set of R10 to R10, and depends on q 1 , q& 1 , q 2 , q& 2 , q1d , q 2 d , q& 1d , q& 2 d ,
&&
q 1d , &&
q 2 d , and is discontinuous at q& 1 =0 and at q& 2 =0. Therefore, in Figure 5.2 one has
M=2, and values of weights V2T should be selected such that the weights between q& 1
input and the first N activation functions ϕ1(ω1) ϕ2(ω2) ... ϕΝ(ωN), be set to one. The same
is with weights V2T between q& 2 input and next N activation functions ϕ1(ωN+1) ϕ2(ωN+2)
... ϕΝ(ω2N). All other weights in V2T are set to zero. Threshold weights in V2T are set to
zero, since discontinuity occurs in zero.
5.3
Simulation of the Augmented Multilayer NN
Here are presented some simulation results that compare the approximation capabilities
of the standard NN in Figure 4.1, and our augmented NN in Figure 5.1. Both NN have
L=20 hidden nodes, both are trained for the same number of iterations, and the
augmented NN has two additional jump approximation nodes. Two samples of jump
functions are chosen. Both NN are first trained to approximate the discontinuous function
defined as y=sin(x) for x<-1, else y=1+sin(x). The results are shown in Figure 5.3 (a) and
(b). Next, the function defined as y=x for x<0, else y=0.5x+1, was approximated. The
results are shown in Figure 5.4 (a) and (b).
27
2
2
1.5
1.5
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-3
-2
-1
0
1
2
-1
-3
3
-2
-1
(a)
0
1
2
3
(b)
Figure 5.3 Approximation of jump functions using standard NN (a), and using augmented
NN (b); NN function (full), desired function (dash).
2
3
1.5
2
1
1
0.5
0
-0.5
0
-1
-1
-1.5
-2
-2
-1
0
1
-2
-2
2
(a)
-1
0
1
2
(b)
Figure 5.4 Approximation of jump functions using standard NN (a), and using augmented
NN (b); NN function (full), desired function (dash).
From this simulation it is obvious that the NN augmented by jump approximation
functions has significantly better performance in approximating discontinuous functions,
and that it should be a very powerful tool for friction compensation. In this simulation,
the modified NN has only two jump nodes. Two or three jump nodes are usually enough
in practical industrial applications.
28
6 NN CONTROLLER
There are numerous papers employing NN in robot control, but for the most part stability
proofs are omitted and they rely on ad hoc design and simulation studies. Several
researchers have studied NN control and managed to prove stability [8], [19], [26], [30],
[31], [32], [33]. Here is presented a NN robot controller based on a filtered-error
approach and employing a NN to approximate the unknown nonlinear functions (2.8) in
the robot arm dynamics. A serious problem in using adaptive controllers in robotics, the
requirement for linearity in the unknown system parameters, is overcome here using the
universal approximation property of NN [3], [10], [12], [13]. In Section 4 and 5 it has
been shown how augmented NN can be used for approximation of piecewise continuous
functions. The main result of this Section is the controller presented in Figure 6.1 based
on the results of Lewis and Yesildirek [17], [18], [19], [20], but modified for friction
compensation. Instead of requiring knowledge of the system structure, as in adaptive
control, a NN is used to approximate the unmodeled dynamics. The use of the augmented
NN in Figure 5.2 gives the controller much better performance if there is significant
unknown friction, since friction is discontinuous at zero.
In order to prove stability of the overall system, some mild assumptions are
required.
Assumption 1 (Bounded Reference Trajectory). The desired trajectory is
bounded so that
q d ( t)
q& d ( t ) ≤ q B ,
&&
q d ( t)
(6.1)
with a qB a known scalar bound.
Lemma 3 (Bound on NN Input x). For each time t, x(t) is bounded by
x ≤ c1 + c 2 r ≤ 2q B + c 0 r (0) + c 2 r ,
29
(6.2)
for computable positive constants c0, c1, c2.
Proof:
The solution of LTI system (2.6) with the initial value vector q(t0) is
t
e( t ) = e 0 ε − Λ ( t − t 0 ) + ∫ ε − Λ ( t − τ ) r ( τ)dτ ,
∀t ≥ t 0
(6.3)
t0
where e0=qd(t0)- q(t0). Thus,
e ≤ e0 +
r
σ min (Λ )
,
(6.4)
with σmin(Λ) the minimum singular value of Λ. The NN input can be written as
q 
& 
q 
x = q d  =
 
q& d 
q&& 
 d
 − e  q d 
 & 

 − r + Λe   q d 
 qd  +  0  .
  

 q& d   0 
 0
 q&&
d
  

(6.5)
Then a bound can be given as
x ≤ (1 + σ max (Λ )) e + 2q B + r

σ (Λ ) 
1
≤ {[1 + σ max (Λ )] e 0 + 2q B } + 1 +
+ max
r
 σ min (Λ) σ min (Λ ) 
= c1 + c 2 r
(6.6)
with
c1 = [1 + σ max (Λ)] e 0 + 2q B
c2 = 1 +
σ (Λ)
1
+ max
.
σ min (Λ ) σ min (Λ )
(6.7)
(6.8)
Now from (2.6) one has e < r / σ min ( Λ ) for all t, whence one obtains that
c0 =
1 + σ max ( Λ )
.
σ min ( Λ )
30
(6.9)
6.1
NN Approximation and the Nonlinearity in the Parameters Problem
Nonlinear robot function (2.8) is a discontinuous function due to friction. Using the
universal approximation property of NN, and our Theorem 3 for approximation of jump
functions, there is a two-layer NN such that
T
T
T
f ( x) = W1T σ ( V1 x) + W2 ϕ( V2 x) + ε ,
with the approximation error bounded on a compact set by
(6.10)
ε < ε N , with ε N a known
bound. W1, W2, V1, V2 are ideal target weights that give good approximation to f(x); they
are unknown. All that is required here is that they exist; it is not even required for them to
be unique.
$ , W
$ , V
$ , V
$ as estimates of the ideal NN weights, which are given by
Define W
1
2
1
2
the NN tuning algorithms. Since the weights V2T are given by the designer depending on
ˆT . Define estimation error as
the location of the jumps, then V2T = V
2
~
~
~
$ , W
$
$
W1 = W1 − W
1
2 = W2 − W2 , V1 = V1 − V1 ,
(6.11)
and the approximation of nonlinear function (2.8) as
$ T σ( V
$ T x) + W
$ T ϕ ( V T x) .
f$ ( x) = W
1
1
2
2
(6.12)
Let Z be the matrix of all the NN weights
W1 0 0 
Z ≡ 0 W2 0  .
0 0 V1 
(6.13)
Note that weights V2 are not included in 6.13, since they are known.
Assumption 2 (Bounded Ideal Target NN Weights) . On any compact subset of
ℜ n , the ideal NN weights are bounded so that
Z
F
≤ ZB ,
(6.14)
with ZB known.
Proceeding as in [20], one can define the hidden-layer output error for a given x as
31
~ = σ ( V T x) − σ ( V
$ T x) .
σ
1
1
(6.15)
~T
~T 2
ˆT x ) + σ′(V
ˆT x )V
σ(V1T x ) = σ(V
1
1
1 x + O( V1 x ) ,
(6.16)
Using a Taylor series one has
~
where σ ′ denotes the first derivative, and O(V1T x ) 2 represents higher order terms. The
~
~ which is nonlinear in V
importance of this equation is that it replaces σ
1 , by an
~
$ T x ) is easily
expression linear in V1 plus higher order terms. The Jacobian σ ′(V
1
$ .
computable in terms of measured signals x(t) and the current weights V
1
It can be shown (see [20]) that the higher-order terms in (6.16) are bounded by
~
~
~
O(V1T x ) 2 ≤ c 3 + c 4 q B V1 + c 5 V1 r ,
(6.17)
F
F
for some constants c3, c4, c5.
6.2
Controller Structure and Error System Dynamics
The structure of the NN controller is shown in Figure 6.1. Using (6.14) control input is
$ T σ( V
$ x) + W
$ ϕ ( V x) + K r − v ,
τ = τ0 − v = W
1
1
2
2
v
T
T
T
(6.18)
where v is robustifying term, and τ0 is defined by (2.10). The closed loop error dynamics
is given by
T
T
T
Mr& = −(K v + Vm )r + W1T σ(V1 x ) + W2 ϕ(V2 x )
ˆT x ) − Ŵ T ϕ(V T x ) + ε + τ + v.
− Ŵ T σ(V
1
1
2
32
2
d
(6.19)
&q&d
 
e = e
&
e
q d 
qd =  
q& d 
[Λ Ι]
r
fˆ(x)
Kv
Robot
-
Robust
Term
q 
q= 
q& 
v(t)
Figure 6.1 NN Controller.
Using (6.13) one has
~
~T
~+W
Mr& = − ( K v + Vm ) r + W1T σ + W1T σ
2 ϕ + ε + τd + v .
(6.20)
~ one can obtain the expression for closed
Applying Taylor series approximation for σ
loop error dynamics [20]
~
~T
$ T x) + W
$ T σ$ ′V
$ Tx + W
Mr& = − ( K v + Vm ) r + W1T (σ$ − σ$ ′V
1
1
1
2 ϕ +w +v ,
with disturbance term given by
~
~T 2
$ T x + W T O( V
w = W1T σ$ ′V
1
1
1 x) + ε + τ d .
It is shown in [19], [20] that the disturbance term is bounded by
~
~
w( t ) ≤ C 0 + C1 Z + C 2 Z r ,
F
F
(6.21)
(6.22)
(6.23)
with Ci known positive constants.
6.3
Weight Tuning and Stability Proof
Here are presented NN weight tuning laws, derived from Lyapunov theory, that guarantee
stable tracking with internal stability. It is shown that the tracking error is suitably small,
the NN weights are bounded, and the control τ(t) is bounded. The NN weights are
adjusted on-line in real-time with no preliminary off-line learning required.
33
Initial Tracking Error Requirement. The next assumption specifies the region
of convergence of the 2-layer NN controller.
Assumption 3 (Initial Condition Requirement) Suppose the desired trajectory
qd, q& d , &&
q d is bounded by qB as in Assumption 1. Define known constants c0, c2 by
Lemma 3. Let the NN approximation property (6.12) hold for the function f(x) given in
{
}
(2.8) with a given accuracy ε N for all x in the compact set S x = x x < b x with bx>qB.
{
Define S r = r
}
r <( b x − q B ) / ( c 0 + c 2 ) . Let r(0) ∈S r .
The set Sr specifies the set of allowed initial tracking errors r(0). Note that the
approximation accuracy of the NN determines the allowed magnitude of the initial
tracking error r(0). For a larger NN (i.e. more hidden-layer units), ε N is small for a larger
radius bx; thus, the allowed initial condition set Sr is larger. The key role of the Initial
Condition Requirement is in showing the dependence of the allowed initial condition set
Sr on design parameters. The constants qB, c0, c2, bx need not be explicitly determined.
A key feature of the Initial Condition Requirement is its independence of the NN
initial weights. This is in stark contrast to other techniques in the literature where the
proofs of stability depend on selecting some initial stabilizing NN weights, which is very
difficult to do.
Theorem 4 (Augmented Backprop Weight Tuning)
Let the desired trajectory be bounded by qB as in Assumption 1, and the initial
tracking error r(0) satisfy Initial Condition Assumption 3. Let the ideal target weights be
bounded as in Assumption 2. Take the control input for the robot dynamics (6.20) with
gain satisfying
K V min >
(C 0 + kC 23 / 4)( c 0 + c 2 )
,
bx − qB
34
(6.24)
where C3 is defined in the proof and C0 and C2 are defined in (6.23). Let the robustifying
term be
(
v( t ) = − K z Z$ + Z B r
F
)
,
(6.25)
with gain
Kz > C2 .
(6.26)
Let the NN weight tuning be provided by
&$
$
$ T
$ $T T
W
1 = Sσr − Sσ ′V1 xr − kS r W1
(6.27)
&$
T $ T
$
$
V
1 = Txr W1 σ ′ − kT r V1
(6.28)
&$
T
$
W
2 = Eϕr − kE r W2
(6.29)
with any constant matrices S=ST>0, T=TT>0, E=ET>0, and k>0 a small scalar design
$ , W
$ , W
$ are
parameter. Then the filtered tracking error r(t) and NN weight estimates V
1
1
2
UUB, with bounds given by (6.34) and (6.35). Moreover, the tracking error may be kept
as small as desired by increasing the gains Kv in (6.20)
Proof:
Let select Lyapunov function as
L=
1 ~
1 ~
1 ~
1 T
~
~
~
r Mr + tr (W1T S −1W1 ) + tr ( V1T T −1 V1 ) + tr (W2T E −1 W2 ) .
2
2
2
2
(6.30)
One has derivative
~ T −1 ~&
~ T −1 ~&
~ T −1 ~&
& = r T Mr& + 1 r T Mr
& + tr (W
L
1 S W1 ) + tr ( V1 T V1 ) + tr ( W2 E W2 ) .
2
(6.31)
Assuming that the initial tracking error satisfy Initial Condition Assumption 3, including
the system error dynamics (6.21), one has
~
~T
T
T
$ T x) + r T W
$ T σ$ ′V
$ Tx + rTW
L& = − r T ( K v + Vm )r + r T W1T (σ$ − σ$ ′V
1
1
1
2 ϕ+r w+r v
+
1 T&
~
~&
~
~&
~
~&
r Mr + tr ( W1T S −1 W1 ) + tr( V1T T −1 V1 ) + tr( W2T E −1 W2 ) .
2
Using Property 3, and tuning rules yields
35
(6.32)
{
}
{
}
~T
~
~T
~
& = − r T K v r + k r tr W
L
1 ( W1 − W1 ) + k r tr V1 ( V1 − V1 )
~
~
+ k r tr W2T (W2 − W2 ) + r T (w + v)
~
~
= − r T K v r + k r tr Z T ( Z − Z) + r T (w + v) .
{
{
}
(6.33)
}
& is negative as long as either
Proceeding as in [20], one obtains that L
C 0 + kC 23 / 4
r >
≡ br ,
K v min
(6.34)
or
C3
(6.35)
+ C 0 / k + C 23 / 4 ≡ b Z .
2
~
& is negative outside a compact set, and r and Z
Therefore, L
are UUB as long as the
~
Z
F
>
F
control remains valid within this set. However, the PD gain (6.24) shows that the compact
set defined by r ≤ b r is contained in Sr so that the approximation property holds
throughout.
The following remarks are relevant.
Weight Initialization and On-Line Training. No preliminary off-line learning
phase is required. The hidden-layer weights V1 are initialized randomly, like in [15]. The
output-layer weights W1 and W2 are initialized at zero. In that way, stability of the system
is not affected. Weight training occurs on-line in real time.
Unsupervised Backpropagation Through Time With Extra Terms. The first
terms of (6.27), (6.28), (6.29) are modified versions of the standard backpropagation
algorithm. The last terms correspond to the e-modification [22], to guarantee bounded
parameter estimates.
Bounds on the Tracking Error and NN Weight Estimation Errors. The righthand side of (6.34) can be taken as a practical bound on the tracking error in the sense
36
that r(t) will never stray far above it. It is important to note from this equation that the
tracking error increases with the NN reconstruction error ε N and robot disturbances bd
(both appear in C0), yet arbitrarily small tracking errors may be achieved by selecting
large gains KV. On the other hand the NN weight errors are fundamentally bounded by
ZB. The tuning parameter k offers a design tradeoff between the relative eventual
~
magnitudes of r and Z .
F
Design Tradeoff of NN Size Versus Tracking Accuracy. Note that there is
design freedom in the degree of complexity (e.g. size) of the NN. For a more complex
NN (e.g. more hidden units), the NN estimation ε N error decreases, so the bounding
constant C0 will decrease, resulting in smaller tracking errors. On the other hand, a
simplified NN with fewer hidden units will result in larger error bounds; this degradation
can be compensated for by selecting a larger value for the PD gain Kv.
7 SIMULATION OF NN CONTROLLER
To illustrate the performance of the augmented NN controller used for friction
compensation, the two link robot arm (Figure 7.1) is used. The model of the system
shown on Figure 7.1 is given by [17]
[
[
]
[
]
]
τ1 = (m1 + m 2 )a 12 + m 2 a 22 + 2m 2 a 1 a 2 cos θ 2 &θ&1
+ m 2 a 22 + m 2 a 1a 2 cos θ 2 &θ& 2 − m 2 a 1 a 2 2θ& 1θ& 2 + θ& 22 sin θ 2
(
+ (m 1 + m 2 )ga 1 cos θ1 + m 2 ga 2 cos(θ1 + θ 2 )
)
τ 2 = m 2 a 22 + m 2 a 1a 2 cos θ 2 &θ&1 + m 2 a 22 &θ& 2 + m 2 a 1 a 2 θ& 12 sin θ 2
+ m 2 ga 2 cos(θ1 + θ 2 )
(7.1)
(7.2)
The system parameters are chosen as a1=1.1, a2=1, m1=3, m2=2.3. The nonlinear,
discontinuous at zero friction model is included for both joints. The friction model
parameters for the first joint are α0=35, α1=1.1, α2=0.9, β1=50, β2=65, and for the second
joint are α0=38, α1=1, α2=0.95, β1=55, β2=60. It is assumed that the model of the robot
arm as well as friction model is unknown. Note that the friction is discontinuous at zero.
37
m2
a2
θ2
a1
m1
θ1
Figure 7.1 Two-link robot arm.
The NN weight tuning parameters are chosen as S=diag{10, 10}, T=diag{10, 10},
E=diag{35, 35}, k=0.01. The NN controller parameters are chosen as Λ=diag{5, 5},
Kv={20, 20}. The input to the NN is given by (2.9). The NN has L=10 hidden-layer units
with sigmoidal activation functions, and 4 additional nodes with jump approximation
activation functions (three for each joint). According to the notation shown in Figure 5.2,
N=2, M=2.
We compared the PD controller, the standard NN controller, and augmented NN
controller. Figure 7.2 shows the position error for the first joint, Figure 7.3 shows position
error for the second joint. The step input is applied to the system. Notice that there is the
steady-state error when PD is used because of the presence of unknown dynamics as well
as unknown friction. The standard NN controller reduces the steady-state error but it is
still noticeable. The augmented NN controller shows the superior performance. The NN
controller does not require preliminary off-line training.
38
Position error for the 1. joint
1.5
1
PD
0.5
augm. NN
0
stand. NN
-0.5
-1
0
2
4
6
8
10
Figure 7.2 Position error for 1. joint: PD controller, standard NN, and augmented NN.
Position error for the 2. joint
1
0.8
0.6
0.4
PD
0.2
augm. NN
0
stand. NN
-0.2
-0.4
0
2
4
6
8
10
Figure 7.3 Position error for 2. joint: PD controller, standard NN and augmented NN.
39
Phase-plane error plots
1
0.8
PD
0.6
0.4
0.2
stand. NN
0
augm. NN
-0.2
-0.4
-1
-0.5
0
0.5
1
1.5
Figure 7.4 Phase-plane error plots e2(t) versus e1(t) for PD controller, standard NN and
augmented NN.
8 CONCLUSION
A new NN structure is presented for approximating piecewise continuous functions. A
standard NN with continuous activation functions is augmented with an additional set of
nodes with piecewise continuous activation functions. It is proved that such a NN can
approximate arbitrarily well any piecewise continuous function provided that the points
of discontinuity are known. Since this is the case in many nonlinearities in industrial
motion systems (friction, deadzone inverse, etc.) such a NN is a powerful tool for
compensation of systems with such nonlinearities.
A NN controller with friction compensation is designed based on the new
augmented NN. Based on the feedback linearization method, the NN controller
approximates unmodeled dynamics including the unknown friction. A general
complicated friction model can be approximated, based on the new NN. It is not required
for the friction model to be linear in unknown parameters. The NN controller does not
require preliminary off-line training. A stability proof is given without any need for
selecting some initial stabilizing NN weights.
40
ACKNOWLEDGMENTS
This research is supported by NSF Grant ECS-9521673, Texas ATP Grant 003656-027,
and ARO Grant 39657-MA.
41
REFERENCES
[1]
B.
Armstrong,
“Friction:
Experimental
determination,
modeling
and
compensation,” IEEE International Conference on Robotics and Automation,
Philadelphia 1988, pp. 1422-1427.
[2]
B. Armstrong-Hélouvry, P. Dupont, and C. Canudas de Wit, “ A survey of models,
analysis tools and compensation methods for the control of machines with friction,”
Automatica, vol. 30, no. 7, pp. 1083-1138, 1994
[3]
R. Barron, “Universal approximation bounds for superpositions of a sigmoidal
function,” IEEE Trans. Info. Theory, vol. 39, no. 3, pp. 930-945, May 1993.
[4]
R. G. Bartle, The Elements of Real Analysis, Wiley, New York, 1964.
[5]
C. Canudas de Wit, P. Noël, A. Aubin, B. Brogliato, “Adaptive friction
compensation in robot manipulators: Low velocities,” Int. J. Robot. Res., vol. 10,
no. 3, June 1991.
[6]
C. Canudas de Wit, H. Olsson, K. J. Åström, and P. Lischinsky, “A new model for
control of systems with friction,” IEEE Trans. Automat. Contr., vol. 40, no. 3, pp.
419-425, March 1995.
[7]
C. Canudas de Wit and S. S. Ge, “Adaptive friction compensation for systems with
generalized velocity/position friction dependency,” Proc. 36th IEEE Conf. Decis.
and Contr., San Diego, CA, Dec. 1997.
[8]
F. C. Chen and H. K. Khalil, “Adaptive control of nonlinear systems using neural
networks,” Int. J. Contr., vol. 55, no. 6, pp. 1299-1317, 1992.
[9]
S. Commuri and F. L. Lewis, “CMAC neural networks for control of nonlinear
dynamical systems: structure, stability and passivity,” Proc. IEEE Int. Symp. Intell.
Contr., Monterey, Aug. 1995, pp. 123-129.
[10] G. Cybenko, “Approximation by superpositions of a sigmoidal function,” Math.
Control, Signals, Syst., vol. 2, no. 4, pp. 303-314, 1989.
[11] H. Du, S. S. Nair, “Low velocity friction compensation,” IEEE Control Systems
Magazine, vol. 18, no. 2, pp. 61-69, April 1998.
42
[12] K. Funahashi, “On the approximate realization of continuous mappings by neural
networks,” Neural Networks, vol. 2, pp. 183-192, 1989.
[13] J. W. Gilbart and G. C. Winston, “Adaptive compensation for an optical tracking
telescope,“ Automatica, vol. 10, pp. 125-131, 1974.
[14] K. Hornik, M. Stinchombe, and H. White, “Multilayer feedforward networks are
universal approximators,” Neural Networks, vol. 2, pp. 359-366, 1989.
[15] Y. H. Kim and F. L. Lewis, “Reinforcement adaptive learning neural network based
friction compensation for high speed and precision”, Proc. 37th IEEE Conf. Decis.
and Contr., Tampa, Florida, 1998.
[16] S.-W. Lee, J.-H. Kim, “Robust adaptive stick-slip friction compensation,” IEEE
Trans. Ind. Electron., vol. 42, no.5, pp. 474-479, October 1995.
[17] F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Control of Robot Manipulators,
Macmillan, New York, 1993.
[18] F. L. Lewis, K. Liu, and S. Commuri, “Neural networks and fuzzy logic systems for
robot control,” Fuzzy Logic and Neural Network Applications, ed. F. Wang,
Intelligent Control and Automation Series, World Scientific Publishing.
[19] F. L. Lewis, K. Liu, and A. Yesilidrek, Neural Network Control of Robot
Manipulators and Nonlinear Systems, Taylor and Francis, Philadelphia, PA, 1999.
[20] F. L. Lewis, A. Yesilidrek, and K. Liu, “Multilayer neural net robot controller:
structure and stability proofs,” IEEE Trans. Neural Networks, vol. 7, no. 2, pp. 388399, Mar. 1996.
[21] F. L. Lewis, “Neural network control of robot manipulators", IEEE Expert special
track on Intelligent Control, ed. K. Passino and Ü. Özgüner, pp. 64-75, Jun. 1996.
[22] W. Li and X. Cheng, “Adaptive High-Precision Control of Positioning TablesTheory and Experiments,” IEEE Trans. Contr. Sys. Tech., vol. 2, no. 3, Sep. 1994.
[23] P. Lischinsky, C. Canudas de Wit and G. Morel, “Friction compensation for an
industrial hydraulic robot,” IEEE Control Systems Magazine, vol. 19, no. 1, pp. 2532, Feb. 1999.
43
[24] K. S. Narendra, “Adaptive control using neural networks,” Neural Networks for
Control, pp. 115-142. ed. W. T. Miller, R. S. Sutton, P. J. Werbos, Cambridge:
MIT Press, 1991.
[25] K. S. Narendra and A. M. Annaswamy, “A new adaptive law for robust adaptation
without persistent excitation,” IEEE Trans. Automat. Contr., vol. AC-32, no. 2, pp.
134-145, Feb. 1987.
[26] K. S. Narendra and K. Parthasarathy, “Identification and control of dynamical
systems using neural networks,” IEEE Trans. Neural Networks, vol. 1, pp. 4-27,
Mar. 1990.
[27] H. Olsson and K. J. Åström, “Observer-based friction compensation,” Proc. 35th
IEEE Conf. Decis. and Contr., Kobe, Japan, Dec. 1996, pp. 4345-4350.
[28] J. Park and I. W. Sandberg, “Criteria for the approximation of nonlinear systems,”
IEEE Trans. Circuits Syst.-1, vol. 39, no. 8, pp. 673-676, Aug. 1992.
[29] J. Park and I. W. Sandberg, “Nonlinear approximations using elliptic basis function
networks,” Circuits, Systems, and Signal Processing, vol. 13, no. 1, pp. 99-113,
1993.
[30] M. M. Polycarpou, “Stable adaptive neural control scheme for nonlinear systems,”
IEEE Trans. Automat. Contr., vol. 41, no. 3, pp. 447-451, March 1996.
[31] M. M. Polycarpou and P. A. Ioannou, “Modeling, identification and stable adaptive
control of continuous-time nonlinear dynamical systems using neural networks,”
Proc. Amer. Contr. Conf., 1992, vol. 1, pp. 36-40.
[32] G. A. Rovithakis and M. A. Christodoulou, “Adaptive control of unknown plants
using dynamical neural networks,” IEEE Trans. Syst. Man Cybernet., vol. 24, no. 3,
pp. 400-412, 1994.
[33] N. Sadegh, “A perceptron network for functional identification and control of
nonlinear systems,” IEEE Trans. Neural Networks, vol. 4, no. 6, pp. 982-988, Nov.
1993.
[34] R. M. Sanner and J.-J. E. Slotine, “Stable adaptive control and recursive
identification using radial gaussian networks,” Proc. IEEE Conf. Decis. and Contr.,
Brighton, 1991.
44
[35] J. R. Schilling, Fundamentals of Robotics Analysis and Control, Prentice Hall, New
Jersey, 1990.
[36] J. -J. E. Slotine and W. Li, Applied Nonlinear Control, Prentice-Hall, New Jersey,
1991.
[37] E. D. Sontag, “Neural networks for control,” in Essays on Control: Perspectives in
the Theory and its Applications (H.L. Trentelman and J.C. Willems, eds.),
Birkhauser, Boston, 1993, pp. 339-380.
[38] E. D. Sontag, “Feedback stabilization using two-hidden-layer nets,“ IEEE Trans.
Neural Networks, 3, pp. 981-990, 1992.
[39] A. Tzes, P.-Y. Peng and C.-C. Houng, “Neural network control for DC motor
micromaneuvering,” IEEE Trans. Ind. Electron., vol. 42, no.5, pp. 516-523,
October 1995.
45