Operation trajectory generation method and operation trajectory generation device

WO2025047558A1PCT designated stage expired Publication Date: 2025-03-06KAWASAKI JUKOGYO KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/029771
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-08-22
Publication Date
2025-03-06

Smart Images

  • Figure JP2024029771_06032025_PF_FP_ABST
    Figure JP2024029771_06032025_PF_FP_ABST
Patent Text Reader

Abstract

This operation trajectory generation method comprises: receiving an input of a layout of a disposition region (210); and acquiring a candidate for an 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 layout of the disposition region (210) as an input and outputting the operation trajectory (T).
Need to check novelty before this filing date? Find Prior Art

Description

Motion trajectory generation method and motion trajectory generation device

[0001] The present disclosure relates to a motion trajectory generation method and a motion trajectory generation device.

[0002] Conventionally, a method for generating a motion trajectory of a robot is known. JP 2019-193975 A discloses a motion trajectory generation method for generating a motion trajectory for moving a robot arm. In the motion trajectory generation method of JP 2019-193975 A, 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 where the robot arm is placed. Furthermore, the rotational 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 JP 2019-193975 A optimizes the motion trajectory of the robot arm.

[0003] Japanese Patent Application Laid-Open No. 2019-193975

[0004] In Japanese Patent Laid-Open Publication No. 2019-193975, 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, various motion trajectories must be searched over a relatively wide range in the virtual space. This poses 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 purpose 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.

