Teaching system and teaching method of robot

The robot teaching system addresses the challenge of reducing teaching time and maintaining accuracy by using data processing to interpolate or approximate state quantities, thereby efficiently setting teaching points in complex three-dimensional coordinate systems.

JP2025059982AActive Publication Date: 2025-04-10NACHI FUJIKOSHI CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023170432
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-29
Publication Date
2025-04-10
Estimated Expiration
2043-09-29

AI Technical Summary

Technical Problem

Existing robot teaching systems face challenges in reducing the time required for setting multiple teaching points while maintaining high teaching accuracy, especially in three-dimensional coordinate systems where precise control and transformation matrices are necessary.

Method used

The proposed robot teaching system includes a control device that accepts teaching operations and performs data processing to set teaching points by interpolating or approximating state quantities between specified points, thereby reducing the number of required teaching points and man-hours.

Benefits of technology

This approach allows for a significant reduction in the time and effort needed for teaching work while maintaining or improving teaching accuracy, even in complex three-dimensional environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025059982000001_ABST
    Figure 2025059982000001_ABST
Patent Text Reader

Abstract

To provide a teaching system and a teaching method of a robot capable of suppressing deterioration of teaching accuracy while reducing man-hours required for teaching operation when setting a plurality of teaching points.SOLUTION: Upon receiving instruction operation which specifies a first point group consisting of at least one first point on a first path (120) among motion paths of a robot (12) and a second point group consisting of at least one second point on a second path (122) different from the first path (120), a control device (14) of a teaching system (10) sets up, as instruction points, the first point group and the second point group, and also sets up, as an instruction point, a third point group consisting of at least one third point on a third path (124) between the first path (120) and the second path (122).SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a teaching system and a teaching method for teaching a robot. [Background technology]

[0002] In the technical field of industrial robots, teaching (or teaching work) is performed to teach the robot the position and posture so that the robot can perform a desired operation. This teaching work can also be applied to a "transport work" such as loading a substrate into a cassette that can store multiple substrates or unloading the substrate from the cassette.

[0003] Patent Document 1 discloses a control device that controls the operation of a robot by performing shift calculations on the entrance position into a cassette and the substrate suction position. Here, the "shift calculation" is understood to be a calculation that takes into account the step from the reference point, which is the position of the lowest rack provided in the cassette. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2005-066771 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, the robot operates under the control of a three-dimensional coordinate system defined uniquely for the device, i.e., the machine coordinate space. Therefore, the "shift calculation" disclosed in Patent Document 1 can be uniquely specified only when the relative positional relationship between the real space in which the cassette is placed and the machine coordinate space is known.

[0006] In particular, in the above-mentioned transport operation, since the board is often inserted and removed through a very narrow gap between racks, the position and orientation of the tool must be controlled with high precision. When the transport operation is performed using the above-mentioned shift calculation, the transformation matrix between the coordinate space system of the cassette and the mechanical coordinate system of the robot must be defined with high precision. Even if the transformation matrix can be defined with high precision, errors due to differences in the robot's machine body or errors due to deflection of the reducer or arm may occur, which may reduce the accuracy of the teaching.

[0007] On the other hand, the accuracy of teaching can be improved by performing the teaching work for each rack level, but there is a problem in that as the number of teaching points increases, the number of steps required for the teaching work increases accordingly.

[0008] The present invention has been made in consideration of such problems, and its purpose is to provide a robot teaching system and teaching method that can reduce the amount of labor required for teaching work while suppressing a decrease in teaching accuracy when setting multiple teaching points. [Means for solving the problem]

[0009] A robot teaching system in a first aspect of the present invention includes a robot, a teaching terminal that accepts teaching operations that specify teaching points for the robot, and a control device that controls the movement of the robot based on a three-dimensional coordinate system that indicates a machine coordinate space and accepts the teaching operations from the teaching terminal, and the control device has a data processing unit that performs data processing such that, when the control device accepts the teaching operations that specify a first group of points consisting of at least one first point on a first path of the robot's movement path, and a second group of points consisting of at least one second point on a second path of the movement path different from the first path, sets the first group of points and the second group of points as the teaching points, and sets a third group of points consisting of at least one third point on a third path between the first path and the second path of the movement path as the teaching point.

[0010] In a second aspect of the present invention, in the robot teaching system, the control device further includes an acquisition unit that acquires a plurality of state quantities indicating a state of a position and posture of the robot in the machine coordinate space, the plurality of state quantities including a first state quantity set which is a collection of first state quantities corresponding to the first point, and a second state quantity set which is a collection of second state quantities corresponding to the second point, and the data processing includes a calculation process that performs an interpolation calculation or an approximation calculation using the first state quantity set and the second state quantity set acquired by the acquisition unit to calculate a third state quantity set which is a collection of third state quantities corresponding to the third point.

[0011] In a robot teaching system according to a third aspect of the present invention, the number of the second points is equal to the number of the first points, and the interpolation calculation or the approximation calculation is performed using a pair of the first state quantity and the second state quantity corresponding to the arrangement order of each point.

