Note: Descriptions are shown in the official language in which they were submitted.
B~CKGE~OUND OF TE~E INVENTION
1. Fi~ld o~ the Invention
This invention relates to program controlled
positioning systems and more particularly to methods and
apparatus for generating control programs for such position-
ing systems by manually imposing forces on -the positionable
member, generating force feedback signals to control the
positioning system to move the member to decrease the forces,
and recording successive signals generated within the
positioning system~
2, Prior Art
-
Program controlled positioning systems are widely
employed with machine tools, transfer machines, work
manipulators and the like, These systems may be broadly
divided into point-to-point controls, which move a positionable ~-
part to a series of discrete positions commanded on a program
without exercising any control over the path or rate of part
motion between these points, and continuous path systems ~;
which exercise control over both the position and rate of
motion of the positionable member through an entire programmed
path. Control programs for these positioning systems -~
typically consist of a series of numerical commar,ds which ~ ~
define either the series of points that the part is to assume ~ ;
,, ~
or the nature of short segments of the desired motion along a ~ ;
continuous pathr
Preparation of these programs requires knowledge of
the positional capability of the machine and a description
':
of the process to be performed, If the machine has a very
limited positional capability programs may be quite simply
generated; i.e~, a cut-off machine may have a stop positionable
~'
bm: ~
.
along a slngle axis. A proyram for forming a series of
parts of different len~ths simply involves the sinyle axis
coordinates of the series of posi-tions the stop must assume.
As the number of controlled axes increases the programming
task becomes more complicated. Some part manipulators may
have a large number of degrees of freedom so that they are
capable of moving parts in the same versatile way as the
human hand. In these systems a particular motion may often
be accomplished by a practically infinite number of
combinations of motions along the various controlled axes
and the programming task is extremely complicated.
In order to avoid the complexities of preparing a
control program based on information relating to the machine
capability and the operations to be performed, it has been
proposed to manually move the positional member through a
desired path and to record the resulting outputs of position
transducers associated with each of the machine's controlled
axes. These transducers need not be specially provided for
the purpose of generating control programs since they form
part of the closed loop drive systems typically employed
with these program controlled machines. U.S. Patent No.
2,475,245 discloses a con~rol system for a lathe driven by
an analog program recorded on magnetic tape. To prepare a
program the lathe operator drives the machine using the
manual controls to form a sample part and the output signals
from synchros in the positioning system are recorded. The
recorded program may then be played back to automatically
control the lathe to form duplicates of the part. U.S.
Patent No. 3,890,552 discloses a program controlled manipu-
lator having manually controllable means for generating control
, .
bm:
, . . .
signals which may either be recorcled for later play-back or
may be used to direc~ly mo~e the manipulator while the outputs
o~ the machine's position transducers are recorded. If the
manipulator has a large number of independent degrees of
freedom this axis-by-axis type of manual control proves
awkward and difficult,
- It is accordingly a broad object of the present
invention to provide a method and apparatus for generating
control programs for a position control system which overcomes
these disadvantages of the prior art~ ?
To achieve this object the present invention draws
upon another, independent line of technology which involves
the use of load cells to measure forces exerted between
workpieces held in the grippers of a manipulator and
independent parts that the supported workpieces are to be
~, . .
assembled with. These load cell signals are used to modify ~-
~,
programmed position commands to achieve desired relationships
between the supported workpiece and the independent part.
Using this mode of feedback may simplify the programs for
various assembly operations. This technique, termed "force
feedback steering" is described in a thesis entitled "Force
Feedback Steering of a Teleoperator System" by Roland Groome,
Jr., submitted to the Massachusetts Institute of Technology
on August 14, 1972.
SUMMARY OE THE INVENTION :
The present invention is directed toward a method
and apparatus for generating a control program for a position -
J
I system by manually exerting forces on the positional member
to direct it along the desired path, employing force feedback
to modify the drive control signals to achieve
,,
-3-
bm:
~, . .. : ~ : -
the desir~d motion and recordin~ the resultant position or
motion rate transducer siqnals. During this process the
command signals ~or the servos whlch control each axis o~
freedom of the machine are derived ~rom the Eorce ~eedback
signals and the positional transducers. I~ rate sensitive
servos are employed the feedback signals represent the rates
of motion of the controlled axes. If positional servos are
employed the feedback signals represent the instantaneo~s
position of the output member. The term "positional condition"
as used hereinafter is intended to generically refer to both
classes of f~ack transducer signals~
The force feedback signals effectively act to
modify the existing command signals to cause motion of the
controlled axes in such a manner as to decrease the force
exerted between the positional member and external
instrumentalities, including forces manually exerted on the
positional member to guide it along the desired path. In a
relatively simple system there may exist a direct, linear
relationship between each component of the force and the
; 20` required change in positional command for each controlled
axis~ For example, considering the positional member as a
stop movable in either direction along a slngle axis, the
system may generate command signals which move the stop at a
rate directly proportional to the force manually imposed on
the stop. When the stop reaches a desired end point, no
further force is exerted and motion of the stop ceases, Tha
operator may then record the output of the position transducer
: and thus generate one block in the control program~ In more
complicated systems a one-to-one relationship will not exist
between the sensor outputs and the command axes and it will
'
. --~L-- .
bm:
.
, :~
,.. ';,.'.'''' .. ' , ' ' ' '
be necessary to per~orm relatively complex computations to
derive the i.ndi.vidual axes control signals from the outputs
of the load cell. These computations will include trans-
lating the outputs of the load cell inko components
representative of the controlled axes. These computations.
may be performed with analog circuitry but in more
sophisticated equipment they are most economically achieved
with a suitably programmed digital computer.
A preferred embodiment of the invention, which will
subsequently be disclosed in detail, takes the form of a
manipulator having a workpiece gripper connected to an arm
formed of a plurality of links. A separate positioning servo
controls the motion of the joint between each two links,
and the positional transducers. for these servos provide a s
portion of the feedback element for the system,
The outputs of the positional transducer may be .
continually recorded to develop a continuous path program -~
. , .
.~ for later control of the system or, alternatively~ the
operator may manually select the positions of the manipulator ;~
~ 20 at which it is desired to record the outputs of the position ;
: transducers, to generate a point-to-point control program.
. This present system not only generates a control ~ ~
program, but retains the manipulator in a rigid configuration ~ .
by continuously generating control signals to each of the
- servos; were these signals to be disabled, the manipulator -
arms would collapse under gravity forces. `~
- The present invention therefore provides a simple .
and effective method for generating any desired control program
for program controlled positioning systems and additionally
provides an arrangement for securing the rigid position of an
.
" :
-5-
bm:
' ~
inher~ntly non-ricJid manipulator mechanism,
These and other objectives, advantages and
applications of the present invention will be illustrated by
the following detailed descrlption of several preferred
embodiments of the invention, The description makes
reference to the accompanying drawings in which:
: FIGURE 1 is a perspective view of a simple form of
manipulator equipped for use with the system of the present
invention;
FIGURE 2 is a block diagram of the control system
used with the manipulator of FIGURE 1, illustrating the servo
for controlling one of the two controlled axes of the
manipulator;
FIGURE 3, consisting of FIGURES 3A and 3B shows in
detail subsystems (corresponding to a transformation block or
unit 50) shown generally in FIGURE 2; and
FIGURE 4 is a schematic diagram of a second
manipulator representing another embodiment of the invention.
Referring to the drawings, the robot or workpiece
manipulator, generally indicated at 10 in FIGURE 1, is of
the type employed to feed workpieces to operating machines
such as presses and the like. The manipulator supported on
a base 12 includes a vertical shaft 14 rotatably supported
for motion-about the base. A rotational servo motor 16 is
adapted to rotate the shaft 14 through a drive gear 18
connected to the shaft of the servo motor 16, and a driven
gear 20 affixed to the vertical shaft 14. A rotational
sensor 22 is adapted to provide an electrical output signal
which is a function of the positional condition of the shaft.
In the preferred embodiment of the invention this position
,
-6-
bm:
.: :
condition t~kes the form of a siynal proportional ~o the
rate of ro-tational motion of -the ve.rtical shaft 14, In
alternative embodiments, the tranc;ducer 22 might provide a
signal proportional to the instant:aneous rotational position
of the shaft 14. The choice is primarily dependent upon
whether the servo drive constitutes a rate servo or a position
servo; although it is possible to use a rate transducer to
power a position servo and a position transducer to power a
rate servo, generally the re~uired circuitry is more complex~
A hub 24 affixed to the upper end of the vertical
shaft 14 supports a horizontally extending arm 26. The arm
is preferably tubular in construction and an extension section
28 telescopes within the arm 26, The extension of the section
28 with respect to the arm 26 is controlled by a rotational
servo motor 30 that drives the telescoping section 28 by means
of a rack 32 which engages a pinion 34 controlled by the servo
motor 30. A linear transducer 36 affixed to the end of the .
axm section 26 senses motion of the telescoping section 28 .~
to provide an output signal proportional to the rate of : ,.
motion. As previously discussed in connection with the
description of the transducer 22, the transducer 36 could
~: ~
alternatively provide an output signal proportional to the
` extension of the telescoping section 28 rather than its rate
of motion.
A workpiece gripper 38 is affixed to the far end
~ of the telescoping section 28. The configuration of the ~;
., gripper 38 is dependent on the shape of the part to be
manipulated and the gripper will be equipped with suitable
actuator means~such as a pneumatic cylinder 40.
A load cell 4~ is connected between the part gripper
', ,
: -7-
bm:
.
.:
,: : ~ : . . :.
38 and ~he end of the -telescoping section 28 so that the load
cell experiences forces exerted between the yripper 38 and
the arm 28. The load cell may be of the type disclosed in
u.s. Patent 3,939,704, assigned to the assignee of the present
inv~ntion, or of the type disclosed in U.S. patent application
Serial No. 615, 852, also assigned to the assignee of the
present invention. Another suitable form of load cell is
described in a published master' 5 thesis entitled "Force
Feedback Steering of a Teleoperator System" by Roland Groome,
Jr., M.I.T. Draper Laboratory Repor~c T-575, August, 1972.
The load cell described in that thesis employs four square
cross-section cantilever bars arranged in a cross pattern.
Resistive strain gages are supported on each of the four faces
of each bar to measure the forces experienced by each of
the bars.
As described in the report, the strain gages on
the opposite faces of each bar are wired together in a bridge
circuit to form eight pairs of force sensing elements.
Whatevex specific load cell configuration is
employed, in the embodiment of FIGURES 1-3, it is connected
so as to provide one output proportional to the forces imposed
on the gripper 38 along the axis of arm 26, and a second
output proportional to the forces imposed on the gripper
j no~mally to that axis and to the axis of shaft 14.
.: . . .
The manipulator of FIGURE 1 may thus move the
gripper by rotating the shaft 14 (the ~ axis) and by extending
and retracting the telescoping section 28 relative to the arm
.~: .
26 (the R axis~.
The broad configuration of the control system for
the manipulator of FIGURE 1 is disclosed in FIGURE 2.
' . .
--8--
bm:
" .
FIGURE 2 discloses the con-trols for the 0 axis and the
controls for the R axis are identical, except as noted below.
The command signals which drive the motor 16 to
rotate the shaft 14 and thus control the position of the
manipulator in the ~ axis are derived from a command store
unit 44. These commands may be either digital or analog in
nature. If they are digital, the command store may take the
form of a plurality of bistable devices. If the signals are
analog, the command store could take the form of a magnetic
lQ , tape. ,;
This command signal is applied to a comparator 46,
along with the output of the transducer 22 which indicates the
actual rate of rotation of the shaft 14. Comparator 46 derives
- . .
an error signal proportional to the difference between these ~ ,
two inputs and applies it to a driver amplifier 48 which - '
energizes the motor 16. '~
The output of the transducer 22 is also applied to '
transformation block 50. That block also receives the output
of the force sensor 42 representing the force imposed between
the gripper 38 and the arm 28, normal to the a axis, That
block 50 generates a signal which causes the output of the
~.~
command store 44 to be modified so as to cause a motion of
the motor 16 which will decrease the measured force; i.e.,
rotate,the shaft 14 in the direction urged by the force at a
', rate proportional to the force.
The transformation unit 50 is the only block that
substantially differs for the R axis and the ~ axis. FIGURE
3A illustrates the construction of the block 50 for the ~
axis. Two voltages, Vf~, which is the signal from the force
sensor 42 representing the force exerted along the ~ axis,
_g_
bm:
,~
and Vr, which is the posltional transducer 36 output
representing ~he ~xtellsion of -the telescoping section 28 from
the arm 26, are applied to divider 52. The divider divides
the force signal by the radius signal, since the rate of
rotational motion of the shaft 14 will effectively be
multiplied by the radius of the arm in effecting movements
of the gripper 38. Accordingly the divider 52 divides V
by Vr and applies the output to a multiplier 54 whioh
multiplies the quotient by a proportionality constant Kl.
The resulting output signal is proportional to ~ t, i.e.,
the required change in the rate of rotation of the shaft 14
and this is provided to the command store 44,
In the case of the R axis the signal Vfrl the output
of the sensor 42 representative of the component of force
along the axis of the arm 26, is multiplied by a constant
K2 in a unit 56 The output is used to modify the command -
stora.
This control system will move the gripper 38 in the
direction of a force imposed upon the gripper, and at a rate
proportional to the force. Consider both the command stores ~ ~
for both the R and 9 axes to be initially zero. If the gripper ~-
. ~ , .
~ is manually grasped and urged toward motion in a particular
- direction, the unit 50 will generate command increments for
the R and the 9 command stores which will cause them to
i:
generate command signals which move the gripper in such a
direction as to minimize the force, When the gripper reaches
a desired position, manually maintaining it in that position
will cause the generation of increments in the command signals
which bring the gripper to rest, so that the hand may be
removed and the gripper will be maintained in that position
....
.. , ~
';~
--10--
~ bm:
~;
:, . ;
.
by the scrvo command.
To gellera~e a program for a desired motion, the
gripper is manually urged along the desired path, at a desired
rate. The outputs from the positional tr~nsducers 22 and 36
are recorded in a unit 58. This record constitutes a program
which may be later played back anc~ provided to the comparator
46 to cause the gripper to move through the desired path at
the desired rate. If a point-to-point program is to be
provided, the positions of the gripper which are to be
recorded may be manually signaled to the system by depressing
the switch 60 when the gripper is in each desired position.
The transformation unit 50 and the command store
44 of machine of FIG~æS 1-3 are sufficiently simple to be
economically realizable with hard wired circuitry of either
analog or digital design; but the transformation unit 50 and
the command store 44 may also be achieved by a suitable ~
programmed digital processor, In more complex embodiments ~ -
of the invention the use of such processors may be economically
advantageous. Broadly, the processor would receive the
outputs of the force sensors and the positional condition
transducers and would generate error signals for driving the
output motors. The processors would thus embody the trans-
formation unit 50, the command store 44 and the comparator
46. The processor might also perform analog to digital or
digital to analog conversions,
The factor present in the embodiment o~ FI~S 1-3
which renders the control system extremely simple is primarily
that the outputs of the load cell directly represent the
`~ forces imposed on the machine's controlled axes. In more
- 30 complex systems this may not be the case and it may be
'
-11- ' :
bm:
,
~ .
necessary to perform a series o~ relatively complex numerical
operations on tlle ou-tputs of the load cell and -the positional
conditional transducer to generate the required increments in
command signal Eor the various axes.
For example, the sensor outputs may not have a one-
to-one relationship to the control axes because they may be
in a diEferent spatial frame and also, the machine may have a
positional redundancy so that a particular force exerted on
the sensor may be decreased by motions imposed on more than
one of the machine's controlled axes.
FIGURE 4 illustrates another manipulator, generally
indicated at 70, representing a second embodiment of the
invention. The manipulator 70 has a base 74 supporting two
elongated arms 74 and 76. One end of the arm 76 is supported
at a horizontal pivot point 78, affixed to the base 72 and
the other end of the arm 74 is pivotably joined to one end
of the second arm 76 by a joint 80. The two joints provide
rotation of the arms about parallel axes. A drive motor 82
affixed to the base controls the position of arm 74 through
gearing 84 and a second servo motor 86 affixed to the far
end of the arm 74 controls rotation of the arm 76 about the -
joint 80 through gearing 88. The far end of arm 76 carries a
multi-axis load cell 90 and a wor]cpiece gripper 92 is
i supported on the end of the arm 76, on the far side of the
load cell 90. The motors 82 and 86 thus control the position
of the gripper 92 in a vertical plane perpendicular to axes
78 and 80.
The control system for the manipulator of FIGURE
4 is substantially identical to the system illustrated in
FIGURE 2 but ~he transfQrmation unit 50 must perform a
-12-
bm:
more complex operation.
Consider the l~ngth of arm 74 from joint 78 to joint
80 -to b~ A; the length of arm 76 from joint 80 to joint 90 to
be B; the angle of arm 74 wi-th respect to the horizontal axis
- to be ~1; the angle of arm 76 relative to 74 to be 2; and
the forces sensed by the load cell 90 to have a longitudinal
component L and a transverse component T,
When ~ 2 = the axes of the load cell 90 T
and L, are parallel to the vertical and horizontal axes
respectively (that is the axis of support of the base 72 and
the axisi transverse to it in the vertical plane),
The transformation unit 72 must generate signals to
drive the manipulator along the ~1 and 32 axes in such a way
that the original load cell 90 moves in the direction of a :~
~ force applied to the load cell.
~ From FIGURE 4 it may be seen that the sensor origin
is located at
x = a cos31 + b cos(~l + ~2)
y = a sin~l + b sin(~l + 52)
So that, for small displacements, where ~ =~1 +~2
` . ax = -a sin~la~l - b sin~
Ay = -a cos~ l + b cos~A~
or
~x~ ~-sin~l -sin~ ~a~
- ~cos~l cos~ ~bA~J
. which can be inverted to obtain
- fa~ 1 rcos~ sin~ x~
~a~l) ~ sin~2 tcosal -sinaJ layJ
We wish at and ay to be propor~ional to the forces fx and fy.
The forces are measured in the sensor frame, however, so they
, . ' .
,:. .
-13-
~ bm:
':
i
. ". ., . , j , .
, . .. . . . . . . . ..
-,~.: . : : ~
must be tr~nsEormed:
fx _ ,cos~ - sin~ rE~
~yJ ~ sin~ cos~J lf~
Where fL and ft are force components along the sensor e and t
axes respectively as measured by the sensor. Since for rate
servos we want the velocity to be proportional to the force
~ k rfxl _ k ~cos~ - sin~l rfL~
~v ~ay/~tJ lfyJ ~ lsin~ cos~J lftJ
to get the ~1 and ~ velocities we use the above results to get:
~Qt ~ k ~l/a o~ lcos~ sin~ ~ ~cos~_sin~¦~fLJ
l~ J sin~2 lo l/b cos81-sin~ sin~ cos~ ~f
Now note that ~a~ - ~t1 = ~2
Therefore ~t
~t ,- T(a" ~ 2 ) ( ~ with
T(~ 2) - s1n ~ cos~ sin~ 3 icos~ sin~ 1
1 ~ b~ cos~-sin3 lsin~ cos
T(~ 2) is the calculation that must be performed by the trans-
formation unit 50. The outputs of that transformation provides
the output velocities a~ t and ~2/~t. If position servos
are employed rather than rate servos, these quantites may be
multiplied by ~t to obtain A~l and Q~2.
Like the manipulator of the embodiment of FIGURES
1-3, the gripper 92 of the manipulator 70 may be grasped,
and may be moved along a path, or to a series of pomts that
are to constitute the path or points of a desired program for
the device. The control system succumbs to the imposed forces
on the load cell 90 and moves the manipulator arms to the desired position,
14-
bm:
iJR~ ~
The path or the points whlch are ge}lerated by the positonal
transducers during this excurs.ion are recorded to provide the
program for lat~r playback to -the system.
,
'
'' :'
.
.
~. ...
,.
bm: .
. .~ . . . - . .