Operation trajectory generation method and operation trajectory generation device
Patent Information
- Application Number
- JP2023142320
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-01
- Publication Date
- 2025-03-13
AI Technical Summary
【0010】 本開示の動作軌跡生成方法および動作軌跡生成装置によれば、アクセスポイントが3つ以上ある場合でも、動作軌跡を生成するためのユーザの負担が大きくなることを抑制できる。
Smart Images

Figure 2025035336000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a motion trajectory generating method and a motion trajectory generating device. [Background technology]
[0002] Conventionally, a method for generating a motion trajectory of a robot is known. Patent Document 1 discloses a motion trajectory generation method for generating a motion trajectory for moving a robot arm. In the motion trajectory generation method of Patent Document 1, a start point and an end point of a motion are set for the robot arm. Then, the motion trajectory of the robot arm is calculated so as to avoid a preset obstacle. In addition, the shortest motion trajectory is searched for so that the calculated motion trajectory of the robot arm does not take a detour. In addition, the rotation speed and acceleration of each joint of the robot arm are calculated so that the robot arm can operate the calculated motion trajectory in the shortest time. In this way, in the motion trajectory generation method of Patent Document 1, the motion trajectory of the robot arm is optimized. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-193975 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in Patent Document 1, when calculating the motion trajectory of the robot arm, only two points, the start point and the end point of the motion, can be set. Therefore, when there are three or more access points that the robot arm accesses, the user needs to perform an operation to set the start point and the end point for each combination of the access points. This causes a problem in that the burden on the user to generate the motion trajectory of the robot arm is large.
[0005] This disclosure has been made to solve the above-mentioned problems, and one objective of this disclosure is to provide a motion trajectory generating method and a motion trajectory generating device that can suppress the burden on a user to generate a motion trajectory from becoming too great even when there are three or more access points. [Means for solving the problem]
[0006] A motion trajectory generation method according to a first aspect of this disclosure is a motion trajectory generation method for generating a motion trajectory of a substrate transport robot including a horizontal articulated robot arm to which a hand for holding a semiconductor substrate is attached, and includes receiving an input of a placement area in which the robot arm and semiconductor substrate are placed, receiving an input of three or more access points in the placement area to be accessed by the hand, and calculating by simulation a motion trajectory optimized for all combinations of the three or more access points based on predetermined conditions including the time required to transport the semiconductor substrate.
[0007] The motion trajectory generating method according to the first aspect of the disclosure includes, as described above, receiving input of three or more access points in the placement area that the hand accesses, and calculating, by simulation, motion trajectories optimized for all combinations of the three or more access points based on predetermined conditions including the time required to transport the semiconductor substrate. As a result, the user only needs to set three or more access points, and optimized motion trajectories are automatically calculated for all combinations of the three or more access points, so there is no need to set start points and end points for all combinations of the three or more access points. Therefore, even if there are three or more access points, it is possible to suppress the burden on the user to generate motion trajectories from becoming too large.
[0008] A motion trajectory generating device according to a second aspect of this disclosure is a motion trajectory generating device that generates a motion trajectory of a substrate transport robot including a horizontal articulated robot arm to which a hand for holding a semiconductor substrate is attached, and includes an input unit for inputting a placement area in which the robot arm and semiconductor substrate are placed and three or more access points in the placement area to be accessed by the hand, and a processing unit that executes a process of accepting the placement area input to the input unit, a process of accepting the three or more access points input to the input unit, and a process of calculating by simulation a motion trajectory optimized for all combinations of the three or more access points based on specified conditions including the time required to transport the semiconductor substrate.
[0009] As described above, the motion trajectory generating device according to the second aspect of the disclosure includes a processing unit that executes a process of receiving the setting of three or more access points input to the input unit, and a process of calculating an optimized motion trajectory by simulation for all combinations of the three or more access points based on a predetermined condition including the time required for transporting a semiconductor substrate. As a result, the user only needs to set three or more access points to automatically calculate an optimized motion trajectory for all combinations of the three or more access points, so there is no need to set start points and end points for all combinations of the three or more access points. Therefore, even when there are three or more access points, it is possible to provide a motion trajectory generating device that can suppress the burden on the user to generate a motion trajectory from becoming too large. Effect of the Invention
[0010] According to the motion trajectory generating method and motion trajectory generating device of the present disclosure, even when there are three or more access points, it is possible to prevent the burden on the user for generating a motion trajectory from becoming too great. [Brief description of the drawings]
[0011] [Figure 1]FIG. 1 is a diagram showing a substrate transport system and a motion trajectory generating device according to a first embodiment. [Diagram 2] FIG. 2 is a side view of the substrate transport robot according to the first embodiment. [Diagram 3] FIG. 2 is a block diagram of a substrate transport robot according to the first embodiment. [Figure 4] 1 is a block diagram of a motion trajectory generating device according to a first embodiment. [Diagram 5] FIG. 2 is a flow diagram for explaining a motion trajectory generating method according to the first embodiment. [Figure 6] 11 is a diagram for explaining setting of a placement area in which a robot arm and a semiconductor substrate are placed; FIG. [Figure 7] FIG. 13 is a diagram showing a set placement area. [Figure 8] FIG. 13 is a diagram showing a substrate transport robot temporarily placed in a placement area. [Figure 9] FIG. 13 is a diagram for explaining optimization of motion trajectories between access points. [Figure 10] FIG. 13 illustrates an optimized motion trajectory. [Figure 11] FIG. 13 is a diagram for explaining correction of a motion trajectory. [Figure 12] FIG. 11 is a diagram for explaining optimization of movement trajectories between access points according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] [First embodiment] A first embodiment of the present disclosure that embodies the present disclosure will be described below with reference to the drawings. In this specification, the up-down direction is defined as the Z direction. The upper side is defined as the Z1 side, and the lower side is defined as the Z2 side. The direction perpendicular to the Z direction is defined as the X direction. One side of the X direction is defined as the X1 side, and the other side is defined as the X2 side. The direction perpendicular to the Z direction and the X direction is defined as the Y direction. One side of the Y direction is defined as the Y1 side, and the other side is defined as the Y2 side.
[0013] A motion trajectory generating method and a motion trajectory generating device 1 according to a first embodiment will be described. The motion trajectory generating method and the motion trajectory generating device 1 generate a motion trajectory T of a substrate transport robot 100 of a substrate transport system 200. Specifically, the motion trajectory generating method and the motion trajectory generating device 1 generate a motion trajectory T of the substrate transport robot 100 including a horizontal articulated robot arm 30 to which a hand 40 for holding a semiconductor substrate W is attached. The substrate transport system 200 is, for example, an Equipment Front End Module (EFEM). The semiconductor substrate W, the hand 40, and the substrate transport robot 100 are examples of a workpiece, an end effector, and a robot, respectively.
[0014] (Substrate transport system) The substrate transfer system 200 will be described with reference to FIG. 1. The substrate transfer system 200 includes a placement area 210 in which the robot arm 30 and the semiconductor substrate W are placed. Specifically, the placement area 210 includes a placement chamber 211, a FOUP 212, and a processing device 213. The placement area may also include an aligner 214. The placement chamber 211 includes a substrate transfer robot 100. The placement chamber 211 is a space in which the substrate transfer robot 100 is placed, and includes a wall 211a surrounding the substrate transfer robot 100. In the FOUP 212, a plurality of semiconductor substrates W are arranged at equal intervals along the Z direction along a horizontal plane. In the processing device 213, for example, a heat treatment, an impurity introduction process, a thin film formation process, or the like is performed on the semiconductor substrate W. The aligner 214 is a device that performs positioning of the semiconductor substrate W in the rotation direction. For example, a plurality of FOUPs 212 are arranged, and are arranged adjacent to the wall 211a on the Y1 side of the placement chamber 211. For example, a plurality of processing devices 213 are disposed adjacent to the wall 211a on the X2 side of the placement chamber 211. For example, one aligner 214 is disposed adjacent to the wall 211a on the X1 side of the placement chamber 211. The FOUP 212, processing device 213 and aligner 214 are access points accessed by the hand 40. In the substrate transfer system 200, the substrate transfer robot 100 transfers the semiconductor substrate W between the FOUP 212 that accommodates the semiconductor substrate W, the processing device 213 that performs processing on the semiconductor substrate W, and the aligner 214.
[0015] The substrate transport robot 100 will be described with reference to Fig. 2. The substrate transport robot 100 includes a base 10, a lifting mechanism 20, a robot arm 30, a hand 40, and a control unit 50.
[0016] The base 10 and the lifting mechanism 20 will be described. The base 10 is a platform for fixing the substrate transport robot 100 to the placement chamber 211. The lifting mechanism 20 raises and lowers the robot arm 30 along the Z direction. Specifically, the lifting mechanism 20 includes a drive unit 21 such as a servo motor shown in FIG. 3, and raises and lowers the robot arm 30 along the Z direction based on a command from the control unit 50.
[0017] The robot arm 30 will be described. The robot arm 30 is a horizontally articulated robot arm 30 to which a hand 40 for holding a semiconductor substrate W is attached at its tip. Specifically, the robot arm 30 includes a base arm section 31 and a tip arm section 32. The base arm section 31 is disposed on the base end side of the robot arm 30, and the base end rotates around a rotation axis JT1. The tip arm section 32 rotates around a rotation axis JT2 at its base end and is connected to the base arm section 31, and the hand 40 that rotates around a rotation axis JT3 is connected to its tip. The base arm section 31 and the tip arm section 32 are disposed along a horizontal plane. The robot arm 30 is provided with a drive section 33 such as a servo motor shown in FIG. 3 that rotates the base arm section 31, the tip arm section 32, and the hand 40, and the base arm section 31, the tip arm section 32, and the hand 40 are rotated based on a command from the control section 50.
[0018] The hand 40 includes an upper hand 41 and a lower hand 42. The upper hand 41 and the lower hand 42 have the same configuration. The hand 40 has a plate shape extending along the horizontal direction. The hand 40 is bifurcated at the tip side. That is, the hand 40 has a Y shape when viewed from the Z direction. The upper hand 41 and the lower hand 42 both rotate around a rotation axis JT3.
[0019] The configuration of the control unit 50 will be described. The control unit 50 is a robot controller. As shown in FIG. 3, the control unit 50 includes a main control unit 51, a servo control unit 52, and a drive circuit unit 53. The main control unit 51 and the servo control unit 52 include, for example, a CPU (Central Processing Unit). The main control unit 51 controls the drive unit 21 of the lifting mechanism 20 and the drive unit 33 of the robot arm 30. The servo control unit 52 controls the power supplied to the drive unit 21 and the drive unit 33 based on a command from the main control unit 51. The drive circuit unit 53 supplies drive power to the drive unit 21 and the drive unit 33. The drive circuit unit 53 is arranged for each of the drive unit 21 and the drive unit 33. The drive circuit unit 53 may be arranged in common for the drive unit 21 and the drive unit 33. The drive unit 21 and the drive unit 33 each include a servo motor, an encoder, and a reducer.
[0020] (Motion trajectory generation device) The following describes the movement trajectory generation device 1. As shown in Fig. 4, the movement trajectory generation device 1 includes an input unit 2, a display unit 3, a storage unit 4, and a processing unit 5. The movement trajectory generation device 1 is, for example, a PC (personal computer) or a tablet.
[0021] The input unit 2 accepts an input operation from a user. The input unit 2 outputs an input signal corresponding to the input operation to the processing unit 5. For example, the input unit 2 is a keyboard or a mouse. In the first embodiment, the input unit 2 is used to input the placement area 210 in which the robot arm 30 and the semiconductor substrate W are placed, and three or more access points P in the placement area 210 to be accessed by the hand 40. Details of the input of the placement area 210 and the access points P will be described later.
[0022] The display unit 3 displays the motion trajectory T and the like calculated by the processing unit 5 through simulation. The display unit 3 also displays the modeled arrangement area 210 and the substrate transport robot 100 together with the motion trajectory T. The display unit 3 is, for example, a liquid crystal display or an organic EL display.
[0023] The storage unit 4 is a computer-readable storage medium that stores various programs and various data. The storage unit 4 also stores a motion trajectory generation program 4a for the processing unit 5 to execute the motion trajectory generation method. The storage unit 4 is formed of a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or a DVD, or a semiconductor memory.
[0024] The processing unit 5 includes, for example, a processor such as a CPU (Central Processing Unit) and semiconductor memories such as a RAM (Random Access Memory) and a ROM (Read Only Memory). The processing unit 5 reads out a motion trajectory generating program 4a from the storage unit 4. In the first embodiment, the processing unit 5 executes a process of accepting the placement area 210 input to the input unit 2, and a process of calculating, by simulation, a motion trajectory T optimized based on predetermined conditions including the time required for transporting the semiconductor substrate W for all combinations of three or more access points P.
[0025] (Motion trajectory generation method) The motion trajectory generating method will be described below. The motion trajectory generating method described below is executed by the processing unit 5 based on the motion trajectory generating program 4a read out from the storage unit 4.
[0026] As shown in FIG. 5, in step S1, the processing unit 5 accepts an input of a placement area 210 in which the robot arm 30 and the semiconductor substrate W are to be placed. The input of the placement area 210 is executed by a user using the input unit 2. For example, as shown in FIG. 6, the user operates a mouse to move a mouse pointer Q on the display unit 3 to generate the placement area 210. This causes the processing unit 5 to accept an input of the placement area 210 in which the robot arm 30 and the semiconductor substrate W are to be placed. Then, the input placement area 210 is displayed on the display unit 3. For example, in the example shown in FIG. 6, a placement room 211 is set by the user as the placement area 210.
[0027] In step S2, in the first embodiment, the processing unit 5 accepts an input of three or more access points P to be accessed by the hand 40 in the placement area 210. Specifically, the processing unit 5 sets three or more access points P to be accessed by the hand 40 based on an input operation of the user on the input unit 2.
[0028] In the example shown in FIG. 7, four access points P1, P2, P3, and P4 are specified on the display unit 3 by the user operating the mouse. For example, icons representing the four access points P1, P2, P3, and P4 are displayed on the display unit 3, and the user moves the icons representing the four access points P1, P2, P3, and P4 to a predetermined position on the display unit 3 with the pointer Q, thereby specifying the four access points P1, P2, P3, and P4. Then, when the user specifies the access point P on the display unit 3, a diagram modeling the FOOP 212 and the processing device 213 is automatically generated. In the example shown in FIG. 7, the FOOP 212 is generated at the positions of the access points P1 and P2, respectively, and the processing device 213 is generated at the positions of the access points P3 and P4, respectively. In the example shown in FIG. 7, two FOOPs 212 as the access points P are arranged on the Y1 side of the arrangement room 211. In addition, two processing devices 213 as the access points P are arranged on the Y2 side and the X2 side of the arrangement room 211. Thus, in the first embodiment, the placement area 210 includes a placement chamber 211 in which the substrate transport robot 100 is placed, a FOUP 212 serving as an access point P on which the semiconductor substrate W is placed, and a processing device 213 serving as the access point P on which processing is performed on the semiconductor substrate W.
[0029] Also, the user operates the mouse to move the mouse pointer Q on the display unit 3, thereby generating an obstacle 215. As a result, the processing unit 5 receives the input of the obstacle 215. For example, in the example shown in Fig. 7, an obstacle 215 is set on each of the Y1 side and the Y2 side in the placement room 211. The obstacle 215 is, for example, a model of a pillar or the like.
[0030] Note that, instead of the above steps S1 and S2, the placement area 210 may be set by, for example, the user inputting coordinate values via a keyboard or the like. Also, the processing unit 5 may set the placement area 210 by reading CAD data of the placement area 210. Also, although an example of setting a two-dimensional placement area 210 is shown in FIG. 7, a three-dimensional placement area 210 may also be set.
[0031] In step S3, the user inputs predetermined conditions for optimizing the motion trajectory T of the substrate transport robot 100 through the input unit 2. The processing unit 5 sets the predetermined conditions input through the input unit 2. The predetermined conditions are, for example, upper limits of the acceleration and deceleration during the movement of the hand 40, upper limits of the speeds of the robot arm 30 and the hand 40, upper limits of the number of via points from one access point P to another access point P, and ranges of the rotation angles of the robot arm 30 and the hand 40.
[0032] In addition, the upper limit value of the operation speed of the hand 40 can be set to be different between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40. For example, in a state in which the semiconductor substrate W is held by the hand 40, the upper limit value of the operation speed is set lower than that in a state in which the semiconductor substrate W is not held by the hand 40. In this way, in the first embodiment, it is possible to optimize the operation trajectory T such that the operation speed of the hand 40 is different between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40. In addition, the predetermined conditions also include that the robot arm 30 and the hand 40 do not interfere with the wall 211a of the placement chamber 211, the obstacle 215, etc. The user can appropriately select and input the above-mentioned predetermined conditions.
[0033] Here, in the first embodiment, the predetermined condition includes the time required for transporting the semiconductor substrate W. Specifically, the predetermined condition includes at least one of shortening the time required for accessing all of the three or more access points P and shortening the time required for accessing a prioritized access point P among the three or more access points P compared to the other access points P. In this embodiment, the processing unit 5 accepts the selection of the predetermined condition. Specifically, these two predetermined conditions are input by the input unit 2. For example, a button for selecting the predetermined condition may be displayed on the display unit 3. When shortening the time required for accessing all of the three or more access points P is selected as the predetermined condition, the movement trajectory T of the substrate transport robot 100 is optimized so as to shorten the total time required for accessing all of the access points P. Also, when the access point P1 is selected as the prioritized access point P, the shortest access time between the access point P1 and the access points P2, P3, and P4 is prioritized. In this case, the access time between the access points P other than the access point P1 may be delayed. In this case, compared to when the operation trajectory T is optimized to minimize the total time required to access all access points P, the total time required to access all access points P may be longer, while the time required to access access point P1 will be shorter.
[0034] In step S4, the modeled substrate transport robot 100 is provisionally positioned on the display unit 3. As shown in Fig. 8, the user operates the mouse to display the modeled substrate transport robot 100 on the display unit 3. Then, the user operates the mouse to provisionally position the base 10 of the substrate transport robot 100 at an arbitrary position on the display unit 3 using a pointer Q. Note that this provisional positioning of the substrate transport robot 100 can also be performed by inputting coordinate values instead of using the mouse.
[0035] In step S5, in the first embodiment, the processing unit 5 calculates, by simulation, a motion trajectory T optimized for all combinations of three or more access points P based on a predetermined condition including the time required for transporting the semiconductor substrate W. In the example shown in FIG. 9, the motion trajectory T is calculated simultaneously for all combinations of four access points P1, P2, P3, and P4. Specifically, first, the motion trajectory T when accessing each of the access points P2, P3, and P4 from the access point P1 is calculated by simulation. Next, the motion trajectory T when accessing each of the access points P2, P3, and P4 is calculated by simulation in the same manner. In addition, the processing unit 5 starts the calculation operation of the motion trajectory T by, for example, a user pressing an optimization button (not shown) displayed on the display unit 3 by mouse operation. The processing unit 5 calculates the motion trajectory T of the hand 40 that meets the predetermined condition and the motion trajectory of the robot arm 30 according to the motion trajectory T of the hand 40 while changing the position of the base 10. In this way, the motion trajectory T of the hand 40 is calculated while the position of the base 10 is changed, so that a more optimal motion trajectory T is calculated compared to when the motion trajectory T is calculated with the position of the base 10 fixed.
[0036] In the first embodiment, calculating the motion trajectory T by simulation includes calculating an optimized motion trajectory T by simulation while passing through a preset waypoint through which the hand 40 passes. Specifically, several waypoints through which the hand 40 passes are set for each access point P. These waypoints are input by, for example, a user. In the example shown in FIG. 9, a plurality of waypoints P11 and P12 are set for the access point P1. A plurality of waypoints P21 and P22 are set for the access point P2. A plurality of waypoints P31 and P32 are set for the access point P3. A plurality of waypoints P41 and P42 are set for the access point P4. Note that waiting points R1, R2, R3, and R4 at which the robot arm 30 waits in a predetermined posture are also set for the access points P1, P2, P3, and P4, respectively. Note that whether or not to pass through these waypoints can be set by the user. Then, the processing unit 5 generates all patterns of the motion trajectory T passing through the waypoints. For example, for the access point P1, all possible patterns of the movement trajectory T are generated, such as a pattern of the movement trajectory T passing through both the via point P11 and the via point P12, and a pattern of the movement trajectory T passing through only the via point P11. Note that, in the example shown in FIG. 9, between the access point P1 and the access point P2, a pattern of the movement trajectory T passing through the waiting point R1, the via point P11, the via point P12, the via point P22, the via point P21, and the waiting point R2 is shown. Also, between the access point P1 and the access point P3, a pattern of the movement trajectory T passing through the waiting point R1, the via point P11, the via point P32, the via point P31, and the waiting point R2 is shown. Also, between the access point P1 and the access point P4, a pattern of the movement trajectory T passing through the waiting point R1 and the waiting point R4 is shown. Note that, at the points set in common when moving to each access point P, the posture of the substrate transport robot 100 is a common posture.For example, at the waypoint P11, the posture of the substrate transport robot 100 when moving from the access point P1 to the access point P2 is the same as the posture of the substrate transport robot 100 when moving from the access point P1 to the access point P3. Also, in FIG. 9, the modeled substrate transport robot 100 is omitted.
[0037] The processing unit 5 optimizes the position of the base 10 and the motion trajectory T for all the motion trajectories T passing through the waypoints set as described above while checking whether the robot arm 30 and the hand 40 do not interfere with the wall 211a of the placement chamber 211 or the obstacle 215. For example, a method for automatically generating motions that do not cause interference between the robot arm 30 and the hand 40 may be used, such as RRT (Rapidly Exploring Random Tree) or PRM (Probabilistic Road Map Method). In each of the patterns of the generated motion trajectories T, the rotation speed and acceleration of each joint of the robot arm 30 are calculated so that the time required to transport the semiconductor substrate W between the access points P is minimized. Then, the processing unit 5 determines the motion trajectory T with the shortest access time from among the patterns of the generated motion trajectories T as the optimized motion trajectory T.
[0038] Moreover, in the first embodiment, calculating the motion trajectory T by simulation includes calculating an optimized motion trajectory T by simulation for each of the upper hand 41 and the lower hand 42. For example, the hand 40 that the user uses to access each access point P is set to the upper hand 41 or the lower hand 42, and the processing unit 5 calculates the motion trajectory T according to the set upper hand 41 and lower hand 42.
[0039] In the first embodiment, calculating the motion trajectory T by simulation includes calculating an optimized motion trajectory by simulation by making different parameters for controlling the motion of the hand 40 for a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40. For example, a user sets whether or not the hand 40 accesses each access point P and holds the semiconductor substrate W. The parameter for controlling the motion of the hand 40 is, for example, the motion speed. As described above, for example, in a state in which the semiconductor substrate W is held by the hand 40, the upper limit value of the motion speed as a parameter for controlling the motion of the hand 40 is set lower than in a state in which the semiconductor substrate W is not held by the hand 40. As a result, the motion trajectory T is optimized so that the semiconductor substrate W is transported at a low speed when the semiconductor substrate W is held by the hand 40 and is transported at a high speed when the semiconductor substrate W is not held by the hand 40.
[0040] Then, after the processing unit 5 calculates the motion trajectory of the hand 40 and the like, the display unit 3 displays the optimized motion trajectory T calculated by the processing unit 5. For example, as shown by the dotted lines in FIG. 10, the display unit 3 displays the motion trajectory T between the four access points P1, P2, P3, and P4. At this time, the substrate transport robot 100 and the base 10 are placed on the display unit 3 at the positions adopted when calculating the optimized motion trajectory T of the hand 40. In this way, the motion trajectory T calculated by the processing unit 5 is displayed on the display unit 3, so that the user can visually recognize the motion trajectory T.
[0041] In step S6, the processing unit 5 operates the substrate transport robot 100 on the display unit 3 based on the movement trajectory T displayed on the display unit 3. Specifically, the processing unit 5 operates the substrate transport robot 100 on the display unit 3, for example, when the user presses a play button (not shown) displayed on the display unit 3 by mouse operation. The processing unit 5 operates the modeled robot arm 30 and hand 40 on the display unit 3 along the movement trajectory T so that the hand 40 accesses the four access points P1, P2, P3, and P4. In this way, the robot arm 30 and hand 40 operate on the display unit 3 based on the movement trajectory T, so that the user can visually recognize the movement of the robot arm 30 and hand 40 based on the movement trajectory T.
[0042] In step S7, the processing unit 5 judges whether or not a correction instruction has been given by the user. When the user feels that the movements of the robot arm 30 and the hand 40 on the display unit 3 are inappropriate or feels uneasy about the movements of the robot arm 30 and the hand 40, the user issues an instruction to correct the movement trajectory T so as to eliminate the inappropriate or uneasy movements. For example, the user feels that the movements of the robot arm 30 and the hand 40 are inappropriate when the robot arm 30 and the hand 40 are very close to the wall 211a of the placement room 211 or when the robot arm 30 and the hand 40 appear to be making unnecessary movements.
[0043] In step S7, if the user determines that the movements of the robot arm 30 and the hand 40 on the display unit 3 are appropriate and there is no instruction for correction from the user, in step S8, the processing unit 5 determines the movement trajectory T displayed on the display unit 3 as the optimal movement trajectory T. Furthermore, the processing unit 5 creates an operation program for controlling the substrate transport robot 100 in real space based on the determined movement trajectory T of the robot arm 30 and the hand 40.
[0044] In step S7, if the user determines that the movements of the robot arm 30 and the hand 40 are not appropriate, the user performs an input operation as a correction instruction to move a point on the movement trajectory T displayed on the display unit 3. Specifically, as shown in Fig. 11, the user operates the mouse to move a point on the movement trajectory T displayed on the display unit 3 to a desired position by dragging and dropping.
[0045] If a correction instruction is given by the user in step S7, in step S9, the processing unit 5 corrects the movement trajectory T displayed on the display unit 3. Specifically, the processing unit 5 corrects the movement trajectory T based on the movement information of the movement trajectory T according to the user's correction instruction, and displays a new movement trajectory Ta after the correction on the display unit 3. At this time, the movement trajectory Ta after the correction may be a part of the movement trajectory T before the correction, or the entire movement trajectory T before the correction. In FIG. 11, the new movement trajectory Ta after the correction is represented by a dashed line.
[0046] Furthermore, the processing unit 5 corrects the movement trajectory T of the hand 40 displayed on the display unit 3, and also corrects the movement trajectory of the robot arm 30. That is, the processing unit 5 corrects the calculated movement trajectory of the robot arm 30 to a movement trajectory of the robot arm 30 corresponding to the movement trajectory Ta of the hand 40 after the correction.
[0047] When the correction of the motion trajectory T by the processing unit 5 is completed in step S9, the process returns to step S6 again. Then, the processing unit 5 operates the substrate transport robot 100 on the display unit 3 based on the corrected motion trajectory Ta displayed on the display unit 3. Then, in step S7, the operations of steps S6, S7, and S9 are repeated until no correction instruction is given by the user.
[0048] [Effects of the first embodiment] The motion trajectory generating method includes receiving an input of three or more access points P accessed by the hand 40 in the placement area 210, and calculating, by simulation, a motion trajectory T optimized for all combinations of the three or more access points P based on a predetermined condition including a time required for transporting the semiconductor substrate W. As a result, the user only needs to set three or more access points P, and an optimized motion trajectory T is automatically calculated for all combinations of the three or more access points P, so there is no need to set start points and end points for the number of all combinations of the three or more access points P. Therefore, even if there are three or more access points P, it is possible to suppress an increase in the burden on the user for generating the motion trajectory T.
[0049] The predetermined condition includes at least one of shortening the time required for accessing all of the three or more access points P and shortening the time required for accessing a prioritized access point P among the three or more access points P compared to the other access points P. In this way, when the predetermined condition is to shorten the time required for accessing all of the three or more access points P, it is possible to minimize the time required for accessing all of the three or more access points P. Also, when the predetermined condition is to shorten the time required for accessing a prioritized access point P among the three or more access points P, it is possible to shorten the time required for accessing an access point P desired by the user.
[0050] The motion trajectory generating method includes accepting a selection of a predetermined condition, whereby the predetermined condition can be changed according to a user's request.
[0051] Calculating the movement trajectory T by simulation includes calculating an optimized movement trajectory T by simulation while passing through preset waypoints that the hand 40 passes through. Since the waypoints that the hand 40 passes through are determined in advance, the number of options for the movement trajectory T searched for during the simulation can be reduced. This allows the time required to optimize the movement trajectory T to be shortened.
[0052] An upper hand 41 and a lower hand 42 are attached to the robot arm 30, and calculating the movement trajectory T by simulation includes calculating, by simulation, an optimized movement trajectory T for each of the upper hand 41 and the lower hand 42. As a result, the movement trajectory T is optimized for each of the upper hand 41 and the lower hand 42, and therefore the movement trajectory T can be calculated more appropriately than when the movement trajectory T is calculated commonly for the upper hand 41 and the lower hand 42.
[0053] Calculating the movement trajectory T by simulation includes calculating an optimized movement trajectory T by simulation by making the movement speed of the robot arm 30 different between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40. For example, when the movement speed of the robot arm 30 is increased in a state in which the semiconductor substrate W is held by the hand 40, the semiconductor substrate W may fall off from the hand 40. Also, when the movement speed of the robot arm 30 is decreased in a state in which the semiconductor substrate W is not held by the hand 40, the time required to access the access point P becomes longer. Therefore, by making the movement speed of the robot arm 30 different between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40, and calculating an optimized movement trajectory T by simulation, it is possible to calculate a movement trajectory T that is optimized in time while suppressing the semiconductor substrate W from falling off.
[0054] The placement area 210 includes a placement chamber 211 in which the substrate transport robot 100 is placed, a FOUP 212 on which a semiconductor substrate W is placed and which serves as an access point P, and a processing device 213 on which processing of the semiconductor substrate W is performed and which serves as the access point P. Since walls exist between the placement chamber 211, the FOUP 212, and the processing device 213, the substrate transport robot 100 is likely to interfere with the walls. Therefore, optimizing the motion trajectory T of the substrate transport robot 100 which is placed in the placement chamber 211 and which accesses the FOUP 212 and the processing device 213 is particularly effective in suppressing interference.
[0055] [Second embodiment] A motion trajectory generating method according to the second embodiment will be described.
[0056] As shown in FIG. 12, in the second embodiment, unlike the first embodiment, no waypoint is set in advance for each access point P. Note that waiting points R1, R2, R3, and R4 are set in advance for each access point P. Then, in step S5 shown in FIG. 5, calculating the motion trajectory T by simulation includes calculating an optimized motion trajectory T by simulation without restricting the hand 40 to pass through a specific waypoint. That is, the processing unit 5 searches for a motion trajectory T with the shortest access time in the motion trajectory T between the access points P without arranging a common waypoint. In the example shown in FIG. 12, for example, the motion trajectories T for accessing the access points P2, P3, and P4 from the access point P1 are separate from each other, and there is no common waypoint. Note that waiting points R1, R2, R3, and R4 are set in common to the motion trajectory T. Specifically, in the second embodiment, the processing unit 5 randomly generates many patterns of the motion trajectory T that are slightly different from each other, and among them, the motion trajectory T with the shortest access time is set as the optimized motion trajectory T. 5, white circles represent waypoints of the randomly generated motion trajectory T. Other configurations of the second embodiment are similar to those of the first embodiment.
[0057] [Effects of the second embodiment] Calculating the movement trajectory T by simulation includes calculating an optimized movement trajectory T by simulation without restricting the hand 40 to pass through specific way points. This makes it possible to increase the number of options for the movement trajectory T searched for during simulation, compared to a case where the hand 40 passes through specific way points that are determined. As a result, a more optimized movement trajectory T can be calculated. Other effects of the second embodiment are similar to those of the first embodiment.
[0058] [Variations] It should be noted that the embodiments disclosed herein are illustrative and not restrictive in all respects. The scope of the present disclosure is indicated by the claims, not by the description of the embodiments above, and further includes all modifications (variations) within the meaning and scope equivalent to the claims.
[0059] For example, in the above first and second embodiments, an example has been shown in which the predetermined condition includes both making the time required for accessing all of the three or more access points P the shortest and making the time required for accessing a prioritized access point P among the three or more access points P shorter than the time required for accessing the other access points P, but the present disclosure is not limited to this. For example, in the present disclosure, the predetermined condition may include only one of the above two conditions.
[0060] In the first and second embodiments, the processing unit 5 receives a selection of a predetermined condition, but the present disclosure is not limited to this. For example, the predetermined condition may be fixed in advance.
[0061] In the first embodiment, the example in which the movement trajectory T passes through both the preset waypoints and the waiting points is described, but the present disclosure is not limited to this. For example, the movement trajectory T may pass through only the preset waypoints without setting the waiting points.
[0062] In the second embodiment, the motion trajectory T passes through the standby points R1, R2, R3, and R4 that are common to the motion trajectory T, but the present disclosure is not limited to this. For example, the standby points may be set individually for a plurality of motion trajectories T.
[0063] In the above first and second embodiments, the hand 40 includes the upper hand 41 and the lower hand 42, but the present disclosure is not limited to this. For example, the present disclosure may be applied to a substrate transport robot to which only one hand 40 is attached.
[0064] In the above first and second embodiments, the operation speed of the hand 40 is different between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40, but the present disclosure is not limited to this. For example, in a case in which the semiconductor substrate W is fixed to the hand 40, the operation speed of the hand 40 may be the same between a state in which the semiconductor substrate W is held by the hand 40 and a state in which the semiconductor substrate W is not held by the hand 40.
[0065] In the above first and second embodiments, an example has been shown in which the motion trajectory generating method and the motion trajectory generating device 1 generate the motion trajectory T of the substrate transport robot 100 arranged in an EFEM, but the present disclosure is not limited to this. For example, the motion trajectory generating method and the motion trajectory generating device 1 may generate a motion trajectory of the substrate transport robot 100 arranged in an apparatus other than an EFEM.
[0066] In the second embodiment, the processing unit 5 randomly generates many patterns of the movement trajectory T that are slightly different from each other, but the present disclosure is not limited to this. For example, a trained model trained by machine learning may be prepared in advance, in which the arrangement area 210 of many patterns is input and an optimal movement trajectory T is output, and the processing unit 5 may input the arrangement area 210 set in step S1 of FIG. 5 to the trained model, and generate many different movement trajectories T in the vicinity of the movement trajectory T as the initial value, using the output movement trajectory T as an initial value. This can save the effort of searching for the optimal movement trajectory T.
[0067] In the above first and second embodiments, an example has been shown in which the motion trajectory generating method of the present disclosure is executed by the motion trajectory generating device 1 arranged separately from the substrate transport robot 100, but the present disclosure is not limited to this. For example, the control unit 50 of the substrate transport robot 100 or a teaching device that teaches the substrate transport robot 100 may execute the motion trajectory generating method of the present disclosure.
[0068] In the above first and second embodiments, the substrate transport robot 100 is a four-axis horizontal articulated robot including the lifting mechanism 20 and the robot arm 30, but the present disclosure is not limited to this. For example, the substrate transport robot 100 may be a three-axis horizontal articulated robot that does not have the lifting mechanism 20.
[0069] In the above first and second embodiments, an example has been shown in which the placement area 210 includes the placement chamber 211, the FOUP 212, and the processing device 213 when calculating the optimal motion trajectory T, but the present disclosure is not limited to this. For example, the placement chamber 211 may include an aligner 214, etc.
[0070] In the above-described first embodiment, when the motion trajectory T is calculated by simulation, an example is shown in which an optimized motion trajectory T is calculated by simulation while passing through a preset waypoint that the hand 40 passes through, but the present disclosure is not limited to this. For example, when calculating the motion trajectory by simulation, the waypoint that the hand 40 passes through may be optimized, and an optimized motion trajectory T may be calculated by simulation while passing through the optimized waypoint. That is, in the first embodiment, the waypoint that the hand 40 passes through is input by the user and set in advance, while the waypoint may also be optimized by simulation. This can save the user's effort, and since the waypoint is also optimized, a more optimized motion trajectory T can be calculated.
[0071] In the above first and second embodiments, an example has been shown in which the present disclosure is applied to the substrate transport robot 100 that transports the semiconductor substrate W by the hand 40, but the present disclosure is not limited to this. For example, the present disclosure may be applied to a robot that transports a workpiece other than the semiconductor substrate W by an end effector.
[0072] In the above first and second embodiments, the robot arm 30 is a horizontally articulated robot arm 30, but the present disclosure is not limited to this. For example, the present disclosure may be applied to a vertically articulated robot arm other than a horizontally articulated robot arm.
[0073] In the above first and second embodiments, the parameter for controlling the movement of the hand 40 is the movement speed, but the present disclosure is not limited to this. For example, acceleration, accuracy, which is the accuracy of the movement of the hand 40, or the like may be applied as a parameter for controlling the movement of the hand 40.
[0074] In the above first and second embodiments, an example has been shown in which the substrate transfer system 200 is an EFEM in which the semiconductor substrate W is transferred between the FOUP 212 and the processing device 213, but the present disclosure is not limited to this. For example, the present disclosure may be applied to a sorter in which the semiconductor substrate W is transferred between the FOUP 212, a stocker in which the semiconductor substrate W is transferred between the FOUP 212 and a substrate storage chamber, or a vacuum processing device in which the semiconductor substrate W is transferred between the processing devices 213.
[0075] In the above description, the configuration of the first embodiment and the configuration of the second embodiment are described separately, but the user may be able to select between the configuration of the first embodiment and the configuration of the second embodiment.
[0076] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general purpose processors, special purpose processors, integrated circuits, Application Specific Integrated Circuits (ASICs), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. Processors are considered processing circuits or circuits because they include transistors and other circuits. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or the processor.
[0077] [Aspects] It will be appreciated by those skilled in the art that the exemplary embodiments described above are examples of the following aspects.
[0078] (Aspect 1) A motion trajectory generation method for generating a motion trajectory of a robot including a robot arm to which an end effector for holding a workpiece is attached, comprising the steps of: Receiving an input of a placement area in which the robot arm and the workpiece are to be placed; receiving an input of three or more access points in the placement area to be accessed by the end effector; and calculating, through simulation, an optimized motion trajectory for all combinations of three or more of the access points based on specified conditions including the time required to transport the work.
[0079] (Aspect 2) The predetermined condition is: shortening the time required for accessing all of the three or more access points; and making a time required for accessing a prioritized access point among the three or more access points shorter than that required for accessing other access points.
[0080] (Aspect 3) 3. The motion trajectory generating method according to aspect 2, further comprising accepting a selection of the predetermined condition.
[0081] (Aspect 4) The motion trajectory generation method according to any one of aspects 1 to 3, wherein calculating the motion trajectory by simulation includes calculating an optimized motion trajectory by simulation while passing through preset waypoints that the end effector passes through.
[0082] (Aspect 5) A motion trajectory generation method according to any one of aspects 1 to 4, wherein calculating the motion trajectory by simulation includes calculating an optimized motion trajectory by simulation without restricting the end effector to pass through specific intermediate points.
[0083] (Aspect 6) A motion trajectory generation method according to any one of aspects 1 to 5, wherein calculating the motion trajectory by simulation includes optimizing via-points through which the end effector passes, and calculating the optimized motion trajectory by simulation while passing through the optimized via-points.
[0084] (Aspect 7) A plurality of the end effectors are attached to the robot arm, The motion trajectory generation method according to any one of aspects 1 to 6, wherein calculating the motion trajectory by simulation includes calculating an optimized motion trajectory for each end effector by simulation.
[0085] (Aspect 8) The motion trajectory generation method according to any one of aspects 1 to 7, wherein calculating the motion trajectory by simulation includes calculating an optimized motion trajectory by simulation by changing parameters that control the movement of the end effector for a state in which the workpiece is held by the end effector and a state in which the workpiece is not held by the end effector.
[0086] (Aspect 9) The workpiece includes a semiconductor substrate, The end effector includes a hand. The motion trajectory generation method according to any one of aspects 1 to 8, wherein the robot arm includes a horizontal articulated robot arm.
[0087] (Aspect 10) The arrangement region is a placement room in which the robot is placed; The motion trajectory generation method according to aspect 9, further comprising at least one of a FOUP on which the semiconductor substrate is placed and a processing device that performs processing on the semiconductor substrate.
[0088] (Aspect 11) A motion trajectory generation device that generates a motion trajectory of a robot including a robot arm to which an end effector that holds a workpiece is attached, comprising: an input unit for inputting a placement area in which the robot arm and the workpiece are placed, and three or more access points in the placement area to be accessed by the end effector; A process of receiving the placement area input to the input unit; A process of receiving three or more access points inputted to the input unit; A processing unit that executes a process of calculating, by simulation, an optimized motion trajectory for all combinations of three or more access points based on specified conditions including the time required to transport the work. [Explanation of symbols]
[0089] 1 Motion trajectory generation device 2 Input section 5 Processing section 30 Robot Arm 40 Hand (end effector) 100 Substrate transport robot (robot) 210 Placement area 211 Placement room 212 Hoop 213 Processing equipment P, P1, P2, P3, P4 Access Points P11, P12, P21, P22, P31, P32, P41, P42 Waypoints T motion trajectory W Semiconductor substrate (work)
Claims
1. A motion trajectory generation method for generating a motion trajectory of a robot including a robot arm to which an end effector for holding a workpiece is attached, comprising the steps of: Receiving an input of a placement area in which the robot arm and the workpiece are placed; receiving an input of three or more access points to be accessed by the end effector in the placement area; and calculating, by simulation, an optimized motion trajectory for all combinations of three or more of the access points based on specified conditions including the time required to transport the work.
2. The predetermined condition is: shortening the time required for accessing all of the three or more access points; 2. The motion trajectory generating method according to claim 1, further comprising at least one of: making a time required for accessing a prioritized access point among the three or more access points shorter than that required for accessing other access points.
3. The motion trajectory generating method according to claim 2 , further comprising accepting a selection of the predetermined condition.
4. The movement trajectory generating method according to claim 1 , wherein calculating the movement trajectory by simulation includes calculating an optimized movement trajectory by simulation while passing through preset waypoints that the end effector passes through.
5. The movement trajectory generating method according to claim 1 , wherein calculating the movement trajectory by simulation includes calculating an optimized movement trajectory by simulation without restricting the end effector to pass through specific intermediate points.
6. The motion trajectory generating method according to claim 1, wherein calculating the motion trajectory by simulation includes optimizing via-points through which the end effector passes, and calculating the optimized motion trajectory by simulation while passing through the optimized via-points.
7. A plurality of the end effectors are attached to the robot arm, The movement trajectory generating method according to claim 1 , wherein calculating the movement trajectory by simulation includes calculating an optimized movement trajectory for each of the end effectors by simulation.
8. 2. The motion trajectory generating method according to claim 1, wherein calculating the motion trajectory by simulation includes calculating an optimized motion trajectory by simulation by changing parameters that control the movement of the end effector for a state in which the workpiece is held by the end effector and a state in which the workpiece is not held by the end effector.
9. The workpiece includes a semiconductor substrate, The end effector includes a hand. The movement trajectory generating method according to claim 1 , wherein the robot arm includes a horizontal articulated robot arm.
10. The arrangement region is a placement room in which the robot is placed; The motion trajectory generating method according to claim 9 , further comprising at least one of a FOUP on which the semiconductor substrate is placed and a processing device that performs processing on the semiconductor substrate.
11. A motion trajectory generation device that generates a motion trajectory of a robot including a robot arm to which an end effector that holds a workpiece is attached, comprising: an input unit for inputting a placement area in which the robot arm and the workpiece are placed, and three or more access points in the placement area to be accessed by the end effector; A process of receiving the placement area input to the input unit; A process of receiving three or more access points inputted to the input unit; A processing unit that executes a process of calculating through simulation an optimized motion trajectory for all combinations of three or more access points based on specified conditions including the time required to transport the work.
Citation Information
Patent Citations
Robot track generation method, robot track generation device, and manufacturing method
JP2019193975A