LEARNING ADAPTIVE CONTROL OF A TWOLINK
ROBOT MANIPULATOR
by
Tien Van Pham
B.S., University of Colorado at Denver, 1991
A thesis submitted to the
Faculty of the Graduate School of the
University of Colorado at Denver
in partial fulfillment
of the requirements for the degree of
Master of Science
Electrical Engineering
Pham, Tien Van (M.S., Electrical Engineering)
Learning Adaptive Control of A TwoLink Robot Manipulator
Thesis directed by Dr. Mijole Radenkovic
ABSTRACT
In this thesis, a synthesis of a Learning Adaptive Control (LAC) system is used to
demonstrate that a given control algorithm is capable of generating the joint torques
or forces so that the robot joint angle will closely track the desired (reference)
trajectory. An Indirect Adaptive Control scheme and an Iterative Learning Control
method for a Robot Manipulator are examined. The Lagrangian formulation of
rigid manipulator dynamics is derived and some of the key structural properties of
robot dynamics, as used in adaptive control are described. A mathematical model
of a twolink robot manipulator is derived and studied by simulation. Indirect
Adaptive Control and Learning Adaptive Control schemes and related algorithms
are investigated. The robot manipulator dynamics and the model parameters are
identified by using the exponentially forgetting recursive least squares procedure
which is well known. The control algorithms are formulated and simulated under
the effects of an unknown payload. In addition, the LAC algorithm is simulated for
velocity and acceleration in a noisy measurement environment Based on the
overall test results, conclusions are given for general application.
This abstract accurately represents the content of the candidate's thesis.
I recommend its publication.
Signed
Mijole Radenkovic
III
This thesis for the Master of Science
degree by
Tien Van Pham
has been approved for the
Department of
Electrical Engineering
by
Mijole Radenkovic
Jan T. Bialasiewicz
Date
ACKNOWLEDGMENTS
I would like to express my sincere gratitude to Professor Mijole Radenkovic
for enthusiastically guiding the research. I would like also to thank Professor
Edward T. Wall, Professor Jan T. Bialasiewicz, and Professor Gary G. Leneinger
for their advice and encouragement.
Finally, I wish to convey special thanks to my family and friends whose
support through all these years made this work possible.
IV
CONTENTS
CHAPTER
1. Review of Adaptive Control 1
1.1 NonAdaptive Control Methods 2
1.2 Adaptive Control Methods 2
1.3 Summary of the Thesis 5
2. Dynamic Model of Manipulators 7
2.1 Dynamics of Rigid Robots 7
2.1.1 The Lagrange Equation of Motion 7
2.2 The Dynamic Equation of a TwoLink Manipulator 12
2.2.1 The Physical Model 12
2.2.2 The Kinetic and Potential Energy of the TwoLink
Manipulators 13
2.3 Robot Dynamic Model 21
2.4 Fundamental Properties 23
2.5 Implementation 24
2.6 Conclusion 30
3. Learning Adaptive Control of TwoLink Robot
Manipulators 31
3.1. Learning Adaptive Control Structure 33
3.1.1 Indirect Adaptive Control (IAC) Structure 33
3.1.2 IAC Computer Simulation Results 38
V
3.1.2.1 Case 1: Without Friction 40
3.1.2.2 Case 2: With Friction 50
3.1.3 Summary of IAC Algorithm 60
3.2 Learning Adaptive Control (LAC) Structure 60
3.2.1 The Learning Rule and Its Convergence 65
3.2.2 LAC Computer Simulations Results 67
3.2.2.1 Case 1: Friction Effected Test 67
3.2.2.2 Case 2: Friction Effected and Payload Mass 79
Changed Test
3.2.2.3 Case 3: Friction Effected, Payload Mass 91
Changed and Noise Test
3.3 Conclusion 103
APPENDIX
A. Matlab Program 104
B. 1 TwoLink Robot Manipulator Synthesis Dynamic Model 110
B. 2 TwoLink Robot Manipulator Dynamics Model 111
BIBLIOGRAPHY 115
VI
I
CHAPTER 1
REVIEW OF ADAPTIVE CONTROL
To adapt to modem demands of robot manipulators, faster response is
needed in order to provide increased productivity, and greater accuracy. In
modem robot manipulators, path tracking is more important than the classical
point to point control, which is unable to cope with the complex uncertain
model dynamics of the robot manipulator.
Robotic motion has been the subject of considerable research interest in
recent years [2] and [3]. There are two main problems associated with robotic
motion: robot manipulator dynamics and control. The most difficult problem of
robot manipulator dynamics is the determination of the motion due to a given
torque applied to the robot joints. A complete analysis of robot dynamic
behavior requires the simulation of nonlinear timevarying differential
equations describing motion. The most difficult of robot manipulator control
problems is the determination of the appropriate forces or torques which will
drive the actuator so that the manipulator will follow a specified trajectory.
Many approaches are described in the literature to determine position and
velocity control for manipulators [16]. They methods range from using a
linearized model to complete nonlinear representation of the robot dynamics.
These methods can be divided into two groups:
i. Nonadaptive methods, which utilize classical feedback design, and
1
ii. The adaptive methods, where the controller is designed to
compensate for the effects of unknown and changing parameters in the robot
dynamics so as to satisfy the desired overall system synthesis.
1.1 NonAdaptive Control Methods
In early path tracking a point to point positioning controller was used,
where the manipulator came to a full stop at each intermediate point along the
entire path. Withney [30] developed a tracking scheme for a prosthetic arm
where the manipulator was capable of reaching the next desired position without
the need for stopping at each intermediate point, this method is called resolved
motion rate control. Bejczy [6] introduced the computed torque method, where
the inverse dynamics is used to calculate the control torques for all joints,
directly from the dynamic equations of the manipulator which are based on the
measured or calculated positions of velocity and acceleration. Proportional
velocity and position feedback gains are arbitrarily chosen so that the tracking
error is approached asymptotically. The disadvantage of this method is that a
detailed mathematical model of the dynamic system must be known a priori and
the control torques must be numerically computed in real time using the
complex dynamic equations. Horowitz and Tomizuka [14] used the nonlinear
state feedback in order to minimize the effect of the nonlinear coupling terms.
Most of the non adaptive control schemes suffer from the following limitations:
i. Exact knowledge of the complex manipulator dynamic equation.
ii. Explicit use of uncertain system parameters.
2
iii. Unacceptably high computational burden on the controller.
iv. Neglect of the effect of the change of the load on the system
performance.
In order to avoid these difficulties and to obtain good performance over
a wide range of motion and payload, adaptive control methods have been
developed. Adaptive schemes essentially update the values of the model
parameters until the error disappears. Adaptive techniques have been found
very useful both for simple and complex designs.
1.2 Adaptive Control Methods
Traditionally, control systems have been designed based on a good
understanding of the system to be controlled. When knowledge of the system
is limited the relatively modem issues of robust control, adaptive control, and
learning control become important One way to deal with a poor knowledge of
parameters in a control scheme is through techniques which are generally
classed as adaptive control. Adaptive control is closely related to the problem of
system identification; generally an adaptive controller can be viewed as being
composed of two parts:
i. An identification portion, which identifies parameters of the system
itself, or parameters that appear in the controller of the system.
ii. A control law portion, which implements a control law in some way
so that a function of the parameters is identified.
3
Hence, adaptive control synthesis can be viewed as an identification
scheme which is coupled to a control scheme. The central problem in the
synthesis of adaptive controllers is to prove rigorously that the resulting overall
system is stable. Adaptive control strategies take many forms. For the case of
a linear system with unknown constant parameters, many methodologies have
been established for designing adaptive control systems.
The main approaches to robot manipulator motion control can be
categorized as global linearization, adaptive control, and multivariable control.
In the global linearization approach [12], a complex controller is utilized to
cancel the nonlinearity of the robot dynamics. In the adaptive control approach
[28] the controller gains are adjusted to cope with variations in robot dynamics.
The linear multivariable control approach is based on the linearized robot model
[25]. Depending on the complexity of the control algorithm, the control
problem may also require an elaborate numerical solution. Generally,
parameters of the robot manipulator are not known exactly. Whenever
parameters of the model dynamics do not match the parameters of the real
system, tracking error results. These situations exist when the model dynamic
equation and the mass/inertia properties of the end effected loads are unknown,
timevarying, or the parameters of the robot itself are unknown. Therefore,
continuous adaptation is needed when the process is changing in a manner that
cannot be obtained from direct measurements. In such cases, there is an
advantage if the controller can change its parameters continuously since a
sudden decrease in payload may result in an increase process gain which will
4
make the control loop oscillatory. The control parameters do not change
significantly as long as the payload remains constant
1.3 Summary of the Thesis
The robot manipulator control problem for which a controller is
synthesized to compensate for the effect of unknown and changing plant
parameters and to satisfy the overall system performance, is considered [28].
An important source of unmodelled robot dynamics is the dynamics of the joint
motor friction, which is usually considered in dynamic modeling. High
feedback controller gains, which result in better tracking of the desired
trajectories during robot parameter variations [2], [17], and [28], may also
result in excessive joint torques and possibly saturation. Also, if unmodelled
dynamics are present, high controller gains may excite the dynamics and
produce instability, and the values of the torque produced may result in a larger
than allowable torque limit. The transient performance response is also an
important issue in adaptive control. Whenever the dynamics of the model is
mismatched, a large error transient response may occur and the system may also
become unstable. A Learning Adaptive Control algorithm is proposed in order
to provide an Indirect Adaptive Control algorithm for the robot manipulator
control. This controller consists of a feedback part and a full dynamic
feedforward compensation part. The unknown manipulator and payload
parameters are estimated on line using the exponentially forgetting recursive
least squares approach [9]. The controller torques are repetitively learned by a
5
small training factor [17]. The results of the Learning Adaptive Control
algorithm are used to compare with the results of the Indirect Adaptive Control.
As a result, the Learning Adaptive Control scheme can be used in practice and
has many attractive features such as providing the desired transient and steady
state characteristics of the closed loop system.
6
CHAPTER 2
DYNAMIC MODEL OF MANIPULATOR
In this chapter the equation of motion for a twolink manipulator robot is
derived using the EulerLagrange approach. The derivation starts by introducing
the basic concept of the Lagrangian method and its relation to the kinetic and
potential energy of the physical model. The Lagrangian method is applied to derive
a nonlinear coupled differential equation which describes the motion of the
physical model of the twolink manipulator robot. The general equation for the
robot manipulator is obtained from these equations. Although the equations of
motion of the robot manipulator are complex, the nonlinear equations have several
fundamental properties which can be exploited to facilitate the control system
design.
2.1 Dynamics of Rigid Robots
2.1.1 The Lagrange Equation of Motion
Consider a mechanical system consisting of N particles whose positions are
given by the vector ri = r^x^y^zj, where xi,yi,zi (i = 1,2,...,TV)are the Catersian
coordinates of the tth particle. The motion of the mechanical system is completely
defined if the positions of all particles i are known function of time t,
x,. = x,(r), x, = y;(r), z, = z,(t). This motion can be conveniently interpreted in
7
m.n;i? li
terms of geometrical concepts by regarding the 3N coordinates x, (r), y,(r), z, (t)
(i = 1,2,...,//) as the coordinates of the a representative point P in a 3N dimensional
space, known as the configuration space. The motion of a mechanical system can be
visualized simply as the curve traced by the representative point P in the
configuration space. The trace is referred to as the C curve. In future discussions
we will make frequent use of the geometrical description of the trajectory motion.
It is more advantageous to express the motion of the system in terms of a
different set of coordinates, say, qltq2,,qn, where n=3N. The relation between
the old and the new coordinates can be given by the general form of coordinate
transformation
xl=xl{qx,q2,...,qn), (2.1)
= (22)
Zn=Z(<7l>?2>~>0> (23)
where the transformation is chosen so as to present the dynamical problem in terms
of the new coordinates in a simpler form. For ease of visualizing, the equations are
expressed in terms of the polar coordinates r and a. The transformation from the
8
Cartesian coordinates and y to the polar coordinates r = qt and oc = q2 has the
simple form
x = qlcosq2,
(2.4)
y = qlsmq2.
(2.5)
It follows that the motion of the equivalent particle corresponding to the twobody
system is considerably simplified by the choice of polar rather than Cartesian
coordinates. We concentrate first on the case of a holonomic system and express
the dependent variables ri in terms of n generalized coordinates qk and time t in
the form:
where n is the number of degrees of freedom of the system. The velocity vector
can be written in terms of the generalized coordinates and velocities by
differentiating equation (2.6) as
(2.6)
(2.7a)
(2.7b)
9
Equations 2.7a and 2.7b enable us to write the kinetic energy as
mr. r;
1=1
(2.8a)
and
_ , v1 ,vv dr, dr, . dr, ^ dr, dr, dr,
(2.8b)
Defining the coefficients
Â£ dr, dr,
a = 2.m
Q, Qs
R V dr dr
ot dq
(2.9)
(2.10)
and
i V1 ^r
(2.11)
we can write Eq.(2.8a) in the form
10
(2.12)
r=r2+r,+r0>
where
n n
^2= t 5) tXfAAs*
r=l J=1
(2.13)
is a homogenous quadratic function in the generalized velocities, and
t2=,
r=l
(2.14)
is a linear homogenous function in the generalized velocities, also
T0 = X,
(2.15)
is a nonnegative function of the generalized coordinates and time. Noting that the
coefficients a, /3r, and X depend on the generalized coordinates and time, it
follows that the functional dependence of T is
(2.16)
For a holonomic system the Hamilton principle, expressed as Lagrangian
Lis
1 1
L = T V,
(2.17)
where V is potential energy of the overall system which satisfies the following
equation
d ( dL) dL
dt dqk dqk
= 0,
k = 1,2,. ..,n.
(2.18)
Equation (2.18) represents a set of n simultaneous differential equations, known as
the Lagrange equations.
2.2 The Dynamic Equation of a TwoLink Manipulator
2.2.1 The Synthesis Model
The manipulator is composed of two rigid links connected by a frictionless
one degreeofffeedom rotary joint One end of the manipulator is attached to the
origin of the reference frame in Cartesian space by a rotary joint. The system is
assumed to be coplaner, and the relative motion of the two links results from
torque applied at each joint. Each link has four parameters: mass m,, rotational
inertia about the center of mass, /, the length between the two joints on the link,
/, and the length between the lowered numbered joint and its center of mass, r( .
The angular position of link /,. is assumed to be measured in a positive
counterclockwise direction from the negative yaxis, and the angular position link i, i >
1, is assumed to be measured in a positive counterclockwise direction from the
12
extension of link i1 to link i. The mass of joint 1 is m} and the mass at the end of the
second link is m,. The description of the manipulator system is shown in Figure2.2.
y
\
Figure2.2
The twolink manipulator
2.2.2 The Kinetic and Potential Energy of the Manipulator Model
The kinetic energy associated with a rigid body is given by the expression
T = {(mvz + Ico2), (2.19)
1 3
where m is the mass and v2 is the velocity squared of the center of mass of that
body. The inertia about the center of mass is / and CO2 is the angular velocity
measured counterclockwise.
In the case of a point mass (as for the mass of the joint m; and payload, mt)
the kinetic energy is given as
where m is the mass and v is the velocity of the point mass.
From the Figure2.2, the Cartesian coordinates xx and y, of the center of
mass of link1 is defined as
(2.20)
xx =rx sin qx,
(2.21)
y, = r, cos <7,.
(2.22)
The velocity squared of the center of mass of link 1 is
(2.23)
or
(2.24)
14
The corresponding angular velocity is defined as
6> = qi (2.25)
while the moment of inertia is defined as
/ = (2.26)
Therefore, the kinetic energy of link 1 can be written in the form
ri=i(mi/f + /1)
and the potential energy of the link 1 can be written as
Vl=~mlgrlcqsqv (2.28)
where g is the acceleration of gravity. The Catersian coordinates x2 and y2 of
joint2 are
x2 = l: sin (ft, (2.29)
y2 = ~llcosq1 (2.30)
15
The velocity squared of the point at the end of joint 1 is
v\=x\+y\
(2.31)
or
v22 = fo2
(2.32)
Therefore, the kinetic energy at the end of joint1 is
T =
1 2
(2.33)
and the potential energy of joint 1 is also defined as
v2 = ~mjSk cos <7,
(2.34)
The Catersian coordinates x3 and y3 of the center of mass of link2 may
be defined as
Xj = /, sin <7, + r2 sin (<7, +q2),
(2.35)
and
y3 = cos<7j r2cos(<7, +q2).
(2.36)
1 6
The velocity squared of joint2 is
v32 = *Â£ + #.
(2.37)
or
v3 = rUl + 2 krA
and the angular velocity of link2 is
^2 = 4i+<72. (239)
The moment inertia of joint2 is
(240)
and therefore, the kinetic energy which is associated with link2 is
T3 = i(tfi2v3 + /2ri)2),
(2.41a)
or
T3 = yfm^2 + 2/n2/1r241(
(2.41b)
17
Also, the potential energy of link2 is defined as
vi = "hSk cos?, ~hgr2 cos(<7, + ?2).
The Cartesian coordinates x4 and y4of the payload are defined as
x4 = l1sinql + l2sin(q1+q2),
and
y4 = cos?! 12 cos(?, + q2).
The velocity squared of the payload is
v42 = i4+y4,
or
v4 = /,?,2 + 2/,/2?, (?, + ?2)cos?2 + /*(?, + ?2)2.
The kinetic energy that corresponds to the payload mass is
T< = 2 mi\h0\ ^JlOl (*?1 02)COS0.2 h (*?1 02) ]
1 8
(2.42)
(2.43)
(2.44)
(2.45)
(2.46)
(2.47)
and the potential energy of the payload mass is
V4 = cos<7j m,gl2cos(ql + q2). (2.48)
Therefore, the total kinetic and potential energy for the system is obtained as the
sum of all the kinetic and potential energy of the different components that make up
the system. We conclude that the kinetic energy of the system is
II (2.49a)
T = y(Oj + 2^ cos^2 + ajtf + (<*2 cos q2 + ajq^ +^^1,
and the potential energy is (2.49b)
ll (2.50a)
V = a4 cos q: as cos(^ + q2). If we introduce these coefficients, we have (2.50b)
= n\r^ +/j + Ifntj + + m,l?, (2.51a)
a2 = m2r2ll+mll2ll, (2.51b)
19
aJ = fn2rl + I2 + mll^,
(2.51c)
aA = m1rlg + m^g + rri^g + mtlxg, (2.51 d)
and
as = m/^g + l2mxg. (2.51 e)
So that the Lagrangian equation is
L = T V.
(2.52)
Applying the Lagrange method, the equation of motion becomes
d ( dL "j dL =
dt{dqk) dqk
(2.53)
where qk, (k = 1,2,...) is the generalized coordinate of each degree of freedom
and Ttis the generalized external force applied at each coordinate (torque in this
case). Then <7* will be the transducer coordinate for each link, and T^will be the
difference between the actual input force and the linear viscous friction force applied
to each link.
Introducing Eq. (2.52) into Eq. (2.53) with qx and q2, we obtain the
equation of motion
20
Introducing Eq. (2.52) into Eq. (2.53) with qx and q2, we obtain the
equation of motion
df dLy dL
= (fl, + 2 aj cos + ajq^ + (^ cos?2 + (h)q2
(2.54)
dtydqj dqx
(hQiQx sinq2~a2(
d ( dL \ dL
(2.55)
+a2q*smq2 +a5sm(q^ +q2) = z2.
2.3 Robot Dynamic Model
From Eq.(2.54) and Eq.(2.55) the Lagrange equation for this manipulator
can be written in matrix form as follows
where the parameter matrices, and stages in the derivation are detailed in Appendix
B. At this point, we may note that \M(q)\ \C{q,q)\ \G(q)\ and [//(
constant, but are dependent upon trigonometric functions of qk. This fact confirms
that the equation of motion is highly nonlinear.
The notation used for the acceleration vector in the Lagrange equation is
[ t] = [M(?)][<7] + \C(q, q)][q] + [G(q)] + [H(q)],
(2.56)
21
(2.57)
<^]T>
and the velocity vector is
[?] = [<7i 42f
(2.58)
The inertia matrix [M (
q. This matrix is always symmetric and positive definite [ ]. [<7] and [ q\ are n x 1
vectors of joint acceleration and velocities. The/tJt/t matrices [M(q)\, [C{q,q)\
and the n x 1 vectors [G(^)j, and \H{qj\ will be specified shortly. The elements
of the matrices [M(q)], \C{q,q)\, and vectors [G(<7)], and [//(<7)] are complex
functions of the joint angle position q and the velocity of motion q. In order to
gain insight into the natural form of the terms involved in [M(^)J, \C{q,q)\,
[G(<7)], and [H(q)\, we consider the twolink manipulator described in the Eq.
(2.56 ).
The inertia matrix is
[M(q)\ =
+ 202 cos q2 + a2 a2cosq2+ai
a2cosq2 + ai Oj
(2.59)
where alt a2, and a3 are parameters that depend on the lengths and the masses of
the links. The vector [C(<7,^)] in Eq.(2.56) contains terms that depend on the
squares of the joint angle velocities caused by centrifugal forces. It also contains
22
[C(q,q)] =
a2q2smq2
a2q1sinq2
0
(2.60)
where the gravity vector [G(
constant g, and from the Eq. (2.56), [G(q)] is defined as
[G(q)] =
a4 sin q1 + as sin(q1 + q2)
as sin(^ + q2)
(2.61)
and a4 and a5 are parameters that depend on the link masses and lengths. Finally,
the firiction torque vector [//(
nonrigid body effects of the manipulator. They consist of viscous frictional forces
and Coulomb friction forces which are dependent on the sign of the joint velocities.
For the twolink robot manipulator, the friction force is defined as
M+VWI
M +b4sign(q2) J
where b!,b2,...,b4 are constant coefficients. In the above expression, the frictional
torque vector [//(
2.4 Fundamental Properties
Although the equations of motion (2.56) are nonlinear and complex for all
23
but the simplest robots, they have several fundamental properties which can be
exploited to facilitate control system design of the robot systems [15].
These properties are
i. The inertia matrix is symmetric, positive definite, and both and are
uniformly bounded as a function of q. Stricdy speaking, boundedness of the inertia
matrix requires, in general, that all joints be revolved. To avoid such technical
difficulties, we will henceforth treat only revolved joint robots.
ii. There is an independent control input for each degree of freedom.
iii. All of the constant parameters of interest such as link masses, moments
of inertia, etc., appear as coefficients of known functions of the generalized
coordinates. By defining each coefficient as separate parameters, a linear
relationship results so that we may write the dynamic Eq.(2.56) in the following
linear form
tk = (p{q,q,qf 6, (2.63)
where (p(q,q,q) is an n x r matrix of known regression, and d is an rdimensional
vector of parameters [15].
2.5 Implementation
To simulate the motion of a manipulator, we make use of a model of the
dynamics, as we have just developed. Given the dynamics written in closed form
24
as described in Eq.(2.56) above, the best way to simulate the motion is to solve for
the acceleration which involves inverting the following form
[q] = [M(q)Yl[rC(q,q)q G(q) H{q)\ (2.64)
The joint angle position, velocity, and acceleration initial conditions of the
manipulator are given in the forms
[<7(0)] = <7, (2.65)
[4(0)] = 0, (2.66)
and
[q(0)] = 0. (2.67)
The model structure dynamic of the twolink manipulator, described in Eq.
(2.56) can be numerically integrated forward in time by steps of size Ar. Starting
with t=0, the Eulerintegration scheme
[q(t + At)] = [<7(0] + [
[q(t + AO] = [^7(0] + [<7(0Ar] + \[q(t)At2], (2.69)
25
[q(t + At)] = [M(q)Y'[m C(q,q) G{q) H(q)\,
(2.70)
where for each iteration, At is chosen to compute q(t + At). In practice At is
chosen sufficiently small so that a reasonable approximation of continuous time
results. Also, At is chosen large enough so that an excessive amount of computer
time is not required. The numerical values are idealized but nevertheless represent a
realistic case. Also, the simulation allows for a change in the mass at the free end
of link 2 (representing a change in the workpiece mass), which in turn affects
"*2, ^ ^ [8].
The rearranged equations for the control system design will now be
presented in greater detail than for the simulation equations. The form of the
equations has important ramifications for the development in the following chapter.
In this section, the manipulator position response is shown in Fig. (2.5.1).
The initial condition of joint1 is 0.01; all other initial states are zero, as is the
control input. Similarly, Fig. (2.5.2) and Fig. (2.5.3) show the velocity and the
acceleration responses. Nominal values used in simulation are listed in Appendix
B.
26
Response (rad/s) to initial condition ^(0) = 0.01
Figure 2.5.1
Manipulator Position Response to (<7i (0) = 0.011
27
Response (rad/s) to initial condition <7,(0) = 0.01
Figure 2.5.2
Manipulator Position Response to (<7,(0) = 0.011
28
Response (rad/s) to initial condition ql (0) = 0.01
Figure 2.5.3
Manipulator Position Response (0) = 0.01^
29
2.5 Conclusion
It has been shown that the Lagrange equation is a versatile tool for
generating the dynamic model of a manipulator. After extracting the linear terms
from the equations, the corresponding stateequations in standard format are
derived (see equation (2.68), (2.69) and (2.70)). A summary of the parameters in
standard format, is given in the Appendix A.
The linear model and the state equations which arc given in the Eqs. (2.56)
and (2.70) will be used in subsequent chapters to synthesis controllers. Finally,
most manipulator dynamics are complicated by the nonlinear terms Tk which arc
involved expressions. A successful controller model must take account of, or
cancel out, these nonlinear terms.
30
CHAPTER 3
LEARNING ADAPTIVE CONTROL OF TWOLINK ROBOT
MANIPULATORS
Learning control is defined as a control scheme that improves the
performance of the device being controlled as actions are repeated, and does so
without the necessity of a parametric model of the system. In general, learning
control schemes are advantageous when the system is difficult to model
parametrically, or when the system structure is unknown. A disadvantage
of such a learning controller is that it is applicable only in cases where a specific
motion is performed repeatedly, so that learning can take place. The advantage
of such a controller is that unstructured uncertainty can be compensated for
to the extent that it is repeatable from one trial to the next.
The motivation in the development of a learning control scheme for a
mechanical manipulator came from two observations:
i. The major problem of parametricmodelbased controllers (fixed or
adaptive) is in modelling friction acting at the joints and
ii. Virtually all robotic manipulators in factories today repeat a
programmed motion over and over in cycles.
Consequently, a learning controller is added to learn the friction effects
acting at the joints which assumes that a reasonable model exists for the other
dynamic effects from the rigidbody equation of motion. An important goal in
the design of a learning controller is to make use of available knowlege of the
system dynamics. Intuitively, ignoring any knowledge we may have of the
system parameters in favor of some general learning scheme seems almost
certainly to be a bad idea.
The viewpoint taken in this chapter is that all terms that arise solely from
the rigidbody dynamics are considered known. The effect of friction acting at
the joints, which is difficult to model and may change with age and temperature
is considered unknown. It is possible to use an adaptive scheme to identify the
parameters and then to use the learning control scheme to refine the control
further. Basically, the parametric adaptive controller approximately identifies
parameters and the fixed parameter values are used for the model portion of the
learning controller. Then the learning controller can futher correct for repeatable
unmodeled dynamics over some specific task cycle. This scheme which is based
on adaptively constructing the feedforward torque histories for each actuator of
the mechanism, will tent to cancel the repeatable portion of the friction effects.
Since the construction of the feedforward functions is not based on a model of
any kind, the learning functions may arbitrarily reflect complex functions
originating from sources that are unknown to the designer. Compensation may
be learned for forces and torques encountered, caused by an interaction with the
environment, to the possible extent that it is repeatable from trial to trial. In
general, learning adaptive control methods may cause a repeatable device to
32
move with nearzero error, but disturbances will be supressed with a varying
stability margin in different regions of the workspace.
In this chapter a learning adaptive algorithm for robot manipulator
control is proposed which is a combination of the Indirect Adaptive Control
algorithm [9], [26] and the Iterative Learning Control of Robot Manipulators
[17]. The Learning Adaptive Control (LAC) algorithm is based on the twolink
robot manipulator, which is developed in Chapter 2, for varying payload and
noisy conditions. As the results, the performance of a LAC algorithm shows the
capacity for rejecting unknown disturbance and adapting to timevarying system
parameters.
3.1 Learning Adaptive Control Structure
3.1.1 Indirect Adaptive Control (IAC) Structure
In this section, Indirect Adaptive Control (IAC) algorithm of robot
manipulator control first proposed by Midleton and Goodwin [26], is presented
and tested by the computer simulations. Such a control formulation results in a
controller which can suppress disturbances and track the desired trajectories
uniformly for all configurations of the manipulator. This desireable performance
is contingent on two assumptions which make implementation of the computed
torque servo less than ideal. Initially, the dynamic model of the manipulator
must be computed rapidly enough so that the discretization effects do not
degrade the performance with respect to the continuous time, zerodelay ideal.
Secondly, the values of the parameters appearing in the dynamic model of the
33
control law must match the parameters of the actual system so that the beneficial
decoupling and linearizing effects of the computed torque servo may be realized.
In the LAC, the adaptation algorithm allows the manipulator to identify its own
dynamics. Since the adaptation algorithm is driven by the prediction error
associated with the identification algorithm, a potential drawback of the indirect
method of adaptive control is that the adaptation algorithm operates on the
prediction error and the actual tracking error is not taken into consideration.
Indirect Adaptive Control scheme for robot manipulator can be seen in
the Fig.(3.1.1).
Figure3.1.1
Indirect Adaptive Control Scheme for Robot Manipulator
34
In order to apply the IAC for the motion control of the manipulator, the
control algorithm assumes that the boundedness of the inverse of the estimated
inertia matrix of the manipulator with in the acceleration measurement In this
case, the parameter adaptation algorithm is driven by the predictions errors. The
prediction errors are defined as the difference between the actual torques and the
predicted torques applied to the manipulator. The dynamical equations for a
robot manipulator can be written as in the matrix Eq.(2.56) of Chapter 2. It is
assumed that the model structure is known but that the actual parameter values
must be estimated.
It was shown by property (iii) that the equations of dynamics described
in Eq.(2.56), can also be written in linear form
= (pj (3.1)
The subscript i refers to the linear regression for the ith joint of the
manipulator. The torque, T;, has been expressed as a linear regression in terms
of the inertial parameters of the system, given by 6(k) and functions of the
trajectory of the manipulator (p{k). The proposed control law is
TC = M ((q)q + C(q,q)q + G(q) (3.2)
where M(q), C(q,q) and G(q) are the estimates of the true values. A new term
will be defined as
35
Q =qdKe~kpei
(3.3)
with
e = q~qd,
(3.4)
and
6 q qd* (3.5)
where qd is the desired manipulator trajectory. This is a suitable control law
since it allows arbitrary specification of the error dynamics over the
operational space by choosing appropriate values of kv and kp Then
substituting Eq. (3.3 ) into Eq. (3.2) gives
M (q)q + C(q, q)q + G(q) = M(q)(qd + kve + kpe) + C(q,q)q + G(q).
(3.6)
By adding and subtracting M(g)q on the lefthand side of Eq.(3.6) we can write
M(q)(ed + kve + kpe) = M(q)q + C(qtq)q + G(q), (3.7)
36
=
where
M(q) = M(q) M(q), (3.9)
C(q,q) = C(q,q)C(q,q), (3.10)
G(q) = G(q)G(q), (3.11)
0 = 00. (3.12)
Finally the error dynamics may be written as
ed + kve + kpe = AT1 (q)(p(q, q,q)9 (3.13)
If the gain matrices kv and k are chosen as diagonal matrices with
positive diagonal elements then the closed loop system is linear, decoupled, and
exponentially stable. Thus, global stability for this scheme is assured. It
follows that the closed loop damping ratio and natural frequency may be
arbitrarily assigned. The freedom allowed by the compensators kv and kp in
37
Eq.(3.13) may be used to shape the error transients or to improve the robustness
of the inverse dynamics scheme.
When the equation of dynamics is expressed as a linear regression as in
Eq. (3.1) then one can use indirect adaptive control methods to control the
manipulator. In this case, the adaptation law can be based on the exponentially
forgetting recursive least squares algorithm given by
Q(k +1) = 0(k) + L(k)(tk (p(k)T6(k)), (3.14)
L{k) = P(k)(pT(k)[Xl +
P(k +1) = j[P(*) L(k)
A
Where,
B(k) : estimate of parameter vector.
(p{k) : regression vector.
X : forgetting factor.
3.1.2 IAC Computer Simulations Results
A simple twolink robot manipulator (shown in figures2.1.1) was
simulated to test the algorithm. The dynamic model is given in Chapter 2 and the
derivation of the matrix is included in Appendix B. The manipulator is moved in
a vertical plane with gravity acting. Both viscous and Coulomb friction are
38
simulated at the joints. Parameters used in the simulation were chosen to be
realistic, and process noise was added in the form of random perturbation at the
torque output of the actuator. The desired trajectory has the form
The coefficients c; and frequency a>{ are chosen to make the desired
trajectory satisfy the initial and final conditions on the joint angles of position,
velocity and acceleration. However, it may not be necessary to have four
frequency components for the desired trajectory to be persistently excited, this
example demonstrates that a sufficiently rich desired trajectory will yield
convergence of the parameter estimation. For the computer simulations test, the
desired trajectories used for both Indirect Adaptive Control and Learning
Adaptive Control schemes are the same. It can be seen that to change the robot
configuration from the initial joint angles from zero to 90 degrees, Eq.(3.17) and
Eq.(3.18) must have the following forms
qld = q + c2 sin (QJ + c3 sin co2t,
(3.17)
q2d = c3+c4 sin (03t+cs sin co4t.
(3.18)
qx =^(0.99)sin((s>lt),
(3.17a)
(3.18a)
39
Note that 0.99 is used to limit the joint1 by not more than {90,90} degrees
and 1.2 is used to limit joint2 by not more than {110,110} degrees.
3.1.2.1 Case 1: Wihout Friction
In this case, the robot manipulator is tested without the presence of
unmodelled dynamics. The position and velocity feedback gains used are 100
and 80. The payload mass was kept constant. The performance results are
illustrated in the following figures:
Figs. 3.1.2.1.1 to 3.1.2.1.3 show the performance trajectory of the joint
angle positions, velocities and acceleration
Figs. 3.1.2.1.3 to 3.1.2.1.6 show the trajectory tracking errors.
Figs. 3.1.2.1.7 shows the estimated values of joint1 mass and payload
mass. This result verifies that some of the parameters are convergent to the true
value and some are not, because of the presence of unmodelled dynamics.
Fig. 3.1.2.1.8 and Fig. 3.1.2.1.9 show the performance of the recursive
least squares to estimate the robot manipulator dynamics.
40
Fig. 3.1.2.1.1
Comparison of the performance between the desired trajectory angle position
(_______) and manipulator angle position (...), without the
unmodelled dynamics.
41
NUMBER OF ITERATION
Fig. 3.1.2.1.2
Comparison of the performance between the desired trajectory angle velocity
(_______) and manipulator angle velocity (...) without the unmodelled
dynamics.
42
200
100
0
100
0 100 200 300 400 500 600 700 BOO 900 1000
JOINT1 ANGLE ACCELE RATION IN (RAD/SEC2
1 l 1
1
r
1000
500
0
500
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
JOINT2 ANGLE ACCELE RATION IN (RAD/SEC2
r j i
Fig. 3.1.2.1.3
Comparison of the performance between the desired trajectory angle
acceleration (_______) and manipulator angle acceleration (...), without
the unmodelled dynamics.
43
Fig. 3.1.2.1.4
Difference between the desired trajectory angle position (__) and
manipulator angle position (.....), without the unmodelled dynamics.
44
NUMBER OF ITERATION
Fig. 3.1.2.1.5
Difference between the desired trajectory angle velocity (___) and
manipulator angle velocity (.....), without the unmodelled dynamics.
45
100
0
100
200
0 100 200 300 400 500 600 700 800 900 1000
JOINT1 ANGLE ACCELERAT [ON ERE OR IN (RAD/SEC2)
v ! J_ i
r 1
i i i i 1
NUMBER OF ITERATION
Fig, 3,1,2,1,$
Difference between the desired trajectory angle acceleration (_______) and
manipulator angle acceleration (.......), without the unmodelled dynamics.
46
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
Figure 3.1.2.1.7
Joint1 mass and payload mass estimated with the unmodelled dynamics
without the unmodelled dynamics.
47
Figure 3.1.2.1.8
Comparison between the actual control torques and the Recursive Least Squared
torques with unmodelled dynamics without the unmodelled dynamics.
48
150
100
50
0
50
0 100 200 300 400 500 600 700 BOO 900 1000
NUMBER OF ITERATIION
JOI] NT2 TORQUE, ESTIMATION ER1 ROR
Figure 3.1.2.1.9
The difference between the estimated torques and the control torques without
the unmodelled dynamics.
49
3.1.2.1 Case 2: With Friction
The effect of the friction on the response of the joint angles is now
tested. The position and velocity feedback gains used are the same as in the
previous test.
Figs. 3.1.2.2.1 to 3.1.2.2.3 illustrate the performance of the indirect
adaptive control algorithm and the non persistendy excited trajectory when noise
is not present.
Figs. 3.1.2.2.4 to 3.I.2.2.6. show the tracking errors. It is seen that a
large response error occurs in the joint angle positions, velocities and
accelerations because of the presence of friction in the model dynamic (see Figs.
3.1.2.1.4 and 3.1.2.2.4).
Fig. 3.1.2.2.7 shows the estimated values of joint1 mass and payload
mass.
Figs. 3.1.2.2.8 and 3.1.2.2.9 show the effect of the recursive least
squares in estimating the robot manipulator parameters.
50
JO] NT2 A NGLE POSITION IN RADI [AN
\
S.N \N \\ \\ \s \\ \\ VP St // \\ \\ J \ \ \\ \\ \s
\\ // // // // // \\ Si /* // // // In X. ^
1 1
0 100 200 300 400 500 600 700 BOO 900 1000
NUMBER OF ITERATION
Fig. 3.1.2.2.1
Comparison of the performance between the desired trajectory angle position
(_______) and manipulator angle position (.....), with the unmodelled
dynamics (Friction is added).
51
10
5
0
5
10
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
Fig. 3.1.2.2.2
Comparison of the performance between the desired trajectory angle velocity
(________) and manipulator angle velocity (..) with the unmodelled
dynamics (Friction is added).
JOINT2 ANGLE VELOCITY IN (RAD/SEC)
1j111
! 1 ^ 'v 1 1 i I ^
\ l \ 1 \ \ \ /Nk X \\ \\ i ft / Nn \s \\ \\ \\ >/'
kk ft ft // fit St // / / i \v \\ \s i X // fit A // // // kS \\ \\ \\
i i 1 ! i 9
52
NUMBER OF ITERATION
Fig, 3J.2,2t3
Comparison of the performance between the desired trajectory angle
acceleration (_____) and manipulator angle acceleration (..), with the
unmodelled dynamics (Friction is added).
53
Fi& 3 J t.2,2,4
Difference between the desired trajectory angle position (_____) and
manipulator angle position (.......),with the unmodel dynamics.
54
Fig. 3.1.2.2.5
Difference between the desired trajectory angle velocity (___) and
manipulator angle velocity (.....) with the unmodel dynamics.
55
100
0
100
200
300
0 100 200 300 400 500 600 700 BOO 900 1000
JOINT1 ANGLE ACCELERAT] [ON ERE OR IN (RAD/SE02)

i '
i
500
0
500
1000
0 100 200 300 400 500 600 700 600 900 1000
NUMBER OF ITERATION
JOIN T2 ANGLE ACCELERAT [ON ERE OR IN (RAD/SEC2)
* *r~
Fig. 3.1.2.2.6
Difference between the desired trajectory angle acceleration (______) and
manipulator angle acceleration (.......), with the unmodel dynamics.
56
NUMBER OF ITERATION
Figure 3.1.2.2.7
Joint1 mass and payload mass estimated with the unmodelled dynamics.
57
NUMBER OF ITERATION
Figure 3.1.2.2.8
Comparison between the actual control torques and the RLS Estimated torques
with unmodelled dynamics.
58
NUMBER OF ITERATIION
Figure 3.1.2.2.9
The difference between the estimated torque and the control torque.
59
3.1.3 Summary of IAC Algorithm
The exponentially forgetting recursive least squares algorithm is a well
known and robust method of identifying a linear system. There are several
difficulties in using this method for robot adaptive control. To use this method one
must be able to measure the joint positions, velocities and accelerations. The joint
accelerations are usually unavailable and one must numerically differentiate the
velocity signal to determine the acceleration. This would typically lead to a very
noisy acceleration signal, since the velocity signal is generated by a significant
amount of noise. Furthermore, if the system is not persistently exciting then the
parameters will not be identifiable. This can lead to instability in the system. One
can argue that the system will be identifiable because the trajectory errors provide
sufficient excitation. However, one must have sufficient excitation such that the
parameters can be identified. In other words, the level of persistent excitation must
be sufficiently high such that the parameters can be identified in a noisy
environment. Otherwise the manipulator cannot track the trajectory with the desired
accuracy.
Lastly, one is concerned in conventional control if the feedback position and
velocity gains can arbitrarily specify the error dynamics of the operation by
choosing the appropriate values Kp and Kv, since the feedback position and
velocity gains can be chosen sufficiently large enough to reduce the performance
tracking error. However, in practice we cannot increase the feedback gains
arbitrarily because the actuator torques are limited [4],[9] and [17].
60
3.2 Learning Adaptive Control (LAC) Structure
The Learning Adaptive Control scheme which is proposed for a robot
manipulator can be seen in the Fig.(3.2).
Figure3.2
Learning Adaptive Control Scheme
The results of the Indirect Adaptive Control algorithm presented in the
previous section show good performance. In practice however, without a
precise knowledge of gear backlash, friction, etc., the method needs to be
improved. Since the control scheme should be flexible with respect to changing
environmental conditions, such as payload, as shown in the results
61
of the previous chapter, it requires a priori knowledge of the dynamic model.
Along with the development of the technology, a general drawback of the
adaptive approach may also be the large computational load required for a real
time parameter identification.
Given the general dynamics of robot manipulators described in the
Eq.(2.56) of Chapter 2, our control objective is to have the robot manipulator
track the given desired trajectory when the unknown system parameters have
time varying effects. The learning control algorithm searches for a desired input
torque through a sequence of repetitive operations. That is, by training the
system through repetitive operation, we attempt to reduce the trajectory error as
the number of iterations increases.
The TwoLink robot manipulator described by the Eq.(2.56) in Chapter
2 can be written as follows
[T(r)] = [M(?(r)*(()]+[C(?(().?W)][4(0]+[G((t))] + [T.(r)].
(3.19)
It is assumed that the disturbance Ta(r) is repeated for each iteration.
QdWQd (0,4d(0 q (t),q(t),q(t) denote the joint position, velocity and
acceleration of the desired and actual trajectories respectively. Linearizing
Eq.(3.19) along the desired trajectories qd(t),qd(t),qd(t) for thetf/t iteration, we
obtain the following error equation
62
M(q)q + C(q, q)q + G(q) = V(t) x(t),
(3.20)
where x(t) is the estimated input torque at the ith iteration and M(q), C(q,q),
and G(q) are described in Eq.(3.9), Eq.(3.10) and Eq.(3.11).
To make the robot system track the desired trajectory qd(t),qd(t),qd(t),
the proposed controller torque is a combination of the linear feedback torque, T?c,
and the learning torque, H(t). Thus, the learning controller can be written in
the form
*=<+//', (3.21)
where Hl are predicted feedforward control inputs to be computed at each
iteration by a learning rule and Eq.(3.2) can be rewritten at ith iterations as
< = M(q)q + C(q,q) + G(q) (3.22)
A A A
where M(q), C(q,q) and G(q) are the estimates of the true values and
q (3.23)
with
e = q~qd, (3.24)
63
and
e = qqd. (3.25)
Applying Eq.(3.21) into Eq.(3.20) the error equation is obtained as
M(q)(e'd + kyel + kpe'} = x(t)H. (3.26)
The error boundedness of this type of feedback controller has been
developed in several treatments [1], [11] and [12]. As long as the term
x(t) Hl, driving the error dynamics is finite, the size of the error bound can be
made arbitrarily small with an increase in feedback gain. In practice, we cannot
increase the feedback gain arbitrarily because the actuator torque is limited. This
fact implies that, in general, the linear feedback control is not usually adequate
for tracking especially when the system has modeling errors or a nonlinearity.
Hence, we attempt to use the feedforward control input H along with the linear
feedback controller with the objective of eliminating x(t) H as />. Then,
even with reasonable feedback gains, the tracking error may converge to zero for
the iteration process. Based on this motivation, the control strategy is:
First, the positive definite matrix kp and kv are chosen appropriately
large, so that the error dynamics of the robot manipulator along the desired
trajectory will be stable.
64
Secondly, Hl(t) is updated with a learning rule so that Hl(t) converges
to x(t). The desired trajectories are generated, which will be used as reference
inputs for the learning controller. The fixed gain for the controller in Eq.(4.8)
makes the overall system stable, within uniform error bounds, as the
feedforward controller updates the feedforward component H (t). An
associated memory structure can be used to implement the feedforward controller
with a limited memory. The structure associative memory is presented in [13],
At the initial stage of learning, the learning control torque for the robot
manipulator H(t) is set to zero. However, the torque command rj from the
controller xc of Eq.(4.7) may be large since there may be significant position
and velocity errors. Hence, in the early stages of learning, the feedback control
torque component is dominant over the feedforward torque component
H(t). However, as the number of iterations increases, H'(t) becomes
dominant over te.
3.2.1 The Learning Rule and Its Convergence
In this section the learning rule that updates H(t) has been derived so
that H\t) converges to an unknown value of %(t). The convergence has been
proved in [1], In deriving the learning rule we consider the following index for
all r:
2
(3.27)
r=1
65
Applying the gradient descent rule, the following is obtained
Hi+1
= Hlp
dJ,
dH1'
(3.28)
Hm = H1 + $(t H).
(3.29)
By subtracting T(f)from both sides of Eq.(3.29), Eq.3.29) can be rewritten as
Hm = (xH) + $(x//'), (3.30)
x Hm =(lP)(xHi). (3.31)
where P is a positive constant often called a training factor. From Eq.(3.28),
P is chosen such that 0 < /J < 2 so as to guarantee the convergence of H(t),
since x(t) is unknown and cannot be used directly as a learning rule. Instead,
we replace the unknown x(t) H by the available quantity in Eq.(4.8), and
Te in Eq.(4.12) and the following learning rule is obtained
Hm = H ptc. (3.32)
66
Note that from the error of Eq.(4.2) and if kv and kp are sufficiently
large, then it is approximately the same as x(t) H. Roughly speaking, the
learning rule may be considered a searching algorithm for an unknown desired
input torque t(t) in which the torque error from the controller in Eq.(4.2) is
used to update H (r). In practice the training factor should be chosen at less
than unity due to sensitivity considerations.
3.2.2 LAC Computer Simulations Results
In this section, the computer simulations performance tested results of
the Learning Adaptive Control algorithm which is applied to the twolink robot
manipulator derived in Chapter 2, are presented. Several cases are studied.
3.2.2.1 Case 1: Friction Effect Test
In this case, Learning Adaptive Control is tested for the effect of the friction
on the response of the joint angles. The training factor used is 0.1. The payload
mass is kept constant. The proportional position and feedback gains used are 50
and 40. The performance test results of the LAC algorithm is illustrated in the
following figures.
Figs, 3.2.2.1.1 to 3.2.2.1.3 shows the performance trajectory of the joint
angle positions, velocities and accelerations.
67
Figs.3.2.2.1.4 to 3.2.2.1.6 show the performance trajectory tracking errors.
Fig. 3.2.2.1.7 shows the estimated values of joint1 mass and payload
mass.
Fig. 3.2.2.1.8 shows the comparison between the learning torques and
actual torques acting on the system.
Fig. 3.2.2.1.9 and Fig. 3.2.2.1.10 show the performance of the RLS
estimated torques and the learning torques acting on the overall system.
In summary, it is seen that a large response error in the joint angle
positions, velocities and accelerations is reduced during the trajectory performance
even with the presence of the unmodelled dynamics. The performance results are
much better than the results which are reported in previous sections. The joints
angle position performance trajectory errors are decreased to zero as the number of
iterations is increased. Also, as the number of iteration is increased the learning
torques become dominant over the linear control torques and become the main
control torque of the system.
68
NUMBER OF ITERATION
Fig. 3.2.2.1.1
Comparison of the performance between the desired trajectory angle position
(_______) and manipulator angle position (......), with the unmodelled
dynamics (Friction is added).
69
NUMBER OF ITERATION
Fig, 3.,2,20.2
Comparison of the performance between the desired trajectory angle velocity
(________) and manipulator angle velocity (....) with the unmodelled dynamics
(Friction is added).
70
NUMBER OF ITERATION
Fig. 3.2.2.1.3
Comparison of the performance between the desired trajectory angle acceleration
(________) and manipulator angle acceleration (.......), with the unmodelled
dynamics (Friction is added).
71
NUMBER OF ITERATION
Fig. 3.2.2.1.4
Difference between the desired trajectory angle position (__) and manipulator
angle position (....),with the unmodel dynamics.
72
JOINT1 ANGLE VELOCE [T ERROR IN (RAD/SEC
A
L
i 1 1
0 100 200 300 400 500 600 700 BOO 900 1000
JOINT2 ANGLE VELOCE [T ERROR IN (RAD/SEC]
1 1  
i i
i
J i i i i i j i i
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
Fig. 3.2.2.1.5
Difference between the desired trajectory angle velocity (__) and manipulator
angle velocity (...), with the unmodel dynamics.
73
500
0
500
1000
0 100 200 300 400 500 600 700 BOO 900 1000
NUMBER OF ITERATION
JOINT2 ANGLE ACCELERATION ERROR IN (RAD/SE03)
i A 1 ! !
! \
t i 1
Fig, 3.2,2J,6
Difference between the desired trajectory angle acceleration (____) and
manipulator angle acceleration (......), with the unmodel dynamics.
7 4
NUMBER OF ITERATION
Figure 3.2.2.1.7
Joint1 mass and payload mass estimated
with the unmodelled dynamics
Figure 3.2.2.1.8
Comparison between the learning torque and the control torque with
the unmodelled dynamics
NUMBER OF ITERATION
Figure 3.2.2.1,9
Comparison between the actual control torques and the Recursive Least Squared
torques with unmodelled dynamics.
77
0 100 200 300 400 500 600 700 BOO 900 1000
100
50
0
50
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
JOINT2, UNEAR &c LEARNING TORQUE
j i i ; j i j j
j r t  1 i i \(i. i / / / i t i i i i i K r \ i
i i i s s \ \ 1 1
Figure 3.2.2.1.10
Comparison between the actual control torques and the linear feedback torques with
unmodelled dynamics.
78
3.2.2.2 Case 2: Friction Effected and Payload Mass Changed
Test
In this case, Learning Adaptive Control is tested for the effect of the
friction and the payload mass is changed according to the responses of the joint
angles. The training factor is used is 0.1. The payload mass is changed form 2
Kg to 3 Kg at 500 iterations. The proportional position and feedback gains
used are 50 and 40. The performance results of the LAC algorithm are
illustrated in the following figures.
Figs. 3.2.2.2.1 to 3.2.2.2.4 show the performance trajectory of the
joint angle positions, velocities and accelerations.
Figs. 3.2.2.2.4 to 3.2.2.2.6 show the joint angle positions, velocities
and accelerations performance tracking errors. As it can be seen that a large
amount of transient response error is reduced (see Figs. 3.2.2.1.4 and
3.2.2.2.4) and the tracking errors are decreasing to zero as the number of
iterations increased.
Fig. 32.2.2.1 shows the estimated values of joint1 mass and payload
mass.
Fig. 3.2.22.8 shows the comparison between the learning torques and
actual torques acting on the. system in noisy environment.
Figs. 3.2.2.2.9 shows the performance of the recursive least squares to
estimate the robot manipulator dynamics.
Fig 3.2.2.2.10 illustrated the performance of the learning torques acting
on the system. As it can be seen after 50 iterations the learning control torques
79
become dominant over the linear feedback torques and become the actual control
torques controlling the system.
80
NUMBER OF ITERATION
Fig. 3.2.2.2.1
Comparison of the performance between the desired trajectory angle position
(_______) and manipulator angle position (.....), with the unmodelled
dynamics (Friction is added) and the payload mass
are changed from 2 Kg to 3 Kg.
NUMBER OF ITERATION
Fig, 3.22.2.2
Comparison of the performance between the desired trajectory angle velocity
(_______) and manipulator angle velocity (...) with the unmodelled dynamics
(Friction is added) and the payload mass
are changed from 2 Kg to 3 Kg.
82
400
200
0
200
JOINT1 ANGLE ACCELE RATION IN (RAD/SEC2
1 t  1 j
! I i'lr. 1 l i i
!! i r!  i 1 i i i i l
0 100 200 300 400 500 600 700 800 900 1000
NUMBER OF ITERATION
Fig. 3.2.2.2.3
Comparison of the performance between the desired trajectory angle acceleration
(________) and manipulator angle acceleration (.......), with the unmodelled
dynamics (Friction is added) and the payload mass
are changed from 2 Kg to 3 Kg.
83
Fig. 3.2.2.2A
Difference between the desired trajectory angle position (_) and manipulator
angle position (....),with the unmodel dynamics and the payload mass are
changed from 2 Kg to 3 Kg.
84
JOINT2 ANGLE VELOCE rY ERROR IN (RAD/SEC i
A
y 1 j i i 1 1
0 100 200 300 400 500 600 700 BOO 900 1000
NUMBER OF ITERATION
Figt 3,2t2.2.5
Difference between the desired trajectory angle velocity (__) and manipulator
angle velocity (....), with the unmodel dynamics and the payload mass are
changed from 2 Kg to 3 Kg.
85
Fig. 3.2.2.2.6
Difference between the desired trajectory angle acceleration (___) and
manipulator angle acceleration (......), with the unmodel dynamics and the
payload mass are changed from 2 Kg to 3 Kg.
86
0 50 100 150 200 250 300 350 400 450 500
NUMBER OF ITERATION
Figure 3.2.2.2.7
Joint1 mass and payload mass estimated with the unmodelled dynamics and the
payload mass are changed from 2 Kg to 3 Kg.
87
200
100
0
100
0 100 200 300 400 500 600 700 800 900 1000
JOINT1, LEARNING & ESTIMATED TORQUES
1 1 1
1 / I 1 i
\ V \ \ _ 1 1 1 1 / t / / / / J. N \ \ \ \ 1 1 1 1 L 1
Figure 3.2.2.2.8
Comparison between the learning torque and the control torque with the unmodelled
dynamics and the payload mass are changed from 2 Kg to 3 Kg.
88
NUMBER OF ITERATION
Figure 3.2.2.2.9
Comparison between the actual control torques and the Recursive Least Squared
torques with unmodelled dynamics and the payload mass
are changed from 2Kg to 3 Kg.
89
NUMBER OF ITERATIION
Figure 3.2.2.2.10
The difference between the estimated torque and the control torque and the payload
mass are changed from 2 Kg to 3 Kg.
90
3.2.2.3 Case 3: Friction Effected, Payload Mass Changed and
Noise Test
In this case, Learning Adaptive Control is tested for the effect of the
friction and the payload mass is changed according to the responses of the joint
angles. The training factor are used is 0.1. Noise (zero mean) are added to the
joint angle velocities (variance of 0.2 rad/sec)) and accelerations (variance of 2
rad/secA2). The payload mass is changed form 2 Kg to 3 Kg at 500 iterations.
The proportional position and feedback gains used are 50 and 40. The
performance results of the LAC algorithm are illustrated in the following
figures.
Figs. 3.2.2.3.1 to 3.2.2.2.3 shows the performance trajectory of the
joint angle positions, velocities and accelerations and the corresponding
performance trajectory errors are shown in Figs.3.2.2.3.4 to 3.2.2.3.6. It can
be seen that the performance tracking errors are decreasing to zero (see Fig.
3.2.2.3.4) as the number of iteration is increased (300 iterations) under noisy
environment.
Figure 3.2.2.3.7 shows the estimated values of joint1 mass and
payload mass.
Figure 3.2.2.3.8 shows the comparison between the learning torques
and actual torques acting on the system.
An additional consideration tested for this case is the effects of the
learning factor acting on the algorithm. The learning factor is used to choose
less than unity due to the sensitivity consideration. The following values of
91
learning factor used are 0.1 and 0.3 to test the effects on the learning transient
responses torques.
Figs.3.2.2.3.1 and 3.2.2.3.12 demonstrate how the training factor are
acted on by the system. It can be seen that when the training factor is 0.3 the
joint angle position trajectory tracks the reference faster than the previous 0.1
case.
Figs. 3.2.2.3.13 to 3.2.2.3.14 demonstrate that the transient response
errors caused by choosing bigger training factor become larger.
In summary, it is seen that large response errors are reduced in the joint
angle positions, velocities and accelerations during the trajectory performance,
even with the present of the unmodelled dynamics and changes in payload mass
and noise. The joints angle position performance trajectory errors are decreased
to zero as the number of iteration increased. Also, it is seen that the learning
factor can arbitrarily choose to obtain the performances required.
92
NUMBER OF ITERATION
Fig._3.2,2,3.1
Comparison of the performance between the desired trajectory angle position
(_______) and manipulator angle position (......), with the unmodelled
dynamics (Friction is added) and the payload mass are changed from 2 Kg to 3 Kg
when the noise is added to the joint angle velocity and acceleration.
93
Fig. 3.2.2.3.2
Comparison of the performance between the desired trajectory angle velocity
(________) and; manipulator angle velocity (...) with the unmodelled dynamics
(Friction is added) and the payload mass are changed from 2 Kg to 3 Kg when the
noise is added to the joint angle velocity and acceleration.
94