System for controlling a robot in association with a rotary table

Abstract: A system for controlling a robot operating in association with a rotary table, including a robot, a rotary table, and a control circuit. The control circuit carries out a step of com­ posing and storing teaching data as values on a rotary table co­ ordinate system, the rotational shaft of the rotary table being the vertical axis, a step of calculating each of the interpolation points by carrying out path interpolation of the stored teaching data on the rotary table coordinate system, and a step of calcu­ lating the rotational angle of the rotary table which is required to be rotated. The control circuit also carries out a step of computing the coordinates rotated by said rotational angle around the axis of rotation of the rotary table, a step of trans­ forming the data obtained by the computing step from the rotary table coordinates to the robot coordinates, and a step of operating the robot by the output of the transformation step.

Description: The present invention relates to a system for controlling an industrial robot in association with a rotary table. In the prior art, there is already known an industrial robot which is operated in association with a rotary table mounted with a workpiece. This simplifies the movement on the robot side, speeds up the work, and enables greater compactness. Sometimes, transfer means is annexed to either the robot or rotary table. In such a conventional robot apparatus, the robot or rotary table itself is mounted on the transfer shaft of the travelling means. That is to say, a very heavy article is moved. As a result, the transfer shaft and travelling means become large in scale and it is difficult to ensure precision. Further, a large space is necessary for the operation of the travelling means along the transfer shaft. Still further, there are limitations on the disposition of the transfer shaft and the need for adjustment of the positional relation with peripheral equipment. In another prior art robot apparatus, teaching data is stored in the form of values on a specific coordinate system (absolute coordinate system) of the robot or in the form of displacement (angle) on each axis of the robot. When this teaching data is used for playback, the interpolative calculations carried out in consideration of the relative movement between the robot and rotary table becomes much more complicated and the overall computation time becomes longer. It is not possible to reduce the interpolation time, so there is a problem of reduced precision of the path. Moreover, there is the disadvantage that the data representing the shape of each workpiece varies with the position of the workpiece with teaching data of the absolute coordinate system. There is a further disadvantage that, when the relative position between the rotary table and the robot is changed due to a change in the position of installation of the robot or the rotary table, the teaching data becomes inaccurate and must be revised. The present invention intends to solve the above-mentioned problems in the prior art. It is an object of the invention to provide a system for controlling a robot in association with a rotary table wherein the operation time can be shortened and control may be carried out with a high precision. In accordance with the present invention, there is provided a system for controlling a robot operating in association with a rotary table as claimed in claim 1. Preferably, the control circuit further carries out a step of adapting the interpolation points calculated by said calculating step to compute the rotational angle of said rotary table; a step of computing the coordinates rotated by said rotational angle around the axis of said rotary table coordinate system, a step of transforming the rotary table coordinate system of the data obtained by said computing step to the robot coordinate system; and a step of operating said robot by the output of the transformation step. In the drawings:- Figure 1 is a schematic view and block diagram of an embodiment of the present invention; Fig. 2 is a view of a model pattern of relative movement of the robot and rotary table in Fig. 1; Fig. 3 is a block diagram of the control circuit in Fig. 1; Fig. 4 is a flow chart of the operation process; and Fig. 5 is an explanatory diagram of the interpolation and coordinate transformation. In order that the invention and its various preferred features may be understood more easily, embodiments thereof will now be described in detail with reference to the drawings. Figure 1 is a schematic view and block diagram of one embodiment in accordance with the present invention. In the figure, reference numeral 10 indicates a six-axis articulated robot, and 12 a rotary table rotating in synchronization therewith. The robot 10 is constructed such that it may execute rotational movement about each axis a, b, c, d, e and f, as shown by the arrows. On the upper portion of the rotating table 12 is mounted a jig 14 for fixing a workpiece 16, such as a window glass of an automobile, on the rotary table 12. A hand portion 18 of the robot 10 applies sealant, paints, deburrs, polishes, emplaces rubber elements, and engages in other operations on the workpiece 16. The rotary table 12 is constructed for rotational movement about its rotational shaft. The amount of rotational movement is controlled by a driving signal delivered from a control circuit 20. The rotational position of the rotary table 12 is monitored by an encoder and a potentiometer mounted on its rotational shaft. The detected output is fed back to the control circuit side to control the position. On the other hand, the amount of rotation in each axis of the robot 10 is controlled by a driving signal from the control circuit 20. The rotational position is also detected by an encoder and a potentiometer for feedback to the control circuit side. Figure 2 shows a model pattern of the function of the robot 10 and the rotary table 12 of Fig. 1. For the absolute coordinate system of the robot 10, the a-axis (axis of swivel base 10a) is taken as the Z-axis. The X-axis and Y-axis are set horizontally and perpendicularly to the Z-axis. On the other hand, the rotational shaft of the rotary table 12 is taken as the W-axis and a U-axis and V-axis set horizontally and perpendicularly to the W-axis to form a rotary table coordinate system. In accordance with the present invention, teaching is executed using this rotary table coordinate system. The hand of the robot moves in the U-W plane of the rotary table coordinate system. Figure 3 is a block diagram of an example of the control circuit of Fig. 1. In the figure, reference numerals 29a(1), 29b(1), ..., 29f(1) are servomotors of each axis of the robot 10. Reference numeral 29g(1) is a servomotor for the rotational shaft of the rotary table 12. On each axis, encoders 29a(2), 29b(2),... 29f(2), 29g(2) and potentiometers 29a(3), 29b(3), 29f(3), are set to detect the position of rotational movement due to each servomotor. Each distinct driving pulse is applied to each servomotor 29a(1), 29b(1), ..., 29f(1), 29g(1) from each servo unit 28a, 28b,..., 28f, 28g. On the other hand, each piece of information on the present position detected is sent to each servo unit 28a, 28b, ..., 28f, 28g from each encoder 29(a)2, 29b(2), ..., 29f(2), 29g(2) and each potentiometer 29a(3), 29b(3), ..., 29f(3). Each servo unit 28a, 28b, ..., 28f, 28g controls the axis positions in response to each indicated value sent from a central processing unit (CPU) 32 or microcomputer 32 through an input/output (I/O) port 30. Each potentiometer 29a(3), 29b(3), ...,29f(3) detects the rough position of rotational movement of each axis, while each encoder 29a(2), 29b(2),..., 29f(2), 29g(2) detects the precise position of rotational movement. As shown in Fig. 3, reference numeral 34 denotes a console to input and/or output the data from the operation side and is composed of a teaching box 34a, a keyboard 34b, and a cathode ray tube (CRT) display 34c. Reference numeral 36 denotes a memory which stores the input data, teaching data, and so on from the console 34, 38 an interpolating device for implementing path interpolation as during playback, and 40 a coordinate transformation device for rotating an interpolation point on the rotary table coordinate system and transforming a post-rotation point from the rotary table coordinate system to the absolute coordinate system. The operation of the system will now be explained with reference to Fig. 1. The teaching operation is performed with the rotary table 12 not rotating but kept fixed at a predetermined position. An operator moves the hand portion 18 of the robot 10 to teach the operation, thereby obtaining the position of the tools of the robot 10 and the attitude data of the hand in the absolute coordinate system. Using the robot coordinate system X, Y, and Z and the rotary table coordinate system U, V, and W and representing both coordinate systems as a matrix M r (H), the following equation can be obtained. where X, Y, and Z denote the positional data of the hand; N(X), N(Y), and N(Z) normal vector; O(X), O(Y), and O(Z) orientation vector; and A(X), A(Y), and A(Z) approach vector. As shown in Fig. 1 and Fig. 2, when the transformation matrix from the rotary table coordinate system (U, V, W) to the robot absolute coordinate system (X, Y, Z) is taken as T and the inverse matrix of the above-mentioned transformation matrix is taken as T⁻¹, the position and attitude data M t (H) in the rotary table coordinate system is represented by the following equation (2). The position and attitude data of the robot absolute coordinate system obtained by the teaching data is transformed to the position and attitude data of this rotary table coordinate system and then stored in a memory 36 as the teaching data. Therefore, when a matrix of the robot coordinate system is represented as M r (H) and a matrix of the rotary table coordinate system as M t (H), then M t (H)=T⁻¹ · M r (H) The playback operation follows the procedure shown in Fig. 4. First, the spacing between two points H₀ and H₁ in the teaching data on the rotary table coordinate system is interpolated linearly to obtain the path of the hand of the robot 10. This is done by the conventional method of connecting by a straight line the two teaching points H₀ and H₁ in the teaching data stored in the memory 36 and dividing the line to obtain points P₁, P₂, P₃,..., P i indicating the movement of the hand with a time Δt. As the time Δt, tens of milliseconds are selected. The rotational angle component on the rotary table coordinate system of each interpolation point P₁, P₂, ... P i thus obtained is obtained next. If the rotational angle component of the rotary table coordinate system of the interpolation point P i is taken as ϑ i , then ϑ i =-tan⁻¹ P iV P iU where P iU is a U-component of the interpolation point P i on the rotary table coordinate system and P iV is a V-component of the interpolation point P i on the rotary table coordinate system. To superpose the interpolation point P i onto the U-axis when tis interpolation point P i is projected on the U-V plane of the rotary table coordinate system, the interpolation point P i may be rotated by ϑ i around the W-axis of the rotary table coordinate system, if the prior interpolation point P i-1 was superposed onto the U-axis. This will be explained more concretely using Fig. 5. Assuming the projection of the first point P₀ of the teaching data on the U-V plane falls on the U-axis, the rotational angle ϑ₁ from the point P₀ to the first interpolation point P₁ is obtained from the above-mentioned equation (3). By carrying out a rotation of angle ϑ₁ with respect to the W-axis from point P₁, point P₁' is reached. The matrix of the point P₁' is calculated by the following equation. Using the above-described transformation matrix T, the post-rotation point P₁' is transformed to values of the absolute coordinate system of the robot 10. Taking the interpolation point on the robot absolute coordinate system as M r (P₁'), the following equation is obtained. M r (P₁')=T · M t (P₁') This M r (P₁') is transformed to the angle of each axis of the robot 10, matched with the number pulses of the encoders of each axis, the servomotors 29a(1), 29b(1), ..., 29f(1), are driven for movement of the hand of the robot to the interpolation point P₁ shown in Fig. 5. On the other hand, as for the rotary table 12, the number of pulses of the encoder corresponding to ϑ₁ is calculated and the servomotor 29g(1) is driven whereupon the rotary table 12 rotates by ϑ₁. Therefore, the hand of the robot 10 and the workpiece 16 of the rotary table 12 meet at the point P₁' which is reached by the rotation of an angle ϑ₁ with respect to the W-axis from point P₁. In the same way, the above-described computation is effected for the other interpolation points P₂, P₃, ... P i in real time. Each interpolation point is rotated to a point projected on the U-axis of the rotary table coordinate system every time Δt, and, as a value at said time, transformed to the robot absolute coordinate system. The rotary table 12 is rotated to the point projected on the U-axis after Δt seconds, so it can move to the same point with the robot 10. As is apparent from the above-described explanation, the hand of the robot 10 executes only two-dimensional movement on the plane of U-W, as shown in Fig. 2. As Δt is an extremely short time, such as several tens of msec, the command values of the interpolation points, which are successively output enable the robot 10 and the rotary table 12 to be controlled continuously in perfect synchronization. As described above, the robot apparatus of the above embodiments stores teaching data as values of the rotary table coordinate system and seeks each interpolation point by linear interpolation on the rotary table coordinate system. Therefore, the interpolation during playback becomes much simple and high precise. As the robot apparatus of the present invention uses linear interpolation for path interpolation, computations are easier in comparison with circular arc interpolation and the like. As the path between two points is linear, an operator can easily infer how the hand of the robot moves on a same plane during playback. Consequently, teaching becomes simple and the safety of the apparatus as a whole can be more easily ensured. The robot apparatus of the present invention is designed so that neither the robot nor the rotary table have to move linearly, replacing this with movement of the robot hand on a straight line in a same plane. Thus, the conventional problems of the larger size of the apparatus resulting from the provision of travelling means for linear movement of the robot or rotary table, the difficulty of maintenance of precision, and the need for a large space and adjustment of the relative position of peripheral equipment are eliminated. Further, as the interpolation points are calculated in real time during playback, only 1/15th of the data in the case of computing the interpolation points in advance need be stored in the memory 36. Furthermore, linear interpolation enables a shorter computation time, and there is no necessary to prolong the real-time computation time drastically, the sampling time can be kept to less than several tens of msec. This eliminates the deterioration in precision resulting from prolongation of the sampling time. Still further, as the robot hand is moved only in two dimensions, as shown by U and W in the figures, it is much easier to supply slender, continuous members in attaching such members around the workpiece. It should be noted that while the above-described embodiment was explained in reference to linear interpolation used for the path interpolation, curve interpolation or a combination of linear and curve interpolation may also be adopted depending upon the particular purpose.

Claims: A system for controlling a robot operating in association with a rotary table, comprising: a multi-joint robot adapted to carry out an operation of three-dimensional positions and attitudes in a robot Cartesian coordinate system; a rotary table adapted to rotate in synchronization with the operation of said robot and having a supporting plane to carry a workpiece; and a control circuit for interpolating teaching data on the workpiece and generating, on the basis of said interpolated teaching data, a signal for defining the operation of the robot in said Cartesian coordinate system and a signal representing a rotational angle for defining the operation of said rotary table; said control circuit carrying out a step of composing and storing teaching data as values on a rotary table coordinate system, the axis (W) about which the rotary table rotates being perpendicular to said workpiece supporting plane of the rotary table, so that it is vertical when said workpiece supporting plane is disposed horizontally and a step of calculating each of the interpolation points by carrying out path interpolation of said stored teaching data on the rotary table coordinate system. A system according to claim 1, wherein said control circuit further carries out a step of calculating the rotational angle of the rotary table which is required to be rotated, a step of computing the coordinates rotated by said rotational angle around the axis of rotation of said rotary table, a step of transforming the data obtained by said computing step from the rotary table coordinates to the robot coordinates, and a step of operating said robot by the output of the transformation step.

Inventors: ISHIGURO YASUO, ITOU YOSHIZUMI, NAKANO MASARU, SHIROSHITA OSAMU, ISHIGURO, YASUO, ITOU, YOSHIZUMI, NAKANO, MASARU, SHIROSHITA, OSAMU
Applicants: TOYODA CHUO KENKYUSHO KK, TOYOTA MOTOR CO LTD, KABUSHIKI KAISHA TOYOTA CHUO KENKYUSHO, TOYOTA JIDOSHA KABUSHIKI KAISHA
Application year: 1985
Main classification: G05B19
IPC codes: B25J9, G05B19