[0012] In a fourth aspect of the present invention, in a robot teaching system, the data processing includes a correspondence process that uses layout information indicating the relative positional relationships of a plurality of partitioned areas partitioned in one or two dimensions to identify the third paths for the robot to access the partitioned areas, and corresponds the third paths to identification information of the partitioned areas.

[0013] In a fifth aspect of the present invention, in a robot teaching system, the teaching terminal outputs guidance information before or during the acceptance of the teaching operation, which guides the user on the order in which the teaching points in the first group of points and the second group of points are to be specified.

[0014] In a sixth aspect of the present invention, in the robot teaching system, the control device further includes a judgment unit that judges the positional relationship between the first points, the positional relationship between the second points, or the positional relationship between the first point and the second point, and the teaching terminal outputs different notification information depending on the judgment result by the judgment unit.

[0015] A seventh aspect of the present invention provides a method for teaching a robot using a system including a robot, a teaching terminal that accepts teaching operations that specify teaching points for the robot, and a control device that controls the movement of the robot based on a three-dimensional coordinate system that indicates a machine coordinate space and accepts the teaching operations from the teaching terminal, and the control device executes the following steps: accepting the teaching operations that specify a first group of points consisting of at least one first point on a first path of the robot's movement path, and a second group of points consisting of at least one second point on a second path of the movement path that is different from the first path; and a processing step in which the control device sets the first group of points and the second group of points as the teaching points, and sets a third group of points consisting of at least one third point on a third path between the first path and the second path of the movement path as the teaching point. Effect of the Invention

[0016] According to the present invention, when a plurality of teaching points are set, it is possible to suppress a decrease in teaching accuracy while reducing the number of steps required for the teaching work. [Brief description of the drawings]

[0017] [Figure 1] 1 is a diagram showing an overall configuration of a robot teaching system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram of the teaching system shown in FIG. [Diagram 3] 3 is a flowchart showing an example of a teaching method using the teaching system of FIGS. 1 and 2. [Figure 4] 2 is a diagram showing an example of a teaching screen displayed on the teach pendant of FIG. 1. [Diagram 5] 4 is a detailed flowchart relating to the setting step (step SP16) of FIG. 3. [Figure 6] 2 is a diagram showing a schematic diagram of the positional relationship of teaching points in the machine coordinate space of the robot shown in FIG. 1. [Figure 7]FIG. 6 is a diagram showing a schematic diagram of a setting result of the teaching points in FIG. 5. [Figure 8] 10A to 10C are diagrams illustrating the effects of the teaching method according to this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings. In order to facilitate understanding of the description, the same reference numerals are used to refer to the same components in each drawing as much as possible, and duplicated description will be omitted.

[0019] [Configuration of teaching system 10] <Overall composition> FIG. 1 is a diagram showing the overall configuration of a robot teaching system (hereinafter simply referred to as "teaching system 10") in one embodiment of the present invention. The teaching system 10 is provided to perform a "teaching task" (or teaching operation) of teaching a position, posture, or movement to a robot 12. More specifically, the teaching system 10 includes a robot 12, a control device 14, and a teach pendant 16 (corresponding to a "teaching terminal"). The robot 12 and the teach pendant 16 are each connected to the control device 14.

[0020] The robot 12 loads and unloads substrates 18 used in the production of display panels. In the example of FIG. 1, the robot 12 is configured as a vertical joint type robot having an arm unit 20. A servo motor 52 (FIG. 2) that performs rotational drive through servo control is connected to a joint axis 50 (FIG. 2) of the arm unit 20. The robot 12 can perform various tasks including moving and transporting the substrates 18 by independently driving the multiple joint axes 50 in response to commands from the control device 14.

[0021] A tool 22 for loading and unloading the substrate 18 is attached to the tip of the arm unit 20. More specifically, the tool 22 is a plate-shaped holding device for holding the substrate 18. A reference point TCP (so-called tool center point) for identifying the position and posture of the robot 12 is set on the arm unit 20 or the tool 22 of the robot 12. In the example of FIG. 1, the reference point TCP corresponds to the center position on the tip side of the tool 22.

[0022] A worktable 24 is provided within the operating range of the robot 12. In the example of Fig. 1, the plane formed by the worktable 24 is defined as the XY plane, and the normal direction of the worktable 24 is defined as the Z axis. In this case, the real space is expressed by a three-dimensional orthogonal coordinate system with XYZ as the three axes.

[0023] A cassette 26 capable of storing a plurality of substrates 18 stacked vertically (i.e., in the Z-axis direction) is placed on a workbench 24. A plurality of racks 28 are provided inside the cassette 26, extending in the depth direction (e.g., in the Y-axis direction) and spaced at approximately equal intervals in the Z-axis direction. By inserting the substrates 18 one by one into a plurality of storage areas (hereinafter referred to as "partitioned areas 30") partitioned by the racks 28, the plurality of substrates 18 can be stored while being spaced apart from one another.

