ACTION TEACHING METHOD AND CONTROL APPARATUS FOR A ROBOT


Description: FIELD OF THE INVENTION The present invention relates to an action teaching method and a control apparatus for an industrial robot. Particularly, the present invention relates a teaching method and control apparatus which facilitate teaching an operation by which plural robot-manipulators can keep a relative position with each other such as in actions where a workpiece is gripped and moved with plural robot manipulators. Background of the Invention In cooperative operation of plural robots such that plural robot-manipulators grip a workpiece and move it, the plural robot manipulators need to be operated so as to maintain relative positions to each other. Hitherto, there have been methods for teaching such operations as described hereafter. A first method is off-line teaching, wherein operating positions of the robot are inputted as data values into a computer and are set in teaching. However, this method becomes difficult, and subsequently unfavorable, as the accuracy of the operating positions of the robots with respect to their actual work is not necessarily superior. A second method disclosed in JP-A-58 22686 is to manually operate the robot to a moving position of an actual operation using a teaching box, and to teach the operating position of the robot by sensing and memorizing the position and orientation of the robot at that time. In this method, it is very difficult to teach each of the plural robots, by manual operation, a position and orientation which actually maintains a relative position, including orientation, of a terminal hand. Accordingly, this method has often been used by teaching only a starting position to plural robots performing a cooperative operation. Subsequent positions of one of the plural robots are then taught in regard to subsequent teaching positions in the cooperative operation. As such, the plural robots are operated in a manner so that an original relative position is maintained with respect to the operating path of the robot which is taught by the above-mentioned method. An example of this method is shown in FIG. 2. In this example, operating positions and orientations P1, P2, P3, P4 of a first robot manipulator, and an operating position and orientation Q1 of a second robot manipulator, corresponding to P1, are taught. Operating positions and orientations Q2, Q3, Q4 are then determined by calculation from a relative position of P1 and Q1 and P2, P3, P4, and operational paths of respective manipulators are interpolated. As the position is detected and memorized by manually operating the robot to an actual operating position, a teaching accuracy in this method is better than in the first method. Yet, when the robot operation requires a gripping of a workpiece, complications arise. While a gripping position of a workpiece can be accurately taught, an accurate teaching of the movement of a workpiece by robot manipulators is not realized as all of the operating positions are directed at the robot manipulators. Further, a detailed teaching of a gripping position of a workpiece can be difficult. In teaching an operating case where, based upon a gripping position of one robot manipulator, a large workpiece is gripped and moved with two robot manipulators, a slight difference in gripping orientation during the teaching operation can become a large positional difference at the other end of the work process. As demonstrated in FIG.17, such a situation is liable to become a problem in the operation of the robot manipulator which grips the other end of the workpiece. Summary of the Invention An object of the present invention is to provide an easy and accurate action teaching method for a robot system having a plurality of robot manipulators on the basis of a moving position of an actual workpiece and application of sensor feedback with respect to the workpiece position and orientation. A further objective of the present invention is to provide a robot manipulator control apparatus to apply this teaching method. The current problems of typical robot teaching methods are solved by the method according to claim 1. Accordingly, a reference point, which shows a representative position, orientation on a moving path, and relative position from the above-mentioned reference point of an operating position of a robot extremity in an operating state are taught by memorizing the position of the robot extremity by manually operating the robot. Then a path of the operating positions of the robot extremity while in a operating state is designated by an a matrix having position data and orientation data of the reference points. To allow the workpiece to be gripped and moved with plural robot manipulators, a specified point on the workpiece is regarded as a reference point, and the relative position of the above-mentioned reference point and the gripping position of each robot is taught, and moving of the work is designated by an array of the reference points. Moreover, a control apparatus of the robot embodying the abovementioned method is defined in claim 6. Said control apparatus comprises means for manually operating the robot, means for detecting and memorizing the present position and/or orientation of the robot extremity, means for calculating and memorizing a reference point from memorized plural positions, means for calculating and memorizing a relative position and orientation of the robot extremity from one of the reference points, means for calculating an aimed position of operation of the robot on the basis of the memorized reference points and designated relative position, and means for operating the robot in a manner to move on the reference points by interpolating between the present reference point and the subsequent reference point while keeping a relative position of the present reference point and the robot extremity after designation of the present reference point and the subsequent reference point. In the robot operation teaching method of the present invention, when the work is moved, an actual position of the work can be taught with an accuracy provided by the robot since the reference point is taught by manually operating and memorizing the position of the robot extremity; and in teaching an operation which moves while gripping the workpiece, the moving path of the work and the teaching of gripping position can be separated from each other since the path of operating positions are appointed by the matrix of reference points by teaching a reference position from the reference points of the robot extremity in operation; and even in a case where the relation of the work and gripping position varies by sensor feedback or the like, coping of control of operation becomes easy. In the robot control apparatus of the present invention, position of point and gripping position on the basis of an actual moving position of the workpiece can be memorized by means of manually operating the robot and memorizing the present position and orientation of the robot; the representative position of the moving path of the workpiece can be calculated from the positions of the plural points based on the moving position of the above-mentioned workpiece by means of calculating and memorizing the reference point from the memorized plural positions; the relative position of the gripping position of the workpiece and the representative position of the moving path of the workpiece can be calculated by means of calculating and memorizing the relative position and orientation of the robot extremity from one of the reference points; the robot can be operated to grip the workpiece by appointing the reference point and relative position as the aimed position of operation of the robot; and the robot can be operated by teaching the moving path of the workpiece by moving the reference point by interpolating between the present reference point and a subsequent reference point while keeping the relative position of the present reference point and the robot extremity by appointing the present reference point and subsequent reference point. Brief Description of the Drawings FIG. 1 is an explanatory diagram of an example of- a teaching method of the present invention. FIG. 2 is an explanatory diagram of the example of the teaching method in the prior art. FIG. 3 is an explanatory diagram of an axes configuration of a robot manipulator in an embodiment of the present invention. FIG. 4 is an explanatory diagram of a system configuration in the present embodiment. FIG. 5 is a configurational diagram of a hard ware of a control apparatus. FIG. 6 is a configurational diagram of a central control unit. FIG. 7 is a configurational diagram of a calculation unit. FIG. 8 is a configurational diagram of a servo control unit. FIG. 9 is a flow chart of a process concerning processing of a teaching box. FIG. 10 is a flow chart of a process for calculating and memorizing a reference point from three positions. FIG. 11 is an explanatory diagram of relation of the three positions and the reference point. FIG. 12 is a flow chart of a process for calculating and memorizing a reference point from two positions. FIG. 13 is an explanatory diagram of a relation of the two positions and the reference point. FIG. 14 is a flow chart of a process for calculating and memorizing a relative position. FIG. 15 is a flow chart of a process for operating the robot by appointing the reference point and the relative position. FIG. 16 (a) and 16 (b) are flow charts of processes for operating the robot so as to move on the reference point by interpolating between the present reference point and the successive reference point during keeping the relative position of the present reference point and the robot end by designating the present reference point and the successive reference point. FIG. 17 is an explanatory diagram showing an example of change of gripping position of the other end due to variation of orientation of at the teaching point of gripping position in the prior art. Description of the Preferred Embodiments Hereafter, an action teaching method and a control apparatus of a robot of the present invention is elucidated using an embodiment. The robot in the present embodiment is a robot manipulator having an axis configuration as shown in FIG.3. As shown in FIG.4, two of the above-mentioned robot manipulators are connected to the main body of the control apparatus 6 and are operated by a user from said control apparatus. Each robot manipulator is driven at six joints by motors, as shown by the axes configuration of FIG. 3, and can take an arbitrary hand position p and orientations (n, o, a) within a movable range, wherein p is a hand position vector in a coordinate system (O, X, Y, Z) which is fixed in the system of the present embodiment, and (n, o, a) are unit vectors which cross orthogonally with each other, representing an orientation of the hand in the above-mentioned coordinate system. The control apparatus detects the present positions of the motors, namely the angles of the joints, by encoders which are mounted on the above-mentioned respective motors, and actions of respective robot manipulators are controlled by driving and feedback-controlling the above-mentioned respective motors. A configuration of the control apparatus is shown in FIG. 5. A central control unit 10 is composed of a microcomputer 16, a memory 17 and an I/O 18 as shown in FIG. 6, and the microcomputer 16 is operated by a program stored in the memory 17. A console terminal 8 and a teaching box 7 are connected to the I/O 18 by communication lines 19 and 20, and the microcomputer 16 of the central control unit 10 executes a suitable program in compliance with a signal which is inputted at the console terminal 8 by an operator of the system, thereby controlling the robot manipulator. The calculation units 11 and 12 are for controlling the respective corresponding robot manipulators, and as shown in Fig. 7, are composed of a microcomputer 22, memory 23 and a dual port RAM 21, which is capable of read-write from the central control unit 10 through a bus 9. Motors 15(1) thru 15(12), on which encoders for detecting the present positions are mounted, are connected to servo control units 13 and 14. Servo control units 13 and 14, as shown in Fig. 8, are composed of an I/O 24, including a PWM circuit for controlling the above-mentioned motors 15(1) thru 15(12), a microcomputer 25, a memory 26 and a dual port RAM 27, which is capable of read and write from the calculation units 11 and 12 through a bus 9. In operating the robot manipulator, the central control unit 10 transmits commands of action of the robot manipulator to the calculation units 11 and 12 by writing a command of action and coordinates (n i , o i , a i , p i ) (i=1, 2) of the aimed position and position and orientation of the extremity of the robot manipulator. These commands originate from the central control unit 10 and proceed to the dual port RAM 21 of the calculation units 11 and 12. The calculation units 11 and 12 calculate so-called reverse conversion from the aimed position and orientation (n i , o i , a i , p i ) of the hand in compliance with operational commands from the central control unit 10, calculate an angle of each joint of the robot manipulator, and performs action-commands to the servo control units 13 and 14 by writing a command of operation, including the aimed value of each motor, to the dual port RAM 27 of the servo control units 13 and 14 by taking an aimed value of a revolution angle of the motor corresponding to a required joint angle. The servo control units 13 and 14 control actions of the motors 15(1) thru 15(12) in compliance with the present position of the motors obtained from the encoders mounted on each motor 15(1) thru 15(12) along with the aimed value written in the dual port RAM 27 from the calculation units 11 and 12 responding to the action-command from the calculation unit 11 and 12. As mentioned above, position and orientation of the hand of the robot manipulator can be operated to a desired position by action-command from the central control unit 10. Subsequently, the control apparatus of the invention is elucidated. Means for manually operating the robot is realized by the teaching box 7 and a program in the microcomputer 16 of the central control unit 10. The teaching box 7 has the microcomputer in the same body, and has a plurality of keys and communicating function as an input means for an operator at the control apparatus. Namely, while the operator is pushing the key, the microcomputer in the teaching box 7 transmits a code, corresponding to the pushed key, to the central control unit 10 of the control apparatus. The central control unit 10 performs an action-command to the robot manipulator by a program in compliance with the code transmitted from the teaching box 7. The program is started by an input from the console terminal 8, and terminates by a terminating key input of the teaching box 7. A flow of the processing is shown in FIG. 9. Means for detecting and memorizing the present position of the robot extremity is realized as follows. The command for detecting the present position is sent to the calculation units 11 and 12 from the central control unit 10 via the dual port RAM 21, and the calculation units 11 and 12 send commands of the detected present position to the servo control units 13 and 14 responding thereto. The servo control units 13, 14 read out counters on the encoders mounted on respective motors 15(1) thru 15(12), and an angle of revolution of respective motors 15(1) thru 15(12) are written in the dual port RAM 27 as replies to the calculation units 11 and 12. The calculation units 11 and 12 read out the revolution angle of each motor from the dual port RAM 27, and calculate the revolution angle of each joint, and furthermore perform so-called transformations, where then the positions and orientations (n, o, a, p) of the extremities of the robot manipulators are calculated from each joint angle, and positions and orientations data of the extremities are written in the dual port RAM 21 as a reply to the central control unit 10. The central control unit 10 reads out the data of the position and orientation of the extremity from the dual port RAM 21, and stores it in the memory 17 of the central control unit 10 with a name corresponding to the data of the position and orientation of the extremity. The name, which is inputted from the console terminal 8 by the operator, is read in the central control unit 10. The means for detecting and memorizing the present position is started by operation of the teaching box 7 as a process for memorizing the present position of FIG. 9. Data of the position and orientation of the extremity is composed of three unit vectors (n, o, a), which are orthogonally crossed and represent the orientation, and a vector p, representing the position. Furthermore, the reference point data has the same configuration. Therefore, data of the position and orientation of the extremity, which is memorized by means for detecting and memorizing the present position such as in the control apparatus of the third embodiment is usable itself as a reference point. Subsequently, means for calculating and memorizing a reference point from the memorized plural positions is elucidated. The above-mentioned means in the present embodiment is realized as a program of the central control unit 10, of which allows calculating a reference point from three positions, or calculating a reference point from two positions; the program being started by input from the console terminal 8. A process flow chart for calculating and memorizing the reference point from three positions is shown in FIG. 10. Calculation of the reference point S = (n s , o s , a s , p s ) is performed by the following calculation: P s = P 1 n s = (p s - p 1 )/|p 2 - p 1 | w 1 = p 3 - p 1 w 2 = w 1 - (w 1 · n s )n s o s = w 2 /|w 2 /| a s = n s x o s · Wherein, p s is identical with p 1 as shown in FIG. 11, and n s is a unit vector directing from p 1 to p 2 , o s is a unit vector of a direction of a perpendicular which is down from p 3 by a straight line connecting between p 2 and p 1 , and a s is an outer product of n s and o s . A process flow chart for calculating and memorizing a reference point from two positions is shown in FIG. 12. Calculation of the reference point S = (n s , o s , a s , p s ) is performed by the following calculation: a s = (0, 0, 1) T P s = P 1 w 1 = p 2 - p 1 w 2 = w 1 - (w 1 · a s )a s n s = w 2 /|w 2 /| o s = a s x n s · Wherein, as shown in FIG. 13, p s is identical with p 1 , and a s is the unit vector of Z direction in a world coordinate system, and n s is a perpendicular unit vector which is down from p 2 by the straight line extending from p s to a s , and o s is an outer product of a s and n s . Means for calculating and memorizing a relative position and orientation of the extremity of the robot from one of the reference points is realized by a program of the central control unit 10 which performs the following calculation and stores the result in the memory 17. A flow chart of this process is shown in FIG. 14. then, a relative position (n r , o r , a r , p r ) is calculated as: After designation of the memorized reference point and a relative position, means for calculating the aimed position of action of the robot, on the basis of these, and for operating the robot, is realized by the program of the central control unit 10. A flow chart of the processing is shown in FIG. 15. From a reference point S = (n s , o s , a s , p s ) and a relative position R = (n r , o r , a r , p r ), the aimed position and orientation (n, o, a, p) of operation for the extremity is calculated: After designation of the present reference point and the subsequent reference point, means for operating the robot by interpolating between the present reference point and subsequent reference points while keeping the relative position of the present reference point is realized by the program of the central control unit 10. Process flow charts are shown in FIG. 16(a) and (b). A relative position R = (n r , o r , a r , p r ) with respect to the present reference point S 0 = (n so , o so , a so , p so ) of the position and orientation of the extremity T = (n t , o t , a t , p ) is calculated as follows: Further, the i-th position and orientation of the extremity T(i) = (n ti , o ti , a ti , p ti) is calculated from the interpolating point S(i) = (n si , o si , a si , p si ) and relative position R = (n r , o r , a r , p r ) as follows: In the above-mentioned respective means, in the event that two robot manipulators make performances, commands are sent to the corresponding respective calculation unit 11 or 12 in turn, and various calculation processes in the flow chart are executed responding to the two robot manipulators, respectively. Subsequently, an action teaching method for moving one workpiece with two robot manipulators by using the above-mentioned apparatus is elucidated, as an example of a teaching method of the present invention. As shown in FIG. 1, moving a parallel-piped workpiece 3 from a first position to a second position, and then to a third position with two robot manipulators 1, 2 is taught as follows. First, the workpiece 3 is placed at a first position, and the extremity of the manipulator 1 or 2 is moved to a point P1 on the workpiece 3 by operation of the keys in the teaching box 7, and the position P1 is memorized by operation of the memory key of the present position. Moreover, in a similar manner, the extremity of the robot manipulator 1 or 2 is moved to another two points P2, P3 on the workpiece 3 and information about these positions is memorized. Then gripping positions P4, P5 of the workpiece 3 are memorized, where, P4, P5 are the gripping positions of the first robot manipulator 1 and the second robot manipulator 2, respectively, when the work 3 is placed on the first position. Subsequently, the work is placed on the second position, and the extremity of the robot manipulator 1 or 2 is moved on three points P6, P7, P8 on the work corresponding to P1, P2, P3 by operation of the teaching box 7, and these are memorized. Furthermore, the workpiece 3 is placed at the third position, with the extremity of the robot manipulator 1 or 2 being moved to three points P9, P10, P11 on the workpiece 3 corresponding to Pl, P2, P3 by operation of the teaching box 7, and these are memorized. By using the means for calculating and memorizing the reference point from the three positions, a reference point S1 is calculated and is memorized from the above-mentioned P1, P2, P3, and a reference point S2 is calculated and is memorized from the above-mentioned P6, P7, P8, and a reference point S3 is calculated and is memorized from the above-mentioned P9, P10, P11. Here, S1 S2, S3 are reference points representing positions and orientations of the workpiece which is placed at the first position, the second position, the third position, respectively. From the above-mentioned Sl and P4, a relative position r1 of the gripping position of the first robot manipulator 1 with respect to the reference point is calculated and is memorized, and from the above-mentioned S1 and P5, a relative position r2 of the gripping position of the second robot manipulator 2 with respect to the reference point is calculated and is memorized. Calculation of the above-mentioned reference points and their relative positions are executed by starting the program of the central control unit 10 of the control apparatus by operation of the console terminal 8. While operating, the reference point S1 and the relative position R1 are designated and the first robot manipulator 1 is moved to the gripping position, and the reference point S1 and the relative position R2 are designated and the second robot manipulator 2 is moved to the gripping position. Then, the present reference point and the subsequent reference point are designated, and while keeping a relative position of the present reference point and the extremity of each robot by operating each robot so as to move by interpolating between the present reference point and the subsequent reference point, the work can be moved from the first position to the third position via the second position by letting the robot manipulator 1 or 2 make action for designating S1 for the present reference point and for designating S2 for the subsequent reference point and make for designating S2 for the present reference point and for designating S3 for the subsequent reference point to the robot manipulator 1 or 2. INDUSTRIAL APPLICABILITY As seen from the above action teaching method and control apparatus for a robot, since an actual work position is taught from an operational position of the robot manipulator, default on an accuracy of operational position due to difference of numeral input data and actual operational circumference which is liable to occur in off-line teaching is eliminated. Moreover, since the operational position of the robot manipulator is taught by separating a reference point, which is a position and orientation representing the work, and a relative position with respect to the reference point of the gripping position of each robot manipulator, in the event that the moving position of the work is varied, only the reference point which is varied is taught again, and in the event that the gripping position is varied, only the relative position is taught again. Additionally, since the moving path of the work is designated by reference points, action teaching by keeping the relative position of plural robot manipulators is not needed. Furthermore, the method of the present invention is easily applicable to the various number of the robot manipulator. Moreover, in the second invention of the present invention, since teaching of reference points is calculated from plural teaching positions, it is not needed to take care of the orientation of the extremity of the robot manipulator in teaching. As mentioned above, in the action teaching method and the control apparatus of the robot of the present invention, the teaching can be executed in a way of thinking based on the work, and particularly in the action teaching of plural robot manipulators, accurate and easy teaching is made possible. List of reference numeral of drawings 1.....First robot manipulator 2.....Second robot manipulator 3.....Work 6.....Control apparatus main body 7.....Teaching box 8.....Console terminal 10.....Central control unit 11,12.....Calculation unit 13,14.....Servo control unit 15(1)-15(12).....Motor and encoder

