WO2017104039A1 - 教示システム、教示方法およびロボット - Google Patents

教示システム、教示方法およびロボット Download PDF

Info

Publication number
WO2017104039A1
WO2017104039A1 PCT/JP2015/085319 JP2015085319W WO2017104039A1 WO 2017104039 A1 WO2017104039 A1 WO 2017104039A1 JP 2015085319 W JP2015085319 W JP 2015085319W WO 2017104039 A1 WO2017104039 A1 WO 2017104039A1
Authority
WO
WIPO (PCT)
Prior art keywords
teaching
robot
hand
temporary
axis
Prior art date
Application number
PCT/JP2015/085319
Other languages
English (en)
French (fr)
Inventor
小淵 信一
Original Assignee
株式会社安川電機
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社安川電機 filed Critical 株式会社安川電機
Priority to PCT/JP2015/085319 priority Critical patent/WO2017104039A1/ja
Publication of WO2017104039A1 publication Critical patent/WO2017104039A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/677Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations

Definitions

  • the disclosed embodiment relates to a teaching system, a teaching method, and a robot.
  • the teaching data when the other robot accesses the aligner device is corrected based on the deviation of the position and orientation of the substrate detected by the aligner device (for example, see Patent Document 1).
  • An object of one embodiment is to provide a teaching system, a teaching method, and a robot capable of efficiently teaching a plurality of robots with a simple configuration.
  • the teaching system includes a first robot, a second robot, and a correction unit.
  • the first robot has the first hand in which the present teaching corresponding to the actual operation is completed.
  • the second robot has completed the temporary teaching, which is coarser than the main teaching, and has the second hand.
  • the correction unit corrects the teaching data of the temporary teaching of the second robot based on the detection result of the second hand that has moved to a predetermined inspection position according to the temporary teaching by the first hand.
  • FIG. 1 is a schematic top view showing an outline of the teaching system.
  • FIG. 2 is a perspective view of the robot.
  • FIG. 3 is a schematic top view of the hand.
  • FIG. 4 is a block diagram of the teaching system.
  • FIG. 5A is an explanatory diagram illustrating a procedure for detecting a shift in the Z-axis direction.
  • FIG. 5B is an explanatory diagram illustrating a procedure for detecting a shift in the X-axis direction.
  • FIG. 6A is a first explanatory diagram showing a procedure for detecting a deviation in the Y-axis direction.
  • FIG. 6B is a second explanatory diagram illustrating a procedure for detecting a shift in the Y-axis direction.
  • FIG. 5A is an explanatory diagram illustrating a procedure for detecting a shift in the Z-axis direction.
  • FIG. 5B is an explanatory diagram illustrating a procedure for detecting a shift in the Y-axis direction.
  • FIG. 7A is an explanatory diagram 1 illustrating a procedure for detecting a shift around the X axis.
  • FIG. 7B is a second explanatory diagram illustrating a procedure for detecting a deviation around the X axis.
  • FIG. 7C is an explanatory diagram 3 showing a procedure for detecting a shift around the X axis.
  • FIG. 8A is a first explanatory diagram illustrating a procedure for detecting a deviation around the Y axis.
  • FIG. 8B is a second explanatory diagram illustrating a procedure for detecting a shift around the Y axis.
  • FIG. 8C is an explanatory diagram 3 showing a procedure for detecting a deviation around the Y axis.
  • FIG. 8A is a first explanatory diagram illustrating a procedure for detecting a deviation around the Y axis.
  • FIG. 8B is a second explanatory diagram illustrating a procedure for detecting a shift around the Y
  • FIG. 9A is an explanatory diagram 1 illustrating a procedure for detecting a shift around the Z-axis.
  • FIG. 9B is a second explanatory diagram illustrating a procedure for detecting a shift around the Z-axis.
  • FIG. 9C is an explanatory diagram 3 showing a procedure for detecting a shift around the Z-axis.
  • FIG. 10 is a block diagram illustrating a modification of the controller.
  • FIG. 11A is an explanatory diagram showing a procedure for teaching n robots.
  • FIG. 11B is an explanatory diagram showing a procedure for teaching a robot installed in a plurality of transfer chambers.
  • FIG. 12 is a flowchart showing a teaching procedure executed by the teaching system.
  • FIG. 13 is a flowchart showing a teaching procedure executed by a teaching system including n robots.
  • FIG. 1 is a schematic top view showing an outline of the teaching system 1.
  • the Z axis with the vertical upward direction as the positive direction the Z axis with the vertical upward direction as the positive direction
  • the X axis as the direction along the long side of the transfer chamber 50
  • the direction along the short side of the transfer chamber 50 are shown.
  • a three-dimensional orthogonal coordinate system with the Y axis is shown. Such an orthogonal coordinate system may be shown in other drawings used in the following description.
  • the teaching system 1 includes a transfer chamber 50, an aligner device 51, and a robot 10.
  • FIG. 1 exemplifies a case where two robots 10 are installed, and character strings such as “ ⁇ 1” and “ ⁇ 2” are added to the end of the reference numerals to distinguish each robot 10. is doing. In the following description, the same description will be made when a plurality of devices are distinguished.
  • the transfer chamber 50 is a so-called EFEM (Equipment Front End Module), and is a locally cleaned case that allows a clean downflow airflow to flow inside. Further, the transfer chamber 50 has, for example, a rectangular shape having a long side in the X-axis direction in the figure, and a cassette (not shown) for storing a substrate and a substrate processing chamber (not shown) are provided on the long side. Is provided. Note that a substrate processing chamber may also be provided on the short side (the side along the Y axis in the figure) or on the inner side of the short side.
  • EFEM Equipment Front End Module
  • the aligner device 51 is a device that detects and arranges the orientation of the substrate transported by the robot 10, and rotates the substrate placed by the robot 10 around the rotation axis. Then, the two robots 10 (first robot 10-1 and second robot 10-2) shown in FIG. 1 are respectively arranged at positions where the hand can access the aligner device 51.
  • the detailed configuration of the robot 10 will be described later with reference to FIGS.
  • “temporary teaching” of the robot 10 is performed using a robot simulation device or the like.
  • the “temporary teaching” is a coarse-accuracy teaching that is performed prior to “main teaching” described later.
  • the teaching data corresponding to “temporary teaching” will be referred to as “temporary teaching data”, and the teaching data corresponding to “main teaching” will be referred to as “main teaching data”, respectively.
  • the robot simulation apparatus displays an image reproducing the operation of the robot 10 on the display unit so that the robot 10 and the surrounding environment of the robot 10 can be visually recognized, and the robot 10 is based on the input operation of the operator.
  • generates the teaching data of this.
  • the robot 10 that has completed the “temporary teaching” is placed in the transfer chamber 50, and the operation of “main teaching” is performed to correct the temporary teaching data while operating the robot 10 in an actual operating environment.
  • the “main teaching” operation refers to an operation including a manual operation in which, for example, a precise jig is arranged and the robot 10 is taught with an accurate conveyance position by visual confirmation or the like. By performing the present teaching, the robot 10 can accurately perform actual operations, that is, work operations such as substrate transfer.
  • the size of the transfer chamber 50, the installation position and the installation direction of the robot 10 are generally different from the ideal environment in provisional teaching in an actual environment. This is because the actual environment deviates from the ideal environment due to the effects of manufacturing errors of the transfer chamber 50 and installation errors of the robot 10. Therefore, even if the hand reaches the target position of the aligner device 51 or the like accurately in the temporary teaching, in the actual environment, the hand arrival position is deviated from the target position.
  • the hand of the second robot 10-2 that has not completed the teaching is detected from the hand of the first robot 10-1 that has completed the teaching. Then, based on the detection result, the temporary teaching data of the second robot 10-2 for which the present teaching has not been completed is corrected. Furthermore, the provisional teaching data whose correction has been completed is handled as the present teaching data.
  • the hand of the second robot 10-2 is moved to the inspection position based on the temporary teaching (step S10).
  • the inspection position is a target position 51 ⁇ / b> C set on an extension line of the rotation center in the aligner device 51.
  • the hand of the second robot 10-2 is detected by the hand of the first robot 10-1 that has completed this teaching (step S20).
  • the teaching system 1 can detect a deviation in the X-axis direction, a deviation in the Y-axis direction, and a deviation in the Z-axis direction with respect to the target position 51C of the second robot 10-2.
  • an optical axis 200 of a sensor provided in the first robot 10-1 is shown for reference. Details of such a sensor will be described later with reference to FIG.
  • the teaching system 1 can also detect the deviation of the rotation angle around the X axis, the deviation of the rotation angle around the Y axis, and the deviation of the rotation angle around the Z axis of the second robot 10-2. Details of these detection procedures will be described later with reference to FIG. 5A and the like.
  • the teaching system 1 corrects the temporary teaching data of the second robot 10-2 based on the detection result in step S20 (step S30).
  • the corrected temporary teaching data is handled as the main teaching data.
  • the teaching operation is performed on the first robot 10 (the first robot 10-1 in FIG. 1). If this is done, the above temporary teaching correction procedure is automatically executed for the other robot 10 (second robot 10-2 in FIG. 1), and the main teaching of the other robot 10 is automatically completed. Can be made.
  • FIG. 1 shows the case where the aligner device 51 is arranged at a position accessible by both of the two robots 10 (the first robot 10-1 and the second robot 10-2)
  • the aligner device 51 is shown. May not actually be arranged. That is, it is sufficient to simply set the target position 51C shown in FIG. 1 as three-dimensional coordinates in advance. That is, a space (inspection space) to be used when the first robot 10-1 detects the hand of the second robot 10-2 may be secured, and a target position may be set in the space.
  • FIG. 2 is a perspective view of the robot 10.
  • the robot 10 includes a main body 10 a, a lifting shaft 10 b, a first arm 11, a second arm 12, and a hand 13.
  • the robot 10 provided with the one hand 13 is illustrated in FIG. 2, it is good also as providing the two or more hands 13 coaxially about 3rd axis
  • the robot 10 may include two or more sets of the first arm 11, the second arm 12, and one or more hands 13.
  • the main body 10a is fixed to the floor surface of the transfer chamber 50 (see FIG. 1) and incorporates an elevating mechanism (not shown) for elevating the elevating shaft 10b.
  • the elevating shaft 10b supports the base end portion of the first arm 11 so as to be pivotable about the first axis A1, and moves up and down along the first axis A1.
  • the lifting shaft 10b itself may be rotated around the first axis A1.
  • the first arm 11 supports the proximal end portion of the second arm 12 at the distal end portion so as to be rotatable around the second axis A2.
  • the second arm 12 supports the proximal end portion of the hand 13 at the distal end portion so as to be pivotable about the third axis A3.
  • the robot 10 is a three-link horizontal articulated robot including the first arm 11, the second arm 12 and the hand 13. Moreover, since the robot 10 has the lifting mechanism as described above, it can access an arbitrary position in the transfer chamber 50.
  • the intersection of the first axis A1 and the bottom surface of the main body 10a is referred to as an installation position A1B of the robot 10.
  • the detected displacement includes a displacement in the X-axis direction, the Y-axis direction, and the Z-axis direction.
  • a deviation angle from an ideal direction (for example, the Z axis) of the installation direction of the robot 10 (for example, the direction of the first axis A1) is detected.
  • the detected shift includes a shift around the X axis ( ⁇ X shown in FIG. 2), a shift around the Y axis (also ⁇ Y), and a shift around the Z axis (also ⁇ Z).
  • the robot 10 including two arms (the first arm 11 and the second arm 12) is illustrated, but the number of arms may be one or three or more.
  • FIG. 3 is a schematic top view of the hand 13.
  • the hand 13 includes a base portion 13a and a fork portion 13b.
  • the base end side of the base portion 13a is supported by the second arm 12 (see FIG. 2) so as to be rotatable around the third axis A3.
  • the fork portion 13b is provided on the distal end side of the base portion 13a, and the distal end side is divided into two forks.
  • one of the two branches is referred to as a first branch portion 13ba and the other is referred to as a second branch portion 13bb.
  • substrate 100 is provided in each front end side of 1st branch part 13ba and 2nd branch part 13bb.
  • the sensor 13c is, for example, an optical sensor, and one is a light projecting unit 13ca and the other is a light receiving unit 13cb.
  • the light receiving unit 13cb detects light emitted from the light projecting unit 13ca.
  • the sensor 13c detects whether or not the light is blocked by an obstacle.
  • the sensor 13c is a so-called mapping sensor, and is often already provided in the hand 13, so there is no need to install a new sensor. Therefore, the cost associated with the installation of a new sensor can be reduced.
  • the sensor 13c is sufficient if the hand 13 of the first robot 10-1 is provided when teaching the two robots 10. That is, the sensor 13c is not necessary for the hand 13 of the second robot 10-2.
  • the position corresponding to the center of the substrate 100 held by the hand 13 is a reference position 13 ⁇ / b> C of the hand 13.
  • a line connecting the third axis A3 and the reference position 13C is a hand center line 13CL indicating the direction of the hand 13.
  • the hand center line 13CL is sufficient if it indicates the direction of the hand 13.
  • a line connecting an arbitrary position on the hand 13 set in place of the third axis A3 and an arbitrary reference position 13C on the hand 13 may be set as the hand center line 13CL.
  • the hand 13 includes a gripping mechanism that grips the substrate 100.
  • the hand 13 may include a holding mechanism such as a suction mechanism instead of the gripping mechanism.
  • FIG. 4 is a block diagram of the teaching system 1.
  • the teaching system 1 includes two robots 10 and two controllers 20 each for controlling the operation of each robot 10. Note that the operation control of the two robots 10 may be performed by one controller 20.
  • the first robot 10-1 is connected to the first controller 20-1.
  • the second robot 10-2 is connected to the second controller 20-2.
  • the first controller 20-1 is connected to the second controller 20-2.
  • FIG. 4 for the sake of easy understanding, the minimum configuration in the control unit 21 of the first controller 20-1 and the second controller 20-2 and the minimum information stored in the storage unit 22 are shown. Each is shown. However, the controller 20 having the same configuration may be used as the first controller 20-1 and the second controller 20-2. This will be described later with reference to FIG.
  • the first controller 20-1 includes a control unit 21 and a storage unit 22.
  • the control unit 21 includes a detection instruction unit 21a, an operation control unit 21b, and an acquisition unit 21c.
  • the storage unit 22 stores the present teaching data 22a.
  • the first controller 20-1 is, for example, a computer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a HDD (Hard Disk Drive), an input / output port, and the like. Circuit.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the CPU of the computer functions as the detection instruction unit 21a, the operation control unit 21b, and the acquisition unit 21c, for example, by reading and executing a program stored in the ROM.
  • At least one or all of the detection instruction unit 21a, the operation control unit 21b, and the acquisition unit 21c of the control unit 21 are configured by hardware such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). You can also.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the storage unit 22 corresponds to, for example, a RAM or an HDD.
  • the RAM and HDD can store the teaching data 22a.
  • the first controller 20-1 may acquire the above-described program and various types of information via another computer or a portable recording medium connected via a wired or wireless network.
  • the control unit 21 controls the operation of the first robot 10-1 based on the teaching data 22a. Further, the control unit 21 causes the first robot 10-1 to perform an operation of detecting the hand 13 of the second robot 10-2 with the hand 13 of the first robot 10-1.
  • the detection instruction unit 21a instructs the operation control unit 21b to cause the first robot 10-1 to detect the hand 13 of the second robot 10-2.
  • the detection instruction unit 21a can detect the direction and position of the hand 13 of the second robot 10-2 without the hand 13 of the first robot 10-1 contacting the second robot 10-2. Instruct to move.
  • the operation control unit 21b operates the first robot 10-1 by instructing an actuator (not shown) corresponding to each axis in the first robot 10-1 based on the main teaching data 22a of the storage unit 22. . Further, the motion control unit 21b improves the motion accuracy of the first robot 10-1 by performing feedback control using an encoder value in the actuator.
  • the acquisition unit 21c acquires the position information of the hand 13 of the second robot 10-2 based on the output value of the sensor 13c (see FIG. 3) of the first robot 10-1. In addition, the acquisition unit 21c transmits the acquired position information to the second controller 20-2.
  • the main teaching data 22a is teaching data generated through the above-described main teaching operation.
  • the teaching data 22 a is information including a “job” that is a program that defines the operation of the robot 10 including the movement trajectory of the hand 13.
  • the configuration of the second controller 20-2 will be described.
  • the same components as those of the first controller 20-1 are denoted by the same reference numerals, and the description thereof will be omitted or only a brief description will be given.
  • the second controller 20-2 includes a control unit 21 and a storage unit 22.
  • the control unit 21 includes a correction unit 21d and an operation control unit 21b.
  • the storage unit 22 stores the main teaching data 22a and the temporary teaching data 22b.
  • the correction unit 21d corrects the temporary teaching data 22b based on the information received from the first controller 20-1. Then, the correction unit 21d stores the corrected temporary teaching data 22b in the storage unit 22 as the main teaching data 22a.
  • the correcting unit 21d detects the position and posture of the detected hand 13 and the ideal position and posture based on the position information of the hand 13 of the second robot 10-2 received from the first controller 20-1. The deviation from is calculated. Then, the correcting unit 21d generates the main teaching data 22a by correcting the temporary teaching data 22b so that the calculated deviation amount becomes zero.
  • the operation controller 21b of the second controller 20-2 uses the second robot 10- based on the temporary teaching data 22b. 2 is controlled.
  • the operation controller 21b of the second controller 20-2 controls the operation of the second robot 10-2 based on the main teaching data 22a after the main teaching data 22a is generated.
  • the hand 13 of the first robot 10-1 shown in FIG. 1 is called the first hand 13-1
  • the hand 13 of the second robot 10-2 is called the second hand 13-2. I will do it.
  • the position of the optical axis of the sensor 13c (see FIG. 3) in the first hand 13-1 is appropriately indicated as the optical axis 200.
  • FIGS. 5A to 9C it is assumed that the second hand 13-2 has been moved to the target position 51C shown in FIG. 1 based on the temporary teaching data 22b (see FIG. 4).
  • FIG. 5A is an explanatory diagram illustrating a procedure for detecting a shift in the Z-axis direction
  • FIG. 5B is an explanatory diagram illustrating a procedure for detecting a shift in the X-axis direction.
  • the optical axis 200 first overlaps the fork portion 13b (see FIG. 3) of the second hand 13-2 in the X-axis direction, and the first hand 13-1 Move to a position where the two hands 13-2 do not interfere (for example, see FIG. 5B). Then, as shown in FIG. 5A, the first hand 13-1 moves from this position in the direction 501 in the negative direction of the Z axis.
  • the Z coordinate of the second hand 13-2 can be detected. Specifically, when the first hand 13-1 moves in the direction 501, the second hand 13-2 exists in a range where the optical axis 200 is blocked by the second hand 13-2. Therefore, either the both ends of the range, the midpoint of the range, or the like can be used as the Z coordinate of the second hand 13-2.
  • the correction unit 21d (see FIG. 4) corrects the temporary teaching data 22b by using the deviation in the Z-axis direction thus calculated.
  • FIG. 5A shows a case where the first hand 13-1 moves from the positive side of the Z axis to the negative direction of the Z axis from the second hand 13-2.
  • the second hand 13-2 may move in the positive direction of the Z axis from the negative direction side of the Z axis.
  • the optical axis 200 first overlaps the fork portion 13b (see FIG. 3) of the second hand 13-2 in the X-axis direction and the Z-axis direction, and Y It moves to a position where it does not interfere with the second hand 13-2 in the axial direction. Then, as shown in FIG. 5B, the first hand 13-1 moves from this position in a direction 502 toward the negative direction of the X axis.
  • the X coordinate of the second hand 13-2 can be detected. Specifically, when the first hand 13-1 moves in the direction 502, the position where the optical axis 200 is changed from the state where it is blocked by the second hand 13-2 to the state where it is not blocked is the second hand. This is the tip of 13-2. Since the size of each part of the second hand 13-2 is known, the reference position 13C (see FIG. 3) of the second hand 13-2 can be obtained from the position of the tip.
  • the correction unit 21d (see FIG. 4) corrects the temporary teaching data 22b using the X-axis direction deviation calculated in this way.
  • FIG. 5B shows the case where the first hand 13-1 detects the first branch portion 13ba of the second hand 13-2
  • the second branch portion 13bb may be detected.
  • the position of the first hand 13-1 in the Z-axis direction may be determined based on the Z coordinate of the second hand 13-2 acquired by the procedure described with reference to FIG. 5A.
  • 5B shows the case where the first hand 13-1 moves in a direction away from the second hand 13-2, but may move in a direction approaching the second hand 13-2.
  • the position where the optical axis 200 is blocked for the first time by the second hand 13-2 is the position of the tip of the second hand 13-2.
  • FIGS. 6A and 6B are explanatory diagrams 1 and 2 showing a procedure for detecting a deviation in the Y-axis direction.
  • FIG. 6A when the reference position 13C of the second hand 13-2 is aligned with the target position 51C (see FIG. 1), that is, when there is no deviation from the reference position 13C, The outer shape 13A is indicated by a broken line for reference.
  • the first hand 13-1 first moves to a position where it does not interfere with the second hand 13-2 and the optical axis 200 is blocked by the second hand 13-2.
  • the first hand 13-1 takes a posture in which the angle formed by the hand center line 13CL of the first hand 13-1 and the X axis is an angle ⁇ . Then, the first hand 13-1 moves in the direction 503 along the hand center line 13CL shown in FIG.
  • the first hand 13-1 when the first hand 13-1 moves in the direction 503, the first hand 13-1 when the optical axis 200 changes from the state blocked by the second hand 13-2 to the state not blocked.
  • the upper point be a point 602.
  • a point corresponding to the outer shape 13A indicated by a broken line is a point 601.
  • a line passing through the point 602 and parallel to the optical axis 200 is defined as a line 602L
  • a line passing through the point 601 and parallel to the line 602L is defined as a line 601L.
  • a point 603 is an intersection of a line 601L passing through the point 602 and the line 601L, a right triangle having points 601, 602, and 603 as vertices can be obtained. it can.
  • the position of the point 601 is known because it can be obtained from the target position 51C and the size of each part of the second hand 13-2. If the distance between the point 602 and the point 603 is L1, L1 can be obtained from the detection result of the second hand 13-2 by the first hand 13-1. This is because L1 is the distance between the line 601L and the line 602L, and the position of the line 601L is known, and the position of the line 602L is also obtained from the detection result.
  • Y1 L1 / sin ⁇ ”.
  • the correction unit 21d (see FIG. 4) corrects the temporary teaching data 22b using the deviation in the Y-axis direction thus calculated.
  • FIG. 6A shows the case where the first hand 13-1 detects the first branch portion 13ba of the second hand 13-2, the second branch portion 13bb may be detected.
  • FIG. 6A shows the case where the first hand 13-1 moves away from the second hand 13-2. However, the first hand 13-1 moves closer to the second hand 13-2. It is good as well.
  • FIGS. 7A, 7B, and 7C are explanatory diagrams 1, 2, and 3 showing a procedure for detecting a shift around the X axis.
  • 7A to 7C show a case where the second hand 13-2 is inclined from the XY plane around a line parallel to the X axis.
  • the optical axis 200 overlaps the first branch portion 13ba of the second hand 13-2 in the X-axis direction, and the second hand 13 in the Y-axis direction.
  • -2 Move to a position where it does not interfere with -2.
  • the first hand 13-1 moves from this position in a direction 501 in the negative direction of the Z axis.
  • the Z coordinate of the predetermined point 701 in the first branch portion 13ba is detected in the same procedure as in FIG. 5A.
  • the first hand 13-1 detects the Z coordinate of the predetermined point 702 in the second branch portion 13bb of the second hand 13-2.
  • FIG. 7C shows the positional relationship between the point 701 and the point 702 when viewed from the positive direction of the X axis.
  • the distance Z1 between the point 701 and the point 702 in the Z direction is a difference between the Z coordinate of the point 701 and the Z coordinate of the point 702.
  • ⁇ X1 exceeds a predetermined threshold, a warning may be given using a display unit (not shown).
  • FIG. 7A and 7B show the case where the first hand 13-1 moves from the positive side of the Z axis to the negative direction of the Z axis with respect to the second hand 13-2. 13-1 may move in the positive direction of the Z axis from the negative direction side of the Z axis with respect to the second hand 13-2. Moreover, it is good also as performing the detection procedure of FIG. 7A after the detection procedure of FIG. 7B.
  • FIGS. 8A, 8B, and 8C are explanatory diagrams 1, 2, and 3 showing a procedure for detecting a shift around the Y axis.
  • 8A to 8C show a case where the second hand 13-2 is tilted from the XY plane around a line parallel to the Y axis.
  • the first hand 13-1 first has a position where the optical axis 200 overlaps the second hand 13-2 in the X-axis direction and does not interfere with the second hand 13-2 in the Y-axis direction. Move to. Then, as shown in FIG. 8A, the first hand 13-1 moves in the direction 501 from the position toward the negative direction of the Z axis.
  • the Z coordinate of the predetermined point 801 in the second hand 13-2 is detected in the same procedure as in FIG. 5A.
  • FIG. 8A a locus 801L in which the optical axis 200 moves along the Z axis is shown for reference.
  • the first hand 13-1 moves by X1 in the positive direction of the X axis as compared with the case shown in FIG. 8A.
  • the robot moves in the direction 501 from the position toward the negative direction of the Z axis.
  • the Z coordinate of the predetermined point 802 in the second hand 13-2 is detected as in the case of FIG. 8A.
  • FIG. 8B a locus 802L in which the optical axis 200 moves along the Z-axis and a locus 801L shown in FIG. 8A are shown for reference.
  • FIG. 8C shows the positional relationship between the point 801 and the point 802 when viewed from the negative direction of the Y-axis.
  • the distance Z2 between the point 801 and the point 802 in the Z direction is the difference between the Z coordinate of the point 801 and the Z coordinate of the point 802.
  • FIG. 8A and 8B show the case where the first hand 13-1 moves from the positive side of the Z axis to the negative direction of the Z axis from the second hand 13-2. 13-1 may move in the positive direction of the Z axis from the negative direction side of the Z axis with respect to the second hand 13-2. Moreover, it is good also as performing the detection procedure of FIG. 8A after the detection procedure of FIG. 8B.
  • FIGS. 9A, 9B, and 9C are explanatory diagrams 1, 2, and 3 showing a procedure for detecting a shift around the Z axis.
  • FIGS. 9A to 9C show a case where the second hand 13-2, which should originally be parallel to the X axis and the hand center line 13CL, is rotationally displaced by ⁇ Z1 around the Z axis.
  • the optical axis 200 overlaps the first branch portion 13ba of the second hand 13-2 in the X-axis direction, and the second hand 13 in the Y-axis direction.
  • -2 Move to a position where it does not interfere with -2.
  • the first hand 13-1 moves from this position in the direction 502 toward the negative direction of the X axis.
  • the X coordinate of the point 901 at the tip of the first branch portion 13ba is detected in the same procedure as in FIG. 5B.
  • the first hand 13-1 detects the X coordinate of the point 902 at the tip of the second branch portion 13bb of the second hand 13-2.
  • FIG. 9C shows the positional relationship between the point 901 and the point 902 when viewed from the positive direction of the Z-axis.
  • the distance X2 between the point 901 and the point 902 in the X direction is the difference between the X coordinate of the point 901 and the X coordinate of the point 902.
  • the distance L3 between the point 901 and the point 902 is known because it can be obtained from the size of each part of the second hand 13-2. *
  • ⁇ Z1 arcsin (X2 / L3)”.
  • the correction unit 21d (see FIG. 4) corrects the temporary teaching data 22b using the deviation around the Z axis calculated in this way.
  • FIG. 10 is a block diagram illustrating a modified example of the controller 20.
  • FIG. 10 shows a case where one controller 20 controls the operation of one robot 10, but one controller 20 may control the operation of two or more robots 10. .
  • controllers 20 having different numbers of robots 10 that perform operation control may be mixed.
  • the same reference numerals are given to the same components as those of the first controller 20-1 and the second controller 20-2 shown in FIG. 4, and the description will be omitted or only a brief description will be given.
  • the nth controller 20-n is connected to the nth robot 10-n.
  • the nth controller 20-n is connected to the n ⁇ 1th controller and the n + 1th controller, respectively.
  • the configurations of the (n ⁇ 1) th controller and the (n + 1) th controller are the same as those of the nth controller 20-n.
  • the control unit 21 includes a correction unit 21d, a detection instruction unit 21a, an operation control unit 21b, and an acquisition unit 21c.
  • the storage unit 22 stores temporary teaching data 22b and main teaching data 22a.
  • the correction unit 21d generates the main teaching data 22a by correcting the temporary teaching data 22b based on the position information received from the acquisition unit 21c of the (n-1) th controller.
  • the operation controller 21b of the n-th controller 20-n controls the operation of the n-th robot 10-n based on the temporary teaching data 22b (see FIG. 10). (See the dashed arrow shown). That is, the operation control unit 21b operates the n-th robot 10-n as the second robot 10-2 illustrated in FIG.
  • the operation control unit 21b of the nth controller 20-n controls the operation of the nth robot 10-n based on the present teaching data 22a. That is, the n-th robot 10-n is operated as the first robot 10-1 shown in FIG.
  • the n-th robot 10-n includes the sensor 13c (see FIG. 3), similarly to the first robot 10-1 shown in FIG. Of the n robots 10, the sensor 13 c may be omitted for the robot 10 that finally receives the temporary teaching data 22 b.
  • FIG. 11A is an explanatory diagram showing a procedure for teaching n robots 10
  • FIG. 11B is an explanatory diagram showing a procedure for teaching robots 10 installed in a plurality of transfer chambers 50.
  • n robots (n is an integer of 2 or more) are taught one after another, even if the first robot 10-1 completes the operation of this teaching, other robots For 10 the work of this teaching is not necessary.
  • an aligner device 51-1 that can be accessed by both the n-1th robot 10- (n-1) and the nth robot 10-n is provided.
  • the aligner device 51- (n-1) may not actually be arranged.
  • the target position 51C shown in FIG. 1 is simply determined in advance as three-dimensional coordinates. That is, a space (inspection space) to be used when the n-1th robot 10- (n-1) detects the hand 13 of the nth robot 10-n is secured, and the target position 51C is determined in this space. Just keep it. Therefore, in the following description, “inspection space 50” is used instead of “aligner device 50”.
  • the first robot 10-1 that has completed the work of the present teaching detects the hand 13 of the second robot 10-2 in the inspection space 51-1, thereby completing the present teaching of the second robot 10-2.
  • the second robot 10-2 detects the hand 13 of the third robot 10-3 in the inspection space 51-2, thereby completing the present teaching of the third robot 10-3.
  • each robot 10 shown in FIG. 11A may be installed in a different transfer chamber 50.
  • the first transfer chamber 50-1 and the second transfer chamber 50-2 are illustrated as being separated from each other, but in actuality, they are installed so as to be in contact with each other.
  • the first robot 10-1 and the second robot 10-2 are installed in the first transfer chamber 50-1, and the third robot 10 is installed in the second transfer chamber 50-2. -3 and the fourth robot 10-4 are installed.
  • an inspection space 51-1 is set in the first transfer chamber 50-1
  • an inspection space 51-3 is set in the second transfer chamber 50-2.
  • the inspection space 51-2 is set so as to extend over the first transfer chamber 50-1 and the second transfer chamber 50-2.
  • the inspection space 51-4 is also set so as to extend over the second transfer chamber 50-2 and the third transfer chamber 50-3.
  • the first robot 10-1 that has completed the teaching operation detects the hand 13 of the second robot 10-2 in the inspection space 51-1, thereby completing the teaching of the second robot 10-2.
  • the second robot 10-2 having completed the present teaching detects the hand 13 of the third robot 10-3 in the inspection space 51-2, thereby completing the present teaching of the third robot 10-3.
  • the third robot 10-3 that has completed the teaching detects the hand 13 of the fourth robot 10-4 in the inspection space 51-3, thereby completing the present teaching of the fourth robot 10-4. Thereafter, by repeating the same procedure, the teaching of all the robots 10 can be completed regardless of the number of transfer chambers 50.
  • the robot 10-2 in the first transfer chamber 50-1 detects the hand 13 of the robot 10-3 in the second transfer chamber 50-2 in the inspection space 51-2. It is possible to detect a relative installation direction or a deviation of the installation position between the 50-1 and the second transfer chamber 50-2.
  • FIG. 12 is a flowchart showing a teaching procedure executed by the teaching system 1.
  • the teaching system 1 moves the hand 13 of the second robot 10-2 to the examination space 51 (step S101). Subsequently, the teaching system 1 detects the hand 13 of the second robot 10-2 with the hand 13 of the first robot 10-1 (step S102).
  • the correction unit 21d (see FIG. 4) of the teaching system 1 corrects the temporary teaching data 22b (see FIG. 4) of the second robot 10-2 based on the detection result of step S102 (step S103).
  • the teaching data 22a is generated and the process is terminated.
  • FIG. 13 is a flowchart showing a teaching procedure executed by the teaching system 1 including n robots 10.
  • the contents described in FIG. 12 will be described in a simplified manner.
  • the teaching system 1 detects the hand 13 of the second robot 10-2 with the hand 13 of the first robot 10-1 (step S201). Subsequently, the correction unit 21d (see FIG. 10) of the teaching system 1 corrects the temporary teaching data 22b (see FIG. 10) of the second robot 10-2 based on the detection result of step S201 (step S202). 2 Complete the teaching of the robot 10-2.
  • the teaching system 1 determines whether or not there is a robot 10 whose tentative teaching data 22b has not been corrected (step S203). If there is no uncorrected robot 10 (No in step S203), the processing is terminated. To do. On the other hand, when there is an uncorrected robot 10 (step S203, Yes), the corrected second robot 10-2 is regarded as the first robot 10-1 (step S204). Further, the uncorrected robot 10 (the robot 10 to be corrected next) is regarded as the second robot 10-2 (step S205), and the processes after step S201 are repeated.
  • the teaching system 1 includes the first robot 10-1, the second robot 10-2, and the correction unit 21d.
  • the first robot 10-1 has the present teaching corresponding to the actual operation, and has the first hand 13-1.
  • the second robot 10-2 has completed the temporary teaching, which is coarser than the present teaching, and has the second hand 13-2.
  • the correcting unit 21d Based on the detection result of the second hand 13-2 moved to the predetermined inspection position 51C according to the temporary teaching by the first hand 13-1, the correcting unit 21d performs the teaching data 22b of the temporary teaching of the second robot 10-2. Correct.
  • the main teaching of the second robot 10-2 can be completed without performing the main teaching operation including the manual operation on the second robot 10-2. Therefore, it is possible to efficiently teach a plurality of robots 10 with a simple configuration.
  • the temporary teaching data 22b of the second robot 10-2 is corrected based on the detection result of the hand 13 of the second robot 10-2 by the first robot 10-1 has been described.
  • a warning may be issued by displaying the detection result on a display unit such as a display.
  • Such a warning is effective when the robot 10 once this teaching is completed causes a positional deviation or an orientation deviation due to secular change.
  • the teaching operation is performed again for the first robot 10-1 using a precisely arranged jig or the like, and the second robot 10-2 is shown in FIG. What is necessary is just to perform the procedure similar to a procedure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Numerical Control (AREA)