[0024] The control device 14 is a computer that controls the operation of the robot 12. Specifically, the control device 14 includes a connector 32, a communication I / F 34, a processor 36, and a memory 38. The number of each component is one in the example of Fig. 1, but may be two or more.

[0025] The connector 32 is a terminal for electrically connecting to the robot 12 via a power cable or a communication cable (neither of which are shown in the figures). With this, the control device 14 supplies power and control signals to the robot 12, and also acquires measurement signals from various sensors provided on the robot 12.

[0026] The communication I / F 34 is an interface for communicating with an external device, which allows the control device 14 to exchange data with, for example, an operation terminal including the teach pendant 16 or a higher-level device (not shown).

[0027] The processor 36 may be a general-purpose processor including a CPU (Central Processing Unit) or a dedicated processor including an FPGA (Field Programmable Gate Array) or a GPU (Graphics Processing Unit). The memory 38 is a non-transitory storage medium, and stores programs and data necessary for the processor 36 to control each component.

[0028] The teach pendant 16 is a terminal used for teaching the robot 12, and has a human machine interface (hereinafter referred to as "HMI 40"). The HMI 40 functions as an operation unit 42 for indicating a teaching point and an information output unit 44 for outputting various information related to the teaching operation. The operation unit 42 is composed of an input device including, for example, a mechanical switch, a touch sensor, or a sound sensor. The information output unit 44 is composed of an output device including, for example, a display panel, a speaker, or a lamp.

[0029] Here, it is assumed that an operator uses the teach pendant 16 as an operating device to perform a teaching operation while moving the robot 12. Specifically, the teaching operation is performed by repeating the operations of [1] guiding the robot 12 to a desired point and [2] specifying a teaching point at the desired point. As actual teaching data, a state quantity indicating the state of the position and posture of the robot 12 (more specifically, the reference point TCP) in the machine coordinate space is acquired. This state quantity is, for example, a combination of state values ​​of [1] a coordinate value (U) on the U axis constituting the machine coordinate space, [2] a coordinate value (V) on the V axis constituting the machine coordinate space, [3] a coordinate value (W) on the W axis constituting the machine coordinate space, [4] a roll angle (r) around the U axis, [5] a pitch angle (p) around the V axis, and [6] a yaw angle (y) around the W axis.

[0030] <Block diagram> Fig. 2 is a block diagram of the teaching system 10 shown in Fig. 1. The robot 12 includes a joint axis 50, a servo motor 52, and a position sensor 54. The control device 14 includes a servo control unit 60 for driving and controlling the servo motor 52. For convenience of illustration, only one set of components is shown, but in reality, multiple sets (six sets in the example of Fig. 1) are provided.

[0031] The servo motor 52 is a rotary actuator that rotates the joint shaft 50. A position sensor 54 (or an encoder) outputs a detection signal (hereinafter referred to as a "position signal") indicating the angular position of the servo motor 52. A servo control unit 60 performs drive control of the servo motor 52 based on the position signal from the position sensor 54. For drive control, for example, PWM (Pulse Width Modulation) is used, in which the current flowing through the servo motor 52 is used as a control amount.

[0032] In addition to the servo control unit 60 described above, the control device 14 further includes a state calculation unit 62, an operation reception unit 64, a teaching processing unit 66, a data storage unit 68, and a program execution unit .

[0033] The state calculation unit 62 calculates state quantities indicating the state of the position and posture at the reference point TCP of the robot 12, using the position information and dynamics parameters of the servo motor 52. As described above, these state quantities are composed of vector quantities (U, V, W, r, p, y) consisting of a combination of U coordinate value, V coordinate value, W coordinate value, roll angle r, pitch angle p, and yaw angle y. Hereinafter, a collection of state quantities corresponding to multiple points on the same route may be referred to as a "state quantity set."

[0034] The operation reception unit 64 receives a teaching operation from the teach pendant 16. This teaching operation includes an operation of specifying one or more points (hereinafter also referred to as a point group) on a path along which the robot 12 moves (hereinafter also referred to as an "operation path"). For example, [1] a first point group consisting of at least one first point on a first path, and [2] a first point group consisting of at least one second point on a second path are each specified. Note that the number of second points may be the same as the number of first points, or may be different from the number of first points.

[0035] Furthermore, upon receiving a teaching operation from the teach pendant 16, the operation receiving unit 64 acquires information necessary for teaching processing by the teaching processing unit 66. Examples of this "necessary information" include [1] timing information that specifies the timing for acquiring a state quantity, or [2] information regarding the layout of the cassette 26 (hereinafter referred to as "layout information").

[0036] The teaching processing unit 66 performs information processing (i.e., teaching processing) related to teaching of the robot 12. The teaching processing unit 66 specifically includes an acquisition unit 72, a determination unit 74, a data processing unit 76, and a notification instruction unit 78.