[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 workpiece are placed, and obtaining motion trajectory candidates for the accepted layout of the placement area using a trained model learned by machine learning that inputs the layout of the placement area as training data and outputs a motion trajectory.

[0007] As described above, a motion trajectory generation method according to a first aspect of the present disclosure includes acquiring motion trajectory candidates for a received layout of an arrangement area using a trained model trained by machine learning, in which the layout of the arrangement area as training data is input and a motion trajectory is output. Since motion trajectory candidates are acquired using the trained model, the range for searching for motion trajectories can be narrowed to the acquired candidates. As a result, the time required to optimize the motion trajectories can be reduced.

[0008] A motion trajectory generation device according to a second aspect of this disclosure is 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, 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 process for obtaining candidate motion trajectories for the accepted layout of the placement area using a trained model learned by machine learning that inputs the layout of the placement area as training data and outputs a motion trajectory.

[0009] As described above, a motion trajectory generation device according to a second aspect of this disclosure includes a processing unit that executes: a process of accepting a layout of an arrangement area input to an input unit; and a process of acquiring motion trajectory candidates for the accepted layout of an arrangement area using a trained model trained by machine learning, in which the layout of the arrangement area as training data is input and a motion trajectory is output. Since motion trajectory candidates 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 generation device that can shorten the time required to optimize a motion trajectory can be provided.

[0010] According to the movement trajectory generation method and movement trajectory generation device of the present disclosure, it is possible to reduce the time required to optimize a movement trajectory.

[0011] FIG. 1 is a diagram showing a substrate transport system and a motion trajectory generation device according to a first embodiment. FIG. 2 is a side view of a substrate transport robot according to the first embodiment. FIG. 3 is a block diagram of a substrate transport robot according to the first embodiment. FIG. 4 is a block diagram of a motion trajectory generation device according to the first embodiment. FIG. 5 is a diagram explaining a method for generating a learned model for acquiring candidates for motion trajectories. FIG. 6 is a flow diagram explaining a motion trajectory generation method according to the first embodiment. FIG. 7 is a diagram explaining setting of a placement area in which a robot arm and a semiconductor substrate are placed. FIG. 8 is a diagram showing the set placement area. FIG. 9 is a diagram showing a substrate transport robot selected by a user and temporarily placed in the placement area. FIG. 10 is a diagram explaining acquisition of candidates for motion trajectories using a learned model. FIG. 11 is a diagram showing an optimized motion trajectory. FIG. 12 is a diagram explaining correction of a motion trajectory. FIG. 13 is a diagram showing a robot controller as a motion trajectory generation device according to a second embodiment.

[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 referred to as the Z direction. The upper side is referred to as the Z1 side, and the lower side is referred to as the Z2 side. The direction perpendicular to the Z direction is referred to as the X direction. One side of the X direction is referred to as the X1 side, and the other side is referred to as the X2 side. The direction perpendicular to the Z direction and the X direction is referred to as the Y direction. One side of the Y direction is referred to as the Y1 side, and the other side is referred to as the Y2 side.

[0013] A motion trajectory generation method and a motion trajectory generation device 1 according to a first embodiment will be described. The motion trajectory generation method and the motion trajectory generation device 1 generate a motion trajectory T of a substrate transport robot 100 of a substrate transport system 200. Specifically, the motion trajectory generation method and the motion trajectory generation 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 Transfer 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 hoop 212, and a processing device 213. The placement area 210 may also include an aligner 214. The placement chamber 211 is where the substrate transfer robot 100 is placed. 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 hoop 212, multiple semiconductor substrates W are placed at equal intervals along the Z direction along a horizontal plane. In the processing device 213, processes such as heat treatment, impurity introduction process, and thin film formation process are performed on the semiconductor substrate W. The aligner 214 is a device that positions the semiconductor substrate W in the rotational 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 FOUPs 212, processing devices 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 stores the semiconductor substrate W, the processing devices 213 that perform processing on the semiconductor substrate W, and the aligner 214.

[0015] 1 shows the layout of an arrangement area 210 in which an arrangement chamber 211 in which the substrate transport robot 100 is placed, three hoops 212 in which semiconductor substrates W are placed, two processing devices 213 that perform processing on the semiconductor substrates W, and one aligner 214 are placed. Note that the layout of the arrangement area 210 is not limited to the example shown in Fig. 1, and the number and positions of the hoops 212, the number and positions of the processing devices 213, the number and positions of the aligners 214, whether or not an aligner 214 is provided, 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 now be described. The base 10 is a platform for fixing the substrate transfer 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 is provided with 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 commands from the control unit 50.

[0018] The robot arm 30 will now be described. The robot arm 30 is a horizontally articulated robot arm having a hand 40 attached to its tip for holding a semiconductor substrate W. 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 its base end rotates around a rotation axis JT1. The tip arm section 32 has its base end rotated around a rotation axis JT2 and connected to the base arm section 31, and has a hand 40 connected to its tip that rotates around a rotation axis JT3. 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 unit 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. The base arm section 31, the tip arm section 32, and the hand 40 are rotated based on commands from a control unit 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 horizontally. The tip of the hand 40 is bifurcated. In other words, when viewed from the Z direction, the hand 40 has a Y shape. Both the upper hand 41 and the lower hand 42 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 arm 31, a distal arm 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 each include, for example, a central processing unit (CPU). 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 commands 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 provided for each of the drive unit 21 and the drive unit 33. Note that the drive circuit unit 53 may be provided 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] (Movement 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 input operations 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 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 movement trajectory T acquired by the processing unit 5. The display unit 3 also displays the modeled placement area 210 and the substrate transport robot 100 together with the movement 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 that the processing unit 5 uses to execute the 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 by 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 semiconductor memories such as a RAM (Random Access Memory) and a ROM (Read Only Memory). The processing unit 5 reads out a motion trajectory generation program 4a from the storage unit 4. In the first embodiment, the processing unit 5 executes the following processes: accepting a layout of the placement area 210 input to the input unit 2; and acquiring candidates for the motion trajectory T for the accepted layout of the placement area 210 using a trained model 4b trained by machine learning, which inputs the layout of the placement area 210 as training data and outputs the motion trajectory T.

[0027] The machine learning unit 6 generates a 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 training data as input and the movement trajectory T as output. Furthermore, the trained model 4b is trained using the type of substrate transport robot 100 as input in addition to the layout of the placement area 210 as training data. Specifically, in the first embodiment, the trained model 4b is trained by machine learning using multiple layouts of the placement area 210 as training data. Furthermore, the trained model 4b outputs an optimal movement trajectory T. Then, the processing unit 5 executes a process of acquiring a candidate for an optimized movement trajectory T for the accepted layout of the placement area 210. In detail, as shown in FIG. 5 , multiple layouts of the placement area 210 are first prepared as training 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 differ in the number and positions of FOUPs 212, the number and positions of processing devices 213, etc. FIG. 5 also shows two types of substrate transport robots 100a and 100b. The substrate transport robot 100a has two hands, and the substrate transport robot 100b has one hand. An optimized motion trajectory T is prepared as training data for output. FIG. 5 shows six motion trajectories T1, T2, T3, T4, T5, and T6 as an example. Each of the layouts L1 to L6 corresponds to each of the optimized motion trajectories T1 to T6. The machine learning unit 6 then generates a trained model 4b by machine learning multiple 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. The machine learning may be, for example, deep learning.

[0028] (Movement Trajectory Generation Method) The movement trajectory generation method described below is executed by the processing unit 5 based on the movement trajectory generation program 4 a 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 a 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. The input operable range is then displayed on the display unit 3. For example, in the example shown in Fig. 7 , the user sets one placement chamber 211 as the operable range.

[0030] In step S2, in the first embodiment, the processing unit 5 receives 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 by 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 designated 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 designates the five access points P1, P2, P3, P4, and A1 by moving the icons representing the five access points P1, P2, P3, P4, and A1 to predetermined positions on the display unit 3 with the pointer Q. Then, when the user designates an access point P on the display unit 3, a diagram modeling the hoop 212, processing device 213, and aligner 214 is automatically generated. In the example shown in FIG. 8 , hoops 212 are generated at the positions of access points P1 and P2, processing devices 213 are generated at the positions of access points P3 and P4, and an aligner 214 is generated at the position of access point A1. In the example shown in FIG. 8 , two hoops 212 serving as access points P are arranged on the Y1 side of the placement chamber 211. Furthermore, two processing devices 213 serving as access points P are disposed on the Y2 side and the X2 side of the placement chamber 211. Furthermore, an aligner 214 serving as an access point P is disposed on the X1 side of the placement chamber 211. As described above, in the first embodiment, the placement area 210 includes the placement chamber 211 in which the substrate transport robot 100 is disposed, the FOUP 212 in which the semiconductor substrate W is placed and serving as the access point P, the processing device 213 serving as the access point P in which processing is performed on the semiconductor substrate W, and the aligner 214 serving as the access point P. As described above, 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, the layout of the placement area 210 includes the placement chamber 211 in which the substrate transport robot 100 is disposed, the FOUP 212 in which the semiconductor substrate W is placed, the processing device 213 serving as the access point P in which processing is performed on the semiconductor substrate W, and the aligner 214.

[0032] Furthermore, the user generates an obstacle 215 by operating the mouse to move the mouse pointer Q on the display unit 3. This causes the processing unit 5 to accept input of the obstacle 215. For example, in the example shown in FIG. 8 , obstacles 215 are set on both the Y1 side and the Y2 side of the placement room 211. The obstacles 215 are, for example, modeled pillars. The obstacles 215 are also accepted as part of the layout of the placement area 210.

[0033] Note that instead of 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 predetermined conditions for optimizing the movement trajectory T of the substrate transport robot 100 via the input unit 2. The processing unit 5 sets the predetermined conditions input via the input unit 2. The predetermined conditions include, for example, upper limits for the acceleration and deceleration of the hand 40 during movement, upper limits for the speed of the robot arm 30 and the hand 40, upper limits for the number of waypoints 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. The upper limit for the movement acceleration and deceleration of the hand 40 can also be set to different values ​​depending on whether a semiconductor substrate W is held by the hand 40 or not. For example, when a semiconductor substrate W is held by the hand 40, the upper limit for the movement acceleration and deceleration is set lower than when a semiconductor substrate W is not held by the hand 40. The predetermined conditions also include the robot arm 30 and the hand 40 not interfering with the wall 211 a of the placement chamber 211 or an obstacle 215. The user can appropriately select and input the above-described predetermined conditions.

[0035] In step S4, as shown in FIG. 9 , the modeled substrate transport robot 100 is temporarily positioned on the display unit 3. Specifically, in the first embodiment, the user inputs the type of substrate transport robot 100 using the input unit 2. For example, icons representing multiple 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 using the pointer Q. The processing unit 5 accepts the input of the type of 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 temporarily position the base 10 of the substrate transport robot 100 at an arbitrary position on the display unit 3 using the pointer Q. Note that this temporary positioning 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 training 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 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 movement trajectory T using the movement trajectory T output by the trained model 4b as an initial value. The processing unit 5 starts searching for the optimized movement trajectory T, for example, when the user presses an optimization button (not shown) displayed on the display unit 3 with a mouse. The processing unit 5 searches for the movement trajectory T of the hand 40 that meets predetermined conditions and the movement trajectory T of the robot arm 30 corresponding to the movement trajectory T of the hand 40 while changing the position of the base 10. In this way, the movement trajectory T of the hand 40 is searched while the position of the base 10 is changed, so a more optimal movement trajectory T is searched for compared to when the movement trajectory T is searched with the position of the base 10 fixed. Furthermore, the processing unit 5 optimizes the position of the base 10 and the movement trajectory T while checking whether the robot arm 30 and the hand 40 interfere with the wall 211a of the placement chamber 211 or an obstacle 215. Methods such as RRT (Rapidly Exploring Random Tree) and PRM (Probabilistic Road Map Method) are used to automatically generate operations that prevent interference between the robot arm 30 and the hand 40. Furthermore, the rotational speed and acceleration of each joint of the robot arm 30 are calculated so as to minimize the time required to transport the semiconductor substrate W between the access points P.

[0038] After the processing unit 5 calculates the motion trajectory T of the hand 40 and the like, the optimized motion trajectory T is displayed on the display unit 3. 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 display unit 3 positions the substrate transport robot 100 and the base 10 at the positions that were used 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, allowing the user to 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, allowing the user to 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 determines whether or not a correction instruction has been given by the user. If the user views the movements of the robot arm 30 and the hand 40 on the display unit 3 and feels that the movements of the robot arm 30 and the hand 40 are inappropriate or feel uncomfortable with the movements of the robot arm 30 and the hand 40, the user gives an instruction to correct the movement trajectory T so as to eliminate the inappropriate or uncomfortable movements. For example, the user may feel that these movements are inappropriate when the robot arm 30 and the hand 40 come very close to the wall 211a of the placement chamber 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 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 hand 40.

[0042] In step S8, if the user determines that the movements of the robot arm 30 and the hand 40 are inappropriate, 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] If a correction instruction is given by the user in step S8, then 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 in accordance with the user's correction instruction, and displays a new movement trajectory Ta after correction on the display unit 3. At this time, the corrected movement trajectory Ta may be a movement trajectory T obtained by correcting a part of the movement trajectory T before correction, or may be a movement trajectory T obtained by correcting the entire movement trajectory T before correction. In Fig. 12, the new movement trajectory Ta after 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 processing unit 5 finishes correcting the motion trajectory T in step S10, the process returns to step S7. 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, S8, 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, which inputs the layout of the placement area 210 as training data and outputs the movement trajectory T. In this way, candidates for the movement trajectory T are acquired using the trained model 4b, and the range for searching for the movement trajectory T can be narrowed down to the acquired candidates. As a result, the time required to optimize the movement trajectory T can be shortened.

[0047] The movement trajectory generation method includes using the movement trajectory T output by the trained model 4b as an initial value and searching for an optimized movement trajectory T. In this way, 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 a 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 generation method includes accepting input of the type of substrate transport robot 100. Obtaining a candidate for an optimized motion trajectory T includes using the trained model 4b to obtain a candidate for an optimized motion trajectory T for the accepted layout of the placement area 210 and the type of substrate transport robot 100. This makes it possible to easily obtain a candidate for the 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, FOUP 212, and 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, which inputs the layout of the placement area 210 as training data and outputs an optimal movement trajectory T. In this way, a candidate for the movement trajectory T optimized using the trained model 4b is acquired, and the range for searching for the movement trajectory T can be narrowed down by the acquired candidate. As a result, the time required to optimize the movement trajectory T can be further reduced.

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

[0053] As shown in FIG. 13 , in the second embodiment, a motion 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 motion trajectory T of the substrate transport robot 100. Specifically, the learned model 304b is trained using an image G of a captured layout of the placement area 210 as training 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 of the captured layout of the placement area 210. The input unit 302 is, for example, a communication unit disposed in the robot controller 350 and inputs the data of the image G from the imaging unit 310. The processing unit 305 then uses the learned model 304b to acquire a candidate for an optimized motion trajectory T for the image G of the captured layout of the placement area 210. 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. The processing unit 305 then 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] Receiving input of the layout of the placement area 210 includes receiving an image G of an image of the layout of the placement area 210. 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, the learned model 304b is trained using the image G of the layout of the placement area 210 as training data as input, and the robot controller 350 uses the learned model 304b to acquire a candidate for an optimized movement trajectory T for the image G of the layout of the placement area 210. 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, it is possible to easily set the movement of the robot arm 30 simply by 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] [Modifications] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is defined by the claims, not by the description of the above-mentioned embodiments, and includes all modifications (modifications) within the meaning and scope of the claims.

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

