Vous êtes sur la page 1sur 8

SIMULATION OF A CARTESIAN ROBOT ARM

W. L. Nelson and J . D. Chang


Bell Laboratories
Murray Hill, New Iersey 07974

(pole-zero)compensationnetwork,
an overall frequency rolloff at
about 1000 Hz, and an output voltage limit, V,. The preamplifier's
two poles and one zero can be described by the linear combination of
twoauxiliary state variables, y4 and y5. The nonlineardynamics of
the motor-controller are represented by the motor current, which is
the state variable, y6.

ABSTRACT This paperdescribesaprogramfor


the simulation of
the control logic andsystemdynamics
of a robot arm having three
Cartesianaxes of motion plustwo rotationalaxes of the wrist. The
program was written in the C languageand includesa fourth-order
Runge-Kutta
algorithm
for
the
integration
of the nonlinear
differential equations for the individual axes. Validation of the
program operation and evaluation of the many system parameters are
.also discussed. The simulated motion is compared and adjusted to fit
experimental data on the actual arm motion. The results indicate that
the simulation can be auseful and safe meansfor off-line testing of
system changes and new control schemes.

The AID 600 slave control unit computes the set-velocity voltage for
each movement
axis
in
the high-level command
software,
using
informationfrom
position andspeed-scheduleinputs,(markedas
'track' data input inFig. 2) plusfeedback data fromoptical encoder
on the motor shaft.The set-velocity voltage output is modeled asa
sampled-data deviceofperiod
5 ms; the position feedbackoptical
encoder input also has a period of 5 ms. The input ofnew track data
from themaster controlunitoccurs at 80 ms intervals. The control
logicused
in the slave controlunit
is acombination
of position,
velocity, andintegrated
position functions, as shownin
the lower
dynamics of the closed-loop
portion of Fig. 2. In summary,the
control system for a single axis of the robot arm motion is represented
by the seven state variables:

I. INTRODUCTION
Computersimulations
of thedynamics
of robot armsare
found
extensively in the literat~re.'-~ Theadvantages of having a program
that accurately reflects a robot's dynamics are great: having a virtual
second robot allows one to try experimental control algorithms without
the danger of hurting the robot or personnel.
The simulation of the dynamics of the Automatix AID 600 robot was
written in the Clanguage, closelyfollowing theform of aprogram
previously written by M K Brown for the simulation of arobot
gripper.5

yo
y,arm
y2
y3
y4

arm position (m.)


velocity (m/s.)
motor angle(rad.)
motor velocity (rad/s.)
controllerpreamp.variable
ys controllerpreamp.variable
y6
motor
current (amps.)

11. DESCRIPTION OF DYNAMICS

The AID 600 robot arm has Cartesian X Y Z axes of motion,plusa


wrist withtwo-axis revolute pitch and roll motion. The orientation of
these axes with respect to the robot arm is shown in Fig. 1. The gross
dynamics of the robot arm can besimplifiedby
assuming the X Y Z
axes uncoupled and the wrist a constant-mass payload with negligible
coupling effects, allowing the individual axes
to
be simulated
independently of each other.The existingprogramconsiders
the X
axis; suitable substitution of constants can yield models for the Y and
Z axes.

Four auxiliaryvariables, which are functions of thestate variables,


are: fg, the force coupled through the gear drive in Newtons (N), F,,
thestatic frictionforce (N), V,, the motorvoltage, and, V,, the
controller preamp. output voltage.
In terms of these variables, the differential equations of motion are:

Figure 2 is a system block diagram for one of the robot axes. In this
figure, J, is the moment of inertia of the axis servo-motor, and B, is
the motordamping.Thelineardynamics
of the robot axis canbe
described by the twostate variables position, yo,and velocity yl.
Because the effects of motor gear backlash are to be examined, the
nonlinear effects of the coupling and uncoupling of therackand
pinion system of the arm andmotor gearare described with two
additionalstate variables: gear angle, y2, and gear angular
velocity,
y3, with the drive force transmitted through the stiffness and friction
of the gear train when the teeth are in contact.

Yo

= Y1

(1)

Y2 = Y3

Y4 =