[0037] The acquisition unit 72 acquires a plurality of state quantities indicating the state of the position and posture of the robot 12 in the machine coordinate space from the state calculation unit 62. The plurality of state quantities include: [1] a collection of first state quantities corresponding to a first point (hereinafter referred to as a "first state quantity set"), and [2] a collection of second state quantities corresponding to a second point (hereinafter referred to as a "second state quantity set").

[0038] The acquisition unit 72 also acquires information relating to the layout of the cassette 26 (i.e., layout information) from the operation acceptance unit 64. The layout information includes information indicating the relative positional relationship of a plurality of partitioned areas 30 partitioned one-dimensionally or two-dimensionally. Examples of the layout information include the number of stages of the rack 28, the number of teaching points for each stage of the rack 28, and identification information of the rack 28 on which the teaching work is performed (e.g., the top stage and the bottom stage).

[0039] The determination unit 74 performs a determination process as to whether or not the positional relationship between the first points, the positional relationship between the second points, or the positional relationship between the first point and the second point is valid, using the first state quantity set or the second state quantity set acquired by the acquisition unit 72. "Validity of the positional relationship" includes, for example, [1] whether the number of teaching points is sufficient or not, [2] whether the positional deviation of the teaching points is within an allowable range, or [3] whether teaching is performed in the specified order.

[0040] When the operation receiving unit 64 receives a teaching operation that specifies the first group of points and the second group of points, the data processing unit 76 performs data processing to set the teaching points collectively. Here, "setting" means making the state quantities corresponding to the teaching points available when the work program is executed. Also, "setting collectively" means setting the third group of points together with the first group of points and the second group of points as teaching points collectively. The "third group of points" corresponds to one or more third points on a third route between the first route and the second route. The number of third routes may be one or more.

[0041] The data processing executed by the data processing unit 76 includes, for example, [1] calculation processing of state quantities, [2] correction processing of state quantities, [3] association processing with the partitioned region 30, or [4] generation processing of teaching data.

[0042] The "calculation process" is information processing for performing an interpolation calculation or an approximation calculation using the first state quantity set and the second state quantity set acquired by the acquisition unit 72 to calculate a set of third state quantities corresponding to a third point (hereinafter referred to as a "third state quantity set"). The interpolation calculation or approximation calculation is performed by combining m (m is a natural number) first state quantities and n (n is a natural number) second state quantities. When the number of second points is equal to the number of first points (m=n), the interpolation calculation or approximation calculation may be performed using a set of the first state quantity and the second state quantity corresponding to the arrangement order of each point. Examples of the interpolation calculation method include linear interpolation, spline interpolation, and Lagrange interpolation. Examples of the approximation calculation method include a B-spline curve, a regression line, and a regression curve.

[0043] The "correction process" is information processing for correcting at least one state quantity among the first state quantity set and the second state quantity set acquired by the acquisition unit 72. The correction process is performed so that the positional relationship between the first points, the positional relationship between the second points, or the positional relationship between the first point and the second point approaches an ideal state. This "ideal state" means, for example, that a regression line or a regression plane is obtained from a plurality of points, and the distance from the obtained regression line or regression plane is within an allowable range.

[0044] The “association process” is information processing for identifying each third path for the robot 12 to access the partitioned area 30 using the layout information of the cassette 26, and for associating the third path with the identification information of the partitioned area 30. An example of the identification information is a rack ID for identifying the position of the rack 28.

[0045] The notification instruction unit 78 instructs the teach pendant 16 to notify the processing result by the teaching processing unit 66. For example, the notification instruction unit 78 may instruct the teach pendant 16 to output different notification information depending on the judgment result by the judgment unit 74 or the processing result by the data processing unit 76. Examples of the notification information include [1] flag information indicating normal or abnormal termination, or [2] flag information indicating that the teaching point has been corrected.

[0046] The data storage unit 68 stores the teaching data generated by the teaching processing unit 66. The teaching data is stored in such a way that a state quantity corresponding to a teaching point can be used when an operation program is executed.

[0047] The program execution unit 70, in cooperation with the servo control unit 60, executes an operation program for causing the robot 12 to carry in and out the substrate 18. When the operation program is executed, the teaching data stored in the data storage unit 68 is referenced.

[0048] [Operation of teaching system 10] The teaching system 10 in this embodiment is configured as described above. Next, a teaching method for the robot 12 using this teaching system 10 will be described with reference to Fig. 3 to Fig. 7. Fig. 3 is a flowchart showing an example of a teaching method using the teaching system 10 of Figs. 1 and 2.

[0049] (SP10: Input process) 3, a layout information input process is performed in step SP10. Specifically, the operator inputs layout information regarding the cassette 26 via the teaching screen 100 displayed on the teach pendant 16.

[0050] Fig. 4 is a diagram showing an example of a teaching screen 100 displayed on the HMI 40 of the teach pendant 16 in Fig. 1. On this teaching screen 100, input fields 102, 104, a guidance field 106 (corresponding to "guidance information"), and buttons 108, 110 are provided.