Abstract

教示システムは、第1ロボットと、第2ロボットと、補正部とを備える。第1ロボットは、実際の動作に対応する本教示が完了しており、第1ハンドを有する。第2ロボットは、本教示よりも精度が粗い仮教示が完了しており、第2ハンドを有する。補正部は、仮教示に従って所定の被検査位置に移動した第2ハンドを第1ハンドで検出した結果に基づき、第2ロボットの仮教示の教示データを補正する。また、第1ロボットおよび第2ロボットは、昇降機構を有する水平多関節ロボットである。

Description

教示システム、教示方法およびロボット
 開示の実施形態は、教示システム、教示方法およびロボットに関する。
 従来、基板搬送ロボットなどのロボットを教示する際に、シミュレーションプログラムなどを用いた仮想環境で仮教示が完了したロボットを実環境に設置したうえで、仮教示の内容を補正して実環境に適合させる本教示を行うことが知られている。
 また、基板の向きを検知して整えるアライナ装置を介して2台のロボットが基板を受け渡すロボットシステムも知られている。
 かかるロボットシステムでは、一方のロボットが基板をアライナ装置に載置すると、アライナ装置が検出した基板の位置や向きのずれに基づいて他方のロボットがアライナ装置にアクセスする際の教示データを補正する(たとえば、特許文献1参照)。
