EQUIPMENT FOR CONTROLLING AN INDUSTRIAL ROBOT AND A METHOD FOR PROGRAMMING AND/OR ADJUSTING THE MOVEMENTS OF THE ROBOT

Abstract: An equipment for controlling an industrial robot, which robot has a plurality of rotation and/or translation axles (ax 1-6), comprising a motor (15) at each of said axles for generating desired movements of the arms and/or the wrist, of which the robot is constituted, a sensor at each of the axles for measuring axle angle and/or axle position, a servo (9) for each of the axles for controlling the motors based on measurement values from the sensors, and a path generator (8) for generating at least one reference (φref, φref, tau ffw) for each of the servos (9). The equipment comprises an apparatus (1+2+3+4+5+6+7+ parts of 8+18A+18B) at at least one of the axles, which apparatus comprises a first device (18A) for calculation of the expected interference moment value ( tau distexp) of said axle when the movable parts of the robot is not exposed to any external forces by interaction with the operator (64) or other things in the surroundings of the robot, and a second device (18B) for comparing this expected interference moment value ( tau distexp) with values of the moment reference ( tau mr) of the servo (9) and/or with values of the moment ( tau m) of the motor and/or with values of the moment of the axle (14) and for forming, based on this comparison, a signal ( tau control) for controlling the path generator (8). A method for programming/adjusting the movement of a robot is also included.