[0051] The input field 102 is made up of user controls for inputting the number of stages of the racks 28 of the cassette 26. The input field 104 is made up of user controls for inputting the number of points per stage of the racks 28.

[0052] The guidance field 106 includes an illustration that shows a schematic positional relationship between the robot 12 and the cassette 26. The illustration further includes eight marks (circles in this case) that indicate teaching positions and eight numbers (1 to 8 in this case) that indicate teaching orders. By visually checking the guidance field 106, the worker can understand the work procedure, which is to [1] teach four points from the far side to the near side of the cassette 26, with the topmost rack 28 as the target, and [2] teach four points from the far side to the near side of the cassette 26, with the bottommost rack 28 as the target.

[0053] In addition, the guidance field 106 may update the drawing contents to match the contents of the settings every time various settings related to the teaching are changed. For example, the number of marks in the illustration may be changed when a change in the input value of the input field 104 is accepted, and the position of the marks in the illustration may be changed when a change in the position of the reference point TCP (FIG. 1) is accepted.

[0054] The button 108 labeled [START] corresponds to a user control for starting a teaching operation of the robot 12. The button 110 labeled [CANCEL] corresponds to a user control for canceling an input operation from the teaching screen 100. For example, after inputting a desired number in the input fields 102, 104, the worker touches or clicks the [START] button 108 to proceed to the next step (step SP12).

[0055] (SP12: First teaching process) 3, a teaching process for the top-level path is performed. Specifically, the worker performs a teaching operation along a path for accessing the top-level rack 28 (i.e., the top-level path). The worker repeatedly performs [1] an operation of guiding the robot 12 to a desired point on the top-level path, and [2] an operation of specifying a teaching point at the desired point. As a result, a state quantity set corresponding to the top-level path (i.e., a first state quantity set) is acquired.

[0056] (SP14: Second teaching step) In step SP14, a teaching process for the bottommost path is performed. Specifically, the worker performs a teaching operation along a path for accessing the bottommost rack 28 (i.e., the bottommost path). The worker repeatedly performs [1] an operation of guiding the robot 12 to a desired point on the bottommost path, and [2] an operation of specifying a teaching point at the desired point. As a result, a state quantity set corresponding to the bottommost path (i.e., a second state quantity set) is acquired.

[0057] (SP16: Setting process) In step SP16, a teaching point setting step is performed. Specifically, the control device 14 sets a plurality of teaching points on the top path 120, the bottom path 122, or the middle path 124 (FIG. 7) using the first state quantity set and the second state quantity set acquired through the steps SP12 and SP14. Specific operations of the control device 14 associated with this setting step will be described later with reference to FIGS. 5 to 7.

[0058] (SP18: Notification process) In step SP18, a notification process is performed for the operator. Specifically, the teach pendant 16 performs any one of the following: [1] notification of normal completion, [2] notification of abnormal completion, or [3] notification that the teaching point has been corrected. In this manner, a series of processes related to teaching the robot 12 is completed.

[0059] <Example of the setting process> Fig. 5 is a detailed flowchart relating to the setting step (step SP16) of Fig. 3. Steps SP30 to SP48 shown in Fig. 5 are executed by the teaching processing unit 66 of the control device 14 (Fig. 2).

[0060] (SP30: Acquisition step) In step SP30, the acquisition unit 72 acquires layout information of the cassette 26 from the operation reception unit 64. For example, if the number of stages of the rack 28 is "11" and the score per stage is "4", the rack ID of the top stage is assigned to "1" and the rack ID of the bottom stage is assigned to "11".

[0061] (SP32: Acquisition step) In step SP32 of FIG. 5, the acquisition section 72 acquires, from the state calculation section 62, a first set of state quantities corresponding to the topmost path.

[0062] (SP34: Acquisition step) In step SP34, the acquisition section 72 acquires, from the state calculation section 62, the second state quantity set corresponding to the bottom path.

[0063] (SP36: Judgment step) In step SP36, the judgment section 74 judges the validity of the positional relationships among the multiple teaching points, using the first state quantity set acquired in step SP30 and the second state quantity set acquired in step SP32.

[0064] Fig. 6 is a diagram showing a schematic diagram of the positional relationship of teaching points in the machine coordinate space of the robot 12 in Fig. 1. The actual state quantity is a vector quantity having six components, but for convenience of illustration, it is expressed in a plane coordinate system with the V axis and the W axis as two axes. In the example of Fig. 6, the V coordinate value is set so that as the reference point TCP moves away from the cassette 26, the V coordinate value becomes smaller, and as the reference point TCP approaches the cassette 26, the V coordinate value becomes larger.