[0058] In the first and second embodiments, the processing units 5 and 305 use the movement trajectory T output by the trained model 4 b 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 4 b as the optimized movement trajectory T.

[0059] In the 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 reducing the user's effort in setting the layout of the placement area 210.

[0060] Furthermore, in the above-described 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 input 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 models may be trained using only multiple layouts of the placement area 210 as training data. In this case, there is only one type of substrate transport robot 100. Furthermore, the trained models may be trained using one layout of the placement area 210 and multiple types of substrate transport robots 100 as input.

[0061] In the first and second embodiments, an example has been shown in which the layout of the placement area 210 includes the placement chamber 211 in which the substrate transport robot 100 is placed, the FOUP 212 on which the semiconductor substrate W is placed, the processing device 213 that performs processing on the semiconductor substrate W, and the aligner 214. However, 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, or may include components other than the placement chamber 211, FOUP 212, processing device 213, and aligner 214.

[0062] In the first embodiment, the movement trajectory generation 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 generation 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 generation device 1, and the generated trained model 4b may be stored in the storage unit 4 of the movement trajectory generation device 1.

[0063] In the 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. However, 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 using 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 using an end effector.

[0065] In addition, in the first and second embodiments described above, an example has been shown in which 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 first and second embodiments, an example has been shown in which the substrate transfer system 200 is an EFEM in which semiconductor substrates W are transferred between the FOUP 212 and the processing equipment 213, but the present disclosure is not limited to this. For example, the present disclosure may be applied to a sorter in which semiconductor substrates W are transferred between FOUPs 212, a stocker in which semiconductor substrates W are transferred between the FOUP 212 and a substrate storage chamber, or a vacuum processing equipment in which semiconductor substrates W are transferred between processing equipment 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, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuitry. 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 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 that holds a workpiece is attached, the motion trajectory generation method comprising: accepting input of a layout of a placement area in which the robot arm and the workpiece are to be placed; and obtaining motion trajectory candidates 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 training data and outputs a motion trajectory.

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

