Teaching assistance device, teaching assistance method, and teaching assistance program
The teaching support device addresses the challenge of visualizing the space occupied by a robot model at multiple target positions by generating overlaid images of the robot model at each position, enhancing the understanding of space utilization and potential interferences.
Patent Information
- Application Number
- PCT/JP2024/030091
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-14
- Filing Date
- 2024-08-23
- Publication Date
- 2025-03-20
AI Technical Summary
Existing teaching support devices struggle to provide a comprehensive understanding of the space occupied by a robot model reaching multiple target positions, as they only allow for checking of individual target positions without grasping the overall space usage.
A teaching support device that displays an image of a robot model with an arm and an end effector, allowing users to set multiple target positions, derive the attitude of the robot model at each position, and generate images overlaying multiple robot models at their respective target positions, thereby visualizing the overall space occupancy.
Enables users to grasp the overall amount of space occupied by a robot model reaching multiple target positions, improving the understanding of space utilization and potential interferences.
Smart Images

Figure JP2024030091_20032025_PF_FP_ABST
Abstract
Description
Teaching support device, teaching support method, and teaching support program
[0001] The technology disclosed herein relates to a teaching assistance device, a teaching assistance method, and a teaching assistance program.
[0002] There have been known teaching support devices for confirming the posture of a robot. For example, a teaching support device disclosed in Patent Document 1 confirms the motion of a robot model by replaying the motion of the robot model on a touch screen based on a motion trajectory determined from a set start point and end point.
[0003] Patent No. 6526098
[0004] In the teaching assistance device described above, the user sets one start point and one end point for the robot model, and then displays the robot model's motion. In some cases, multiple target positions serving as end points are set. Even if the state of the robot model reaching each target position can be checked one by one, it is difficult to grasp the overall space occupied by the robot model reaching the multiple target positions.
[0005] The technology disclosed herein has been developed in light of these points, and its purpose is to enable an overall understanding of the approximate amount of space that a robot model will occupy as it reaches multiple target positions.
[0006] The teaching support device disclosed herein is a teaching support device that displays on a display an image of a model of a robot having an arm and an end effector connected to the arm, and is equipped with a robot model that models the robot, a setter that sets multiple target positions for the end effector of the robot model, a deriver that derives the posture of the robot model when the end effector is located at the multiple target positions, and an image generator that generates images of the multiple target positions and the robot model and outputs the generated images to the display, and the image generator generates an image in which multiple images of the robot model in postures when the end effector is located at the multiple target positions are superimposed.
[0007] The teaching assistance method disclosed herein is a teaching assistance method for displaying on a display an image of a model of a robot having an arm and an end effector connected to the arm, and includes the steps of: setting a robot model that models the robot and multiple target positions for the end effector of the robot model; deriving the posture of the robot model when the end effector is located at the multiple target positions; generating images of the multiple target positions and the robot model; outputting the generated images to the display; and generating an image in which multiple images of the robot model in postures when the end effector is located at the multiple target positions are superimposed.
[0008] The teaching assistance program disclosed herein is a teaching assistance program that displays on a display an image of a model of a robot having an arm and an end effector connected to the arm, and causes a computer to realize the following functions: a robot model that models the robot, a function of setting multiple target positions for the end effector of the robot model, a function of deriving the posture of the robot model when the end effector is located at the multiple target positions, a function of generating images of the multiple target positions and the robot model, outputting the generated images to the display, and further a function of generating an image in which multiple images of the robot model in postures when the end effector is located at the multiple target positions are superimposed.
[0009] According to the teaching assistance device, the teaching assistance method, and the teaching assistance program, it is possible to grasp overall how much space a robot model that reaches a plurality of target positions will occupy.
[0010] FIG. 1 is a schematic diagram showing a teaching support system including a teaching support device according to an embodiment. FIG. 2 is a schematic diagram showing a robot used in a clean room. FIG. 3 is a block diagram showing the configuration of the teaching support device. FIG. 4 is a diagram showing images of each model displayed on a display. FIG. 5 is a flowchart showing the operation of the teaching support device. FIG. 6 is a diagram showing an image including a housing model with initial specifications. FIG. 7 is a diagram showing an image in which images of multiple robot models in target postures are superimposed on images of multiple robot models in standby postures. FIG. 8 is a diagram showing an image of a robot model in a target posture corresponding to a target position P1. FIG. 9 is a diagram showing an image of a robot model in a target posture corresponding to a target position P2. FIG. 10 is a diagram showing an image of a robot model in a target posture corresponding to a target position P3. FIG. 11 is a diagram showing an image of a robot model in a target posture corresponding to a target position P4. FIG. 12 is a diagram showing an image of a robot model in a target posture corresponding to a target position P5. FIG. 13 is a diagram showing an image of a robot model in a standby posture corresponding to a waypoint before the target position P1. FIG. 14 is a diagram showing an image in which a robot model in a target posture corresponding to the target position P1 interferes with an interfering object model. Fig. 15 is a diagram showing an image when the position of the robot model is changed. Fig. 16 is a diagram showing an example of an image displayed on a display in the teaching assistance device according to Modification 1. Fig. 17 is a diagram showing a three-dimensional image of each model displayed on a display.
[0011] An exemplary embodiment will be described in detail below with reference to the drawings. Fig. 1 is a schematic diagram showing a teaching support system 20 including a teaching support device 30 according to an embodiment. The teaching support system 20 is used to determine the layout of a location where a robot will be used based on an image of a robot model, etc. The teaching support system 20 includes the teaching support device 30, a display 21, and a mouse 22.
[0012] The teaching support device 30 generates an image of the robot model, etc., and displays the generated image on the display 21. The display 21 displays the image upon receiving a signal from the teaching support device 30. The display 21 is, for example, a liquid crystal display or an organic EL display. The mouse 22 receives an input operation from a user. The mouse 22 outputs a signal corresponding to the input operation to the teaching support device 30. The mouse 22 is an example of an input device.
[0013] FIG. 2 is a schematic diagram showing a robot 10 used in the clean room 1. The robot 10 shown in FIG. 2 is an example of a robot targeted by the teaching support device 30. The robot 10 is a horizontally articulated robot (SCARA robot). The robot 10 has a base 11, an arm 12 connected to the base 11, and a hand 14 connected to the arm 12. The arm 12 is connected to the base 11 so as to be rotatable in the horizontal direction. The arm 12 has a plurality of links 13 connected to each other. The hand 14 is an example of an end effector.
[0014] The arm 12 is composed of two links 13. The two links 13 are connected to each other so as to be rotatable in the horizontal direction. The two links 13 are, in order from the base 11 side, a first link 13a and a second link 13b. The first link 13a is connected to the base 11 so as to be rotatable around a first axis L1 extending in the vertical direction. The second link 13b is connected to the first link 13a so as to be rotatable around a second axis L2 extending in the vertical direction. When there is no need to distinguish between the first link 13a and the second link 13b, they will be simply referred to as "links 13."
[0015] The robot 10 has two hands 14, i.e., a first hand 14a and a second hand 14b. The first hand 14a is an example of a first end effector, and the second hand 14b is an example of a second end effector. The first hand 14a is located lower than the second hand 14b. The first hand 14a and the second hand 14b have the same basic configuration. The hand 14 has a plate-like shape extending horizontally, and the tip of the hand 14 is bifurcated. In other words, the shape of the hand 14 is approximately Y-shaped when viewed in its thickness direction. The first hand 14a and the second hand 14b are connected to the second link 13b so as to be rotatable horizontally around a third axis L3 extending vertically. The first axis L1, the second axis L2, and the third axis L3 extend parallel to one another. When there is no need to distinguish between the first hand 14a and the second hand 14b, they will be simply referred to as "hands 14."
[0016] The first link 13a, the second link 13b, the first hand 14a, and the second hand 14b are stacked in this order from bottom to top. Although not shown, the robot 10 has a plurality of motors that rotate the two links 13 and the two hands 14. The robot 10 transports a substrate S as an object by placing it on the upper surface of the hand 14 without fixing it thereto. In other words, the object is simply placed on the upper surface of the hand 14 and is not fixed thereto.
[0017] The clean room 1 includes a housing 2, and a robot 10 is disposed within the housing 2. The clean room 1 is used, for example, for an EFEM (Equipment Front End Module). The housing 2 is substantially rectangular parallelepiped. The interior of the housing 2 is a clean space. The robot 10 transports a substrate S within the clean room 1. For example, the substrate S is a disk-shaped semiconductor wafer.
[0018] A plurality of FOUPs (Front Opening Unified Pods) 4 and a plurality of processing devices 5 are attached to the housing 2 from the outside of the housing 2. In this example, three FOUPs 4 and two processing devices 5 are provided in the housing 2. The plurality of FOUPs 4 are arranged on one side wall of the housing 2. The plurality of processing devices 5 are arranged on the side wall of the housing 2 opposite the side wall on which the FOUPs 4 are arranged. The interiors of the FOUPs 4 and the processing devices 5 can communicate with the interior of the housing 2. The FOUP 4 accommodates substrates S. The FOUP 4 accommodates, for example, a plurality of substrates S horizontally and spaced equally apart in the vertical direction. The processing devices 5 process the substrates S. The processing devices 5 are processing devices that perform various processes on the substrates S, such as heat treatment, impurity introduction processing, and thin film formation processing.
[0019] The robot 10 transports the substrate S between the FOUP 4 and the processing device 5. That is, the arm 12 and the hand 14 transport the substrate S between the FOUP 4 and the processing device 5. The areas inside the housing 2, the FOUP 4, and the processing device 5 correspond to the operable area of the robot 10.
[0020] An obstruction 6 may be placed inside the housing 2. The obstruction 6 may be static or dynamic. The static obstruction 6 is, for example, a stationary obstruction such as a pillar, a screw, or a wiring cover. The dynamic obstruction 6 is, for example, a moving obstruction such as another robot or a shutter.
[0021] The teaching support device 30 displays on the display 21 an image of a model of the robot 10 having an arm 12 and a hand 14 connected to the arm 12. The teaching support device 30 displays on the display 21 images of a plurality of target positions of the hand of the model of the robot 10. At this time, the teaching support device 30 generates a plurality of images of the model of the robot 10 when the hand of the model of the robot 10 is positioned at a plurality of target positions. FIG. 3 is a block diagram showing the configuration of the teaching support device 30. The teaching support device 30 has a storage device 31, a processor 32, and a memory 33.
[0022] The processor 32 performs various types of arithmetic processing. For example, the processor 32 is formed of a processor such as a CPU (Central Processing Unit). The processor 32 may be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), a system LSI, or the like.
[0023] The memory 31 stores various programs and various data executed by the processor 32. The memory 31 is formed of a non-volatile memory, a hard disk drive (HDD), a solid state drive (SSD), or the like. The memory 31 stores control programs such as a teaching assistance program 311. The teaching assistance program 311 is a teaching assistance program that causes a computer, i.e., the teaching assistance device 30, to realize various functions for generating images such as a model of the robot 10 to be displayed on the display 21. The teaching assistance program 311 is constructed, for example, based on a genetic algorithm.
[0024] The memory 33 temporarily stores data, etc. For example, the memory 33 is formed of a volatile memory.
[0025] The processor 32 realizes various functions by reading out control programs such as the teaching assistance program 311 from the storage unit 31 and expanding them in the memory 33. Specifically, the processor 32 has, as functional blocks, a setter 321, a deriver 323, and an image generator 324. The processor 32 may further have, as functional blocks, a receiver 322, a warning unit 325, and a determiner 326.
[0026] The setter 321 sets a robot model 10m that models the robot 10. In addition to the robot model 10m, the setter 321 sets a housing model 2m that models the housing 2, a hoop model 4m that models the hoop 4, a processing device model 5m that models the processing device 5, and an interference object model 6m that models the interference object 6. Each model will now be described. FIG. 4 is a schematic diagram showing an image of each model displayed on the display 21. The image shown in FIG. 4 corresponds to the layout shown in FIG. 2.
[0027] The robot model 10m includes elements that model the arm 12 and hand 14 of the robot 10. Each element of the robot model 10m is assigned a symbol that adds "m" to the symbol of the corresponding element of the robot 10. That is, the robot model 10m has an arm 12m and a hand 14m. The arm 12m includes a link 13m, which, with reference to FIG. 8, includes a first link 13am and a second link 13bm. With reference to FIG. 8, the hand 14m includes a first hand 14am and a second hand 14bm. The robot model 10m also includes a substrate Sm placed on the hand 14m. The substrate Sm is placed on each of the first hand 14am and the second hand 14bm. The robot model 10m does not include the base 11 of the robot 10. When the first link 13am and the second link 13bm are not to be distinguished from each other, they are simply referred to as "link 13m." When there is no need to distinguish between the first hand 14am and the second hand 14bm, they will simply be referred to as "hands 14m."
[0028] The position of the robot model 10m is defined, for example, by the position of the first axis L1, which is the center of rotation of the first link 13am. Note that the position of the robot model 10m may be defined by the position of a corner of the first link 13am, or, if the base 11 of the robot 10 is modeled, by the position of the modeled base.
[0029] The housing model 2 m models the side walls of the housing 2 , that is, the planar shape of the housing 2 .
[0030] The hoop model 4m models the side peripheral wall of the hoop 4, i.e., the planar shape of the hoop 4. Target positions P1, P2, and P3 are set inside each of the three hoop models 4m. Each of the target positions P1, P2, and P3 is a target position of the hand 14m in the hoop model 4m. In this example, the position of the hand 14m is defined by the center position of the substrate Sm placed on the hand 14m, and the target position of the hand 14m in the hoop model 4m is defined by the center position of the substrate Sm housed in the hoop model 4m. In other words, the position of the hand 14m when the substrate Sm in the hoop model 4m is placed on the hand 14m is the target position of the hand 14m in the hoop model 4m.
[0031] The processing apparatus model 5m models the side walls of the processing apparatus 5, i.e., the planar shape of the processing apparatus 5. Target positions P4 and P5 are set inside each of the two processing apparatus models 5m. Each of the target positions P4 and P5 is a target position of the hand 14m in the processing apparatus model 5m. In this example, the position of the hand 14m is defined by the center position of the substrate Sm placed on the hand 14m, and the target position of the hand 14m in the processing apparatus model 5m is defined by the center position of the substrate Sm accommodated in the processing apparatus model 5m. In other words, the position of the hand 14m when the substrate Sm in the processing apparatus model 5m is placed on the hand 14m is the target position of the hand 14m in the processing apparatus model 5m.
[0032] The setter 321 further sets a plurality of waypoints. The waypoints are positions through which the hand 14m passes before reaching the target position. In this example, the hand 14m waits at the waypoints before reaching each of the FOUP model 4m and the processing device model 5m. Specifically, since the FOUP 4 and the processing device 5 in the actual clean room 1 have shutters, the hand 14 waits at the waypoints until the shutters open. Waypoints are also set for the FOUP model 4m and the processing device model 5m so as to correspond to the waypoints of the FOUP 4 and the processing device 5.
[0033] The via position of the hand 14m immediately before the hoop model 4m is defined by the center position of the substrate Sm placed on the hand 14m waiting immediately before the hoop model 4m. The via position of the hand 14m immediately before the processing device model 5m is defined by the center position of the substrate Sm placed on the hand 14m waiting immediately before the processing device model 5m. In other words, the via position is defined by the center position of the waiting area 40 where the substrate Sm waits immediately before the hoop model 4m and the processing device model 5m. The waiting area 40 is disposed at a position facing each of the hoop model 4m and the processing device model 5m.
[0034] The interference model 6 m models the planar shape of the interference object 6 .
[0035] The setter 321 sets the specifications (parameters) of each model when setting the model. Specifically, with regard to the specifications of the housing model 2m, the setter 321 sets the position of the housing, the planar shape, the number of side walls, the size of the side walls, etc. With regard to the specifications of the robot model 10m, the setter 321 sets the relative position of the robot model 10m with respect to the housing model 2m, the number of links 13m, the length of the links 13m, the number of hands 14m, the size and shape of the hands 14m, etc. With regard to the specifications of the hoop models 4m, the setter 321 sets the number, size, shape, and relative position of the hoop models 4m with respect to the housing model 2m, etc. With regard to the specifications of the processing device models 5m, the setter 321 sets the number, size, shape, and relative position of the processing device models 5m with respect to the housing model 2m, etc. With regard to the specifications of the interference object models 6m, the setter 321 sets the number, size, shape, and relative position of the interference object models 6m with respect to the housing model 2m, etc. The setting device 321 sets the specifications of the waiting areas 40, such as the quantity, size, shape, and relative position of the waiting areas 40 with respect to the housing model 2m, based on the specifications of the hoop model 4m and the processing device model 5m.
[0036] The specifications of each model include changeable specifications. The setter 321 can change at least one of the specifications of each model described above. For example, the setter 321 can change the number of links 13m or the length of the links 13m for the robot model 10m. The setter 321 changes the changeable specifications in response to input from the user. The input from the user regarding the specifications of each model is input to the receiver 322. The setter 321 sets the specifications of each model in response to the input regarding the specifications received by the receiver 322. If there is no input from the user regarding the changeable specifications, the setter 321 sets the changeable specifications to their initial settings.
[0037] The image generator 324 generates an image of the robot model 10m and outputs the generated image to the display 21. Specifically, the image generator 324 generates images of the robot model 10m, as well as the housing model 2m, the hoop model 4m, the processing device model 5m, the interfering object model 6m, and the waiting area 40. At this time, the image generator 324 generates an image of the model set by the setter 321. The generated image is displayed on the display 21.
[0038] The receiver 322 receives the position of the robot model 10m, for example, the position of the first axis L1 of the robot model 10m. The setter 321 sets the position of the robot model 10m received by the receiver 322. Specifically, the receiver 322 receives input regarding the position of the robot model 10m from the user via the mouse 22. The input of the position of the robot model 10m also includes a change to the position of the robot model 10m that has already been set. When the receiver 322 receives a change to the position of the robot model 10m, the setter 321 updates the position of the robot model 10m to the changed position.
[0039] For example, an image generated by the image generator 324 is displayed on the display 21. The image includes a robot model 10m. The user operates the mouse 22 to select and drag the robot model 10m with a pointer Q displayed on the display 21. The acceptor 322 accepts the drag operation on the robot model 10m via the mouse 22 as an input of the position of the robot model 10m. According to the drag operation, the position of the robot model 10m is continuously changed, and therefore the drag operation on the robot model 10m by the mouse 22 is a continuous change of the position of the robot model 10m.
[0040] The deriver 323 derives the posture of the robot model 10m when the hand 14m is located at the target position. Hereinafter, the "posture of the robot model 10m when the hand 14m is located at the target position" will also be simply referred to as the "target posture." Specifically, the deriver 323 derives the posture of the robot model 10m within the area (operable area) of the housing model 2m, the hoop model 4m, and the processing device model 5m. The deriver 323 derives the posture of the robot model 10m in consideration of conditions such as the possible rotation angles of the first link 13am, the second link 13bm, the first hand 14am, and the second hand 14bm.
[0041] The deriver 323 derives a target posture of the robot model 10m that does not interfere with the interference model 6m. However, if the deriver 323 cannot derive a target posture of the robot model 10m that does not interfere with the interference model 6m, the deriver 323 derives a target posture of the robot model 10m that interferes with the interference model 6m. When the position of the robot model 10m set by the setter 321 is changed, the deriver 323 re-derives a target posture of the robot model 10m that corresponds to the changed position of the robot model 10m.
[0042] The deriving unit 323 derives the target posture of the robot model 10m for all target positions. Note that the deriving unit 323 does not derive the target posture of the robot model 10m for target positions that the hand 14m cannot reach.
[0043] Similarly, with regard to the via position, the deriving unit 323 derives the posture of the robot model 10m when the hand 14m of the robot model 10m waits at the via position. Hereinafter, the "posture of the robot model 10m when the hand 14m waits at the via position" will also be simply referred to as the "waiting posture." In an actual clean room 1, the posture of the hand 14 when entering the FOUP 4 or the processing device 5 from the waiting position is fixed. For example, the posture of the hand 14 at the time of entry is a posture in which the tip of the hand 14 faces the direction of travel and the longitudinal direction of the hand 14 coincides with the direction of travel. The posture of the hand 14 at the via position is also the same posture as at the time of entry. Therefore, in the robot model 10m in the waiting posture, the tip of the hand 14m faces the loop model 4m or the processing device model 5m and the longitudinal direction of the hand 14m coincides with the direction of entry. The deriving unit 323 derives a waiting posture of the robot model 10m that does not interfere with the interference object model 6m. However, if the deriver 323 cannot derive a standby posture of the robot model 10m that does not interfere with the interfering object model 6m, the deriver 323 derives a standby posture of the robot model 10m that interferes with the interfering object model 6m. When the position of the robot model 10m set by the setter 321 is changed, the deriver 323 re-derives the standby posture of the robot model 10m that corresponds to the changed position of the robot model 10m.
[0044] The deriving unit 323 derives the standby posture of the robot model 10m for all the way points. Note that the deriving unit 323 does not derive the standby posture of the robot model 10m for the way points that the hand 14m cannot reach.
[0045] The image generator 324 generates images of the robot model 10m and multiple target positions. The image generator 324 outputs the generated images to the display 21. The image generator 324 generates an image of the hoop model 4m or an image of the processing device model 5m as an image of the target position. The image generator 324 further generates an image of the waiting area 40 as an image of the intermediate position. The image generator 324 also generates an image of the housing model 2m and an image of the interference model 6m. The image generator 324 synthesizes the image of the housing model 2m, the image of the hoop model 4m, the image of the processing device model 5m, the image of the interference model 6m, the image of the robot model 10m, and the image of the waiting area 40. The image generator 324 outputs the synthesized image to the display 21.
[0046] The image generator 324 generates an image of the robot model 10m in the target posture derived by the deriver 323. That is, in the generated image, the hand 14m is located at the target position, and the arm 12m is in a posture that realizes the placement of the hand 14m at the target position.
[0047] The image generator 324 generates an image in which multiple images of the robot model 10m in postures in which the hand 14m is located at multiple target positions are superimposed. Specifically, the deriver 323 derives a target posture of the robot model 10m for each of the multiple target positions, and the image generator 324 generates an image in which multiple images of the robot model 10m in the target postures derived by the deriver 323 are superimposed. In other words, the image generator 324 generates an image in which an image of the robot model 10m corresponding to the target position P1, an image of the robot model 10m corresponding to the target position P2, an image of the robot model 10m corresponding to the target position P3, an image of the robot model 10m corresponding to the target position P4, and an image of the robot model 10m corresponding to the target position P5 are superimposed.
[0048] When the position of the robot model 10m is changed via the acceptor 322, the image generator 324 generates an image of the robot model 10m that corresponds to the changed position of the robot model 10m. That is, the image generator 324 updates the image of the robot model 10m in accordance with the change in the position of the robot model 10m. That is, the image generator 324 updates a composite image including images of multiple robot models 10m in accordance with the change in the position of the robot model 10m.
[0049] As described above, the receiver 322 can receive continuous input of the position of the robot model 10m, i.e., continuous changes. In this case, the setter 321 sequentially updates the changed position of the robot model 10m in response to the continuous changes in the position of the robot model 10m, and the deriving unit 323 sequentially derives a target posture of the robot model 10m corresponding to the updated position of the robot model 10m. The image generator 324 sequentially generates images of the robot model 10m in the target posture. That is, the image generator 324 sequentially generates a composite image including multiple images of the robot model 10m in the target posture. As a result, when the position of the robot model 10m is changed via the receiver 322, the image generator 324 generates an image in which multiple images of the robot model 10m in the changed and moving target postures are superimposed. That is, the image generator 324 generates moving images of the multiple robot models 10m.
[0050] The image generator 324 further generates an image of the robot model 10m in the standby posture derived by the deriver 323. Then, the image generator 324 generates an image in which multiple images of the robot model 10m in postures in which the hand 14m is located at multiple waypoints are superimposed. Specifically, the deriver 323 derives the standby posture of the robot model 10m for each of the multiple waypoints, and the image generator 324 generates an image in which multiple images of the robot model 10m in the standby postures derived by the deriver 323 are superimposed. That is, the image generator 324 generates an image in which an image of the robot model 10m corresponding to the standby area 40 in front of the target position P1, an image of the robot model 10m corresponding to the standby area 40 in front of the target position P2, an image of the robot model 10m corresponding to the standby area 40 in front of the target position P3, an image of the robot model 10m corresponding to the standby area 40 in front of the target position P4, and an image of the robot model 10m corresponding to the standby area 40 in front of the target position P5 are superimposed. In this way, the image generator 324 generates an image in which images of a plurality of robot models 10m having a target posture are superimposed, as well as an image in which images of a plurality of robot models 10m having a standby posture are superimposed. In other words, the image generator 324 generates an image in which images of a plurality of robot models 10m corresponding to a target posture are superimposed on images of a plurality of robot models 10m corresponding to a standby posture.
[0051] The image generator 324 updates the image of the robot model 10m in the standby posture in response to a change in the position of the robot model 10m, similar to the image of the robot model 10m in the target posture. That is, the image generator 324 updates a composite image including images of multiple robot models 10m in standby postures in response to a change in the position of the robot model 10m. As described above, when the position of the robot model 10m is changed via the acceptor 322, the image generator 324 generates an image in which images of multiple robot models 10m in the changed and moving standby postures are superimposed. That is, the image generator 324 generates moving images of the multiple robot models 10m in the standby postures.
[0052] The determiner 326 determines interference between the robot model 10m and the interfering object model 6m. When the determiner 326 determines that the robot model 10m and the interfering object model 6m are interfering with each other, the warning device 325 notifies the user that the robot model 10m is interfering with the interfering object model 6m. Specifically, when the determiner 326 determines that the robot model 10m and the interfering object model 6m are interfering with each other, the warning device 325 causes the image generator 324 to change the display color of the robot model 10m. For example, the warning device 325 changes the display color of the robot model 10m that is interfering with the interfering object model 6m from the display color of the robot model 10m that is not interfering with the interfering object model 6m. As an example, the display color of the robot model 10m that is interfering with the interfering object model 6m is red, and the display color of the robot model 10m that is not interfering with the interfering object model 6m is blue.
[0053] Next, the layout setting process by the teaching assistance device 30 will be described with reference to the flowchart of FIG.
[0054] First, in step S1, the setter 321 initializes the specifications of each model. Specifically, the setter 321 initializes the housing model 2m, the target position, the via position, the interference model 6m, and the robot model 10m. Some of the specifications of each model in the initial setting are stored in advance in the storage device 31, and the remaining specifications are input by the user. In other words, the setter 321 initializes the housing model 2m, the target position, the via position, the interference model 6m, and the robot model 10m based on the initial specifications of each model stored in the storage device 31 and the specifications received from the user by the reception device 322. Step S1 is an example of "setting a robot model 10m modeled on the robot 10 and multiple target positions for the hand 14m of the robot model 10m" in the teaching assistance method.
[0055] In the initial setting, the image generator 324 generates an image in which the housing model 2m, the target position, the intermediate position, the interference object model 6m, and the robot model 10m are combined, and displays the generated image on the display 21. At this time, the posture of the robot model 10m is the initial posture. For example, the initial posture of the robot model 10m is a posture in which the first link 13am and the second link 13bm and the first hand 14am and the second hand 14bm overlap each other in a planar view. Note that the deriver 323 may, in the initial setting, derive the posture of the robot model when the hand 14m is located at one of the target positions, and the image generator 324 may generate an image of the robot model 10m in the derived posture.
[0056] Specifically, the setter 321 sets the size and shape of the housing model 2m according to the initial specifications. As shown in FIG. 6 , the image generator 324 generates an image including the housing model 2m according to the initial specifications (see solid lines) and displays the generated image on the display 21. The user changes the size and shape of the housing model 2m by manipulating the pointer Q with the mouse 22 and dragging one vertex of the housing model 2m. When the receiver 322 receives a user's operation input of the mouse 22, the setter 321 sets the size and shape of the housing model 2m based on the operation input received by the receiver 322. At the same time, as shown in FIG. 4 , the image generator 324 generates an image of the housing model 2m according to the set size and shape and displays the generated image on the display 21. Note that instead of the mouse 22 operation described above, for example, the receiver 322 may receive coordinate values input by the user via a keyboard or the like, and the setter 321 may set the size of the housing model 2m based on the coordinate values received by the receiver 322.
[0057] The setter 321 sets target positions based on a user's input operation. The setter 321 sets the hoop models 4m and the processing device models 5m as target positions. Specifically, the setter 321 sets the quantity, shape, size, and position of the hoop models 4m and the processing device models 5m. For example, with respect to the hoop model 4m, the setter 321 sets multiple options for the shape and size as initial specifications. The image generator 324 generates an image including options for the shape and size of the hoop model 4m and displays it on the display 21. The acceptor 322 accepts the user's selection of an option via the mouse 22. The setter 321 sets the shape and size of the hoop model 4m according to the option accepted by the acceptor 322. The acceptor 322 accepts the user's specification of an initial position via the mouse 22. The setter 321 sets the specified position accepted by the acceptor 322 as the initial position of the hoop model 4m. If the quantity, shape, size, or initial position of the hoop models 4m is stored in advance in the memory 31, the setter 321 may read and set the quantity, shape, size, or initial position stored in the memory 31. The setting for the processing device model 5m is similar to the setting for the hoop model 4m.
[0058] When the target position is set by the setter 321, the image generator 324 generates an image including the hoop model 4m and the processing device model 5m whose quantity, shape, size, and position have been set, and displays the image on the display 21. The image generator 324 generates an image in which the hoop model 4m and the processing device model 5m are incorporated into the housing model 2m. The housing model 2m, the hoop model 4m, and the processing device model 5m are connected so that their internal spaces are continuous.
[0059] The setter 321 further sets waiting areas 40 as intermediate positions. Specifically, the setter 321 sets the number and positions of the waiting areas 40 based on the number and positions of the hoop models 4m and the processing device models 5m. For example, the setter 321 sets waiting areas 40 at positions facing each of the hoop models 4m and the processing device models 5m. The setter 321 sets the same number of waiting areas 40 as the number of hoop models 4m and the processing device models 5m. The setter 321 may set the waiting areas 40 through a user input operation. Specifically, the acceptor 322 accepts the user's selection of options via the mouse 22 regarding the number and positions of the waiting areas 40. The setter 321 sets the number and positions of the waiting areas 40 according to the options accepted by the acceptor 322.
[0060] When the waiting area 40 is set by the setter 321, the image generator 324 generates an image including the waiting area 40 whose number and position have been set, and displays the image on the display 21. The image generator 324 generates an image in which the waiting area 40 is incorporated into the housing model 2m.
[0061] The setter 321 sets the interfering object model 6m in response to an input operation by the user. The setter 321 sets the quantity, shape, size, and position of the interfering object model 6m. Specifically, with respect to the interfering object model 6m, the setter 321 sets a plurality of options for the shape and size as initial specifications. The image generator 324 generates an image including options for the shape and size of the interfering object model 6m and displays the image on the display 21. The acceptor 322 accepts the selection of an option by the user via the mouse 22. The setter 321 sets the shape and size of the interfering object model 6m in accordance with the option accepted by the acceptor 322. The acceptor 322 accepts the user's specification of the initial position of the interfering object model 6m via the mouse 22. The setter 321 sets the specified position accepted by the acceptor 322 as the initial position of the interfering object model 6m. If the number, shape, size or initial position of the interfering object model 6m is stored in advance in the storage device 31, the setting device 321 may read and set the shape, size or initial position stored in the storage device 31. The position of the interfering object model 6m can also be set by inputting coordinate values.
[0062] When the interfering object model 6m is set by the setter 321, the image generator 324 generates an image including the interfering object model 6m whose quantity, shape, size, and position have been set, and displays the image on the display 21. The image generator 324 generates an image in which the interfering object model 6m is incorporated into the housing model 2m.
[0063] The setter 321 sets the robot model 10m in response to input operations by the user. The setter 321 sets the shape, size, and position of the robot model 10m. Specifically, for the robot model 10m, the setter 321 sets a plurality of options for the shape and size as initial specifications. The image generator 324 generates an image including the options for the shape and size of the robot model 10m and displays it on the display 21. The acceptor 322 accepts the selection of an option by the user via the mouse 22. The setter 321 sets the shape and size of the robot model 10m in accordance with the option accepted by the acceptor 322. The acceptor 322 accepts the user's specification of an initial position of the robot model 10m via the mouse 22. The setter 321 sets the specified position accepted by the acceptor 322 as the initial position of the robot model 10m. If the shape, size, or initial position of the robot model 10m is stored in advance in the storage device 31, the setting device 321 may read and set the shape, size, or initial position stored in the storage device 31. The position of the robot model 10m can also be set by inputting coordinate values.
[0064] When the robot model 10m is set by the setter 321, the image generator 324 generates an image including the robot model 10m whose shape, size, and position have been set, and displays the image on the display 21. The image generator 324 generates an image in which the robot model 10m is incorporated into the housing model 2m.
[0065] In step S2, the acceptor 322 determines whether or not it has accepted derivation of the posture of the robot model 10m. Specifically, the acceptor 322 determines whether or not there has been an input for derivation of the posture of the robot model 10m via the mouse 22 or the like. For example, a start button for starting derivation of the posture of the robot model 10m is displayed on the display 21. When the user clicks the start button via the mouse 22, the acceptor 322 accepts this as an input for derivation of the posture of the robot model 10m.
[0066] If there is no input for deriving the posture of the robot model 10m, the acceptor 322 determines in step S3 whether there is an input for confirming the layout. For example, a confirm button for confirming the layout is displayed on the display 21. The acceptor 322 accepts the input for confirming the layout when the user clicks the confirm button via the mouse 22. Note that the layout is confirmed by clicking the confirm button, but instead of or in addition to clicking the confirm button, the layout may be confirmed when a certain period of time has passed without any input for deriving the posture.
[0067] If the receiver 322 receives an input for determining the layout, the setter 321 stores the current layout, i.e., the settings of each model, in the memory 31, and the layout setting process is completed. If there is no input for determining the layout, the receiver 322 returns to step S2. The receiver 322 periodically repeats steps S2 and S3, and waits for an input for deriving the posture of the robot model 10m or determining the layout.
[0068] When the acceptor 322 accepts the derivation of the posture of the robot model 10m in step S2, the deriving unit 323 derives target postures of the robot model 10m corresponding to all of the target positions, and further derives standby postures of the robot model 10m corresponding to all of the via positions in step S4. Step S4 is an example of "deriving the posture of the robot model 10m when the hand 14m is located at the target position" in the teaching assistance method.
[0069] Specifically, with regard to the target posture of the robot model 10m corresponding to the target position P1, the deriving unit 323 derives the target posture of the robot model 10m when the substrate Sm of the hand 14m of the robot model 10m is located at the target position P1. Similarly, the deriving unit 323 derives the target postures of the robot model 10m corresponding to the target positions P2, P3, P4, and P5, respectively.
[0070] Regarding the standby posture of the robot model 10m corresponding to the way-by position before the target position P1, the deriving unit 323 derives the standby posture of the robot model 10m when the substrate Sm of the hand 14m of the robot model 10m is located at the way-by position before the target position P1. Similarly, the deriving unit 323 derives the standby postures of the robot model 10m corresponding to each of the way-by positions before the target position P2, the way-by position before the target position P3, the way-by position before the target position P4, and the way-by position before the target position P5.
[0071] In step S5, the determiner 326 determines whether there is interference between the robot model 10m and the interfering object model 6m. That is, the determiner 326 determines whether there is interference between the robot model 10m in the target posture and the interfering object model 6m, and also determines whether there is interference between the robot model 10m in the standby posture and the interfering object model 6m. If there is no interference between the robot model 10m and the interfering object model 6m, in step S6, the image generator 324 generates an image in which an image of a plurality of robot models 10m in the target posture, an image of a plurality of robot models 10m in the standby posture, and an image of the robot model 10m in the initial posture are superimposed. In this example, the composite image including the plurality of robot models 10m includes an image of the robot model 10m in the initial posture, but the image of the robot model 10m in the initial posture may be omitted. Step S6 is an example of "generating images of a plurality of target positions and the robot model 10m, outputting the generated images to the display 21, and further generating an image in which an image of a plurality of robot models 10m in postures in which the hand 14m is located at a plurality of target positions is superimposed" in the teaching assistance method.
[0072] 7, the image generator 324 generates an image including an image of a plurality of robot models 10m in a target posture, an image of a plurality of robot models 10m in a standby posture, and an image of a robot model 10m in an initial posture. At this time, the positions of all of the robot models 10m are the same. In other words, the positions of the first axis centers L1 of all of the robot models 10m are the same.
[0073] Specifically, with regard to an image of the robot model 10m in the target posture corresponding to the target position P1, as shown in Figure 8, the image generator 324 generates an image of the robot model 10m when the substrate Sm of the first hand 14am of the robot model 10m is positioned at the hoop model 4m as the target position P1.
[0074] Regarding the image of the robot model 10m in the target posture corresponding to the target position P2, as shown in Figure 9, the image generator 324 generates an image of the robot model 10m when the substrate Sm of the first hand 14am of the robot model 10m is positioned at the hoop model 4m as the target position P2.
[0075] Regarding the image of the robot model 10m in the target posture corresponding to the target position P3, as shown in FIG. 10, the image generator 324 generates an image of the robot model 10m when the substrate Sm of the first hand 14am of the robot model 10m is positioned at the hoop model 4m as the target position P3.
[0076] Regarding the image of the robot model 10m in the target posture corresponding to the target position P4, as shown in Figure 11, the image generator 324 generates an image of the robot model 10m when the substrate Sm of the first hand 14am of the robot model 10m is positioned at the processing device model 5m as the target position P4.
[0077] Regarding the image of the robot model 10m in the target posture corresponding to the target position P5, as shown in Figure 12, the image generator 324 generates an image of the robot model 10m when the substrate Sm of the first hand 14am of the robot model 10m is positioned at the processing device model 5m as the target position P5.
[0078] 13 , the image generator 324 generates an image of the robot model 10m in a standby posture corresponding to the way-by position before the target position P1 when the substrate Sm of the first hand 14am of the robot model 10m is located in the standby area 40 as the way-by position before the target position P1. Although not shown, the image generator 324 generates images of the robot model 10m in a standby posture corresponding to each of the way-by positions before the target position P2, the way-by position before the target position P3, the way-by position before the target position P4, and the way-by position before the target position P5.
[0079] Regarding the image of the robot model 10m in the initial posture, as shown in Figure 4, the image generator 324 generates an image of the robot model 10m when the first link 13am and the second link 13bm and the first hand 14am and the second hand 14bm overlap in a planar view.
[0080] In this way, the image generator 324 generates an image in which an image of the robot model 10m in the target posture corresponding to each of the target positions P1, P2, P3, P4, and P5, an image of the robot model 10m in the waiting posture corresponding to each of the via positions before the target position P1, P2, P3, P4, and P5, and an image of the robot model 10m in the initial posture are superimposed.
[0081] If the robot model 10m and the interfering object model 6m interfere with each other in step S5, the warning device 325 causes the image generator 324 to change the display of the robot model 10m in step S7, and the process proceeds to step S6. For example, the image generator 324 changes the color of the robot model 10m in response to a command from the warning device 325. In this way, the warning device 325 notifies the user that the robot model 10m is interfering with the interfering object model 6m.
[0082] Specifically, as shown in FIG. 14 , when the interfering object model 6m is large and interferes with the robot model 10m in the target posture corresponding to the target position P1, the warning device 325 causes the image generator 324 to change the display of the robot model 10m interfering with the interfering object model 6m to be hatched. Hatched display is represented, for example, by red in the actual image. The warning device 325, for example, changes the display of the board Sm of the second hand 14bm that is interfering with the interfering object model 6m. In this example, the warning device 325 changes the display of a portion of the image of the robot model 10m in the target posture corresponding to the target position P1.
[0083] In step S8, the acceptor 322 determines whether or not a change in the position of the robot model 10m has been accepted. Specifically, the acceptor 322 determines whether or not an input for changing the position of the robot model 10m has been made via the mouse 22 or the like. For example, the acceptor 322 accepts a drag operation on the position of the robot model 10m as an input for changing the position of the robot model 10m.
[0084] If there is no input to change the position of the robot model 10m, the acceptor 322 determines in step S9 whether there is an input to confirm the layout. The acceptor 322 accepts the input to confirm the layout when the user clicks the Confirm button via the mouse 22. If the acceptor 322 accepts the input to confirm the layout, the setter 321 saves the current layout, i.e., the settings of each model, in the storage unit 31, and the layout setting process is completed. Note that although the layout is confirmed by clicking the Confirm button, instead of or in addition to clicking the Confirm button, the layout may be confirmed when a certain period of time has elapsed without any input to change the position.
[0085] If there is no input for determining the layout, the receiver 322 returns to step S8. The receiver 322 periodically repeats steps S8 and S9, and waits for an input for changing the position of the robot model 10m or determining the layout.
[0086] If the accepting unit 322 accepts a change in the position of the robot model 10m in step S8, then in step S10, the setter 321 changes the position of the robot model 10m to the position accepted by the accepting unit 322. Thereafter, the process returns to step S4, and the deriving unit 323 re-derives the target posture and standby posture of the robot model 10m corresponding to the changed position.
[0087] 15 , the user operates the pointer Q with the mouse 22 to drag the first axis L1 of the robot model 10m, thereby changing the position of the robot model 10m. When the acceptor 322 accepts an operation input from the user using the mouse 22, the setter 321 sets the position of the robot model 10m based on the operation input accepted by the acceptor 322. When the position of the robot model 10m is changed, the deriving unit 323 derives the target posture and standby posture of the robot model 10m after the change. The image generator 324 generates an image in which images of multiple robot models 10m having target postures, images of multiple robot models 10m having standby postures, and an image of the robot model 10m in the initial posture are superimposed.
[0088] Dragging the first axis center L1 of the robot model 10m is an input from the user indicating a continuous (strictly speaking, intermittent) change in the position of the robot model 10m. In other words, by repeating steps S4 to S10, the acceptor 322 can accept a continuous change in the position of the robot model 10m. In this case, the setter 321 continuously sets, i.e., changes, the position of the robot model 10m. In response, the deriver 323 also continuously derives the posture of the robot model 10m, and the image generator 324 continuously generates images of the changed robot model 10m. As a result, the image generator 324 continuously generates images of the robot model 10m whose posture changes in accordance with the position, thereby generating a moving image of the robot model 10m. This allows the user to visually observe on the display 21 the robot model 10m changing its position as it transforms between the target posture and the standby posture.
[0089] In this example, the position of the robot model 10m is too far from the target position P3, so the deriver 323 cannot derive the target posture of the robot model 10m corresponding to the target position P3. Therefore, the image generator 324 does not generate an image of the robot model 10m in the target posture corresponding to the target position P3.
[0090] Thereafter, the processes from step S4 onwards are repeated as long as requests for changes in the position of the robot model 10m continue to be accepted.
[0091] According to the teaching support device 30, the image generator 324 generates an image in which images of multiple robot models 10m in postures in which the hand 14m is positioned at multiple target positions are superimposed. This allows the user to visually recognize at a glance the postures of the multiple robot models 10m in which the hand 14m reaches multiple target positions. Therefore, the user can generally grasp how much space the robot models 10m occupy as they reach multiple target positions.
[0092] The image generator 324 also generates an image in which multiple images of the robot model 10m in postures where the hand 14m is located at multiple intermediate positions are superimposed. This allows the user to simultaneously view the postures of the multiple robot models 10m in which the hand 14m reaches multiple target positions, as well as the postures of the multiple robot models 10m in which the hand 14m reaches multiple intermediate positions. This allows the user to grasp overall how much space the robot models 10m in which the hand 14m reaches multiple target positions and intermediate positions will occupy.
[0093] Furthermore, when the position of the robot model 10m is changed via the acceptor 322, the image generator 324 generates an image in which images of multiple robot models 10m whose positions have been changed and moved are superimposed on one another. This allows the user to visually recognize the robot model 10m, whose posture is changing, on the display 21 while changing the position of the robot model 10m.
[0094] Furthermore, since the determiner 326 and the warning device 325 are provided, when the robot model 10m interferes with the interfering object model 6m, the user can know that the robot model 10m is interfering with the interfering object model 6m.
[0095] Specifically, when the determiner 326 determines that the robot model 10m and the interfering object model 6m are interfering with each other, the warning device 325 causes the image generator 324 to change the display of the robot model 10m. This allows the user to easily determine that the robot model 10m is interfering with the interfering object model 6m by the change in the display of the robot model 10m.
[0096] Furthermore, since the interference model 6m is a model of a static interference object 6, the user can display the static interference object 6 as an image on the display 21. The interference object model 6m may be a model of a moving dynamic interference object such as another robot or a shutter, and the user can display the dynamic interference object as an image on the display 21.
[0097] Furthermore, since the robot model 10m is a model of the robot 10 including the first hand 14a and the second hand 14b, the robot model 10m is intended for robots 10 with more complex configurations. Even for such complex robots 10, it is possible to grasp overall how much space the robot model 10m that reaches multiple target positions will occupy.
[0098] The robot model 10m is a model of a horizontal articulated robot 10 in which the hand 14 transports the substrate S. For such a robot, the time required to determine the target position of the robot model 10m can also be reduced.
[0099] Furthermore, the target positions correspond to the positions of the hoop model 4m and the processing device model 5m, and the deriving unit 323 derives the posture of the robot model 10m within the area of the housing model 2m, the hoop model 4m, and the processing device model 5m. This allows the user to grasp overall how much space the robot model 10m will occupy when it reaches multiple target positions, for the robot 10 used in the clean room 1, which is an environment with strict operational restrictions.
[0100] In the teaching support device according to the first modification, the deriving unit 323 further derives a motion trajectory of the robot model 10m until the hand 14m moves to a plurality of target positions. The image generator 324 further generates an image in which images of the motion trajectories of the plurality of robot models 10m are superimposed.
[0101] Specifically, when the receiver 322 receives a request to derive the posture of the robot model 10m, the deriving unit 323 derives a motion trajectory of the robot model 10m as the hand 14m moves from the initial position to the target position. The initial position of the hand 14m is the position of the hand 14m in the initial posture of the robot model 10m. The deriving unit 323 derives motion trajectories of the robot model 10m for all target positions. As shown in FIG. 16 , the image generator 324 generates an image by superimposing an image of the motion trajectory of the robot model 10m to the target position P1, an image of the motion trajectory of the robot model 10m to the target position P2, an image of the motion trajectory of the robot model 10m to the target position P3, an image of the motion trajectory of the robot model 10m to the target position P4, and an image of the motion trajectory of the robot model 10m to the target position P5. The image of the motion trajectory of the robot model 10m is a collection of images of the robot model 10m as the hand 14m moves from the initial position to the target position. The motion trajectory of the robot model 10m is, in other words, the motion trajectory of the arm 12m and the hand 14m. The motion trajectory of the robot model 10m includes the robot model 10m in a target posture and a standby posture.
[0102] According to the teaching assistance device of Modification 1, the image generator 324 further generates an image in which images of the movement trajectories of a plurality of robot models 10 m are superimposed on one another. This allows the entire area through which the robot model 10 m passes to be displayed on the display 21, and enables the user to visually check any dead space within the area where the robot model 10 m is placed.
[0103] Other Embodiments As described above, the above-described embodiments have been described as examples of the technology disclosed in the present application. However, the technology disclosed herein is not limited to these embodiments and can be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate. Furthermore, the components described in the above-described embodiments can be combined to create new embodiments. Furthermore, the components described in the accompanying drawings and detailed description may include not only components essential for solving the problem, but also components that are not essential for solving the problem in order to exemplify the technology. Therefore, the fact that these non-essential components are described in the accompanying drawings or detailed description should not be interpreted as immediately determining that these non-essential components are essential.
[0104] For example, the location where the robot 10 is used is not limited to a clean room where semiconductor wafers are processed, but may be a space where other materials are processed, that is, a space with low air cleanliness.
[0105] The numbers of FOUPs 4 and processing devices 5 are not limited to the above example, and may be increased or decreased. Accordingly, the numbers of FOUP models 4m and processing device models 5m are not limited to the above example, and may be increased or decreased. The number of waiting areas 40 is not limited to the above example, and may be increased or decreased.
[0106] Although the robot 10 is used in a location including both a FOUP 4 and a processing device 5, it may also be used in a location including either a FOUP 4 or a processing device 5. That is, the setter 321 may set only one of the FOUP model 4m or the processing device model 5m. For example, when the robot is used in a sorter, the robot transports substrates between FOUPs. Therefore, the setter sets only the FOUP model. Alternatively, when the robot is used in a vacuum processing chamber, the robot transports substrates between processing devices 5. Therefore, the setter sets the processing device model. In this way, the setter 321 may set at least one of the FOUP model 4m and the processing device model 5m.
[0107] The housing 2 is provided with a FOUP 4 and a processing device 5, but other spaces may also be provided. For example, when the robot is used in a stocker, the robot transports substrates between the FOUP and a substrate storage room (storage). In this case, the housing is provided with a FOUP and storage. At this time, the setter sets a FOUP model and a storage model.
[0108] The number of interfering objects 6 is not limited to the above example, and may be increased or decreased. Accordingly, the number of interfering object models 6m is not limited to the above example, and may be increased or decreased.
[0109] The housing 2 is provided with a FOUP 4 and a processing device 5, but may also be provided with a pre-alignment device. The pre-alignment device is, for example, a device that detects the center position or notch position of the substrate S and positions the substrate S at a desired position. Accordingly, a pre-alignment device model that models the pre-alignment device may be set as the target position of the hand 14m of the robot model 10m.
[0110] The end effector of the robot 10 is a hand 14, but may also be a mechanical tool such as a cutting tool or a polishing tool.
[0111] The input device of the teaching support system 20 is a mouse 22, but may be a keyboard, or may be both a mouse and a keyboard.
[0112] The processor 32 only needs to have the setter 321, the deriver 323, and the image generator 324 as functional blocks, and does not need to have at least one of the acceptor 322, the alarm 325, and the determiner 326 as functional blocks.
[0113] The setter 321 sets the via positions in addition to the target position, but it may also be possible to set only the target position without setting the via positions. Accordingly, the deriving unit 323 may derive only the target posture of the robot model 10m without deriving the standby posture of the robot model 10m. The image generator 324 may also generate only an image of the robot model 10m in the target posture without generating an image of the robot model 10m in the standby posture.
[0114] When the robot model 10m and the interfering object model 6m interfere with each other, the warning device 325 causes the image generator 324 to change the display of the robot model 10m, but may also notify the user by a visual or audio warning. Specifically, the warning device 325 may cause the image generator 324 to display a message on the screen indicating that the robot model 10m and the interfering object model 6m will interfere with each other. Alternatively, the warning device 325 may output a sound indicating that the robot model 10m and the interfering object model 6m will interfere with each other.
[0115] When the robot model 10m and the interfering object model 6m are interfering with each other, the warning device 325 may cause the image generator 324 to change the display of images other than the robot model 10m from the display when there is no interference. For example, the warning device 325 may cause the image generator 324 to change the color or display mode (blinking, etc.) of the display of the interfering object model 6m.
[0116] The image generator 324 generates two-dimensional images of each model as shown in FIG. 4 , but may also generate three-dimensional images as shown in FIG. 17 . In FIG. 17 , the same reference numerals as in FIGS. 4 and 8 are used. The processing device model 5m is depicted with a two-dot chain line, and the housing model 2m is omitted. The robot model 10m includes a base 11m that models the base 11. In this case, the position of each model is defined by its three-dimensional position. For example, the receiver 322 receives the three-dimensional position of the target position, the setter 321 sets the three-dimensional position of the target position, and the deriver 323 derives the posture of the robot model 10m at the three-dimensional position of the target position.
[0117] The flowchart is merely an example. Steps in the flowchart may be changed, replaced, added, omitted, etc. as appropriate. The order of steps in the flowchart may be changed, and serial processing may be performed in parallel. For example, in the flowchart ( FIG. 5 ), in the initial setting of step S1, the order of setting the chassis model, setting the hoop model, setting the interference object model, and setting the robot model may be changed, or may be performed in parallel. Furthermore, the determination of interference between the robot model and the interference object model in step S5 may be omitted.
[0118] The teaching assistance method can be realized by other devices without being limited to the teaching assistance device 30. The teaching assistance program can be realized by other devices without being limited to the teaching assistance device 30.
[0119] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a Central Processing Unit (CPU), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered a circuit or processing circuit. A processor may also be a programmable processor that executes a program stored in a memory.
[0120] In this specification, a circuit, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.
[0121] If the hardware is a processor considered to be a type of circuitry, the circuit, means, or unit is a combination of hardware and software used to configure the hardware and / or processor.
[0122] [Aspects] The above-described embodiments are specific examples of the following aspects.
[0123] (Aspect 1) A teaching support device 30 displays on a display 21 an image of a model of a robot 10 having an arm 12 and a hand 14 (end effector) connected to the arm 12, and includes: a robot model 10m modeled on the robot 10; a setter 321 that sets a plurality of target positions of a hand 14m (end effector) of the robot model 10m; a deriver 323 that derives an attitude of the robot model 10m when the hand 14m (end effector) is located at the plurality of target positions; and an image generator 324 that generates images of the plurality of target positions and the robot model 10m and outputs the generated images to the display 21, and the image generator 324 generates an image in which a plurality of images of the robot model 10m in attitudes in which the hand 14m (end effector) is located at the plurality of target positions are superimposed.
[0124] With this configuration, the image generator 324 generates an image in which multiple images of the robot model 10m in postures in which the hand 14m is positioned at multiple target positions are superimposed. This allows the user to visually recognize at a glance the postures of the multiple robot models 10m in which the hand 14m reaches multiple target positions. Therefore, the user can generally grasp how much space the robot model 10m occupying the multiple target positions takes up.
[0125] (Aspect 2) In the teaching support device 30 described in aspect 1, the setter 321 further sets via positions which are positions through which the hand 14m (end effector) passes before reaching the target position, the deriving unit 323 further derives the postures of the robot model 10m when the hand 14m (end effector) is located at a plurality of the via positions, and the image generator 324 further generates an image in which a plurality of images of the robot model 10m in postures in which the hand 14m (end effector) is located at the plurality of via positions are superimposed.
[0126] According to this configuration, the image generator 324 further generates an image in which multiple images of the robot model 10m in postures in which the hand 14m is located at multiple intermediate positions are superimposed. This allows the user to simultaneously view the postures of the multiple robot models 10m in which the hand 14m reaches multiple target positions, as well as the postures of the multiple robot models 10m in which the hand 14m reaches multiple intermediate positions. Therefore, the user can generally grasp how much space the robot models 10m in which the multiple target positions and intermediate positions occupy.
[0127] (Aspect 3) In the teaching support device 30 described in Aspect 1 or Aspect 2, the deriver 323 further derives a motion trajectory of the robot model 10m until the hand 14m (end effector) moves to the plurality of target positions, and the image generator 324 further generates an image in which images of the motion trajectories of the plurality of robot models 10m are superimposed.
[0128] According to this configuration, the image generator 324 further generates an image in which images of the movement trajectories of multiple robot models 10 m are superimposed, thereby displaying all areas through which the robot model 10 m passes on the display 21, and allowing the user to visually check for dead spaces within the area in which the robot model 10 m is placed.
[0129] (Aspect 4) The teaching support device 30 described in any one of Aspects 1 to 3 further includes a receiver 322 that receives a change in the position of the robot model 10m, and when the position of the robot model 10m is changed via the receiver 322, the deriving device 323 derives the posture of the robot model 10m when the hand 14m (end effector) is located at the plurality of target positions for the robot model 10m after the position change, and the image generator 324 generates an image in which images of the plurality of robot models 10m that have been changed and are moving are superimposed.
[0130] According to this configuration, when the position of the robot model 10m is changed via the acceptor 322, the image generator 324 generates an image in which multiple images of the robot model 10m that have been changed and are moving are superimposed on one another. This allows the user to visually recognize the robot model 10m, whose posture is changing, on the display 21 while changing the position of the robot model 10m.
[0131] (Aspect 5) In the teaching support device 30 according to any one of Aspects 1 to 4, the setter 321 sets an interference object model 6m that models the interference object 6, and further includes a determiner 326 that determines interference between the robot model 10m and the interference object model 6m, and an alarm 325 that, when the determiner 326 determines that the robot model 10m and the interference object model 6m are interfering with each other, notifies a user that the robot model 10m is interfering with the interference object model 6m.
[0132] According to this configuration, since the determiner 326 and the warning device 325 are provided, when the robot model 10m interferes with the interfering object model 6m, the user can know that the robot model 10m is interfering with the interfering object model 6m.
[0133] (Aspect 6) In the teaching support device 30 described in any one of Aspects 1 to 5, the warning device 325 changes the display of the robot model 10m on the image generator 324 when the determiner 326 determines that the robot model 10m and the interfering object model 6m are interfering with each other.
[0134] According to this configuration, when the determiner 326 determines that the robot model 10m and the interfering object model 6m are interfering with each other, the warning device 325 causes the image generator 324 to change the display of the robot model 10m. This allows the user to easily determine that the robot model 10m is interfering with the interfering object model 6m by the change in the display of the robot model 10m.
[0135] (Aspect 7) In the teaching support device 30 according to any one of Aspects 1 to 6, the interfering object model 6m is a model of a static or dynamic interfering object.
[0136] According to this configuration, the interference model 6m is a model of a static or dynamic interference object 6, so that the user can display the static or dynamic interference object 6 on the display 21 as an image.
[0137] (Aspect 8) In the teaching support device 30 described in any one of Aspects 1 to 7, the robot model 10m is a model of the robot 10 that includes, as the hands 14 (end effectors), a first hand 14a (first end effector) and a second hand 14b (second end effector) connected to the arm 12.
[0138] With this configuration, the robot model 10m is a model of the robot 10 including the first hand 14a and the second hand 14b, and therefore the robot model 10m is intended for robots 10 with more complex configurations. Even for such complex robots 10, it is possible to grasp overall how much space the robot model 10m that reaches multiple target positions will occupy.
[0139] (Aspect 9) In the teaching support device 30 according to any one of Aspects 1 to 8, the robot model 10m is a model of a horizontal articulated robot 10 in which the hand 14 (end effector) transports a substrate S.
[0140] According to this configuration, the robot model 10m is a model of a horizontal articulated robot 10 in which the hand 14 transports the substrate S. Even for such a robot, the time required to determine the target position of the robot model 10m can be reduced.
[0141] (Aspect 10) In the teaching support device 30 described in any one of Aspects 1 to 9, the setter 321 sets a housing model 2m that models the housing 2 of the clean room 1, and at least one of a hoop model 4m that models the hoop 4 attached to the housing 2 and a processing device model 5m that models the processing device 5 attached to the housing 2, the target position corresponds to the position of the at least one of the hoop model 4m and the processing device model 5m, and the deriving device 323 derives the posture of the robot model 10m within the area of the housing model 2m and at least one of the hoop model 4m and the processing device model 5m.
[0142] With this configuration, the target position corresponds to the position of at least one of the hoop model 4m and the processing device model 5m, and the deriving unit 323 derives the posture of the robot model 10m within the area of the housing model 2m and at least one of the hoop model 4m and the processing device model 5m. This allows the user to grasp overall how much space the robot model 10m will occupy when it reaches multiple target positions, for the robot 10 used in the clean room 1, which is an environment with strict operational restrictions.
[0143] (Aspect 11) A teaching support method is a teaching support method for displaying on a display 21 an image of a model of a robot 10 having an arm 12 and a hand 14 (end effector) connected to the arm 12, the teaching support method including: setting a robot model 10m that models the robot 10 and a plurality of target positions for a hand 14m (end effector) of the robot model 10m; deriving postures of the robot model 10m when the hand 14m (end effector) is located at the plurality of target positions; generating images of the plurality of target positions and the robot model 10m; outputting the generated images to the display 21; and generating an image in which a plurality of images of the robot model 10m in postures in which the hand 14m (end effector) is located at the plurality of target positions are superimposed.
[0144] According to this configuration, an image is generated in which multiple images of the robot model 10m are superimposed, each with the hand 14m positioned at multiple target positions. This allows the user to visually recognize the postures of the multiple robot models 10m as the hand 14m reaches the multiple target positions at once. Therefore, the user can generally grasp how much space the robot model 10m occupying as it reaches the multiple target positions will take up.
[0145] (Aspect 12) The teaching support program 311 is a teaching support program 311 that displays on the display 21 an image of a model of a robot 10 having an arm 12 and a hand 14 (end effector) connected to the arm 12, and causes a computer to realize the following functions: a function of setting a robot model 10m that is a model of the robot 10 and a plurality of target positions of a hand 14m (end effector) of the robot model 10m; a function of deriving the posture of the robot model 10m when the hand 14m (end effector) is located at the plurality of target positions; a function of generating images of the plurality of target positions and the robot model 10m, outputting the generated images to the display 21; and a function of generating an image in which a plurality of images of the robot model 10m in postures in which the hand 14m (end effector) is located at the plurality of target positions are superimposed.
[0146] According to this configuration, an image is generated in which multiple images of the robot model 10m are superimposed, each with the hand 14m positioned at multiple target positions. This allows the user to visually recognize the postures of the multiple robot models 10m as the hand 14m reaches the multiple target positions at once. Therefore, the user can generally grasp how much space the robot model 10m occupying as it reaches the multiple target positions will take up.
Claims
1. A teaching support device that displays on a display an image of a model of a robot having an arm and an end effector connected to the arm, comprising: a setter that sets a robot model that models the robot and multiple target positions for the end effector of the robot model; a deriver that derives the posture of the robot model when the end effector is located at the multiple target positions; and an image generator that generates images of the multiple target positions and the robot model and outputs the generated images to the display, wherein the image generator generates an image in which multiple images of the robot model in postures when the end effector is located at the multiple target positions are superimposed.
2. A teaching support device as described in claim 1, wherein the setter further sets intermediate positions which are positions through which the end effector passes before reaching the multiple target positions, the deriver further derives the posture of the robot model when the end effector is located at the multiple intermediate positions, and the image generator further generates an image in which multiple images of the robot model in postures in which the end effector is located at the multiple intermediate positions are superimposed.
3. A teaching support device as described in claim 1, wherein the deriver further derives a motion trajectory of the robot model until the end effector moves to the multiple target positions, and the image generator further generates an image in which multiple images of the motion trajectories of the robot model are superimposed.
4. A teaching support device as described in claim 1, further comprising a receiver for receiving a change in the position of the robot model, and when the position of the robot model is changed via the receiver, the deriver derives, for the robot model after the position change, the posture of the robot model when the end effector is located at the multiple target positions, and the image generator generates an image in which images of the multiple robot models moving with their positions changed are superimposed.
5. A teaching support device as described in claim 1, further comprising: a setter that sets an interference object model that models an interference object; a determiner that determines interference between the robot model and the interference object model; and a warning device that notifies a user that the robot model is interfering with the interference object model when the determiner determines that the robot model and the interference object model are interfering with each other.
6. A teaching support device as described in claim 5, wherein the warning device causes the image generator to change the display of the robot model when the determiner determines that the robot model and the interfering object model are interfering with each other.
7. A teaching support device according to claim 5 or 6, wherein the interference model is a model of a static or dynamic interference object.
8. A teaching support device according to claim 1, wherein the robot model is a model of a robot including, as the end effectors, a first end effector and a second end effector connected to the arm.
9. A teaching support device according to claim 1, wherein the robot model is a model of a horizontal articulated robot whose end effector transports a substrate.
10. A teaching support device as described in claim 1, wherein the setter sets a housing model that models a clean room housing, and at least one of a hoop model that models a hoop attached to the housing and a processing device model that models a processing device attached to the housing, the target position corresponds to a position of at least one of the hoop model and the processing device model, and the deriver derives the posture of the robot model within the area of the housing model and at least one of the hoop model and the processing device model.
11. A teaching support method for displaying on a display an image of a model of a robot having an arm and an end effector connected to the arm, comprising: setting a robot model that models the robot and multiple target positions for the end effector of the robot model; deriving a posture of the robot model when the end effector is located at the multiple target positions; generating images of the multiple target positions and the robot model, outputting the generated images to the display; and further generating an image in which multiple images of the robot model in postures when the end effector is located at the multiple target positions are superimposed.
12. A teaching support program that displays on a display an image of a model of a robot having an arm and an end effector connected to the arm, the teaching support program enabling a computer to realize the following functions: a robot model that models the robot and a plurality of target positions for the end effector of the robot model; a function to derive the posture of the robot model when the end effector is located at the plurality of target positions; a function to generate images of the plurality of target positions and the robot model, output the generated images to the display, and further a function to generate an image in which a plurality of images of the robot model in postures in which the end effector is located at the plurality of target positions are superimposed.
Citation Information
Patent Citations
Robot system and method for operating the same
JP2019042843A
Robot system and robot control method
JP2019107704A
Simulation device of robot
JP2019188530A
Teaching device for robot and teaching program for robot
JP2022007291A