特開2013-168579号公報
 しかしながら、上記した従来技術は、アライナ装置によって検出された基板の位置や向きのずれについての情報を必須としており、仮に、これらの情報を取得できない場合には、教示データの補正を行うことはできない。
 実施形態の一態様は、簡易な構成で複数のロボットを効率的に教示することができる教示システム、教示方法およびロボットを提供することを目的とする。
 実施形態の一態様に係る教示システムは、第1ロボットと、第2ロボットと、補正部とを備える。第1ロボットは、実際の動作に対応する本教示が完了しており、第1ハンドを有する。第2ロボットは、前記本教示よりも精度が粗い仮教示が完了しており、第2ハンドを有する。補正部は、前記仮教示に従って所定の被検査位置に移動した前記第2ハンドを前記第1ハンドで検出した結果に基づき、前記第2ロボットの前記仮教示の教示データを補正する。
 実施形態の一態様によれば、簡易な構成で複数のロボットを効率的に教示することが可能となる教示システム、教示方法およびロボットを提供することができる。
図1は、教示システムの概要を示す上面模式図である。 図2は、ロボットの斜視図である。 図3は、ハンドの上面模式図である。 図4は、教示システムのブロック図である。 図5Aは、Z軸方向のずれを検出する手順を示す説明図である。 図5Bは、X軸方向のずれを検出する手順を示す説明図である。 図6Aは、Y軸方向のずれを検出する手順を示す説明図その1である。 図6Bは、Y軸方向のずれを検出する手順を示す説明図その2である。 図7Aは、X軸まわりのずれを検出する手順を示す説明図その1である。 図7Bは、X軸まわりのずれを検出する手順を示す説明図その2である。 図7Cは、X軸まわりのずれを検出する手順を示す説明図その3である。 図8Aは、Y軸まわりのずれを検出する手順を示す説明図その1である。 図8Bは、Y軸まわりのずれを検出する手順を示す説明図その2である。 図8Cは、Y軸まわりのずれを検出する手順を示す説明図その3である。 図9Aは、Z軸まわりのずれを検出する手順を示す説明図その1である。 図9Bは、Z軸まわりのずれを検出する手順を示す説明図その2である。 図9Cは、Z軸まわりのずれを検出する手順を示す説明図その3である。 図10は、コントローラの変形例を示すブロック図である。 図11Aは、n台のロボットを教示する手順を示す説明図である。 図11Bは、複数の搬送室に設置されたロボットを教示する手順を示す説明図である。 図12は、教示システムが実行する教示手順を示すフローチャートである。 図13は、n台のロボットを含む教示システムが実行する教示手順を示すフローチャートである。
 以下、添付図面を参照して、本願の開示する教示システム、教示方法およびロボットを詳細に説明する。なお、以下では、半導体基板などの基板を搬送するいわゆる水平多関節ロボットの教示を行う場合について説明するが、いわゆるシリアルリンクロボットなどの他の種類のロボットの教示にも本手法を広く適用することができる。また、以下に示す実施形態によりこの発明が限定されるものではない。
 また、以下に示す実施形態では、「平行」や、「垂直」、「中心」といった表現を用いる場合があるが、厳密にこれらの状態を満たすことを要しない。すなわち、上記した各表現は、製造精度、設置精度、処理精度、検出精度などのずれを許容するものとする。
 まず、実施形態に係る教示システム1の概要について図1を用いて説明する。図1は、教示システム1の概要を示す上面模式図である。なお、図1には、説明をわかりやすくするために、鉛直上向きを正方向とするZ軸、搬送室50の長辺に沿った向きをX軸、搬送室50の短辺に沿った向きをY軸とする3次元の直交座標系を示している。かかる直交座標系は、以下の説明で用いる他の図面においても示す場合がある。
 図1に示すように、教示システム1は、搬送室50と、アライナ装置51と、ロボット10とを備える。なお、図1には、2台のロボット10を設置する場合を例示しており、それぞれのロボット10を区別するために、符号の末尾に「-1」、「-2」といった文字列を付記している。なお、以下の説明においても、複数の装置を区別する場合には、同様の記載を行うこととする。
 搬送室50は、いわゆるEFEM(Equipment Front End Module)であり、清浄なダウンフローの気流を内部に流す局所クリーン化された筐体である。また、搬送室50は、たとえば、同図のX軸方向を長辺とする矩形状であり、かかる長辺には、基板を格納するカセット(図示せず)や、基板の処理室(図示せず)が設けられる。なお、短辺(同図のY軸に沿う辺)や、短辺の内側にも、基板の処理室が設けられる場合もある。
 アライナ装置51は、ロボット10によって搬送される基板の向きを検知して整える装置であり、ロボット10によって載置された基板を回転軸まわりに回転させる。そして、図1に示す2台のロボット10(第1ロボット10-1および第2ロボット10-2)は、アライナ装置51に対してハンドがアクセス可能な位置にそれぞれ配置される。なお、ロボット10の詳細な構成については、図2および図3を用いて後述する。
 ここで、ロボット10に対してアライナ装置51などの位置を教示する場合、まずは、ロボットシミュレーション装置などを用いてロボット10の「仮教示」が行われる。「仮教示」とは、後述する「本教示」に先立って行われる粗い精度の教示である。なお、以下では、「仮教示」に対応する教示データを「仮教示データ」と、「本教示」に対応する教示データを「本教示データ」と、それぞれ呼ぶこととする。
 また、ロボットシミュレーション装置とは、ロボット10の動作を再現した画像を表示部に表示させることで、ロボット10とロボット10の周囲環境とを視認可能としつつ、作業者の入力操作に基づいてロボット10の教示データを生成する装置のことを指す。
 かかる「仮教示」が完了すると、「仮教示」が完了したロボット10を搬送室50に設置し、実際の動作環境でロボット10を動作させつつ、仮教示データを補正する「本教示」の作業が行われる。ここで、「本教示」の作業とは、たとえば、精密な治具を配置し、目視確認などによってロボット10に正確な搬送位置などを教示する手作業を含んだ作業のことを指す。かかる本教示を行うことで、ロボット10は、実際の動作、すなわち、基板の搬送などの作業動作を正確に行うことができる。
 しかしながら、搬送室50の大きさ、ロボット10の設置位置や設置向きは、実際の環境では、仮教示における理想的な環境とは異なることが一般的である。実際の環境は、搬送室50の製造誤差や、ロボット10の設置誤差の影響のため、理想的な環境からのずれがあるからである。したがって、仮教示ではアライナ装置51などの目的位置に正確にハンドが到達するようにしていたとしても、実際の環境では、ハンドの到達位置が目的位置からずれてしまう。
 このため、従来は、それぞれのロボット10に対して上記した本教示の作業を行う必要があり、教示作業に関する作業負荷が高いという問題があった。たとえば、図1のように2台のロボット10がある場合、従来は、ロボット10-1に対して仮教示および本教示を行うとともに、ロボット10-2に対しても仮教示および本教示を行っていた。
 そこで、実施形態に係る教示システム1では、本教示が完了した第1ロボット10-1のハンドで、本教示が完了していない第2ロボット10-2のハンドを検出することとした。そして、検出結果に基づいて本教示が完了していない第2ロボット10-2の仮教示データを補正することとした。さらに、補正が完了した仮教示データを本教示データとして取り扱うこととした。
 具体的には、図1に示すように、第2ロボット10-2のハンドを仮教示に基づいて被検査位置へ移動する(ステップS10)。たとえば、被検査位置とは、アライナ装置51における回転中心の延長線上に設定される目標位置51Cである。
 次に、本教示が完了した第1ロボット10-1のハンドで第2ロボット10-2のハンドを検出する(ステップS20)。たとえば、教示システム1は、第2ロボット10-2の目標位置51Cに対するX軸方向のずれ、Y軸方向のずれおよびZ軸方向のずれを検出することができる。なお、図1には、第1ロボット10-1に設けられるセンサの光軸200を参考のため示している。かかるセンサの詳細については図3を用いて後述する。
 また、教示システム1は、第2ロボット10-2のX軸まわりの回転角のずれ、Y軸まわりの回転角のずれおよびZ軸まわりの回転角のずれについても検出することができる。なお、これらの検出手順の詳細については、図5A等を用いて後述することとする。
 つづいて、教示システム1では、ステップS20における検出結果に基づいて第2ロボット10-2の仮教示データを補正する(ステップS30)。そして、補正後の仮教示データを本教示データとして取り扱う。
 このように、教示システム1では、2台以上のロボット10がある場合であっても、最初の1台のロボット10(図1では、第1ロボット10-1)に対して本教示の作業を行えば、その他のロボット10(図1では、第2ロボット10-2)に対しては、上記した仮教示の補正手順が自動的に実行され、その他のロボット10の本教示を自動的に完了させることができる。
 すなわち、教示システム1では、その他のロボット10に対して本教示に関する手作業を行う必要がない。したがって、教示システム1によれば、簡易な構成で複数のロボット10を効率的に教示することができる。
 なお、図1では、アライナ装置51を、2台のロボット10(第1ロボット10-1および第2ロボット10-2)の双方がアクセス可能な位置に配置する場合を示したが、アライナ装置51を実際には配置しなくてもよい。すなわち、図1に示した目標位置51Cを、単に3次元の座標として予め定めておけば足りる。つまり、第1ロボット10-1が第2ロボット10-2のハンドを検知する際に使用する空間(検査空間)を確保し、かかる空間内に目標位置を定めておけばよい。
 次に、ロボット10の構成について図2を用いて説明する。図2は、ロボット10の斜視図である。同図に示すように、ロボット10は、本体部10aと、昇降軸10bと、第1アーム11と、第2アーム12と、ハンド13とを備える。なお、図2には、1つのハンド13を備えるロボット10を例示しているが、第3軸A3について同軸に2つ以上のハンド13を設けることとしてもよい。また、ロボット10が、第1アーム11、第2アーム12および1つまたは複数のハンド13を2組以上備えることとしてもよい。
 本体部10aは、搬送室50(図1参照)の床面等に固定され、昇降軸10bを昇降させる昇降機構(図示せず)を内蔵する。昇降軸10bは、第1アーム11の基端部を第1軸A1まわりに旋回可能に支持するとともに、第1軸A1に沿って昇降する。なお、昇降軸10b自体を第1軸A1まわりに回転させることとしてもよい。
 第1アーム11は、第2アーム12の基端部を第2軸A2まわりに旋回可能に先端部で支持する。第2アーム12は、ハンド13の基端部を第3軸A3まわりに旋回可能に先端部で支持する。
 このように、ロボット10は、第1アーム11、第2アーム12およびハンド13の3リンクの水平多関節ロボットである。また、ロボット10は、上記したように、昇降機構を有しているので、搬送室50内の任意の位置にアクセスすることができる。
 また、図2に示すように、たとえば、第1軸A1と、本体部10aの底面との交点を、ロボット10の設置位置A1Bと呼ぶこととする。図1に示した教示システム1では、設置位置A1Bの理想的な位置からのずれを検出する。検出されるずれとしては、X軸方向、Y軸方向およびZ軸方向のずれがある。
 また、図1に示した教示システム1では、ロボット10の設置向き(たとえば、第1軸A1の向き)の理想的な向き(たとえば、Z軸)からのずれ角を検出する。検出されるずれとしては、X軸まわりのずれ(図2に示すθX)、Y軸まわりのずれ(同じくθY)およびZ軸まわりのずれ(同じくθZ)がある。
 なお、図2では、2つのアーム(第1アーム11および第2アーム12)を備えたロボット10を例示したが、アームの個数は1つでもよく、3つ以上であってもよい。
 次に、図2に示したハンド13について図3を用いてさらに詳細に説明する。図3は、ハンド13の上面模式図である。
 図3に示すように、ハンド13は、基部13aと、フォーク部13bとを備える。基部13aの基端側は、第3軸A3まわりに旋回可能に第2アーム12(図2参照)によって支持される。フォーク部13bは、基部13aの先端側に設けられ、先端側が二股にわかれている。以下では、かかる二股にわかれた一方を第1枝部13ba、他方を第2枝部13bbと記載する。
 そして、第1枝部13baおよび第2枝部13bbの各先端側には、基板100の収納状態の検査に用いられるセンサ13cが設けられる。ここで、センサ13cは、たとえば、光学センサであり、一方が投光部13ca、他方が受光部13cbである。受光部13cbは、投光部13caが発した光を検出する。センサ13cは、かかる光が障害物によって遮られるか否かを検知する。
 なお、センサ13cは、いわゆるマッピングセンサであり、ハンド13に既に設けられている場合も多いことから、新たなセンサを設置する必要がない。したがって、新たなセンサの設置に伴うコストを削減することができる。
 また、かかるセンサ13cは、図1に示したように、2台のロボット10の教示を行う場合には、第1ロボット10-1のハンド13が備えていれば足りる。すなわち、第2ロボット10-2のハンド13には、センサ13cは不要である。
 また、図3に示すように、ハンド13によって保持される基板100の中心に対応する位置は、ハンド13の基準位置13Cである。そして、たとえば、第3軸A3と基準位置13Cとを結ぶ線が、ハンド13の向きを示すハンド中心線13CLである。
 なお、ハンド中心線13CLは、ハンド13の向きを示すものであれば足りる。たとえば、第3軸A3のかわりに設定されるハンド13上の任意の位置と、ハンド13上の任意の基準位置13Cとを結ぶ線をハンド中心線13CLとすることとしてもよい。ここで、ハンド13は、基板100を把持する把持機構を備えるものとする。また、ハンド13は、把持機構のかわりに吸着機構などの保持機構を備えることとしてもよい。
 次に、教示システム1の構成について図4を用いて説明する。図4は、教示システム1のブロック図である。なお、同図には、図1に示したように、教示システム1が、2台のロボット10と、各ロボット10の動作制御をそれぞれ行う2台のコントローラ20とを備える場合を示している。なお、1台のコントローラ20で、2台のロボット10の動作制御を行うこととしてもよい。
 図4に示すように、第1ロボット10-1は、第1コントローラ20-1に接続されている。また、第2ロボット10-2は、第2コントローラ20-2に接続されている。また、第1コントローラ20-1は、第2コントローラ20-2に接続されている。
 なお、図4では、説明をわかりやすくするために、第1コントローラ20-1および第2コントローラ20-2の制御部21内の最小限の構成、記憶部22に記憶される最小限の情報をそれぞれ示している。しかし、第1コントローラ20-1および第2コントローラ20-2として同一の構成のコントローラ20を用いることとしてもよい。この点については、図10を用いて後述する。
 まず、第1コントローラ20-1の構成について説明する。図4に示すように、第1コントローラ20-1は、制御部21と、記憶部22とを備える。制御部21は、検出指示部21aと、動作制御部21bと、取得部21cとを備える。また、記憶部22は、本教示データ22aを記憶する。
 ここで、第1コントローラ20-1は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力ポートなどを有するコンピュータや各種の回路を含む。
 コンピュータのCPUは、たとえば、ROMに記憶されたプログラムを読み出して実行することによって、検出指示部21a、動作制御部21bおよび取得部21cとして機能する。
 また、制御部21の検出指示部21a、動作制御部21bおよび取得部21cの少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
 また、記憶部22は、たとえば、RAMやHDDに対応する。RAMやHDDは、本教示データ22aを記憶することができる。なお、第1コントローラ20-1は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
 制御部21は、本教示データ22aに基づいて第1ロボット10-1の動作制御を行う。また、制御部21は、第1ロボット10-1のハンド13で、第2ロボット10-2のハンド13を検出する動作を、第1ロボット10-1に行わせる。
 検出指示部21aは、第1ロボット10-1に、第2ロボット10-2のハンド13を検出させる指示を、動作制御部21bに対して行う。たとえば、検出指示部21aは、第1ロボット10-1のハンド13が、第2ロボット10-2に接触せず、かつ、第2ロボット10-2のハンド13の向きや位置を検出可能な範囲で移動するように指示する。
 動作制御部21bは、記憶部22の本教示データ22aに基づいて第1ロボット10-1における各軸に対応するアクチュエータ(図示せず)に指示することで、第1ロボット10-1を動作させる。また、動作制御部21bは、アクチュエータにおけるエンコーダ値を用いてフィードバック制御を行うなどして第1ロボット10-1の動作精度を向上させる。
 取得部21cは、第1ロボット10-1のセンサ13c(図3参照)の出力値に基づき、第2ロボット10-2のハンド13の位置情報を取得する。また、取得部21cは、取得した位置情報を第2コントローラ20-2へ送信する。
 本教示データ22aは、上記した本教示の作業を経て生成された教示データである。なお、本教示データ22aは、ハンド13の移動軌跡をはじめとするロボット10の動作を規定するプログラムである「ジョブ」を含んだ情報である。
 次に、第2コントローラ20-2の構成について説明する。なお、第1コントローラ20-1と同様の構成には同一の符号を付し、説明を省略するか簡単な説明にとどめることとする。
 図4に示すように、第2コントローラ20-2は、制御部21と、記憶部22とを備える。制御部21は、補正部21dと、動作制御部21bとを備える。また、記憶部22は、本教示データ22aと、仮教示データ22bとを記憶する。
 補正部21dは、第1コントローラ20-1から受け取った情報に基づき、仮教示データ22bを補正する。そして、補正部21dは、補正後の仮教示データ22bを、本教示データ22aとして記憶部22に記憶させる。
 具体的には、補正部21dは、第1コントローラ20-1から受け取った第2ロボット10-2のハンド13の位置情報に基づき、検出したハンド13の位置および姿勢と、理想的な位置および姿勢とのずれを算出する。そして、補正部21dは、算出したずれ量が0となるように、仮教示データ22bを補正することで、本教示データ22aを生成する。
 なお、第2コントローラ20-2の動作制御部21bは、第1ロボット10-1が第2ロボット10-2のハンド13を検出する際には、仮教示データ22bに基づいて第2ロボット10-2の動作制御を行う。また、第2コントローラ20-2の動作制御部21bは、本教示データ22aが生成された後には、本教示データ22aに基づいて第2ロボット10-2の動作制御を行う。
 次に、具体的な検出手順について、図5A~図9Cを用いて説明する。なお、以下の説明では、図1に示した第1ロボット10-1のハンド13を第1ハンド13-1と、第2ロボット10-2のハンド13を第2ハンド13-2と、それぞれ呼ぶこととする。
 また、図5A~図9Cでは、第1ハンド13-1におけるセンサ13c(図3参照)の光軸の位置を、光軸200として適宜示すこととする。また、図5A~図9Cでは、第2ハンド13-2が、仮教示データ22b(図4参照)に基づき、図1に示した目標位置51Cへ移動済みの状態を示すこととする。
 図5Aは、Z軸方向のずれを検出する手順を示す説明図であり、図5Bは、X軸方向のずれを検出する手順を示す説明図である。
 まず、Z軸方向のずれを検出する手順について説明する。図5Aに示すように、第1ハンド13-1は、まず、X軸方向について光軸200が第2ハンド13-2のフォーク部13b(図3参照)に重なり、かつ、Y軸方向について第2ハンド13-2と干渉しない位置(たとえば、図5B参照)へ移動する。そして、図5Aに示すように、第1ハンド13-1は、かかる位置からZ軸の負方向へ向かう向き501へ移動する。
 かかる動作によって、第2ハンド13-2のZ座標を検出することができる。具体的には、第1ハンド13-1が向き501へ移動する際に、光軸200が第2ハンド13-2によって遮られる範囲に第2ハンド13-2が存在していることになる。したがって、かかる範囲の両端のいずれかや、かかる範囲の中点などを、第2ハンド13-2のZ座標とすることができる。
 そして、第2ハンド13-2のZ座標と、目標位置51CのZ座標との差分が、第2ハンド13-2のZ軸方向のずれとなる。上記した補正部21d(図4参照)は、このようにして算出したZ軸方向のずれを用いて仮教示データ22bを補正することになる。
 なお、図5Aでは、第1ハンド13-1が、第2ハンド13-2よりもZ軸の正方向側から、Z軸の負方向へ移動する場合を示したが、第1ハンド13-1が、第2ハンド13-2よりもZ軸の負方向側から、Z軸の正方向へ移動するようにしてもよい。
 次に、X軸方向のずれを検出する手順について説明する。図5Bに示すように、第1ハンド13-1は、まず、X軸方向およびZ軸方向について光軸200が第2ハンド13-2のフォーク部13b(図3参照)に重なり、かつ、Y軸方向について第2ハンド13-2と干渉しない位置へ移動する。そして、図5Bに示すように、第1ハンド13-1は、かかる位置からX軸の負方向へ向かう向き502へ移動する。
 かかる動作によって、第2ハンド13-2のX座標を検出することができる。具体的には、第1ハンド13-1が向き502へ移動する際に、光軸200が第2ハンド13-2によって遮られた状態から、遮られない状態へ変化した位置が、第2ハンド13-2の先端の位置となる。第2ハンド13-2の各部のサイズは既知であるので、かかる先端の位置から、第2ハンド13-2の基準位置13C(図3参照)を求めることができる。
 そして、第2ハンド13-2における基準位置13CのX座標と、目標位置51CのX座標との差分が、第2ハンド13-2のX軸方向のずれとなる。上記した補正部21d(図4参照)は、このようにして算出したX軸方向のずれを用いて仮教示データ22bを補正することになる。
 なお、図5Bでは、第1ハンド13-1が第2ハンド13-2の第1枝部13baを検出する場合を示したが、第2枝部13bbを検出することとしてもよい。また、第1ハンド13-1のZ軸方向の位置については、図5Aを用いて説明した手順で取得した第2ハンド13-2のZ座標に基づいて決定することとしてもよい。
 また、図5Bでは、第1ハンド13-1が第2ハンド13-2から遠ざかる向きに移動する場合を示したが、第2ハンド13-2に近づく向きに移動することとしてもよい。なお、この場合、光軸200が第2ハンド13-2によってはじめて遮られた位置が、第2ハンド13-2の先端の位置となる。
 次に、Y軸方向のずれを検出する手順について図6Aおよび図6Bを用いて説明する。図6Aおよび図6Bは、Y軸方向のずれを検出する手順を示す説明図その1およびその2である。なお、図6Aには、目標位置51C(図1参照)に、第2ハンド13-2の基準位置13Cをあわせた場合、すなわち、基準位置13Cに対するずれがない場合の第2ハンド13-2の外形13Aを参考のため、破線で示している。
 図6Aに示すように、第1ハンド13-1は、まず、第2ハンド13-2に干渉せず、かつ、光軸200が第2ハンド13-2によって遮られる位置へ移動する。ここで、第1ハンド13-1は、第1ハンド13-1のハンド中心線13CLと、X軸とのなす角度が角度αとなる姿勢をとる。そして、第1ハンド13-1は、角度αを保ったまま、同図に示すハンド中心線13CLに沿った向き503へ移動する。
 ここで、第1ハンド13-1が向き503へ移動する際に、光軸200が第2ハンド13-2によって遮られた状態から、遮られない状態へ変化した場合の第1ハンド13-1上の点を点602とする。また、破線で示した外形13Aの対応する点を点601とする。また、点602を通り光軸200と平行な線を線602Lとし、点601を通り線602Lと平行な線を線601Lとする。
 また、図6Bに示すように、点602を通り線601Lと垂直な線と、線601Lとの交点を点603とすると、点601、点602および点603を頂点とする直角三角形を得ることができる。
 ここで、点601の位置は、目標位置51Cおよび第2ハンド13-2の各部のサイズから求めることができるので、既知である。また、点602と点603との距離をL1とすると、L1は、第1ハンド13-1による第2ハンド13-2の検知結果から得ることができる。これは、L1は、線601Lと線602Lとの距離ともいえ、線601Lの位置が既知であり、線602Lの位置も検知結果から得られるためである。
 また、角度αについても既知であるので、点601と点602との距離、すなわち、Y軸方向のずれをY1とすると、「Y1=L1/sinα」なる計算式で、Y1を求めることができる。上記した補正部21d(図4参照)は、このようにして算出したY軸方向のずれを用いて仮教示データ22bを補正することになる。
 なお、図6Aでは、第1ハンド13-1が第2ハンド13-2の第1枝部13baを検出する場合を示したが、第2枝部13bbを検出することとしてもよい。また、図6Aでは、第1ハンド13-1が第2ハンド13-2から遠ざかる向きに移動する場合を示したが、第1ハンド13-1が第2ハンド13-2に近づく向きに移動することとしてもよい。
 次に、X軸まわりのずれを検出する手順について、図7A、図7Bおよび図7Cを用いて説明する。図7A、図7Bおよび図7Cは、X軸まわりのずれを検出する手順を示す説明図その1、その2およびその3である。なお、図7A~図7Cでは、第2ハンド13-2が、X軸と平行な線まわりにXY平面から傾いた場合を示している。
 図7Aに示すように、第1ハンド13-1は、まず、X軸方向について光軸200が第2ハンド13-2の第1枝部13baに重なり、かつ、Y軸方向について第2ハンド13-2と干渉しない位置へ移動する。そして、図7Aに示すように、第1ハンド13-1は、かかる位置からZ軸の負方向へ向かう向き501へ移動する。かかる動作によって、図5Aと同様の手順で、第1枝部13baにおける所定の点701のZ座標を検出する。
 また、図7Bに示すように、第1ハンド13-1は、第2ハンド13-2の第2枝部13bbにおける所定の点702のZ座標を検出する。
 図7Cには、X軸の正方向からみた場合における点701と、点702との位置関係を示している。図7Cに示すように、点701と、点702とのZ方向の距離Z1は、点701のZ座標と、点702のZ座標との差分である。また、点701と点702との距離L2は、第2ハンド13-2の各部のサイズから求めることができるので、既知である。したがって、X軸まわりのずれ角をθX1とすると、「θX1=arcsin(Z1/L2)」なる計算式で、θX1を求めることができる。なお、θX1が所定の閾値を超えている場合には、図示しない表示部などを用いて警告することとすればよい。
 なお、図7Aおよび図7Bでは、第1ハンド13-1が、第2ハンド13-2よりもZ軸の正方向側から、Z軸の負方向へ移動する場合を示したが、第1ハンド13-1が、第2ハンド13-2よりもZ軸の負方向側から、Z軸の正方向へ移動するようにしてもよい。また、図7Bの検出手順の後に、図7Aの検出手順を実行することとしてもよい。
 次に、Y軸まわりのずれを検出する手順について、図8A、図8Bおよび図8Cを用いて説明する。図8A、図8Bおよび図8Cは、Y軸まわりのずれを検出する手順を示す説明図その1、その2およびその3である。なお、図8A~8Cでは、第2ハンド13-2が、Y軸と平行な線まわりにXY平面から傾いた場合を示している。
 図8Aに示すように、第1ハンド13-1は、まず、X軸方向について光軸200が第2ハンド13-2に重なり、かつ、Y軸方向について第2ハンド13-2と干渉しない位置へ移動する。そして、図8Aに示すように、第1ハンド13-1は、かかる位置からZ軸の負方向へ向かう向き501へ移動する。
 かかる動作によって、図5Aと同様の手順で、第2ハンド13-2における所定の点801のZ座標を検出する。なお、図8Aには、光軸200がZ軸に沿って移動する軌跡801Lを、参考のため示している。
 つづいて、図8Bに示すように、第1ハンド13-1は、図8Aに示した場合よりもX軸の正方向へX1だけ移動する。そして、図8Aの場合と同様に、かかる位置からZ軸の負方向へ向かう向き501へ移動する。
 かかる動作によって、図8Aの場合と同様に、第2ハンド13-2における所定の点802のZ座標を検出する。なお、図8Bには、光軸200がZ軸に沿って移動する軌跡802Lと、図8Aに示した軌跡801Lとを参考のため示している。
 図8Cには、Y軸の負方向からみた場合における点801と、点802との位置関係を示している。図8Cに示すように、点801と、点802とのZ方向の距離Z2は、点801のZ座標と、点802のZ座標との差分である。また、点801と、点802とのX方向の距離X1は、上記したように既知である。したがって、Y軸まわりのずれ角をθY1とすると、「θY1=arctan(Z2/X1)」なる計算式で、θY1を求めることができる。なお、θY1が所定の閾値を超えている場合には、図示しない表示部などを用いて警告することとすればよい。
 なお、図8Aおよび図8Bでは、第1ハンド13-1が、第2ハンド13-2よりもZ軸の正方向側から、Z軸の負方向へ移動する場合を示したが、第1ハンド13-1が、第2ハンド13-2よりもZ軸の負方向側から、Z軸の正方向へ移動するようにしてもよい。また、図8Bの検出手順の後に、図8Aの検出手順を実行することとしてもよい。
 次に、Z軸まわりのずれを検出する手順について、図9A、図9Bおよび図9Cを用いて説明する。図9A、図9Bおよび図9Cは、Z軸まわりのずれを検出する手順を示す説明図その1、その2およびその3である。なお、図9A~9Cでは、本来はX軸とハンド中心線13CLが平行であるはずの第2ハンド13-2が、Z軸まわりにθZ1だけ回転ずれを起こした場合を示している。
 図9Aに示すように、第1ハンド13-1は、まず、X軸方向について光軸200が第2ハンド13-2の第1枝部13baに重なり、かつ、Y軸方向について第2ハンド13-2と干渉しない位置へ移動する。そして、図9Aに示すように、第1ハンド13-1は、かかる位置からX軸の負方向へ向かう向き502へ移動する。かかる動作によって、図5Bと同様の手順で、第1枝部13baの先端の点901のX座標を検出する。
 また、図9Bに示すように、第1ハンド13-1は、第2ハンド13-2の第2枝部13bbにおける先端の点902のX座標を検出する。
 図9Cには、Z軸の正方向からみた場合における点901と、点902との位置関係を示している。図9Cに示すように、点901と、点902とのX方向の距離X2は、点901のX座標と、点902のX座標との差分である。また、点901と点902との距離L3は、第2ハンド13-2の各部のサイズから求めることができるので、既知である。   
 したがって、Z軸まわりのずれ角をθZ1とすると、「θZ1=arcsin(X2/L3)」なる計算式で、θZ1を求めることができる。上記した補正部21d(図4参照)は、このようにして算出したZ軸まわりのずれを用いて仮教示データ22bを補正することになる。
 なお、図5A~図9Cを用いて説明したX軸方向、Y軸方向、Z軸方向、X軸まわり、Y軸まわりおよびZ軸まわりのずれの検出は、適宜組み合わせて実行することができる。
 次に、n台(nは2以上の整数)のロボット10およびコントローラ20を用いる場合に、コントローラ20として同一のコントローラ20を用いる場合について図10を用いて説明する。図10は、コントローラ20の変形例を示すブロック図である。なお、図10では、1台のコントローラ20が1台のロボット10の動作制御を行う場合を示しているが、1台のコントローラ20が2台以上のロボット10の動作制御を行うこととしてもよい。この場合、動作制御を行うロボット10の台数が異なるコントローラ20を混在させてもよい。また、図4に示した第1コントローラ20-1や第2コントローラ20-2と同様の構成には同一の符号を付し、説明を省略するか簡単な説明にとどめることとする。
 図10に示すように、第nコントローラ20-nは、第nロボット10-nに接続されている。また、第nコントローラ20-nは、第n-1コントローラおよび第n+1コントローラにそれぞれ接続されている。ここで、第n-1コントローラおよび第n+1コントローラの構成は、第nコントローラ20-nと同様である。
 制御部21は、補正部21dと、検出指示部21aと、動作制御部21bと、取得部21cとを備える。また、記憶部22は、仮教示データ22bと、本教示データ22aとを記憶する。補正部21dは、第n-1コントローラの取得部21cから受け取った位置情報に基づいて仮教示データ22bを補正することで本教示データ22aを生成する。
 第nコントローラ20-nの動作制御部21bは、第nロボット10-nが検出対象である場合には、仮教示データ22bに基づいて第nロボット10-nの動作制御を行う(図10に示した破線の矢印参照)。すなわち、動作制御部21bは、第nロボット10-nを、図1に示した第2ロボット10-2として動作させる。
 また、本教示データ22aが生成された後には、第nコントローラ20-nの動作制御部21bは、本教示データ22aに基づいて第nロボット10-nの動作制御を行う。すなわち、第nロボット10-nを、図1に示した第1ロボット10-1として動作させる。
 ここで、第nロボット10-nは、図1に示した第1ロボット10-1と同様に、センサ13c(図3参照)を備えるものとする。なお、n台のロボット10のうち、最後に仮教示データ22bの補正を受けるロボット10については、センサ13cを省略することとしてもよい。
 次に、n台のロボット10を、次々に教示していく手順について図11Aおよび図11Bを用いて説明する。図11Aは、n台のロボット10を教示する手順を示す説明図であり、図11Bは、複数の搬送室50に設置されたロボット10を教示する手順を示す説明図である。
 図11Aに示すように、n台(nは2以上の整数)のロボット10を次々に教示していく場合、第1ロボット10-1さえ本教示の作業が完了していれば、他のロボット10に対して本教示の作業は不要である。
 具体的には、第n-1ロボット10-(n-1)および第nロボット10-nが双方ともアクセス可能なアライナ装置51-1を、それぞれ設ける。ここで、既に説明したように、アライナ装置51-(n-1)を実際には配置しなくてもよい。
 すなわち、図1に示した目標位置51Cを、単に3次元の座標として予め定めておけば足りる。つまり、第n-1ロボット10-(n-1)が第nロボット10-nのハンド13を検知する際に使用する空間(検査空間)を確保し、かかる空間内に目標位置51Cを定めておけばよい。このため、以下では、「アライナ装置50」の代わりに「検査空間50」という記載とする。
 そして、本教示の作業が完了している第1ロボット10-1が、第2ロボット10-2のハンド13を検査空間51-1で検出することで第2ロボット10-2の本教示を完了させ、つづいて、第2ロボット10-2が、第3ロボット10-3のハンド13を検査空間51-2で検出することで第3ロボット10-3の本教示を完了させる。かかる手順を第nロボット10-nまで繰り返すことで、すべてのロボット10の本教示を完了させることができる。
 ところで、図11Bに示すように、図11Aに示した各ロボット10は、異なる搬送室50にそれぞれ設置されていてもよい。なお、図11Bでは、第1搬送室50-1と、第2搬送室50-2とが離れているように図示しているが、実際には、双方が接するように設置される。
 図11Bに示すように、第1搬送室50-1には、第1ロボット10-1および第2ロボット10-2が設置されており、第2搬送室50-2には、第3ロボット10-3および第4ロボット10-4が設置されている。
 また、第1搬送室50-1には検査空間51-1が設定されており、第2搬送室50-2には検査空間51-3が設定されている。そして、第1搬送室50-1および第2搬送室50-2にまたがるように検査空間51-2が設定されている。なお、検査空間51-4についても、第2搬送室50-2および第3搬送室50-3にまたがるように設定されている。
 まず、本教示の作業が完了している第1ロボット10-1が、第2ロボット10-2のハンド13を検査空間51-1で検出することで第2ロボット10-2の本教示を完了させる。次に、本教示が完了した第2ロボット10-2が、検査空間51-2で第3ロボット10-3のハンド13を検出することで第3ロボット10-3の本教示を完了させる。
 そして、教示が完了した第3ロボット10-3が、検査空間51-3で第4ロボット10-4のハンド13を検出することで第4ロボット10-4の本教示を完了させる。以下、同様の手順を繰り返すことで、搬送室50の数によらず、すべてのロボット10の本教示を完了させることができる。
 なお、搬送室50ごとに図1に示した手順で搬送室50内のロボット10の本教示を完了させておき、各搬送室50を隣接して設置した後に、搬送室50間の相対的な設置向きや設置位置のずれを検出することとしてもよい。
 この場合、たとえば、第1搬送室50-1のロボット10-2が、検査空間51-2で第2搬送室50-2のロボット10-3のハンド13を検出することで、第1搬送室50-1と第2搬送室50-2との相対的な設置向きや設置位置のずれを検出することができる。
 次に、教示システム1が実行する教示手順について図12を用いて説明する。図12は、教示システム1が実行する教示手順を示すフローチャートである。図12に示すように、教示システム1は、第2ロボット10-2のハンド13を検査空間51へ移動させる(ステップS101)。つづいて、教示システム1は、第1ロボット10-1のハンド13で第2ロボット10-2のハンド13を検出する(ステップS102)。
 つづいて、教示システム1の補正部21d(図4参照)は、ステップS102の検出結果に基づいて第2ロボット10-2の仮教示データ22b(図4参照)を補正し(ステップS103)、本教示データ22aを生成して処理を終了する。
 次に、n台のロボット10を含む教示システム1が実行する教示手順について図13を用いて説明する。図13は、n台のロボット10を含む教示システム1が実行する教示手順を示すフローチャートである。なお、図13では、図12で説明した内容については簡略化して説明することとする。
 図13に示すように、教示システム1は、第1ロボット10-1のハンド13で第2ロボット10-2のハンド13を検出する(ステップS201)。つづいて、教示システム1の補正部21d(図10参照)は、ステップS201の検出結果に基づいて第2ロボット10-2の仮教示データ22b(図10参照)を補正し(ステップS202)、第2ロボット10-2の本教示を完了させる。
 そして、教示システム1は、仮教示データ22bが未補正のロボット10があるか否かを判定し(ステップS203)、未補正のロボット10がない場合には(ステップS203,No)、処理を終了する。一方、未補正のロボット10がある場合には(ステップS203,Yes)、補正が完了した第2ロボット10-2を第1ロボット10-1とみなす(ステップS204)。また、未補正のロボット10(次に補正すべきロボット10)を、第2ロボット10-2とみなし(ステップS205)、ステップS201以降の処理を繰り返す。
 上述してきたように、本実施形態に係る教示システム1は、第1ロボット10-1と、第2ロボット10-2と、補正部21dとを備える。第1ロボット10-1は、実際の動作に対応する本教示が完了しており、第1ハンド13-1を有する。第2ロボット10-2は、本教示よりも精度が粗い仮教示が完了しており、第2ハンド13-2を有する。補正部21dは、仮教示に従って所定の被検査位置51Cに移動した第2ハンド13-2を第1ハンド13-1で検出した結果に基づき、第2ロボット10-2の仮教示の教示データ22bを補正する。
 したがって、本実施形態に係る教示システム1によれば、第2ロボット10-2に対して手作業を含んだ本教示の作業を行うことなく、第2ロボット10-2の本教示を完了することができるので、簡易な構成で複数のロボット10を効率的に教示することが可能となる。
 なお、上記した実施形態では、第1ロボット10-1による第2ロボット10-2のハンド13の検出結果に基づいて第2ロボット10-2の仮教示データ22bを補正する場合について説明した。しかしながら、仮教示データ22bを補正する代わりに、かかる検出結果をディスプレイなどの表示部に表示することで、警告することとしてもよい。
 かかる警告は、いったん本教示が完了したロボット10が、経年変化によって位置ずれや向きずれを起こした場合に有効である。具体的には、第1ロボット10-1に対しては精密に配置した治具などを用いて再度、本教示の作業を行い、第2ロボット10-2に対しては、図1に示した手順と同様の手順を実行すればよい。
 そして、所定の閾値よりも大きい位置ずれや向きずれを検出した場合には、第2ロボット10-2の再配置や交換といったメンテナンスが必要である旨の警告を行うこととすればよい。これにより、メンテナンスを要するような不具合を正確かつ効率的に報知することができる。
 さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
   1   教示システム
  10   ロボット
  10a  本体部
  10b  昇降軸
  11   第1アーム
  12   第2アーム
  13   ハンド
  13a  基部
  13b  フォーク部
  13c  センサ
  13C  基準位置
  13CL ハンド中心線
  20   コントローラ
  21   制御部
  21a  検出指示部
  21b  動作制御部
  21c  取得部
  21d  補正部
  22   記憶部
  22a  本教示データ
  22b  仮教示データ
  50   搬送室
  51   アライナ装置(検査空間)
  51C  目標位置
 100   基板
 200   光軸

