A METHOD FOR CONTROL OF AN INDUSTRIAL ROBOT ALONG A GIVEN TRACK

Abstract: A method for control of the movement of an industrial robot along a given track (P1 - P4) with a desired track speed (v), which industrial robot has a number of movement axes and for each axis servo equipment for control of the axis movement in accordance with reference values ( tau korr) supplied thereto. First, those axis angles ( phi i) which are needed for assuming the next position on the track are calculated. In dependence on the calculated axis angles and a first mathematical model, which describes the static and dynamic properties of the robot, for each one of the movement axes that torque ( tau = ( tau 1, tau 2 ... tau 6)) is calculated which is required for assuming the next position. The load (t) is calculated at one or more mechanically critical points for the calculated axis angles ( phi i) with the aid of a second mathematical model, which describes the load of the robot at the critical points. For each one of the axes, the calculated torque ( tau ) is compared with a maximum permissible torque ( tau max), and the load (t) is compared with a maximum permissible load (tmax) for the critical point. If the calculated torque exceeds the maximum permissible torque for any axis, or if the calculated load exceeds the maximum permissible load for any critical point, then the track speed (v) is reduced and the reference values for the servo system tau korr = ( tau korr1, tau korr2 ... tau korr6) are calculated in dependence on the reduced track speed.