Claims: An action teaching method for a robot system having a plurality of movable robot-manipulators (1, 2) adapted to hold simultaneously a workpiece (3), wherein said method comprises the steps of: manually operating one of said robot-manipulators (1, 2) to place its extremity on at least one point (Pi, P2, P3) on said workpiece (3) being at a first position, and determining a first reference point (S1) indicative of the position and orientation in a fixed coordinate system (O, X, Y, Z) of said workpiece (3) at said first position; manually operating said robot-manipulators (1, 2) to said workpiece (3) being at said first position and determining gripping positions where said plurality of robot-manipulators hold said workpiece at said first position; manually operating one of said robot-manipulators (1, 2) to place its extremity on at least one point (P6, P7, P8) on said workpiece (3) being at a second position, and determining a second reference point (S2) indicative of the position and orientation in said fixed coordinate system (O, X, Y, Z) of said workpiece (3) at said second position; designating a path of operating positions for said plurality of robot-manipulators (1, 2) by interpolating between matrixes having position data and orientation data representing the first (S1) and the second (S2) reference points; and determining relative gripping positions where said plurality of robot-manipulators (1, 2) hold said workpiece (3) while being not at said first position, said relative gripping positions being distinct from said reference points (S) and maintained in a relative position to said reference points (S) while said workpiece is moved. A method according to claim 1, wherein each of said first and second reference point is determined by moving said one of said robot-manipulators (1, 2) to at least three positions, respectively, so as to indicate said relative position and orientation of said workpiece (3). A method according to claim 2, wherein a first of said positions is used to represent said position of said workpiece (3) and a second and third of said positions are used to represent said orientation of said workpiece. A method according to claim 1, wherein each of said robot-manipulators respectively grip different portions of said workpiece (3) and are commanded to different locations relative to said reference point, where each of said robot-manipulators (1, 2) grip the workpiece at a different location relative to a single reference point. A method according to claim 2, wherein three dimensional information including a position and a two dimensional orientation is measured from these three points. A control apparatus for a robot system having a robot-manipulator, comprising: means (7) for manually operating said robot system; means (11, 12) for detecting and storing a plurality of positions and orientations of one of said robot-manipulators at different locations; means (10) for calculating and storing a reference point indicative of the position and orientation in a fixed coordinate system (O, X, Y, Z) of the workpiece from said plurality of stored positions and orientations; means (10) for calculating and storing relative states of said robot-manipulator, indicative of its position and orientation, on the basis of said reference point; and control means (10), responsive to said stored reference point and relative states, for calculating a desired path of operation over which said robot system is to be operated, and for designating a present reference point as a starting point and a subsequent reference point as an ending point; characterized in that said apparatus comprises: a plurality of robot-manipulators (1, 2); the means (10) for calculating and storing a reference point comprises placing the extremity of one of said robot-manipulators (1, 2) on at least one point of said work-piece and storing this position as a reference point; means for controlling said plurality of robot-manipulators so as to hold a workpiece at said starting point by specifying gripping positions relative to said present reference point, and for moving said robot system so as to move between reference points by interpolating between the present reference point and the subsequent reference point, while keeping a relative position between the present reference point and said plurality of robot-manipulators by moving said robot system in a manner so as to maintain an original orientation of said workpiece. A control apparatus of a robot system in accordance with claim 6, wherein the means for calculating and storing a reference point from said plurality of stored positions and orientations includes calculating said reference point from three positions, wherein a first position of said three positions represents the position of the reference point and the other positions represent the orientation of the reference point. A control apparatus of a robot system in accordance with claim 6, wherein the means for calculating and storing a reference point from said plurality of stored positions and orientations is provided for calculating the reference point from two positions, a first position of said two positions representing the position of the reference point and the other position representing the orientation of the reference point. A control apparatus according to one of claims 6 to 8, wherein each of said robot-manipulators holds a side of said workpiece, said control means designating positions of said respective robot-manipulators relative to said reference point. A method of operating a robot system processing a plurality of robot-manipulators (1, 2) comprising an action teaching method according to one of claims 1 to 5, characterized in that a path is established from a first position to a second position; the action of said robot system is calculated by using said methods of one of claims 1 to 5; and said robot system is operated according to said calculated action.

Inventors: MITOMI TAKASHI, SATOH KATSUYOSHI, TETSUYA TAKAFUMI, MITOMI, TAKASHI, SATOH, KATSUYOSHI, TETSUYA, TAKAFUMI, TETSUYA, TAKAFUMI 12-1-702, HIGASHITSUKAGUCHICHO
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1989
Main classification: G05B19
IPC codes: G05B19, B25J9