Robot teaching device, robot teaching program, and robot teaching method
The teaching device and program enhance the optimality of robot operation trajectories by allowing the derivation of arm and end effector movements with varying base positions, addressing the limitations of existing teaching devices.
Patent Information
- Application Number
- JP2020110187
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-06-26
- Publication Date
- 2025-06-12
- Estimated Expiration
- 2040-06-26
AI Technical Summary
Existing teaching devices for robots are insufficient in deriving optimal operation trajectories, as they rely on predetermined robot positions, limiting optimality.
A teaching device and program for robots that include a setting unit for defining start and end points of the end effector and a derivation unit that calculates the operation trajectory of the end effector and accompanying arm movements while varying the base position based on predetermined conditions.
Enables the derivation of more optimal operation trajectories for robot arms and end effectors, improving efficiency and accuracy by considering the optimal position of the base during trajectory derivation.
Smart Images

Figure 0007691813000001 
Figure 0007691813000002 
Figure 0007691813000003
Abstract
Description
Technical Field
[0001] This application relates to a teaching device for a robot and a teaching program for a robot.
Background Art
[0002] Conventionally, a teaching device for teaching a robot a predetermined operation has been known. For example, the teaching device (operation device) disclosed in Patent Document 1 confirms the operation of a robot model by reproducing the operation of the robot model on a touch screen based on an operation trajectory obtained from a set start point and end point.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, in the above-described teaching device, since the operation trajectory of the robot is generated based on a basis in which the position of the robot is predetermined by a user or the like, it cannot be said to be sufficient from the viewpoint of optimality.
[0005] The technology disclosed in this application has been made in view of such circumstances, and an object thereof is to provide a teaching device capable of deriving a more optimal operation trajectory of a robot.
Means for Solving the Problems
[0006] The technology disclosed in this application is 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. The teaching device of the robot includes a setting unit and a derivation unit. The setting unit sets predetermined conditions including the starting point and the ending point of the end effector in a predetermined operation of the arm. The derivation unit derives the operation trajectory of the end effector from the starting point to the ending point and the operation trajectory of the arm accompanying the operation trajectory while changing the position of the base based on the predetermined conditions.
[0007] Another technology disclosed in this application is a teaching program 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. The teaching program of the robot causes a computer to realize a function of setting predetermined conditions including the starting point and the ending point of the end effector in a predetermined operation of the arm, and a function of deriving the operation trajectory of the end effector from the starting point to the ending point and the operation trajectory of the arm corresponding to the operation trajectory of the end effector while changing the position of the base based on the predetermined conditions.
Advantages of the Invention
[0008] According to the teaching device of the robot described above, a more optimal operation trajectory of the robot (arm and end effector) can be derived.
[0009] According to the teaching program of the robot described above, a more optimal operation trajectory of the robot (arm and end effector) can be derived.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, exemplary embodiments will be described in detail with reference to the drawings.
[0012] As shown in FIG. 1, the teaching device 30 of the present embodiment is communicably connected to the robot control device 20, and the robot control device 20 is communicably connected to the robot 10. The teaching device 30 is a device for teaching (teaching) a predetermined operation to the robot 10.
[0013] The robot 10 shown in FIG. 1 is an example of a robot targeted by the teaching device 30. The robot 10 is a horizontal articulated robot (scalar 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 rotatably connected to the base 11 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 the first link 12a and the second link 12b in order from the base 11 side. The first link 12a is connected to the base 11 so as to be rotatable about 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 about 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 as each other. The hand 13 is formed in a plate shape extending in the horizontal direction, and the tip side is formed in a bifurcated shape. That is, the hand 13 is formed in a substantially Y shape when viewed in the direction of its thickness. 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 about a 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 in this order from bottom to top. Although not shown, the robot 10 has a plurality of motors for rotationally driving the two links 12a and 12b and the two hands 13. The robot 10 of this embodiment conveys the object (substrate S) by placing it on the upper surface of the hand 13 without fixing it. That is, the object is only placed on the upper surface of the hand 13 and is not held.
[0017] The robot 10 of this embodiment is used, for example, in a substrate transfer system 1 for transferring a substrate S. The schematic configuration of the substrate transfer system 1 will be described with reference to FIG. 6 which schematically shows the substrate transfer system 1.
[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 interior of the housing 2 is formed as a cleaned transfer space 3. That is, the robot 10 is disposed in the transfer space 3 and transfers the substrate S. For example, the substrate S is a disk-shaped semiconductor wafer.
[0019] In the substrate transfer system 1, a plurality (two in this embodiment) of FOUPs (Front Opening Unified Pods) 4 and a plurality (two in this embodiment) of processing apparatuses 5 are provided. The plurality of FOUPs 4 are provided adjacent to one side wall of the housing 2. The plurality of processing apparatuses 5 are provided adjacent to the side wall of the housing 2 that faces the side wall to which the FOUP 4 is adjacent. The FOUP 4 and the processing apparatus 5 are provided outside the housing 2, and the interiors thereof can communicate with the interior (transfer space 3) of the housing 2. The FOUP 4 horizontally accommodates a plurality of substrates S at equal intervals in the vertical direction. The processing apparatus 5 is, for example, a processing apparatus that performs various processes such as heat treatment, impurity introduction treatment, and thin film formation treatment on the substrate S.
[0020] In the substrate transfer system 1 configured as described above, the robot 10 transfers the substrate S between the FOUP 4 that accommodates the substrate S and the processing apparatus 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 apparatus 5.
[0021] <Configuration of the 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 34, and a processing unit 35.
[0022] The input unit 31 receives an input operation from the user. The input unit 31 outputs an input signal corresponding 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 for communicating with the robot control device 20. For example, the communication unit 32 is formed of a cable modem, a software modem, or a wireless modem.
[0024] The display unit 33 displays at least one of the movement trajectories of the arm 12 and the movement trajectory of the hand 13 derived by a processing unit 35 (derivation unit 352) described later. Further, the display unit 33 also displays a robot model obtained by modeling 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 and 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 an instructional program for causing a computer, that is, the processing unit 35, to realize various functions for deriving an optimal movement trajectory of the hand 13 and a movement trajectory of the arm 12 (that is, the links 12a and 12b) corresponding to the movement trajectory of the hand 13 based on given predetermined conditions. The trajectory derivation program 341 is read 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 includes 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 the trajectory derivation program 341 etc. from the storage unit 34 and realizes various functions for deriving the optimal operation trajectories of the arm 12 and the hand 13. The processing unit 35 has a setting unit 351, a derivation unit 352, a playback 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 the start point and the end point of the hand 13 in a predetermined operation of the arm 12. Specifically, the setting unit 351 receives an input signal regarding the operation conditions according to the user's input operation from the input unit 31 and sets the operation conditions.
[0029] The derivation unit 352 derives the operation trajectory of the hand 13 from the start point to the end point and the operation trajectory of the arm 12 corresponding to the operation trajectory of the hand 13 based on predetermined conditions (operation conditions). More specifically, the derivation unit 352 derives the operation trajectory of the hand 13 from the start point to the end point and the operation trajectory of the arm 12 corresponding to the operation trajectory while changing the position of the base 11 based on the operation conditions of the setting unit 351. That is, the derivation unit 352 derives the operation trajectory of the hand 13 and the operation trajectory of the arm 12 that match the operation conditions, taking 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 operation trajectories of the hand 13 etc.
[0030] The playback unit 353 operates the robot model on the display unit 33 based on the motion trajectory derived by the derivation unit 352. Specifically, the playback unit 353 operates the arm and hand of the robot model based on the motion trajectory of the hand 13 or the motion trajectory of the arm 12 displayed on the display unit 33. That is, the playback unit 353 can operate the robot model on the display unit 33 based on the motion trajectory derived by the derivation unit 352, or can also operate based on the motion trajectory after being corrected by the correction unit 354 described later.
[0031] The correction unit 354 corrects the motion trajectory displayed on the display unit 33 according to the input operation of the user. More specifically, the correction unit 354 corrects the motion trajectory according to the input operation (correction instruction) of the user to move a point or the base 11 in the motion trajectory displayed on the display unit 33. That is, when the user moves a point or the base 11 in the motion trajectory displayed on the display unit 33, the correction unit 354 corrects the motion trajectory. As an example, the input operation (correction instruction) is an operation (instruction) in which the user moves a point or the base 11 in the motion trajectory displayed on the display unit 33 by drag and drop.
[0032] When the motion trajectories of the hand 13 and 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 trajectories of the hand 13 and the arm 12. The created motion program is transmitted to the robot control device 20. The robot control device 20 performs motion control of the robot 10 based on the motion program received from the teaching device 30.
[0033] 〈Derivation operation of motion trajectory〉 The derivation operation of the motion trajectory in the teaching device 30 (processing unit 35) will be described with reference to the flowchart of FIG. 3.
[0034] First, in step S1, the setting unit 351 sets the operable area of the robot 10. Specifically, the setting unit 351 sets the operable areas of the arm 12 and the hand 13 according to the user's input operation in the input unit 31. In this embodiment, the housing 2 (i.e., the conveyance space 3) in which the robot 10 is disposed is set as the operable area.
[0035] As shown in FIG. 4, the user operates the mouse to move the mouse pointer Q in the display unit 33, for example, from the upper left to the lower right, thereby generating a rectangular frame (hereinafter referred to as the housing 2) that models the housing 2. Thereby, the setting unit 351 sets the housing 2 displayed on the display unit 33 as the operable area.
[0036] Note that instead of the above-described mouse operation, for example, it is also possible for the user to input coordinate values using a keyboard or the like to generate a rectangular frame that models the housing 2 in 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] Subsequently, in step S2, the setting unit 351 sets the start point and the end point of the hand 13. Specifically, the setting unit 351 sets a plurality (four in this embodiment) of teaching points P1 to P4 as the start point and the end point of the hand 13 according to the user's input operation in 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 in 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 a predetermined position with the pointer Q on the display unit 33. 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. By such a user input operation, the setting unit 351 sets the start point and the end point of the hand 13.
[0039] Further, in the display unit 33, as described above, when the user designates the teaching points P1 to P4, a diagram modeling the hoop 4 and the processing device 5 is automatically generated. In the present 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. In this step S2 as well, instead of operating the mouse, the user can also specify the teaching points P1 to P4 on the display unit 33 by inputting coordinate values using the keyboard. Also in this case, when the teaching points P1 to P4 are designated, a diagram modeling the hoop 4 or the like is automatically generated on the display unit 33.
[0040] In the subsequent step S3, the setting unit 351 sets predetermined conditions (operation conditions) other than the above-described operable region, the start point, and the end point of the hand 13. The setting unit 351 sets the predetermined conditions according to the input operation of the user in the input unit 31. The predetermined conditions (operation conditions) are, for example, the upper limit value of the acceleration and deceleration of the hand 13 (acceleration and deceleration during movement), the upper limit value of the speeds of the arm 12 and the hand 13, the upper limit value of the number of waypoints from the start point to the end point, the possible rotation angles of the links 12a, 12b, and the hand 13, and the like.
[0041] Also, it is possible to set different numerical values for the upper limit value of the acceleration and deceleration of the hand 13 when the substrate S is placed on the hand 13 and when it is not. That is, when the substrate S is placed on the hand 13, the upper limit value of the acceleration and deceleration is set lower than when the substrate S is not placed on the hand 13. Further, the predetermined conditions also include that the arm 12 and the hand 13 do not interfere with the wall of the housing 2 or the like. The user can appropriately select and input the above-described predetermined conditions.
[0042] In the subsequent step S4, a robot model obtained by modeling 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 those of the robot 10 shown in FIG. 1. Then, the user operates the mouse to temporarily place the base 11 of the robot 10 at an arbitrary position with the pointer Q on the display unit 33. Note that this temporary placement of the robot 10 can also be performed by inputting coordinate values.
[0043] In the subsequent step S5, the derivation unit 352 derives the movement locus of the hand 13 from the start point (teaching point P1) to the end point (teaching point P4) and the movement locus of the arm 12 corresponding to the movement locus of the hand 13 based on the predetermined conditions of the setting unit 351. Specifically, for example, when the user presses an "optimization button" (not shown) displayed on the display unit 33 by operating the mouse, the derivation unit 352 starts the operation of deriving the movement locus. The derivation unit 352 derives the movement locus of the hand 13 that meets the predetermined conditions and the movement locus of the arm 12 corresponding to the movement locus of the hand 13 while changing the position of the base 11. In this way, since the movement locus of the hand 13 and the like are derived while changing the position of the base 11, a more optimal movement locus is derived as compared with the case where the movement locus of the hand is derived with the position of the base fixed.
[0044] When the movement locus of the hand 13 and the like are derived by the derivation unit 352, the display unit 33 displays at least one of the movement locus of the hand 13 and the movement locus of the arm 12 derived by the derivation unit 352. In the present embodiment, as an example, as shown in FIG. 7, the display unit 33 displays the movement locus 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 arranged at the position adopted as a parameter when deriving the movement locus T of the hand 13. In this way, when the movement locus derived by the derivation unit 352 is displayed on the display unit 33, the user can visually recognize the movement locus.
[0045] In the subsequent step S6, the playback unit 353 operates the robot 10 on the display unit 33 based on the motion trajectory T displayed on the display unit 33. Specifically, for example, when the user presses a "play button" (not shown) displayed on the display unit 33 by a mouse operation, the playback unit 353 operates the robot 10 on the display unit 33. As shown in FIG. 7, the playback unit 353 operates the arm 12 and the hand 13 on the display unit 33 so that the hand 13 moves along the motion trajectory T from the starting point to the ending point. That is, the playback unit 353 operates the arm 12 and the hand 13 on the display unit 33 based on the motion trajectory of the hand 13 and the motion trajectory of the arm 12 derived by the derivation unit 352. In this way, by operating the arm 12 and the hand 13 on the display unit 33 based on the motion trajectory T, the user can visually recognize the operations of the arm 12 and the hand 13 based on the motion trajectory T.
[0046] In the subsequent step S7, the correction unit 354 determines whether there is a correction instruction from the user. When the user observes the operations of the arm 12 and the hand 13 on the display unit 33 and feels that the operations are inappropriate or has a sense of discomfort with the operations, etc., the user gives a correction instruction for the motion trajectory T so as to eliminate such operations. For example, when the user feels that the arm 12 or the hand 13 is very close to the wall of the housing 2 or the arm 12 or the hand 13 seems to be making unnecessary movements, etc., the user feels that the operation is inappropriate. That is, the user decides whether to give a correction instruction by visually judging the operations of the arm 12 and the hand 13.
[0047] In step S7, when there is no correction instruction from the user, that is, when the user determines that the operations of the arm 12 and the hand 13 on the display unit 33 are appropriate (there is no sense of discomfort with the operations of the arm 12 and the hand 13), the correction unit 354 determines the motion trajectory T displayed on the display unit 33 as the optimal motion trajectory (step S8). At this time, the correction unit 354 also determines the motion trajectory of the arm 12 derived by the derivation unit 352, that is, the motion trajectory of the arm 12 corresponding to the motion trajectory T of the hand 13, as the optimal motion trajectory.
[0048] In this embodiment, when the user feels that the operations of the arm 12 and the hand 13 on the display unit 33 are inappropriate (feels uncomfortable with the operations of the arm 12 and the hand 13), the user performs an input operation (correction instruction) to move a point on the motion locus T displayed on the display unit 33. Specifically, as shown in FIG. 8, the user operates the mouse to move a point on the motion locus T displayed on the display unit 33 to a desired position by drag and drop.
[0049] In step S7, if there is the above-described correction instruction by the user, the process proceeds to step S9. In step S9, the correction unit 354 corrects the motion locus T displayed on the display unit 33. Specifically, the correction unit 354 corrects the motion locus T based on the movement information of the motion locus T according to the correction instruction by the user, and displays the new motion locus Ta after correction on the display unit 33. At this time, the motion locus Ta after correction may be such that a part of the motion locus T before correction is corrected, or the entire motion locus T before correction may be corrected.
[0050] Further, the correction unit 354 corrects the motion locus T of the hand 13 displayed on the display unit 33 and also corrects the motion locus of the arm 12. That is, the correction unit 354 corrects the motion locus of the arm 12 from the motion locus of the arm 12 derived by the derivation unit 352 (that is, the motion locus of the arm 12 corresponding to the motion locus T of the hand 13 before correction) to the motion locus of the arm 12 corresponding to the motion locus Ta of the hand 13 after correction.
[0051] In this way, since the user can give a correction instruction while looking at the motion locus T displayed on the display unit 33, the user can make a more detailed correction that conforms to the intention with respect to the motion locus T. Further, the user can correct the motion locus T by a simple method of moving a point on the motion locus T displayed on the display unit 33.
[0052] In step S9, when the correction unit 354 corrects the motion trajectory T, the process returns to step S6 again, and the playback unit 353 operates the robot 10 on the display unit 33 based on the corrected motion trajectory Ta displayed on the display unit 33. That is, the playback unit 353 operates the arm 12 and the hand 13 on the display unit 33 so that the hand 13 moves along the corrected motion trajectory Ta from the starting point to the ending point. More specifically, the playback unit 353 operates the arm 12 and the hand 13 on the display unit 33 based on the motion trajectory of the hand 13 and the motion trajectory of the arm 12 corrected by the correction unit 354. In this way, by operating the arm 12 and the hand 13 on the display unit 33 based on the corrected motion trajectory Ta, the user can visually recognize the operations of the arm 12 and the hand 13 based on the corrected motion trajectory Ta.
[0053] Again, in step S7, if there is a correction instruction from the user, that is, if the user performs an input operation (correction instruction) to move a point on the corrected motion trajectory Ta displayed on the display unit 33, the process proceeds to step S9 again. That is, basically, as long as the user does not determine that the operations of the arm 12 and the hand 13 reproduced by the playback unit 353 are appropriate, the flow from step S9 to step S6 is repeated. More specifically, the user can continue to correct the motion trajectory of the hand 13 and the motion trajectory of the arm 12 until the user feels that the operations of the arm 12 and the hand 13 reproduced by the playback unit 353 are appropriate.
[0054] In step S7, if there is no correction instruction from the user, that is, if the user determines that the operations of the arm 12 and the hand 13 based on the corrected motion trajectory Ta are appropriate (there is no sense of discomfort in the operations of the arm 12 and the hand 13), the correction unit 354 determines the corrected motion trajectory Ta displayed on the display unit 33 as the optimal motion trajectory (step S8). At this time, the correction unit 354 also determines the corrected motion trajectory of the arm 12 (that is, the motion trajectory of the arm 12 corresponding to the corrected motion trajectory Ta of the hand 13) as the optimal motion trajectory. From the above, the operation of deriving the motion 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 operation trajectories of the arm 12 and the hand 13 determined by the processing unit 35. Then, the operation program creation unit 355 transmits the created operation program to the robot controller 20 via the communication unit 32. The robot controller 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 operation trajectory of the robot 10 in the real space is optimized under predetermined conditions (operation conditions). In this type of robot 10, there is a desire to shorten the movement time of the hand 13 from the starting point to the ending point as much as possible. Without any consideration, the acceleration / deceleration speed of the hand 13 tends to increase, and for this reason, there is a risk that the substrate S may fall from the hand 13. In particular, in the case of the robot 10 that places and conveys the substrate S on the upper surface of the hand 13 without fixing it, as in the present embodiment, the above-mentioned risk becomes prominent. Therefore, in the setting unit 351, by setting the upper limit value of the acceleration / deceleration speed of the hand 13 that can prevent the substrate S from falling, an optimal operation trajectory is derived in which the movement time of the hand 13 is the shortest within the range where the substrate S does not fall from the hand 13.
[0057] As described above, the teaching device 30 of the above embodiment is a teaching device for a robot 10 having a base 11, an arm 12 connected to the base 11, and a plurality of links 12a, 12b connected to each other, and a hand 13 (end effector) connected to the arm 12. The teaching device 30 includes a setting unit 351 that sets predetermined conditions including the starting point and the ending point of the hand 13 in a predetermined operation of the arm 12, and a derivation unit 352 that derives the operation trajectory of the hand 13 from the starting point to the ending point and the operation trajectory of the arm 12 corresponding to the operation trajectory of the hand 13 while changing the position of the base 11 based on the predetermined conditions.
[0058] In addition, the trajectory derivation program 341 of the above embodiment is a teaching program of a robot 10 having a base 11, a plurality of links 12a and 12b connected to each other, an arm 12 connected to the base 11, and a hand 13 (end effector) connected to the arm 12. The trajectory derivation program 341 causes a computer to realize a function of setting predetermined conditions including the start point and the end point of the hand 13 in a predetermined operation of the arm 12, and a function of deriving the operation trajectory of the hand 13 from the start point to the end point and the operation trajectory of the arm 12 corresponding to the operation trajectory of the hand 13 while changing the position of the base 11 based on the predetermined conditions.
[0059] According to these configurations, since the operation trajectories of the hand 13 and the arm 12 are derived with the position of the base 11 as one of the parameters, compared with the conventional form of deriving the operation trajectory of the hand under the condition that the position of the base is fixed, more optimal operation trajectories of the hand 13 and the arm 12 can be derived. In other words, it can be said that the optimal position of the base 11 can be derived.
[0060] In addition, the teaching device 30 of the above embodiment further includes a display unit 33 that displays the operation trajectory of the hand 13 derived by the derivation unit 352, and a correction unit 354 that corrects the operation trajectory of the hand 13 displayed on the display unit 33 according to a user's input operation.
[0061] According to the above configuration, the user can perform a correction instruction (input operation) while visually recognizing the operation trajectory displayed on the display unit 33, so that fine corrections more in line with the user's intention can be easily made to the operation trajectory.
[0062] Furthermore, the correction unit 354 corrects the operation trajectory of the hand 13 according to a correction instruction (input operation) of the user for moving a point on the operation trajectory of the hand 13 displayed on the display unit 33.
[0063] According to the above configuration, the user can finely correct the motion trajectory by a simple method of moving a point on the motion trajectory displayed on the display unit 33.
[0064] Further, the teaching device 30 of the above embodiment further includes a reproduction unit 353 that operates a robot model (hand 13 and arm 12) on the display unit 33 based on the motion trajectory derived by the derivation unit 352.
[0065] According to the above configuration, the user can give a correction instruction (input operation) after seeing the operations of the arm 12 and the hand 13 reproduced by the reproduction unit 353, so that finer corrections can be made to the motion trajectory according to the intention.
[0066] In particular, the reproduction unit 353 operates the robot model (hand 13 and arm 12) with the motion trajectory T derived by the derivation unit 352 or the motion trajectory Ta after being corrected by the correction unit 354 displayed on the display unit 33. Therefore, the user can clearly visually recognize the correspondence between the motion trajectory T (motion trajectory Ta) and the operation of the robot model, so that more intention-aligned corrections can be made to the motion trajectory T (motion trajectory Ta).
[0067] Also, the user's correction instruction (input operation) is that the user moves a point on the motion trajectory displayed on the display unit 33 by drag and drop.
[0068] According to the above configuration, the motion trajectory can be corrected more simply.
[0069] Further, the robot 10 places and conveys the substrate S (object) on the upper surface of the hand 13 without fixing it. The predetermined conditions set by the setting unit 351 include the upper limit value of the acceleration / deceleration speed of the operation of the hand 13.
[0070] According to the above configuration, it is possible to derive an optimal motion trajectory in which the movement time of the hand 13 from the starting point to the ending point is the shortest within a range where the substrate S is not dropped from the hand 13.
[0071] Also, when targeting the robot 10 having two hands 13 as an end effector as in the above embodiment, the derivation unit 352 derives the movement locus of the hand 13 and the like in consideration of the postures of the two hands 13 at the starting point and the ending point (i.e., the hoop 4 and the processing device 5). Examples of the postures of the two hands 13 include, for example, a state where 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 where 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 where both the upper hand 13a and the lower hand 13b enter the hoop 4. By considering the postures of the two hands 13 at such starting and ending points, it is possible to derive a more optimal movement locus of the hand 13 and the like.
[0072] (Other Embodiments) As described above, the above embodiments have been described as examples of the technology disclosed in the present application. However, the technology in the present disclosure is not limited thereto, and is also applicable to embodiments in which changes, replacements, additions, omissions, etc. are made as appropriate. Further, it is also possible to form a new embodiment by combining the respective components described in the above embodiments. Also, among the components described in the accompanying drawings and the detailed description, there may be included not only the components essential for solving the problems, but also the components not essential for solving the problems for the purpose of exemplifying the technology. Therefore, just because those non-essential components are described in the accompanying drawings and the detailed description, it should not be immediately determined that those non-essential components are essential.
[0073] In the above embodiment, in addition to changing the position of the base 11, the derivation unit 352 may derive the movement locus of the hand 13 from the starting point to the ending point and the movement locus of the arm 12 corresponding to the movement locus of the hand 13 while also changing the lengths of the links 12a and 12b of the arm 12. According to this configuration, since the lengths of the links 12a and 12b are also used as one of the parameters to derive the movement locus of the hand 13 and the like, it is possible to derive a more optimal movement locus of the hand 13 and a movement locus of the arm 12. In other words, it is possible to derive the optimal lengths of the links 12a and 12b.
[0074] Further, in the above embodiment, in addition to changing the position of the base 11, the derivation unit 352 may derive the movement locus of the hand 13 from the starting point to the ending point and the movement locus of the arm 12 corresponding to the movement locus of the hand 13 while also changing the orientation of the base 11 (i.e., the orientation of the robot 10). According to this configuration, since the orientation of the base 11 is also used as one of the parameters to derive the movement locus of the hand 13 and the like, it is possible to derive a more optimal movement locus of the hand 13 and a movement locus of the arm 12. In other words, it is possible to derive the optimal orientation of the base 11.
[0075] Also, in the above embodiment, the derivation unit 352 may display both the derived movement locus of the hand 13 and the movement locus of the arm 12 on the display unit 33, or may display only the movement locus of the arm 12 on the display unit 33.
[0076] Also, in the above embodiment, the correction unit 354 may correct the movement locus according to a correction instruction (input operation) of the user for moving the base 11 displayed on the display unit 33. In that case, for example, the user performs the correction instruction by operating the mouse to move the base 11 displayed on the display unit 33 by drag and drop.
[0077] In addition, in the above-described embodiment, as shown in FIG. 9, the motion locus T derived by the derivation unit 352 may be formed as a locus connecting a plurality of waypoints X. In that case, the points on the motion locus T to be moved by the user's correction instruction (input operation) are the waypoints X. For example, when the setting unit 351 sets "there are a plurality of waypoints" as a predetermined condition, the derivation unit 352 derives the motion locus T of the hand 13 including a plurality of optimal waypoints X and displays it on the display unit 33. For example, the waypoint X is displayed larger than other points on the motion locus T.
[0078] In this case, when the user feels that the operations of the arm 12 and the hand 13 reproduced by the reproduction unit 353 are not appropriate, for example, the user performs a correction instruction (input operation) to move the waypoint X on the motion locus T displayed on the display unit 33 by drag and drop (see FIG. 9). The correction unit 354 corrects the motion locus T displayed on the display unit 33 in response to this correction instruction from the user. That is, the correction unit 354 corrects the motion locus T based on the movement information of the waypoint X according to the user's correction instruction, that is, the position information of the waypoint Xa after the waypoint X has moved, and displays the new motion locus Ta after the correction on the display unit 33. The corrected motion locus Ta includes the moved waypoint Xa.
[0079] According to this configuration, the user can clearly grasp the points to be moved on the motion locus T displayed on the display unit 33. In addition, since the number of points that can be moved on the motion locus T is reduced, the processing amount required for correction in the correction unit 354 can be reduced accordingly.
[0080] Also, in the above embodiment, the correction unit 354 may correct the operation locus T displayed on the display unit 33 in response to a correction instruction (input operation) of the user for moving the arm 12 (that is, the links 12a and 12b) displayed on the display unit 33. That is, as shown in FIG. 10, for example, the user operates a mouse to give a correction instruction (input operation) to move the second link 12b displayed on the display unit 33 by drag and drop. The correction unit 354 corrects the operation locus T based on the movement information of the second link 12b according to the user's correction instruction, and displays a new operation locus (not shown) after the correction on the display unit 33. For example, the above movement information of the second link 12b includes the position information of the second link 12b after the movement, the position information of the hand 13 that has moved along with the movement of the second link 12b, and the like.
[0081] Also, in the above embodiment, the playback unit 353 may be omitted. In that case, the user looks at the operation locus displayed on the display unit 33 and decides whether to give a correction instruction or not. Also, the display unit 33 and the correction unit 354 may be omitted.
[0082] Also, the correction instruction (input operation) of the user is not limited to the operation of the mouse. For example, the user may move the operation locus or the like displayed on the display unit 33 by inputting coordinate values with a keyboard.
[0083] Also, the playback unit 353 may operate the robot model (hand 13 and arm 12) without displaying the operation locus T derived by the derivation unit 352 or the operation locus Ta after being corrected by the correction unit 354 on the display unit 33.
[0084] In addition, the setting unit 351 may be configured to set "presence or absence of the substrate S in the two hands 13" as a 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: the condition that "the upper hand 13a has the substrate S and the lower hand 13b does not have the substrate S", the condition that "the upper hand 13a does not have the substrate S and the lower hand 13b has the substrate S", the condition that "both the upper hand 13a and the lower hand 13b have the substrate S", and the condition that "neither the upper hand 13a nor the lower hand 13b has the substrate S". The derivation unit 352 derives an optimal operation trajectory for each of these four patterns of conditions and displays it on the display unit 33. The user selects one operation trajectory from the four operation trajectories and gives a correction instruction for the selected operation trajectory as needed.
Explanation of Signs
[0085] 10 Robot 11 Base 12 Arm 12a First Link (Link) 12b Second Link (Link) 13 Hand (End Effector) 30 Teaching Device 33 Display Unit 341 Trajectory Derivation Program (Teaching Program) 351 Setting Unit 352 Derivation Unit 353 Reproduction Unit 354 Correction Unit T Operation Trajectory Ta Operation Trajectory X Waypoint Xa Waypoint
Claims
1. 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, a setting unit configured to set a predetermined condition including a start point and an end point of the end effector in a predetermined operation of the arm, a derivation unit configured to derive an operation trajectory of the end effector that conforms to the predetermined condition and an operation trajectory of the arm corresponding to the operation trajectory of the end effector while changing the position of the base as one of parameters. A teaching device for a robot.
2. The teaching device for a robot according to claim 1, wherein the derivation unit derives an operation trajectory of the end effector from the start point to the end point and an operation trajectory of the arm corresponding to the operation trajectory of the end effector while also changing the orientation of the base. A teaching device for a robot.
3. The teaching device for a robot according to claim 1 or 2, wherein the derivation unit derives an operation trajectory of the end effector from the start point to the end point and an operation trajectory of the arm corresponding to the operation trajectory of the end effector while also changing the link lengths of the arm. A teaching device for a robot.
4. The teaching device for a robot according to any one of claims 1 to 3, a display unit configured to display at least one of the operation trajectory of the arm and the operation trajectory of the end effector derived by the derivation unit, and a correction unit configured to correct the operation trajectory displayed on the display unit in response to an input operation of a user. A teaching device for a robot.
5. The teaching device for a robot according to claim 4, wherein the display unit further displays a robot model in which the robot is modeled, and the correction unit corrects the operation trajectory in response to an input operation of moving a point on the operation trajectory displayed on the display unit or the base. A teaching device for a robot.
6. The teaching device for a robot according to claim 5, wherein the operation trajectory derived by the derivation unit is formed as a trajectory connecting a plurality of waypoints, and the point on the operation trajectory to be moved by the input operation is the waypoint. A teaching device for a robot.
7. The teaching device for a robot according to claim 5 or 6, A teaching device for a robot, further comprising a playback unit that operates the robot model on the display unit based on the motion trajectory derived by the derivation unit.
8. In the teaching device for a robot according to claim 5 or 6, The input operation is an operation in which the user moves a point on the motion trajectory displayed on the display unit or the base by drag and drop. A teaching device for a robot.
9. In the teaching device for a robot according to any one of claims 1 to 8, The robot places and transports an object on the upper surface of the end effector without fixing it. The predetermined condition includes an upper limit value of the acceleration and deceleration speed of the operation of the end effector. A teaching device for a robot.
10. A teaching program 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 function of setting a predetermined condition including a starting point and an ending point of the end effector in a predetermined operation of the arm, A function of deriving an operation trajectory of the end effector that conforms to the predetermined condition and an operation trajectory of the arm corresponding to the operation trajectory of the end effector while changing the position of the base as one of the parameters. A teaching program for a robot that realizes this on a computer.
11. A teaching method 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, Setting a predetermined condition including a starting point and an ending point of the end effector in a predetermined operation of the arm, Deriving an operation trajectory of the end effector that conforms to the predetermined condition and an operation trajectory of the arm corresponding to the operation trajectory of the end effector while changing the position of the base as one of the parameters. A teaching method for a robot.
Citation Information
Patent Citations
Robot controller and robot
JP1998124132A
Robot teaching system
JP2010231518A
Operation program creating device, program, robot control system, and robot system
JP2013059817A
Low-variability robot
JP2014527314A
Robot simulator, robot system, and simulation method
JP2018134703A