Description: A method for rnntrol of an industrial robot alonσ a given _ track TECHNICAL FIELD The invention relates to a method for control of the movement of an industrial robot along a given track, which industrial robot has a plurality of movement axes (1-6) and for each axis servo equipment for control of the axis movement in accordance with reference values supplied thereto. BACKGROUND ART The invention relates to an industrial robot which has a plurality of movement axes, typically six axes. Such a robot has a stand which is rotatably arranged on a foot and which supports a first robot arm which is rotatable in relation to the stand. In the outer end of this arm, and rotatable in relation therf.-to, a second robot arm is arranged. In the following, the first arm is referred to as the lower arm and the second arm as the upper arm. At its outer end the upper arm supports a hand which is provided with a tool attachment and which is rotatable in two or three degrees of freedom relative to the upper arm. The robot is provided with servo equipment for control of the position and the orientation of the robot hand. For each one of the movement axes of the robot, servo equipment comprising a driving mocor and a position sensor is provided, the latter delivering a signal which is a measure of the angle of rotation of the axis in question. The servo system of each axis is supplied with a reference value for the angle of rotation of the axis, and the driving motor of the axis brings the robot to move in the axis in question until the axis position indicated by the position sensor of the axis coincides with the reference value supplied to the servo system. An industrial robot can be ordered to follow, at a certain speed, a track which is given in the form of a number of points in a Cartesian system of coordinates. For the robot, to follow the given track, the axis angles required therefor must be calculated. For this purpose, the track is stepped with a length of step which is based on the given speed and an internal sampling time. For each step, the next position which the robot is to assume is first calculated in Cartesian coordinates. Then, the axis angles required for the robot to assume this position are calculated. With the aid of a mathematical model for the robot, the axis torque required for driving the axes in accordance with the calculated axis angles can be calculated. A check is made whether any of the calculated axis torques exceeds the motor torques which the respective motor is capable of generating. If the available motor torque is not sufficient for carrying out the movement, the movement is adjusted, for example by reducing the speed and the acceleration, such that the available motor torque of each axis is utilized optimally while at the same time the robot still follows the track. To prevent the mechanical structure of the robot from being overloaded, the mechanical structure must be designed such that, from the strength point of view, it endures loads caused by all conceivable combinations of individual axis movements. This requires designing the structure for a worst case which perhaps seldom occurs. This leads to the robot becoming unnecessarily slow for typical movements and causes the maximum permissible speed and load of the robot to be set unnecessarily low in order not to overload the struc- ture. It is primarily some critical components which, for certain movements, are subjected to high loads and hence must be dimensioned for these loads. SUMMARY OF THE INVENTION The object of the invention is to suggest a method for control of an industrial robot along a track, which provides a possibility of reducing the dimensions of the mechanically critical parts compared with prior art robots. What characterizes a method according to the invention will become clear from the appended claims. According to the invention, while at the same time as the available motor torque is utilized to a maximum, mechani¬ cally critical components are to be monitored such that maximally allowed loads in the components are not exceeded. If the maximally allowed loads risk being exceeded, the movement along the track is to be modified such that the allowed loads are not exceeded. The advantages of the invention is that it provides a possi¬ bility of dimensioning critical components more offensively without risking mechanical overload. This gives great cost advantages. For example, a smaller wrist gives lower weight of the whole upper arm, which is of great importance for the dimensioning of the rest of the robot. The necessary reductions of the motor torque need only occur in certain extreme combinations of axis angles. The other axis angles utilize the available motor torque in full. In this way, the robot may be designed so as to manage carrying out typical movements with a high performance. Other move¬ ments which occur more seldom are carried out with reduced motor torque so as not to exceed the critical components of the robot. The invention also makes it possible to use loads which are larger than what is currently allowed for the robot,- since there is no risk of overloading in the critical components. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows an example of a known industrial robot, to which the invention may be applied. Figure 2 shows an example of a robot track. Figure 3 shows the calculation procedure and the data flow. in a method according to the invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Figure 1 shows an example of a known industrial robot. The robot foot 2 is fixedly mounted on a base 1. The robot has a base stand 3 which is rotatable in relation to the foot 2 around a vertical axis Al. At the upper end of the base stand, a lower arm 4 is journalled and rotable in relation to the base stand around a second axis A2. At the outer end of the lower arm, an upper arm 5 is journalled and rotatable in relation to the lower arm around an axis A3. The upper arm 5 comprises two parts 5a and 5b, the outer part 5b being rotatable in relation to the inner part 5a around an axis of rotation A4 coinciding with the longitudinal axis of the upper arm. At its outer end the upper arm 5 supports a robot hand 6, which is rotatable around an axis of rotation A5 perpendicular to the longitudinal axis of the upper arm. The robot hand comprises a tool attachment 7. The tool ttach¬ ment 7 is rotatable in relation to the inner part of the robot hand around an axis of rotation A6 which is perpendi¬ cular to A5. The angles of rotation in the six axes of rotation A1...A6 are designated φ t - φ 6 in the figure. The control system is arranged in a separate control cabinet 8 and comprises, in a known manner, computer equipment with the necessary memories for programs and other data, drives for the driving motors of the different robot axes and the necessary supply equipment. The control cabinet is connected to a programming unit 9 for programming and other operation of the robot. The robot has a number of components which are critical from a mechanical point of view. Examples of such a critical com¬ ponent is the suspension of the robot hand 6 in the upper arm 5. It is particularly sensitive if it is subjected to a torque around an axis perpendicular to the axes of rotation A5 and A6. A critical component normally has some critical point at which the load may become very high for certain . movements. The critical points may, for example, be non- rotating points which are subjected to a torque perpendi¬ cular to the axes of rotation of the robot. For the sus- pension of the robot hand, the critical point is KPl. Figure 2 shows an example of a track which is given in the form of a number of points P1-P4 in a Cartesian system of coordinates. The robot is programmed to move along the track with a given track speed v. For the robot to follow the given track in the desired manner, the torque which the driving motor of each axis is to provide must be calculated. When carrying out this calculation, a plurality of sampling points P11, Pl2 Pl3 • • Pin are introduced between the given points Pi - P4. The distance between the sampling points is Δl and is based on the given track speed v and an internal sampling time Δt. Δl = v Δt (1) Before the robot can be moved to the next sampling point, the position of the point is first calculated in Cartesian coordinates. Then, the Cartesian position is converted into axis angles φ s according to some known method. Starting from the calculated axis angles, the axis angles at the preceding sampling points " φ t _ x and <P ; _ 2 which are known, and the given track speed v, the speeds , and the accelerations φ, for each axis, vhich are required for performing the ordered movement, are also calculated. The Cartesian track thus corresponds to six tracks for each axis. With the aid of a mathematical model of the robot dynamics, that axis torque τ=(τ,,τ 2 ..τ 6 ) which is required for driving the axes to the next position may be calculated. The axis torque τ is derived from such dynamic effects as mass inertia, friction, centrifugal force, and gravitation. τ=M(φ)*φ + V(φ,φ) » φ + G(φ)+F(φ,φ) (2) φ = φ i ,φ 2 ....φ 6 - position of the robot φ = φ x ,φ 2 φ 6 = speed of the robot φ = φ 1 ,φ 2 ....φ 6 = acceleration of the robot M(φ) is a mass matrix which describes the coupled moment of inertia for each axis. V{φ,φ ) are speed-dependent moments of inertia for each axis and are derived from centrifugal forces and coriolis forces. G(φ) describes the effect of the gravitation on the axis torque. Ε φ,φ) are frictional torques for each axis. If the position, speed and accelera¬ tion of the robot are known, the necessary axis torques may be calculated from equation 2. Figure 3 shows in the form of a block diagram a procedure according to the invention. In block 10 that axis torque τ=(t 1 ,τ 2 ..τ 6 ) is calculated which is required for the robot to assume the next position on the track. In block 11 it is checked whether the calculated axis torques exceed the maximum motor torques r nιax which can be generated by the respective motor. If any axis torque is greater than what can be maximally generated, the track speed v must be reduced. A reduction of the track speed v entails a reduc¬ tion of the distance to the next sampling point Δl. To reduce the track speed v, the acceleration φ for that axis where the available motor torque is not sufficient is reduced. The acceleration is reduced to such an extent that the motor manages to generate the necessary motor torque. The acceleration for the other axes is limited to a corre¬ sponding extent such that the robot still follows the track, block 12. According to the invention, the monitoring of the torque described above is supplemented with a monitoring of the load at one or more critical points. For this purpose, at least one critical point on the robot is selected for monitoring. For each one of the critical points, a scalar equation corresponding to the load at the point is set. In this embodiment, a torque component t at point KP1 on the suspension of the robot hand is monitored. The torque component t may be described by the following equation: t = m(φ)φ +v(φ,φ)φ + g(φ) (3) m,v,g are the scalar correspondences for the torque compo¬ nent t to M,V,G In block 13 the torque component t at the suspension of the robot is calculated for the calculated axis angles φ , the speeds φ and the accelerations φ . Thereafter, the calcula¬ ted torque component t is compared with a maximally allowed torque component tmax for the critical point, block 14. If the torque component t exceeds the maximally allowed one, the track speed must be reduced and, in similar manner as described above, block 12, the acceleration for the axes is reduced such that the robot still follows the track. New axis torques τ are calculated for the new lower track speed, block 10. The procedure is repeated until the load at the critical point no longer exceeds the maximum permissible load. The output signals from the monitoring are a motor torque korτ = (τ korrl , τ korr2 .. t korr6 ) which is optimized with respect to what the motor of each axis is capable of yielding and which drives the robot to the next sampling point on the track without the load at the suspension of the robot hand becoming too high. In another embodiment of the invention, more critical points can be monitored. For each one of the critical points, an equation is set which describes the load at the point and a maximally allowed load for the point.