[0065] Points P11 to P14 indicate points on the topmost route. Points P21 to P24 indicate points on the bottommost route. Virtual line L1 indicates a straight line connecting two points P11, P21. Virtual line L2 indicates a straight line connecting two points P21, P22. Virtual line L3 indicates a straight line connecting two points P13, P23. Virtual line L4 indicates a straight line connecting two points P14, P24. Virtual line L5 indicates a regression line (or an approximation line) of four points P11 to P14. Virtual line L6 indicates a regression line (or an approximation line) of four points P21 to P24.

[0066] Examples of the judgment parameters include [1] the angle between the virtual lines L1 to L4 and the W axis, [2] the angle between the virtual lines L1 to L4, or [3] the angle between the virtual lines L5 and L6. For example, the judgment unit 74 judges that the positional relationship is "appropriate" when the above-mentioned angle is equal to or smaller than a threshold value, and judges that the positional relationship is "inappropriate" when the above-mentioned angle exceeds the threshold value.

[0067] (SP38: Confirmation step) In step SP38 of Fig. 5, the data processing unit 76 checks the determination result obtained in step SP36. If the positional relationship is not appropriate (step SP38: NO), the teaching processing unit 66 ends the operation of the flowchart shown in Fig. 5. On the other hand, if the positional relationship is appropriate (step SP38: YES), the data processing unit 76 proceeds to the next step S40.

[0068] (SP40: Selection step) In step SP40, the data processing unit 76 selects a pair of teaching points that has not yet been selected from among the four pairs of teaching points on the topmost route (or the bottommost route). Here, it is assumed that the pair of points P11 and P21 in FIG. 6 is selected.

[0069] (SP42: Calculation step) In step SP42, the data processing unit 76 performs an interpolation operation using the set of state quantities corresponding to the set of teaching points selected in step SP40, and calculates a plurality of state quantities (here, the same number as the number of rack stages). For example, in the case of linear interpolation, each state quantity is calculated so as to equally divide the straight line section connecting the two points P11 and P21 into nine parts.

[0070] (SP44: Matching Step) In step SP44, the data processing unit 76 associates the multiple state quantities calculated in step SP42 with rack IDs. As a result, the state quantity of point P11 is associated with ID=1, and the state quantity of point P21 is associated with ID=11. The remaining state quantities are associated with IDs 2, 3, ..., 10 in order of proximity to point P11.

[0071] (SP46: Confirmation step) In step SP46, the data processing unit 76 checks whether all four sets of teaching points have been selected. If they have not been selected (step SP46: NO), the data processing unit 76 returns to step SP40 and sequentially repeats steps SP40 to SP46 until all four sets of teaching points have been selected. Then, if all four sets of teaching points have been selected (step SP46: YES), the data processing unit 76 proceeds to the next step SP48.

[0072] (SP48: Setting Step) In step SP48, the data processing unit 76 collectively sets the points on [1] the topmost path 120, [2] the bottommost path 122, and [3] the middle path 124 as teaching points for the robot 12.

[0073] FIG. 7 is a diagram showing a schematic diagram of the setting result of the teaching points in FIG. 5. As in the case of FIG. 6, the state quantities corresponding to the teaching points are expressed in a plane coordinate system with the V-axis and the W-axis as two axes. As can be seen from FIG. 7, a topmost path 120 (ID=1) passing through P11 to P14, a bottommost path 122 (ID=11) passing through P21 to P24, and nine middle paths 124 (ID=2 to 10) between the topmost path 120 and the bottommost path 122 are set. For convenience of illustration, only the middle path 124 corresponding to ID=6 is shown, but in reality, nine middle paths 124 passing through four teaching points are set.

[0074] In this manner, the control device 14 executes the flowchart of FIG. 5, whereby the setting step (step SP16) of FIG. 3 is completed.

[0075] Fig. 8 is a diagram showing the effect of the teaching method in this embodiment. As in Fig. 6 and Fig. 7, the state quantities corresponding to each point are expressed in a plane coordinate system with the V-axis and the W-axis as the two axes. The dashed line graph shows the calculated values ​​of the state quantities in the "Comparative Example", and the solid line graph shows the calculated values ​​of the state quantities in the "Example".

[0076] The "Comparative Example" shows the trajectory of state quantities obtained by shift calculation (see JP 2005-066771 A) assuming that the Z-axis and W-axis are aligned. The state quantities in the "Comparative Example" are obtained by adding the value obtained by multiplying the state quantity per stage of the rack 28 (i.e., the shift amount) by the number of stages to the state quantity of the "lowest stage" corresponding to the only teaching point.

[0077] "Example" shows the trajectory of state quantities by the teaching method in this embodiment. The state quantities in "Example" are obtained by linear interpolation calculation passing through the state quantities of the "bottom row" and the "top row" corresponding to the two teaching points.

[0078] The bold line graph shows the trajectory of the state quantity when the tool 22 of the robot 12 is continuously moved in the height direction (i.e., Z-axis direction) in the section from the bottom to the top of the cassette 26. This state quantity corresponds to an actual measurement value actually measured using a measuring device (e.g., a laser tracker) provided outside the robot 12. Hereinafter, the difference between the calculated value and the actual measurement value of the state quantity is referred to as the "teaching error."

