0 ratings0% found this document useful (0 votes) 61 views33 pagesChapter9 Craig 1989
Chapter 9 Linear Control of Manipulators
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
8.32)
of the
uileys,
tepe in
ability
t of the
n of the
LINEAR CONTROL
OF MANIPULATORS
9.1 _ Introduction
Based on previous material, we now have the means to calculate joint
position time histories that correspond to desired end-effector motions
through space. In this chapter we begin to discuss how to cause the
manipulator actually to perform these desired motions.
‘The control methods that we will discuss in this chapter fall into
the class of linear control systems. Strictly speaking, the use of linear
control techniques is only valid when the system being studied can
be mathematically modeled by linear differential equations. For the
case of manipulator control, such linear methods must essentially be
viewed as approximate methods, since as we have seen in Chapter 6, the
dynamics of manipulator are more properly represented by a nonlinear
differential equation. However, we will see that it is often reasonable
to make such approximations, and it also is the case that these linear
methods are the ones most often used in current industrial practice.300
9 Linear control of manipulators
Finally, consideration of the linear approach will serve as a basis for
the more complex treatment of nonlinear control systems in Chapter
10. Although we approach linear control as an approximate method
for manipulator control, the justification for using linear controllers is
not only empirical. In Chapter 10 we will prove that a certain linear
controller leads to a reasonable control system even without resorting to
a linear approximation of manipulator dynamics. Readers familiar with
linesr control systems mey wish to skip the first four sections of this
chapter.
9.2 Feedback and closed loop control
We will model 2 manipulator es a mechanism which is instrumented
with sensors at each joint to measure the joint angle, and an actuator
at each joint to apply a torque on the neighboring (next higher) link.*
Although other physical arrangements of sensors are sometimes used, the
vast majority of robots have a position sensor at each joint. Sometimes
velocity sensors (tachometers) are also present at the joints. Various
actuation and transmission schemes are prevalent in industrial robots,
but many of these can be modeled by supposing there is a single actuator
at each joint.
Since we wish to cause the manipulator joints to follow prescribed
position trajectories, but the actuators are commanded in terms of
torque, we must use some kind of control system to compute appropri-
ate actuator commands which will realize this desired motion. Almost
always these torques are computed by using feedback from the j
sensors to compute the torque required.
Figure 9.1 shows the relationship between the trajectory generator
and the physical robot. The robot accepts « vector of joint torques, 7,
from the control system. The manipulator’s sensors allow the controller
to read the vector of joint positions, ©, and joint velocities, ©. All signal
lines in Fig. 9.1 carry N x 1 vectors (where N is the number of joints
in the manipulator).
Let’s consider what algorithm might be implemented in the block:
labeled “control system” in Fig. 9.1. One possibility is to use the dynaric
equation of the robot (as studied in Chapter 6) to caleulate the torques
required for a particular trajectory. Since we are given Q, Oy and Oy
by the trajectory generator, we could use (6.59) to compute
M(Q4)Oq + V(Ou,Oa) + Ga) (9.1)
* Remember, al remarks made concerning rotational joints hold analogovtlv
for linear joints and vice versa.
FIGU
This
realiz
accu
use +
traje:
and
pract
an of
the j.
Oy
is to
Typir
the d
likew
The
the a.
idea
errors
loop
mani
T
the 1
tions
Foro:vv’ for
aapter
tethod
lers is
linear
ing to
t with
of this
rented
tuator
link.*
od, the
atimes
arious
ohots,
hor
cribed
ms of
sropri-
Almost
e joint
ierator
ues, 7,
stroller
signal
joints
orques
and Og
(9.4)
)
ogously
9.2. Feedback and closed loop control
2a)
‘Trajectory | Galt) Control
generator [Oi system
FIGURE 9.1 High-level block diagram of a robot control system.
‘This computes the torques that our model dictates would be required to
realize the desired trajectory. If our dynamic model were complete and
accurate and no “noise” or other disturbances were present, continuous
use of (9.1) along the desired trajectory would realize the desired
trajectory. Unfortunately, due to imperfection in the dynamic model,
and the inevitable presence of disturbances, such a scheme is not
practical for use in real applications. Such a. control technique is termed
an open loop scheme because there is no use made of the feedback from
the joint sensors (ie., (9.1) is a function only of the desired trajectory,
©, and its derivatives, and not a function of ©, the actual trajectory).
Generally the only way to build a high-performance control system
is to make use of feedback from joint sensors as indicated in Fig. 9.1.
Typically, this feedback is used to compute servo error by finding
the difference between the desired position and the actual position, and
likewise between desired and actual velocity:
E=0,-©
2
b=0,-6 ted
‘The control system can then compute how much torque to send to
the actuators as some function of the servo error. Obviously, the basic
idea is to compute actuator torques which would tend to reduce servo
errors. A control system which makes use of feedback is called a closed
loop system. The “loop” closed by such a control system around the
manipulator is apparent in Fig. 9.1
‘The central problem in designing a control system is to ensure that
the resulting closed loop system meets certain performance specifica-
tions. The most basic such criterion is that the system remain stable.
For our purposes, we will define a system to be stable if the errors remain
301302
9 Linear control of manipulators
“small” when executing various desired trajectories even in the presence
of some “moderate” disturbances. It should be noted that an improperly
designed control systém can sometimes result in unstable performance,
in which servo errors are enlarged instead of reduced. Hence, the first
task of a control engineer is to prove that his or her design yields a
stable system, and second to prove that the closed loop performance
of the system is satisfactory. In practice, such “proofs” may range
from mathematical proofs based on certain assumptions and models,
to more empirical results such as those obtained through simulation or
experimentation.
Figure 9.1, in which all signals lines represent IV x 1 vectors, summa-
rizes the fact that the manipulator control problem is a multi-input,
multi-output (MIMO) control problem. In this chapter we take a sim-
ple approach to constructing a control system by treating cach joint as
separate system to be controlled. Hence, for an N-jointed manipulator,
we will design NV independent single-input, single-output (SISO)
control systems. This is the design approach presently adopted by most
industrial robot suppliers. This independent joint control approach
is an approximate method in that the equations of motion (developed in
Chapter 6) are not independent, but rather are highly coupled. Later
this chapter will present justification for the linear approach, at least for
the case of highly geared manipulators.
9.3 Second-order linear systems
Before considering the manipulator control problem, let’s step back anc
start by considering @ simple mechanical system. Figure 9.2 shows @
block of mass m attached to a spring of stiffness k and subject to friction
of coefficient 6. Figure 9.2 also indicates the zero position and positive
sense of x, the block’s position. Assuming a frictional force which is
proportional to the block's velocity, a ftee body diagram of the forces
acting on the block leads directly to the equation of motion
mit + ba + ka «
Hence, the open loop dynamics of this one degree of freedom. system
are described by a second-order linear constant coefficient differential
equation [1]. The solution to the differential equation (9.3) is a time
function, 2(¢), which specifies the motion of the block. This solution will
depend on the block’s initial conditions, thet is, its initial position
and velocity.
‘We will use this simple mechanicel system as an example for w!
to review some basic control system concepts. Unfortunately, it
FIGU
impos
introc
that t
will n
For e
neithe
for tt
b
differs
spring
that i
inay
very }
to res
soluti
Fr
of the
of its
which
The k
in the
systen
and nbe
verly
ance,
first
ds a
ance
ange
dels,
mn oF
ama
put,
sim-
as 8
ator,
SO)
most
oach
adin
ater,
t for
and
ws a
tion
sitive
ch is
orces
(9.3)
stem
cntial
time
awill
sition
}
which
it is
9.3. Second-order linear systems
FIGURE 9.2 Spring-mass system with friction.
impossible to do justice to the field of control theory with only a brief
introduction here. We will discuss the control problem only assuming
that the student is familiar with simple differential equations. Hence, we
will not use many of the popular tools of the control engineering trade.
For example, Laplace transforms and other common techniques are
neither a prerequisite nor are they introduced here. A good reference
that the system of Fig. 9.2 might exhibit several
different characteristic motions. For example, in the case of a very weak
spring (i.e., k small) and very heavy friction (ie., b large) one imagines
that if the block were perturbed, it would return to its resting position
in a very slow, sluggish manner, However, with a very stiff spring and
very low friction, the block might oscillate several times before coming
to rest. These different possibilities arise because the character of the
solution to (9.3) depends upon the parameter values: m, b, and k.
From the study of differential equations (1], we know that the form
of the solution to an equation of the form of (9.3) depends on the roots
of its characteristic equation,
ms? +bs+k=0, (9.4)
which has the roots
(9.5)
‘The location of 5, and sz (sometimes called the poles of the system)
in the real-imaginary plane dictate the nature of the motions of the
system. If 9, and 8, are real, then the behavior of the system is sluggish
and nonoscillatory. If 9, and #2 are complex (i.e., have an imaginary
303,304
9 Linear control of manipulators
component) then the behavior of the system is oscillatory. If we include
the special limiting case between these two behaviors, we have three
classes of response to study:
1, Real and Unequal Roots. This is the case when 6 > 4mk; that
is. friction dominates, and sluggish behavior results. This response
is called overdamped.
2. Complex Roots. This is the case when b? < 4 mk; that is, stiffness
dominates, and oscillatory behavior results. This response is called
underdamped.
Real and Equal Roots. This is the special case when 6? = 4mk;
that is, friction and stiffness are “balanced,” yielding the fastest
possible nonoscillatory response. This response is called critically
damped.
The third case (critical damping) is generally a desirable situation
since the system nulls out nonzero initial conditions and returns to its
nominal position as rapidly as possible without oscillatory behavior.
Real and unequal roots.
It can easily be shown (by direct substitution into (9.3) that the
solution, (2), giving the motion of the block in the case of real, unequal
roots has the form
x(t) = ce" + cge*2", (9.6)
where s, and g, are given by (9.5). The coefficients c, and c, are
constants which can be determined for any given set of initial conditions
(ie., initial position and velocity of the block).
Figure 9.3 shows an example of pole locations and the corresponding
time response to a nonzero initial condition. When the poles of a
second-order system are real and unequal, the system exhibits sluggish
or overdamped motion.
In cases where one of the poles has a much greater magnitude than
the other, the pole of larger magnitude can be neglected, as the term
corresponding to it will decay to zero rapidly in comparison to the other.
more dominant pole. This same notion of dominance extends to higher
order systems, for example, often a third-order system can be studied
as a second-order system by considering only two dominant poles.
EN 2X AMPLE 9.1
Determine the motion of the system in Fig. 9.2 if parameter values
are m = 1, =5, and k = 6 and the block (initially at rest) is released
from the position 2 =
aeYe
ure
that
onse
thess
alled
mk;
stest.
vally
tion
o its
qual
9.6)
are
ions
ding
ota
gish
han
erm,
her,
sher
died
Jog
9.3. Second-order linear systems
FIGURE 9.3 Root location and response to initial conditions for an
overdamped system.
‘The characteristic equation is
s)+55+6=0 (9.7)
which has roots s, =2 and s, +3. Hence, the response has the form
a(t) = eye + oye (9.8)
We now use the given initial conditions, (0) = —1 and #(0) = 0 to
determine ¢, and cz. To satisfy these conditions at t = 0 we must have
ate =-l,
(9.9)
—2e, — 3eg
which is satisfied by cy = —3 and cy = 2. So, the motion of the system
for t > 0 is given by
x(t) = -3e7#* + 2673 . (9.10)
Complex roots
For the case where the characteristic equation has complex roots of the
form
81 = A+ Hi,
pa eaTh (9.11)
305,306,
9. Linear control of manipulators
it is still the case that the solution has the form
a(t) = cye*!* + cge%2", (9.12)
However, equation (9.12) is difficult to use directly since it involves
imaginary numbers explicitly. It can be shown (see Exercise 9.1) that,
using Euler’s formula,
ef = cose + ising, (9.13)
the solution (9.12) can be manipulated into the form
x(t) = ce cos(ut) + cze** sin(ut), (9.14)
As before, the coefficients c, and c, are constants which can be deter-
mined for any given set of initial conditions (i.c., initial position and
velocity of the block). If we write the constants ¢; and cy in the form
cy = rcos6,
cg =rsind, (618)
then (9.14) can be written in the form
z(t) = re™ cos(ut ~ 6), (9.16)
where
r=yel+e3,
(9.17)
6 = Atan2(e,,¢).
In this forma, it is easier to see that the resulting motion is an oscillation
whose amplitude is exponentially decreasing toward zero.
Another common way of describing oscillatory second-order systems
is in terms of damping ratio and natural frequency. These terms are
defined by the parameterization of the characteristic equation given by
2
8+ Cw, 8 + ui (9.18)
where ¢ is the damping ratio (a dimensionless number between 0 and
1), and w, is the natural frequency." Relationships between the pole
locations and these parameters are
As Gon
H=WyaVl-C.
* The terms damping ratio and natural frequency. can also be applied to over~
damped systems, in which ease ¢ > 1.0.
(9.19)
In thi
called
systen
given
When
becom:
tatio i:
Fy
time r.
second.
underd
De
are m
from t1
Th
which 1
FIGURE
underdar1.12)
dives
that
3.18)
9.14)
eter-
and
om.
9.15)
\ 26)
(e.17)
lation
‘stems
ms are
ven by
(9.18)
Oand
te pole
(9.19)
3
to over
‘
9.3. Second-order linear systems
In this terminology 4, the imaginary part of the poles, is sometimes
called the damped natural frequency. For a damped spring-mass
system such as in Fig. 9.2, the damping ratio and natural frequency are
given by
ce
2Vkm* (9.20)
won = Vim.
When no damping is present (b = 0 in our example) the damping ratio
becomes zero, and when critically damped (6? = 4km) the damping
ratio is 1.
Figure 9.4 shows an example of pole locations and the corresponding
time response to a nonzero initial condition. When the poles of a
second-order system are complex, the system exhibits oscillatory or
underdamped motion.
EE EXAMPLE 9.2
Determine the motion of the system in Fig. 9.2 if parameter values
are m = 1, b= 1, and k = 1 and the block (initially at rest) is released
from the position 2 = —1.
‘The characteristic equation is
s494+1=0, (9.21)
which has roots s, = —} + ¥8i. Hence, the response has the form
4 2 2
a(t) =e7# (as Bese, sin ‘) (9.22)
FIGURE 9.4 Root location and response to initial conditions for an
underdamped system. :
307308
9 Linear control of manipulators
‘We now use the given initial conditons, x(0) = ~1 and (0) = 0 to
determine c, and cz. To satisfy these conditions at t = 0 we must have
(9.23)
1 and cy = ¥%&. So, the motion of the system
which is satisfied by
for t > 0 is given by
a(t) =e73 (-o= fs Ban 38) (9.24)
‘This result can also be put in the form of (9.16) as
a(t) = wins oo Se 120°). (9.25)
Real and equal roots.
By substitution into (9.8) it can be shown that in the case of real and
equal (i., repeated roots) the solution has the form
a(t) = eye"! + ete", (9.26)
where in this case s, = 82 = 24; so that (9.26) can be written
a(t) = (cy + eat) e7 amt (9.27)
In case it is not clear, a quick application of PHépital’s rule (2;
shows that for any cy, 2, and a,
im, (cy + eathe™™* = 0. (9.28)
Figure 9.5 shows an example of pole locations and the corresponding
time response to @ nonzero initial condition. When the poles of a
second-order system are real and equal, the system exhibits critically
damped motion, the fastest possible nonoscillatory response.
FIGU!
critica
are m
from
T
which
deter:
which
for t
In
passiv.
mechafo
have
9.23)
sstem
(9.24)
(9.25)
(9.26)
(9.27)
sule {2]
(9.28)
ponding
ofa
u.cally
9.3 Second-order linear systems
FIGURE 9.5 Root location and response to initial conditions for a
critically damped system.
NE EXAMPLE 9.3
Determine the motion of the system in Fig. 9.2 if parameter values
are m= 1, b= 4, and k = 4 and the block (initially at rest) is released
from the position x = -1.
The characteristic equation is
a +4s44=0 (9.29)
which has roots 5; = 8) = 2. Hence, the response has the form
u(t) = (¢ +98) e7?* (9.30)
We now use the given initial conditons, x(0) = —1 and #(0) = 0 to
determine ¢, and cp. To satisfy these conditions at t = 0 we must have
=)
9.31
2c, +e =0, ee
2. So, the motion of the system
which is satisfied by cy = —1 and cy
for t > 0 is given by
att) =(-1-2e77 (9.32)
In Examples 9.1 through 9.3 all the systems were stable. For any
Passive physical system like that of Fig. 9.2 this will be the case. Such
mechanical systems always have the properties
309310,
9 Linear control of manipulators
m>0,
b>o, (9.33)
k>0.
In the next section we will see that the action of a control system is to
effectively change the value of one or more of these coefficients. It will
then be necessary to consider whether the resulting system is stable or
not.
9.4 Control of second-order systems
Suppose that the natural response of our second-order mechanical
system is not as we wish it to be. Perhaps it is underdamped and
oscillatory and we would like it to be critically damped. Or perhaps
the spring is missing eltogether (k = 0) and so the system never returns
to 2 = 0 if disturbed. Through the use of sensors, an actuator, and a
control system we can modify the system’s behavior as desired.
Figure 9.6 shows a damped spring-mass system with the addition of
an actuator with which it is possible to apply a force f to the block. A
free body diagram leads to the equation of motion
mi + bi + ke = f. (9.34)
Let's also assume that we have sensors which are capable of detecting
the block’s position and velocity. We now propose a control law which
computes the force which should be applied by the actuator as a function
of the sensed feedback as
f= nhyt — hyd. (9.35)
FIGURE 9.6 A damped spring-mass system with an actuator.
Fig
tot
ine
Imy
the
one
ala
whi
of (
or
or
whe
the:
Joo}
wis!
U=
dire
par:
FIGt
of th1.93)
is to
will
le or
nical
and
chaps
turns
ind a
of
cox. A
(9.84)
ecting
which
action
(9.35)
9.4 Control of second-order systems
Figure 9.7 is a block diagram of the closed loop system, where the portion
to the left of the dashed line is the control system (usually implemented
in a computer) and to the right of the dashed line is the physical system.
Implicit in the figure are interfaces between the control computer and
the output actuator commands and the input sensor information.
The control system we have proposed is a position regulation
system—it simply attempts to maintain the position of the block in
one fixed place regardless of disturbance forces applied to the block, In
a later section we will construct a trajectory-following control system
which can cause the block to follow a desired position trajectory.
By equating the open loop dynamics of (9.34) with the control law
of (9.35) we can derive the closed loop dynamics as
mé+ be + ke = —hyx— ky, (9.36)
or
mé+ (b+ ky)é+ (b+ by) (9.37)
or
iné +0 + k's =0, (9.38)
where b = 6 +k, and k’ = k +k,. From (9.37) and (9.38) it is clear
that by choosing our control gains, k, and kp, we can cause the closed
loop systemn to appear to have any second system behavior that we
wish. Often, gains would be chosen to obtain critical damping (i.e.,
¥! = 2V/mk’) and some desired closed loop stiffness which is given
directly by k’.
Note that k, and k, may be positive or negative depending on the
parameters of the original system. However, if b’ or k’ became negative,
FIGURE 9.7 A closed loop control system. The control computer (to the left
of the dashed line) reads sensor input and writes actuator output commands.
S11312
9 Linear control of manipulators
the result would be an unstable control system. This instability would be
obvious if one writes down the solution of the second-order differential
equation (in the form of (9.6), (9.14), or (9.26)). It also makes intuitive
sense, that if b' or k” are negative, servo errors tend to get magnified
rather than reduced.
EN EXAMPLE 9.4
If the parameters of the system in Fig. 9.6 are m = 1, b = 1, and
k= 1, find gains k, and h, for a position regulation control law which
results in the system being critically damped with a closed loop stiffness
of 16.0.
If we wish k’ to be 16.0, then for critical damping we require
¥ = 2Vimk = 8.0. Since k = 1 and b = 1 we need
5.0,
(9.39)
9.5 Control law partitioning
In preparation for designing control laws for more complicated systems,
let us consider a slightly different controller structure for the sample
problem of Fig. 9.6. In this method we will partition the controller
into a model-based portion and a servo portion. ‘The result is that
the system’s parameters (i.e., m, 6, and & in this case) appear only in
the model-based portion, and the servo portion is independent of these
parameters. At the moment, this distinction may not seem important
but it will become more important as we consider nonlinear systems in
Chapter 10. We will adopt this control law partitioning approach
throughout the book.
The open loop equation of motion for the system is
ma + bi + he = f. (9.40)
‘We wish to decompose the controller for this system into two parts. In
this case, the model-based portion of the control law will make use of
supposed knowledge of m, 6, and &. This portion of the control law is set
up such that it reduces the system so that it appears to be a unit mass.
‘This will become clear when we do an example below. The second part
of the control law makes use of feedback to modify the behavior of the
system. Since the model-based portion of the control law has the effect
of making the system appear as a unit mass, the design of the servo
portion is very simple—gains ere chosen to control a system compose?
of a single unit mass (i.¢., no friction, no stiffness).
the f
wher
is tal
‘unit
result
Clear
input
the s
FIGU
contre9.5 Control law partitioning [313
} ‘The model-based portion of the control appears in a control law of
itial the form
tive
fe fraf'+B, (9.41)
where a and @ are functions or constants and are chosen so that if f”
is taken as the new input to the system, the system appears to be a
and ‘unit mass. With this structure of control law, the system equation (the
hich result of combining (9.40) and (9.41) is
ness
\uire mé-+ be + ke = af" +8. (9.42)
Clearly, in order to make the system appear as a unit mass from the f”
sae input, for this particular system we should choose a and fi as
B= bet ke. (9.48)
} Making these assignments and plugging them into (9.42), we have
ae the system equation
that @=/' (9.44)
bused FIGURE 9.8 A closed loop control system employing the partitioned
: control method.314
9 Linear control of manipulators
This is the equation of motion for @ unit mass. We now proceed as if
(9.44) were the open loop dynamics of a system to be controlled. We
design a control law to compute f' just as we did before:
f
Kyi — kya. (9.45)
Combining this control law with (9.44) yields
(9.46)
Bt hye + hy
Using this methodology, the setting of the control gains is simple, and
is independent of the system parameters, namely
(9.47)
must hold for critical damping. Figure 9.8 shows a block diagram of the
partitioned controller used to control the system of Fig. 9.6.
EE EXAMPLE 0.5
If the parameters of the system in Fig. 9.6 are m = 1, 6 = 1, and
k = 1, find @, 8, and gains k, and k, for a position-regulation control
law which results in the system being critically damped with a closed
loop stiffness of 16.0.
We choose
(9.48)
so thet the system appears as a unit mass from the fictitious f" input. We
then set gain k, to the desired closed loop stiffness, and set k, = 2\/ky
for critical damping. This gives
ky = 16.0,
k=80 0 (9.49)
Rath
enhar
trajec
specit
is sm
gener
error
contr
We s:
of mc
or
Since
the ¢
damp
be w
relati
our tve
15)
16)
nd
47)
she
48)
We
149)
9.6 Trajectory-following control
FIGURE 9.9 A trajectory following controller for the system in Fig. 9.6
9.6 _ Trajectory-following control
Rather than just maintaining the block at a desired location, let us
enhance our controller so that the block can be made to follow a
trajectory. The trajectory is given by a function of time, e4(), which
specifies the desired position of the block. We assume that the trajectory
is smooth (i.e., the first two derivatives oxist) and that our trajectory
generator provides 24, 4, and dy at all times ¢. We define the servo
error between the desired and actual trajectory as e = 24-2. A servo
control law which will cause trajectory following is
f= Bg t het hye (9.50)
We see that (9.50) is a good choice if we combine it with the equation
of motion of a unit mass (9.44), which leads to
fig thyet hye, (9.51)
or
Eth tkye = 0. (9.52)
Since this is a second-order differential equation for which we can choose
the coefficients, we can design any response we wish (often critical
damping is the choice made). Such an equation is sometimes said to
be written in error space since it describes the evolution of errors
relative to the desired trajectory. Figure 9.9 shows a block diagram of
our trajectory following controller.
315,316.
9 Linear control of manipulators
Ifour model is perfect (i.¢., our knowledge of m, b, and k) and if there
is no noise and no initial error, the block will follow the desired trajectory
exactly. If there is an initial error, it will be suppressed according to
(9.52), and thereafter the system will follow the trajectory exactly.
9.7 _ Disturbance rejection
One of the purposes of # control system is to provide disturbance
rejection, that is, to maintain good performance (i.c., small errors) even
in the presence of some external disturbances or noise. In Fig. 9.10, we
show the trajectory-following controller with an additional input of a
disturbance force, fzj.;- An analysis of our closed loop system leads to
the error equation
B+ Ret hye = Sacer (9.58)
Equation (9.53) is that of a differential equation driven by a foreing
function. If it is known that fyjse is bounded, that is, a constant @
exists such that
max facee(t) <0 (9.54)
then the solution of the differential equation, ¢(t), is also bounded. This
is due to a property of stable linear systems known as bounded-input,
FIGURE 9.10 A trajectory-following control system with a disturbance
acting.
bor
enst
ass
Ste:
Let’
ac
ana
are
equ
or
iscl
ere
Adc
Inc
tim:
tot
whi
The
int
writ
whic
5053)
ing
ta
this
out,
9.7 Disturbence rejection
bounded-output or BIBO stability [3, 4]. This very basic result
ensures that for a large class of possible disturbances, we can at least be
assured that the system remains stable.
Steady-state error
Let’s consider the simplest kind of disturbance, namely when fui: is
a constant. In this case we can perform a steady-state analysis by
analyzing the system at rest (j.e., the derivatives of all system variables
are zero). Setting derivatives to zero in (9.53) yields the steady-state
equation
ye = faists (9.55)
or
€= faiee/hy (9.56)
‘The value of ¢ given by (9.58) represents a steady-state error. Thus it
is clear that the higher the position gain k, the smaller the steady-state
error will be.
Addition of an integral term
In order to eliminate steady-state error a modified control law is some-
times used. The modification involves the addition of an integral term
to the control law. The control law becomes
Bg t hye + hye + hy { edt, (9.57)
which results in the error equation
Bt hye t hye hy | edt = far (9.58)
‘The term is added so that the system will have no steady-state error
in the presence of constant disturbances. If e(t) < 0 for # < 0 we can
write (9.58) for t > 0 as
hye + ket hie = fists (9.59)
which in the steady-state (for a constant disturbance) becomes
ke =0, (9.60)
(9.61)
317318
9 Linear control of manipulators
With this control law the system becomes a third-order system,
and one can solve the corresponding third-order differential equation
to determine the response of the system to initial conditions. Often
kk; is kept quite small so that the third-order system is “close” to the
second-order system without this term (j.e., a dominant pole analysis can
be performed). The form of control law (9.57) is called a PID control
law, or “proportional, integral, derivative” control law (4]. For simplicity,
the displayed equations generally do not show an integral term in the
control laws which we develop in this book.
9.8 Continuous vs. discrete time control
In the control systems we have discussed we implicitly assumed that
the control computer performs the computation of the control law in
zero time (i.e., infinitely fast) so that the value of the actuator force
f follows that of a continuous function of time. Of course, in reality
the computation requires some time, and the resulting command
force is therefore a discrete “staircase” function. We shall employ this
approximation of a very fast control computer throughout the book.
‘This approximation is good if the rate at which new values of f are
computed is much foster than the natural frequency of the system being
controlled. In the field of discrete time control or digital control
one does not make this approximation but rather takes the servo rate
of the control system into account when analyzing the system (3).
We will generally assume that the computations can be performe:!
quickly enough thet our continuous time assumption is valid. This raises
the question of how quick is quick enough? There are several points which
need to be considered in choosing a sufficiently fast servo (or sample)
rate:
‘Tracking reference inputs: The frequency content of the desired
or reference input places an absolute lower bound on the sample rate
The sample rate must be at least twice the bandwidth of reference
inputs. This is usually not the limiting factor.
Disturbance rejection: In disturbance rejection, an upper bound
on performance is given by a continuous time system. If the sample
period is longer than the correlation time of the disturbance effects
(assuming statistical model for random disturbances), then these
disturbances will not be suppressed. Perhaps a good rule of thumb
is that the sample period should be 10 times shorter than tHe
correlation time of the noise [3].
Tn this
of am
model
compl
curren
motor
magne
field a:
ofash
The ec
with t
{also ¢
in the
causes
windir
where
experi
the wi
Gener
of asi
the ovevion
Often
o the
iscan
ntrol
sicity,
in the
1 that
law in
< force
reality
vanded
ay this
hook.
are
a being
ontrol
0 rate
4
formed
s raises
which
sample)
desired
ple rate.
eference
bound
> sample
ve effects
ven these
of thumb
«A the
9.9 Modeling and control of a single joint
Antialiasing: Aay time an analog sensor is used in a digital control
scheme, there will be a problem with aliasing unless the sensor's
output is strictly band limited. In most cases, sensors do not have a
band limited output, and so sample rate should be chosen such that
the amount of energy which appears in the aliased signal is small.
Structural resonances: We have not included bending modes in
our characterization of a manipulator’s dynamics. All real mecha-
nisms have finite stiffness and so will be subject to various kinds
of vibrations. If it is important to suppress these vibrations (and it
often is) we must choose a sample rate which is at least twice the
natural frequency of these resonances. We will return to the topic
of resonance later in this chapter.
3.9 Modeling and control of a single joint
In this section we will develop a simplified model of a single rotary joint
of a manipulator. A few assumptions will be made which will allow us to
model the resulting system as a second-order linear system. For a more
complete model of an actuated joint, see [5].
A common actuator found in many industrial robots is the direct
current (DC) torque motor (see Fig. 8.18). The nonturning part of the
motor (the stator) consists of a housing, bearings, and either permanent
magnets or electromagnets. These stator magnets establish a magnetic
field across the turning part of the motor (the rotor). The rotor consists
of ashaft and windings through which current moves to power the motor.
The current is conducted to the windings via brushes which make contact
with the commutator. The commutator is wired to the various windings
{also called the armature) in such a way that torque is always produced
in the desired direction. The underlying physical phenomenon ‘6] which
causes a motor to generate a torque when current passes through the
windings can be expressed as
Faq xB, (9.62)
‘here charge g, moving with velocity V through a magnetic field B,
experiences a force F. The charges are those of electrons moving through
the windings, and the magnetic field is that set up by the stator magnets.
Generally, the torque producing ability of a motor is stated by means
of a single motor torque constant which relates armature current to
the output torque as
319)320
9 Linear control of manipulators
Tm = knta: (9.63)
When a motor is rotating it acts like e generator and a voltage develops
across the armature. A second motor constant, the back emf constant*
describes the voltage generated for a given rotational velocity as
0 = bab (9.64)
Generally, the fact that the commutator is switching the current through
various sets of windings causes the torque produced to contain some
torque ripple. Although sometimes important, this effect can can
generally be ignored (in any case it is quite herd to model, and quite
hard to compensate even if it is modeled),
Motor armature inductance
Figure 9.11 shows the electric circuit of the armature. The major
‘components are a voltage source, vg, the inductance of the armature
windings, [,, and the generated back emf, v. ‘The circuit is described by
a first-order differential equation given by
la — bebe (9.65)
Iyig + Tata
It is generally desirable to control the torque generated by the motor
(rather than the velocity) with electronic motor driver circuitry. These
drive circuits sense the current through the armature and continuously
adjust the voltage source v, so that a desired current j, flows through the
FIGURE 9.11 ‘The armature circuit of a DC torque motor.
* “emf” stands for electromotive force.
armat
In the
can be
an up
het ef
and o
can b:
freque
to the
drive «
F assum
essent
factor
4 acts as
Effecti
Figure
motor
applies
i, flow
in the
FIGURL
gearing» od)
lops
ant®
3.64)
ough
ome
can
quite
rajor
ture
aby
9.9
fodeling and control of a single joint
armature. Such a circuit is called a current amplifier motor driver (7].
In these current drive systems, the rate at which the armature current.
can be commanded to change is limited by the motor inductance , and
an upper limit on the voltage capability of the voltage source v,. The
net effect is that of a low pass filter between the requested current
and output torque.
Our first simplifying assumption is that the inductance of the motor
can be neglected. This is a reasonable assumption when the natural
frequency of the closed loop control system is quite low compared
to the cut-off frequency of the implicit low pass filter in the current
drive circuitry due to the inductance. This assumption, along with the
assumption that torque ripple is a negligible effect, means that we can
essentially command torque directly. Although there may be a scale
factor (such as k,,) to contend with, we will assume that the actuator
acts as a pure torque source that we can command directly.
Effective inertia
Figure 9.12 shows the mechanical model of the rotor of a DC torque
motor connected through a gear reduction to an inertial load. The torque
applied to the rotor, Tq, is given by (9.63) as a function of the current
i, flowing in the ermature circuit. The gear ratio (7) causes an increase
in the torque seen at the load and a reduction in the speed of the load
FIGURE 9.12 Mechanical model of a DC torque motor connected through
gearing to an inertial load.
321[322 | 9 Linear control of manipulators 7
as given by Unme
THN ms
The
i a (9. z
b= (smn - searit
all of
where > 1. Writing a torque balance for this system in terms of torque would
at the rotor yields flexib
= Landa + bmn + (1/0) (18+ 8 (9.67) freque
neglec
where I,, and I are the inortias of the motor rotor and the load that v
respectively, and b,, and 6 are viscous friction coefficients for the rotor purpe
and load bearings. Using the relations (9.66) we can write (9.67) in and v
terms of motor variables as 8
1); b); syster
tm = (Lm + a) Gm + ont 5) bm 9.68) ys
(imi) Bat (oe (0 tr
or in terms of load variables as limit
ra (Lem lin) 6+ (6+ 07m) 6. (9.69)
‘The term J+n?J,, is sometimes called the effective inertia “seen”
at the output (link side) of the gearing. Likewise, the term 6 + 7°b,, This
can be called the effective damping. Note that in a highly geared While
joint (ie., 7 >> 1) the inertia of the motor rotor can be a significant and
portion of the combined effective inertia. It is this effect that allows us reson:
to make the assumption that the effective inertia is a constant. We know have
from Chapter 6 that the inertia, J, of a joint of the mechanism actually design
varies with configuration and load. However, in highly geared robots the introc
variations represent a smaller percentage than they would in a direct reson:
drive manipulator (ie., 7 = 1). To ensure that the motion of the robot
link is never underdamped. the value used for [ should be the maximum —
of the range of values that I takes on; we'll call this value Ipge+ T2 c
choice results in a system that is critically damped or overdamped in all b=
situations. In Chapter 10 we will deal with varying inertia directly and ee
will not have to make this assumption. ‘and L
doesn
eS EXAMPLE 9.6 stiffne
If the apparent link inertia, Z, varies between 2 and 6 Kgm?, the v
rotor inertia is J,, = 0.01. and the gear ratio is 7 = 30, what are ti:
minimum and maximum of the effective inert
‘The minimum effective inertia is
Emin +1 In = 2.0 + (900)(0.01) (9.70) so the
and the maximum is Using
Taz +1? lym = 6.0 + (900)(0.01) = 15.0. (9.71)
ay
Hence, we see that as a percentage of the total effective inertia, the car
variation of inertia is reduced by the gearing. systen)
(9.66)
orque
(9.67)
» load
rotor
87) in
(9.68)
(9.69)
seen”
=P bm
geared
ificant
us
e xhow
tually
ots the
direct
2 robot
ximum
_ This
din all
dy and
a, the
are the
(9.70)
(9.71)
= 4 the
9.9 Modeling and control of a single joint
Unmodeled flexibility
‘The other major assumption we have made in our model is that the
gearing, shafts, bearings, and the driven link are not flexible. In reality
all of these elements have finite stiffness. and their flexibility, if modeled.
would increase the order of the system. The argument for ignoring
flexibility effects is that if the system is sufficiently stiff, the natural
frequencies of these unmodeled resonances are very high and can be
neglected compared to the influence of the dominant second-order poles
that we have modeled.* The term “unmodeled” refers to the fact that for
purposes of control system analysis and design, we noglect these effects
and use 6 simpler dynamic model, such as (9.69).
Since we have chosen not to model structural flexibilities in the
system, we must be careful not to excite these resonances. A rule of
thumb [8] is that if the lowest structural resonance is w,.,, then we must
limit our closed loop naturel frequency according to.
1
Wn S Gres: (9.72)
‘This provides some guidance as to how to choose gains in our controller.
While we have scen that increasing gains leads to faster response
and lower steady-state error, we now sce that unmodeled structural
resonances limit the magnitude of gains. Typical industrial manipulators
have structural resonances in the range of 5Hz to 25Hz [8]. Recent
designs using direct drive arrangments which do not contain flexibility
introduced by reduction and transmission systems have lowest structural
resonances es high as 70H [9].
NN EXAMPLE 9.7
Consider the system of Fig. 9.6 with the parameter values m = 1,
b= 1, and k = 1. Additionally, it is known that the lowest unmodeled
resonance of the system is at 8 radians/second. Find a, 8, and gains k,
and k, for a position control law so the system is critically damped.
doesn't excite unmodeled dynamics, and hes as high:a closed loop
stiffness as possible.
We choose
Saate. ie
so that the system appears as a unit mass from the fictitious f" input.
Using our rule of thumb (9.72), we choose the closed loop natural
* This is basically the same argument we used to neglect the pole due to the
motor inductance. Including it would also have raised the order of the overall
system,
323,324
9 Linear contro! of manipulators
frequency to be w,, = 4radians/second. From (9.18) and (9.46) we have
ea,
k, = wi, so
(9.74)
Estimating resonant frequency
‘The same sources of structural flexibility discussed in Chapter 8 give
rise to resonances. In each case where a structural flexibility can be
identified, an approximate analysis of the resulting vibration is possible
if we can describe the effective mass or inertia of the flexible member.
‘This is done by approximating the situation by a simple spring-mass
system, which, as given in (9.20) exhibits a natural frequency of
Jkjrn, (9.75)
Wn
where k is the stiffness of the flexible member, and m is the equivalent
mass displaced in vibrations.
NN EXAMPLE 9.8
A shaft (assumed massless) with a stiffness of 400 Nt m/radian drives
a rotational inertia of 1KgM?. If the shaft stiffness was neglected ix
modeling of the dynamics, what is the frequency of this unmodeled
resonance?
Using (9.75) we have
Wreg = VAO0]I = Wrad/second = 20/(2x)Hz%3.2Hz, a (9.76)
For the purposes of a rough estimate of the lowest resonant frequency
of beams and shafts, [10] suggests using a lumped model of the mass.
We already have formulas for estimating stiffness at the end of beams
and shafts, and these lumped models provide the effective mass or inertia
needed for our estimation of resonant frequency. Figure 9.13 shows the
results of an energy analysis [10] which suggests that a beam of mass
m be replaced by a point mess at the end of 0.237, and likewise that
a distributed inertia of J be replaced by a lumped 0.33 f at the end of
the shaft.
FIGU
and t
3600
due 1
of Fi
vibre
used
loop
mode
situa
beyo
of re
Cont:
Tn su.74)
give
n be
‘sible
aber.
mass
0.75)
irives
sdeled
(9.76)
noney
mass
beams
inertia
ws the
£ mass
se that
dof
9.9 Modeling and control of a single joint
FIGURE 9.13 Lumped models of beams for estimation of lowest lateral
and torsional resonance.
EE EXAMPLE 9.9
‘A link of mass 4.347Kg has an end-point lateral stiffness of
3600 Nt/m. Assuming the drive system is completely rigid, the resonance
due to the flexibility of the link will limit control gains. What is w,¢.?
The 4.347 Kg mass is distributed along the link. Using the method
of Fig. 9.13, the effective mass is (0.23)(4.347) © 1.0Kg. Hence, the
vibration frequency is
Urea = V3600/1.0 = 60 radians/second = 60/(2r) Hz *9.6H2, (9.77)
‘The inclusion of structural flexibilities in the model of the system
used for control law synthesis is required if we wish to achieve closed
loop bandwidths higher than that given by (9.75). The resulting system
models are of high order. and the control techniques applicable to this
situation become quite sophisticated. Such control schemes are currently
beyond the state of the art of industrial practice but are an active area
of research (11, 12]
Control of a single joint
In summary, we make the following three major assumptions:
1. The motor inductance J, can be neglected.
325,326,
9 Linear control of manipulators
2, Taking into account high gearing, we model the effective inertia
as a constant equal to Ima + 1?Lm-
3. Structural flexibilities are neglected except that the lowest struc-
tural resonance w,,, is used in setting the servo gains,
With these assumptions, a single joint of a manipulator can be
controlled with the partitioned controller given by
=Imaz + lms
(9.78)
B= b+ bm: ai
and
Tab thyet hye. (9.79)
The resulting system closed loop dynamics are
Bt hye + hye = Tasses (9.86)
where the gains are chosen as
(9.81)
9.10 Architecture of an industrial robot controller
In this section we briefly look at the architecture of the control system
of the Unimation PUMA 560 industrial robot. As shown in Fig. 9.14,
the hardware architecture is that of a two-level heirarchy with a DEC
LSI-11 computer serving as the top-level “master” control computer
passing commands to six Rockwell 6503 microprocessors.* Each of t]
microprocessors controls an individual joint with a PID control law not
unlike that presented in this chapter. Each joint of the PUMA 560
instrumented with an incremental optical encoder, The encoders are
interfaced to an up/down counter which the microprocessor can read to
obtain the current joint position. There are no tachometers in the PUMA
* These simple 8-bit computers are already old technology. It is not unusus!
these days for robot controllers to be based on 32-bit microprocessors like 1"
Motorola 68020.
ae
1
Fit
Sf robot
FIGU
PUM.
560; r
= obtain
DC tc
conve
driver
analo;
to marue-
1 be
9.78)
9.79)
9.80)
9.81)
ystem
9.14,
DEC
iputer
i these
ww not
560 is
ws are
ead to
2?UMA
what
like the
9.10 Architecture of an industrial robot controller
327
PIGURE 9.14 Hierarchical computer architecture of the PUMA 560
robot control system.
FIGURE 9.15 Functional blocks of the joint control system of the
PUMA 560,
560; rather, joint positions are differenced on subsequent servo cycles to
obtain an estimate of joint velocity. In order to command torques to the
DC torque motors, the microprocessor is interfaced to a digital to analog
converter (DAC) so motor currents can be commanded to the current
driver circuits, The current flowing through the motor is controlled in
analog circuitry by adjusting the voltage across the armature as needed
to maintain the desired armature current.328
9 Linear control of manipulators
Fach 28 milliseconds the LSI-11 computer sends a new position
command or set-point to the joint microprocessors. The joint mi-
croprocessors are running on a 0.875 millisecond eycle. In this time,
they interpolate the desired position set-point, compute the servo error,
compute the PID control law, and command a new value of torque to
the motors.
‘The LSI-11 computer carries out all the “high-level” operations of
the overall control system. First of all, it takes care of interpreting the
VAL (Unimation’s robot programming language) program commands
one by one. When a motion command is interpreted, the LSI-11 must
perform any needed inverse kinematic computations, plan a desired tra-
jectory, and begin generating trajectory via points every 28 milliseconds
for the joint controllers.
‘The LSI-11 is also interfaced to standard peripherals such as the
terminal and a floppy disk drive, In addition to these peripherals, it is
also interfaced to a teach pendant. A teach pendant is a hand-held
button box which allows the operator to move the robot around in a
variety of modes. For example, the PUMA 560 system allows the user
to move the robot incrementally in joint coordinates or in Cartesian
coordinates from the teach pendant. In this mode, teach pendant buttons
cause a trajectory to be computed “on the fly” and passed down to the
joint control microprocessors.
References
(1) W. Boyce and R. DiPrima,Elementary Differential Equations, 3rd edition.
John Wiley and Sons, New York, 197
[2] B. Purcell, Calculus with Analytic Geometry, Meredith Corporation, Now
York, 1972.
[3] G. Franklin and J. D. Powell, Digital Control of Dynamic Systems, Addison-
Wesley, Reading. Mass., 1980.
(4) G. Franklin, J.D. Powell, and A. Emami-Navini, Feedback Control of Dy-
namic Systems, Addison-Wesley, Reading, Mass., 1986.
{5] J. Luh, “Conventional Controller Design for Industrial Robots—a Tutorial,”
IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-
No, 3, June 1983.
(6) D. Halliday and R. Resnik, Fundamentals of Physics, Wiley, 1970.
[7] ¥. Koren and A. Ulsoy, “Control of DC Servo-Motor Driven Robots,”
Proceedings of Robots 6 Conference, SME, Detroit, March 1982.
8] RP. Paul, Robot Manipulators, MIT Press, 1981.
(9] H. Asada and K. Youcef-Tourni, Direet-Drive Robots—Theory and Practice,
MIT Press, 1987,
[10] J. Shigley, Mechanical Engineering Design, 3rd edition, McGraw-Hill, 1977.
(11) W. Book, “Recursive Lagrangian Dynamics of Flexible Manipulator Arms.”
The International Journal of Robotics Research, Vol. 3, No. 3, 1984.
(1) R
Exerc
O1
9.2
9.3
9.4
9.5
9.6
9.7
[oe
Skiffuess is Bere)
yp
mi
cime,
wrror,
3e to
ns of
3 the
sands
must
Vira.
‘onds
s the
it is
-held
ina
user
esian
ttons
© the
)
lition,
, New
dison-
of Dy-
orial,”
{0-13,
sbots,”
vuetice,
WT.
a
Exercises [329
{12} R. Cannon and E. Schmitz, “Initial Experiments on the End-Point Control
of a Flexible One Link Robot,” The International Journal of Robotics
Research, Vol. 3, No. 3, 1984.
Exercises
[20] For a second-order differential equation with complex roots
8 = Athi,
sg =A-Hi,
show that the general solution
a(t) = eet! + cgeta",
can be written
a(t) = cye** cos(yt) + cge** sin(ut).
[13] Determine the motion of the system in Fig. 9.2 if parameter values
are m = 2, b= 6, and k = 4 and the block (initially at rest) is released
from the position x = 1.
[13] Determine the motion of the system in Fig, 9.2 if parameter values
are m= 1, b= 2, and k = 1 and the block (initially at rest) is released
from the position 2 = 4,
(13] Determine the motion of the system in Fig. 9.2 if parameter values
are m = 1, b= 4, and k = 5 and the block (initially at rest) is released
from the position 2 =
9.5 [15] Determine the motion of the system in Fig. 9.2 if parameter values
are m= 1, 8= 7, and k = 10 and the block is released from the posi
2 = 1 with an initial velocity of ¢ = 2.
9.6 [15] Use the (1,1) element of (6.60) to compute the variation (as 2
percentage of the maximum) of the inertia “seen” by joint 1 of this robot
as it changes configuration. Use the numerical values
© © ®
m, = 40Kg,
mg = 2.0Kg.
Consider that the robot is direct drive and the rotor inertia is negligible.
9.7 [17] Repeat Exercise 9.6 for the case of a geared robot (use 7 = 20) and
a rotor inertia of I, = 0.01 Kg mn”,