|
Description  |
|
|
BACKGROUND OF THE INVENTION
Various types of general purpose robots which are driven by a servomotor, a
servovalve and others and provided with a plurality of drive axes operated
and controlled by a controller have been developed to exercise a great
performance for saving labor, rationalization of working and other
purposes. The robots include those of the cylindrical coordinate type
robot, orthogonal coordinate type robot and horizontally articulated type
robot which have a vertical drive axis and are capable of positioning the
axis at an arbitrary point along a horizontal plane rectangular to the
axis. Most of these robots are provided with an axis capable of turning a
workpiece posture for arbitrarily handling the workpiece within a
horizontal plane at the nose of an arm. There is also such a general
purpose robot which has three moving axes for space locating and three
moving axes for hand posture controlling. What is common to these robots
is that there are provided means for locating a robot hand on an arbitrary
point along a plane and another means for turning the hand in an arbitrary
direction around an axis vertical to the plane.
If robots are provided with means for locating a workpiece at a point
within a plane and another means for turning a workpiece posture freely on
the plane, then the workpiece can be incorporated to various kind of
members to be assembled, and thus a flexibility in assembling function of
the robots are improved so high. This invention therefore relates to the
robot controlling system as described hereinabove.
However, the system for controlling such robots with high flexibility as
mentioned comprises merely a system of teaching playback in most cases,
and the teaching work yet has many problems.
In an assembling robot system for which a high locating precision is
required, it is very difficult to match an arm origin position to the
installation standard position of a robot with the high locating precision
mechanically, moreover it is also difficult to match a position of a table
for installing the robot thereon, a supply equipment such as pallet or the
like, and members disposed peripherally of the robot such as a substrate
member to be assembled and the like with a locating precision required
relative to the robot arm.
Under the existing circumstances of manufacturing robots and robot systems
as described above, the system controlled only based on teaching playback
requires repeated teaching operation with respect to the same operating
position in the member with reference to operating positions and hand
directions in the member even if the same system is manufactured more than
one, and with respect to the same members placed at different places in
the same system.
For the reason given above, a method has been already proposed in our
Japanese Application No. 59-128953. The method comprises the steps of
defining a local coordinate system in a member to be assembled so as to
designate many operating positions in an assembled setup, setting the
operating position in terms of a coordinate of the local coordinate
system, specifying only the coordinate taken by a reference point of the
local coordinate system in a robot absolute coordinate system according to
teaching method or other steps, operating a robot at each operating
position of the member to be assembled according to a coordinate
transformation between the local and absolute coordinate systems. This
invention is to provide a controlling system in which the above method is
further improved.
An object of this invention is to simplify substantially the operation for
specifying an operating position and a hand direction when operation is
carried out at a plurality of operating positions of the same member to be
assembled placed in a plurality of places in the same robot system.
Another object of this invention is to simplify indication of an operating
position and a hand direction second robot system and so on when the same
robot system is used as the second robot system.
A further object of this invention is to facilitate an off-line teaching
operation according to CAD, CAM and the like.
A superiority of the operating point setting system according to the local
coordinate system described above in the aforesaid Japanese Application
No. 59-128953 is as follows:
Members to be assembled include a member like a printed circuit substrate,
for example, which has many operating points exceedingly precise in
positional relation with each other. For such parts, a technique according
to an on-line teaching of each operating position must be rather avoided,
and the operating position can be set precisely by far according to a
numeric input or off-line teaching in terms of a coordinate of the local
coordinate system arranged on the member with a reference point. Further,
it is advantageous to set only a coordinate of a reference point of the
local coordinate system in a robot absolute coordinate system, thereby
carrying out an actual operation through coordinate transformation between
the local and absolute coordinate systems.
The above method relates only to a coordinate of the operating position,
however, a method effective to correct an angular direction of a part
incorporated into the member has not been in practice until now. Including
the angular direction of parts, this invention simplifies the operating
point setting method in a local coordinate.
In order to facilitate CAD, CAM in application of the robot, the operating
position and the hand direction can be given by numeric input or off-line
teaching as a coordinate in the local coordinate system and as an angle
relative to a standard or base axis of the local coordinate system as
described above.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is illustrative of an embodiment of this invention, wherein two
substrates comprised of a same member to be assembled which has many
operating points are placed along a plane defined by a robot absolute
orthogonal coordinate system.
FIG. 2 is a block diagram of the embodiments of the control system for
operating a control system of the embodiments of this invention, wherein
xy, x'y' designate substrate local coordinate systems,
P.sub.1,P.sub.2,P.sub.3, P.sub.1 ', P.sub.2 ', P.sub.3 ' designate
operating positions, and .alpha..sub.1 to .alpha..sub.3 designate angles
indicating a hand direction relative to x-axis or X'-axis in each
operating position.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 represents the local coordinate systems xy and x'y' arranged on the
same two substrates or workpieces respectively which are members to be
positioned along a plane defined by a robot absolute coordinate system XY.
Working points P1, P2, P3 and P.sub.1 ', P.sub.2 ', P.sub.3 ' are exactly
the respective same points on the substrates. The working points P1, P2,
P3 and P.sub.1 ', P.sub.2 ', P.sub.3 ' are determined by coordinates
(x.sub.1, y.sub.1) (x.sub.2, y.sub.2) (x.sub.3, y.sub.3) of the local
coordinate systems xy, x'y' respectively. The coordinates are local hand
position coordinates or working point data representative of the working
points in the same member and hence very high in precision generally.
Then, the coordinate values can easily be provided to the robot system
according to a numeric input or an off-line teaching.
Further, the local hand position coordinates can also be set according to
an on-line teaching. In this case, the local coordinate system xy or x'y'
is taught first in the robot absolute coordinate system, and then P1, P2,
P3 are taught as points on the local coordinate system.
For example, a plane parallel with the plane defined by the robot absolute
coordinate system defines the local coordinate system xy in the form of an
orthogonal coordinate system, and an origin of the local coordinate system
xy and one reference point existing on x-axis or y-axis can be specified
as a plurality of reference points or position data of the workpiece
representative of the workpiece position in terms of the robot absolute
coordinate system. After so specified by teaching, the local hand position
coordinates or working point data representative of the working points P1,
P2, P3 are taught, then absolute coordinates of P1, P2, P3 or position
command data obtained through expression (1) by means of an arithmetic
function of a robot controller. In the expression (1), coordinates of P1,
P2, P3 in terms of the local coordinate system are represented by (x, y)
and a corresponding coordinate in terms of the robot absolute coordinate
system is represented by (X, Y), an origin of the local coordinate system
in terms of the robot absolute coordinate system is (X.sub.0, Y.sub.0)
which then determines linear displacement of the local coordinate system
relative to the robot absolute coordinate system, and an angular
displacement of the local coordinate system xy with respect to the robot
absolute coordinate system is .theta..
##EQU1##
Then, where a coordinate of the reference point existing on the x-axis
measured in terms of the robot absolute coordinate system is (X.sub.1,
Y.sub.1), COS .theta. and sin .theta. are obtained through:
##EQU2##
Along with the above coordinate transformation, the robot control system
transforms a local hand direction angle data or local angular position
data of the hand to absolute hand direction angle data or angular command
data necessary for assembling the workpiece concurrently. Arrows indicated
at the coordinate points P1, P2, P3, P.sub.1 ', P.sub.2 ', P.sub.3 ' in
the drawing indicate the local hand direction angles determining the
angular position of the hand around an axis vertical to the plane. The
hand direction angle is expressed by an angle relative to the coordinate
standard or base axis of the local coordinate system and can easily be set
according to numeric input and off-line teaching.
Then, the local hand direction angle data can also be set according to
on-line teaching, and a correction or transformation of the local hand
direction angle data is undergone to obtain the absolute hand direction
angle data or the angular command data determined relative to a coordinate
standard or base axis of the robot orthogonal absolute coordinate system
through teaching by subtracting the angular displacement of the local
orthogonal coordinate system relative to the robot orthogonal absolute
coordinate system from the local hand direction angle data.
As described above, the local operating position coordinate specified in
the local coordinate system is transformed through an inversion of the
expression (1) to the absolute coordinate of the robot absolute coordinate
system at the time of practical operation, and the absolute hand direction
angle at the corresponding operating position is obtained from adding
.theta. reversely to the local hand direction angle obtained through
on-line teaching.
As described, the hand position coordinate transformation and specified
hand direction angle transformation can be effected easily between the
robot absolute coordinate system and the local coordinate system by this
robot controlling system.
At the time of on-line teaching, the hand direction angle is unchanged, in
most cases, with respect to different operating points, and since setting
the hand direction angle data at every operating points involves a
troublesome work considerably, it is desirable that a jogging operation
for teaching is carried out with the hand direction angle being kept
constant. In this connection, an orthogonal coordinate type robot is ready
for such operation unconditionally, however, the axis for turning work
posture must be turned reversely therefor by the angle at which the arm is
turned in the case of cylindrical coordinate type and horizontal
articulated type robots.
The operation described above is, as a matter of course, for a robot having
three moving axes for space locating and three moving axes for hand
posture controlling. By doing such, an teaching operation for which the
hand direction must be set can be simplified.
The same operating positions P1 and P.sub.1 ', P2 and P.sub.2 ' and P3 and
P.sub.3 ' on the local coordinate systems xy, x'y' as illustrated in FIG.
2 are specified exactly as the same local coordinate value as well as the
hand posture or hand direction angle relative to the coordinate systems
xy, x'y'. Therefore, it is particularly advantageous when a member to be
assembled at different operating positions is placed in the robot system,
and in case P1, P2, P3 are specified through teaching or other means, the
robot can be operated accordingly by specifying exactly the same local
hand position coordinates and local hand direction angles for P.sub.1 ',
P.sub.2 ', P.sub.3 ' and simply by specifying the position of local
coordinate system x'y' along the absolute coordinate system XY.
Further, as described in Prior Art, it is very difficult to place a robot
precisely in the installation standard position and also to prepare a
position for mounting a member disposed in the periphery of the robot
precisely. However, the precision is important mechanically when the same
robot system is used more than one. In such a case, the operating point in
a member to be assembled and the hand posture are specified identically by
means of the local coordinate system, the mechanical precision is achieved
by an teaching of the local coordinate system, and the hand position
coordinate transformation and the hand posture or hand direction angle
correction are carried out as described in the paragraph (Action), thereby
operating the robot.
In any embodiments, teaching points can be sharply decreased.
Further, at the time of coordinate transformation between the local
coordinate system and the robot absolute coordinate system, a burden for
programming will not be increased even adding an angle correcting function
for correcting an angle of the hand posture concurrently. Then, when the
operating position is specified (including the teaching operation) as a
coordinate of the local coordinate system, a hand direction angle relative
to the coordinate standard axis of the local coordinate system is stored
automatically together with the corresponding coordinate of the operating
position, and thus a programming is undergone without consciousness
particularly of the hand angle.
An embodiment of the control system for controlling the embodiment of the
present invention as above-mentioned, is shown in a block diagram of FIG.
2.
In FIG. 2, a robot of the cylindrical coordinate type is designated by
reference number 1, wherein a hand thereof is driven to arbitrary points
along the horizontal plane through the rotation movement A of the arm and
the horizontal linear movement B of the angular arm and the direction of
the hand with respect to a rotational axis thereof vertical to the
horizontal plane is controlled to change to an arbitrary angular direction
through the rotation movement C of the hand.
In addition, the linear movement D is executed so as to move the hand to
the vertical direction. These movements are undergone by the operating
shafts connected to a driving source such as a motor and the like.
This control system comprises a controller 2 which controls the driving
source and a terminal 3 which is provided with a key board and a display
device to program the operating sequence of the robot and keys which
conduct jogging operation of the operating axes of the robot 1 so that the
terminal 3 can teach the operating position of the robot.
The controller 2 comprises a plurality of drive units 4 which control the
driving source such as motors and the like (not shown) so as to drive a
plurality of operating axes of the robot; an input and output control
portion (I/O) 6 which is operable to execute receiving of input signals
from the terminal 3 and sending of output signals displayed in the
terminal, of output signals of the operating axes of the robot 1 and
receiving of the over-load signal of the motors and the like from the
drive units, sending of operating signals of the hand, receiving of the
robot condition signals and sending and/or receiving control signals
between the peripheral device of the robot and the I/06 and which is
composed of the LSI and the like; a CPU 5 which is operable to execute
processing the signals from the input-output control portion 6,
controlling reading-out and/or storing of the data of a RAM 8 and
reading-out of the data of a ROM 7, and operating the coordinate operation
and/or logical operation of the robot; a RAM 8 which memorizes such data
as the program data processed by the CPU 5, or robot operating position
data, in accordance with the program signal from the terminal 3; a ROM 7
which memorizes the procedure for executing each of the commands of the
program data stored in the RAM 8; and a plurality of movement control
circuits 9 for outputting a movement command pulse to the drive units 4.
In the movement control circuit 9, the movement pulse number is set in the
counter 10 and the interval between movement pulses that is in
inverse-proportion to the movement speed, is set in the counter 11. Both
of them are input from CPU 5 through the bus 12. In the counter 10, down
counting is executed when the movement pulse is applied to the input
terminal IN, and when the content becomes zero, the output terminal OUT
becomes low level. The output pulse number of the counter 11 is the
quotient which is obtained by dividing the input pulse number with the
number proportional to the set interval. Oscillator 13 is an oscillator
producing a certain frequency and flip-flop 14 is controlled in accordance
with commands from the CPU 5.
In case that the pulse number and the pulse interval are set as mentioned
above, when the flip-flop 14 is set by the CPU 5, the pulses with the
certain frequency generates at the AND gate 15, and is applied to the
counter 11, and the outputs of the counter 11 that are pulses with the
same interval as the set one, are applied to the input terminal of one of
drive units 4 and the input terminal of the counter 10.
When the counter 10 counts down the set pulse number, the output thereof
becomes low-level to close the AND gate 15, and the pulses applied to the
movement drive unit 4 stops.
Accordingly, the movement control circuit 9 can output the pulses to the
drive unit 4, with the pulse number and frequency commanded by the CPU 5.
In the control system of the FIG. 2 as above-mentioned, the CPU 5 reads
normally the present positions of a plurality of operating axes and
especially the present positions in terms of the absolute coordinate of
the robot as a matter of course, whereby the local coordinate system is
determined by the two reference points thereof measured in terms of the
absolute coordinate system and is stored within the RAM 8. This is a
programmable function which is obtained by utilizing fundamental functions
of the CPU. The CPU 5 is able to numerically determine the operating
positions of the coordinates in terms of the local coordinate system which
are designated by the program and hand-angles or hand direction angles
relative to the standard axis of the local coordinate system, by numerical
inputting operation from the terminal 3.
Besides, in the case that the coordinates of the operating positions in
terms of the absolute coordinate system and the hand-angles relative to
the standard axis of the absolute coordinate system at each of the
operating positions are specified by the teaching operation, by operating
the numerical operation function of the CPU 5 the hand position
coordinates in terms of the absolute coordinate system is converted to the
hand position coordinates in terms of the local coordinate system
specified by the program.
While, conversely, the CPU 5 is able to reversely convert the coordinates
of the operating positions in terms of the local coordinate system
specified by the program and the corresponding hand-angles relative to the
standard axis of the local coordinate system each of the operating
positions to the coordinates of the operating positions in terms of the
absolute coordinate system and the hand-angle thereof relative to the
standard axis of the absolute coordinate system at each of the movement
positions, as a matter of course, by the numerical operation function of
the CPU 5.
In a robot of cylindrical coordinate type, the function to move the hand in
the mode that the hand posture is maintained to a predetermined direction,
is executed by determining the angle of the rotation movement A of the arm
at each of the movement positions and by executing the reverse rotation
movement C of the hand to compensate the angle of the rotation movement A.
This is executed by utilizing the numerical operation function of the CPU
5. It is determined by the program whether this mode is selected or not.
When the absolute coordinate system and the local coordinate system of the
robot are respectively an orthogonal system, it is easy for the
programmers to carry out the inputting operations of the hand-position and
corresponding hand-angles relative to the standard axis from the terminal
3.
It is executed by generally wellknown expression (2) to convert a
coordinate (X, Y) of the orthogonal absolute coordinate system of the
robot, into a coordinate (r,.alpha.) of the articular polar coordinate
system of the cylindrical coordinate typed robot.
r=.sqroot.X.sup.2 +Y.sup.2
.alpha.=tan.sup.-1 Y/X (2)
Thus, after operating CPU 5, the operation axis of the robot 1 becomes
operable in accordance with the command of the CPU 5.
As described above with reference to the embodiments, a system effective to
simplify a teaching operation can be provided according to the invention,
when a robot is operated to work a member to be assembled which has many
operating positions, or the same robot system is used more than one. The
feature that the hand posture can also be corrected enhances an effect of
the invention, and its technical and economical effects are outstanding.
* * * * *
|
|
|
|
|
Description  |
|