Teaching support device, teaching support method and teaching support program
Patent Information
- Application Number
- JP2023148998
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2025-03-27
AI Technical Summary
【0009】 前記教示支援装置、前記教示支援方法及び前記教示支援プログラムによれば、複数の目標位置に到達するロボットモデルが概ねどれくらいのスペースを占めるかを全体的に把握できる。
Smart Images

Figure 2025042153000001_ABST
Abstract
Description
[Technical field]
[0001] The technology disclosed herein relates to a teaching assistance device, a teaching assistance method, and a teaching assistance program. [Background technology]
[0002] There have been known teaching support devices that check the posture of a robot. For example, a teaching support device disclosed in Patent Document 1 checks the motion of a robot model by playing the motion of the robot model on a touch screen based on a motion trajectory determined from a set start point and end point. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6526098 Summary of the Invention [Problem to be solved by the invention]
[0004] In the teaching support device described above, the user sets one start point and one end point of the robot model, and then displays the operation of the robot model. Here, there are cases where multiple target positions that are end points are set. Even if the state of the robot model reaching each target position can be confirmed one by one, it is difficult to grasp overall how much space the robot model reaching the multiple target positions will occupy.
[0005] The technology disclosed herein has been developed in consideration of these points, and its purpose is to make it possible to grasp overall how much space a robot model will occupy as it reaches multiple target positions. [Means for solving the problem]
[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 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.
[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 for setting multiple target positions for the end effector of the robot model, a function for deriving the posture of the robot model when the end effector is located at the multiple target positions, a function for generating images of the multiple target positions and the robot model, a function for outputting the generated images to the display, and a function for generating an image in which multiple images of the robot model in postures in which the end effector is located at the multiple target positions are superimposed. Effect of the Invention
[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. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a schematic diagram showing a teaching support system including a teaching support device according to an embodiment. [Diagram 2] FIG. 2 is a schematic diagram showing a robot used in a clean room. [Diagram 3] FIG. 3 is a block diagram showing the configuration of the teaching assistance device. [Figure 4] FIG. 4 shows images of each model displayed on the display. [Diagram 5] FIG. 5 is a flowchart showing the operation of the teaching support device. [Figure 6] FIG. 6 is a diagram showing an image including a housing model of the initial specifications. [Figure 7] FIG. 7 is a diagram showing an image in which images of a plurality of robot models in a target posture and images of a plurality of robot models in a waiting posture are superimposed. [Figure 8]FIG. 8 is a diagram showing an image of the robot model in a target posture corresponding to the target position P1. [Figure 9] FIG. 9 is a diagram showing an image of the robot model in a target posture corresponding to the target position P2. [Figure 10] FIG. 10 is a diagram showing an image of the robot model in a target posture corresponding to the target position P3. [Figure 11] FIG. 11 is a diagram showing an image of the robot model in a target posture corresponding to the target position P4. [Figure 12] FIG. 12 is a diagram showing an image of the robot model in a target posture corresponding to the target position P5. [Figure 13] FIG. 13 is a diagram showing an image of the robot model in a waiting posture corresponding to a waypoint before the target position P1. [Figure 14] FIG. 14 is a diagram showing an image in which a robot model having a target posture corresponding to a target position P1 interferes with an interference object model. [Figure 15] FIG. 15 shows an image when the position of the robot model is changed. [Figure 16] FIG. 16 is a diagram showing an example of an image displayed on a display in the teaching support device according to the first modification. [Figure 17] FIG. 17 shows three-dimensional images of each model displayed on the display. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an exemplary embodiment will be described in detail 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 place where a robot is used based on an image of a robot model that models the robot. 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 a 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 type 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 are simply referred to as "link 13."
[0015] The robot 10 has two hands 14, that is, 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 shape of the hand 14 is a plate extending in the horizontal direction, and the shape of the tip of the hand 14 is bifurcated. In other words, the shape of the hand 14 is approximately Y-shaped when viewed in the thickness direction. The first hand 14a and the second hand 14b are connected to the second link 13b so as to be rotatable in the horizontal direction around the third axis L3 extending in the vertical direction. The first axis L1, the second axis L2, and the third axis L3 extend parallel to each other. 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 from bottom to top in this order. 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. The inside of the housing 2 is a cleaned 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 (FOUP: Front Opening Unified Pod) 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 a side wall of the housing 2 opposite to 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 a substrate S. The FOUP 4 accommodates, for example, a plurality of substrates S horizontally and equidistantly spaced in the vertical direction. The processing device 5 processes the substrate S. The processing device 5 is a processing device that performs various processes on the substrate S, such as heat treatment, impurity introduction processing, thin film formation processing, etc.
[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 operational area of the robot 10.
[0020] An obstruction 6 may be placed inside the housing 2. The obstruction 6 is a static or dynamic obstruction. The static obstruction 6 is a stationary obstruction such as a pillar, a screw, a wiring cover, etc. The dynamic obstruction 6 is a moving obstruction such as another robot, a shutter, etc.
[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 located 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 unit 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 for causing a computer, i.e., the teaching assistance device 30, to realize various functions of 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 support program 311 from the storage unit 31 and developing them in the memory 33. Specifically, the processor 32 has a setter 321, a deriver 323, and an image generator 324 as functional blocks. The processor 32 may further have a receiver 322, a warning unit 325, and a determiner 326 as functional blocks.
[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 the hand 14 of the robot 10. Each element of the robot model 10m is assigned a symbol that is the symbol of the corresponding element of the robot 10 plus "m". That is, the robot model 10m has an arm 12m and a hand 14m. The arm 12m includes a link 13m, and the link 13m includes a first link 13am and a second link 13bm, as shown in FIG. 8. The hand 14m includes a first hand 14am and a second hand 14bm, as shown in FIG. 8. 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 omits 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 "hand 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 2m models the side wall 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 the three hoop models 4m, respectively. 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 accommodated 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 device model 5m models the side walls of the processing device 5, i.e., the planar shape of the processing device 5. Target positions P4 and P5 are set inside the two processing device models 5m, respectively. Each of the target positions P4 and P5 is the target position of the hand 14m in the processing device 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 device model 5m is defined by the center position of the substrate Sm accommodated in the processing device model 5m. In other words, the position of the hand 14m when the substrate Sm in the processing device model 5m is placed on the hand 14m is the target position of the hand 14m in the processing device 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 route position of the hand 14m immediately before the hoop model 4m is defined as the center position of the substrate Sm placed on the hand 14m waiting immediately before the hoop model 4m. The route position of the hand 14m immediately before the processing device model 5m is defined as the center position of the substrate Sm placed on the hand 14m waiting immediately before the processing device model 5m. In other words, the route position is defined as 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 6m 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, the setter 321 sets the position of the housing, the planar shape, the number of side walls, the size of the side walls, etc., for the specifications of the housing model 2m. 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 of the hands 14m, the shape of the hands 14m, etc., for the specifications of the robot model 10m. The setter 321 sets the number, size, shape, and relative position of the hoop models 4m with respect to the housing model 2m, etc., for the specifications of the hoop models 4m. 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., for 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., for the specifications of the interference object models 6m. The setting device 321 sets the quantity, size, shape, and relative position of the waiting areas 40 with respect to the case 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 an input from a 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. When there is no input from the user regarding the changeable specifications, the setter 321 sets the changeable specifications to initial settings.
[0037] The image generator 324 generates an image of the robot model 10m, and outputs the generated image to the display 21. In detail, the image generator 324 generates images of the housing model 2m, the hoop model 4m, the processing device model 5m, the interfering object model 6m, and the waiting area 40 in addition to the robot model 10m. 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 acceptor 322 accepts 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 accepted by the acceptor 322. Specifically, the acceptor 322 accepts an 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 acceptor 322 accepts 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 to move it. The acceptor 322 accepts a 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, so 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 14 is located at the target position. Hereinafter, the "posture of the robot model 10m when the hand 14m is located at the target position" is also 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 case 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, when 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 deriver 323 derives the target posture of the robot model 10m for all the target positions. Note that the deriver 323 does not derive the target posture of the robot model 10m for the target positions that the hand 14m cannot reach.
[0043] Similarly, the deriving device 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" is also simply referred to as the "waiting posture". In the 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 traveling direction and the longitudinal direction of the hand 14 coincides with the traveling direction. 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 entering direction. The deriving device 323 derives the waiting posture of the robot model 10m that does not interfere with the interference object model 6m. However, when the deriver 323 cannot derive a standby posture of the robot model 10m that does not interfere with the interference model 6m, the deriver 323 derives a standby 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 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 waiting posture of the robot model 10m for all the way points. Note that the deriving unit 323 does not derive the waiting 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 a plurality of 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 further 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 a plurality of images of the robot model 10m in a posture in which the hand 14m is located at a plurality of target positions are superimposed. Specifically, the deriver 323 derives a target posture of the robot model 10m for each of a plurality of target positions, and the image generator 324 generates an image in which a plurality of 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 corresponding to the changed position of the robot model 10m. That is, the image generator 324 updates the image of the robot model 10m in response to 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 response to 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, that is, continuous change. In this case, the setter 321 sequentially updates the changed position of the robot model 10m in response to the continuous change of the position of the robot model 10m, and the deriving unit 323 sequentially derives the target posture of the robot model 10m corresponding to the updated position of the robot model 10m. The image generator 324 sequentially generates an image of the robot model 10m in the target posture. That is, the image generator 324 sequentially generates a composite image including images of a plurality of robot models 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 images of a plurality of robot models 10m in the changed and moving target postures are superimposed. That is, the image generator 324 generates moving images of a plurality of robot models 10m.
[0050] The image generator 324 further generates an image of the robot model 10m in the waiting posture derived by the deriver 323. Then, the image generator 324 generates an image in which a plurality of images of the robot model 10m in postures in which the hand 14m is located at a plurality of waypoints are superimposed. Specifically, the deriver 323 derives the waiting postures of the robot model 10m for each of the plurality of waypoints, and the image generator 324 generates an image in which a plurality of images of the robot model 10m in the waiting 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 waiting area 40 in front of the target position P1, an image of the robot model 10m corresponding to the waiting area 40 in front of the target position P2, an image of the robot model 10m corresponding to the waiting area 40 in front of the target position P3, an image of the robot model 10m corresponding to the waiting area 40 in front of the target position P4, and an image of the robot model 10m corresponding to the waiting 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 multiple robot models 10m having a target posture are superimposed, as well as an image in which images of multiple robot models 10m having a standby posture are superimposed. In other words, the image generator 324 generates an image in which images of multiple robot models 10m corresponding to a target posture are superimposed on images of multiple robot models 10m corresponding to a standby posture.
[0051] The image generator 324 updates the image of the robot model 10m in the waiting 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 the waiting posture 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 waiting posture that are changed and moved are superimposed. That is, the image generator 324 generates a moving image of multiple robot models 10m in the waiting posture.
[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 interfere with each other, the warning device 325 notifies the user that the robot model 10m interferes with the interfering object model 6m. Specifically, when the determiner 326 determines that the robot model 10m and the interfering object model 6m interfere with each other, the warning device 325 changes the display of the robot model 10m in the image generator 324. For example, the warning device 325 changes the display color of the robot model 10m interfering with the interfering object model 6m from the display color of the robot model 10m not interfering with the interfering object model 6m. As an example, the display color of the robot model 10m interfering with the interfering object model 6m is set to red, and the display color of the robot model 10m not interfering with the interfering object model 6m is set to blue.
[0053] Next, the layout setting process performed by the teaching support device 30 will be described with reference to the flowchart of FIG.
[0054] First, in step S1, the setter 321 performs initial settings of the specifications of each model. Specifically, the setter 321 performs initial settings of the housing model 2m, the target position, the via position, the interference model 6m, and the robot model 10m. A part of the specifications of each model in the initial settings is stored in the storage device 31 in advance, and the remaining specifications are input by the user. That is, the setter 321 performs initial settings of 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 accepted by the acceptance device 322 from the user. Step S1 is an example of "setting the robot model 10m modeled on the robot 10 and a plurality of target positions of the hand 14m of the robot model 10m" in the teaching support 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 interfering 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 derive the posture of the robot model when the hand 14m is located at any one of the target positions in the initial setting, 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 case model 2m of the initial specifications. As shown in FIG. 6, the image generator 324 generates an image including the case model 2m of the initial specifications (see solid line), and displays the generated image on the display 21. The user changes the size and shape of the case model 2m by operating a pointer Q with the mouse 22 and dragging one vertex of the case model 2m. When the receiver 322 receives an operation input of the mouse 22 by the user, the setter 321 sets the size and shape of the case 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 case model 2m of the set size and shape, and displays the generated image on the display 21. Note that, instead of the above-mentioned operation of the mouse 22, for example, the receiver 322 may receive an input of coordinate values by the user via a keyboard or the like, and the setter 321 may set the size of the case model 2m based on the coordinate values received by the receiver 322.
[0057] The setter 321 sets a target position based on an input operation by a user. The setter 321 sets the hoop model 4m and the processing device model 5m as the target position. Specifically, the setter 321 sets the quantity, shape, size, and position of the hoop model 4m and the processing device model 5m. For example, for the hoop model 4m, the setter 321 sets a plurality of options of initial specifications for shape and size. The image generator 324 generates an image including options for the shape and size of the hoop model 4m, and displays the image on the display 21. The acceptor 322 accepts the selection of the option by the user 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 designation of the initial position by the user via the mouse 22. The setter 321 sets the designated position accepted by the acceptor 322 as the initial position of the hoop model 4m. When the quantity, shape, size or initial position of the hoop models 4m are 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 related to the processing device model 5m is similar to the setting related to 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 it 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 case model 2m. The case 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 the waiting areas 40 as the 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 the waiting areas 40 at positions facing 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 the hoop models 4m and the processing device models 5m. The setter 321 may set the waiting areas 40 by a user's input operation. Specifically, the acceptor 322 accepts the selection of an option by the user 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 option 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 areas 40 whose number and positions 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 by the input operation of the user. The setter 321 sets the quantity, shape, size and position of the interfering object model 6m. Specifically, for the interfering object model 6m, the setter 321 sets a plurality of options of the shape and size of the initial specification. The image generator 324 generates an image including options regarding the shape and size of the interfering object model 6m, and displays it on the display 21. The acceptor 322 accepts the selection of the option by the user via the mouse 22. The setter 321 sets the shape and size of the interfering object model 6m according to the option accepted by the acceptor 322. The acceptor 322 accepts the designation of the initial position of the interfering object model 6m via the mouse 22 by the user. The setter 321 sets the designated position accepted by the acceptor 322 as the initial position of the interfering object model 6m. When the quantity, 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 are 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 by an input operation of 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 of the initial specifications. The image generator 324 generates an image including 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 the option by the user via the mouse 22. The setter 321 sets the shape and size of the robot model 10m according to the option accepted by the acceptor 322. The acceptor 322 accepts the designation of the initial position of the robot model 10m via the mouse 22 by the user. The setter 321 sets the designated position accepted by the acceptor 322 as the initial position of the robot model 10m. When the shape, size, or initial position of the robot model 10m is stored in advance in the storage device 31, the setter 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 it 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 judges whether or not the derivation of the posture of the robot model 10m has been accepted. Specifically, the acceptor 322 judges whether or not an input for derivation of the posture of the robot model 10m has been received 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 it as an input for derivation of the posture of the robot model 10m.
[0066] If there is no input for derivation of 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. When the user clicks the confirm button via the mouse 22, the acceptor 322 accepts the input for confirming the layout. 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 elapsed without an input for derivation of the posture.
[0067] When 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. When 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 deriver 323 derives target postures of the robot model 10m corresponding to all the target positions, and further derives standby postures of the robot model 10m corresponding to all the intermediate 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 support method.
[0069] Specifically, with respect to the target posture of the robot model 10m corresponding to the target position P1, the deriver 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 deriver 323 derives the target postures of the robot model 10m corresponding to the target positions P2, P3, P4, and P5, respectively.
[0070] Regarding the waiting posture of the robot model 10m corresponding to the via position before the target position P1, the deriving unit 323 derives the waiting posture of the robot model 10m when the substrate Sm of the hand 14m of the robot model 10m is located at the via position before the target position P1. Similarly, the deriving unit 323 derives the waiting postures of the robot model 10m corresponding to each of the via positions before the target position P2, the via positions before the target position P3, the via positions before the target position P4, and the via positions before the target position P5.
[0071] In step S5, the determiner 326 determines interference between the robot model 10m and the interfering object model 6m. That is, the determiner 326 determines interference between the robot model 10m in the target posture and the interfering object model 6m, and also determines interference between the robot model 10m in the standby posture and the interfering object model 6m. If the robot model 10m does not interfere with the interfering object model 6m, in step S6, the image generator 324 generates an image in which an image of the robot model 10m in the target posture, an image of the robot model 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 multiple 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 multiple 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 the robot model 10m in a posture in which the hand 14m is located at multiple target positions is superimposed" in the teaching support method.
[0072] Specifically, as shown in Fig. 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 the robot models 10m are the same. In other words, the positions of the first axis L1 of all the robot models 10m are the same.
[0073] In detail, with regard to an image of the robot model 10m in the target posture corresponding to the target position P1, as shown in FIG. 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 an image of the robot model 10m in the target posture corresponding to the target position P2, as shown in FIG. 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 an 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 an image of the robot model 10m in the target posture corresponding to the target position P4, as shown in FIG. 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 an image of the robot model 10m in the target posture corresponding to the target position P5, as shown in FIG. 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 waiting 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 waiting 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 waiting 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 FIG. 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 by superimposing an image of the robot model 10m in a target posture corresponding to each of the target position P1, the target position P2, the target position P3, the target position P4, and the target position P5, an image of the robot model 10m in a waiting posture corresponding to each of the via positions before the target position P1, the via positions before the target position P2, the via positions before the target position P3, the via positions before the target position P4, and the via positions before the target position P5, and an image of the robot model 10m in an initial posture.
[0081] If the robot model 10m and the interfering object model 6m interfere with each other in step S5, the warning device 325 changes the display of the robot model 10m to the image generator 324 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 having 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 as shown by hatching. The hatching display expresses, for example, red in the actual image. The warning device 325 changes the display of, for example, the board Sm of the second hand 14bm interfering with the interfering object model 6m. In this example, the warning device 325 changes the display of a part of the image of the robot model 10m having 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 received 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 or not there is an input to confirm the layout. When the user clicks the Confirm button via the mouse 22, the acceptor 322 accepts the input to confirm the layout. If the acceptor 322 accepts the input to confirm the layout, the setter 321 stores the current layout, i.e., the settings of each model, in the storage unit 31, and the layout setting process is completed. 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 elapsed without any input to change the position.
[0085] If there is no input for finalizing the layout, the acceptor 322 returns to step S8. The acceptor 322 periodically repeats steps S8 and S9, and waits for an input for changing the position of the robot model 10m or finalizing the layout.
[0086] When the acceptor 322 accepts a change in the position of the robot model 10m in step S8, in step S10, the setter 321 changes the position of the robot model 10m to the position accepted by the acceptor 322. After that, the process returns to step S4, and the deriver 323 re-derives the target posture and standby posture of the robot model 10m corresponding to the changed position.
[0087] Specifically, as shown in Fig. 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 of the mouse 22 by the user, 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 deriver 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 an image of a plurality of robot models 10m having a target posture, an image of a plurality of robot models 10m having a standby posture, and an image of the robot model 10m in an initial posture are superimposed.
[0088] The dragging of the first axis L1 of the robot model 10m is an input of continuous (strictly speaking, intermittent) change of the position of the robot model 10m from the user. That is, by repeating steps S4 to S10, the acceptor 322 can accept continuous change of the position of the robot model 10m. In this case, the setter 321 continuously sets, that is, changes, the position of the robot model 10m. In response to this, 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 has changed in accordance with the position, and as a result, generates a moving image of the robot model 10m. This allows the user to visually recognize the robot model 10m whose target posture and standby posture are transformed on the display 21 while changing the position of the robot model 10m.
[0089] In this example, the position of the robot model 10m is too far away 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, as long as requests for changes in the position of the robot model 10m continue to be accepted, the processes from step S4 onwards are repeated.
[0091] According to the teaching support device 30 described above, the image generator 324 generates an image in which images of the robot model 10m in a posture in which the hand 14m is located at a plurality of target positions are superimposed. This allows the user to visually recognize the postures of the plurality of robot models 10m in which the hand 14m reaches a plurality of target positions at once. Therefore, the user can generally grasp how much space the robot model 10m that reaches a plurality of target positions occupies.
[0092] Furthermore, the image generator 324 generates an image in which the images of the robot model 10m in the postures in which the hand 14m is located at the multiple intermediate positions are superimposed. This allows the user to visually recognize at a glance the postures of the robot model 10m in the postures in which the hand 14m reaches the multiple target positions, as well as the postures of the robot model 10m in the postures in which the hand 14m reaches the multiple intermediate positions. Therefore, the user can generally grasp how much space the robot model 10m that reaches the multiple target positions and intermediate positions occupies.
[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 the multiple robot models 10m whose positions are 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] In addition, 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, a shutter, or the like, and the user can display the dynamic interference object as an image on the display 21.
[0097] In addition, 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 a robot 10 having a more complicated configuration. Even for such a complicated robot 10, it is possible to generally grasp how much space the robot model 10m that reaches multiple target positions will occupy.
[0098] Moreover, 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 as well, the time required to determine the target position of the robot model 10m can 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 device 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 that reaches multiple target positions will occupy for the robot 10 used in the clean room 1, which is an environment with strict operational restrictions.
[0100] Variation 1 In the teaching support device according to the first modification, the deriver 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 robot model 10m are superimposed.
[0101] Specifically, when the receiver 322 receives a request to derive the posture of the robot model 10m, the deriving device 323 derives a motion trajectory of the robot model 10m until 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 device 323 derives the motion trajectory of the robot model 10m for all target positions. As shown in FIG. 16, the image generator 324 generates an image in which an image of the motion trajectory of the robot model 10m up to the target position P1, an image of the motion trajectory of the robot model 10m up to the target position P2, an image of the motion trajectory of the robot model 10m up to the target position P3, an image of the motion trajectory of the robot model 10m up to the target position P4, and an image of the motion trajectory of the robot model 10m up to the target position P5 are superimposed. The image of the motion trajectory of the robot model 10m is a collection of images of the robot model 10m until 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 support device of the first modification, the image generator 324 further generates an image in which the images of the movement trajectories of the multiple robot models 10m are superimposed. This allows the display 21 to display all the areas through which the robot model 10m passes, and allows the user to visually check the dead space within the area in which the robot model 10m is placed.
[0103] Other Embodiments As described above, the above embodiment has been described as an example of the technology disclosed in this application. However, the technology in this disclosure is not limited to this, and can be applied to embodiments in which modifications, replacements, additions, omissions, etc. are appropriately performed. In addition, it is also possible to combine the components described in the above embodiment to form a new embodiment. In addition, among the components described in the attached drawings and detailed description, 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 may be included. Therefore, the fact that these non-essential components are described in the attached drawings and detailed description should not immediately be taken to mean 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 number of FOUPs 4 and processing devices 5 is not limited to the above example, and these numbers may be increased or decreased. Accordingly, the number of FOUP models 4m and processing device models 5m is not limited to the above example, and these numbers may be increased or decreased. The number of waiting areas 40 is not limited to the above example, and these numbers may be increased or decreased.
[0106] Although the robot 10 is used in a location including both the FOUP 4 and the processing device 5, it may be used in a location including either the FOUP 4 or the processing device 5. That is, the setter 321 may set only either 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. For this reason, 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. For this reason, 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 a FOUP and a substrate storage room (storage). In this case, the housing is provided with a FOUP and a storage. At this time, the setter sets a FOUP model and a storage model.
[0108] The number of interference objects 6 is not limited to the above example, and may be increased or decreased. Accordingly, the number of interference 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, and 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 a target position for 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 may not have at least one of the receiver 322, the alarm unit 325, and the determiner 326 as functional blocks.
[0113] The setter 321 sets the intermediate position in addition to the target position, but it may set only the target position without setting the intermediate position. Accordingly, the deriver 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 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 warning display or sound. 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 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 interfere with each other.
[0115] When the robot model 10m and the interfering object model 6m interfere with each other, the warning device 325 may cause the image generator 324 to change the display of the image 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 display, 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 generate three-dimensional images as shown in FIG. 17. In FIG. 17, the same reference numerals as in FIG. 4 and FIG. 8 are used. The processing device model 5m is drawn 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 a three-dimensional position. For example, the acceptor 322 accepts the three-dimensional position of the target position, the setter 321 sets the three-dimensional position of the target position, and the deriving unit 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 housing model, setting the hoop model, setting the interference object model, and setting the robot model may be changed, or may be performed in parallel. Also, the determination of interference between the robot model and 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 above-mentioned teaching assistance device 30. The teaching assistance program can be realized by other devices without being limited to the above-mentioned 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 CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the functions described. Processors include transistors and other circuits and are considered to be circuits or processing circuitry. A processor may 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 in this specification 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 the hardware and software used to configure the hardware and / or processor.
[0122] [Aspects] The above-described embodiment is a specific example of the following aspects.
[0123] (Aspect 1) The 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 multiple target positions for a hand 14m (end effector) of the robot model 10m, a deriver 323 that derives a posture of the robot model 10m when the hand 14m (end effector) is located at the multiple target positions, and an image generator 324 that generates images of the multiple 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 multiple images of the robot model 10m in postures in which the hand 14m (end effector) is located at the multiple target positions are superimposed.
[0124] According to this configuration, the image generator 324 generates an image in which images of the robot model 10m in a posture in which the hand 14m is located at a plurality of target positions are superimposed. This allows the user to visually recognize the postures of the plurality of robot models 10m in which the hand 14m reaches a plurality of target positions at once. Therefore, the user can generally grasp how much space the robot model 10m that reaches a plurality of target positions occupies.
[0125] (Aspect 2) In the teaching support device 30 described in aspect 1, the setter 321 further sets intermediate positions which are positions through which the hand 14m (end effector) passes before reaching the target position, the deriver 323 further derives postures of the robot model 10m when the hand 14m (end effector) is located at multiple intermediate positions, and the image generator 324 further generates an image in which multiple images of the robot model 10m in postures in which the hand 14m (end effector) is located at the multiple intermediate positions are superimposed.
[0126] According to this configuration, the image generator 324 further generates an image in which images of the robot model 10m in a posture in which the hand 14m is located at a plurality of intermediate positions are superimposed. This allows the user to visually recognize at a glance the postures of the robot model 10m in which the hand 14m reaches a plurality of target positions, as well as the postures of the robot model 10m in which the hand 14m reaches a plurality of intermediate positions. Therefore, the user can generally grasp how much space the robot model 10m that reaches a plurality of target positions and intermediate positions occupies.
[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 multiple target positions, and the image generator 324 further generates an image in which multiple images of the motion trajectories of the robot model 10m are superimposed.
[0128] According to this configuration, the image generator 324 further generates an image in which the images of the movement trajectories of the multiple robot models 10m are superimposed. This allows the display 21 to display all the areas through which the robot model 10m passes, and allows the user to visually check the dead space within the area in which the robot model 10m is placed.
[0129] (Aspect 4) In the teaching support device 30 described in any one of aspects 1 to 3, a receiver 322 is further provided for receiving 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 deriver 323 derives the posture of the robot model 10m when the hand 14m (end effector) is located at the multiple target positions for the robot model 10m after the position change, and the image generator 324 generates an image in which images of the multiple robot models 10m moving after their positions are changed 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 images of the multiple robot models 10m whose positions are changed and moved are superimposed. This allows the user to visually recognize the robot model 10m, whose posture changes, 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 a warning device 325 that notifies a user that the robot model 10m is interfering with the interference object model 6m when the determiner 326 determines that the robot model 10m and the interference object model 6m are interfering with each other.
[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 interferes 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 to 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 the first to sixth aspects, the interference object model 6m is a model of a static or dynamic interference object.
[0136] According to this configuration, since the interference model 6m is a model of the static or dynamic interference object 6, 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 a robot 10 that includes a first hand 14a (first end effector) and a second hand 14b (second end effector) connected to the arm 12 as the hands 14 (end effectors).
[0138] According to 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 complicated configurations. Even for such complicated 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 the 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 at least one of the hoop model 4m and the processing device model 5m, and the deriver 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] According to 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 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. This allows the user to grasp overall how much space the robot model 10m that reaches multiple target positions will occupy for the robot 10 used in the clean room 1 that is in an environment with strict operational restrictions.
[0143] (Aspect 11) The teaching support method 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 the steps of: setting a robot model 10m modeled on the robot 10 and multiple target positions for a hand 14m (end effector) of the robot model 10m; deriving the posture of the robot model 10m when the hand 14m (end effector) is located at the multiple target positions; generating images of the multiple target positions and the robot model 10m; outputting the generated images to the display 21; and further generating an image in which multiple images of the robot model 10m in postures in which the hand 14m (end effector) is located at the multiple target positions are superimposed.
[0144] According to this configuration, an image is generated in which images of the robot models 10m in postures in which the hand 14m is located at multiple target positions are superimposed. This allows the user to visually recognize the postures of the robot models 10m in which the hand 14m reaches multiple target positions at once. Therefore, the user can generally grasp how much space the robot models 10m that reach multiple target positions occupy.
[0145] (Aspect 12) The teaching support program 311 is a teaching support program 311 that 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 causes a computer to realize the following functions: a robot model 10m that models the robot 10, a function of setting multiple target positions for the 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 multiple target positions, a function of generating images of the multiple target positions and the robot model 10m, outputting the generated images to the display 21, and further a function of generating an image in which multiple images of the robot model 10m in postures in which the hand 14m (end effector) is located at the multiple target positions are superimposed.
[0146] According to this configuration, an image is generated in which images of the robot models 10m in postures in which the hand 14m is located at multiple target positions are superimposed. This allows the user to visually recognize the postures of the robot models 10m in which the hand 14m reaches multiple target positions at once. Therefore, the user can generally grasp how much space the robot models 10m that reach multiple target positions occupy. [Explanation of symbols]
[0147] 1. Clean Room 2. Chassis 2m housing model 4. Hoops 4m hoop model 5 Processing equipment 5m Processing Equipment Model 6 Interference 6m interference model 10. Robot 10m Robot Model 12,12m arm 14,14m Hand (end effector) 14a, 14am 1st hand (1st end effector) 14b, 14bm Second hand (second end effector) 21 Display 30 Teaching support device 311 Teaching Support Program 321 Setting device 322 Reception desk 323 Deriver 324 Image Generator 325 Alarm 326 Judgment device 40 Standby area
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, a robot model obtained by modeling the robot and a setter that sets a plurality of target positions of an end effector of the robot model; a deriver that derives postures of the robot model when the end effector is located at the plurality of target positions; an image generator that generates images of the plurality of target positions and the robot model and outputs the generated images to the display; The image generator is a teaching support device that generates an image in which multiple images of the robot model in poses in which the end effector is located at the multiple target positions are superimposed.
2. 2. The teaching support device according to claim 1, The setting device further sets intermediate positions which are positions through which the end effector passes before the end effector reaches the plurality of target positions; The deriver further derives postures of the robot model when the end effector is located at a plurality of the via positions; The image generator further generates an image in which multiple images of the robot model in postures in which the end effector is positioned at the multiple intermediate positions are superimposed.
3. 2. The teaching support device according to claim 1, The deriver further derives a motion trajectory of the robot model until the end effector moves to the plurality of target positions; The image generator further generates an image in which multiple images of the motion trajectories of the robot model are superimposed on one another.
4. 2. The teaching support device according to claim 1, A receiver for receiving a change in the position of the robot model, When the position of the robot model is changed via the acceptor, The deriver derives, with respect to the robot model after the position change, a posture of the robot model when the end effector is located at the plurality of target positions; and The image generator is a teaching support device that generates an image in which images of the multiple robot models that are changed in position and move are superimposed.
5. 2. The teaching support device according to claim 1, The setting unit sets an interference object model that models an interference object, a determiner for determining interference between the robot model and the interference object model; The teaching support device further includes 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. 6. The teaching support device according to claim 5, The warning device is a teaching support device that causes the image generator to change the display of the robot model when the determiner determines that the robot model and the interference object model are interfering with each other.
7. The teaching support device according to claim 5 or 6, The teaching support device, wherein the interference model is a model of a static or dynamic interference object.
8. 2. The teaching support device according to claim 1, The robot model is a teaching support device that is a model of a robot that includes a first end effector and a second end effector connected to the arm as the end effectors.
9. 2. The teaching support device according to claim 1, The robot model is a model of a horizontal articulated robot whose end effector transports a substrate.
10. 2. The teaching support device according to claim 1, the setting unit sets at least one of a housing model that models a housing of a clean room, 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 the at least one of the hoop model and the processing device model; The deriver is a teaching support device that derives the posture of the robot model within a region 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 obtained by modeling the robot and a plurality of target positions for an end effector of the robot model; Deriving postures of the robot model when the end effector is located at the plurality of target positions; A teaching support method comprising: 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 a posture in which the end effector is positioned at the multiple target positions are superimposed.
12. A teaching support program for displaying on a display an image of a model of a robot having an arm and an end effector connected to the arm, A function of setting a robot model obtained by modeling the robot and a plurality of target positions of an end effector of the robot model; A function of deriving a posture of the robot model when the end effector is located at the plurality of target positions; A teaching support program that causes a computer to realize the functions of 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 a posture in which the end effector is positioned at the multiple target positions are superimposed.
Citation Information
Patent Citations
Operating device for operating a robot, robot system, and operating method
JP6526098B2