MIRROR IMAGING METHOD FOR A ROBOT

Abstract: A method of forming a mirror image program for a robot capable of finding a mirror image attitude symmetrical to the tool attitude, and a mirror image driving method. Based on a teaching program prepared by a first robot that operates in response to the teaching of teaching points by the operator and a mirror coordinate system that is set, a second robot calculates a product M<-1>P of an inverse matrix M<-1> of a matrix M that represents the mirror coordinate system and a matrix P that represents teaching points on the fixed coordinate system, effects the coordinate conversion (S3) from the fixed coordinate system into a mirror coordinate system, and finds and stores (S4 to S6) a product M(M<-1>P)' of the matrix M and a matrix (M<-1>P)' obtained by inverting the attitude vectors in the product M<-1>P and the signs of components perpendicular to the mirror surface of the position vectors. The tool attitude at teaching points of the mirror image program prepared by repeating the above procedure becomes symmetrical to the tool attitude at teaching points of the teaching program concerning the mirror surface. Further, the product M(M<-1>P)' is sent to the robot mechanism to effect mirror image driving.

Description: The present invention relates to a mirror image method for use in an industrial robot, and more particularly, to mirror image program preparation and mirror image drive. In an industrial robot, it is conventionally known to utilize a mirror image function of the robot so as to determine mirror image points of teaching points associated with one side of a work object, as teaching points associated with the other side of the work object, so that operations at opposite sides of the work object are carried out on the basis of the aforementioned two kinds of teaching points in a symmetrical manner with respect to a plane passing through an axis of the work object. As shown in Fig. 3, it is also known to symmetrically dispose, with respect to a work object on a working line 52, a first robot 50 responsive to a teaching program, and a second robot 51 responsive to a program containing therein, as teaching points, mirror image points of teaching points contained in the teaching program, so that the robots 50 and 51 simultaneously carry out operations, symmetrical with each other with respect to the work object, at opposite sides of the work object. Conventionally, in a robot of the above-mentioned type, a mirror image 54′ of the position of a tool tip point and a mirror image 55′ of the position and attitude of a tool mounting center 55 are determined with respect to a mirror plane 56, as shown by way of example in Fig. 4, and then a program according to mirror images is prepared on the basis of these mirror images 54′, 55′ and a teaching program. In this respect, the conventional art entails such a drawback that the attitude of the mirror image T′ is unsymmetrical with that of the tool T with respect to the mirror plane 56, as shown in Fig. 4. JP-A-60-246406 discloses a numerical control apparatus with programmable mirror image, wherein teaching points are represented in a fixed coordinate system, and mirror images of those teaching points are prepared in the same coordinate system on the basis of a mirror plane within the same coordinate system. The object of the present invention is to provide a mirror image method for use in a robot, which is capable of determining a mirror image attitude which is symmetrical with a tool attitude. According to the present invention there is provided a mirror image method for use in performing operations by a robot on a work object, comprising preparing a teaching program on the basis of teaching points represented in a first coordinate system,then preparing mirror images of said teaching points, and then performing operations on the work object on the basis of said mirror images, characterised by: (a) a second coordinate system being defined having two coordinate axes defining a mirror plane through the centre of the work object; (b) calculating a second coordinate system teaching point by transforming a respective one of said teaching points from the first coordinate system to the second coordinate system; (c) determining, in said second coordinate system, a mirror image point which is symmetrical with said respective one of said teaching points with respect to said mirror plane; (d) calculating a first coordinate system image point by transforming said mirror image point from said second coordinate system to said first coordinate system; and (e) performing operations on the work object by driving the robot on the basis of said first coordinate system image point. According to the present invention, mirror image points in a second coordinate system, having two coordinate axes defining a mirror plane, are determined through a coordinate transformation, associated with a teaching point represented by a first coordinate system, from the first coordinate system to the second coordinate system, and then a coordinate transformation, associated with a mirror image point, from the second coordinate system to the first coordinate system is carried out. Accordingly, it is possible to achieve mirror image program preparation and mirror image drive, in which a mirror image attitude is symmetrical with a tool attitude. Brief Description of the Drawings Fig. 1 is a flowchart of a control program for executing a mirror image method according to an embodiment of the present invention; Fig. 2 is a block diagram showing an essential part of an industrial robot to which the mirror image method of Fig. 1 is applied; Fig. 3 is a schematic plane view showing by way of example an operation performed by a robot having a mirror image function; and Fig. 4 is a schematic perspective view showing a mirror image method in a conventional robot. A system to which a mirror image method according to an embodiment of the present invention is applied, comprises first and second industrial robots which are disposed symmetrical with each other with respect to a work object on a working line for simultaneously performing symmetric operations at opposite sides of the work object with respect to the work object. As shown in Fig. 2, each of the robots is arranged basically in a conventional manner, and comprises a control unit 10, and a robot mechanism section 30 for performing an operation onto the work object 40 under the control of the control unit. Connected through busses 20 to a central processing unit (hereinafter referred to as CPU) 11 of the control unit 10 are: a memory 12 comprised of a ROM; a memory 13 comprised of a RAM; a teaching pendant 14; a manual data input device (hereinafter referred to as CRT/MDI) 15 with a CRT display; and a tape reader 19. The memory 12 is arranged to store various control programs to be executed by the CPU 11, and the memory 13 is arranged to store a program taught through the teaching pendant 14 and the CRT/MDI 15, and store through the tape reader 19 a robot operation program prepared by off-line processing. The teaching pendant 14 is provided with numerical displays, lamps, operation buttons and the like, which are required for robot operations, and the CRT/MDI 15 is provided with mode change keys, character/numeral keys, cursor keys, and various function keys, so that command data are inputted to the robot through the teaching pendant 14 and the CRT/MDI 15. Further connected through the busses 20 to the CPU 11 are an axis controller 16 accommodating therein interpolation devices, and an interface 18 for signal transmission and reception between the same interface and a sensor system (not shown) and the like associated with the work object 40, so that servomotors for individual axes of the robot mechanism section 30 are driven by servo circuits 17 connected to the axis controller 16. With reference to Fig. 1, operation of the system constructed as mentioned above will be now explained. At first, an operator operates the teaching pendant 14 and the CRT/MDI 15 of the first robot, so as to teach the robot respective teaching points in a fixed coordinate system (e.g., a work coordinate system set on the work object 40) and to input desired command statements, under such a condition that a tool is kept at a desired attitude. Further, the operator operates the CRT/MDI 15 of the first robot to set a predetermined X-Y-Z coordinate system (hereinafter referred to as mirror coordinate system). Upon setting the mirror coordinate system, an X-Z plane including therein an X-coordinate axis and a Z-coordinate axis of this coordinate system is set in consistency with a mirror plane, i.e., a symmetric plane in operation of the first and second robots, which passes through the center of the work object 40. Here, the position of the respective teaching point and the attitude of the tool at the teaching point in the fixed coordinate system are represented by position vector 1 (lx, ly, lz) in the fixed coordinate system, and normal vector n (nx, ny, nz), orientation vector o (ox, oy, oz) and approach vector a (ax, ay, az) in the fixed coordinate system. In other words, the following 4 X 4 matrix P is used for representation. Similarly, a 4 X 4 matrix M is used for representation of the position and attitude in the mirror coordinate system. In response to the aforesaid teaching operation by the operator, the first robot prepares a teaching program, and causes the memory 13 to store the same program, and further writes this teaching program into a magnetic tape through an appropriate means (not shown). Then, the operator sets this magnetic tape in the tape reader 19 of the second robot, and operates the CRT/MDI 15 of the second robot to start operation of the same robot in a mirror image program preparation mode. At the start of the robot operation, the CPU 11 of the second robot reads out a first block of the teaching program (step S1), and determines whether a command stated in the block is a movement command or not (step S2). When it is determined that the movement command is stated, the CPU 11 calculates the product of a coordinate transformation matrix (an inverse matrix of a matrix M representing the mirror coordinate system) M⁻¹ and the aforementioned matrix P representing a teaching point in the fixed coordinate system and contained in the movement command, i.e., the matrix M⁻¹P representing the teaching point in the mirror coordinate system (step S3). Next, the CPU 11 calculates a matrix (M⁻¹P)′ representing a mirror image point in the mirror coordinate system by inverting respective sign of components ny, oy, ay, ly, along a y-axis perpendicular to the mirror plane, of vectors n, o, a, l in this matrix M⁻¹P (step S4). Further, the CPU calculates the product of the matrix M and the matrix (M⁻¹P)′ i.e., the matrix M(M⁻¹P)′ representing the mirror image point in the fixed coordinate system, and causes the memory 13 to store the same (steps S5 and S6). The position of the mirror image point and the tool attitude at that point, which are represented by the matrix M(M⁻¹P)′ calculated in the above manner, are symmetrical with the position of the teaching point concerned and the tool attitude at that point with respect to the mirror plane. When the result of the determination at the step S2 is negative, i.e., when it is determined that the command stated in the block read at the step S1 is not a movement command, the same command is stored in the memory 13 (step S7), and then a determination is made as to whether or not this command represents a program end (step S8). If the result of this determination is negative, the processing of the step S1 and the subsequent steps is repetitively executed. Subsequently, preparation of a mirror image program based upon the teaching program is completed, and then the program end is determined at the step S8 whereby the mirror image program preparation processing of Fig. 1 is completed. Whereupon, the first robot is driven in accordance with the teaching program, and at the same time, the second robot is driven in accordance with the mirror image program, so that operations are simultaneously carried out at opposite sides of the work object on the working line in a symmetrical manner with respect to the work object. Although the mirror image program preparation processing is executed while the teaching program is inputted through the tape reader 19 in the aforesaid embodiment, a similar processing may be made while the teaching program, stored in the memory 13 through the tape reader 19, a communication interface or the like, is read out therefrom. Moreover, the mirror image operation may be immediately carried out, without the mirror image program being prepared. In this case, the robot mechanism section 30 is driven through the servo circuits 17 by supplying the axis controller 16 with a control signal representing the mirror image point, in stead of execution of the mirror image point storage operation at the step S6, and further, the command is executed in stead of the command storage operation at the step S7.