[0071] (Aspect 3) A motion trajectory generation method according to aspect 1 or aspect 2, wherein accepting input of the layout of the placement area includes at least one of: accepting the layout of the placement area manually set by a user; accepting CAD data of the layout of the placement area which is computer-aided design data; and accepting an image of the layout of the placement area.

[0072] (Aspect 4) A motion trajectory generation method according to any one of Aspects 1 to 3, wherein the trained model is trained using the layout of the placement area as training data and the type of the robot as input, and the method includes accepting input of the type of robot, and obtaining motion trajectory candidates includes using the trained model to obtain motion trajectory candidates for the accepted layout of the placement area and the type of robot.

[0073] (Aspect 5) The motion trajectory generation method according to any one of Aspects 1 to 4, wherein the workpiece includes a semiconductor substrate, the end effector includes a hand, and the robot arm includes a horizontal articulated robot arm.

[0074] (Aspect 6) The motion trajectory generation method according to aspect 5, wherein the layout of the placement area includes at least one of: a placement chamber in which the robot is placed; 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 acquiring the motion trajectory candidates includes acquiring optimized motion trajectory candidates for the accepted layout of the placement area using the trained model trained by machine learning, in which the layout of the placement area as the training data is input and an optimal motion trajectory is output.

[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, the motion trajectory generation device comprising: an input unit for inputting a layout of a placement area where the robot arm and the workpiece are to be placed; a process for accepting the layout of the placement area input to the input unit; and a process for obtaining motion trajectory candidates for the accepted layout of the placement area using a trained model learned by machine learning that inputs the layout of the placement area as training data and outputs a motion trajectory.

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

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, the motion trajectory generation method comprising: 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.

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. The motion trajectory generating method of claim 1, wherein accepting input of the layout of the placement area includes at least one of: accepting the layout of the placement area manually set by a user; accepting CAD data of the layout of the placement area which is computer-aided design data; and accepting an image of the layout of the placement area.

4. The movement trajectory generating method of claim 1, wherein the trained model is trained using the type of the robot as training data in addition to the layout of the placement area as training data, and the method comprises accepting input of the type of robot, and obtaining movement trajectory candidates includes using the trained model to obtain movement trajectory candidates for the accepted layout of the placement area and type of robot.

5. The motion trajectory generating method according to claim 1, wherein the workpiece includes a semiconductor substrate, the end effector includes a hand, and the robot arm includes a horizontal articulated robot arm.

6. The motion trajectory generating method according to claim 5, wherein the layout of the placement area includes at least one of: a placement chamber in which the robot is placed; a FOUP on which the semiconductor substrate is placed; and a processing device that performs processing on the semiconductor substrate.

7. The movement trajectory generating method of claim 1, wherein obtaining the movement trajectory candidates includes obtaining movement trajectory candidates optimized 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 movement trajectory.

8. 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, the motion trajectory generating device comprising: 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 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.

9. The motion trajectory generating device described in claim 8, wherein the input unit accepts an image of the layout of the placement area, the trained model is trained using an image of the layout of the placement area as training data as input, and the processing unit includes a robot controller that uses the trained model to obtain motion trajectory candidates for the image of the layout of the placement area.

Citation Information

Patent Citations

  • Articulated robot and method of controlling articulated robot

    JP2016120581A

  • Parameter identification device, method and program

    JP2020011320A

  • Workpiece assembly procedure creation device and learned model creation device

    JP2021049609A

  • Trajectory generation device, multi-link system, and trajectory generation method

    JP2021122899A

  • Information processing device, method and program

    JP6792230B1