Operation trajectory generation method and operation trajectory generation device

JP2025035335APending Publication Date: 2025-03-13KAWASAKI JUKOGYO KK

Patent Information

Application Number
JP2023142319
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-01
Publication Date
2025-03-13

AI Technical Summary

Benefits of technology

【0010】 本開示の動作軌跡生成方法および動作軌跡生成装置によれば、動作軌跡の最適化に要する時間を短縮することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025035335000001_ABST
    Figure 2025035335000001_ABST
Patent Text Reader

Abstract

To provide an operation trajectory generation method capable of reducing the time required for optimization of an operation trajectory.SOLUTION: An operation trajectory generation method generates an operation trajectory T of a substrate transporting robot 100 including a horizontal articulated robot arm 30 attached with a hand 40 for holding a semiconductor substrate W. The operation trajectory generation method comprises: receiving an input of a layout of a disposition region 210 where the robot arm 30 and the semiconductor substrate W are disposed; and acquiring a candidate for the operation trajectory T with respect to the received layout of the disposition region 210 by using a trained model 4b trained by machine learning using the layouts of the disposition region 210 as training data as inputs and the operation trajectories as outputs.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

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 user sets a start point and an end point of the motion of a robot arm placed in a virtual space. Then, various motion trajectories of the robot arm are searched for so as to avoid obstacles placed in the virtual space in which the robot arm is placed. In addition, the rotation speed and acceleration of each joint of the robot arm are calculated so that the robot arm can move along the searched motion trajectory in the shortest time. In this way, the motion trajectory generation method of Patent Document 1 optimizes the motion trajectory of the robot arm. [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] In Patent Document 1, various motion trajectories of a robot arm are searched for so as to avoid obstacles placed in a virtual space in which the robot arm is placed. However, in order to optimize the motion trajectory, it is necessary to search for various motion trajectories over a relatively wide range in the virtual space. This causes a problem in that it takes a long time to optimize the motion trajectory.