[0079] Here, Err1 indicates the maximum teaching error in the "Comparative Example". Err2 indicates the maximum teaching error in the "Example". As can be seen from FIG. 8, the magnitude relationship of Err1>Err2 holds, and the teaching error in the "Example" is significantly reduced compared to the "Comparative Example". The reason for this will be explained below.

[0080] In the above-mentioned transport operation, since the substrate 18 is often inserted and removed through a very narrow gap between the racks 28, it is necessary to control the position and attitude of the tool 22 with high precision. When the transport operation is performed using the shift calculation of the "Comparative Example", it is necessary to define with high precision the transformation matrix between the coordinate space system of the cassette 26 (e.g., XYZ coordinate system) and the machine coordinate system of the robot 12 (e.g., UVW coordinate system). Even if the transformation matrix can be defined with high precision, errors due to differences in the robot 12 or errors due to deflection of the reducer or arm occur, which may reduce the accuracy of teaching.

[0081] In the "Comparative Example," the teaching error Err1 tends to become larger due to the influence of all the errors described above. In the example of Fig. 8, the W axis is slightly tilted with respect to the Z axis, so the teaching error is small at the "bottom step" corresponding to the only teaching point, but the teaching error tends to gradually increase as the distance from the teaching point increases, that is, toward the "top step."

[0082] Therefore, in the "embodiment", the conveying operation of the two-stage rack 28 consisting of the top stage and the bottom stage is taught by actual object matching, and the command position (i.e., state quantity) of each intermediate stage rack 28 is automatically calculated from the obtained teaching data. This can eliminate the need to define the relative positional relationship between the coordinate system of the cassette 26 and the machine coordinate system. Also, by performing actual object matching, the accuracy of the taught position is guaranteed. Also, by performing actual object matching, errors caused by differences in the robot 12 or errors caused by deflection of the reducer or arm can be absorbed. In particular, by calculating the state quantity of the intermediate stage using an interpolation formula or an approximation formula, it is possible to realize a teaching operation that takes the above-mentioned various errors into consideration in advance.

[0083] [Summary of the embodiment] As described above, according to the teaching system 10 and teaching method for the robot 12 in this embodiment, when the control device 14 receives a teaching operation specifying a first group of points on a first path (here, the top path 120) and a second group of points on a second path (here, the bottom path 122), the control device 14 performs data processing to set the first group of points and the second group of points as teaching points, and to set a third group of points on a third path (here, the middle path 124) between the top path 120 and the bottom path 122 as teaching points. This makes it possible to automatically teach the middle path 124 with high accuracy based on the relationship between the top path 120 and the bottom path 122 that have been matched to the actual objects. This makes it possible to suppress a decrease in teaching accuracy while reducing the man-hours required for teaching work when setting multiple teaching points.

[0084] Furthermore, when the multiple state quantities include a first state quantity set that is a collection of first state quantities corresponding to a first location, and a second state quantity set that is a collection of second state quantities corresponding to a second location, the data processing may perform an interpolation calculation or an approximation calculation using the first state quantity set and the second state quantity set to calculate a third state quantity set that is a collection of third state quantities corresponding to a third location. Through the interpolation calculation or the approximation calculation, it is possible to calculate the third state quantity with higher accuracy while reflecting the relationship between the first state quantity and the second state quantity.

[0085] Furthermore, when the number of second locations is equal to the number of first locations, the interpolation or approximation may be performed using a pair of the first state quantity and the second state quantity corresponding to the arrangement order of each location. Through the interpolation or approximation, the third state quantity can be calculated with higher accuracy while reflecting the arrangement order of each location.

[0086] The data processing may also include a correspondence process that uses layout information indicating the relative positional relationships of a plurality of defined areas 30 that are defined one-dimensionally or two-dimensionally to identify middle paths 124 for the robot 12 to access the defined areas 30, and corresponds the middle paths 124 to the identification information of the defined areas 30. This makes it possible to teach the robot 12 to access each defined area 30.

[0087] Furthermore, the teaching terminal (the teach pendant 16 in this case) may output guidance information (the guidance field 106 in this case) that guides the operator on the order of designating teaching points in the first and second point groups before or during the teaching operation. This provides support to the operator who is about to perform the teaching operation.

[0088] Furthermore, when the control device 14 judges the positional relationship between the first points, the positional relationship between the second points, or the positional relationship between the first point and the second point, the teach pendant 16 may output different notification information depending on the judgment result by the control device 14. Through the output of the notification information, the operator can know whether or not the teaching operation performed by the operator was appropriate.

[0089] [Variations] The present invention is not limited to the above-described embodiment, and can be freely modified without departing from the spirit of the present invention. Alternatively, the respective configurations may be combined in any manner without causing any technical inconsistency. Alternatively, the order of execution of each step constituting the flowchart may be changed without causing any technical inconsistency.

