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 performed without coordinate transformations so that a large number of path points can be evaluated without considerably lengthening an operating period of time.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a path control method and apparatus which are well-suited especially for application to articulated machine tools and industrial robots having path-controlled parts (parts whose paths are to be controlled) movable within three-dimensional regions. 
     A path-controlled part is controlled in such a way that principal 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. 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 
     An object of the present invention is to provide a path control method which can shorten interpolating time intervals without considerably increasing a period of time required for an interpolation operation, and to construct an apparatus therefor. 
     In the present invention, main path points expressed by a general coordinate system are obtained from a teach point information signal (hereafter &#34;teach point information&#34;), and a command signal (hereafter &#34;command&#34;) expressed in the reference coordinate system of a moving object is obtained from the main path point information. In addition, at least one order expressed in the reference coordinate system of the moving object is obtained between such commands. The command has heretofore been evaluated, and a long operating time is taken for the evaluation because a coordinate transformation must be done. Since, however, the order can be executed by the four fundamental rules of arithmetic, it can be evaluated in a time much shorter than the time for evaluating the command. Accordingly, even when the time for evaluating the order is added to the time for evaluating the command, the total becomes slightly longer than the latter time. 
     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 
     FIG. 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; 
     FIG. 2 is a block circuit diagram showing an embodiment of a path control apparatus according to the present invention; 
     FIG. 3 is a front elevation showing an example of the panel arrangement of a console shown in FIG. 2; 
     FIG. 4 is a flowchart showing the steps of the path control method of the present invention; 
     FIG. 5 is a diagram showing teach points; and 
     FIG. 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 FIG. 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 4 of the turntable 2, the axis 7 of the first arm 6, the axis 14 of the second arm 9 and the two axes 16, 18 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 FIG. 1 has been described, the characterizing feature of the present invention do not reside in the mechanism. Accordingly, the mechanism is not restricted to that shown in FIG. 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 FIG. 1 is described more in detail in U.S. patent application Ser. No. 196,252, filed on Oct. 10, 1980. 
     FIG. 2 is a block diagram showing an example of a control device for controlling the mechanism shown in FIG. 1. Now, reference is had to this diagram. 
     Numeral 27 designates a console. This console 27 is shown in front elevation in FIG. 3, and has a switch 28 for supplying electric power to the whole robot, a switch 29 for changingover 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 changeover switches for actuating the drive means 17 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 FIG. 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 obtain an order defining an intermediate point by 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 pathcontrolled 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 Δyl=Δzl=0, Δαl=0, Δβl=0 into Equation (1): ##EQU1## Equation (1) is an equation for evaluating the variations ΔΘl, Δφl and Δψl of Θ, φ and ψ required for moving the path-controlled part 21 by Δx, Δy and Δz. 
     a 11  -a 55  are coefficients which are determined by the construction of the mechanism shown in FIG. 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=Δzl=Δβl=0 and Δαl=const. are substituted into Equation (1). Thus, ΔΘl, Δφl and Δψl 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 magnitude 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 delivery 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. 
     FIG. 4 shows the flow of the steps of the path control method of the present invention. It will be hereunder referred to, along with FIGS. 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 FIG. 4. 
     [First Operating Step] 
     Next, the general control means 39 feeds the outputs at T 0  (Θ 0 , φ 0 , ψ 0 , α 0 , β 0 ) 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 0 . 
     As indicated at 4c, the arithmetic means performs a coordinate transformation by substituting (Θ 0 , φ 0 , ψ 0 , α 0 , β 0 ) into Equation (2), to obtain the values x 0 , y 0 , and z 0  of the general coordinate system corresponding thereto: ##EQU2## where A is a term composed of (a 11  -a 55 ) in Equation (1). 
     As indicated at 4d, the general control means 39 writes (x 0 , y 0 , z 0 ) into the temporary storage means 44. 
     Subsequently, as indicated at 4e, the general control means 39 reads out teach point information (Θ 1 , φ 1 , ψ 1 , α 1 , β 1 ) on a first teach point T 1 , 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 (Θ 1 , φ 1 , ψ 1 , α 1 , β 1 ) into Equation (2), to obtain the values (x 1 , Y 1 , z 1 ) of the general coordinate system. 
     As indicated at 4g, the general control means 39 reads out x 0 , y 0  and z 0  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 0  and T 1  in accordance with Equation (3): ##EQU3## 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 0  to T 1  : ##EQU4## 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. As shown in FIG. 6, each main path point is represented by a point &#34;P 0  &#34;. Interpolated points between starting point T 0  and the first main path point P 10 , between successive main path points, and between main path point P m0  and end point T 1  are defined by orders and represented by the points labeled &#34;C&#34;. 
     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 1 , P 2  . . . and P n , between the starting point T 0  and P 1  and between P n  and the end point T 1  in accordance with (5)-(7): ##EQU5## 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 1 , P 2  . . . and P n  on the general coordinate system, by substituting Δx a , Δy a  and Δz a  into Equations (8), (9) and (10): ##EQU6## These operations are executed in synchronism with the timing pulses from the general control means 39. 
     [Second Operating Step] 
     As indicated at 4l, the arithmetic means 45 evaluates angles Δα a  and Δβ a  to change between the adjacent main path points P 1 , P 2  . . . P n , between the starting point T 0  and P 1  and between P n  and the end point T 1  by substituting α 0 , β 0 , α 1 , β 1  and N into Equations (11) and (12): ##EQU7## 
     Next, as indicated at 4m, the arithmetic means 45 evaluates α mn  and β mn  on the angles α and β of the respective main path points P 10 , P 20  . . . and P m0 , expressed by the reference coordinate system of the moving object, by substituting Δα a  and Δβ a  into Equations (13) and (14): ##EQU8## 
     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. ##EQU9## 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: ##EQU10## 
     [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): ##EQU11## 
     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 adjcent two sets of commands as expressed by the reference coordinate system of the moving object: ##EQU12## Orders are similarly evaluated between T 0  and P 10  and between P n0  and T 1 . C 010  C 0  q 0 , C 110  C 1  q 0 , . . . and C m10  c m  q 0  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 difference 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 a sequence of C 010 , C 020  . . . , C 0q0 , P 10 , C 110 , C 1q0 , . . . , P m0 , C m10 , C mq0  and T 1  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 2 , . . . , 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 or 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 obained 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. Pat. No. 3,661,051, when the pathcontrolled part has come very close to a teach point, the next teach point is read out from storage means, whereby the pathcontrolled part can be moved along a shorter path as illustrated by each two-dot chain line in FIG. 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.