Withinthevoltagesaturationlimits,thedriveractsasacontrolled
current source with transconductance Ki, as maintained by a current
feedback loop in the controller circuitry. When the motor reaches the
voltage saturationlimit,itcanbecharacterized
by asingle-pole
inductance-resistance model with aback EMF proportional tothe
motor angular velocity. The motor is driven by acontroller with an
input for a reference (set-velocity) voltage, and an inverting input for
a tachometer feedback voltage. The controller has aswitchingmode
power drive unit, preceded by a preamplifier consisting
of a lag-lead

Ys

where B, is the viscous friction coefficient and M the mass of the


arm-rack mechanism; B, is the rotational friction coefficient, J, the
inertia, K, the torque constant of the motor, and rg the radius of the
pinion gear. The controller parametersarethe
compensation pole
time constant, T,, the high frequency roll-off time constant, T,,and

212

CH2008-1/84/0000/0212$01.0001984 IEEE

1 (volts)

2 (volts/s.)

the signal 1 and 2 inputgains, K, and K,. The controllerinputs are


the set-velocityvoltage, U(t), andthetachometerfeedbackvoltage,
which is Kt times the motor angular velocity, y,(t).

111. RESULTS
Thestatevariable
differentialequations (1) areintegrated usinga
fourth
order
Runge-Kutta
numerical
integration
algorithm
as
described in Ref. [51. The following x-axisparameters usedin the
programwereprovided
by manufacturersspecifications6and
data
provided by engineers at Automatix, Inc.:

The controller preamplifier output voltage is given by


Vc = y4

+ T,YS,

IVcI

VL

(2)

As is indicated in Fig. 2,themotorvoltage


is proportionaltothe
preamplifier output minus the current feedback, i.e.,

V,

K,(Vc - y&i)

IV,I

< V,

Armature resistance
Armature inductance
Motor EMF constant
Motor torque constant
Armature inertia (no-load)
Armature damping
Tachometer gain
Motor gear radius
Gear backlash
Arm mass

(3)

where K, is theforward
gainof
the powerunitand
Ki is the
conductance of thecurrentfeedbackpath.
When K, is sufficiently
large,
and
when lVml
V,,
the controller acts
aas
y6 KiV,.However,
transconductance
amplifier
with
the
current,
in (1) and the voltage equations (2) and (3) with
the equation for
their
limit
conditions
are necessary
to
adequately
simulate
the
nonlinearconditionswhichgenerallyprevailinthecontrollerduring
arm movements.

<

y,

Compensation zero time constant


Compensation pole time constant
Preamp rolloff time constant
Set velocity gain
Tachometer feedback gain
Transconductance gain
Motor voltage limit

The gearcouplingforce
is determined by thecouplingstiffness, kg,
the couplingfrictioncoefficient,
b,, andthe differencebetween the
position of thepiniongearand
the rackrelative
tothe backlash
distance, H. Let the pinion-rack position difference be denoted by X,
namely:
x = TgY2

- Yo

(x-H)k,

+ (rgy3-yl)bg

, x

(x+H)k,

+ (rgy3-yl)bg

, x < -H

>H
(5)

The axis-loadfrictionhastwocomponents.First,aviscousfriction
proportionaltovelocity,which
is reasonably well modelled by the
linear force, Bayl; and second, a static friction, F,; which is modelled
as a force doublet in the region of zero velocity, i.e.

lyll < v
otherwise

F,sgn[~,I,

Fs={

where w is thethresholdvelocity
component disappears.

level at whichthe

The controllerparameters used toestablishthedesiredset-velocity


T,, of the pole in the lead-lag
response arethetimeconstant
compensationnetwork;
the set-velocitygain K , , andthefeedback
K,. The procedurerecommended in the
velocity(tachometer)gain
servo controller manual6 is to set the gain K, at its maximum (870),
then adjust the gain K , to give the desired steady-state velocity gain.
For the x-axis, for example, the desired value is 1 m/sec for 10 volts
on the signal 1 input. The time constant, T,, is then adjusted to give
an acceptable transient response.

(6)
static friction

of
The set of Eqs. (1)-(6) from the basis for the nonlinear dynamics
each axis of the robot arm motion simulated in the computer program
If the backlashgap, H, andthestatic
friction, F,,
forthisstudy.
werenegligiblysmall,andthegearcouplingstiffness,
kg, voltage
K,, were
arbitrarily
large,
the
limits, V, and V,,
and
gain,
nonlinear,seventh-ordersystemrepresented
by Eqs. (1)-(6) would
reducetoalinear,fourth-order
system.Inthislinearcase,
the
controller power stage is replaced by a current source, y6 = KiV, and
thegearlinkageandaxis
load (see Fig. 2 ) are replaced by an
J, and rotational friction coefficient,
equivalentloadedmotorinertia,
B, given by

= J,

+ riM ,

0.00705 sec
0.0071 to 4.74 sec
0.000159 sec
0 to 3333
80 to 870
3 ampholt
95 volts

The remaining system parameters needed for


the simulation were the
arm and gear tooth friction coefficients, the gear tooth spring constant
and the actual values of T,, K,,K,, and V,in the controller. Since
the values
for
these
parameters
were
not
available
from
the
manufacturer,
they
were
estimated
by comparisons
between
simulation results and actual measurements on the individual axes of
therobot arm, using an accelerometermountedon
the arm,along
with tachometer and controller test-point measurements.
The validity
of some of theother systemparameterswerealsotested
by this
process.

,-H<xGH

ohms
henries
volt sec/rad
N damp
N m sec
N m sec
volt sec/rad
m
m
kg

(4)

Then the coupling force is

f8

0.56
0.00235
0.289
0.289
0.000847
0.000733
0.0668
0.00573
0.00001
146

B,

For the x-axis test runs, the gain K, was automatically computed as a
function of K, to maintain the desired steady-state gain of 0.1 m/sec
per volt. One of theprogram validationtests was alinearsystem
check,wherethenonlinearfactorsinthesimulationprogramwere
removed (Le. no saturation, static friction, or backlash and ideal gear
coupling). The stepresponsefrom
the linearizedsimulationwas
compared
with
thestep
response
obtained
analytically
from
the
transferfunction
of thelinear system. That thesimulationresults
agreed with the analytical results is shown in Fig. 3 for two values
of
thetimeconstant, T,. The lowerplotindicates that the linear step
responsecan be made to reach thesteady-statevalueinabout0.03
seconds.However, the motor current required for thisrapidresponse
has a peak value more
than 40 times the rated peak current for the
motor.
Thus,
saturation
limits
will preclude
this
rapid,
linear
response.

+ riBa ;

andtheoutputpositionandvelocityaresimplythegearradius,
rg,
times the motor angular position
and
velocity.
This
linear
approximationmodel was used in part of the testingphase of the
study, described in the next section. However, nonlinear effects of the
gear backlash, static friction, and especially the saturation limits, have
a significant effect on the dynamics of the arm movement; hence the
inclusion of thesenonlinearities in the simulation is important for a
reasonably accurate representation of the actual arm movement.

A secondset of runswasmadeusingthesaturation,backlash,and
otherparametervaluesasgivenintheabove
list. The gain K, was
set at 870,whichrequiredavalue
for K, of 1014 for the desired 1
m/sec steady-state velocity. The time constant, T,, was then reduced

213

in a series of steps from the maximum of 4.74 sec to a value of 0.04


sec., where
a
transient response similar to the desired response
specified in the controller
manual6
was obtained. Plots of the
simulated x-axis position, velocity, motor angular velocity, current and
voltage, and gear force, for T, = 0.04 sec are shown in Fig. 4. It can
beseen that the motor current is at the limitvalue formost of the
transientpart of the velocity step response, andthat as the velocity
reaches the 1 m/sec.set-velocity, thecurrenttransient changesto a
more rapid "ringing" transient which decays to the proper steady-state
value. For the system parameters used in these
test
runs, the
"ringing" transient decays at an undesirably slow rate if T, is reduced
below about 0.04 sec.

REFERENCES
K. J. Astrom, "Computeraidedmodeling,analysisand
design
of controlsystems - a perspective," IEEE ControlSystems
Magazine, 3, No. 2, 4-16 (1983).
S . Derby, "Simulating motion elements of general-purpose
robot arms," International Journal of Robotics, 2, No. 1, 3-12
(1983).
N. Qrlandea
and
T. Berenyi,
"Dynamic
continuous
path
synthesis of industrial robots using ADAMS computer
program," Trans. of the ASME: Journal of mechanical design,
103, 602-607 (1981).
R. Walker, C. Gregory, and S. Shah,"MATRIX, A data
analysis,systemidentification,control
design andsimulation
No. 4 30-37,
package," IEEE ControlSystemsMagazine2,
(1982).
M. K. Brown, "Computer simulation of a controlled impedance
robot hand" Bell Labs Internal Document, August 5, 1983.
NC400 Series
Servo
Operating
and
Service
Manual:
Controller, ControlSystemsResearch
Division of Contraves
Goerz Corporation, Pittsburgh, 1978.
0. C. Jensen,
W.
L. Nelson,
"Use
of accelerometers for
measurementandcontrol
of robot arm motion," Bell Labs
Internal Document, March 28, 1983.
W. L. Nelson,"Physical principles for economics of skilled
movements," Biol. Cybern. 46, 135-147 (1983).

The initial slope and timeconstant


of thearm
velocity
for
the
exponential rise to the set-velocity value are predominantly governed
by the saturation current level and the arm friction, respectively. The
"ringing" transient in the gear force during this portion of the response
is predominantly governed by thegear
stiffness and friction. By
matching the arm velocity and acceleration output of the simulation
program with
velocity
and acceleration data derived
from
an
accelerometermounted on thearm, reasonable estimates forthese
parameters were obtained. For example for the x-axis, the values
which give a good match are:

V,
I,
B,
b,

k,

Controller
preamp.
limit
Saturationcurrent (= KiVL)
Arm
friction coefficient
Gear friction coefficient
Gear stiffness

2.7 volts
8.1 amp.
200 Nsec/m.
1500 Nsec/m.
5 X lo6 N/m.

When the motor current is not at the saturation limit, the response is
affected by the overall closed-loop characteristics of the system
in Fig. 5 aretheactual
andsimulated
arm
components.Shown
position and velocity patterns for a programmed x-axismovement of
1 meter and a set-velocitylevel of 0.9 m/sec. The control parameters
in the slave processor unit (seeFig.2)
have been adjusted in the
simulation program to match those in
the actual system. While there
are some minor differences in some portions of the response patterns,
appears
it
that
the
simulation adequately represents the basic
characteristics of the robot arm movement.
IV. CONCLUSION
A simulation of the basicnonlineardynamics
for the single-axis
movement and control of an Automatix AID 600 robot arm has been
developed and tested. For the linear case the simulation results agree
very accurately with theanalytical results.However,
the nonlinear
effects of motor currentand voltagelimits in the controllerhave a
predominant impact on the
transient
response of the system.
Therefore,the usual linearsystem design methodsdo not apply for
optimizing the response of thissystem. The nonlinear effect of the
small amount of backlash in the rack and pinion gear train was found
to have only a very small effect on the system response,while the
stiffness of the gear train had a very large effect on the settling time
of the transient response of the system.
Future plans for this program include the simulation of digital control
logic using the position encoder data augmented by accelerometer and
other sensor feedback data. Variouscontrol
strategies - such as
minimum-time, or minimum jerk' can then be evaluatedandtested.
of thex,
y. and z axes,
The simultaneousmovementsimulation
including some cross-coupling effects, is also planned.
ACKNOWLEDGMENTS
subroutines
Theauthors wish to thank M. K. Brownforproviding
usedin thissimulationandformanyuseful
discussions. Thanks are
also due to Brad Hunter of Automatix, Inc., for providing information
on the controller, motor, and arm parameters.

214

Fig. 1

Robot armaxes of motion

215

E
X
a

>
LL
W

216

0.2

0.0

0.4

0.6

0.8

TIME in seconds

VI

Iu
VI

t
0

Tp = .I95 sec

0
0

0.0

0.02

0.04

0.06

0.00

TIME in seconds
Fig. 3

Comparison of simulation
output
(dots)
and
analytic
solution (solid lines) for step response of linearsystem for
t w o values of the compensator time constant, T,.

217

0.io

1
u7

I
88.0

'f?ME

1.0
1.5
i n seconds

2.0

0
[D

m\

Tp-D. 04 sec

'f?ME

901
*In
_.

a.O
1.5
i n seconds

2.0

0.0

0
ul

Fig. 4

Simulationoutput of nonlinear system for T,

218

'7%~

,I
07!?ME

1.0
1.5
i n seconds

2.0

1.0
1.5
i n seconds

2.0

0.04 sec.

0.0

0.5

1.0
TIME i n seconds

1.5

0.0

0.5

1.0
TIME i n seconds

1.5

Fig. 5

Arm position and velocitytimetraces


for x-axismovement
of 1 meter with set-velocity = 1 meter/sec. Solid line is the
integratedaccelerometerdata
for actualarm movement;
dotted line shows the simulation output.

219

2.0

Vous aimerez peut-être aussi