Claims (9)

  1.  実際の動作に対応する本教示が完了しており、第1ハンドを有する第1ロボットと、
     前記本教示よりも精度が粗い仮教示が完了しており、第2ハンドを有する第2ロボットと、
     前記仮教示に従って所定の被検査位置に移動した前記第2ハンドを前記第1ハンドで検出した結果に基づき、前記第2ロボットの前記仮教示の教示データを補正する補正部と
     を備えることを特徴とする教示システム。
  2.  前記第1ロボットおよび前記第2ロボットは、
     昇降機構を有する水平多関節ロボットであること
     を特徴とする請求項1に記載の教示システム。
  3.  前記第1ハンドは、
     先端側が二股にわかれており、各先端部分に一対のセンサを有しており、該一対のセンサによって前記第2ハンドを検出すること
     を特徴とする請求項2に記載の教示システム。
  4.  前記第1ハンドは、
     前記第2ハンドの位置を検出し、
     前記補正部は、
     前記第1ハンドによって検出された前記第2ハンドの位置と、前記被検査位置とのずれに基づいて前記第2ロボットの理想的な設置位置に対するずれを検出し、検出したずれに基づいて前記仮教示の教示データを補正すること
     を特徴とする請求項1、2または3に記載の教示システム。
  5.  前記第1ハンドは、
     前記第2ハンドの姿勢を検出し、
     前記補正部は、
     前記第1ハンドによって検出された前記第2ハンドの姿勢と、水平面とのずれに基づいて前記第2ロボットの理想的な設置向きに対するずれを検出し、検出したずれに基づいて前記仮教示の教示データを補正すること
     を特徴とする請求項1~4のいずれか一つに記載の教示システム。
  6.  前記補正部は、
     前記補正部によって前記仮教示が補正された前記第2ロボットを、前記第1ロボットとみなし、未だ前記仮教示が補正されていない前記第2ロボットの前記仮教示の教示データを補正すること
     を特徴とする請求項1~5のいずれか一つに記載の教示システム。
  7.  前記第1ロボットまたは前記第2ロボットは、
     それぞれ異なる搬送室に設置され、
     前記補正部は、
     搬送室間の設置ずれを補正すること
     を特徴とする請求項1~6のいずれか一つに記載の教示システム。
  8.  実際の動作に対応する本教示が完了しており、第1ハンドを有する第1ロボットと、
     前記本教示よりも精度が粗い仮教示が完了しており、第2ハンドを有する第2ロボットと
     を用い、
     前記仮教示に従って所定の被検査位置に移動した前記第2ハンドを前記第1ハンドで検出した結果に基づき、前記第2ロボットの前記仮教示の教示データを補正する工程
     を含むことを特徴とする教示方法。
  9.  ハンドの移動軌跡について実際の動作に対応する本教示よりも精度が粗い仮教示が完了しており、
     前記仮教示に従って所定の被検査位置に移動した前記ハンドを、前記本教示が完了した他のロボットのハンドで検出した結果に基づき、前記仮教示の教示データが補正されること
     を特徴とするロボット。