[0005] This disclosure has been made to solve the above-mentioned problems, and one objective of this disclosure is to provide a movement trajectory generation method and a movement trajectory generation device that can shorten the time required to optimize a movement trajectory. [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 robot including a robot arm to which an end effector for holding a workpiece is attached, and includes accepting input of a layout of a placement area in which the robot arm and the workpiece are placed, and obtaining motion trajectory candidates for the accepted layout of the placement area using a trained model learned by machine learning in which the layout of the placement area as training data is input and a motion trajectory is output.

[0007] The motion trajectory generating method according to the first aspect of the present disclosure includes, as described above, acquiring motion trajectory candidates for a layout of a received placement area using a trained model trained by machine learning in which the layout of the placement area as teacher data is input and the motion trajectory is output. Since the motion trajectory candidates are acquired using the trained model, the range for searching for the motion trajectory can be narrowed down to the acquired candidates. As a result, the time required for optimizing the motion trajectory can be shortened.

[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 robot including a robot arm to which an end effector that holds a workpiece is attached, and includes an input unit for inputting a layout of a placement area in which the robot arm and the workpiece are placed, a process for accepting the layout of the placement area input to the input unit, and a processing unit that executes a process for obtaining candidates for motion trajectories for the accepted layout of the placement area using a learned model learned by machine learning that inputs the layout of the placement area as teacher data and outputs a motion trajectory.

[0009] The motion trajectory generating device according to the second aspect of the disclosure includes a processing unit that executes the following processes: accepting the layout of the placement area input to the input unit, and acquiring candidates of motion trajectories for the accepted layout of the placement area using a trained model trained by machine learning that inputs the layout of the placement area as teacher data and outputs a motion trajectory. Since candidates of motion trajectories are acquired using the trained model, the range for searching for motion trajectories can be narrowed down to the acquired candidates. As a result, a motion trajectory generating device that can shorten the time required for optimizing a motion trajectory can be provided. Effect of the Invention

[0010] According to the movement trajectory generation method and movement trajectory generation device disclosed herein, it is possible to reduce the time required to optimize a movement trajectory. [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. 13 is a diagram for explaining a method for generating a trained model for acquiring candidates for motion trajectories. [Figure 6] FIG. 2 is a flow diagram for explaining a motion trajectory generating method according to the first embodiment. [Figure 7] 11 is a diagram for explaining setting of a placement area in which a robot arm and a semiconductor substrate are placed; FIG. [Figure 8] FIG. 13 is a diagram showing a set placement area. [Figure 9] FIG. 13 is a diagram showing a substrate transport robot selected by a user and temporarily placed in a placement area. [Figure 10] FIG. 13 is a diagram for explaining acquisition of candidates for motion trajectories using a learned model. [Figure 11] FIG. 13 illustrates an optimized motion trajectory. [Figure 12] FIG. 13 is a diagram for explaining correction of a motion trajectory. [Figure 13] FIG. 11 is a diagram showing a robot controller as a motion trajectory generating device according to a 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) An example of a substrate transfer system 200 will be described with reference to FIG. 1. The substrate transfer system 200 includes a placement area 210 in which a robot arm 30 and a 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 210 may also include an aligner 214. 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 placed 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, three FOUPs 212 are arranged, and are disposed adjacent to the wall 211a on the Y1 side of the placement chamber 211. For example, two processing devices 213 are arranged, and are disposed adjacent to the wall 211a on the X2 side of the placement chamber 211. For example, one aligner 214 is arranged, and 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 form an access point P 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] 1 shows the layout of a placement area 210 in which a placement chamber 211 in which the substrate transport robot 100 is placed, three FOUPs 212 in which semiconductor substrates W are placed, two processing devices 213 in which processing is performed on the semiconductor substrates W, and one aligner 214 are placed. Note that the layout of the placement area 210 is not limited to the example shown in Fig. 1, and the number and positions of the FOUPs 212, the number and positions of the processing devices 213, the number and positions of the aligners 214, the presence or absence of the aligner 214, etc. can be changed.

[0016] An example of 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.

[0017] 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.

[0018] 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.

[0019] 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.

[0020] 2 shows an example in which the substrate transport robot 100 has a lifting mechanism 20, a base-end arm section 31, a tip arm section 32, an upper hand 41, and a lower hand 42. Note that the type of substrate transport robot 100 is not limited to the example shown in Fig. 2, and the number and length of the hands, the presence or absence of the lifting mechanism 20, the number and length of the arms, etc. can be changed.

[0021] 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.

[0022] (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, a processing unit 5, and a machine learning unit 6. The movement trajectory generation device 1 is, for example, a PC (personal computer) or a tablet.

[0023] 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 for inputting the layout of the placement area 210 in which the robot arm 30 and the semiconductor substrate W are placed. Details of inputting the layout of the placement area 210 will be described later.

[0024] The display unit 3 displays the optimized motion trajectory T and the like acquired by the processing unit 5. 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.

[0025] 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 a motion trajectory generation method. The storage unit 4 also stores a trained model 4b, which will be described later. The storage unit 4 is formed of a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or DVD, or a semiconductor memory.

[0026] The processing unit 5 includes, for example, a processor such as a CPU (Central Processing Unit) and a semiconductor memory 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 a layout of the placement area 210 input to the input unit 2, and a process of acquiring a candidate for the motion trajectory T for the accepted layout of the placement area 210 using a trained model 4b trained by machine learning in which the layout of the placement area 210 as teacher data is input and the motion trajectory T is output.

[0027] The machine learning unit 6 generates the trained model 4b. In the first embodiment, the trained model 4b is trained by machine learning using the layout of the placement area 210 as the teacher data as input and the movement trajectory T as the output. The trained model 4b is trained by inputting the type of the substrate transport robot 100 in addition to the layout of the placement area 210 as the teacher data. Specifically, in the first embodiment, the trained model 4b is trained by machine learning using multiple layouts of the placement area 210 as the teacher data. The trained model 4b outputs an optimal movement trajectory T. Then, the processing unit 5 executes a process of acquiring a candidate for the optimized movement trajectory T for the layout of the accepted placement area 210. In detail, as shown in FIG. 5, first, multiple layouts of the placement area 210 are prepared as teacher data for input. In FIG. 5, six layouts L1, L2, L3, L4, L5, and L6 are shown as an example. The layouts L1 to L6 are different in the number and position of the FOUPs 212, the number and position of the processing devices 213, and the like. In addition, two types of substrate transport robots 100a and 100b are shown in FIG. 5. The substrate transport robot 100a has two hands, and the substrate transport robot 100b has one hand. In addition, an optimized motion trajectory T is prepared as training data for output. In FIG. 5, six motion trajectories T1, T2, T3, T4, T5, and T6 are shown as an example. Each of the layouts L1 to L6 corresponds to each of the optimized motion trajectories T1 to T6. Then, the machine learning unit 6 generates a trained model 4b by machine learning a plurality of layouts of the placement area 210 as training data for input and the optimized motion trajectory T as training data for output. The generated trained model 4b is stored in the storage unit 4. In addition, the machine learning is, for example, deep learning.

[0028] (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.

[0029] As shown in FIG. 6, in step S1, the processing unit 5 accepts input of the operable range of the substrate transport robot 100. The operable range of the placement area 210 is input by the user using the input unit 2. For example, as shown in FIG. 7, the user generates the operable range by operating the mouse to move the mouse pointer Q on the display unit 3. This causes the processing unit 5 to accept the input of the operable range. Then, the input operable range is displayed on the display unit 3. For example, in the example shown in FIG. 7, one placement room 211 is set as the operable range by the user.

[0030] In step S2, in the first embodiment, the processing unit 5 accepts an input of an access point P to be accessed by the hand 40 in the placement area 210. Specifically, the processing unit 5 sets the access point P to be accessed by the hand 40 based on an input operation of the user on the input unit 2.

[0031] In the example shown in FIG. 8, five access points P1, P2, P3, P4, and A1 are specified on the display unit 3 by the user operating the mouse. For example, icons representing the five access points P1, P2, P3, P4, and A1 are displayed on the display unit 3, and the user moves the icons representing the five access points P1, P2, P3, P4, and A1 to a predetermined position on the display unit 3 with the pointer Q, thereby specifying the five access points P1, P2, P3, P4, and A1. Then, when the user specifies the access point P on the display unit 3, a diagram modeling the FOOP 212, the processing device 213, and the aligner 214 is automatically generated. In the example shown in FIG. 8, the FOOP 212 is generated at the positions of the access points P1 and P2, the processing device 213 is generated at the positions of the access points P3 and P4, and the aligner 214 is generated at the position of the access point A1. In the example shown in FIG. 8, 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 access points P are arranged on the Y2 side and the X2 side of the placement chamber 211. In addition, an aligner 214 as an access point P is arranged on the X1 side of the placement chamber 211. Thus, in the first embodiment, the placement area 210 includes the placement chamber 211 in which the substrate transport robot 100 is placed, the FOUP 212 in which the semiconductor substrate W is placed and serves as the access point P, the processing device 213 as the access point P in which processing is performed on the semiconductor substrate W, and the aligner 214 as the access point P. Thus, in the first embodiment, the layout of the placement area 210 manually set by the user is accepted in steps S1 and S2. That is, as the layout of the placement area 210, the layout of the placement chamber 211 in which the substrate transport robot 100 is placed, the FOUP 212 in which the semiconductor substrate W is placed, the processing device 213 in which processing is performed on the semiconductor substrate W, and the aligner 214 is accepted.

[0032] Also, the user operates the mouse to move the mouse pointer Q on the display unit 3 to generate an obstacle 215. As a result, the processing unit 5 accepts the input of the obstacle 215. For example, in the example shown in FIG. 8, 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. The obstacle 215 is also accepted as a layout of the placement area 210.

[0033] Note that instead of the above steps S1 and S2, the placement area 210 may be set by the user inputting coordinate values ​​using a keyboard or the like.

[0034] In step S3, the user inputs a predetermined condition for optimizing the movement trajectory T of the substrate transport robot 100 through the input unit 2. The processing unit 5 sets the predetermined condition input through the input unit 2. The predetermined condition is, for example, the upper limit of each of the acceleration and deceleration during the movement of the hand 40, the upper limit of the speed of the robot arm 30 and the hand 40, the upper limit of the number of via points from one access point P to another access point P, and the range of the rotation angle of the robot arm 30 and the hand 40. In addition, the upper limit of the movement acceleration and deceleration of the hand 40 can be set to a different value depending on whether the semiconductor substrate W is held by the hand 40 or not. For example, when the semiconductor substrate W is held by the hand 40, the upper limit of the movement acceleration and deceleration is set lower than when the semiconductor substrate W is not held by the hand 40. In addition, the predetermined condition also includes 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 condition.

[0035] In step S4, as shown in FIG. 9, the modeled substrate transport robot 100 is provisionally placed on the display unit 3. Specifically, in the first embodiment, the user inputs the type of the substrate transport robot 100 through the input unit 2. For example, icons representing a plurality of types of substrate transport robots 100 are displayed on the display unit 3, and the user selects an icon representing the substrate transport robot 100 on the display unit 3 with the pointer Q. The processing unit 5 accepts the input of the type of the substrate transport robot 100. Then, 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 place the base 10 of the substrate transport robot 100 at an arbitrary position on the display unit 3 with the pointer Q. Note that this provisional placement of the substrate transport robot 100 can also be performed by inputting coordinate values ​​instead of using the mouse.

[0036] 10, in step S5, in the first embodiment, the processing unit 5 acquires a candidate for an optimized motion trajectory T for the accepted layout of the placement area 210, using a trained model 4b trained by machine learning that inputs multiple layouts of the placement area 210 as teacher data and outputs an optimal motion trajectory T. Specifically, the processing unit 5 acquires a candidate for an optimized motion trajectory T for the accepted layout of the placement area 210 and the type of the substrate transport robot 100, using the trained model 4b.

[0037] In step S6, in the first embodiment, the processing unit 5 searches for an optimized motion trajectory T using the motion trajectory T output by the learned model 4b as an initial value. The processing unit 5 starts searching for an optimized motion trajectory T, for example, when the user presses an optimization button (not shown) displayed on the display unit 3 by mouse operation. The processing unit 5 searches for a motion trajectory T of the hand 40 that meets a predetermined condition and a motion trajectory T of the robot arm 30 corresponding to the motion trajectory T of the hand 40 while changing the position of the base 10. In this way, since the motion trajectory T of the hand 40 is searched while the position of the base 10 is changed, a more optimal motion trajectory T is searched for compared to a case where the motion trajectory T is searched with the position of the base 10 fixed. In addition, the processing unit 5 optimizes the position of the base 10 and the motion trajectory T while checking whether the robot arm 30 and the hand 40 do not interfere with the wall 211a or the obstacle 215 of the placement room 211. As a method for automatically generating an operation that does not cause interference between the robot arm 30 and the hand 40, for example, a Rapidly Exploring Random Tree (RRT) or a Probabilistic Road Map Method (PRM) is used. In addition, the rotation speed and acceleration of each joint of the robot arm 30 are calculated so that the time required for transporting the semiconductor substrate W between the access points P is minimized.

[0038] Then, after the processing unit 5 calculates the motion trajectory T of the hand 40 and the like, the display unit 3 displays the optimized motion trajectory T. For example, as shown by the dotted lines in FIG. 11, the display unit 3 displays the motion trajectory T between the five access points P1, P2, P3, P4, and A1. At this time, the substrate transport robot 100 and the base 10 are placed on the display unit 3 at the positions adopted when the optimized motion trajectory T of the hand 40 is calculated. 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.

[0039] In step S7, 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 five access points P1, P2, P3, P4, and A1. 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.

[0040] In step S8, 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 are inappropriate or feels uneasy about the movements of the robot arm 30 and the hand 40 upon viewing the movements of the robot arm 30 and the hand 40 on the display unit 3, 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.

[0041] In step S8, 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 S9, 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.

[0042] In step S8, 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. 12, 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.

[0043] In step S8, if a correction instruction is given by the user, in step S10, 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. 12, the new movement trajectory Ta after the correction is represented by a dashed line.

[0044] 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.

[0045] When the correction of the motion trajectory T by the processing unit 5 is completed in step S10, the process returns to step S7 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 S7, 8, and S10 are repeated until no correction instruction is given by the user.

[0046] [Effects of the first embodiment] The movement trajectory generation method includes acquiring candidates for the movement trajectory T for the accepted layout of the placement area 210 using a trained model 4b trained by machine learning that inputs the layout of the placement area 210 as training data and outputs the movement trajectory T. Since candidates for the movement trajectory T are acquired using the trained model 4b, the range for searching the movement trajectory T can be narrowed down to the acquired candidates. As a result, the time required for optimizing the movement trajectory T can be shortened.

[0047] The movement trajectory generation method includes searching for an optimized movement trajectory T using the movement trajectory T output by the trained model 4b as an initial value. As a result, candidates for the movement trajectory T are acquired using the trained model 4b, and therefore the time required to optimize the movement trajectory T can be easily shortened compared to the case where a large number of movement trajectory T patterns are randomly generated and an optimal movement trajectory T is searched for from among them.

[0048] Accepting input of the layout of the placement area 210 includes accepting the layout of the placement area 210 manually set by the user. This makes it possible to easily obtain candidates for the motion trajectory T simply by inputting the layout of the placement area 210 manually set by the user.

[0049] The trained model 4b is trained using multiple types of substrate transport robots 100 as input, in addition to multiple layouts of the placement area 210 as training data. The motion trajectory generating method includes receiving an input of the type of substrate transport robot 100. Obtaining a candidate for an optimized motion trajectory T includes obtaining a candidate for an optimized motion trajectory T for the received layout of the placement area 210 and the type of substrate transport robot 100, using the trained model 4b. This makes it possible to easily obtain a candidate for a motion trajectory T using the trained model 4b, even if the type of substrate transport robot 100 is changed.

[0050] The layout of the placement area 210 includes a layout of a placement chamber 211 in which the substrate transport robot 100 is placed, a FOUP 212 on which the semiconductor substrate W is placed, and a processing device 213 that performs processing on the semiconductor substrate W. This makes it possible to shorten the time required to optimize the motion trajectory T in the semiconductor manufacturing equipment including the placement chamber 211, the FOUP 212, and the processing device 213.

[0051] The movement trajectory generation method includes acquiring a candidate for an optimized movement trajectory T for the accepted layout of the placement area 210 using a trained model 4b trained by machine learning that inputs the layout of the placement area 210 as training data and outputs an optimal movement trajectory T. Since a candidate for the movement trajectory T optimized using the trained model 4b is acquired, the range for searching the movement trajectory T can be narrowed down by the acquired candidate. As a result, the time required for optimizing the movement trajectory T can be further shortened.

[0052] [Second embodiment] A motion trajectory generating device 301 according to the second embodiment will be described.

[0053] As shown in FIG. 13, in the second embodiment, a movement trajectory generation program 304a and a learned model 304b are stored in the storage unit 304 of the robot controller 350, and the robot controller 350 generates a movement trajectory T of the substrate transport robot 100. Specifically, the learned model 304b is learned by inputting an image G in which the layout of the placement area 210 is captured as teacher data. The layout of the placement area 210 is captured by an imaging unit 310 such as a camera. The input unit 302 then receives the image G in which the layout of the placement area 210 is captured. The input unit 302 is, for example, a communication unit disposed in the robot controller 350 and into which data of the image G from the imaging unit 310 is input. The processing unit 305 then acquires a candidate for an optimized movement trajectory T for the image G in which the layout of the placement area 210 is captured, using the learned model 304b. The trained model 304b is generated in advance by a personal computer or the like separate from the robot controller 350, and is stored in the storage unit 304. Then, the processing unit 305 searches for an optimized movement trajectory T using the movement trajectory T output by the trained model 304b as an initial value.

[0054] [Effects of the second embodiment] Accepting input of the layout of the placement area 210 includes accepting an image G in which the layout of the placement area 210 is captured. This eliminates the need for the user to manually set the placement area 210, thereby saving the user the trouble of setting the placement area 210.

[0055] The input unit 302 receives an image G of the layout of the placement area 210, and the learned model 304b learns using the image G of the layout of the placement area 210 as teacher data as an input, and the robot controller 350 acquires a candidate for an optimized movement trajectory T for the image G of the layout of the placement area 210 using the learned model 304b. As a result, when the robot controller 350 and the robot arm 30 controlled by the robot controller 350 are placed in the placement area 210, the movement setting of the robot arm 30 can be easily executed by simply inputting the image G of the layout of the placement area 210 to the input unit 302. Note that other effects of the second embodiment are similar to those of the first embodiment.

[0056] [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.

[0057] For example, in the above first and second embodiments, the trained model 4b outputs an optimized motion trajectory T, but the present disclosure is not limited to this. For example, the trained model 4b may output a motion trajectory T in the middle of being optimized.

[0058] In the above first and second embodiments, the processing units 5 and 305 use the movement trajectory T output by the trained model 4b as an initial value to search for an optimized movement trajectory T, but the present disclosure is not limited to this. For example, the processing units 5 and 305 may use the movement trajectory T output by the trained model 4b as the optimized movement trajectory T.

[0059] In the above first embodiment, the processing unit 5 receives the layout of the placement area 210 manually set by the user, but the present disclosure is not limited to this. For example, the processing unit may receive CAD data of the layout of the placement area 210, which is computer-aided design data. This eliminates the need for the user to manually set the placement area 210, thereby saving the user the trouble of setting the layout of the placement area 210.

[0060] In the above first and second embodiments, examples have been shown in which the trained models 4b and 304b are trained using multiple types of substrate transport robots 100 as inputs as training data in addition to multiple layouts of the placement area 210 as training data, but the present disclosure is not limited to this. For example, the trained model may be trained using only multiple layouts of the placement area 210 as training data as inputs. In this case, there is one type of substrate transport robot 100. The trained model may also be trained using one layout of the placement area 210 and multiple types of substrate transport robots 100 as inputs.

[0061] In the above first and second embodiments, an example has been shown in which the layout of the placement area 210 includes the layout of the placement chamber 211 in which the substrate transport robot 100 is placed, the FOUP 212 in which the semiconductor substrate W is placed, the processing device 213 in which processing is performed on the semiconductor substrate W, and the aligner 214, but the present disclosure is not limited to this. For example, the layout of the placement area 210 does not need to include all of the placement chamber 211, FOUP 212, processing device 213, and aligner 214, and may include components other than the placement chamber 211, FOUP 212, processing device 213, and aligner 214.

[0062] In the above first embodiment, the movement trajectory generating device 1 includes the machine learning unit 6, and the trained model 4b is generated by the machine learning unit 6 of the movement trajectory generating device 1. However, the present disclosure is not limited to this. For example, the trained model 4b may be generated by a personal computer or the like separate from the movement trajectory generating device 1, and the generated trained model 4b may be stored in the storage unit 4 of the movement trajectory generating device 1.

[0063] In the above second embodiment, the trained model 304b is generated in advance by a personal computer or the like separate from the robot controller 350 and stored in the storage unit 304 of the robot controller 350, but the present disclosure is not limited to this. For example, the robot controller 350 may include a machine learning unit that generates the trained model 304b.

[0064] 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.

[0065] 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.

[0066] 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.

[0067] 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.

[0068] [Aspects] It will be appreciated by those skilled in the art that the exemplary embodiments described above are examples of the following aspects.

[0069] (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 layout of an arrangement area in which the robot arm and the workpiece are to be arranged; A method for generating a motion trajectory, comprising: obtaining motion trajectory candidates for a received layout of a placement area using a trained model trained by machine learning in which the layout of the placement area as training data is input and a motion trajectory is output.

[0070] (Aspect 2) 2. The movement trajectory generating method according to aspect 1, further comprising: searching for the movement trajectory using the movement trajectory output by the trained model as an initial value.

[0071] (Aspect 3) Receiving an input of a layout of the placement area accepting a layout of the placement area manually set by a user; receiving CAD data of a layout of the placement area, the CAD data being computer-aided design data; and receiving an image in which a layout of the placement area is captured.

[0072] (Aspect 4) The trained model is trained using the layout of the placement area as training data and the type of the robot as training data, receiving an input of a type of the robot; The acquiring of the candidate motion trajectories includes: The movement trajectory generation method according to any one of aspects 1 to 3, further comprising: using the learned model to obtain movement trajectory candidates for the accepted layout of the placement area and the type of the robot.

[0073] (Aspect 5) 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 4, wherein the robot arm includes a horizontal articulated robot arm.

[0074] (Aspect 6) The layout of the placement area is a placement room in which the robot is placed; The motion trajectory generation method according to aspect 5, 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.

[0075] (Aspect 7) The motion trajectory generation method according to any one of aspects 1 to 6, wherein obtaining the candidate motion trajectories includes obtaining optimized candidate motion trajectories for the layout of the accepted placement area using the trained model trained by machine learning that inputs the layout of the placement area as the training data and outputs an optimal motion trajectory.

[0076] (Aspect 8) 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 layout of a placement area in which the robot arm and the workpiece are placed; A process of accepting a layout of the placement area inputted to the input unit; A motion trajectory generating device comprising: a processing unit that executes a process of acquiring motion trajectory candidates for a received layout of a placement area using a learned model trained by machine learning in which the layout of the placement area as training data is input and a motion trajectory is output.

[0077] (Aspect 9) The input unit receives an image of a layout of the placement area, The trained model is trained using an image of the layout of the placement area as training data, 9. The motion trajectory generation device according to claim 8, wherein the processing unit includes a robot controller that uses the learned model to acquire motion trajectory candidates for an image in which a layout of the placement area is captured. [Explanation of symbols]

[0078] 1, 301 Motion trajectory generation device 2, 302 Input section 4b, 304b trained model 5, 305 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 350 Robot Controller G Image 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 layout of an arrangement area in which the robot arm and the workpiece are to be arranged; A method for generating a motion trajectory, comprising: obtaining motion trajectory candidates for a received layout of a placement area using a trained model trained by machine learning in which the layout of the placement area as training data is input and a motion trajectory is output.

2. The movement trajectory generating method according to claim 1 , further comprising: searching for the movement trajectory using the movement trajectory output by the learned model as an initial value.

3. Receiving an input of a layout of the placement area accepting a layout of the placement area manually set by a user; receiving CAD data of a layout of the placement area, the CAD data being computer-aided design data; and receiving an image in which the layout of the placement area is captured.

4. The trained model is trained using the layout of the placement area as training data and the type of the robot as training data, receiving an input of a type of the robot; The acquiring of the candidate motion trajectories includes: The movement trajectory generating method according to claim 1 , further comprising: obtaining movement trajectory candidates for the accepted layout of the placement area and the type of the robot using the learned model.

5. 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.

6. The layout of the placement area is a placement room in which the robot is placed; The motion trajectory generating method according to claim 5 , further comprising at least one of a FOUP on which the semiconductor substrate is placed and a processing device that executes processing on the semiconductor substrate.

7. The motion trajectory generating method of claim 1, wherein obtaining the motion trajectory candidates includes obtaining optimized motion trajectory candidates for the accepted layout of the placement area using the trained model trained by machine learning that inputs the layout of the placement area as the training data and outputs an optimal motion trajectory.

8. 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 layout of a placement area in which the robot arm and the workpiece are placed; A process of accepting a layout of the placement area inputted to the input unit; A motion trajectory generating device comprising: a processing unit that executes a process of acquiring motion trajectory candidates for a received layout of a placement area using a learned model trained by machine learning in which the layout of the placement area as training data is input and a motion trajectory is output.

9. The input unit receives an image of a layout of the placement area, The trained model is trained using an image of the layout of the placement area as training data, The motion trajectory generation device according to claim 8 , wherein the processing unit includes a robot controller that uses the learned model to obtain candidates for motion trajectories for an image in which a layout of the placement area is captured.

Citation Information

Patent Citations

  • Robot track generation method, robot track generation device, and manufacturing method

    JP2019193975A

Cited By

  • Method and system for generating anthropomorphic sliding track

    CN121639840A