Description: Equipment for controlling an industrial robot and a method for programming and/or adjusting the movements of the robot. FlELD OF THE INVENTION This invention relates to an equipment for controlling an industrial robot according to the preamble of the subsequent claim 1. Furthermore, the invention relates to a method for programming and/or adjusting the movement of a robot according to the preamble of claim 18. PRIOR ART An industrial robot comprises several arms, which are moveable in relation to each other, and a holder designed for mounting of the tool, object or gripping appliance, which the robot is to handle. The industrial robot is provided with a control system, which controls position and orientation of the tool/object/gripping appliance, and for each of the movement axles of the robot there is a servo system with a driving motor. The servo system of each axle is supplied with a reference value (desired valued) for the rotation angle of the axle and the driving motor of the axle makes the manipulator move in the axle in question until the axle position corresponds with the reference value supplied to the servo system. With an axle is here meant axle transmissions, which can cause rotation as well as translation of the moveable arms of the robot. The industrial robots of today are programmed either off-line or on-line by so called teach-in. During programming in teach-in the reference values to the servo systems of the axles are generated from a so called interpolator, which interpolates a path for the tool of the robot based on the signals from press-buttons or a control stick located on a particular programming unit. This teach-in technique has the following drawbacks: - it is difficult to know which movement the object carried by the robot obtains at a given button pressing/control stick movement; - it is difficult to control the object movements when the object by touching its surroundings is exposed to forces from differ- ent directions. In this direction, there is a very great risk that the control system disengages due to obtainal of too large motor moments; - it is difficult to manipulate objects which are partly concealed by surrounding equipment; - it is difficult to obtain smooth movement patterns, since it is difficult to control 6 degrees of freedom simultaneously by means of a control stick. Therefor, the position of the object is normally programmed separately from the programming of the orientation of the object, which makes it difficult to obtain for instance an effective distribution of the reorientation between programmed positions, at the same time as the switching technique is time-consuming . OBJECT OF THE INVENTION The present invention aims at providing a technique which solves the above mentioned problems in teach-in and which at the same time makes the programming much more simple and faster, in particular in applications such as assemblage, disassembly and advanced material handling. SUMMARY OF THE INVENTION According to the invention, this object is achieved by the features which are more closely defined, concerning the equipment, in the characteristics of claim 1 and, concerning the method, in the characteristics of claim 18. Advantageous developments of the basic inventional idea are the object of the dependent claims. The invention is based on a servo with a high sensitivity to ex- ternal forces on robot-arms, tool, object and gripping appliance. These forces causes, in the servo systems of the axles, regulation of the motor moments, and by means of a particular functionality in each axle servo a moment control of the reference values to the servo is obtained. This implies that if for instance the operator takes in his hand the object carried by the robot and moves and rotates it, the robot will follow the movements of the object and at the same time support it even though it is very heavy. For the operator, the object will in this way become weightless during the programming. With this technique, the object will fully follow the intentions of the operator without the operator having to keep a check on relations between for instance control stick directions and the movement direction/rotation axle of the object. When the object is to touch its surroundings, which is always the case during assemblage, the robot can never obtain to high motor moments, since the moment will decrease instead of increase during interaction between object/robot and the surroundings. Furthermore, the operator does not have to see the whole object, on the con- trary, by means of interaction between the object and the sur- roundings, he can get assistance in finding the correct way for the movement of the object. It should also be pointed out that the programming method can be used during execution of robot programs, whereby the operator can assist the robot in order to adjust its movement. An apparatus for controlling the reference values to the axle servo of a robot is consequently integrated with the servo sys- tern. The method according to the invention utilises this apparatus for an effective robot programming. The apparatus is constructed so as to give the robot axles alternating to and fro movements with a small amplitude, and in the apparatus the mean value of the motor moment required in this connection is compared with an expected mean value calculated by the apparatus. The difference or the quotient between these mean values forms a control moment, which either gives a position or speed control of the position reference to the axle servo. The expected mean value of the motor moment is calculated by means of a rigid body model for robot/load and/or by extrapolation of calibrated values. The idea of the method for the robot programming is to move around by means of the hands the robot arms/object carried by the robot and at suitable position/orientations of the object press a button or the similar so as to cause a calibration of the expected mean value. For accurate positioning there is a further button or similar which makes the control system passing on from speed control to position control of the reference values to the axle servos. If the load (the object carried by the robot) is not known , it is possible to press a button or the similar so as to cause the identification of the load parameters. For a complete identification it is required that the operator turns the load be- tween two orientations and in each orientation presses the identification button . This methodology, besides making the ma- nipulation of the objects easier, also makes the programming itself easier than in the robot systems of today. Furthermore, the method of moving around robot arms/object can be used in order to, during program execution, assist the robot in for instance positioning the object correctly when the conditions in the surroundings of the robots are changed. BRIEF DESCRIPTION OF THE DRAWINGS With reference to the appended drawings, a more detailed description of an embodiment of the invention, given as an example, will follow hereinbelow. In the drawings Fig 1 a is a schematic view illustrating a part of the inventional equipment, Fig 1 b is a block diagram illustrating the main parts of the equipment, Fig 2 is a diagram showing the signal from a function generator, as well as the resulting moment reference signal, Fig 3 is a schematic model of a 6-axle robot projected onto a plane, Fig 4 is a schematic view associated with Fig 1 a and showing further details of the inventional equipment, Fig 5 is a diagram illustrating functionalities of the inventional equipment, Fig 6 is a schematic view illustrating the methodology for robot programming and Fig 7 is a view illustrating a control board with display designed as operator interface. DETAILED DESCRIPTION OF PREFERRED EMBODIMENT Fig 1 shows for each of the axles of the robot a simple axle model 12, 13, 14, a cascade connected servo 9 and the circuits for reference generation to the servo during the programming phase 1 , 8. The path generator 8 calculates position and speed references (φ ref i , φ.efi) and moment feed forward control signal (τ ffw1 ) to the servo 9. The apparatus, integrated in the servo, for teach-in-programming and robot manipulation consists of the blocks 1 , 2, 3, 4, 5, 6, 7 and 18 (A+B). In order to obtain a high sensitivity to external interference moments during the pro- gramming, a movement pattern from the function generator 1 is added to the servo references, which movement pattern is of such a nature that the arm will make small short movements to and fro during the programming. These movements make that static friction in motor, gearing and arm bearing is continuously overcome by the motor moment, which in its turn makes that external forces do not have to overcome the friction. The function generator 1 can generate different periodic curve shapes, and in Fig 1 a cut saw-tooth shape is shown as speed reference signal φ ref2 . So as not to build up interfering control errors in the servo 9, a corresponding position reference φ rβf2 is applied, which position reference is obtained by integration of φ re , 2 with the integrator 2. So as to make the arm follow the speed profile of the signal generator 1 even better, a moment feed forward control τ ffw2 can also be added. The purpose of this moment feed forward control signal is to assist in overcoming the fric- tional moment for the axle, which implies that the servo 9 does not have to build up so large servo errors in order to generate the frictional moment of τ m , which in its turn implies that the frequency of the periodic reference from the function generator 1 can be chosen higher. The moment feed forward control signal τ ffw2 is obtained by multiplication, in the circuit 4, of the friction value τ f by the sign of the speed reference φ ref . Alternatively, it is possible to use the sign of the real speed φ m . Possibly, the module 3 also has to include a delay so as to match the change of τ ffw to the laps of time of the real friction. The friction value τ f can be direction dependent and therefor the value of τ f is switched in the module 5 between two different values depending on the direction, i.e. depending on the sign of φ ref or φ m . The estimated frictional moment in positive direction is denominated τ f + and in negative direction τ f \ These values can either be identified at a calibration point of time or identified continuously. In the figure, the latter case is shown, where the identification is carried out in the module 7 and the identified values are supplied to the storage buffer 6. The most simple method for the friction identification is simply to make the following approxima- tion: τ f + = τ f ' = τ f ( ! ) The measuring of τ m + and τ m " , respectively, is suitably controlled by the function generator 1 , but can also be controlled by the sign of φ m . In the figure, the servo 9 is implemented as a speed servo with the regulator filter 1 1 cascade connected with a position servo having the regulator filter 10. Other regulator structures can of course be used, and besides only measuring the axle position φ m the axle speed φ m can also be measured. Furthermore, it would be possible to measure moment, arm position φ a , arm speed φ a and/or arm acceleration φ a . In Fig 1 , it is assumed that only the motor position φ m is measured and that motor speed is estimated by the module 16 by differentiation. Moreover, 15 is the drive to the motor (with the moment constant k τ ), 12 is the rotor of the motor with mass inertia Jm, the interference moment τ dlstm and the friction τ m . 13 corresponds to the mass of the arm with the mass inertia Ja, the interference moment τ ιsta and the friction τ fa . Between the rotor 12 and the arm 13 there is a weakness (k) and a damping (c). The to and fro movement generated by the function generator 1 has to be so large that the motor as well as the arm will be set in motion. Consequently, the feed forward control moment τ ffw2 should be given by: fβv 2 = τ fm + X T fa ...( 3 ) f where n is the gear change of the gearing between the motor and the arm. In τ fm the friction of the high speed side of the gearing should also be included and in τ fa the friction of the low speed side of the gearing. In order to be able to detect and estimate the interference moments τ dιsta on the arm side depending on the force from the operator during manipulation of the robot, the expected interference moment τ dlstmode i applicable without operator force is calculated in the dynamical model 17. At low speeds, it is normally sufficient that τ dlstmode ι only includes statical components such as the gravitational moment of τ dιsta and the stator and motor rippel moments of τ dιstm . At higher speeds, the interference component from the centrifugal and coriolis force, viscous friction and coupled mass inertia should also be included in τ dls t m o d ei- Fig 2 shows the signal φ ref2 (19) from the function generator 1 as well as the resulting moment reference signal τ mr (20). At the point of time t d:st the interference moment (τ dιstm + τ dιsta ) is changed with the value τ dlst2 - τ dιst1 , see signal 21 at the point of time t dιst . The regulator 9 will compensate for this change in interference moment and the mean moment level of the signal τ mr will be changed with the value τ dιst2 - τ dlsn . When the interference moment level is now to be used for interpolation of the movement of the robot as a function of the external force, with which the programmer of the robot presses on the robot, the following calculation is made in the module 18B (in figure 1 ): T control — — T mrav + T dist exp ' .(4-4) T control 4 5 where τ contrθ ι is the moment used by the path generator 8,τ mrav the mean value of τ mr , and τ dιstexp (22) the expected interference moment without interference moment generated by the operator. t d i stexp is generated by the module 18A in the apparatus for robot programming. τ mra is calculated according to: since τ mr , in the robot systems of today, is sampled, the integral is normally calculated as a mean value of discrete moment values. The problem is now to calculate τ dlste χ p when the robot gradually changes its configuration (its axle angles) during the programming. Here there are now two methods. The first method implies that τ djste χp is calculated from the rigid body dynamical model 17 of the robot, which requires that, besides a description of the masses, positions of centre of gravity, kinematical relations and possibly main mass-moment of inertia of the robot, the corre- sponding parameters for the load (tool, object carried by the robot, gripping appliance) also have to be available. Since programming often takes place at low speeds and accelerations, the gravitational moment will completely dominate τ d j Stex p, and it is only necessary to know the mass (m L ) and the position of centre of gravity (X L , Y Ll Z L ) of the load in relation to the attachment plate of the robot. The idea of the second method, which preferably is combined with the first method, is that the robot programmer at regular intervals releases the robot and thereupon calibrates τ djstexp , so that the value thereof is updated in the module 18A according to: τ d diisstt e exxop = - τ m mrraavv ( V5) / In case of a combination of these two methods, the module 18A uses the interference moment τ d j Stmodel calculated by the model 17 according to: T dist e p — T disterr + -for mode/ .(6) When the operator now releases the robot, a calibration of the model error τ dιsterr takes place according to: mrav disterr dist mod el V τ disterr =- τ mrav The model error can also be calculated in the module 18A as a correction factor: dist exp err dist mod el V and during calibration: /-- err = Tm (10) τ dist mod el During the time when the operator is not touching the robot or the robot load, and identification of the load parameters (m L , x L , y L , z L ) can be carried out. How this is done is shown with the aid of figure 3. Fig 3 shows a simple dynamical model of a 6-axle robot projected onto a plane, which makes it easier to show the identification technique. Masses and centres of gravity (m h η) for the robot itself with the underarm 23 and the overarm 24 are known with high accuracy, and the mass m L and the position of centre of gravity (r 5mL , φ L ) of the load is to be identified. From Fig 3, with axle angles φ 2 , cp 3 and φ 5 defined in relation to the horizontal plane, as well as the angle φ L , are obtained: where τ mavi is the mean moment of the periodic moment signal 20 in Fig 2 when the operator is not touching the robot. For a complete identification it is required that the operator turns the load to a new position, which gives: r mav5 ■ r 5mL xcos(φ L +Aφ 5 )xm L (14) from (12), (13) and (14) are obtained: -^ .v3 +^ 5 ~ r 3 m 3 x cos φ 3 W L = .(15) r 35 xcos<> 3 φ L = -r mav5 5mL .(17) m L xθrθsφ L These values are used for updating the dynamical model 17, which includes the mathematical description of the rigid body dynamics of the robot, which is shown in a simplified embodiment in Fig 3. Consequently, during programming with a new load the operator should first release the robot with the axle 5 in an angle, thereafter turn the axle 5 and subsequently release the robot again. The question is now how the control system will get to know when the operator releases the load. The most secure method is of course to have a press-button (64 Fig 7) or similar on the ro- bot, which the operator presses when he is no longer touching the robot and wants a calibration to be initiated. Another possibility is that the operator gives the robot a short push and that external interference moments with short duration and exceeding a certain amplitude are detected as a change-over to or from calibration state. It is of course also possible that the calibration is carried out when external moment interferences have been constant during a certain time. Consequently, we can now presuppose that τ , stexp from the module 18A accurately gives the value on the interference moment the robot would be exposed to if the operator did not touch it and τ C0ntr0 | from the module 18B (according to formula 4) can now be used for controlling the path generation. How this control is performed is shown in figure 4. According to figure 4, a non-linear transfer function 26 is applied to τ contrθ ι (according to formula 4), the purpose of which is to suppress small variations in the τ contro rsignal. The output signal from 26 passes a low-pass filter 27, the purpose of which is to filter away unwanted signal noise. The output signal from 27 is called τ COntrk , where k stands for sample number of the signal. In the buffer 28 τ contrk i delayed and on its output the previous sample of τ contr is consequently to be found , i.e. τ contr(k -i ) . The circuit 29 determines the sign of τ COn t r ( k - . ) and the circuit 30 the sign of τ contrk - In the comparator 34 it is controlled if 29 and 30 give different signs, in which case a reset (RES) is to be carried out if the operator uses force controlled position manipulation. Which type of manipulation that is being used is determined by the state MODE, and can be changed by the operator. Besides position manipulation, speed manipulation can also be carried out. In this case the switch 37 is open and the switch 39 closed , τ Con .t rk after multiplication by k spe ed in the circuit 35 being added to the feedback circuit with the buffer 41 and the summator 40. The position reference φ ref will then be changed with a speed being proportional to k speed • τ contrk . If we now revert to the posi- tion manipulation mode where the switch 39 is open and the switch 37 is closed, τ contrk will be multiplied in 33 by its sign, which implies that the output signal from 33 always is positive. The maximum value calculator 32 compares the value of the signal from 33 with the value from the buffer 31 and gives as output signal the maximum value | τ contrrnax I , which is applied to the buffer 31 and the multiplying circuit 36. In the latter I τ COntrmax I is multiplied by its sign and thereby obtains the correct sign. Furthermore, a multiplication by k pos takes place, which determines the relation between axle move and τ contro i- The output signal from 36 passes the mod switch 37 and is in 42 added to the output signal from 41 for obtaining the servo references. If the comparator 34 detects a change of sign of τ contr , the switch 38 is closed for a brief moment so that the latest position manipulation value on the output of 36 can be added to the buffer 41 , at the same time as the buffer 31 is reset. The latest position manipulation value is also transferred to the buffer 41 when a change to speed manipulation mode (the signal MODE) takes place. The circuit 43 calculates the speed reference to the regulator by formation of differential quotients and the circuit 44 calculates moment feed forward control by formation of differential quotient two times and multiplication by the mass inertia of the axle. The position and speed manipulation can of course be imple- mented in several ways, but the important thing is to obtain a functionality according to figure 5, where the signal 46 is an ex- ample of a period of time of τ contro i. the signal 47 the resulting position reference in case of position manipulation and the signal 48 the resulting position reference in case of speed manipulation. The position manipulation is especially chosen in case of precision manipulation, whereas speed manipulation is chosen in case of large movements of the robot. The methodology for the programming when using the described apparatus is exemplified with the aid of figure 6 and figure 7. Let us assume that the object 50 with the hole 51 initially stands on the stool 53 and then is to be mounted on the beam 52 by moving the object from the stool, turning the object 90° and thereafter bringing the object down over the beam 52 so that the beam enters the hole 51 of the object 50. The operator 54 starts by switching on the robot by pressing the button 55 (figure 7) of the programming unit 49. This is placed by the operator e.g. on the gripping appliance, so that the operator during the programming easily can reach the programming unit and follow the movements of the robot on the graphical display 57, which pref- erably is to show the position and orientation of the object with a three dimensional graphic. The "tool centre point" (TCP) of the gripping appliance is initially in the position PO with the orientation of the tool co-ordinate system indicated by the arrow in PO (Fig 7). The operator 54 now presses the button 56 (PGM=programming), seizes the gripping appliance and moves TCP to the point P1 , at the same time as he/she turns the gripping appliance. In the point P1 , he/she presses the button 61 (STR=store) and the position of the robot is stored in the storage of the control system, and P 1 with associated point for TCP and arrow for orientation is now shown on the display 57. As the operator moves the robot, the path 58 for the movement of TCP is shown. After the operator has pressed on 61 in the position P1 , he/she moves the robot to the position P2 and then positions the gripping appliance so that it can grip the object 50. Thereupon he presses on 61 and subsequently on 66 (GRP=grip), which results in that the gripping appliance grips the object. The operator now seizes the object and lifts it from the stool and presses on 63 (CAL=calculate), which implies that τ d i sterr (alt k err ) is calculated according to formula 8 (alt 10). If the load parameters (mass, centre of gravity) for the object 50 are not known, the operator has to assist the robot in lifting the object in order to overcome the unknown gravitational force of the object, speed control being used in this connection. Before the operator releases the object, he presses the button 70 (SPD=speed POS=position) and passes on to position control, alternatively he presses the button 65 (FRC=force) and disconnects the force controlled interpolator. Thereafter he presses the button 63, whereby τ dιsterr according to (8) or k err according to (10) is calculated . He can then press on 64 (I DNT=identification) for the first step in the load identification, in which case the mass of the load is calculated according to e.g . formula 15, press on 70 (alt 65) in order to pass into speed control, turn the load about an axle approximately in parallel with the horizontal plane, press on 70 (alt 65) and then on 64. The system now calculates all the load parameters and updates the dynamical model (compare figure 3). Thereupon, the operator presses on 63 and τ disterr (alt k err ) is updated since (τ dist modei) now also comprises the moment components from the identified load. The operator now presses on 70 (alt 65) and can with speed control move the object to P3, here press on 61 , move the object further on to P4, press on 61 , etc. When necessary, the operator can press 63 (if the object is not at rest when the operator releases it). At the position P9, where precision is required in order to get the beam 52 into the hole 51 , the operator suitably passes on to position control (button 70) before he/she presses on 61 for storing of P9. After insertion of the position P10, the operator presses on 65, which implies that the moment controlled manipulation is disconnected , and thereafter on 66, the robot now releases the object 50. Since the gripping appliance is in off- state, the dynamical model is updated without load and when the operator subsequently presses on the button 65, he/she can return to the home position P0 in speed control mode while he/she presses on 61 for P 1 1 , P12, P1 3 and P14. By subsequently pressing on 68, he/she can run through the pickup path 58, the object move path 59 and the return path 60. If the operator wants to adjust the path, he/she presses on 69, 56, moves the robot close to the position he/she wants to adjust, presses on 62 (REDO-function), moves the object to desired position and presses on 61 . With the button 67, the robot is switched off and its breaks are activated . The button 71 has a particular function. It is used for programming a reference direction, along which the robot during program execution can use weakness regulation or force control. If e.g. the position of the rod 52 is different in different assembly operations, the programmed program has to be adjusted from time to time in the positions P9 and P10. How large this adjustment is to be can be calculated by reading the robot axle angles when the robot in e.g . two different directions in the horizontal plane presses the object 50 with a defined force against the rod 52. Another way of adapting the movements of the robot to varying conditions in the surroundings is that an operator assists the robot during the program execution when the robot works in the production. This can be exemplified in figure 6 and 7 by the ro- bot running according to the programmed path to e.g. the position P8. Here the robot stops and the operator steps forward, presses on the button 56, adjusts with his hands the position and orientation of the object 50 until the rod 52 is directly under the hole 51 , presses on the button 72, the rest of the pro- grammed positions now being corrected (position , orientation) just as much as the operator has adjusted the object manually. Thereafter the operator presses on the button 68 and the corrected program is executed. In this way, an assistant robot is obtained, which can assist the operator in e.g. heavy lifts, in generating large assembly forces and in performing difficult movements. The exemplifying embodiment is of course not to be regarded as limiting for the inventional idea. Several modifications consequently occur for men skilled in the art, when the basic inven- tional solution has been presented. Such modifications are comprised within the scope of the invention, as well as equivalent embodiments. It is particularly pointed out that the invention has been illustrated in the drawing in principal. The illustration technique has in certain aspects been chosen in order to simplify the understanding. As an example it is pointed out that the two devices 18A and 18B are illustrated as separated. In reality they can of course be semi-detached or otherwise integrated.