PCT/JP2015/085319 2015-12-17 2015-12-17 教示システム、教示方法およびロボット WO2017104039A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085319 WO2017104039A1 (ja) 2015-12-17 2015-12-17 教示システム、教示方法およびロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085319 WO2017104039A1 (ja) 2015-12-17 2015-12-17 教示システム、教示方法およびロボット

Publications (1)

Publication Number Publication Date
WO2017104039A1 true WO2017104039A1 (ja) 2017-06-22

Family

ID=59056128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/085319 WO2017104039A1 (ja) 2015-12-17 2015-12-17 教示システム、教示方法およびロボット

Country Status (1)

Country Link
WO (1) WO2017104039A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185218A (ja) * 1994-12-27 1996-07-16 Nissan Motor Co Ltd 複数ロボットの同時作業教示方法およびその装置
JP2005118951A (ja) * 2003-10-17 2005-05-12 Yaskawa Electric Corp キャリブレーション方法
WO2009145082A1 (ja) * 2008-05-27 2009-12-03 ローツェ株式会社 搬送装置、位置教示方法及びセンサ治具
JP2010153687A (ja) * 2008-12-26 2010-07-08 Yaskawa Electric Corp 基板搬送ロボットおよび基板搬送装置
JP2013168579A (ja) * 2012-02-16 2013-08-29 Yaskawa Electric Corp 搬送システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185218A (ja) * 1994-12-27 1996-07-16 Nissan Motor Co Ltd 複数ロボットの同時作業教示方法およびその装置
JP2005118951A (ja) * 2003-10-17 2005-05-12 Yaskawa Electric Corp キャリブレーション方法
WO2009145082A1 (ja) * 2008-05-27 2009-12-03 ローツェ株式会社 搬送装置、位置教示方法及びセンサ治具
JP2010153687A (ja) * 2008-12-26 2010-07-08 Yaskawa Electric Corp 基板搬送ロボットおよび基板搬送装置
JP2013168579A (ja) * 2012-02-16 2013-08-29 Yaskawa Electric Corp 搬送システム

