SPEED CONTROLLER

Abstract: A speed controller which works to control the speed of a robot hand or a moving part of an NC machine tool. The speed controller has speed over-ride means for changing the instruction speed for the moving part at a predetermined rate and acceleration/deceleration means (2X, 2Y) having a time constant inversely proportional to the speed set by the over-ride means. When the speed over-ride quantity is changed, the time constant of the acceleration/deceleration means (2X, 2Y) is changed depending upon the instruction speed, such that a pool quantity in the instruction pulse quantity becomes constant during the acceleration or deceleration. Therefore, the moving part is controlled to move at a predetermined speed without changing the locus at the corners.

Description: This invention relates to a velocity control apparatus for controlling velocity when moving the movable element of a robot hand or NC machine tool. In an ordinary robot or NC, an acceleration/deceleration filter is used for each axis to smoothly control the movement of a movable element up to a target position, and the velocity of the element is commanded by a program. This enables movement to be controlled along a set trajectory at a predetermined velocity. Accordingly, once programming has been correctly performed, the trajectory of motion of the movable element is always the same and error at execution of an activity does not pose a problem. However, there are cases, as, for example, in a conventional teaching-type robot, in which the object under control has a plurality of drive mechanisms and, in a test run, a trajectory of motion is set to run at reduced velocity by a velocity override mechanism to establish a velocity different from the velocity that will actually prevail when the program is executed as is possible, for example, using the system of EP-A-0 176 600. In a case such as this, the quantity of command pulses that will accummulate at the time of acceleration and at the time of deceleration will differ in dependence upon the commanded velocity. Also, when performing corner machining by a machine tool, the amount of override changes and a similar problem can occur. Figs. 4(a), (b) are explanatory views showing examples of acceleration/deceleration characteristics, in which time t is plotted along the horizontal axis and velocity V along the vertical axis. Figs. 4(a), (b) show examples in which an acceleration/deceleration time constant is set to a constant value T and the relation between V₁ and V₂ is V₁ = 2V₂ . In this case an area S₁ defined by a triangle q₁-t a -t b and an area S₂ defined by a triangle q₂-t c -t d each represent an amount of accumulated command pulses, where the relation S₁>S₂ holds. Therefore, even after a program commanding movement of a movable element is set, an override set independently of the movement command causes the trajectory at a corner portion to vary in dependence upon the amount of velocity override. A problem that arises is that, in an arc welding robot or the like, it becomes necessary to apply a correction in accordance with position information from a visual sensor and the like. Fig. 5 is a view for explaining an example in which a difference in trajectory occurs at a corner portion, as mentioned above. This shows that when acceleration/deceleration control of a servomotor is performed at the same time constant T in a case where a trajectory P₁-Q-P₂ passing through a corner portion Q is set, the extent to which a movable member strays from a normal trajectory is greater at a high velocity than at a low velocity. The present invention has been devised to solve the foregoing problem and its object is to provide a velocity control apparatus in which velocity override control is made possible without causing a change in trajectory. In accordance with the present invention, there is provided a velocity control apparatus having drive mechanisms for a plurality of axes for controlling movement of a movable member along a set trajectory at a predetermined velocity, comprising velocity override means for changing and setting a commanded velocity of the movable member to a predetermined proportion of said predetermined velocity, based on changing and setting the commanded velocities for each direction of movement, and acceleration/deceleration means having a time constant which is changed in inverse proportion to a velocity set by the override means. The velocity control apparatus of the invention makes it possible to control the movement of a movable element at a predetermined velocity without changing the trajectory at a corner portion when the velocity of the movable element is controlled. Figs. 1(a), (b) are block diagrams illustrating the general construction of the invention, Figs. 2(a), (b) are explanatory views for describing the fundamental principle of the invention, Fig. 3 is a view for describing an embodiment adapted to change override and alter a time constant during operation along an axis, Figs. 4(a), (b) are explanatory views illustrating examples of acceleration/deceleration characteristics, and Fig. 5 is a view for describing an error produced in a trajectory at a corner portion. An embodiment of the present invention will now be described in detail with reference to the drawings. Figs. 2(a), (b) are explanatory views for describing the fundamental principle of the invention. The basic concept of the invention is to set a time constant in inverse proportion to a change in override and effect control in such a manner that the accumulated quantity of command pulses is rendered constant regardless of velocity. More specifically, assume that when a velocity V₁ in Fig. 2(a) is made a value corresponding to an override of 100%, a velocity V₂ in Fig. 2(b) has a value corresponding to an override of 50%. In such case, a time constant T in Fig. 2(a) is set to 1/2 of the time constant of Fig. 2(b). Generally, in a case where override varies from X% to Y%, a time constant T' that prevails when the override is Y% is set as follows: T' = T·(X/Y) where T is the constant that prevails when the override is X%. By setting the time constants in this manner, the area S₁' of the triangle defined by the slanting lines in Fig. 2(a) and the area S₂' of the triangle defined by the slanting lines in Fig. 2(b) become equal so that the trajectory at a corner portion can be controlled so as to remain constant even if velocity changes. Fig. 1(a) is a block diagram illustrating the general construction of the invention. In this Figure, a control unit 1 is operated both when running a program and when performing an override test run. For example, in a case where two axes, namely X and Y axes, are controlled, feed rate and amounts of movement along the X and Y axes are set, whereby a coarse interpolator a computes components Δ X, Δ Y of amounts of movement along the respective X and Y axes and outputs these components to a pulse distributor b. The pulse distributor b executes a pulse distribution computation in accordance with the coarse interpolation data and generates distributed pulses Xp, Yp, the number whereof correspond to Δ X, Δ Y, in one sampling period. These pulse are outputted to linear acceleration/deceleration circuits 2X, 2Y. Each of these linear acceleration/deceleration circuits 2X, 2Y is composed of a predetermined number of buffer registers, an accumulator, a divider and the like. The latest coarse interpolation data Δ Xn, Δ Yn are stored in the buffer registers at every sampling and a signal for performing linear acceleration/deceleration control of the kind shown in Figs. 2(a), (b) is formed by addition and division processing. The outputs of the linear acceleration/deceleration circuits 2X, 2Y are applied to an X-axis servomotor 4X and a Y-axis servomotor 4Y via servo cicuits 3X, 3Y, respectively, thereby driving these servomotors. Ordinarily, the setting of different time constants of the kind shown in Figs. 2(a), (b) is performed when the axes are at rest. However, since there are occasions where override is varied even during operation along an axis, it is sometimes necessary to alter the time constants by providing two acceleration/deceleration means each of which acts upon the same drive mechanism. Fig. 3 is an explanatory view illustrating an example of an arrangement for altering a time constant by changing override during operation along an axis. In the example illustrated, a servomotor is initially subjected to acceleration and constant-velocity control at the override characteristic of override V₁, and the servomotor is then decelerated in the time interval t a - t b . Deceleration starts at time t a , and acceleration is performed in the interval t a - t o at the characteristic of override V₂. In other words, the servomotor is driven at a characteristic 1 ○ - 4 ○ obtained by combining the deceleration characteristic 1 ○ - 2 ○ and the acceleration characteristic 3 ○ - 4 ○. As a result, it is possible to control changeover of the time constant by modification of the override during operation along the axis. Fig. 1(b) is a block diagram showing the general construction of a velocity control apparatus for controlling servomotors in accordance with the characteristic depicted in Fig. 3. In this Figure, only the circuitry relating to the X axis is shown for the sake of simplicity. Here the acceleration/deceleration circuit is composed of two circuits 2Xa, 2Xb having different characteristics. When the linear acceleration/deceleration circuit 2Xa is made to correspond to the characteristic of override V₁ and the linear acceleration/deceleration circuit 2Xb is made to correspond to the characteristic of override V₂, acceleration/deceleration control is such that switch S₁ is closed to actuate the circuit 2Xa in the interval 0 - t b in the characteristic of Fig. 3, and switch S₂ is closed to actuate the circuit 2Xb in the interval t a - t o , and both circuits 2Xa, 2Xb are actuated in the interval t a - t b . According to the velocity control apparatus of the present invention, when the amount of a velocity override is changed, the time constant of acceleration/deceleration means is changed in dependence upon a commanded velocity, the quantity of command pulses that accumulate at the time of acceleration and at the time of deceleration can be controlled so as to be held constant, and the movement of a movable element can be controlled at a predetermined velocity without changing the trajectory. Moreover, velocity override control can be performed without causing a change in trajectory even in a state where the drive mechanism of an axis on which the aforesaid acceleration/deceleration means acts is not at rest.

Claims: A velocity control apparatus having drive mechanisms for a plurality of axes for controlling movement of a movable member along a set trajectory at a predetermined velocity, comprising velocity override means for changing and setting a commanded velocity of said movable member to a predetermined proportion of said predetermined velocity, based on changing and setting the commanded velocities for each direction of movement, characterised in that it further comprises: acceleration/deceleration means having a time constant which is changed in inverse proportion to a velocity set by the override means. A velocity control apparatus according to claim 1, characterized in that there are provided two acceleration/deceleration means for acting upon each drive mechanism of said movable member in dependence upon a change in the commanded velocity during movement of said movable member, wherein when the velocity command regarding the movable member is changed by said velocity override means, acceleration/deceleration of the movable member is controlled upon setting each of said acceleration/deceleration means to a time constant inversely proportional to the velocity changed.

Inventors: HARA RYUICHI, HARA, RYUICHI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1988
Main classification: G05B19
IPC codes: G05B19