ROBOT TEACHING DEVICE, ROBOT TEACHING PROGRAM, AND ROBOT TEACHING METHOD
The robot teaching device and program allow for detailed corrections to motion trajectories by defining starting and ending points, calculating paths, displaying them, and enabling user-driven modifications, thus optimizing robot movements.
Patent Information
- Application Number
- JP2020110186
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-06-26
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2040-06-26
AI Technical Summary
Existing robot teaching devices cancel the entire motion trajectory when only a part of it is inappropriate, making it difficult for users to make detailed corrections according to their wishes.
A robot teaching device and program that includes a setting section to define starting and ending points, a derivation section to calculate motion trajectories, a display section to show these trajectories, and a correction section to modify them based on user input, allowing for detailed adjustments.
Enables users to easily make precise corrections to the robot's motion trajectories, optimizing the movement paths in accordance with their intentions.
Smart Images

Figure 0007621069000001 
Figure 0007621069000002 
Figure 0007621069000003
Abstract
Description
[Technical field]
[0001] The present application relates to a robot teaching device and a robot teaching program. [Background technology]
[0002] There have been known teaching devices for teaching a robot a specific operation. For example, a teaching device (operation device) disclosed in Patent Document 1 plays back the operation of a robot model on a touch screen based on an operation trajectory determined from a set start point and end point, thereby confirming the operation of the robot model. After confirmation, if the user determines that the operation is inappropriate, the operation is cancelled. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6526098 Summary of the Invention [Problem to be solved by the invention]
[0004] However, with the above-mentioned teaching device, even if it is determined that only a part of the robot model's movement (movement trajectory) is inappropriate, the entire movement (movement trajectory) is canceled, making it difficult to make fine corrections in line with the user's wishes.
[0005] The technology disclosed in this application has been made in consideration of the above circumstances, and its purpose is to provide a teaching device that can easily make fine corrections to a robot's movement trajectory in line with a user's wishes. [Means for solving the problem]
[0006] The technology disclosed in the present application is a teaching device for a robot having a base, an arm having a plurality of links connected to each other and connected to the base, and an end effector connected to the arm. The teaching device for the robot includes a setting unit, a derivation unit, a display unit, and a correction unit. The setting unit sets a predetermined condition including a start point and an end point of the end effector in a predetermined motion of the arm. The derivation unit derives a motion trajectory of the end effector from the start point to the end point and a motion trajectory of the arm associated with the motion trajectory based on the predetermined condition. The display unit displays at least one of the motion trajectory of the arm and the motion trajectory of the end effector derived by the derivation unit. The correction unit corrects the motion trajectory displayed on the display unit in response to an input operation by a user.
[0007] Another technology disclosed in the present application is a teaching program for a robot having a base, an arm having a plurality of links connected to each other and connected to the base, and an end effector connected to the arm. The teaching program for the robot causes a computer to realize a function of setting predetermined conditions including a start point and an end point of the end effector in a predetermined motion of the arm, a function of deriving a motion trajectory of the end effector from the start point to the end point and a motion trajectory of the arm corresponding to the motion trajectory based on the predetermined condition, a function of displaying at least one of the derived motion trajectory of the arm and the motion trajectory of the end effector on a display unit, and a function of correcting the motion trajectory displayed on the display unit in response to an input operation by a user. Effect of the Invention
[0008] According to the robot teaching device described above, it is possible to easily make fine corrections to the motion trajectory of the robot (arm and end effector) in accordance with the user's wishes.
[0009] According to the robot teaching program described above, it is possible to easily make fine corrections to the motion trajectory of the robot (arm and end effector) in accordance with the user's wishes. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating a teaching device and a robot. [Diagram 2] FIG. 2 is a block diagram showing the configuration of the teaching device. [Diagram 3] FIG. 3 is a flowchart showing the operation of deriving a movement trajectory by the teaching device. [Figure 4] FIG. 4 is a diagram showing an example of an image displayed on the display unit. [Diagram 5] FIG. 5 is a diagram showing an example of an image displayed on the display unit. [Figure 6] FIG. 6 is a diagram showing an example of an image displayed on the display unit. [Figure 7] FIG. 7 is a diagram showing an example of an image displayed on the display unit. [Figure 8] FIG. 8 is a diagram showing an example of an image displayed on the display unit. [Figure 9] FIG. 9 is a diagram showing an example of an image displayed on the display unit. [Figure 10] FIG. 10 is a diagram showing an example of an image displayed on the display unit. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Exemplary embodiments will now be described in detail with reference to the accompanying drawings.
[0012] 1, the teaching device 30 of this embodiment is communicatively connected to a robot control device 20, and the robot control device 20 is communicatively connected to a robot 10. The teaching device 30 is a device for teaching the robot 10 a predetermined operation.
[0013] A robot 10 shown in Fig. 1 is an example of a robot targeted by the teaching device 30. The robot 10 is a horizontally articulated robot (SCARA type robot). The robot 10 has a base 11 and a plurality of links 12a, 12b connected to each other, an arm 12 connected to the base 11, and a hand 13 connected to the arm 12. The arm 12 is connected to the base 11 so as to be rotatable in the horizontal direction. The hand 13 is an example of an end effector.
[0014] The arm 12 of this embodiment is composed of two links 12a and 12b. The two links 12a and 12b are connected to each other so as to be rotatable in the horizontal direction. The two links 12a and 12b are, in order from the base 11 side, a first link 12a and a second link 12b. The first link 12a is connected to the base 11 so as to be rotatable around a first axis L1 extending in the vertical direction. The second link 12b is connected to the first link 12a so as to be rotatable around a second axis L2 extending in the vertical direction.
[0015] The robot 10 has two hands 13, that is, an upper hand 13a and a lower hand 13b. The basic configurations of the upper hand 13a and the lower hand 13b are the same. The hand 13 is formed in a plate shape extending in the horizontal direction, and the tip side is formed in a bifurcated shape. In other words, the hand 13 is formed in a substantially Y-shape when viewed in the thickness direction. The upper hand 13a and the lower hand 13b are connected to the second link 12b 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.
[0016] The first link 12a, the second link 12b, the upper hand 13a, and the lower hand 13b 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 12a, 12b and the two hands 13. The robot 10 of this embodiment transports an object (substrate S) by placing it on the upper surface of the hand 13 without fixing it thereto. In other words, the object is simply placed on the upper surface of the hand 13, but is not held thereon.
[0017] The robot 10 of this embodiment is used, for example, in a substrate transfer system 1 that transfers a substrate S. The schematic configuration of the substrate transfer system 1 will be described with reference to FIG.
[0018] The substrate transfer system 1 includes a housing 2, and a robot 10 is disposed within the housing 2. The substrate transfer system 1 is, for example, an EFEM (Equipment Front End Module). The housing 2 is formed in a substantially rectangular parallelepiped shape. The inside of the housing 2 is formed as a clean transfer space 3. That is, the robot 10 is disposed in the transfer space 3 and transfers a substrate S. For example, the substrate S is a disk-shaped semiconductor wafer.
[0019] The substrate transfer system 1 is provided with a plurality of (two in this embodiment) FOUPs (Front Opening Unified Pods: FOUPs) 4 and a plurality of (two in this embodiment) processing devices 5. The plurality of FOUPs 4 are provided adjacent to one side wall of the housing 2. The plurality of processing devices 5 are provided adjacent to a side wall of the housing 2 opposite to the side wall to which the FOUP 4 is adjacent. The FOUPs 4 and the processing devices 5 are provided outside the housing 2, and each of the interiors can communicate with the interior of the housing 2 (transfer space 3). The FOUP 4 accommodates a plurality of substrates S horizontally and at equal intervals in the vertical direction. The processing devices 5 are processing devices that perform various processes on the substrates S, such as heat treatment, impurity introduction process, thin film formation process, etc.
[0020] In the substrate transfer system 1 configured in this manner, the robot 10 transfers the substrate S between the FOUP 4 that accommodates the substrate S and the processing device 5 that processes the substrate S. That is, the arm 12 and the hand 13 transfer the substrate S between the FOUP 4 and the processing device 5.
[0021] <Configuration of Teaching Device> As shown in FIG. 2, the teaching device 30 includes an input unit 31, a communication unit 32, a display unit 33, a storage unit , and a processing unit .
[0022] The input unit 31 accepts an input operation from a user. The input unit 31 outputs an input signal according to the input operation to the processing unit 35. For example, the input unit 31 is a keyboard or a mouse.
[0023] The communication unit 32 is an interface that communicates with the robot control device 20. For example, the communication unit 32 is formed of a cable modem, a soft modem, or a wireless modem.
[0024] The display unit 33 displays at least one of the movement trajectory of the arm 12 and the movement trajectory of the hand 13 derived by the processing unit 35 (derivation unit 352) described later. Furthermore, the display unit 33 also displays a robot model that is a model of the robot 10. The display unit 33 is, for example, a liquid crystal display or an organic EL display.
[0025] The storage unit 34 is a computer-readable storage medium that stores various programs and various data. The storage unit 34 is formed of a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or a DVD, or a semiconductor memory.
[0026] The storage unit 34 stores a trajectory derivation program 341 and the like. The trajectory derivation program 341 is a teaching program for causing a computer, i.e., the processing unit 35, to realize various functions of deriving an optimal motion trajectory of the hand 13 and a motion trajectory of the arm 12 (i.e., the links 12a, 12b) corresponding to the motion trajectory of the hand 13 based on given predetermined conditions. The trajectory derivation program 341 is read out and executed by the processing unit 35. The trajectory derivation program 341 is constructed, for example, based on a genetic algorithm.
[0027] The processing unit 35 has various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit) and / or a DSP (Digital Signal Processor), and various semiconductor memories such as a RAM (Random Access Memory) and / or a ROM (Read Only Memory). The processing unit 35 reads out a trajectory derivation program 341 and the like from the storage unit 34, and realizes various functions for deriving optimal movement trajectories of the arm 12 and the hand 13. The processing unit 35 has a setting unit 351, a derivation unit 352, a reproduction unit 353, a correction unit 354, and an operation program creation unit 355 as functional blocks.
[0028] The setting unit 351 sets predetermined conditions (hereinafter also referred to as operation conditions) including a start point and an end point of the hand 13 in a predetermined operation of the arm 12. Specifically, the setting unit 351 receives an input signal related to the operation conditions according to an input operation by a user from the input unit 31, and sets the operation conditions.
[0029] The derivation unit 352 derives a motion trajectory of the hand 13 from a starting point to an end point and a motion trajectory of the arm 12 corresponding to the motion trajectory of the hand 13 based on a predetermined condition (motion condition). More specifically, the derivation unit 352 derives a motion trajectory of the hand 13 from a starting point to an end point and a motion trajectory of the arm 12 corresponding to the motion trajectory while changing the position of the base 11 based on the motion condition of the setting unit 351. That is, the derivation unit 352 derives a motion trajectory of the hand 13 and a motion trajectory of the arm 12 that match the motion condition by using the position of the base 11 as one of the parameters. The derivation unit 352 reads out the trajectory derivation program 341 from the storage unit 34 and derives the motion trajectories of the hand 13, etc.
[0030] The reproduction unit 353 operates the robot model on the display unit 33 based on the movement trajectory derived by the derivation unit 352. Specifically, the reproduction unit 353 operates the arm and hand of the robot model based on the movement trajectory of the hand 13 or the movement trajectory of the arm 12 displayed on the display unit 33. In other words, the reproduction unit 353 can operate the robot model on the display unit 33 based on the movement trajectory derived by the derivation unit 352, and can also operate the robot model based on the movement trajectory corrected by the correction unit 354 described later.
[0031] The correction unit 354 corrects the movement trajectory displayed on the display unit 33 in response to an input operation by the user. More specifically, the correction unit 354 corrects the movement trajectory in response to an input operation (correction instruction) by the user to move a point or the base 11 on the movement trajectory displayed on the display unit 33. That is, the correction unit 354 corrects the movement trajectory by the user moving a point or the base 11 on the movement trajectory displayed on the display unit 33. As an example, the input operation (correction instruction) is an operation (instruction) by the user to move a point or the base 11 on the movement trajectory displayed on the display unit 33 by dragging and dropping.
[0032] When the motion trajectory of the hand 13 and the motion trajectory of the arm 12 derived by the derivation unit 352 are determined, the motion program creation unit 355 creates a motion program for operating the robot 10 based on the determined motion trajectory of the hand 13 and the motion trajectory of the arm 12. The created motion program is transmitted to the robot control device 20. The robot control device 20 controls the motion of the robot 10 based on the motion program received from the teaching device 30.
[0033] <Deriving the motion trajectory> The operation of deriving a motion trajectory in the teaching device 30 (processing unit 35) will be described with reference to the flowchart of FIG.
[0034] First, in step S1, the setting unit 351 sets an operable area of the robot 10. Specifically, the setting unit 351 sets the operable areas of the arm 12 and the hand 13 through an input operation by a user on the input unit 31. In this embodiment, the housing 2 (i.e., the transport space 3) in which the robot 10 is placed is set as the operable area.
[0035] 4, the user operates the mouse to move the mouse pointer Q, for example, from the upper left to the lower right on the display unit 33, thereby generating a rectangular frame (hereinafter, referred to as the housing 2) that models the housing 2. As a result, the setting unit 351 sets the housing 2 displayed on the display unit 33 as the operable area.
[0036] Instead of operating the mouse as described above, for example, the user can input coordinate values using a keyboard or the like to generate a rectangular frame modeling the housing 2 on the display unit 33. In this case, for example, a coordinate input window is displayed on the display unit 33, and the user inputs coordinate values into the coordinate input window.
[0037] Next, in step S2, the setting unit 351 sets a start point and an end point of the hand 13. Specifically, the setting unit 351 sets a plurality of (four in this embodiment) teaching points P1 to P4 as the start point and the end point of the hand 13 by an input operation of the user on the input unit 31.
[0038] As shown in Figs. 5 and 6, the user operates the mouse to specify four teaching points P1 to P4 on the display unit 33. Although not shown, icons representing the respective teaching points P1 to P4 are prepared on the display unit 33. The user specifies the teaching points P1 to P4 by moving the icons representing the teaching points P1 to P4 to predetermined positions on the display unit 33 with the pointer Q. In this embodiment, for example, the teaching point P1 is specified as the start point, and the teaching point P4 is specified as the end point. With such an input operation by the user, the setting unit 351 sets the start point and the end point of the hand 13.
[0039] Furthermore, in the display unit 33, a diagram modeling the hoop 4 and the processing device 5 is automatically generated when the user designates the teaching points P1 to P4 as described above. In this embodiment, the hoop 4 is generated at the positions of the teaching points P1 and P2, and the processing device 5 is generated at the positions of the teaching points P3 and P4. Note that, in this step S2 as well, the user can designate the teaching points P1 to P4 on the display unit 33 by inputting coordinate values with a keyboard instead of operating a mouse. In this case as well, when the teaching points P1 to P4 are designated, a diagram modeling the hoop 4, etc. is automatically generated on the display unit 33.
[0040] In the next step S3, the setting unit 351 sets predetermined conditions (operation conditions) other than the above-mentioned operable area and the start point and end point of the hand 13. The setting unit 351 sets the predetermined conditions by the user's input operation on the input unit 31. The predetermined conditions (operation conditions) are, for example, an upper limit of the motion acceleration / deceleration speed of the hand 13 (acceleration and deceleration during movement), an upper limit of the speed of the arm 12 and the hand 13, an upper limit of the number of via points from the start point to the end point, a possible rotation angle of the links 12a, 12b and the hand 13, etc.
[0041] It is also possible to set the upper limit of the motion acceleration / deceleration of the hand 13 to different values when the substrate S is placed on the hand 13 and when it is not placed on the hand 13. That is, when the substrate S is placed on the hand 13, the upper limit of the motion acceleration / deceleration is set to a lower value than when the substrate S is not placed on the hand 13. The predetermined conditions also include that the arm 12 and the hand 13 do not interfere with the wall of the housing 2, etc. The user can appropriately select and input the above-mentioned predetermined conditions.
[0042] In the next step S4, a robot model of the robot 10 is temporarily placed on the display unit 33. As shown in FIG. 6, the user operates the mouse to display the robot model on the display unit 33. Note that the robot models shown in FIGS. 6 to 10 are given the same reference numerals as the robot 10 shown in FIG. 1. The user then operates the mouse to temporarily place the base 11 of the robot 10 at an arbitrary position on the display unit 33 with a pointer Q. Note that this temporary placement of the robot 10 can also be performed by inputting coordinate values.
[0043] In the next step S5, the derivation unit 352 derives the motion trajectory of the hand 13 from the start point (teaching point P1) to the end point (teaching point P4) and the motion trajectory of the arm 12 corresponding to the motion trajectory based on the predetermined condition of the setting unit 351. Specifically, the derivation unit 352 starts the derivation operation of the motion trajectory when, for example, the user presses an "optimization button" (not shown) displayed on the display unit 33 by mouse operation. The derivation unit 352 derives the motion trajectory of the hand 13 that meets the predetermined condition and the motion trajectory of the arm 12 corresponding to the motion trajectory while changing the position of the base 11. In this way, the motion trajectory of the hand 13 and the like are derived while changing the position of the base 11, so that a more optimal motion trajectory is derived compared to, for example, a case where the motion trajectory of the hand is derived with the position of the base fixed.
[0044] Then, when the derivation unit 352 derives the motion trajectory of the hand 13 and the like, the display unit 33 displays at least one of the motion trajectory of the hand 13 and the motion trajectory of the arm 12 derived by the derivation unit 352. In this embodiment, as an example, as shown in FIG. 7, the display unit 33 displays the motion trajectory T of the hand 13 from the start point (teaching point P1) to the end point (teaching point P4). At this time, on the display unit 33, the robot 10 (base 11) is placed at a position adopted as a parameter when deriving the motion trajectory T of the hand 13. In this way, the motion trajectory derived by the derivation unit 352 is displayed on the display unit 33, so that the user can visually recognize the motion trajectory.
[0045] In the next step S6, the reproducing unit 353 operates the robot 10 on the display unit 33 based on the movement trajectory T displayed on the display unit 33. Specifically, the reproducing unit 353 operates the robot 10 on the display unit 33, for example, when the user presses a "play button" (not shown) displayed on the display unit 33 by mouse operation. As shown in FIG. 7, the reproducing unit 353 operates the arm 12 and the hand 13 on the display unit 33 so that the hand 13 moves along the movement trajectory T from the start point to the end point. That is, the reproducing unit 353 operates the arm 12 and the hand 13 on the display unit 33 based on the movement trajectory of the hand 13 and the movement trajectory of the arm 12 derived by the derivation unit 352. In this way, the arm 12 and the hand 13 operate based on the movement trajectory T on the display unit 33, so that the user can visually recognize the movement of the arm 12 and the hand 13 based on the movement trajectory T.
[0046] In the next step S7, the correction unit 354 determines whether or not a correction instruction has been given by the user. When the user sees the movements of the arm 12 and the hand 13 on the display unit 33 and feels that the movements are not appropriate or feels uncomfortable, the user issues an instruction to correct the movement trajectory T so as to eliminate such movements. For example, the user feels that the movements are not appropriate when the arm 12 or the hand 13 is very close to the wall of the housing 2 or when the arm 12 or the hand 13 appears to be making a useless movement. In other words, the user judges the movements of the arm 12 and the hand 13 by appearance and decides whether or not to issue a correction instruction.
[0047] In step S7, if there is no correction instruction from the user, that is, if the user judges that the movements of the arm 12 and the hand 13 on the display unit 33 are appropriate (there is no discomfort in the movements of the arm 12 and the hand 13), the correction unit 354 determines the movement trajectory T displayed on the display unit 33 as the optimal movement trajectory (step S8). At this time, the correction unit 354 also determines the movement trajectory of the arm 12 derived by the derivation unit 352, that is, the movement trajectory of the arm 12 corresponding to the movement trajectory T of the hand 13, as the optimal movement trajectory.
[0048] In this embodiment, if the user feels that the movements of the arm 12 and the hand 13 on the display unit 33 are not appropriate (feels uncomfortable with the movements of the arm 12 and the hand 13), the user performs an input operation (correction instruction) to move a point on the movement trajectory T displayed on the display unit 33. Specifically, as shown in Fig. 8, the user operates the mouse to move a point on the movement trajectory T displayed on the display unit 33 to a desired position by dragging and dropping.
[0049] In step S7, when the user gives the above-mentioned correction instruction, the process proceeds to step S9. In step S9, the correction unit 354 corrects the movement trajectory T displayed on the display unit 33. Specifically, the correction unit 354 corrects the movement trajectory T based on the movement information of the movement trajectory T according to the user's correction instruction, and displays a new movement trajectory Ta after the correction on the display unit 33. At this time, the movement trajectory Ta after the correction may be obtained by correcting a part of the movement trajectory T before the correction, or may be obtained by correcting the entire movement trajectory T before the correction.
[0050] Furthermore, the correction unit 354 corrects the movement trajectory T of the hand 13 displayed on the display unit 33, and also corrects the movement trajectory of the arm 12. That is, the correction unit 354 corrects the movement trajectory of the arm 12 derived by the derivation unit 352 (i.e., the movement trajectory of the arm 12 corresponding to the movement trajectory T of the hand 13 before correction) to the movement trajectory of the arm 12 corresponding to the movement trajectory Ta of the hand 13 after correction.
[0051] In this way, the user can give instructions for correction while viewing the movement trajectory T displayed on the display unit 33, and can make more detailed corrections to the movement trajectory T as desired. In addition, the user can correct the movement trajectory T by a simple method of moving a point on the movement trajectory T displayed on the display unit 33.
[0052] When the correction unit 354 corrects the movement trajectory T in step S9, the process returns to step S6 again, and the reproducing unit 353 operates the robot 10 on the display unit 33 based on the corrected movement trajectory Ta displayed on the display unit 33. That is, the reproducing unit 353 operates the arm 12 and the hand 13 so that the hand 13 moves from the start point to the end point along the corrected movement trajectory Ta on the display unit 33. In other words, the reproducing unit 353 operates the arm 12 and the hand 13 on the display unit 33 based on the movement trajectory of the hand 13 and the movement trajectory of the arm 12 corrected by the correction unit 354. In this way, the arm 12 and the hand 13 operate on the display unit 33 based on the corrected movement trajectory Ta, so that the user can visually recognize the movement of the arm 12 and the hand 13 based on the corrected movement trajectory Ta.
[0053] If there is a correction instruction from the user again in step S7, that is, if the user performs an input operation (correction instruction) to move a point on the corrected movement trajectory Ta displayed on the display unit 33, the process again proceeds to step S9. In other words, the flow from step S9 to step S6 is basically repeated unless the user determines that the movements of the arm 12 and the hand 13 reproduced by the reproduction unit 353 are appropriate. In other words, the user can continue to correct the movement trajectory of the hand 13 and the movement trajectory of the arm 12 until the user feels that the movements of the arm 12 and the hand 13 reproduced by the reproduction unit 353 are appropriate.
[0054] In step S7, if there is no correction instruction from the user, that is, if the user judges that the movement of the arm 12 and hand 13 based on the corrected movement trajectory Ta is appropriate (there is no discomfort in the movement of the arm 12 and hand 13), the correction unit 354 determines the corrected movement trajectory Ta displayed on the display unit 33 as the optimal movement trajectory (step S8). At this time, the correction unit 354 also determines the corrected movement trajectory of the arm 12 (i.e., the movement trajectory of the arm 12 corresponding to the corrected movement trajectory Ta of the hand 13) as the optimal movement trajectory. With the above, the operation of deriving the movement trajectory is completed.
[0055] The operation program creation unit 355 creates an operation program for controlling the robot 10 in the real space, based on the movement trajectory of the arm 12 and the movement trajectory of the hand 13 determined by the processing unit 35. Then, the operation program creation unit 355 transmits the created operation program to the robot control device 20 via the communication unit 32. The robot control device 20 controls the robot 10 in the real space, based on the operation program received from the teaching device 30.
[0056] In this way, the movement trajectory of the robot 10 in the real space is optimized under a predetermined condition (operation condition). In this type of robot 10, there is a demand for the movement time of the hand 13 from the starting point to the end point to be as short as possible. If no consideration is given to this, the movement acceleration / deceleration of the hand 13 tends to be high, and as a result, there is a risk that the substrate S will fall from the hand 13. In particular, in the case of the robot 10 in this embodiment, in which the substrate S is carried on the upper surface of the hand 13 without being fixed thereto, the above-mentioned risk becomes significant. Therefore, by setting an upper limit value of the movement acceleration / deceleration of the hand 13 that can prevent the substrate S from falling in the setting unit 351, an optimal movement trajectory that minimizes the movement time of the hand 13 within a range in which the substrate S does not fall from the hand 13 is derived.
[0057] As described above, the teaching device 30 of the above embodiment is a teaching device for the robot 10 having the base 11, the arm 12 having a plurality of links 12a, 12b connected to each other, the arm 12 connected to the base 11, and the hand 13 (end effector) connected to the arm 12. The teaching device 30 includes a setting unit 351 for setting predetermined conditions including a start point and an end point of the hand 13 in a predetermined operation of the arm 12, a derivation unit 352 for deriving a motion trajectory of the hand 13 from the start point to the end point and a motion trajectory of the arm 12 corresponding to the motion trajectory of the hand 13 based on the predetermined conditions, a display unit 33 for displaying at least one of the motion trajectory of the arm 12 and the motion trajectory of the hand 13 derived by the derivation unit 352, and a correction unit 354 for correcting the motion trajectory displayed on the display unit 33 in response to an input operation by a user.
[0058] The trajectory derivation program 341 of the above embodiment is a teaching program for the robot 10 having a base 11, an arm 12 having a plurality of links 12a, 12b connected to each other and connected to the base 11, and a hand 13 (end effector) connected to the arm 12. The trajectory derivation program 341 causes the computer to realize a function of setting predetermined conditions including a start point and an end point of the hand 13 in a predetermined operation of the arm 12, a function of deriving a motion trajectory of the hand 13 from the start point to the end point and a motion trajectory of the arm 12 corresponding to the motion trajectory of the hand 13 based on the predetermined conditions, a function of displaying at least one of the derived motion trajectory of the arm 12 and the motion trajectory of the hand 13 on the display unit, and a function of correcting the motion trajectory displayed on the display unit 33 in response to an input operation by the user.
[0059] According to these configurations, the user can give correction instructions (input operations) while visually checking the movement trajectory displayed on the display unit 33, making it possible to easily make fine corrections to the movement trajectory in line with the user's wishes.
[0060] Furthermore, the correction unit 354 corrects the movement trajectory of the hand 13 in response to a user's correction instruction (input operation) to move a point on the movement trajectory of the hand 13 displayed on the display unit 33.
[0061] According to the above configuration, the user can make fine corrections to the movement trajectory by a simple method of moving a point on the movement trajectory displayed on the display unit 33.
[0062] The display unit 33 further displays a robot model that is a model of the robot 10. The teaching device 30 further includes a reproduction unit 353 that causes the robot model to operate on the display unit 33 based on the movement trajectory derived by the derivation unit 352.
[0063] According to the above configuration, the user can give correction instructions (input operations) after viewing the movements of the arm 12 and hand 13 played back by the playback unit 353, allowing the user to make more detailed corrections to the movement trajectory in accordance with his or her wishes.
[0064] In particular, the reproduction unit 353 operates the robot model (the hand 13 and the arm 12) in a state where the movement trajectory T derived by the derivation unit 352 or the movement trajectory Ta after being corrected by the correction unit 354 is displayed on the display unit 33. Therefore, the user can clearly visually recognize the correspondence between the movement trajectory T (movement trajectory Ta) and the movement of the robot model, and can make corrections to the movement trajectory T (movement trajectory Ta) more in line with his / her intention.
[0065] Moreover, the user's correction instruction (input operation) is to move a point on the movement trajectory displayed on the display unit 33 by dragging and dropping.
[0066] According to the above configuration, the movement trajectory can be corrected more easily.
[0067] Furthermore, the robot 10 transports the substrate S (object) placed on the upper surface of the hand 13 without being fixed thereto. The predetermined conditions set by the setting unit 351 include an upper limit value for the acceleration and deceleration of the hand 13's motion.
[0068] According to the above configuration, it is possible to derive an optimal movement trajectory that minimizes the movement time of the hand 13 from the starting point to the end point without causing the substrate S to fall from the hand 13.
[0069] Furthermore, in the case of the robot 10 having two hands 13 as end effectors as in the above embodiment, the derivation unit 352 derives the movement trajectory, etc. of the hand 13, taking into consideration the postures of the two hands 13 at the start point and end point (i.e., the hoop 4 and the processing device 5). Examples of the postures of the two hands 13 include a state in which the upper hand 13a enters the hoop 4 and the lower hand 13b rotates 90 degrees to the right or left without entering the hoop 4, a state in which the lower hand 13b enters the hoop 4 and the upper hand 13a rotates 90 degrees to the right or left without entering the hoop 4, and a state in which both the upper hand 13a and the lower hand 13b enter the hoop 4. By taking into consideration the postures of the two hands 13 at such start point and end point, it is possible to derive a more optimal movement trajectory, etc. of the hand 13.
[0070] (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.
[0071] In the above embodiment, the derivation unit 352 may derive the movement trajectory of the hand 13 from the start point to the end point and the movement trajectory of the arm 12 corresponding to the movement trajectory of the hand 13 while changing the length of the links 12a, 12b of the arm 12 in addition to the position of the base 11. According to this configuration, the movement trajectory of the hand 13 and the like are derived using the length of the links 12a, 12b as one of the parameters, so that a more optimal movement trajectory of the hand 13 and the movement trajectory of the arm 12 can be derived. In other words, the optimal length of the links 12a, 12b can be derived.
[0072] Furthermore, in the above embodiment, the derivation unit 352 may derive the motion trajectory of the hand 13 from the start point to the end point and the motion trajectory of the arm 12 corresponding to the motion trajectory of the hand 13 while changing the orientation of the base 11 (i.e., the orientation of the robot 10) in addition to the position of the base 11. According to this configuration, the motion trajectory of the hand 13 and the like are derived using the orientation of the base 11 as one of the parameters, so that a more optimal motion trajectory of the hand 13 and the motion trajectory of the arm 12 can be derived. In other words, the optimal orientation of the base 11 can be derived.
[0073] In addition, in the above embodiment, the derivation unit 352 may display both the derived movement trajectory of the hand 13 and the movement trajectory of the arm 12 on the display unit 33, or may display only the movement trajectory of the arm 12 on the display unit 33.
[0074] In the above embodiment, the correction unit 354 may correct the motion trajectory in response to a correction instruction (input operation) from the user to move the base 11 displayed on the display unit 33. In this case, for example, the user issues a correction instruction by operating the mouse to move the base 11 displayed on the display unit 33 by dragging and dropping.
[0075] In the above embodiment, as shown in Fig. 9, the motion trajectory T derived by the derivation unit 352 may be formed as a trajectory connecting multiple via points X. In this case, the point on the motion trajectory T that is moved by the user's correction instruction (input operation) is the via point X. For example, when the setting unit 351 sets "there are multiple via points" as a predetermined condition, the derivation unit 352 derives the motion trajectory T of the hand 13 including the optimal multiple via points X, and displays it on the display unit 33. For example, the via point X is displayed larger than other points on the motion trajectory T.
[0076] In this case, if the user feels that the movements of the arm 12 and the hand 13 reproduced by the reproduction unit 353 are not appropriate, the user gives a correction instruction (input operation) to move the via point X in the movement trajectory T displayed on the display unit 33, for example, by dragging and dropping (see FIG. 9). The correction unit 354 corrects the movement trajectory T displayed on the display unit 33 in response to this user's correction instruction. That is, the correction unit 354 corrects the movement trajectory T based on the movement information of the via point X according to the user's correction instruction, i.e., the position information of the via point Xa after the movement of the via point X, and displays the new movement trajectory Ta after the correction on the display unit 33. The movement via point Xa is included in the movement trajectory Ta after the correction.
[0077] According to this configuration, the user can clearly grasp the points to be moved on the motion trajectory T displayed on the display unit 33. In addition, since the number of points that can be moved on the motion trajectory T is reduced, the amount of processing required for correction in the correction unit 354 can be reduced accordingly.
[0078] In the above embodiment, the correction unit 354 may correct the movement trajectory T displayed on the display unit 33 in response to a user's correction instruction (input operation) to move the arm 12 (i.e., the links 12a, 12b) displayed on the display unit 33. That is, as shown in FIG. 10, the user, for example, operates a mouse to perform a correction instruction (input operation) to move the second link 12b displayed on the display unit 33 by dragging and dropping. The correction unit 354 corrects the movement trajectory T based on the movement information of the second link 12b according to the user's correction instruction, and displays a new movement trajectory (not shown) after the correction on the display unit 33. For example, the movement information of the second link 12b includes position information of the second link 12b after the movement, position information of the hand 13 that has moved with the movement of the second link 12b, and the like.
[0079] In the above embodiment, the playback unit 353 may be omitted. In that case, the user looks at the motion trajectory displayed on the display unit 33 and decides whether or not to give a correction instruction.
[0080] In addition, the user's correction instruction (input operation) is not limited to the operation of the mouse. For example, the user may move the motion trajectory displayed on the display unit 33 by inputting coordinate values from a keyboard.
[0081] In addition, the playback unit 353 may operate the robot model (hand 13 and arm 12) without displaying the movement trajectory T derived by the derivation unit 352 or the movement trajectory Ta after correction by the correction unit 354 on the display unit 33.
[0082] Furthermore, the derivation unit 352 may derive, with the position of the base 11 fixed, the movement trajectory of the hand 13 from the start point to the end point and the movement trajectory of the arm 12 corresponding to the movement trajectory of the hand 13. In that case, in the above step S4, the base 11 of the robot 10 is placed at a predetermined position on the display unit 33 by an input operation by the user.
[0083] The setting unit 351 may set "presence or absence of the substrate S in the two hands 13" as the predetermined condition. In this case, four patterns of conditions are set according to the presence or absence of the substrate S in the two hands 13. That is, there are four patterns of conditions: "substrate S is present in the upper hand 13a and substrate S is not present in the lower hand 13b", "substrate S is not present in the upper hand 13a and substrate S is present in the lower hand 13b", "substrate S is present in both the upper hand 13a and the lower hand 13b", and "substrate S is not present in either the upper hand 13a or the lower hand 13b". The derivation unit 352 derives an optimal motion trajectory for each of these four conditions and displays it on the display unit 33. The user selects one motion trajectory from the four motion trajectories and gives an instruction to correct the selected motion trajectory as necessary. [Explanation of symbols]
[0084] 10. Robot 11 Foundation 12 Arm 12a Link 1(link) 12b 2nd link (link) 13 Hand (end effector) 30 Teaching device 33 Display section 341 Trajectory derivation program (teaching program) 351 Setting Department 352 Derivation part 353 Playback Department 354 Correction Department T motion trajectory Ta motion trajectory X Waypoint Xa waypoint
Claims
1. A teaching device for a robot having a base, a plurality of links connected to each other, an arm connected to the base, and an end effector connected to the arm, A setting unit that sets predetermined conditions including a start point and an end point of the end effector in a predetermined operation of the arm; a derivation unit that derives a motion trajectory of the end effector from the start point to the end point based on the predetermined condition and a motion trajectory of the arm corresponding to the motion trajectory; a display unit that displays at least one of a motion trajectory of the arm and a motion trajectory of the end effector derived by the derivation unit, and also displays a robot model obtained by modeling the robot; a reproduction unit that causes the robot model to operate on the display unit based on the movement trajectory derived by the derivation unit; and A robot teaching device comprising: a correction unit that corrects the movement trajectory displayed on the display unit in response to a user's input operation after the playback unit displays the movement of the robot model based on the movement trajectory.
2. The robot teaching device according to claim 1, The correction unit corrects the movement trajectory in response to the input operation that moves a point on the movement trajectory displayed on the display unit.
3. The robot teaching device according to claim 2, the motion trajectory derived by the derivation unit is formed as a path connecting a plurality of via points, A robot teaching device, wherein the point on the motion trajectory that is moved by the input operation is the intermediate point.
4. The robot teaching device according to claim 2 or 3, The input operation is an operation in which the user moves a point on the movement trajectory displayed on the display unit by dragging and dropping.
5. The robot teaching device according to any one of claims 1 to 4, the robot transports an object by placing it on an upper surface of the end effector without fixing it thereto; A robot teaching device, wherein the predetermined condition includes an upper limit of the acceleration / deceleration of the end effector.
6. A teaching program for a robot having a base, an arm having a plurality of links connected to each other, the arm being connected to the base, and an end effector being connected to the arm, the teaching program comprising: A function of setting predetermined conditions including a start point and an end point of the end effector in a predetermined movement of the arm; a function of deriving a motion trajectory of the end effector from the start point to the end point and a motion trajectory of the arm corresponding to the motion trajectory based on the predetermined condition; a function of displaying at least one of the derived motion trajectory of the arm and the motion trajectory of the end effector on a display unit, and displaying a robot model obtained by modeling the robot on the display unit; A function of moving the robot model on the display unit based on the derived movement trajectory; and A robot teaching program that causes a computer to realize a function of displaying the movement of the robot model based on the movement trajectory, and then modifying the movement trajectory displayed on the display unit in response to a user's input operation.
7. A method for teaching a robot having a base, a plurality of links connected to each other, an arm connected to the base, and an end effector connected to the arm, comprising: Setting a predetermined condition including a start point and an end point of the end effector in a predetermined movement of the arm; Deriving a motion trajectory of the end effector from the start point to the end point and a motion trajectory of the arm corresponding to the motion trajectory based on the predetermined condition; displaying at least one of the derived motion trajectory of the arm and the motion trajectory of the end effector on a display unit, and displaying a robot model obtained by modeling the robot on the display unit; operating the robot model on the display unit based on the derived movement trajectory; and A robot teaching method comprising: after displaying the movement of the robot model based on the movement trajectory, modifying the movement trajectory displayed on the display unit in response to a user's input operation.
Citation Information
Patent Citations
Method for controlling an industrial robot
EP1209545A1
Robot controller and robot
JP1998124132A
Off-line programming device,
JP2005297097A
Robot simulator, robot system, and simulation method
JP2018134703A
Robot control apparatus, robot, robot system, teaching method, and program
JP2018144228A