Claims: A mirror image method for use in performing operations by a robot (51) on a work object (53), comprising preparing a teaching program on the basis of teaching points (54,55) represented in a first coordinate system (x,y,z), then preparing mirror images (54′,55′) of said teaching points (54,55), and then performing operations on the work object (53) on the basis of said mirror images (54′,55′) characterised by: (a) a second coordinate system (X,Y,Z) being defined having two coordinate axes (X,Z) defining a mirror plane (56) through the centre of the work object (53); (b) calculating a second coordinate system teaching point by transforming a respective one of said teaching points from the first coordinate system (x,y,z) to the second coordinate system (X,Y,Z); (c) determining, in said second coordinate system (X,Y,Z), a mirror image point which is symmetrical with said respective one of said teaching points with respect to said mirror plane (56); (d) calculating a first coordinate system image point by transforming said mirror image point from said second coordinate system (X,Y,Z) to said first coordinate system (x,y,z); and (e) performing operations on the work object (53) by driving the robot (51) on the basis of said first coordinate system image point. A mirror image method for use in a robot (51) according to claim 1, wherein a third matrix is calculated in said step (c), said third matrix being the product of a first matrix representing the teaching point in said first coordinate system (x, y, z) and an inverse matrix of a second matrix representing said second coordinate system (X, Y, Z), said third matrix representing the teaching point in said second coordinate system (X, Y, Z). A mirror image method for use in a robot (51) according to claim 2, wherein a fourth matrix representing the mirror image point in said second coordinate system (X, Y, Z) is calculated in said step (d), by inverting respective sign of components, perpendicular to said mirror plane (56), of an attitude vector and a position vector which are associated with said third matrix. A mirror image method for use in a robot (51) according to claim 3, wherein a fifth matrix is calculated in said step (e), said fifth matrix being the product of said first matrix and said fourth matrix and representing the mirror image point in said first coordinate system (x, y, z).

Inventors: HARA RYUICHI ROOM - FANUC MANS, HARA, RYUICHI ROOM 7-206 FANUC MANSHONHARIMOMI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1989
Main classification: G05B19
IPC codes: G05B19, B25J9