Substrate transfer robot system, substrate transfer apparatus, semiconductor manufacturing apparatus, maintenance method, and substrate transfer method
The substrate transfer robot system automates the teaching process by using sensor feedback to generate operation programs, addressing the inefficiencies of manual teaching and maintaining transport accuracy despite base position changes.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YASKAWA DENKI KK
- Filing Date
- 2025-08-07
- Publication Date
- 2026-05-07
AI Technical Summary
Existing substrate transfer robot systems require time-consuming manual teaching processes to operate in vacuum environments, making it difficult to adjust for shifts in base position during maintenance and affecting transport accuracy.
A substrate transfer robot system with a controller that stores first position information, uses sensors to detect the hand's position, calculates second position information, and generates an operation program to move the hand to the target position, allowing for easy re-teaching and improved transport accuracy without manual intervention.
Enables efficient and accurate substrate transport by automating the teaching process, reducing manual effort and maintaining transport accuracy even after base position shifts during maintenance.
Smart Images

Figure JP2025028191_07052026_PF_FP_ABST
Abstract
Description
Substrate transfer robot system, substrate transfer device, semiconductor manufacturing device, maintenance method, and substrate transfer method
[0001] The present disclosure relates to a substrate transfer robot system, a substrate transfer device, a semiconductor manufacturing device, a maintenance method, and a substrate transfer method.
[0002] Patent Document 1 discloses an articulated robot that transfers a semiconductor wafer. The articulated robot includes a base, a plurality of arms connected to the base, and a hand portion connected to an end of the arm and supporting the wafer.
[0003] Japanese Patent Application Laid-Open No. 2005-039047
[0004] The present disclosure provides a substrate transfer robot system that can easily teach the operation of a robot for transferring a substrate.
[0005] A substrate transfer robot system according to one aspect of the present disclosure includes a base portion, an arm supported by the base portion, a hand supported at an end of the arm and supporting a substrate, a target position of the hand, a storage unit that stores first position information representing a positional relationship between the target position and a predetermined sensing position away from the target position, a control unit that controls the arm so that the hand passes through the sensing position, one or more sensors that detect the hand passing through the sensing position, and a calculation unit that calculates second position information representing a positional relationship between the sensing position and the base portion based on a detection result of the hand by the one or more sensors and the posture of the arm, and a generation unit that generates an operation program for operating the arm so as to move the hand to the target position based on the first position information and the second position information. The control unit operates the arm based on the generated operation program.
[0006] A substrate transfer device according to another aspect of the present disclosure includes the above-described substrate transfer robot system and a transfer chamber connected to a peripheral chamber capable of accommodating a substrate and accommodating at least the arm and the hand. The target position is located inside the peripheral chamber, and the sensing position is located inside the transfer chamber.
[0007] A semiconductor manufacturing device according to still another aspect of the present disclosure includes the above-described substrate transfer device and a peripheral chamber.
[0008] A maintenance method relating to yet another aspect of the present disclosure is a method for maintaining the substrate transport device, comprising: removing the base from the transport chamber and re-fixing the base to the transport chamber; controlling the arm so that the hand passes through a sensing position; detecting the hand passing through the sensing position with one or more sensors; recalculating second position information based on the detection result of the hand by one or more sensors and the posture of the arm; and regenerating an operation program based on first position information and the recalculated second position information.
[0009] A further aspect of the present disclosure relates to a method for transporting a substrate using a robot comprising a base, an arm supported by the base, and a hand supported at the end of the arm for supporting the substrate, the method comprising: storing first position information representing the positional relationship between a target position of the hand and a predetermined sensing position located away from the target position; controlling the arm so that the hand passes through the sensing position; detecting the hand passing through the sensing position using one or more sensors; calculating second position information representing the positional relationship between the sensing position and the base based on the detection result of the hand by one or more sensors and the posture of the arm; generating an operation program for operating the arm to move the hand to the target position, based on the first position information and the second position information; and operating the arm based on the generated operation program.
[0010] According to this disclosure, it is possible to provide a substrate transport robot system that can be easily taught the operation of a robot for transporting substrates.
[0011] This is a plan view illustrating the configuration of semiconductor manufacturing equipment. This is a schematic diagram illustrating the configuration of a substrate transport robot system. This is a schematic diagram illustrating hand detection. This is a cross-sectional view illustrating the convex portion of a dummy substrate and the concave portion of a hand. This is a diagram illustrating substrate misalignment detection. This is a block diagram illustrating the hardware configuration of a controller. This is a flowchart illustrating the substrate transport procedure. This is a flowchart illustrating the transport control procedure in Figure 7. This is a schematic diagram showing a modified example of a dummy substrate. This is a flowchart illustrating the procedure for calculating the first position information.
[0012] The embodiments will be described in detail below with reference to the drawings. In the description, the same elements or elements having the same function will be denoted by the same reference numeral, and redundant descriptions will be omitted.
[0013] [Semiconductor Manufacturing Equipment] Figure 1 is a plan view illustrating the configuration of semiconductor manufacturing equipment 1. The semiconductor manufacturing equipment 1 shown in Figure 1 is equipment that performs at least a part of the semiconductor manufacturing process. For example, semiconductor manufacturing equipment 1 performs processes such as film deposition and etching on a substrate W (e.g., a semiconductor wafer). For example, semiconductor manufacturing equipment 1 comprises a substrate transport device 2 and a plurality of peripheral chambers 3. The substrate transport device 2 transports the substrate W (e.g., a semiconductor wafer) to be processed. Each of the plurality of peripheral chambers 3 is capable of accommodating the substrate W transported by the substrate transport device 2, and performs processing on the accommodated substrate W.
[0014] The multiple peripheral chambers 3 may include one or more process chambers 4. Each of the one or more process chambers 4 houses a substrate W and performs processing such as film deposition or etching. Each of the one or more process chambers 4 may perform processing on the substrate W in a vacuum. In this case, the substrate transport device 2 may be configured to transport the substrate W in a vacuum.
[0015] When the substrate transport device 2 transports a substrate W in a vacuum, the multiple peripheral chambers 3 may further include one or more load lock chambers 5. The one or more load lock chambers 5 contain the substrate W at the boundary between the atmosphere and the vacuum, and before being released into the vacuum or the atmosphere, they perform a process to change the atmospheric pressure around the substrate W to the atmospheric pressure of the release destination. In this way, the processing of the substrate W also includes the process of adjusting the environment around the substrate W.
[0016] For example, the substrate transport device 2 includes a transport chamber 6 and a substrate transport robot system 7. The transport chamber 6 is connected to each of the multiple peripheral chambers 3 and accommodates the substrate W between the multiple peripheral chambers 3. As an example, the inside of one or more process chambers 4 and the inside of the transport chamber 6 are depressurized to a vacuum or near vacuum. The inside of one or more process chambers 4 and the inside of the transport chamber 6 are in the aforementioned "vacuum". One or more load lock chambers 5 are depressurized to the atmospheric pressure inside the transport chamber 6 before being opened into the transport chamber 6, and are returned to the atmospheric pressure outside the transport chamber 6 before being opened outside the transport chamber 6.
[0017] The substrate transport robot system 7 comprises a robot 10 and a controller 100. The robot 10 comprises a base 11, an arm 20, a hand 30, and motors 51, 52, and 53. The base 11 is fixed to the transport chamber 6. For example, the base 11 is fixed to the bottom of the transport chamber 6. The base 11 may be housed inside the transport chamber 6, or it may be located at least partially outside the transport chamber 6. The arm 20 is supported by the base 11. The hand 30 is supported by the arm 20 and supports the substrate W.
[0018] The arm 20 changes the position and orientation of the hand 30 relative to the base 11. For example, the arm 20 changes the position of the hand 30 in a horizontal plane and the orientation of the hand 30 around a vertical axis. For example, the arm 20 has a first link 21, a second link 22, and a third link 23. The first link 21 is connected to the base 11 so as to be rotatable around a vertical joint axis 41 and extends away from the joint axis 41. The second link 22 is connected to the end of the first link 21 so as to be rotatable around a vertical joint axis 42 and extends away from the joint axis 42. The third link 23 is connected to the end of the second link 22 so as to be rotatable around a vertical joint axis 43 and extends away from the joint axis 43.
[0019] The hand 30 is fixed to the third link 23 and extends further from the third link 23 away from the joint axis 43. The hand 30 spreads along a horizontal plane and supports the horizontally positioned substrate W from below.
[0020] Motors 51, 52, and 53 are, for example, electric motors that drive the arm 20. For example, motor 51 rotates the first link 21 around the joint axis 41. Motor 52 rotates the second link 22 around the joint axis 42. Motor 53 rotates the third link 23 around the joint axis 43.
[0021] The arm 20 and the hand 30 are housed in the transport chamber 6. Within the transport chamber 6, the arm 20 changes the position and orientation of the hand 30 to transport the substrate W. The substrate transport robot system 7 further includes one or more sensors 60. The one or more sensors 60 are fixed at a distance from the robot 10 and detect the substrate W being transported by the robot 10 without contact. Based on the detection results of the substrate W by the one or more sensors 60, it is possible to detect the misalignment of the substrate W relative to the hand 30 and improve the transport accuracy of the substrate W based on the detection results.
[0022] Each of the one or more sensors 60 is, for example, an optical sensor. The sensors 60 may be fixed outside the transport chamber 6 and detect the substrate W through a glass window or the like. The sensors 60 can also detect the substrate W moving inside the transport chamber 6.
[0023] For example, one or more sensors 60 may include one or more object sensors, each detecting the presence or absence of an object at a specific location. Examples of object sensors include laser, capacitive, and ultrasonic sensors. Using object sensors, it is possible to detect whether or not a substrate W is present at a specific location.
[0024] The substrate transport robot system 7 may have one or more sensors 60, each being a pair of object sensors. The pair of sensors 60 are located near one of the multiple peripheral chambers 3. For example, the pair of sensors 60 are arranged to straddle a line extending from the transport chamber 6 into the peripheral chamber 3. The relative position of the center of the substrate W with respect to the pair of sensors 60 can be detected based on the position of the hand 30 when the substrate W reaches each of the pair of sensors 60 and the position of the hand 30 when the substrate W passes over each of the pair of sensors 60.
[0025] The object sensor is merely an example, and sensor 60 is not necessarily limited to an object sensor. For example, sensor 60 may be a camera, a laser tracker, etc. With a camera, the position of the substrate W within the camera's field of view can be detected based on the position of the substrate W in the captured image. With a laser tracker, the position of the substrate W within the detection range of the laser tracker can be detected.
[0026] The controller 100 controls the robot 10 to transport the substrate W between one or more peripheral chambers 3. For example, the controller 100 controls the robot 10 based on a pre-generated operation program. The operation program includes a series of operation commands. The operation commands include target identification information that identifies the target position of the hand 30. The target position includes the target orientation of the hand 30. The target identification information may be information that directly identifies the target position of the hand 30, or information that indirectly identifies the target position of the hand 30. An example of information that indirectly identifies the target position of the hand 30 is information that identifies the target rotation angles of the motors 51, 52, and 53.
[0027] In order for the robot 10 to perform a desired operation, the desired operation must be taught to the controller 100. For example, it is necessary to generate an operation program in advance to perform the desired operation and register it with the controller 100. For example, by manually operating the controller 100 to position the hand 30 at the desired location and repeatedly adding an operation command that sets the position of the positioned hand 30 as the target position, an operation program containing multiple operation commands in chronological order can be generated. Such teaching must be performed with one or more peripheral chambers 3 and the transport chamber 6 open in order to allow visual confirmation of the position of the hand 30. After teaching is complete, it is necessary to close one or more peripheral chambers 3 and the transport chamber 6 and depressurize the inside of one or more peripheral chambers 3 and the inside of the transport chamber 6 again. Thus, teaching is a very time-consuming process.
[0028] To reduce such effort, the controller 100 is configured to store first position information representing the positional relationship between the target position of the hand 30 and a predetermined sensing position located away from the target position; control the arm 20 so that the hand 30 passes through the sensing position; detect the hand 30 passing through the sensing position using one or more sensors 60; calculate second position information representing the positional relationship between the sensing position and the base 11 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20; generate an operation program for moving the arm 20 to the target position based on the first position information and the second position information; and operate the arm 20 based on the generated operation program.
[0029] Since the controller 100 stores the first position information, there is no need to manually teach the first position information again. The second position information is calculated by the controller 100 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20. For this reason, there is no need to manually teach the second position information either. Based on the first and second position information, the positional relationship between the target position and the base 11 can be determined, so the posture of the arm 20 for positioning the hand 30 at the target position can be uniquely determined and an operation program can be generated without performing new manual teaching. Therefore, the robot's movements can be easily taught.
[0030] Even if the position of the base 11 relative to the transport chamber 6 shifts during maintenance work, the first position information remains unchanged. Therefore, the robot's operation can be easily re-taught by repeating the following steps: controlling the arm 20 so that the hand 30 passes through the sensing position; detecting the hand 30 passing through the sensing position using one or more sensors 60; calculating second position information representing the positional relationship between the sensing position and the base 11 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20; and generating an operation program that moves the arm 20 to the target position based on the first and second position information.
[0031] The target position of the hand 30 may be located inside one or more peripheral chambers 3, and the sensing position may be located inside the transport chamber 6. The controller 100 may generate both an input program as an operation program, which transports the substrate W from the transport chamber 6 to the peripheral chamber 3 and places it at the target position, and an output program, which acquires the substrate W at the target position and transports it from the peripheral chamber 3 to the transport chamber 6.
[0032] A target position and a sensing position may be defined for each of the multiple hands 30. In this case, the semiconductor manufacturing apparatus 1 may be equipped with one or more sensors 60 (for example, the pair of sensors 60 described above) for each of the multiple hands 30. The controller 100 may be configured to perform the following actions for each of the multiple hands 30: control the arm 20 so that the hand 30 passes through the sensing position; detect the hand 30 passing through the sensing position using one or more sensors 60; calculate second position information representing the positional relationship between the sensing position and the base 11 based on the detection result of the hand 30 by one or more sensors 60 and the posture of the arm 20; generate an operation program for operating the arm 20 to move the hand 30 to the target position, based on the first position information and the second position information; and operate the arm 20 based on the generated operation program.
[0033] As illustrated in Figure 2, the controller 100 has the following functional components (hereinafter referred to as "functional blocks"): a position information storage unit 111, a control unit 112, a calculation unit 113, a generation unit 114, and a program storage unit 115. The position information storage unit 111 stores first position information representing the positional relationship between the target position P1 of the hand 30 and a predetermined sensing position P2 located away from the target position P1. The target position P1 is set to the center of the substrate W suitable for processing within the peripheral chamber 3. The sensing position P2 is set to be near one or more sensors 60.
[0034] Representing the positional relationship between target position P1 and sensing position P2 means, for example, uniquely specifying the positional relationship between target position P1 and sensing position P2. For example, the first position information represents the relative position of sensing position P2 with respect to target position P1. For example, the first position information represents the coordinates of sensing position P2 in a coordinate system with target position P1 as the origin. Sensing position P2 may be the midpoint of a pair of sensors 60. Sensing position P2 may also be the center position of the substrate W calculated based on the detection results of the substrate W by one or more sensors 60 when the center of the substrate W passes through sensing position P2 along a predetermined line passing through target position P1. Hereinafter, the predetermined line will be referred to as the "input / output line".
[0035] The first position information can be obtained by actually measuring the positional relationship between the target position P1 and one or more sensors 60. Alternatively, the first position information may be obtained based on the detection result of the target position P1 by the sensor attached to the hand 30 and the detection result of the hand 30 by one or more sensors 60.
[0036] The control unit 112 controls the arm 20 so that the hand 30 passes through the sensing position P2. For example, the control unit 112 operates the arm 20 based on a predetermined program so that the hand 30 passes through the sensing position P2. Hereinafter, this program will be referred to as the "teaching program" to distinguish it from the operation program described above. The teaching program is determined based on the design information of the substrate transport robot system 7 so that the center of the hand 30 passes through the sensing position P2 along the entry / exit line described above. The center of the hand 30 is, for example, the center of the substrate W supported by the hand 30 in the design. The design information of the substrate transport robot system 7 includes the design target position P1 and sensing position P2 based on a coordinate system fixed to the base 11, and the design dimensions of the first link 21, the second link 22, the third link 23, and the hand 30. In a real environment that includes errors in the design information, when the arm 20 is operated based on the teaching program, a discrepancy occurs between the line through which the center of the hand 30 actually passes and the entry / exit line. Hereinafter, the line through which the center of the hand 30 actually passes will be referred to as the "actual line." If the deviation of the actual line from the input / output line is small relative to the size of the hand 30, the arm 20 can be operated so that at least a part of the hand 30 passes through the sensing position P2.
[0037] The calculation unit 113 calculates second position information representing the positional relationship between the sensing position P2 and the base 11 based on the detection result of the hand 30 (the hand 30 passing through the sensing position P2) by one or more sensors 60 and the posture of the arm 20. Representing the positional relationship between the sensing position P2 and the base 11 means, for example, uniquely specifying the positional relationship between the sensing position P2 and the base 11. For example, the calculation unit 113 calculates the actual position of the center of the hand 30 relative to the sensing position P2 based on the detection result of the hand 30 by one or more sensors 60. The calculation unit 113 also calculates the design position of the center of the hand 30 relative to the sensing position P2 based on the posture of the arm 20 at the time the hand 30 is detected by one or more sensors 60. The posture of the arm 20 may be the joint angles of the arm 20 (for example, the angle of the first link 21 relative to the base 11, the angle of the second link 22 relative to the first link 21, and the angle of the third link 23 relative to the second link 22). The calculation unit 113 calculates the design position by quasi-kinematic calculations based on the joint angles of the arm 20 and the design dimensions of the first link 21, the second link 22, the third link 23, and the hand 30. The calculation unit 113 may also calculate the difference between the above-mentioned design position and the above-mentioned actual position as second position information. The calculation unit 113 may also calculate the second position information by subtracting the dimensional errors of the first link 21, the second link 22, the third link 23, and the hand 30 from the difference between the design position and the actual position.
[0038] The generation unit 114 generates an operation program to move the arm 20 to the target position P1 based on the first position information and the second position information. For example, the generation unit 114 calculates the coordinates of the target position in a coordinate system based on the base 11 based on the first position information and the second position information, and generates an operation program to move the center of the hand 30 to the calculated coordinates. Hereinafter, the calculated coordinates will be referred to as "target coordinates". For example, the generation unit 114 calculates multiple waypoints to the target coordinates and generates an operation program (the loading program described above) that includes multiple operation commands to sequentially move the center of the hand 30 to the multiple waypoints. Alternatively, the generation unit 114 may calculate multiple waypoints from the target coordinates to predetermined coordinates in the transport chamber 6 and generate an unloading program that includes multiple operation commands to sequentially move the center of the hand 30 to the multiple waypoints. The generation unit 114 stores the generated operation program in the program storage unit 115.
[0039] The generation unit 114 may generate an operation program by correcting an operation program that has been provisionally generated in advance based on the design information of the substrate transport robot system 7. Hereinafter, the operation program that has been provisionally generated based on the design information of the substrate transport robot system 7 will be referred to as the "design operation program". The design operation program is stored, for example, in the program storage unit 115. The generation unit 114 calculates the coordinates of the target position (the target coordinates mentioned above) in a coordinate system based on the base unit 11, based on the first position information and the second position information. The generation unit 114 calculates the difference between the calculated target coordinates and the design target coordinates, and generates an operation program by correcting the design operation program based on the difference. The generation unit 114 stores the generated operation program in the program storage unit 115. To distinguish it from the design operation program, the operation program that the generation unit 114 stores in the program storage unit 115 will be referred to as the "generated operation program". Thus, generating an operation program also includes correcting the design operation program.
[0040] The control unit 112 operates the arm 20 based on the generated operation program stored in the program storage unit 115. For example, the control unit 112 operates the arm 20 to sequentially move the center of the hand 30 to the above-mentioned intermediate points based on multiple operation commands in the generated operation program. For example, the control unit 112 calculates multiple target joint angles of the arm 20 corresponding to each of the intermediate points by performing inverse kinematic calculations based on the multiple intermediate points and the dimensions (design value or actual value) of the first link 21, second link 22, third link 23, and hand 30, and sequentially changes the joint angles of the arm 20 to the multiple target joint angles. The generation unit 114 may store the combination of the above-mentioned difference and the design operation program as a generated operation program in the program storage unit 115. In this case, the control unit 112 modifies the multiple intermediate points based on the above-mentioned difference and operates the arm 20 to sequentially move the center of the hand 30 to the modified intermediate points.
[0041] As shown in Figure 3, the substrate transport robot system 7 may further include a dummy substrate 70 supported by the hand 30. One or more sensors 60 may detect the dummy substrate 70 supported by the hand 30 as the hand 30. The presence of the hand 30 is recognized by detecting the dummy substrate 70 supported by the hand 30. Therefore, detecting the dummy substrate 70 is included in detecting the hand 30. The dummy substrate 70 has the same planar shape as the substrate W (for example, a circular shape).
[0042] By matching the size of the dummy substrate 70 (for example, the outer diameter of a circular shape) to the size of the substrate W, one or more sensors 60 can be easily shared for detecting the hand 30 and detecting the substrate W. Note that matching the size of the dummy substrate 70 to the size of the substrate W is not limited to making them exactly the same size. For example, matching the size of the dummy substrate 70 to the size of the substrate W may mean, for instance, if the size of the substrate W is detectable by one or more sensors 60, then the size of the dummy substrate 70 may be made detectable by one or more sensors 60. A size detectable by one or more sensors 60 may be, for example, a size that can be simultaneously detected by both of a pair of sensors 60, each of which is an object sensor.
[0043] The calculation unit 113 may calculate second position information based on the change in the posture of the arm 20 while the hand 30 is passing the pair of sensors 60. For example, the calculation unit 113 calculates the actual position of the center of the dummy substrate 70 (the actual position of the center of the hand 30 as described above) based on the posture of the arm 20 at the time when each of the pair of sensors 60 starts detecting the dummy substrate 70, and the posture of the arm 20 at the time when each of the pair of sensors 60 finishes detecting the dummy substrate 70. The calculation unit 113 may further calculate the actual position based on the planar shape of the dummy substrate 70. For example, the control unit 112 operates the arm 20 based on the teaching program described above so that the dummy substrate 70 passes the pair of sensors 60. As a result, the dummy substrate 70 passes the pair of sensors 60, as shown in Figures 3(a) and 3(b).
[0044] The calculation unit 113 calculates the positions of four points on the outer periphery of the dummy substrate 70 as shown in (c) of FIG. 3 based on the posture of the arm 20 at the timing when each of the pair of sensors 60 starts detecting the dummy substrate 70 and the posture of the arm 20 at the timing when each of the pair of sensors 60 finishes detecting the dummy substrate 70. The calculation unit 113 calculates the actual position P12 of the center of the dummy substrate 70 based on the planar shape of the dummy substrate 70 and the positions of the four points. For example, the calculation unit 113 calculates the center of the circle passing through the positions of the four points as the actual position P12. The calculation unit 113 may calculate the center position of the circle passing through the positions of three of the four points (hereinafter referred to as the "first center position"), calculate the center position of the circle passing through the other three of the four points (hereinafter referred to as the "second center position"), and calculate the intermediate position between the first center position and the second center position as the designed position P11.
[0045] The calculation unit 113 further calculates the designed position P11 of the center of the dummy substrate 70 based on the posture of the arm 20 at the timing when both of the pair of sensors 60 finish detecting the dummy substrate 70. The calculation unit 113 calculates the second position information, which is the difference between the designed position of the base 11 with respect to the sensing position P2 and the actual position of the base 11 with respect to the sensing position P2, based on the difference between the designed position P11 and the actual position P12 (hereinafter referred to as the "position error"). For example, the calculation unit 113 calculates the above-mentioned position error as the second position information. The calculation unit 113 may calculate the second position information by subtracting the dimensional errors of the first link 21, the second link 22, the third link 23, and the hand 30 from the above-mentioned position error.
[0046] The calculation unit 113 may further calculate the second position information, which further represents the inclination of the base 11 with respect to the line from the sensing position P2 to the target position P1 (the above-mentioned input / output line), based on the detection result of the hand 30 by one or more sensors 60 and the posture of the arm 20. By relying on the second position information that further represents the inclination of the base 11, an operation program with higher placement accuracy of the hand 30 at the target position P1 can be generated.
[0047] For example, based on the timing when each of the pair of sensors 60 starts detecting the dummy substrate 70, the calculation unit 113 calculates the inclination of the actual line L12 (the line through which the center of the dummy substrate 70 actually passes) with respect to the input / output line L11 as the inclination of the base 11 with respect to the input / output line. By using a plurality of object sensors specialized for detecting the presence or absence of an object, the second position information including the inclination of the base 11 can be easily calculated.
[0048] The hand 30 is configured to support the substrate W without restricting the substrate W with respect to the hand 30, while it may be configured to restrict the position of the dummy substrate 70 with respect to the hand 30. For example, the hand 30 may have a support surface 31 for supporting the substrate W and a recess 32 recessed from the support surface 31. The dummy substrate 70 may have a convex portion 73 that fits into the recess 32 to position the dummy substrate 70 with respect to the hand 30. While providing a degree of freedom in the arrangement of the substrate W with respect to the hand 30, the dummy substrate 70 detected as the hand 30 can be easily positioned with respect to the hand 30.
[0049] For example, the dummy substrate 70 has a front surface 71 facing away from the support surface 31 and a back surface 72 facing the support surface 31. The convex portion 73 protrudes from the back surface 72 and fits into the recess 32. Note that the support surface 31 may be the end faces of a plurality of protrusions each configured to support the substrate W.
[0050] As shown in FIG. 4, the guide surface 33 may have a guide surface 33 that moves the center of the convex portion 73 closer to the center of the recess 32 as the convex portion 73 enters the recess 32. The dummy substrate 70 can be positioned more easily with respect to the hand 30. For example, the guide surface 33 surrounds the internal space of the recess 32 and is formed so as to gradually reduce the diameter as it moves away from the support surface 31.
[0051] As shown in Figure 5, the generation unit 114 may generate an operation program based on the first position information and the second position information to move the arm 20 so that the hand 30 moves from the sensing position P2 to the target position P1. Even while the generated operation program is in operation, the detection results from one or more sensors 60 can be used to detect misalignment of the substrate W relative to the hand 30, etc.
[0052] For example, the controller 100 may further include a positional misalignment detection unit 116 and a correction unit 117 as functional blocks. The positional misalignment detection unit 116 detects the positional misalignment of the substrate W relative to the hand 30 based on the detection results of one or more sensors 60 on the substrate W supported by the hand 30. For example, the positional misalignment detection unit 116 stores a reference position for the positional misalignment of the substrate W and detects the positional misalignment of the center of the substrate W relative to the reference position. For example, the control unit 112 operates the arm 20 based on a generated operation program when the hand 30 is supporting the dummy substrate 70. The positional misalignment detection unit 116 calculates the positions of four points on the outer circumference of the dummy substrate 70 based on the posture of the arm 20 at the timing when each of the pair of sensors 60 starts detecting the dummy substrate 70 and the posture of the arm 20 at the timing when each of the pair of sensors 60 has completed detecting the dummy substrate 70. The positional displacement detection unit 116 calculates the center position CP1 of the dummy substrate 70 based on the positions of four points on the outer circumference of the dummy substrate 70, similar to the calculation method for the actual position P12 by the calculation unit 113 described above, and stores the center position CP1 as the reference position.
[0053] Subsequently, the control unit 112 operates the arm 20 based on the generated operation program while the hand 30 is supporting the substrate W. The positional deviation detection unit 116 calculates the positions of four points on the outer perimeter of the substrate W based on the posture of the arm 20 at the time when each of the pair of sensors 60 starts detecting the substrate W, and the posture of the arm 20 at the time when each of the pair of sensors 60 finishes detecting the substrate W. The positional deviation detection unit 116 calculates the center position CP2 of the substrate W based on the positions of the four points on the outer perimeter of the substrate W, similar to the calculation method for the actual position P12 by the calculation unit 113 described above, and calculates the positional deviation PE of the center position CP2 relative to the center position CP1.
[0054] The correction unit 117 corrects the target position P1 to cancel out the misalignment PE of the substrate W relative to the hand 30. The control unit 112 operates the arm 20 to move the hand 30 to the corrected target position P1 based on the corrected target position P1 and the operation program. In this way, by sharing one or more sensors 60 for detecting the position of the hand 30 and detecting the misalignment of the substrate W relative to the hand 30, the transport accuracy of the substrate W can be improved while simplifying the system configuration.
[0055] Figure 6 is a block diagram illustrating the hardware configuration of the controller 100. As shown in Figure 6, the controller 100 has a circuit 190. The circuit 190 includes a processor 191, a memory 192, a storage 193, an input / output port 194, and a driver circuit 195.
[0056] The storage 193 includes, for example, one or more non-volatile storage media. The non-volatile storage media includes one or more storage devices. Examples of one or more storage devices include hard disk drives, solid-state drives, flash memory, etc. The non-volatile storage media may also include portable storage media such as optical discs. The storage 193 stores a program for causing the controller 100 to execute control of the robot 10. This program causes the controller 100 to execute the following: store first position information representing the positional relationship between the target position of the hand 30 and a predetermined sensing position located away from the target position; control the arm 20 so that the hand 30 passes through the sensing position; detect the hand 30 passing through the sensing position using one or more sensors 60; calculate second position information representing the positional relationship between the sensing position and the base 11 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20; generate an operation program based on the first and second position information to operate the arm 20 so that the hand 30 moves to the target position; and operate the arm 20 based on the generated operation program. For example, this program causes the controller 100 to configure the above-described functional blocks.
[0057] Memory 192 includes one or more volatile storage media. The volatile storage media includes one or more memory devices. An example of one or more memory devices is random access memory. Memory 192 temporarily stores programs loaded from storage 193. Processor 191 includes one or more arithmetic devices. An example of an arithmetic device is a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). Processor 191 executes the programs loaded into memory 192, causing the controller 100 to configure the above-mentioned functional blocks. Processor 191 may temporarily store the calculation results in memory 192.
[0058] The input / output port 194 performs input and output of electrical signals to and from one or more sensors 60 in response to requests from the processor 191. The driver circuit 195 supplies drive power to the motors 51, 52, and 53 in response to requests from the processor 191. The hardware configuration of the controller 100 illustrated above is an example and can be changed.
[0059] [Substrate Transport Procedure] Next, as an example of a substrate transport method, a substrate transport procedure that the controller 100 has the robot 10 execute will be illustrated. This substrate transport procedure includes: storing first position information representing the positional relationship between the target position of the hand 30 and a predetermined sensing position located away from the target position; controlling the arm 20 so that the hand 30 passes through the sensing position; detecting the hand 30 passing through the sensing position using one or more sensors 60; calculating second position information representing the positional relationship between the sensing position and the base 11 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20; generating an operation program that operates the arm 20 to move the hand 30 to the target position, based on the first position information and the second position information; and operating the arm 20 based on the generated operation program.
[0060] For example, as shown in Figure 7, the controller 100 first executes step S01. In step S01, the generation unit 114 reads first position information from the position information storage unit 111.
[0061] Next, the controller 100 executes steps S02, S03, S04, S05, and S06. In step S02, the control unit 112 starts the movement of the arm 20 based on the teaching program described above so that the hand 30 passes through the sensing position P2. For example, the control unit 112 moves the arm 20 so that the hand 30 holds the dummy circuit board 70 stored in a predetermined position. After that, the control unit 112 starts the movement of the arm 20 so that the dummy circuit board 70 held by the hand 30 passes through the sensing position P2.
[0062] In step S03, the calculation unit 113 acquires the orientation of the arm 20 at the time when each of the pair of sensors 60 begins detecting the dummy substrate 70, and the orientation of the arm 20 at the time when each of the pair of sensors 60 has completed detecting the dummy substrate 70. In step S04, based on the information acquired in step S03, the calculation unit 113 calculates the positions of four points on the outer circumference of the dummy substrate 70. Based on the planar shape of the dummy substrate 70 and the positions of the four points, the calculation unit 113 calculates the actual position P12 of the center of the dummy substrate 70. The calculation unit 113 also calculates the design position P11 of the center of the dummy substrate 70 based on the orientation of the arm 20 at the time when both of the pair of sensors 60 have completed detecting the dummy substrate 70.
[0063] In step S05, the calculation unit 113 calculates second position information based on the difference between the design position P11 and the actual position P12. In step S06, the generation unit 114 generates an operation program to move the arm 20 to the target position P1 based on the first position information and the second position information, and stores the generated operation program in the program storage unit 115.
[0064] Next, the controller 100 executes step S07. In step S07, the control unit 112 operates the arm 20 based on the operation program, and the misalignment detection unit 116 acquires information on the reference position of the substrate W. Based on the posture of the arm 20 at the time when each of the pair of sensors 60 starts detecting the dummy substrate 70, and the posture of the arm 20 at the time when each of the pair of sensors 60 finishes detecting the dummy substrate 70, the misalignment detection unit 116 calculates the position of four points on the outer periphery of the dummy substrate 70 based on the planar shape of the dummy substrate 70 and the positions of the four points on the outer periphery of the dummy substrate 70, and stores the center position CP1 as the reference position. After that, the control unit 112 operates the arm 20 to return the dummy substrate 70 to its original position.
[0065] Next, the controller 100 executes step S11. In step S11, the control unit 112 checks whether or not a command to transport the substrate W has been issued by, for example, a higher-level controller. If the controller 100 determines in step S11 that a command to transport the substrate W has been issued, it executes step S12. In step S12, the control unit 112 controls the arm 20 to transport the substrate W based on the operation program stored in the program storage unit 115.
[0066] If the controller 100 determines in step S11 that the transport of the substrate W has not been commanded, it executes step S13. In step S13, the generation unit 114 checks whether a regeneration of the operation program has been requested, for example, by operator input. After the execution of step S12, or after determining in step S13 that a regeneration of the operation program has not been requested, the controller 100 returns to step S11. Thereafter, the execution of step S12 or step S13 is repeated until it is determined in step S13 that a regeneration of the operation program has been requested.
[0067] If it is determined in step S13 that a regeneration of the operation program is required, the controller 100 returns the process to step S01 and regenerates the operation program. Regeneration of the operation program is required, for example, when maintenance work is performed that includes removing the base 11 from the transport chamber 6 and re-fixing the base 11 to the transport chamber 6. In response to this request, the process returns to step S01, and a maintenance procedure is executed that includes controlling the arm 20 so that the hand 30 passes through the sensing position P2, detecting the hand 30 passing through the sensing position P2 with one or more sensors 60, recalculating second position information based on the detection result of the hand 30 by one or more sensors 60 and the posture of the arm 20, and regenerating the operation program based on the first position information and the recalculated second position information.
[0068] Figure 8 is a flowchart illustrating the control procedure of the arm 20 in step S12. As shown in Figure 8, the controller 100 executes steps S21, S22, S23, S24, S25, and S26. In step S21, the control unit 112 operates the arm 20 so that it is supported by the hand 30. In step S22, the control unit 112 moves the hand 30 by the arm 20 so that the substrate W is transported to just before the sensing position P2. In step S23, the control unit 112 operates the arm 20 so that the hand 30 starts moving from the sensing position P2 toward the target position P1.
[0069] In step S24, the misalignment detection unit 116 detects the misalignment of the substrate W relative to the hand 30 based on the detection results of one or more sensors 60 on the substrate W supported by the hand 30. For example, the misalignment detection unit 116 calculates the positions of four points on the outer periphery of the substrate W based on the posture of the arm 20 at the time when each of the pair of sensors 60 starts detecting the substrate W, and the posture of the arm 20 at the time when each of the pair of sensors 60 finishes detecting the substrate W. Based on the planar shape of the substrate W and the positions of the four points on the outer periphery of the substrate W, the misalignment detection unit 116 calculates the center position CP2 of the substrate W and calculates the misalignment PE of the center position CP2 relative to the center position CP1 stored as a reference position as described above. In step S25, the correction unit 117 corrects the target position P1 so as to cancel out the misalignment PE of the substrate W relative to the hand 30. In step S26, the control unit 112 operates the arm 20 to move the hand 30 to the corrected target position P1 based on the corrected target position P1 and the operation program. This completes the transport of the substrate W to the target position P1.
[0070] [Example of Calculation of First Position Information] As shown in Figure 9, the substrate transport robot system 7 may further have a second sensor 81. The second sensor 81 is provided on the dummy substrate 70 to detect the target position P1. As an example of detecting the target position P1, the second sensor 81 may be configured to detect a target TG1 formed at the target position P1 within the peripheral chamber 3. To be configured to detect the target TG1 includes being configured to detect the target TG1 when positioned near the target TG1. The target TG1 may be a recess or a through hole, a projection, or a printed mark. The target TG1 may be circular when viewed from vertically below, or it may be a shape that allows for recognition of its inclination, such as a rectangle.
[0071] For example, the second sensor 81 is provided on the surface 71 of the dummy substrate 70 and detects a target TG1 located above the dummy substrate 70. For example, the second sensor 81 is provided at the center of the surface 71 and detects a target TG1 located vertically above it. As an example, the second sensor 81 may include a camera provided at the center of the surface 71 so as to point vertically upward. When the camera is said to point vertically upward, it means that the optical axis of the camera points vertically upward.
[0072] The calculation unit 113 may calculate first position information based on the detection result of the target position P1 by the second sensor 81, the detection result of the dummy substrate 70 by one or more sensors 60, and the posture of the arm 20. The position information storage unit 111 may store the first position information calculated by the calculation unit 113.
[0073] For example, the control unit 112 moves the hand 30 supporting the dummy substrate 70 and controls the arm 20 to position the second sensor 81 vertically below the target TG1 based on the detection result of the second sensor 81. The target TG1 does not necessarily have to be located at the target position P1, and may be located at a position whose positional relationship with the target position P1 is known. In this case, the arm 20 may be controlled to position the second sensor 81 at the target position P1 based on the detection result of the second sensor 81 and the positional relationship between the target position P1 and the target TG1.
[0074] The control unit 112 moves the hand 30 with the arm 20 so that the dummy substrate 70, positioned so that the second sensor 81 is at the target position P1, exits the peripheral chamber 3 and passes through one or more sensors 60. The calculation unit 113 calculates the position of the dummy substrate 70 relative to P2 and the displacement direction of the dummy substrate 70 relative to P2, based on the detection results of the dummy substrate 70 by one or more sensors 60. The calculation unit 113 also calculates the amount of movement of the dummy substrate 70 from the target position P1 based on the change in the posture of the arm 20 until the dummy substrate 70 passes through one or more sensors 60. Based on the calculated position of the dummy substrate 70 relative to P2, the displacement direction of the dummy substrate 70 relative to P2, and the amount of movement of the dummy substrate 70, the calculation unit 113 calculates first position information representing the positional relationship between the target position P1 and P2 and stores it in the position information storage unit 111.
[0075] The control unit 112 does not necessarily have to position the second sensor 81 at the target position P1 before moving the dummy substrate 70 so that it passes through one or more sensors 60. The control unit 112 may position the second sensor 81 at the target position P1 after moving the dummy substrate 70 so that it passes through one or more sensors 60. For example, the calculation unit 113 calculates the position of the dummy substrate 70 relative to P2 and the displacement direction of the dummy substrate 70 relative to P2 based on the detection results of the dummy substrate 70 by one or more sensors 60. The calculation unit 113 also calculates the movement history of the dummy substrate 70 based on the displacement direction based on the change in the attitude of the arm 20 until the second sensor 81 reaches the target position P1. The calculation unit 113 calculates first position information representing the positional relationship between target position P1 and P2 based on the calculated position of the dummy substrate 70 relative to P2, the displacement direction of the dummy substrate 70 relative to P2, and the movement history of the dummy substrate 70, and stores it in the position information storage unit 111.
[0076] The substrate transport robot system 7 may further have a third sensor 82. The third sensor 82 is provided on the back surface 72 to detect the hand 30. As an example of detecting the hand 30, the third sensor 82 may be configured to detect a target TG2 formed at the center of the hand 30. To be configured to detect the target TG2 includes being configured to detect the target TG2 when positioned near the target TG2. The target TG2 may be a recess or through hole, a projection, or a printed mark. The target TG2 may be circular when viewed from vertically above, or it may be a shape that allows for the recognition of its inclination, such as a rectangle.
[0077] For example, the third sensor 82 detects a target TG2 located below the dummy substrate 70. For example, the third sensor 82 is located at the center of the back surface 72 and detects a target TG2 located vertically below it. As an example, the third sensor 82 may include a camera positioned at the center of the back surface 72 so as to point vertically downward. When the camera is positioned vertically downward, it means that the optical axis of the camera points vertically downward.
[0078] The calculation unit 113 may further calculate second position information based on the detection result of the hand 30 by the third sensor 82 (for example, the detection result of target TG2). For example, the control unit 112 controls the arm 20 to position target TG2 vertically below the third sensor 82 based on the detection result of target TG2 by the third sensor 82, so that the hand 30 supports the dummy substrate 70. The calculation unit 113 calculates the above-mentioned position error based on the posture of the arm 20 at the timing when each of the one or more sensors 60 starts detecting the dummy substrate 70, and the posture of the arm 20 at the timing when each of the one or more sensors 60 has finished detecting the dummy substrate 70. Since the position of target TG2 is aligned with the position of the third sensor 82 at the time the hand 30 supports the dummy substrate 70, the calculation unit 113 may calculate the position error as second position information. The calculation unit 113 may calculate the second position information by subtracting the dimensional errors of the first link 21, the second link 22, the third link 23, and the hand 30 from the position error.
[0079] The control unit 112 does not necessarily have to align the position of the target TG2 with the position of the third sensor 82 to have the hand 30 support the dummy substrate 70. The calculation unit 113 may calculate the positional relationship between the hand 30 and the dummy substrate 70 at the time the hand 30 supports the dummy substrate 70, based on the detection result of the target TG2 by the third sensor 82. The calculation unit 113 may calculate second position information based on the position error described above and the positional relationship between the hand 30 and the dummy substrate 70. The calculation unit 113 may subtract the dimensional errors of the first link 21, the second link 22, the third link 23 and the hand 30 from the position error, and then calculate second position information based on the position error and the positional relationship between the hand 30 and the dummy substrate 70.
[0080] Figure 10 is a flowchart illustrating the procedure for calculating the first position information. This procedure is performed prior to the substrate transport procedure described above (see Figure 7). As shown in Figure 10, the controller 100 first executes steps S31 and S32. In step S31, the control unit 112 controls the arm 20 to position the target TG2 vertically below the third sensor 82, based on the detection result of the target TG2 by the third sensor 82. In step S32, while maintaining the state in which the target TG2 is positioned vertically below the third sensor 82, the control unit 112 controls the arm 20 to cause the hand 30 to support the dummy substrate 70.
[0081] Next, the controller 100 performs steps S33 and S34. In step S33, the control unit 112 moves the hand 30 supporting the dummy substrate 70 and controls the arm 20 to position the second sensor 81 vertically below the target TG1 based on the detection result of the second sensor 81. In step S34, the control unit 112 moves the hand 30 with the arm 20 so that the dummy substrate 70, positioned so that the second sensor 81 is at the target position P1, exits the peripheral chamber 3 and passes one or more sensors 60.
[0082] Next, the controller 100 executes step S35. In step S35, the calculation unit 113 calculates the position of the dummy substrate 70 relative to P2 and the displacement direction of the dummy substrate 70 relative to P2, based on the detection results of the dummy substrate 70 by one or more sensors 60. The calculation unit 113 also calculates the amount of movement of the dummy substrate 70 from the target position P1 based on the change in the attitude of the arm 20 until the dummy substrate 70 passes through one or more sensors 60. Based on the calculated position of the dummy substrate 70 relative to P2, the displacement direction of the dummy substrate 70 relative to P2, and the amount of movement of the dummy substrate 70, the calculation unit 113 calculates first position information representing the positional relationship between the target position P1 and P2, and stores it in the position information storage unit 111.
[0083] The controller 100 may further perform step S36. In step S36, second position information is calculated based on the posture of the arm 20 at the time when each of the one or more sensors 60 starts detecting the dummy substrate 70, and the posture of the arm 20 at the time when each of the one or more sensors 60 finishes detecting the dummy substrate 70. When the controller 100 performs step S36, it is possible to omit the execution of steps S01 to S05 immediately after the first position information is stored in the position information storage unit 111.
[0084] [Summary] The above disclosure includes the following configuration: (1) A substrate transport robot system 7 comprising: a base 11; an arm 20 supported by the base 11; a hand 30 supported at the end of the arm 20 and supporting a substrate; a storage unit 111 that stores first position information representing the positional relationship between a target position P1 of the hand 30 and a predetermined sensing position P2 located away from the target position P1; a control unit 112 that controls the arm 20 so that the hand 30 passes through the sensing position P2; one or more sensors 60 that detect the hand 30 passing through the sensing position P2; a calculation unit 113 that calculates second position information representing the positional relationship between the sensing position P2 and the base 11 based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20; and a generation unit 114 that generates an operation program for operating the arm 20 to move the hand 30 to the target position P1, based on the first position information and the second position information, wherein the control unit 112 operates the arm 20 based on the generated operation program. Based on the first position information stored in the memory unit 111 and the second position information calculated by the calculation unit 113, an action program can be generated to move the hand 30 to the target position P1 without manually teaching the target position P1. Therefore, the robot's movements can be easily taught.
[0085] (2) The substrate transport robot system 7 according to (1), wherein the calculation unit 113 calculates second position information representing the position of the base 11 with respect to the sensing position P2 and the inclination of the base 11 with respect to the line from the sensing position P2 to the target position P1, based on the detection results of the hand 30 by one or more sensors 60 and the posture of the arm 20. By using the second position information which further represents the inclination of the base 11, it is possible to generate an operation program with even higher accuracy in positioning the hand 30 to the target position P1.
[0086] (3) The substrate transport robot system 7 according to (1) or (2), wherein the generation unit 114 generates an operation program for moving the arm 20 to the target position P1 via the sensing position P2, based on the first position information and the second position information. Detection results from one or more sensors 60 can be used even while the generated operation program is in operation.
[0087] (4) The substrate transport robot system 7 according to (3), further comprising: a position deviation detection unit 116 that detects a position deviation of the substrate relative to the hand 30 based on the detection results of one or more sensors 60 of the substrate supported by the hand 30; and a correction unit 117 that corrects the target position P1 so as to cancel out the position deviation of the substrate relative to the hand 30, wherein the control unit 112 operates the arm 20 to move the hand 30 to the corrected target position P1 based on the corrected target position P1 and the operation program. By using one or more sensors 60 for both detecting the position of the hand 30 and detecting the position deviation of the substrate relative to the hand 30, the transport accuracy of the substrate can be improved while simplifying the system configuration.
[0088] (5) A substrate transport robot system 7 according to any one of (1) to (4), wherein one or more sensors 60 each include one or more object sensors that detect the presence or absence of an object at a specific location, and the calculation unit 113 calculates second position information based on the change in the posture of the arm 20 while the hand 30 passes over one or more object sensors. The second position information can be easily calculated using one or more object sensors specialized in detecting the presence or absence of an object.
[0089] (6) A substrate transport robot system 7 according to any one of (1) to (5), wherein one or more sensors 60 include a plurality of object sensors, each detecting the presence or absence of an object at a specific location, and the calculation unit 113 calculates second position information representing the position of the base 11 with respect to the sensing position P2 and the inclination of the base 11 with respect to a line from the sensing position P2 to the target position P1, based on the change in the posture of the arm 20 while the hand 30 passes each of the plurality of object sensors. By using a plurality of object sensors specialized in detecting the presence or absence of an object, the second position information representing the inclination of the base 11 can be easily calculated.
[0090] (7) A substrate transport robot system 7 according to any one of (1) to (6), further comprising a dummy substrate 70 supported by the hand 30, wherein one or more sensors 60 detect the dummy substrate 70 supported by the hand 30 as the hand 30. By matching the size of the dummy substrate 70 to the size of the substrate, one or more sensors 60 can be easily shared for detecting the hand 30 and detecting the substrate supported by the hand 30.
[0091] (8) The substrate transport robot system 7 according to (7), wherein the hand 30 has a support surface 31 for supporting a substrate and a recess 32 recessed from the support surface 31, and the dummy substrate 70 has a protrusion 73 that fits into the recess 32 to position the dummy substrate 70 relative to the hand 30. The dummy substrate 70 detected as the hand 30 can be positioned relative to the hand 30 while allowing a degree of freedom in the placement of the substrate relative to the hand 30.
[0092] (9) The substrate transport robot system 7 according to (8), wherein the recess 32 has a guide surface 33 that moves the center of the protrusion 73 toward the center of the recess 32 as the protrusion 73 enters the recess 32. The dummy substrate 70 can be positioned even more easily relative to the hand 30.
[0093] (10) The substrate transport robot system 7 according to (7), further comprising a second sensor 81 provided on the dummy substrate 70 to detect a target position P1, wherein the calculation unit 113 calculates first position information based on the detection result of the target position P1 by the second sensor 81, the detection results of the dummy substrate 70 by one or more sensors 60 and the posture of the arm 20, and the storage unit 111 stores the first position information calculated by the calculation unit 113. The dummy substrate 70 can be used as the placement space for the second sensor 81, and the effort required to prepare the first position information in advance can be reduced.
[0094] (11) The substrate transport robot system 7 according to (10), wherein the dummy substrate 70 has a front surface 71 facing away from the hand 30 and a back surface 72 facing the hand 30, and the second sensor 81 is provided on the front surface 71. The target position P1 can be detected over a wider range without being obstructed by the hand 30.
[0095] (12) The substrate transport robot system 7 according to (11), further comprising a third sensor 82 provided on the back surface 72 to detect the hand 30, wherein the calculation unit 113 further calculates second position information based on the detection result of the hand 30 by the third sensor 82. A dummy substrate can be further used as the placement space for the third sensor 82 to improve the accuracy of the calculation of the second position information.
[0096] (13) A substrate transport device 2 comprising a substrate transport robot system 7 as described in any one of (1) to (12), and a transport chamber 6 connected to a peripheral chamber 3 capable of accommodating a substrate, and accommodating at least an arm 20 and a hand 30, wherein the target position P1 is located inside the peripheral chamber 3 and the sensing position P2 is located inside the transport chamber 6.
[0097] (14) A semiconductor manufacturing apparatus 1 comprising the substrate transport device 2 described in (13) and a peripheral chamber 3.
[0098] (15) A method for maintaining the substrate transport device 2 described in (13), comprising: removing the base 11 from the transport chamber 6 and re-fixing the base 11 to the transport chamber 6; controlling the arm 20 so that the hand 30 passes through the sensing position P2; detecting the hand 30 passing through the sensing position P2 with one or more sensors 60; recalculating second position information based on the detection result of the hand 30 by one or more sensors 60 and the posture of the arm 20; and regenerating the operation program based on the first position information and the recalculated second position information.
[0099] (16) A method for transporting a substrate using a robot comprising a base 11, an arm 20 supported by the base 11, and a hand 30 supported at the end of the arm 20 for supporting the substrate, the method comprising: storing first position information representing the positional relationship between a target position P1 of the hand 30 and a predetermined sensing position P2 located away from the target position P1; controlling the arm 20 so that the hand 30 passes the sensing position P2; detecting the hand 30 passing the sensing position P2 with one or more sensors 60; calculating second position information representing the positional relationship between the sensing position P2 and the base 11 based on the detection result of the hand 30 by one or more sensors 60 and the posture of the arm 20; generating an operation program for operating the arm 20 to move the hand 30 to the target position P1, based on the first position information and the second position information; and operating the arm 20 based on the generated operation program.
[0100] Although embodiments have been described above, this disclosure is not necessarily limited to the embodiments described above, and various modifications are possible without departing from its essence.
[0101] 1... Semiconductor manufacturing equipment, 3... Peripheral chamber, 2... Substrate transport equipment, 6... Transport chamber, 7... Substrate transport robot system, 11... Base, 20... Arm, 30... Hand, 60... Sensor, 100... Controller, P1... Target position, 111... Memory unit, P2... Sensing position, 112... Control unit, 113... Calculation unit, 114... Generation unit, 70... Dummy substrate, 31... Support surface, 32... Recess, 73... Convex part, 33... Guide surface, 116... Position deviation detection unit, 117... Correction unit.
Claims
1. A substrate transport robot system comprising: a base; an arm supported by the base; a hand supported at the end of the arm and supporting a substrate; a storage unit that stores first position information representing the positional relationship between a target position of the hand and a predetermined sensing position located away from the target position; a control unit that controls the arm so that the hand passes through the sensing position; one or more sensors that detect the hand passing through the sensing position; a calculation unit that calculates second position information representing the positional relationship between the sensing position and the base based on the detection results of the hand by the one or more sensors and the posture of the arm; and a generation unit that generates an operation program for operating the arm to move the hand to the target position, based on the first position information and the second position information, wherein the control unit operates the arm based on the generated operation program.
2. The substrate transport robot system according to claim 1, wherein the calculation unit calculates second position information representing the position of the base relative to the sensing position and the inclination of the base relative to a line extending from the sensing position to the target position, based on the detection result of the hand by the one or more sensors and the posture of the arm.
3. The substrate transport robot system according to claim 1, wherein the generation unit generates an operation program for moving the arm to move the hand from the sensing position to the target position, based on the first position information and the second position information.
4. A substrate transport robot system according to claim 3, further comprising: a positional displacement detection unit that detects a positional displacement of the substrate relative to the hand based on the detection results of the one or more sensors of the substrate supported by the hand; and a correction unit that corrects the target position so as to cancel out the positional displacement of the substrate relative to the hand, wherein the control unit operates the arm to move the hand to the corrected target position based on the corrected target position and the operation program.
5. The substrate transport robot system according to any one of claims 1 to 4, wherein the one or more sensors each include one or more object sensors that detect the presence or absence of an object at a specific location, and the calculation unit calculates the second position information based on the change in the posture of the arm while the hand passes over the one or more object sensors.
6. The substrate transport robot system according to claim 1, wherein the one or more sensors include a plurality of object sensors, each detecting the presence or absence of an object at a specific location, and the calculation unit calculates second position information representing the position of the base relative to the sensing position and the inclination of the base relative to a line from the sensing position to the target position, based on the change in the posture of the arm while the hand passes each of the plurality of object sensors.
7. A substrate transport robot system according to any one of claims 1 to 4, further comprising a dummy substrate supported by the hand, wherein the one or more sensors detect the dummy substrate supported by the hand as the hand.
8. The substrate transport robot system according to claim 7, wherein the hand has a support surface for supporting the substrate and a recess recessed from the support surface, and the dummy substrate has a protrusion that fits into the recess to position the dummy substrate relative to the hand.
9. The substrate transport robot system according to claim 8, wherein the recess has a guide surface that moves the center of the protrusion toward the center of the recess as the protrusion enters the recess.
10. A substrate transport robot system according to claim 7, further comprising a second sensor provided on the dummy substrate to detect the target position, wherein the calculation unit calculates the first position information based on the detection result of the target position by the second sensor, the detection results of the dummy substrate by the one or more sensors, and the posture of the arm, and the storage unit stores the first position information calculated by the calculation unit.
11. The substrate transport robot system according to claim 10, wherein the dummy substrate has a surface facing away from the hand and a back surface facing the hand, and the second sensor is provided on the surface.
12. The substrate transport robot system according to claim 11, further comprising a third sensor provided on the back surface for detecting the hand, wherein the calculation unit calculates the second position information based on the detection result of the hand by the third sensor.
13. A substrate transport device comprising: a substrate transport robot system according to any one of claims 1 to 4; a transport chamber connected to a peripheral chamber capable of accommodating the substrate, and accommodating at least the arm and the hand, wherein the target position is located inside the peripheral chamber and the sensing position is located inside the transport chamber.
14. A semiconductor manufacturing apparatus comprising the substrate transport device according to claim 13 and the peripheral chamber.
15. A method for maintaining a substrate transport device according to claim 13, comprising: removing the base from the transport chamber and re-fixing the base to the transport chamber; controlling the arm so that the hand passes the sensing position; detecting the hand passing the sensing position with one or more sensors; recalculating the second position information based on the detection result of the hand by the one or more sensors and the posture of the arm; and regenerating the operation program based on the first position information and the recalculated second position information.
16. A method for transporting a substrate by a robot comprising a base, an arm supported by the base, and a hand supported at the end of the arm for supporting the substrate, the method comprising: storing first position information representing the positional relationship between a target position of the hand and a predetermined sensing position located away from the target position; controlling the arm so that the hand passes the sensing position; detecting the hand passing the sensing position with one or more sensors; calculating second position information representing the positional relationship between the sensing position and the base based on the detection result of the hand by the one or more sensors and the posture of the arm; generating an operation program for operating the arm to move the hand to the target position, based on the first position information and the second position information; and operating the arm based on the generated operation program.
Citation Information
Patent Citations
Substrate transfer apparatus and method of measuring positional deviation of substrate
JP2024138455A
Robot system and sensing method
WO2023148896A1
Control system, computation module, robot controller, and control method
WO2023171574A1