Claims: CLAIMS 1. A method for control of the movement of an industrial robot along a given track (Pi - P4) with a desired track speed (v) , which industrial robot has a number of movement axes (1-6) and for each axis servo equipment for control of the axis movement in accordance with reference values (T toπ .) supplied thereto, comprising the following steps: calculating the necessary axis angles ( φ, ) for assuming the next position (Pn, P12, Pl3 .. Pin) on the track, calculating, in dependence on the calculated axis angles and a first mathematical model, which describes the static and dynamic properties of the robot, for each one of the movement axes the required torque ( τ=(τ,,τ 2 ..τ 6 )) for assuming the next position, comparing the calculated torque (?) for each one of the axes with a maximum permissible torque (?,„„), characterized in that it further comprises the steps of: calculating the load (t) at a mechanically critical point (KP1) for the calculated axis angles (<p,) with the aid of a second mathematical model, which describes the load of the robot at the critical point, comparing the load (t) with a maximum permissible load (tmax) for the critical point, and reducing the track speed (v) if the calculated torque exceeds the maximum permissible torque for any axis, or if the calculated load exceeds the maximum permissible load for the critical point. 2. A method according to claim 1, characterized in that with the aid of mathematical models, the load (t j ) at a plu¬ rality of mechanically critical points for the calculated axis angles Cφy is calculated, the load is compared for each one of the critical points with a maximum permissible load (tjπiax) stnd, if at any point the load exceeds the maximum permissible load, then the track speed (v) is reduced such that the load does not exceed the maximum permissible load for any of the critical points. 3. A method according to claim 1 or 2, characterized in that the reference values for the servo system τ korr = i τ ko r τ k tτ2'- τ korr6 are calculated in dependence on the reduced track speed.

Inventors: ELFVING STAFFAN, SNELL JOHN-ERIK, ELFVING, STAFFAN, SNELL, JOHN-ERIK
Applicants: ASEA BROWN BOVERI, ELFVING STAFFAN, SNELL JOHN ERIK, ASEA BROWN BOVERI AB, ELFVING, STAFFAN, SNELL, JOHN-ERIK
Application year: 1997
Main classification: B25J9
IPC codes: B25J9