Similar Documents

Publication Publication Date Title
JP6468159B2 (ja) 搬送システムおよび搬送方法
JP6173677B2 (ja) 産業用ロボットの原点位置復帰方法
KR101775780B1 (ko) 로봇 시스템, 로봇 교시 방법 및 로봇 교시 장치
KR102105580B1 (ko) 기판 반송 장치 및 기판 반송 로봇의 교시 방법
JP2000127069A (ja) 搬送システムの搬送位置合わせ方法
KR102588876B1 (ko) 로봇의 위치 보정 방법 및 로봇
KR20180038416A (ko) 반송 시스템, 반송 로봇, 및 그 교시 방법
JP7383686B2 (ja) ロボットシステム、デバイス製造装置、デバイス製造方法
US10020216B1 (en) Robot diagnosing method
JP2010284728A (ja) 搬送ロボット及び自動教示方法
US9505128B1 (en) Method of teaching robotic station for processing objects
KR102560896B1 (ko) 로봇의 위치 보정 방법 및 로봇
JP2016107378A (ja) 産業用ロボットおよび産業用ロボットの教示方法
JP2010162611A (ja) 相対ティーチング方法
JP2015168012A (ja) 教示ジグ、教示システムおよび教示方法
KR102243694B1 (ko) 로봇의 위치 정보 복원 방법
WO2017104039A1 (ja) 教示システム、教示方法およびロボット
CN110682285A (zh) 机械手臂校正***以及校正方法
JP7129788B2 (ja) 産業用ロボットの補正値算出方法
US20240058952A1 (en) Controller for substrate transfer robot and control method for joint motor
JP2019141921A (ja) 産業用ロボットの補正値算出方法
JP6869080B2 (ja) ロボット制御装置及び制御プログラム
US10403539B2 (en) Robot diagnosing method
WO2019064890A1 (ja) 基板搬送装置及び基板載置部の回転軸の探索方法
JP7407067B2 (ja) 搬送装置、搬送方法および搬送システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15910729

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15910729

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP