PATH CONTROL METHOD AND APPARATUS

Abstract: A path control method and apparatus which are well-­ suited especially for application to articulated machine tools and industrial robots having path-controlled parts, using commands calculated from teach point information and orders calculated from the commands by operations attended without coordinate transformations so that a large number of path points can be evaluated without consider­ ably lengthening an operating period of time.

Description: The present invention relates to a path control method of the kind referred to in the pre-characterizing portion of patent claim 1. Such a path control method is known from EP-A-0042202. According to EP-A-0042202 a path-controlled part is controlled in such a way that principle points concerning movement paths are stored as teach points in memory means in advance, and that an interpolation operation is performed by reading out the stored information. More specifically the cited EP-A-0042202 discloses a path control method wherein a path -controlled part is driven by a plurality of arms controlled in a reference coordinate system, a path control method providing a teach point information signal; calculating a main path point from the teach point information signal; calculating a command signal; calculating an order expressed by the reference coordinate system from two of said signals; and using said orders to move the path-controlled part according to a path determined. The interpolation operation becomes more complicated with increase in the number of movable axes included from a base to the path-controlled part. When industrial robots are taken as an example, recently they have five movable axes as the general trend. Further, robots of 6-axis setup are coming into wide use. Accordingly, the period of time required for the interpolation operation tends to lengthen more. Industrial robots and machine tools are often required to perform operations for various functions, besides the operations for the path control. The operations are executed by microcomputers in many cases. The microcomputers are inexpensive, but they do not have very high operating capabilities. In the controls of the industrial robots and machine tools, it is the actual situation that the capabilities are utilized substantially fully. On the other hand, however, it is requested to perform a preciser control by executing the interpolation operation finely and lessening the meandering of the moving path. SUMMARY OF THE INVENTION It is the object of the present invention to provide a method of a smooth path control which can be attained in shorter interpolating time intervals without considerably increasing the period of time required for an interpolation operation. This object is achieved with a path control method according to claim 1. Dependent claims are directed on features of preferred embodiments of the path control method according to the invention. In the present invention, since the order is obtained between the commands adjoining each other along a path, a cycle for evaluating the command can also be made somewhat longer than in the prior art. Thus, the period of time required for the operation of path interpolation can also be made equal to, or rather shorter than, that in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a perspective view showing an example of an industrial robot which is controlled by a path control method according to the present invention; Figure 2 is a block circuit diagram showing an embodiment of a path control apparatus according to the present invention; Figure 3 is a front elevation showing an example of the panel arrangement of a console shown in Figure 2; Figure 4 is a flowchart showing the steps of the path control method of the present invention; Figure 5 is a diagram showing teach points; and Figure 6 is a diagram showing the relationship among teach points, main path points, commands and orders in the path control method of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, there will be described a case where the present invention is applied to an industrial robot. In Figure 1, numeral 1 designates a base, and numeral 2 a turntable. This turntable is turnable in a direction ϑ indicated by arrows about a vertical axis 4 by drive means 3 which is disposed thereunder. A U-shaped holder 5 is fixed on the turntable 2. A first arm 6 is supported so as to be turnable in a direction  about an axis 7. Shown at numeral 8 is a drive means for driving the first arm 6 in the direction . A second arm 9 is pivotally mounted on the upper end of the first arm 6 through a pin 10. Disposed in parallel with the first arm 6 is a rear lever 11, one end of which is pivotally mounted on the second arm 9 through a pin 12 and the other end of which is pivotally mounted on one end of a lower lever, not shown, through a pin, not shown. The other end of the lower lever, not shown, is driven on the axis 7 by drive means 13. The first arm 6, second arm 9, rear lever 11 and lower lever constitute a parallelogram link. Accordingly, when the drive means 13 is actuated, the second arm 9 is rotated in a direction ψ about the axis 14 of the pin 10. The pivotal points between the rear lever 11 and the lower lever, not shown, are provided with drive means 17 for rotating a wrist 15 in a direction α about an axis 16 and drive means 19 for rotating the wrist 15 in a direction β about an axis 18. A welding torch 20 is attached to the wrist 15, and the intersection point 21 between the axis of this torch and the axis 18 is a path-controlled part (a part whose path is to be controlled). Thus, the moving object includes the five axes consisting of the axis of the turntable 2, the axis of the first arm 6, the axis of the second arm 9 and the two axes of the wrist 15. Encoders 22, 23, 24, 25 and 26 as position detecting means are respectively installed on the drive means 3, 8, 13, 17 and 19 so as to detect the rotational angles of the corresponding drive means. While, in the above, the mechanism of the articulated industrial robot shown in Figure 1 has been described, the characterizing features of the present invention do not reside in the mechanism. Accordingly, the mechanism is not restricted to that shown in Figure 1, but it may be any of the mechanisms of the Cartesian coordinate type, polar coordinate type, cylindrical coordinate type, etc. The member to be attached to the wrist 15 is not restricted to the welding torch, either. The mechanism illustrated in Figure 1 is described more in detail in U.S. Patent Application Serial No. 196,252, filed on October 10, 1980. Figure 2 is a block diagram showing an example of a control device for controlling the mechanism shown in Figure 1. Now, reference is had to this diagram. Numeral 27 designates a console. This console 27 is shown in front elevation in Figure 3, and has a switch 28 for supplying electric power to the whole robot, a switch 29 for changing-over a teaching mode and an automatic operation mode and an automatic operation mode and switches 30, 31, 32, 33, 34 and 35 required for teaching. The switches 30, 31 and 32 are three-position change-over switches for shifting the path-controlled part 21 in the directions of +X·-X, +Y·-Y and +Z·-Z, respectively; the switches 33 and 34 are three-position change-over switches for actuating the drive means 11 and 19 so as to move the wrist 15 in the directions of +α·-α and +β·-β, respectively; and the switch 35 is a switch which is thrown on a side Pe when only the posture of the moving object is changed without changing the position of the path-controlled part 21. Shown at numeral 36 in Figure 3 is a push button which is depressed when teach points are written into main storage means 37. The console 27 is connected to general control means 39 through a line 38. The general control means 39 generally controls the main storage means 37, temporary storage means 44, arithmetic means 45 and control means 46 through lines 40, 41, 42 and 43. In addition, the general control means 39 provides timing pulses. The main storage means 37 stores the teach points as stated before. The temporary storage means 44 temporarily stores commands through a line 47. The arithmetic means 45 evaluates a main path point on the basis of the information of the adjacent teach points inputted from the main storage means through a line 48, calculates commands for the respective drive means 3, 8, 13, 17 and 19 necessary for moving the path-controlled part 21 to this main path point, and processes the adjacent commands so as to operate an order for interpolating between these commands. Further, when any of the change-over switches 30, 31 and 32, for example, the switch 30 is thrown on the +X side, the arithmetic means 45 executes an operation necessary for moving the path-controlled part 21 in the +X direction. The control means 46 receives the commands and orders through a line 49 from the arithmetic means 45, and successively gives the differences between them and the outputs of the encoders 22 - 26 to the corresponding drive means 3, 8, 13, 17 and 19 through a line 50. Shown at numeral 51 is a line which connects the encoders 22 - 26 with the control means 46. When, for example, the change-over switch 30 is thrown onto the +X side with the change-over switch 29 thrown on the teaching mode side Te, the resulting signal is applied to the arithmetic means 45 through the lines 38 and 42. The arithmetic means 45 performs an operation necessary for moving the path-controlled part 21 in the +X direction, by substituting x = const. and Δyℓ = Δzℓ = 0, Δαℓ = 0, Δβℓ = 0 into Equation (1): Equation (1) is an equation for evaluating the variations ΔΘℓ , Δℓ and Δψℓ of Θ,  and ψ required for moving the path-controlled part 21 by Δx , Δy and Δz . a₁₁- a₅₅ are coefficients which are determined by the construction of the mechanism shown in Figure 1. The operated results obtained with Equation (1) are sent to the control means 46 through the line 49. Upon receiving these outputs and further the outputs of the encoders 22, 23 and 24, the control means 46 sends signals corresponding to their differences to the drive means 3, 8 and 13, so as to actuate these means. When the path-controlled part 21 has arrived at a desired coordinate position, the change-over switch 30 is returned to its neutral position. Operations for positioning the path-controlled part 21 in the Y- and Z-directions can be readily inferred from the above description, and will not be explained. It is also possible to manipulate the switches 30, 31 and 32 at the same time. Next, when it is desired to change only the angle α without changing the position of the path-controlled part 21, the switch 35 is thrown onto the side Pe, and the change-over switch 33 is thrown onto, for example, the side +α . Then, Δx = Δy = Δzℓ = Δβℓ = 0 and Δαℓ = const. are substituted into Equation (1). Thus, ΔΘℓ , Δℓ and Δψℓ are evaluated. These values are sent to the control means 46 through the line 49. Upon receiving these outputs and further the outputs of the encoders 22, 23, 24 and 25, the control means 46 supplies the drive means 3, 8, 13 and 17 with signals corresponding to their differences, so as to actuate these means. When the angle α has become a desired magnitude, the change-over switch 33 is returned to its neutral position. Operations for changing the magnitudes of -α, +β and -β without changing the position of the path-controlled part 21 can be readily inferred from the above description, and will not be explained. It is also possible to simultaneously change the magnitudes of the angles α and β by simultaneously manipulating the switches 33 and 34. When the position of the path-controlled part 21 and the magnitudes of the angles α and β have been brought into the desired states, the push button 36 provided on the console 27 is depressed. Then, information on Θ, , ψ, α and β which the arithmetic means 45 is delivering at that time are written into the main storage means 37. When the writing has ended, the push button 36 is released, whereupon similar operations are carried out for new teach points. Figure 4 shows the flow of the steps of the path control method of the present invention. It will be hereunder referred to, along with Figures 5 and 6, illustrative of teach points, etc. When the automatic operation mode is to be established, the change-over switch 29 is thrown onto the side Au. Then, the apparatus is initialized as indicated by a block 4a in Figure 4. [First Operating Step] Next, the general control means 39 feeds the outputs (Θ O ,  O , ψ O , α O , β O ) of the respective encoders 22, 23, 24, 25 and 26 into the arithmetic means 45 through a line 52 as indicated at 4b. The position of the path-controlled part 21 at this time is supposed T O . As indicated at 4c, the arithmetic means performs a coordinate transformation by substituting (Θ O ,  O , ψ O , α O , β O ) into Equation (2), to operate the values x O , y O , and z O of the general coordinate system corresponding thereto: where A is a term composed of (a₁₁ - a₅₅) in Equation (1). As indicated at 4d, the general control means 39 writes (x O , y O , z O ) into the temporary storage means 44. Subsequently, as indicated at 4e, the general control means 39 reads out teach point information (Θ₁, ₁, ψ₁, α₁, β₁) on a first teach point T₁, expressed by the construction of the moving object, from the main storage means 37 and inputs them to the arithmetic means 45. As indicated at 4f, the arithmetic means 45 substitutes (Θ₁, ₁, ψ₁ α₁, β₁) into Equation (2), to operate the values (x₁, y₁, z₁) of the general coordinate system. As indicated at 4g, the general control means 39 reads out x O , y O and z O from the temporary storage means 44 and inputs them to the arithmetic means 45. As indicated at 4h, the arithmetic means 45 calculates the distance L between the points T O and T₁ in accordance with Equation (3): Further, as indicated at 4i, the arithmetic means 45 evaluates according to Equation (4) the number N of timing pulses which will be needed for moving the path-controlled part 21 from T O to T₁: where L denotes the distance between the adjacent main path points, and B denotes the number of orders per axis to be obtained between the adjacent main path points. Further, as indicated at 4j, the arithmetic means 45 evaluates the X-, Y- and Z-directional component distances Δx a , Δy a and Δz a between the adjacent main path points P₁, P₂ ..... and P n , between the starting point T O and P₁ and between P n and the end point T₁ in accordance with (5) - (7): As indicated at 4k, the arithmetic means 45 evaluates main path point commands X mn , Y mn and Z mn which are the values of the main path points P₁, P₂ ..... and P n on the general coordinate system, by substituting Δx a , Δy a and Δz a into Equations (8), (9) and (10): X mn = X O + m Δx a (3) Y mn = Y O + m Δy a (9) Z mn = Z O + m Δz a (1O) These operations are executed in synchronism with the timing pulses from the general control means 39. [Second Operating Step] As indicated at 4 , the arithmetic means 45 evaluates angles Δα a and Δβ a to change between the adjacent main path points P₁, P₂ ..... and P n , between the starting point T O and P₁ and between P n and the end point T₁ by substituting α O , β O , α₁, β₁ and N into Equations (11) and (12): Next, as indicated at 4m, the arithmetic means 45 evaluates α mn and β mn on the angles α and β of the respective main path points P₁₀, P₂₀ ..... and P mO , expressed by the reference coordinate system of the moving object, by substituting Δα a and Δβ a into Equations (13) and (14): α mn = α O + mΔα a (13) β mn = β O + m Δβ a (14) As indicated at 4n, the arithmetic means performs a coordinate transformation by substituting the values of α mn and β mn and those of X mn , Y mn and Z mn into Equation (15), to obtain commands Θ mn ,  mn and ψ mn expressed by the reference coordinate system of the moving object. These operations are executed in synchronism with the timing pulses from the general control means 39. The values ΔXa, ΔYa, ΔZa, Δαa and Δβa may be also evaluated by using a velocity unit which is given as teaching information. Equations using the velocity unit v are as follows: Xtn = X O + tΔXa (8') Ytn = Y O + tΔYa (9') Ztn = Z O + tΔZa (10') αtn = α O + tΔαa (13') βtn - β O + tΔβa (14') [Storing Step] As indicated at 4p, the commands Θ mn ,  mn , ψ mn , α mn and β mn are stored into the temporary storage means 44. [Third Operating Step] As indicated at 4q, the commands stored in the temporary storage means 44 are read out so as to evaluate the magnitudes of the signals of the respective axes, ΔΘ b , Δ b , Δψ b , Δα b and Δβ b to be changed in the sampling period, in accordance with Equations (16) - (20): Next, as indicated at 4r, ΔΘ b , Δ b , Δψ b , Δα b and Δβ b are substituted into Equations (21) - (25) so as to evaluate orders Θ mq ,  mq , ψ mq , α mq and β mq for the interpolation between the adjacent two sets of commands as expressed by the reference coordinate system of the moving object: ϑ mqn = ϑ mn + q Δϑ b (21)  mqn =  mn + q Δ b (22) ψ mqn = ψ mn + q Δψ b (23) α mqn = α mn + q Δα b (24) β mqn = β mn + q Δβ b (25) Orders are similarly evaluated between T O and P 1O and between P nO and T₁. C O1O C O q O , C 11O C₁ q O , ..... and C m1O C m q O are the order points. These operations are executed in synchronism with the timing pulses from the general control means 39. [Fourth Operating Step and Driving Step] The control means 46 evaluates the differences between the orders Θ mqn ,  mqn , ψ mqn , α mqn and β mqn and positional information expressive of the positions of the respective drive means 2, 8, 13, 17 and 19, namely, the outputs of the encoders 22 - 26 as indicated at 4s, and affords them to the corresponding drive means 3-19 as indicated at 4t. Also the control means 46 evaluates the differences between the commands Θ mn ,  mn , ψ mn , α mn and β mn and the outputs of the encoders 22 - 26, and applies them to the corresponding drive means 3, 8, 13, 17 and 19. They are applied along the path in the sequence of C O1O , C O2O ..., C OqO , P 1O , C 11O , C 1qO , ..., P mO , C m1O , C mqO and T₁ as the values expressed by the reference coordinate system of the moving object. These values are successively inputted to the control means 46 in synchronism with the timing pulses from the general control means 39. The general control means 39 reads out teach point information Θ n ,  n , ψ n , α n and β n expressive of teach points T₂,....., T n-1 and T n from the main storage means 37 in succession. The arithmetic means 45 evaluates main path points, commands and orders between the respective teach points, and applies them to the control means 46 in synchronism with the timing pulses. The control means 46 supplies the respective drive means 3, 8, 13, 17 and 19 with signals which correspond to the differences between the commands and orders and the outputs of the encoders. Accordingly, the path-controlled part moves substantially along the teach points and the main path points. In evaluating the main path points between the teach points T n and T n-1 , both the teach points T n and T n-1 can be obtained on the basis of the information stored in the main storage means. Alternatively, the teach point T n is evaluated from the stored information of the main storage means, while the other teach point T n-1 may be evaluated using the outputs of the encoders 22 - 26 at the time at which the path-controlled part 21 lies near the point T n-1 . The path-controlled part 21 need not always pass the teach points. As disclosed in U.S. Patent 3,661,051, when the path-controlled part has come very close to a teach point, the next teach point is read out from storage means, whereby the path-controlled part can be moved along a shorter path as illustrated by each two-dot chain line in Figure 5 by way of example. The main storage means 37 can also store the teach point information as the values X, Y and Z expressed by the general coordinate system and the angular information α and β. In writing the teach points, the outputs of the respective positional detectors can be written instead of the signals delivered by the arithmetic means. According to the present invention, as understood from the above description, commands are obtained by operations attended with coordinate transformations, while orders of easy operations attended with no coordinate transformations are obtained between the commands, and a moving object is driven on the basis of these commands and orders, so that a large number of path points can be evaluated without considerably lengthening an operating period of time. Accordingly, the path of a path-controlled object is stabilized.

Claims: A path control method for a path-controlled object performed during automatic mode wherein a path-controlled part is driven by a plurality of mechanical linked arms controlled in a reference coordinate system, the control method providing a teach point information signal defining a point on a main path followed by said path-controlled part; calculating a main path point from said teach point information signal; calculating a command signal from the main path point; calculating an order expressed by the reference coordinate system and defining a new point along the main path, from said command signal ; and using said second command to move the path-controlled part according to a path determinded, characterized in that a reference coordinate system is defined in which points are designated in at least two-dimensions said main path point is calculated by interpolating of said main path point from said teach point information signal, said teach point and the main path point being expressed in a general purpose coordinate system different from said reference coordinate system; said command signal is calculated to represent the main path point in coordinates of a reference coordinate system from said main path point in coordinates of a general purpose coordinate system through a coordinate transformation; said second command is calculated to define the new point in the form of reference coordinate system from two of said command signals in the form of the reference coordinate system by the four rules of arithmetic through interpolation by dividing a distance represented by the difference between said command signals; and said path-controlled part is moved by driving the arms in response to signals expressive of the difference to move the path controlled part toward the new point designated by the second command. A path control method according to claim 1, wherein the interpolation in the step of calculating the order is performed by equally dividing a distance represented by the differences between said command signals. A path control method according to claim 1 or 2, further comprising the step of providing a velocity unit with said teach point information signal, wherein the order is calculated by an equation using the velocity unit. A path control method according to claim 1, further comprising the step of calculating a number of timing pulses, and wherein the order is calculated by an equation using the number of timing pulses. A path control method according to claim 1, further comprising the step of sensing positional information of the arms as the path controlled part approaches a teach point, wherein the positional information of the arms is provided as a teach point information signal. A path control method according to claim 1 or 5, further comprising the step of sensing positional information about a point defined by the arms when the path controlled part approaches a teach point, and wherein a main path point succeeding the teach point being approached is calculated from the positional information and the teach point information about the teach point next succeeding the teach point being approached.

Inventors: KOGAWA, TAKASHI
Applicants: HITACHI, LTD.
Application year: 1983
Main classification: G05B19
IPC codes: G05B19, B25J9