Correction device, correction method, and correction program
The modification device addresses the challenge of end effector interference at multiple working positions by calculating and adjusting the end effector's posture and dimensions, thereby reducing manual adjustments and man-hours.
Patent Information
- Application Number
- JP2022034951
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-08
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2042-03-08
AI Technical Summary
Existing technologies do not account for automatic corrections that allow the end effector to assume an attitude that does not interfere with the workpiece at multiple working positions, leading to manual adjustments and increased man-hours.
A modification device that calculates the first posture of the end effector for each action position to avoid interference, and if such a posture does not exist, corrects the dimensions of the end effector's parts based on the calculated interference elimination direction.
The solution enables the modification of end effector dimensions to prevent interference at multiple working positions, reducing the need for manual adjustments and minimizing man-hours during the design stage.
Smart Images

Figure 0007657170000001 
Figure 0007657170000002 
Figure 0007657170000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a data modifying device, a data modifying method, and a data modifying program. [Background technology]
[0002] When changing the type of product being produced on an existing manufacturing line, interference between the workpiece and end effectors such as welding guns or open / close gripping hands attached to the tip of a robot cannot be avoided, which can result in labor-intensive work required to modify the dimensions of the end effectors.
[0003] Furthermore, the following Patent Document 1 discloses a position control method for an industrial robot that controls the position and posture of the industrial robot so as to maximize the reach of the robot's arm to a work object having redundancy. This method uses a target control point (matrix: o When the position and attitude of Tcp are given, o Tcp= o Tb b Tw w Tf f Te( o Tb is the position matrix determined by the three cardinal axes J1, J2, and J3; b Tw is the posture matrix taken by the three wrist axes; w Tf is the tool mounting flange matrix; f Te controls the position of the robot based on the relationship of the tool end effector matrix. In this case, o The set of possible positions of Tb is the target o On the circumference with the point Pv in the redundant axis direction of the vector V with the position of Tcp as the origin, the point Pb' with the smallest distance from the robot calculation origin T0 is o The goal is to make the TCP orthogonal components o Tcp o Tcp', and o Tcp' is subjected to inverse kinematic transformation, and the position of each axis in the derived joint coordinate system is set as the motion target.
[0004] Furthermore, the following Patent Document 2 discloses a hand device for a robot. This hand device is provided with a fixed locating pin, a movable locating pin, and fixing means for releasing the constraint on the movement of the movable locating pin on a main body frame attached to a robot arm, and a positioning means for engaging and disengaging the movable locating pin at a fixed position, and the positional relationship between both locating pins can be adjusted steplessly by utilizing the motion control of the robot, making it possible to handle many types of workpieces with a single unit. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2002-301672 A [Patent Document 2] JP 2000-167791 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, the above-mentioned conventional technology does not take into consideration automatic correction that enables the end effector to assume a posture that does not interfere with the workpiece in any of a plurality of action positions.
[0007] The present invention aims to modify the dimensions of the end effector so as to avoid interference at multiple working positions. [Means for solving the problem]
[0008] A correction device according to one aspect of the invention disclosed in the present application includes an acquisition unit that acquires design information about an end effector and design information about a workpiece having a plurality of action positions that are acted on by the end effector; a calculation unit that calculates, for each action position, a first attitude of the end effector that is disposed so as to be able to act at the action positions of the workpiece without interfering with the workpiece, based on the design information about the end effector and the design information about the workpiece; determining whether the first attitude exists in all of the plurality of operating positions, and if there is at least one operating position in which the first attitude does not exist,a correction unit that corrects dimensions of components that configure the end effector based on a calculation result by the calculation unit; the calculation unit specifies an interference resolution direction in which interference between the workpiece and the end effector is resolved for a second orientation of the end effector at an operating position where the first orientation does not exist, and selects a correction target part from a group of parts constituting the end effector based on an angle difference between the interference resolution direction and a direction of each part in the group of parts, and the correction unit corrects a dimension of the correction target part. It is characterized by: Effect of the Invention
[0009] According to a representative embodiment of the present invention, the dimensions of the end effector can be modified so as not to interfere with each other at a plurality of working positions. Objects, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of correction of dimensions of an end effector by the correction device according to the first embodiment. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of the correction device. [Diagram 3] FIG. 3 is an explanatory diagram illustrating an example of end effector design information. [Figure 4] FIG. 4 is a perspective view showing an example of a workpiece. [Diagram 5] FIG. 5 is an explanatory diagram illustrating an example of the work design information. [Figure 6] FIG. 6 is an explanatory diagram showing an example of the action position information. [Figure 7] FIG. 7 is an explanatory diagram illustrating an example of the search parameter information. [Figure 8] FIG. 8 is a flowchart of an example of a procedure of the repair process performed by the repair device according to the first embodiment. [Figure 9] FIG. 9 is a flowchart illustrating an example of detailed processing steps of the distributable end effector orientation calculation process (step S802) illustrated in FIG. [Figure 10] FIG. 10 is a flowchart illustrating a detailed example of the end effector dimension correction process (step S803) illustrated in FIG. [Figure 11] FIG. 11 is an explanatory diagram showing an example of end effector design information 300 indicating deployable end effectors. [Figure 12] FIG. 12 is an explanatory diagram illustrating an example of the position information of the end effector that can be placed. [Figure 13] FIG. 13 is an explanatory diagram showing an example of the dimension correction information. [Figure 14] FIG. 14 is an explanatory diagram of an example of a display screen that displays the output data according to the first embodiment. [Figure 15] FIG. 15 is an explanatory diagram showing an example of the relative positions of the robot arm, the end effector, the workpiece, and the jig. [Figure 16] FIG. 16 is an explanatory diagram showing an example of calculating the trajectory of a robot arm. [Figure 17] FIG. 17 is an explanatory diagram illustrating an example of robot arm design information. [Figure 18] FIG. 18 is an explanatory diagram illustrating an example of the jig design information. [Figure 19] FIG. 19 is a flowchart of an example of a procedure of the repair process performed by the repair device according to the second embodiment. [Figure 20] FIG. 20 is a flowchart illustrating a detailed example of the robot arm trajectory generation process (step S1904) illustrated in FIG. [Figure 21] FIG. 21 is an explanatory diagram illustrating an example of the robot arm trajectory information. [Figure 22] FIG. 22 is an explanatory diagram of an example of a display screen that displays output data according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The correction device is a computer that automatically corrects the dimensions of the end effector from the design information, and can reduce the man-hours required to correct the dimensions of the end effector in the design stage. An end effector is a device that is attached to the tip of an industrial robot arm such as a six-axis arm, and examples of such devices include welding guns, open / close gripping hands, torque drivers, and end mills.
[0012] Unless otherwise specified, the end effector in this specification does not refer to an actual end effector, but rather to design information for the end effector, that is, three-dimensional graphic data (for example, three-dimensional CAD data). The same applies to a workpiece that is the object of the end effector's work. Also, the three-dimensional graphic data for the end effector and the workpiece are each defined in a local coordinate system, but when dimension correction is performed by a correction device, the end effector and the workpiece are placed in a common global coordinate system by coordinate conversion. The same applies to a robot arm to which the end effector is attached and a jig that holds the workpiece.
[0013] Also, interference between an end effector and a workpiece literally means that the end effector and the workpiece overlap, but does not include contact of the end effector at the action position of the workpiece. For example, if the end effector is an open / close gripping hand, the end effector comes into contact with the workpiece by gripping the action position, but this contact is not "interference." In other words, interference means that the end effector and the workpiece overlap at a position other than the action position. EXAMPLES
[0014] Fig. 1 is an explanatory diagram showing an example of correction of dimensions of an end effector by the correction device according to the first embodiment. The end effector 100 shown in Fig. 1 is a welding gun having a substantially C-shape and has a support part 101. Tips 104, 105 of a pair of welding parts 102, 103 bent at both ends of the support part 101 are bent so as to correspond to each other. When a workpiece 110 is inserted into the gap between the tips 104, 105, the end effector 100 is ready for welding.
[0015] The depth of the cavity surrounded by the supporting portion 101 and the pair of welded portions 102, 103 is called the bore depth d, which is the length of the pair of welded portions 102, 103. Furthermore, w is the width of the supporting portion 101 and the pair of welded portions 102, 103, and g is the pair of welded portions 102, 103 and the length of the supporting portion 101.
[0016] (1) Calculation of possible end effector postures The correction device first calculates the posture of the end effector 100 at which the workpiece 110 can be placed. The position of the workpiece 110 to be welded by the tips 104, 105 is referred to as the action position ap. A straight line passing through the tips 104, 105 and the action position ap is set as a normal line 111 of the workpiece 110. The correction device rotates the workpiece 110 in small increments around the normal line 111 as a rotation axis, and calculates the posture of the end effector 100 when the workpiece 110 interferes with the support part 101. It is assumed that an interference area 120 is detected by this calculation. The interference area 120 is an overlapping area between the workpiece 110 and the support part 101 calculated by the correction device.
[0017] (2) End effector dimension correction When the interference region 120 is detected, the correction device extends the pair of welds 102, 103 in a direction (interference eliminating direction) 130 in which the interference is eliminated, thereby correcting the dimensions of the end effector 100 to eliminate the interference. Specifically, for example, the correction device corrects the bore depth d to dr (>d).
[0018] <Example of hardware configuration of repair device> FIG. 2 is a block diagram showing an example of a hardware configuration of the correction device. The correction device 200 includes a processor 201, a storage device 202, an input device 203, an output device 204, and a communication interface (communication IF) 205. The processor 201, the storage device 202, the input device 203, the output device 204, and the communication IF 205 are connected by a bus 206. The processor 201 controls the correction device 200. The storage device 202 is a working area for the processor 201. The storage device 202 is a non-transient or temporary recording medium that stores various programs and data. Examples of the storage device 202 include a ROM (Read Only Memory), a RAM (Random Access Memory), a HDD (Hard Disk Drive), and a flash memory. The input device 203 inputs data. Examples of the input device 203 include a keyboard, a mouse, a touch panel, a numeric keypad, a scanner, a microphone, and a sensor. The output device 204 outputs data. The output device 204 may be, for example, a display, a printer, or a speaker. The communication IF 205 connects to a network and transmits and receives data.
[0019] <End effector design information> 3 is an explanatory diagram showing an example of end effector design information. The end effector design information is stored in the storage device 202 of the correction device 200 or in a storage device of another computer that can communicate with the correction device 200.
[0020] The end effector design information 300 is design information of the end effector 100, that is, graphic data showing the three-dimensional shape of the end effector 100. In Fig. 3, the end effector design information 300 is expressed in a table format.
[0021] End effector design information 300 has fields including part 301, placement position / posture 302, face information 303, and dimension 304. Part 301 is one element (constituent element) that constitutes end effector 100, and holds "Pe1", "Pe2", "Pe3", ... as values that uniquely identify part 301. Specifically, for example, "Pe1" indicates support part 101, "Pe2" indicates welded part 102, and "Pe3" indicates welded part 103.
[0022] The placement position and orientation 302 is the orientation of the part 301 when the end effector 100 is placed in the local coordinate system, and holds “Qe1”, “Qe2”, “Qe3”, . . . as values that uniquely identify the placement position and orientation 302. Specifically, for example, “Qe1” is a group of vertex coordinate values of the support part 101, “Qe2” is a group of vertex coordinate values of the welded part 102, and “Qe3” is a group of vertex coordinate values of the welded part 103.
[0023] The face information 303 is information about the faces of the component 301, and holds "Se11", "Se12", ..., "Se21", "Se22", ..., "Se31", "Se32", ... as values that uniquely identify the face information 303. Specifically, for example, each of "Se11", "Se12", ... indicates polygon data that constitutes the face of the support portion 101, and includes a vertex coordinate value group and a normal vector of the polygon data. Furthermore, each of "Se21", "Se22", ... indicates polygon data that constitutes the face of the welded portion 102, and includes a vertex coordinate value group and a normal vector of the polygon data. Furthermore, each of "Se31", "Se32", ... indicates polygon data that constitutes the face of the welded portion 103, and includes a vertex coordinate value group and a normal vector of the polygon data.
[0024] The dimension 304 is information about the length of the part 301, and has a type 341, a direction 342, and a value 343 as subfields.
[0025] The type 341 is a combination of multiple classifications of the dimensions 304, and values that uniquely identify the type 341 include, for example, the above-mentioned bore depth d, width w, and spacing g. When the part 301 is "Pe1", it is a welded part 102, so the type 341 is a combination of the bore depth d and the width w. When the part 301 is "Pe2", it is a support part 101, so the type 341 is a combination of the spacing g and the width w.
[0026] The direction 342 indicates the orientation of the dimension 304 specified by the type 341 when the end effector 100 is placed in the local coordinate system. For example, a value dg1 that uniquely specifies the direction 342 of the interval g when the part 301 is of the type 341 of "Pe1" (support part 101) is a vector (0,0,1) indicating the Z direction as shown in Fig. 1. Also, a value dw1 that uniquely specifies the direction 342 of the width w is a vector (0,1,0) indicating the Y direction as shown in Fig. 1.
[0027] Moreover, a value dd2 that uniquely identifies the direction 342 of the bore depth d of the part 301 that is the type 341 of "Pe2" (weld 102) is a vector (1,0,0) that indicates the X direction as shown in Fig. 1. Moreover, a value dw2 that uniquely identifies the direction 342 of the width w is a vector (0,1,0) that indicates the Y direction as shown in Fig. 1.
[0028] Moreover, a value dd3 that uniquely identifies the direction 342 of the bore depth d of the part 301 that is the type 341 of "Pe3" (weld 103) is a vector (1,0,0) that indicates the X direction as shown in Fig. 1. Moreover, a value dw3 that uniquely identifies the direction 342 of the width w is a vector (0,1,0) that indicates the Y direction as shown in Fig. 1.
[0029] The numerical value 343 is the value of the dimension 304 specified by the type 341. For example, a value v(dg1) that uniquely specifies the numerical value 343 of the interval g when the part 301 is of the type 341 of "Pe1" (support part 101) is 500.0 [mm]. Also, a value v(dw1) that uniquely specifies the numerical value 343 of the width w is 50.0 [mm].
[0030] In addition, a value v(dd2) that uniquely identifies the numerical value 343 of the depth d of the part 301 that is the type 341 of “Pe2” (weld 102) is, for example, 300.0 [mm]. In addition, a value v(dw2) that uniquely identifies the numerical value 343 of the width w is, for example, 50.0 [mm].
[0031] In addition, a value v(dd3) that uniquely identifies the numerical value 343 of the depth d of the part 301 that is the type 341 of “Pe3” (weld 103) is, for example, 300.0 [mm]. In addition, a value v(dw3) that uniquely identifies the numerical value 343 of the width w is, for example, 50.0 [mm].
[0032] <Work 110> 4 is a perspective view showing an example of a workpiece 110. The workpiece 110 is an object of action of the end effector 100, and has one or more action positions ap1 to ap6 (six in FIG. 4 as an example). When the action positions ap1 to ap6 are not to be distinguished, they are simply referred to as action positions ap. Since the end effector 100 in this example is a welding gun, the action position ap is a welding position, but if the end effector 100 is an open / close gripping hand, it is a gripping position, if it is a torque driver, it is a screw tightening position, and if it is an end mill, it is a drilling position.
[0033] 5 is an explanatory diagram showing an example of workpiece design information 500. Workpiece design information 500 is stored in the storage device 202 of the modification device 200 or in a storage device of another computer that can communicate with the modification device 200.
[0034] The workpiece design information 500 is design information of the workpiece 110, that is, three-dimensional graphic data showing the three-dimensional shape of the workpiece 110. In Fig. 5, the workpiece design information 500 is expressed in a table format.
[0035] The work design information 500 has, as fields, a part 501, a placement position and orientation 502, and face information 503. The part 501 is one element (constituent element) that constitutes the work 110, and holds "Pw1", ..., as values that uniquely identify the work 110. Specifically, for example, "Pw1" is the main body of the work 110.
[0036] The placement position and orientation 502 is the orientation of the part 501 when the workpiece 110 is placed in the local coordinate system, and holds “Qw1”, ... as values that uniquely identify the placement position and orientation 502. Specifically, for example, “Qe1” is a group of vertex coordinate values of the workpiece 110.
[0037] The face information 503 is information about the faces of the part 501, and holds "Sw11", "Sw12", ... as values that uniquely identify the face information 503. Specifically, for example, each of "Sw11", "Sw12", ... indicates polygon data that constitutes the face of the workpiece 110, and includes a group of vertex coordinate values and a normal vector of the polygon data.
[0038] Fig. 6 is an explanatory diagram showing an example of action position information 600. In Fig. 6, the action position information 600 is expressed in a table format. The action position information 600 has, as fields, an action position ID 601 and a coordinate value 602. The action position ID 601 is identification information that uniquely identifies the action position ap, and holds action positions ap1 to ap6 as values. The coordinate value 602 indicates the three-dimensional positions of the action positions ap1 to ap6 in the local coordinate system of the workpiece 110.
[0039] <Search parameter information> Fig. 7 is an explanatory diagram showing an example of search parameter information. Search parameter information 700 is stored in the storage device 202 of the modification device 200 or in a storage device of another computer that can communicate with the modification device 200. In Fig. 7, the search parameter information 700 is expressed in a table format.
[0040] Search parameter information 700 is a set of parameters for searching interference region 120, and has fields of search parameter type 701 and value 702. Search parameter type 701 indicates the type of search parameter. The search parameter type 701 includes, for example, three types of search parameters: search angle increment number a, correction increment distance l, and maximum number of corrections k.
[0041] The search angle increment a is the increment when the end effector 100 is rotated around the normal line 111 as the rotation axis. 2π / a is the increment angle. The correction increment distance l is the increment distance for correcting the dimension 304. The maximum number of corrections k is the maximum number of times that the end effector dimension correction (2) shown in FIG. 1 can be executed.
[0042] The value 702 is the setting value of the search angle increment number a, the correction increment distance l, and the maximum number of corrections k, which are specified by the search parameter type 701. The value 702 can be set by the user operating the input device 203.
[0043] <Correction procedure> 8 is a flowchart showing an example of a correction process procedure by the correction device 200 according to the first embodiment. The correction device 200 executes a data acquisition process (step S801). Specifically, for example, the correction device 200, as an acquisition unit 801, reads the end effector design information 300, the workpiece design information 500, the action position information 600, and the search parameter information 700. Note that since the end effector 100 and the workpiece 110 are placed in a common global coordinate system, the coordinate values defined in the end effector design information 300, the workpiece design information 500, and the action position information 600 are converted.
[0044] Next, the modification device 200, as the calculation unit 802, executes a placement possible end effector attitude calculation process (step S802). Specifically, for example, the modification device 200 executes (1) placement possible end effector attitude calculation shown in Fig. 1. Details of the placement possible end effector attitude calculation process (step S802) will be described later with reference to Fig. 9.
[0045] Next, the modifying device 200, as the modifying unit 803, executes an end effector dimension modification process (step S803). Specifically, for example, the modifying device 200 executes the end effector dimension modification (2) shown in Fig. 1. Details of the end effector dimension modification process (step S803) will be described later with reference to Fig. 10.
[0046] Specifically, the acquisition unit 801, the calculation unit 802 and the correction unit 803 are realized by, for example, causing the processor 201 to execute a program stored in the storage device 202 shown in FIG. 2, and each executes steps S801 to S803.
[0047] Fig. 9 is a flowchart showing a detailed example of the process of calculating the position of the end effector that can be placed (step S802) shown in Fig. 8. First, the correction device 200 sets a loop variable i of all action positions ap1 to apn (n is an integer equal to or greater than 1, and is the number of entries in the action position information 600, i.e., the total number of action positions ap) of the action position information 600 to i=1 (step S901). In step S901, when the process is returned in step S905, the loop variable i is incremented.
[0048] Next, the correction device 200 positions the end effector 100 so that the tips 104, 105 of the end effector 100 are in contact with the surface of the workpiece 110 perpendicularly at the action position api (step S902). As a result, the tips 104, 105 and the action position api are positioned on the normal line 111 as shown in FIG.
[0049] Next, the correction device 200 rotates the end effector 100 at the action position api by 2π / a around the normal line 111 as the rotation axis, and calculates the interference between the posture of the end effector 100 and the workpiece 110 at each rotation (step S903). That is, the correction device 200 calculates the interference between the end effector 100 and the workpiece 110 for the postures of the end effector 100 in the search angle increment number a. In this way, the correction device 200 changes the posture of the workpiece 110 while fixing the posture of the end effector 100 and the action position api.
[0050] In this interference calculation, the correction device 200 calculates end effector posture information, interference area information, and interference resolution direction information. The end effector posture information is the posture of the end effector 100 for each rotation in increments of 2π / a, and specifically, for example, the placement position posture 302, face information 303, and dimension 304 of a part 301 for each rotation in increments of 2π / a in the global coordinate system.
[0051] The interference region information is information constituting the interference region 120, which is a three-dimensional overlapping region between the end effector 100 and the workpiece 110. Specifically, for example, the interference region 120 is the surface of the workpiece 110 that has become located inside the end effector 100 due to interference, and the interference region information is defined by surface information 503 of the surface of the workpiece 110 located inside the end effector 100. The interference region information also includes the volume of the interference region 120.
[0052] The interference resolution direction information is information that specifies the interference resolution direction 130, and is a normal vector of polygon data that constitutes the surface of the end effector 100 that overlaps with the workpiece 110 (for example, the hatched surface of the interference area 120 shown in FIG. 1). The average of the normal vectors becomes the interference resolution direction 130. In this way, the presence or absence of interference between the end effector 100 and the workpiece 110 and, if interference occurs, the interference area 120 are identified.
[0053] That is, the interference resolution direction 130 is a direction in which the interference between the end effector 100 and the workpiece 110 is resolved, and when the workpiece 110 moves in the interference resolution direction 130 and moves away from the end effector 100, the volume of the interference area 120 decreases and the interference with the end effector 100 is resolved. In the end effector dimension correction process (step S803), the correction device 200 corrects the dimensions of the part 301 of the end effector 100 so that the end effector 100 can act at the action position ap without interfering with the workpiece 110.
[0054] Incidentally, the interference resolution direction 130 does not exist if the end effector 100 and the workpiece 110 do not interfere with each other even once. However, since interference calculation is performed for postures with a search angle increments, a maximum of a interference resolution directions exist for one action position ap.
[0055] Next, the correction device 200 records the end effector posture information, the interference area information, and the interference resolution direction information calculated in step S903 in the storage device 202 (step S904).
[0056] Next, the modification device 200 determines whether or not i=n. If i=n is not the case, the process returns to step S901, and if i=n, the process ends the process of calculating the position of the end effector that can be placed.
[0057] Fig. 10 is a flowchart showing a detailed example of the process procedure of the end effector dimension correction process (step S803) shown in Fig. 8. First, the correction device 200 sets a loop variable j of the maximum number of corrections k to i=1 (step S1001). In step S1001, when the process is returned in step S1004, the loop variable j is incremented.
[0058] Next, the correction device 200 judges whether there is a posture of the end effector 100 that does not interfere with the workpiece 110 at all of the action positions ap1 to apn (step S1002). The posture of the end effector 100 that does not interfere with the workpiece 110 at each of the action positions ap1 to apn does not need to be the same posture. In other words, whatever posture the end effector 100 is in, it is sufficient that it can act on all of the action positions ap1 to apn without interfering with the workpiece 110 with the current shape of the end effector 100 (loop variable j).
[0059] In other words, if there is no posture of the end effector 100 that does not interfere with the workpiece 110 at all of the action positions ap1 to apn (step S1002: No), this means that there is at least one action position ap that will interfere with the workpiece 110 in any of the postures within the search angle increment number a.
[0060] If there is no posture of the end effector 100 that does not interfere with the workpiece 110 at all of the action positions ap1 to apn (step S1002: No), the correction device 200 selects a part 301 having a dimension 304 in a direction 342 that forms a minimum angle with the interference resolution direction 130, among the dimensions 304 of the end effector 100. Then, the correction device 200 increases the numerical value 343 of the dimension 304 of the selected part 301 having the direction 342 that forms a minimum angle with the closest interference resolution direction 130 by the correction step distance l (step S1003).
[0061] For example, if the direction 342 that forms the smallest angle with the interference resolution direction 130 is the direction dd2 of the bore depth d of the welded portion 102, the correction device 200 increases the numerical value v(dd2) by the correction increment distance 1. Note that in this case, the correction device 200 also increases the numerical value v(dd3) of the welded portion 103 that is paired with the welded portion 102 by the correction increment distance 1 in the same manner.
[0062] Since interference resolution directions 130 are calculated for postures with the search angle increment number a, a maximum of a interference resolution directions 130 exist for one action position ap, and therefore, an interference resolution direction 130 also exists for each interference. For this reason, in step S1003, the correction device 200 may identify candidates for the part 301 with the smallest angle difference for each interference resolution direction 130, and select the part 301 with the smallest angle difference from among the candidates for the part 301 as the part to be corrected.
[0063] Furthermore, when there are multiple interference resolution directions 130, the correction device 200 may select, as the part to be corrected, the part 301 having the dimension 304 with the direction 342 that forms the smallest angle with the interference resolution direction 130 in which the volume of the interference region 120 is maximized. This increases the possibility that the interference regions 120 corresponding to the other interference resolution directions 130 will also disappear.
[0064] Furthermore, when there are multiple interference resolution directions 130, the modifying device 200 may select, as the part to be modified, the part 301 having the dimension 304 having the direction 342 that forms the smallest angle with the interference resolution direction 130 in which the volume of the interference region 120 is the smallest. This makes it possible to fine-tune the dimension of the end effector 100, in other words, to prevent excessive modification of the dimension.
[0065] Furthermore, when there are a plurality of action positions ap at which the end effector 100 interferes with the workpiece 110, the correction device 200 selects any one of the action positions ap and executes step S1003.
[0066] After that, the correction device 200 judges whether j=k or not, and if j=k is not satisfied, the process returns to step S1001, and if j=k is satisfied, the process ends the end effector dimension correction process (step S1004). In this case, even if the correction is performed k times, the current shape of the end effector 100 cannot act on all the action positions ap1 to apn without interfering with the workpiece 110.
[0067] In step S1002, if there is a posture of the end effector 100 that does not interfere with the workpiece 110 at all action positions ap1 to apn (step S1002: Yes), the correction device 200 updates and outputs the assignable end effector 100, the assignable end effector posture, and the dimension correction information (step S1005). The dimension correction information is the increment correction distance l in step S1003.
[0068] Specifically, for example, when j=1, the correction device 200 sets the deployable end effector 100 to the end effector 100 whose dimensions have not been modified in step S1003, and when j≧2, the deployable end effector 100 to the end effector 100 whose dimensions have been modified in step S1003 for the (j-1)th time.
[0069] Moreover, the correction device 200 updates the positional available end effector posture information to end effector posture information that does not interfere with the workpiece 110 for all of the action positions ap1 to apn in the j-th time.
[0070] Furthermore, when j=1, the modifying device 200 sets the dimension modification information to the dimension modification information not modified in step S1003, and when j≧2, sets the dimension modification information to the dimension modification information modified in the (j−1)th time in step S1003. This ends the end effector dimension modification process (step S803).
[0071] <Example of output data> Next, an example of the output data in step S1005 will be described with reference to Figures 11 to 14. The output data may be displayed on a display device, which is an example of the output device 204, or may be transmitted to another computer via the communication IF 205 and displayed on a display device of the other computer.
[0072] Fig. 11 is an explanatory diagram showing an example of end effector design information 300 indicating a deployable end effector 100. Fig. 11 shows that "v(dd2)", which is the numerical value 343 of the dimension 304 for the bore depth d of "Pe2" (weld 102) of the part 301, and "v(dd3)", which is the numerical value 343 of the dimension 304 for the bore depth d of "Pe3" (weld 103) of the part 301, have been modified.
[0073] 12 is an explanatory diagram showing an example of position information of an end effector that can be placed. Position information of an end effector that can be placed 1200 has fields of an action position ID 601, a position ID 1201, and a position 1202. The position ID 1201 is identification information that uniquely identifies the position 1202 of the end effector 100 that did not interfere with the workpiece 110 for all of the action positions ap1 to apn in the jth time.
[0074] The orientation 1202 indicates the placement position in the global coordinate system of the end effector 100 that did not interfere with the workpiece 110 for all of the action positions ap1 to apn in the jth time, and is defined by a set of vertex coordinate values of the end effector 100, for example.
[0075] 13 is an explanatory diagram showing an example of dimension correction information. Dimension correction information 1300 has fields of type 341 and correction value 1301. The correction value 1301 is a value of the correction of the length (depth d, interval g, width w, ...) specified by the type 341, and is a multiple of the correction interval distance l.
[0076] 14 is an explanatory diagram showing an example of a display screen displaying output data according to the first embodiment. A display screen 1400 displays placeable end effector attitude information 1200 and dimension correction information 1300. The end effector 100 in the placeable end effector attitude information 1200 and the dimension correction information 1300 is drawn based on the corrected end effector design information 300 shown in FIG. 11. The workpiece 110 is drawn based on the workpiece design information 500.
[0077] The display screen 1400 also has a modified increment distance pull-down 1401, a unit pull-down 1402, and a recalculation button 1403. The modified increment distance pull-down 1401 is a user interface that allows the user to select the modified increment distance l by operating the input device 203. It is also possible to directly input the modified increment distance l. Although not shown, the modified increment distance pull-down 1401 may be provided for each type 341. This allows the modified increment distance l to be different for each type 341.
[0078] The unit pull-down 1402 is a user interface that allows the user to select the unit of the corrected increment distance l by operating the input device 203. The recalculation execution button 1403 is a user interface that instructs re-execution of the end effector dimension correction process (step S803) by operating the input device 203. When the recalculation execution button 1404 is pressed, the end effector dimension correction process (step S803) is re-executed with the corrected increment distance l selected in the corrected increment distance pull-down 1401.
[0079] In this way, according to the first embodiment, it is possible to correct the dimensions of the end effector 100 so as not to interfere with each other at a plurality of action positions. That is, it is possible to correct the dimensions of the end effector 100 in advance at the design stage so that the end effector 100 can act on the workpiece 110 at any action position ap. Therefore, it is possible to reduce the number of steps required to correct the dimensions of the end effector 100. EXAMPLES
[0080] Next, a second embodiment will be described. The correction device 200 according to the second embodiment calculates the trajectory of the robot arm to which the end effector 100 is attached in the first embodiment. This makes it possible to specify the trajectory of the robot arm that can be moved in the corrected posture of the end effector 100. In other words, even if the posture of the end effector 100 is one that can be placed, if the trajectory of the robot arm cannot be generated, the correction is not effective. In this way, the effectiveness of the corrected posture of the end effector 100 can be improved by taking the trajectory of the robot arm into consideration. It is assumed that the order in which the robot arm passes through the multiple action positions ap is set in the correction device 200.
[0081] In the second embodiment, differences from the first embodiment will be mainly described, and therefore descriptions of common parts with the first embodiment will be omitted. Also, since the calculation of the trajectory of the robot arm itself is a known technique, a description thereof will be omitted.
[0082] 15 is an explanatory diagram showing an example of the relative positions of the robot arm, the end effector 100, the workpiece 110, and the jig. The workpiece 110 is held by a jig 1500. The jig 1500 has a pedestal 1501 and four support members 1502 on the pedestal 1501. The four support members 1502 sandwich the workpiece 110 from four sides, thereby holding the workpiece 110 so that the surface of the workpiece 110 is approximately horizontal.
[0083] The robot arm 1510 is, for example, a six-axis manipulator, and has a tip 1511. The tip 1511 is capable of detachably mounting the end effector 100.
[0084] <Example of trajectory calculation for robot arm 1510> Fig. 16 is an explanatory diagram showing an example of trajectory calculation of the robot arm 1510. In Fig. 16, for the sake of simplicity, the action positions ap are designated as ap1 and ap3. It is assumed that, as a result of the placeable end effector attitude calculation process (step S802) and the end effector dimension correction process (step S803), attitudes 1202 whose attitude IDs 1201 are R11 to R13 (hereinafter referred to as attitudes R11 to R13) are output for the action position ap1, and attitudes 1202 whose attitude IDs 1201 are R21 to R23 (hereinafter referred to as attitudes R23 to R33) are output for the action position ap3.
[0085] The correction device 200 selects one of nine combinations {(R11, R31), (R11, R32), (R11, R33), (R12, R31), (R12, R32), (R12, R33), (R13, R31), (R13, R32), (R13, R33)} of the orientations R11 to R13 and the orientations R31 to R33 of the deployable end effector 100. Specifically, for example, the correction device 200 selects a combination that minimizes the orientation change of the robot arm 1510. In the example of FIG. 16, the combination of the orientations R11 and R32 is selected as the combination that minimizes the orientation change of the robot arm 1510.
[0086] The posture of the robot arm 1510 is defined, for example, by the rotation angle vectors of multiple joints of the robot arm 1510. A change in posture of the robot arm 1510 is specified, for example, by the Euclidean distance between a rotation angle vector before the posture change of the robot arm 1510 and a rotation angle vector after the posture change of the robot arm 1510.
[0087] The "before the posture change of the robot arm 1510" refers to the initial posture before the movement of the robot arm 1510 when selecting from the postures R11 to R13 of the deployable end effector 100, and refers to the posture of the robot arm 1510 when taking each of the postures R11 to R13 of the deployable end effector 100 at the action position ap1 when selecting from the postures R31 to R33 of the deployable end effector 100.
[0088] The post-posture change of the robot arm 1510 refers to the posture of the robot arm 1510 when the deployable end effector 100 takes each of the postures R11 to R13 at the action position ap1 when selecting from the postures R11 to R13 of the deployable end effector 100, and refers to the posture of the robot arm 1510 when the deployable end effector 100 takes each of the postures R31 to R33 at the action position ap3 when selecting from the postures R31 to R33 of the deployable end effector 100.
[0089] The combination (R11, R32) in which the Euclidean distance before and after the posture change of the robot arm 1510 is the smallest is the combination in which the posture change of the robot arm 1510 is the smallest.
[0090] Then, the correction device 200 generates a trajectory 1601 of the robot arm 1510 that interpolates between the initial posture of the robot arm 1510 before the movement and the posture of the robot arm 1510 when the deployable end effector 100 takes the posture R11 at the action position ap1.
[0091] Similarly, the correction device 200 generates a trajectory 1602 of the robot arm 1510 that interpolates between the posture of the robot arm 1510 when the deployable end effector 100 takes a posture R11 at the application position ap1 and the posture of the robot arm 1510 when the deployable end effector 100 takes a posture R32 at the application position ap3.
[0092] In addition, if at least one of the trajectories 1601, 1602 of the robot arm 1510 cannot be generated, the correction device 200 reselects a combination from the nine combinations of the postures R11 to R13 and the postures R31 to R33 of the deployable end effector 100, excluding the combination (R11, R32), which minimizes the Euclidean distance before and after the posture change of the robot arm 1510, and regenerates the trajectory of the robot arm 1510 for the reselected combination.
[0093] 17 is an explanatory diagram showing an example of robot arm design information 1700. Robot arm design information 1700 is stored in the storage device 202 of the correction device 200 or in a storage device of another computer that can communicate with the correction device 200.
[0094] The robot arm design information 1700 is design information of the robot arm 1510, that is, three-dimensional graphic data showing the three-dimensional shape of the robot arm 1510. In Fig. 17, the robot arm design information 1700 is expressed in a table format.
[0095] The robot arm design information 1700 has, as fields, a part 1701, a placement position and orientation 1702, and face information 1703. The part 1701 is one element (component) that constitutes the robot arm 1510, and holds "Pr1", "Pr2", ... as values that uniquely identify the part 1701. Specifically, for example, "Pr1" is a joint, and "Pr2" is a link.
[0096] The placement position / posture 1702 is the posture of the part 1701 when the robot arm 1510 is placed in the local coordinate system, and holds "Qr1", "Qr2", ... as values that uniquely identify the placement position / posture 1702. Specifically, for example, "Qr1" is a group of vertex coordinate values of a joint and a rotation angle of the joint, and "Qr2" is a group of vertex coordinate values of a link.
[0097] The face information 1703 is information about the faces of the part 1701, and holds "Sr11", "Sr12", ..., "Sr21", "Sr22", ... as values that uniquely identify the face information 1703. Specifically, for example, each of "Sr11", "Sr12", ... indicates polygon data that constitutes a joint face, and includes a group of vertex coordinate values and a normal vector of the polygon data. Similarly, each of "Sr21", "Sr22", ... indicates polygon data that constitutes a link face, and includes a group of vertex coordinate values and a normal vector of the polygon data.
[0098] 18 is an explanatory diagram showing an example of jig design information 1800. Jig design information 1800 is stored in the storage device 202 of the repair device 200 or in a storage device of another computer that can communicate with the repair device 200.
[0099] The jig design information 1800 is design information of the jig 1500, that is, three-dimensional graphic data showing the three-dimensional shape of the jig 1500. In Fig. 18, the jig design information 1800 is expressed in a table format.
[0100] The jig design information 1800 has, as fields, a part 1801, a placement position and orientation 1802, and face information 1803. The part 1801 is one element (constituent element) that constitutes the jig 1500, and holds "Pj1", "Pj2", ... as values that uniquely identify the part 1801. Specifically, for example, "Pj1" is the base 1501, and "Pj2" is the support member 1502.
[0101] The placement position and orientation 1802 is the orientation of the part 1801 when the jig 1500 is placed in the local coordinate system, and holds “Qj1”, “Qj2”, . . . as values that uniquely identify the placement position and orientation 1802. Specifically, for example, “Qj1” is a group of vertex coordinate values of the base 1501, and “Qr2” is a group of vertex coordinate values of the support member 1502.
[0102] The face information 1803 is information about the faces of the component 1801, and holds "Sj11", "Sj12", ..., "Sj21", "Sj22", ... as values that uniquely identify the face information 1803. Specifically, for example, each of "Sj11", "Sj12", ... indicates polygon data that constitutes the face of the base 1501, and includes a group of vertex coordinate values and a normal vector of the polygon data. Similarly, each of "Sj21", "Sj22", ... indicates polygon data that constitutes the face of the support member 1502, and includes a group of vertex coordinate values and a normal vector of the polygon data.
[0103] <Correction procedure> 19 is a flowchart showing an example of a correction process procedure by the correction device 200 according to the second embodiment. The correction device 200 executes a data acquisition process (step S1901). In the data acquisition process (step S1901), the correction device 200 reads the end effector design information 300, the workpiece design information 500, the action position information 600, and the search parameter information 700, as well as the robot arm design information 1700 and the jig design information 1800.
[0104] Next, the correction device 200 executes a disposable end effector attitude calculation process (step S802) and an end effector dimension correction process (step S803). After step S803, the correction device 200 executes a robot arm trajectory generation process (step S1904) as the generation unit 1904. The robot arm trajectory generation process (step S1904) is a process for calculating a trajectory of the robot arm 1510 without interfering with the jig 1500.
[0105] Specifically, the generating unit 1904 is realized by causing the processor 201 to execute a program stored in the storage device 202 shown in FIG. 2, and executes step S1904.
[0106] Fig. 20 is a flowchart showing a detailed example of the processing procedure of the robot arm trajectory generation process (step S1904) shown in Fig. 19. The correction device 200 searches for a posture in which the posture change of the robot arm 1510 before and after the movement of the end effector 100 between the action positions ap is minimized among the postures 1202 in which the end effector 100 can be placed at each action position ap (step S2001).
[0107] 21, the correction device 200 searches for the posture 1202 of the end effector 100 in which the posture change of the robot arm 1510 from the initial posture before the movement of the robot arm 1510 is minimum among the postures R11 to R13 of the end effector 100 at the action position ap1. In the example of FIG. 21, the posture R11 of the end effector 100 is searched for as the posture 1202 of the end effector 100 in which the posture change of the robot arm 1510 is minimum.
[0108] Furthermore, the correction device 200 searches for the posture 1202 of the end effector 100 that minimizes the posture change of the robot arm 1510 from the initial posture before the movement of the robot arm 1510, among the postures R31 to R33 of the end effector 100 at the action position ap3. In the example of Fig. 21, the posture R32 of the end effector 100 is searched for as the posture 1202 of the end effector 100 that minimizes the posture change of the robot arm 1510.
[0109] Next, the correction device 200 generates robot arm trajectory information indicating the posture of the robot arm 1510 between the action positions ap before and after the movement (step S2002). The robot arm trajectory information is stored in the storage device 202.
[0110] 21 is an explanatory diagram showing an example of robot arm trajectory information. Robot arm trajectory information 2100 has fields of time 2101 and joint angle 2102. Each entry indicates the posture of the robot arm 1510 at time 2101, and the chronological order constitutes the trajectory of the robot arm 1510. The time 2101 is the timing at which the robot arm 1510 operates. The joint angle 2102 is a vector indicating the angle of each joint of the robot arm 1510 at time 2101, and defines the posture of the robot arm 1510.
[0111] For example, in the example of FIG. 16, the joint angle 2102 at time 2101 "t0" indicates the initial posture of the robot arm 1510 before movement, the joint angle 2102 from "t1" to "t3" is the trajectory 1601 of the robot arm 1510 indicating the posture of the robot arm 1510 interpolating from the initial posture to the action position ap1, the joint angle 2102 at "t4" is the posture of the robot arm 1510 at the action position ap1, the joint angle 2102 from "t5" to "t8" is the trajectory 1602 of the robot arm 1510 indicating the posture of the robot arm 1510 interpolating from the action position ap1 to the action position ap2, and the joint angle 2102 at "t9" is the posture of the robot arm 1510 at the action position ap2.
[0112] 22 is an explanatory diagram showing an example of a display screen displaying output data according to the second embodiment. A display screen 2200 displays robot arm trajectory information 2100 and dimension correction information 1300. The end effector 100 in the robot arm trajectory information 2100 is drawn based on the corrected end effector design information 300 shown in FIG. 11. The workpiece 110 is drawn based on workpiece design information 500. The robot arm 1510 is drawn based on robot arm design information 1700. The jig 1500 is drawn based on jig design information 1800.
[0113] On the display screen 2200, the robot arm trajectory information 2100 may be displayed as a still image for each time 2101, or may be displayed as a time-series video of the time 2101 so that it can be played back.
[0114] In this way, according to the second embodiment, the posture of the robot arm 1510 can be generated so as to minimize the posture change of the robot arm 1510 between the action positions ap, thereby improving the efficiency of work by the deployable end effector 100 and the robot arm 1510.
[0115] Furthermore, by generating a trajectory of the movable robot arm 1510 in the posture of the deployable end effector 100, the dimensional correction of the end effector 100 itself is effective for the action position ap, but it is possible to avoid rework such as re-correcting the dimensions of the end effector 100 that occurs when the trajectory of the robot arm 1510 cannot be generated in such a posture of the deployable end effector 100.
[0116] The repair device 200 according to the above-mentioned first and second embodiments can also be configured as follows (1) to (14).
[0117] (1) The correction device 200 includes an acquisition unit 801 that acquires end effector design information 300 and work design information 500 having a plurality of action positions acted upon by the end effector 100, a calculation unit 802 that calculates, for each action position ap, a first attitude 1202 of the end effector 100 that is positioned so as to be able to act at an action position ap of the workpiece 110 without interfering with the workpiece 110, based on the end effector design information 300 and the workpiece design information 500, and a correction unit 803 that corrects a dimension 304 of a part 301 that constitutes the end effector 100, based on a result of calculation by the calculation unit 802.
[0118] (2) In the correction device 200 of (1) above, the correction unit 803 determines whether the first orientation 1202 exists at all of the multiple action positions ap, and outputs the corrected end effector design information 300 if the first orientation 1202 exists at all of the multiple action positions ap.
[0119] (3) In the correction device 200 of (1) above, the correction unit 803 determines whether the first orientation 1202 exists at all of the multiple action positions ap, and if the first orientation 1202 exists at all of the multiple action positions ap, outputs the deployable end effector orientation information 1200 that associates the first orientation 1202 with the action positions ap.
[0120] (4) In the correction device 200 of (1) above, the correction unit 803 determines whether the first posture 1202 exists in all of the multiple action positions ap, and if there is even one action position ap where the first posture 1202 does not exist, corrects the dimension 304 of the part 301.
[0121] (5) In the correction device 200 of (4) above, the calculation unit 802 identifies an interference resolution direction 130 in which interference between the workpiece 110 and the end effector 100 is resolved for the second orientation 1202 of the end effector 100 at the acting position ap where the first orientation 1202 does not exist, and selects a part 301 to be corrected from a group of parts 301 constituting the end effector 100 based on the angle difference between the interference resolution direction 130 and the direction 342 of each part 301 in the group of parts, and the correction unit 803 corrects the dimension 304 of the part 301 to be corrected.
[0122] (6) In the correction device 200 of (5) above, the calculation unit 802 selects the part 301 having the direction 342 in which the angle difference is the smallest as the part 301 to be corrected.
[0123] (7) In the correction device 200 of (6) above, when there are a plurality of the second postures 1202, the calculation unit 802 identifies the interference resolution direction 130 for each of the second postures 1202, identifies a component candidate having the direction 342 in which the angle difference is smallest for each of the interference resolution directions 130, and selects the part 301 having the direction 342 in which the angle difference is smallest from among the component candidates as the part 301 to be corrected.
[0124] (8) In the correction device 200 of (6) above, when there are a plurality of the second postures 1202, the calculation unit 802 identifies the interference resolution direction 130 and the interference area 120 between the workpiece 110 and the end effector 100 for each of the second postures 1202, and selects the part 301 having the direction 342 having the smallest angle difference from a specific interference resolution direction 130 in which the volume of the interference area 120 is maximized, as the part 301 to be corrected.
[0125] (9) In the correction device 200 of (6) above, when there are a plurality of the second postures 1202, the calculation unit 802 identifies the interference resolution direction 130 and the interference area 120 between the workpiece 110 and the end effector 100 for each of the second postures 1202, and selects the part 301 having the direction 342 having the smallest angle difference from a specific interference resolution direction 130 in which the volume of the interference area 120 is the smallest, as the part 301 to be corrected.
[0126] (10) In the modification device 200 of (4) above, the modification unit 803 updates the end effector design information 300 with the modified dimension 304 of the end effector 100, and determines whether the first posture 1202 exists at all of the plurality of action positions ap based on the updated end effector design information 300. If there is even one action position ap where the first posture 1202 does not exist, the modification unit 803 modifies the dimension 304 of the part 301.
[0127] Example 2 (11) In the correction device 200 of (1) above, the acquisition unit 801 acquires robot arm design information 1700 to which the end effector 100 is attached, and has a generation unit 1904 that generates a trajectory of the robot arm 1510 that moves the end effector 100 attached to the robot arm 1510 from a first action position ap to a second action position ap based on the robot arm design information 1700, the end effector design information 300 after correction by the correction unit 803, and the first attitude 1202 at each of the multiple action positions ap.
[0128] (12) In the correction device 200 of (11) above, the generation unit 1904 generates a trajectory of the robot arm 1510 so that the end effector 100 takes the first posture 1202 of the first action position ap at the first action position ap, and takes the first posture 1202 of the second action position ap at the second action position ap.
[0129] (13) In the correction device 200 of (12) above, when there are a plurality of first postures 1202 at the first action position ap, the generation unit 1904 identifies the first posture 1202 at the first action position ap that is to be the subject of trajectory generation from among the plurality of first postures 1202 at the first action position ap, based on the posture change of the robot arm from each of the first postures 1202 at the first action position ap to the first posture 1202 at the second action position ap.
[0130] (14) In the correction device 200 of (12) above, when there are a plurality of first postures 1202 at the second action position ap, the generation unit 1904 identifies the first posture 1202 at the second action position ap that is to be the subject of trajectory generation from among the plurality of first postures 1202 at the second action position ap, based on the posture change of the robot arm from the first posture 1202 at the first action position ap to each of the first postures 1202 at the second action position ap.
[0131] The present invention is not limited to the above-described embodiments, and includes various modified examples and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the configurations described. Also, a part of the configuration of one embodiment may be replaced with a configuration of another embodiment. Also, a configuration of another embodiment may be added to a configuration of one embodiment. Also, a part of the configuration of each embodiment may be added, deleted, or replaced with another configuration.
[0132] Furthermore, each of the aforementioned configurations, functions, processing units, processing means, etc. may be realized in hardware, for example by designing some or all of them as an integrated circuit, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0133] Information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versatile Disc).
[0134] In addition, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines necessary for implementation. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0135] 100 End Effector 110 Work 120 Interference Area 130 Interference resolution direction 200 Correction device 201 Processor 202 Storage Devices 300 End effector design information 301 parts 304 Dimensions 341 types 342 directions 343 Numbers 500 Workpiece design information 600 Action position information 700 Search parameter information 801 Acquisition Department 802 Calculation section 803 Correction Department 1200 Positionable end effector posture information 1202 Posture 1300 Dimension modification information 1500 Jig 1510 Robot Arm 1601, 1602 orbit 1700 Robot arm design information 1904 Generation part 2100 Robot arm trajectory information
Claims
1. An acquisition unit that acquires design information regarding an end effector and design information regarding a workpiece having a plurality of action positions that are acted on by the end effector; a calculation unit that calculates, for each action position, a first attitude of the end effector that is disposed so as to be able to act at an action position of the workpiece without interfering with the workpiece, based on design information regarding the end effector and design information regarding the workpiece; a correction unit that determines whether or not the first orientation exists in all of the plurality of action positions, and corrects dimensions of components that configure the end effector based on a calculation result by the calculation unit when there is at least one action position in which the first orientation does not exist, the calculation unit specifies an interference resolution direction in which interference between the workpiece and the end effector is resolved for a second orientation of the end effector at an operating position where the first orientation does not exist, and selects a correction target part from a group of parts constituting the end effector based on an angle difference between the interference resolution direction and a direction of each part in the group of parts; The correction unit corrects a dimension of the correction target part. A repair device comprising:
2. 2. The correction device of claim 1, the correction unit determines whether the first orientation exists in all of the plurality of action positions, and when the first orientation exists in all of the plurality of action positions, outputs design information related to the end effector after the correction. A repair device comprising:
3. 2. The correction device of claim 1, the correction unit determines whether the first attitude exists in all of the plurality of action positions, and when the first attitude exists in all of the plurality of action positions, outputs attitude information in which the first attitude is associated with the plurality of action positions. A repair device comprising:
4. A correction device as claimed in claim 1, the calculation unit selects the part having a direction in which the angle difference is smallest as the correction target part. A repair device comprising:
5. A correction device as claimed in claim 4, the calculation unit, when there are a plurality of the second orientations, identifies the interference resolution direction for each of the second orientations, identifies a component candidate having a direction in which the angular difference is smallest for each of the interference resolution directions, and selects, from the component candidates, the component having the direction in which the angular difference is smallest as the correction target component. A repair device comprising:
6. A correction device as claimed in claim 4, the calculation unit, when there are a plurality of the second orientations, identifies the interference resolution direction and an interference area between the workpiece and the end effector for each of the second orientations, and selects, as the correction target part, the part having a direction that has a minimum angle difference from a specific interference resolution direction in which the volume of the interference area is maximized. A repair device comprising:
7. 5. The correction device according to claim 4, the calculation unit, when there are a plurality of the second orientations, identifies the interference resolution direction and an interference area between the workpiece and the end effector for each of the second orientations, and selects, as the correction target part, the part having a direction that has a minimum angle difference from a specific interference resolution direction in which the volume of the interference area is minimum. A repair device comprising:
8. The correction device according to claim 1, the correction unit updates design information related to the end effector with the corrected dimensions of the end effector, determines whether or not the first orientation exists in all of the plurality of action positions based on the updated design information related to the end effector, and corrects the dimensions of the part if there is at least one action position where the first orientation does not exist. A repair device comprising:
9. The correction device according to claim 1, The acquisition unit acquires design information related to a robot arm to which the end effector is attached, a generation unit that generates a trajectory of the robot arm that moves the end effector attached to the robot arm from a first operating position to a second operating position, based on design information about the robot arm, design information about the end effector after the correction by the correction unit, and the first attitude at each of the plurality of operating positions; A repair device comprising:
10. The correction device according to claim 9, the generation unit generates a trajectory of the robot arm such that the end effector takes the first posture of the first operating position at the first operating position and takes the first posture of the second operating position at the second operating position. A repair device comprising:
11. The correction device according to claim 10, the generation unit, when there are a plurality of first postures of the first operational position, identifies the first posture of the first operational position that is to be a target for trajectory generation from among the plurality of first postures of the first operational position, based on a posture change of the robot arm from each of the first postures of the first operational position to the first posture of the second operational position. A repair device comprising:
12. A correction method using a correction device having a processor that executes a program and a storage device that stores the program, comprising: The processor, An acquisition process for acquiring design information on an end effector and design information on a workpiece having a plurality of action positions acted upon by the end effector; a calculation process for calculating, for each action position, a first attitude of the end effector that is disposed so as to be able to act at an action position of the workpiece without interfering with the workpiece, based on design information regarding the end effector and design information regarding the workpiece; determining whether the first orientation exists in all of the plurality of operating positions, and if there is at least one operating position where the first orientation does not exist, executing a correction process to correct dimensions of components that configure the end effector based on a calculation result by the calculation process; In the calculation process, the processor identifies an interference resolution direction in which interference between the workpiece and the end effector is resolved for a second orientation of the end effector at an operating position where the first orientation does not exist, and selects a correction target part from a group of parts constituting the end effector based on an angle difference between the interference resolution direction and a direction of each part in the group of parts; In the modification process, the processor modifies a dimension of the part to be modified. A correction method comprising:
13. A processor comprising: An acquisition process for acquiring design information on an end effector and design information on a workpiece having a plurality of action positions acted upon by the end effector; a calculation process for calculating, for each action position, a first attitude of the end effector that is disposed so as to be able to act at an action position of the workpiece without interfering with the workpiece, based on design information regarding the end effector and design information regarding the workpiece; determining whether the first orientation exists in all of the plurality of operating positions, and if there is even one operating position in which the first orientation does not exist, executing a correction process to correct dimensions of components that configure the end effector based on a calculation result by the calculation process; In the calculation process, the processor is caused to execute a process of identifying an interference resolution direction in which interference between the workpiece and the end effector is resolved for a second orientation of the end effector in an operating position where the first orientation does not exist, and selecting a correction target part from a group of parts constituting the end effector based on an angle difference between the interference resolution direction and a direction of each part in the group of parts; In the modification process, the processor is caused to execute a process of modifying a dimension of the modification target part. A fix characterized by:
Citation Information
Patent Citations
Robot off-line programming device
JP1992143807A
Hand device of robot and use method therefor
JP2000167791A
Position control method for industrial robot
JP2002301672A
Robot simulation device
JP2007334678A