[0090] In the above embodiment, an example has been described in which the teaching data includes a state quantity set of the middle path 124, but the timing of executing the interpolation or approximation calculation is not limited to this. For example, when executing a work program, the state quantity set of the middle path 124 may be calculated by performing the interpolation or approximation calculation every time teaching data is read out. In this case, for example, the identification information of the rack 28 (i.e., the rack ID) may be referenced as an argument of the function command.

[0091] In the above embodiment, the case where the multiple divided regions 30 are arranged side by side in the Z-axis direction has been described as an example, but the layout of the divided regions 30 is not limited to this. For example, the multiple divided regions may be arranged one-dimensionally in the X-axis or Y-axis direction, or two-dimensionally on any of the XY, YZ, and XZ planes.

[0092] In the above embodiment, the teaching pendant 16 is used as the operating device, but the teaching mode is not limited to this. For example, the teaching mode may be a working terminal connected to a network that is used as the operating device, or a handle attached to the arm 20 of the robot 12 for direct operation.

[0093] In the above embodiment, the robot 12 is a vertical articulated robot, but the type of industrial robot is not limited to this. For example, the robot may be a horizontal articulated robot, a parallel link robot, or an orthogonal robot. In the above embodiment, the workpiece is a substrate 18, but the type of workpiece is not limited to this. Similarly, the type of tool 22 may be changed in various ways depending on the type of workpiece or the type of operation. [Explanation of symbols]

[0094] 10...teaching system, 12...robot, 14...control device, 16...teach pendant (teaching terminal), 72...acquisition unit, 74...determination unit, 76...data processing unit, 78...notification instruction unit, 120...top path (first path), 122...bottom path (second path), 124...middle path (third path), P11 to P14...points (first points), P21 to P24...points (second points)

Claims

1. Robots and A teaching terminal that accepts a teaching operation for specifying a teaching point of the robot; a control device that controls the operation of the robot based on a three-dimensional coordinate system that indicates a machine coordinate space and receives the teaching operation from the teaching terminal; Equipped with The control device is a robot teaching system characterized in that, when it receives the teaching operation specifying a first group of points consisting of at least one first point on a first path of the robot's movement path, and a second group of points consisting of at least one second point on a second path different from the first path of the movement path, the control device sets the first group of points and the second group of points as the teaching points, and also sets a third group of points consisting of at least one third point on a third path between the first path and the second path of the movement path as the teaching points.

2. the control device further includes an acquisition unit that acquires a plurality of state quantities indicating a state of a position and an attitude of the robot in the machine coordinate space, the plurality of state quantities include a first state quantity set which is a collection of first state quantities corresponding to the first location, and a second state quantity set which is a collection of second state quantities corresponding to the second location, 2. The robot teaching system according to claim 1, wherein the data processing includes a calculation process for performing an interpolation calculation or an approximation calculation using the first state quantity set and the second state quantity set acquired by the acquisition unit to calculate a third state quantity set which is a collection of third state quantities corresponding to the third point.

3. the number of said second locations is equal to the number of said first locations; 3. The robot teaching system according to claim 2, wherein the interpolation calculation or the approximation calculation is performed using a pair of the first state quantity and the second state quantity corresponding to an arrangement order of each point.

4. 3. The robot teaching system according to claim 2, characterized in that the data processing includes a correspondence process that uses layout information indicating the relative positional relationship of a plurality of partitioned areas partitioned in one or two dimensions to identify each of the third paths for the robot to access the partitioned areas and corresponds the third paths to identification information of the partitioned areas.

5. The robot teaching system according to claim 1, characterized in that the teaching terminal outputs guidance information indicating the order in which the teaching points in the first group of points and the second group of points are to be specified before or during the acceptance of the teaching operation.

6. The control device further includes a determination unit that determines a positional relationship between the first points, a positional relationship between the second points, or a positional relationship between the first point and the second point, 2. The robot teaching system according to claim 1, wherein the teaching terminal outputs different notification information depending on the result of the determination by the determining unit.

7. A robot teaching method using a system including a robot, a teaching terminal that accepts a teaching operation that specifies a teaching point of the robot, and a control device that controls the operation of the robot based on a three-dimensional coordinate system that indicates a machine coordinate space and accepts the teaching operation from the teaching terminal, comprising: receiving the teaching operation that specifies a first group of points consisting of at least one first point on a first path among the motion paths of the robot, and a second group of points consisting of at least one second point on a second path, different from the first path, among the motion paths; a processing step in which the control device performs data processing to set the first point group and the second point group as the teaching points, and to set a third point group consisting of at least one third point on a third route between the first route and the second route among the operation routes, as the teaching points; The control device executes the above-mentioned teaching method for a robot.

Citation Information

Patent Citations

  • Teaching device of plane data of robot

    JP1985160410A

  • Remote work device

    JP1997193066A

  • Robot system for carrying substrate

    JP2005066771A

  • Robot program creation method, robot program creation device, program, and recording medium

    JP2015098076A