Claims: Claims 1 . An equipment for controlling an industrial robot, which robot has a plurality of rotation and/or translation axles (ax 1 -6), the equipment comprising: - at least one motor (12, 15) at each of said axles for generating desired movements of the arms (23, 24, 25) and/or the wrist, of which the robot is constituted, - at least one sensor at each of the axles for measuring axle angle and/or axle position , - at least one servo (9) for each of the axles for controlling the motors based on measurement values from the sensors, at least one path generator (8) for generating at least one reference (φ ref , φ r e f j ff w) for each of the servos (9), characterized in that the equipment comprises an apparatus (1 +2+3+4+5+6+7+ {parts of 8} +1 8A + 18B) at at least one of the axles, which apparatus comprises a first device (18A) for calculation of the expected interference moment value (τ dιstexp ) of said axle when the movable parts of the robot is not exposed to any external forces by interaction with the operator (64) or other things in the surroundings of the robot, and a second device (18B) for comparing this expected interference moment value R d i ste xp) with values of the moment reference (τ mr ) of the servo (9) and/or with values of the moment (τ m ) of the motor and/or with values of moment measured on the axle (14) with sensors and for forming , based on this comparison, a signal (τ contrθ ι) for controlling the path generator (8). 2. An equipment according to claim 1 , characterized in a function generator (1 ) included in said apparatus for supplying to the servo (9) at least one reference signal (φ re . 2 and/or φ reT2 and/or τ ffw2 ) for generating a to and fro motion of the axle controlled by the servo, and means for calculation of said values of the moment reference (τ m ) of the servo (9) and/or of the moment (τ m ) of the motor and/or the moment of the axle (14) by mean value formation (in the unit 18B according to formula 4B). 3. An equipment according to claim 2, characterized in that the function generator (1 ) is arranged to generate a periodic signal and that means (in the unit 18B according to formula 4B) for forming the mean value is arranged to form this mean value over at least one period (t, to t l+1 ) of this signal. 4. An equipment according to claim 2, characterized in that the apparatus comprises devices (2, 3, 4) for generating, from the output signal of the function generator (1 ), position and speed references (φ re f 2 > Ψ.e.2) and moment feed forward control reference (τ ffw2 ) to the servo (9), the feed forward control reference (τ ffw2 ) being formed by multiplication (in the device 4) of the estimated frictional moment (τ f ) and the sign (from the device 3) of the speed reference (φ rβf ) or the speed (φ m ) for the axle in question. 5. An equipment according to claim 4, characterized in that a device (7) is arranged to calculate the estimated frictional moment by identification of the frictional moment either at a particular calibration occasion or during the robot programming by measuring the motor moment reference (τ mr ) at at least two different points of time, at which points of time the motor axle has different directions of rotation (formula 2), and that a storage buffer (6) is arranged to receive the identified frictional moment values (τ f ) for later use during generation of the moment feed forward control reference (τ ffw2 ). 6. An equipment according to claim 1 , characterized in that the expected interference moment value (τ dlste χ P ) given by the first device (18A) consists of the interference moment (τ lstmode i) of the robot axle in question calculated in the rigid body dy- namical model (17) for the robot, comprising mainly the moment on the axle caused by the gravitation (compare the formulas 1 1 -14). 7. An equipment according to claim 1 , characterized in that the first device (18A) is arranged to set the expected interference moment value (τ dιstexp ) equal to the value of the moment reference (τ mr ) of the servo (9) and/or of the moment (τ m ) of the motor and/or of the moment measured on the axle (formula 5), when the movable parts of the robot are not exposed to any external forces by interaction with the operator (64) or any other things in the surroundings of the robot. 8. An equipment according to claim 6, characterized in means for determining the error (τ dιste r r , K err ) of the interference mo- ment (τ dιstm0de ι) of the robot axle in question calculated in the rigid body dynamical model (17) by calibration against the moment reference (τ mr ) of the servo and/or against the moment (τ m ) of the motor and/or against the moment (formula 8, 10) measured on the axle, when the movable parts of the ro- bot (including gripping appliance, object and/or tool) are not exposed to any external forces by interaction with the operator (64) or any other things in the surroundings of the robot. 9. An equipment according to claim 8 and 2, characterized in that said apparatus for at least one of said axles comprises a device (18A) for calculating the expected mean value (τ diSte χ P ) as the sum of said model error (τ d ι Sterr ) and the model calculated interference moment (τ dls t mo dei, see formula 6), said model error (τ dιsterr ) being determined by calibration against one of the moment mean values (τ mra v) when the movable parts of the robot (including gripping appliance, object and/or tool) are not exposed to any external forces by interaction with the operator (64) or any other things in the surroundings of the robot, and that the model error (τ dιsterr ) during the calibration is calculated as the difference between model calcu- lated interference moment (τ dlstm od e i) and prevailing moment mean value (τ mrav , formula 8). 10. An equipment according to claim 8 and 2, characterized in that the apparatus for at least one of the axles com- prises a device (18A) for calculating said expected mean value (tdiste x p) as the product of the model error (K err ) and the model calculated interference moment (τ dls t mode i. see formula 9), and that the model error (K err ) is determined by calibration against one of the moment mean values (τ mrav ) when the movable parts of the robot (including gripping appliance, object and/or tool) are not exposed to any external forces by interaction with the operator (64) or any other things in the surroundings of the robot, and that the model error (K err ) during the calibration is calculated as the quotient between prevailing moment mean value (τ mrav ) and the model calculated interference moment (τ dlstmode ι, see formula 10). 1 1 . An equipment according to claims 6 and 8-10, characterized in that the equipment comprises a device (17B) for identification of at least the load parameters mass (m L ) and position of centre of gravity (X L , Y L , Z L ) of gripping appliance and/or object and/or tool carried by the robot, and the utilisation of the identified load parameters for a more accurate calculation of the model calculated interference moment (τ dιst . mode i, see formula 15-17). 12. An equipment according to claim 7, characterized in that the second device (18B) is arranged to calculate the signal (τ Contro i) for controlling the path generator as the differ- ence between expected interference moment (τ dιstexp ) and ei- ther of said servo, motor or axle moment (χ mrav ι see formula 4A). 13. An equipment according to claim 1 , characterized in that the second device (18B) is arranged to calculate said signal (τ contro i) for controlling the path generator as one minus the quotient between either of said servo, motor or axle moment (τ mrav ) and expected interference moment (τ dιs te x p). alternatively as the quotient between expected interference moment (τ dιstexp ) and either of said servo, motor and axle moment (τ mrav ) after that the quotient has been reduced by 1 (see formula 4B). 14. An equipment according to claim 1 , characterized in that the path generator (8) is arranged to use said signal (^ control ) for controlling the path generator in order to calculate servo references (φ ref , , φref . ff wi ) by forming a speed reference component as a function of the size of the control signal (^ control ) and/or a position reference component as a function of the size of the control signal (τ contrθ ι). 15. An equipment according to claim 14, characterized in that said speed component is calculated by multiplication (35) of said control signal (χ COn t . oi) by a constant (k speed ). 16. An equipment according to claim 14, characterized in that said position reference component is calculated by multiplication (in 36) of a local maximum of said control signal (τcontrmax) by a constant (k pos ) . 17. An equipment according to claim 1 , characterized in that said control signal (x COn t r oi) passes through a non-linear function (26) and/or a low-pass filter and/or a band-pass filter. 18. A method for programming and/or for adjusting the movement of a robot by utilisation of the equipment described in claims 1 -17, characterized in that - the operator manipulates the arms of the robot by interaction with the arms of the robot and/or tool, gripping appliance and/or object carried by the robot, - the operator has the use of an operator interface (49), which by the operator can be attached at a suitable place on the ro- bot, tool, gripping appliance, object or things in the surroundings of the robot, - the operator utilises said operator interface (49) by press- button and/or voice interface in order to give said equipment the orders required for obtaining the desired function of the described apparatus (1 , 2, 3, 4, 5, 6, 7, 8, 17B, 18A and 18B). 19. A method according to claim 18, characterized in that the operator with said press-button and/or voice inter- face gives orders for calibration of the expected interference moment (χ di s t e xP , press-button 63). 20. A method according to claim 18, characterized in that the operator with said interface gives orders for switch- ing between speed and position control (MODE, press-button 70). 21 . A method according to claim 28, characterized in that the operator with said interface gives orders for identifi- cation of the load carried by the robot (press-button 64). 22. A method according to claim 1 8, characterized in that the operator gives orders for connecting up of or disconnection of moment control (χ COntro i) of the path generator (press-button 65). 3. A method according claim 1 8 , characterized in that the operator gives orders for marking a programmed position as auxiliary position for calculating the direction during force control (press-button 71 ).

Inventors: BROGAARDH TORGNY, RAMSTROEM KARL-GUSTAV, BROGAARDH, TORGNY, RAMSTROEM, KARL-GUSTAV
Applicants: ABB AB, BROGAARDH TORGNY, RAMSTROEM KARL GUSTAV, BROGAARDH, TORGNY, RAMSTROEM, KARL-GUSTAV
Application year: 2000
Main classification: G05B19
IPC codes: B25J9, G05B19, G05D3