Programming device

By setting up the measurement site evaluation and teaching point generation functions in the programming device, the position error problem caused by inappropriate setting of the measurement site is solved, high-precision measurement and position correction are realized, and the setting process of the measurement program is simplified.

CN119585088APending Publication Date: 2025-03-07FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202280098424.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-01
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

In the measurement program, inappropriate setting of the measurement part will lead to a reduction in the calculation accuracy of the position error between the virtual space and the actual space, and the deviation between the corrected model position and the actual position will be expanded, resulting in repeated measurements and time loss.

Method used

By setting the measurement part setting unit, the distance calculation unit, the area calculation unit, the measurement part evaluation unit and the teaching point generation unit in the programming device, the distance and area between the measurement parts can be calculated and evaluated, and a teaching point that can meet the predetermined accuracy is generated.

Benefits of technology

Accurate measurement in virtual space and actual space is realized, the accuracy of position error calculation is improved, the position deviation of the model is reduced, the setting process of the measurement program is simplified, and time is saved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119585088A_ABST
    Figure CN119585088A_ABST
Patent Text Reader

Abstract

The present application makes it possible to easily set teaching points of a measurement program for measuring a plurality of measurement sites on an object to be measured. A programming device that creates a measurement program in which an industrial machine system model including an industrial equipment model and a measurement object model is arranged in a virtual space and a plurality of measurement sites on the measurement object model are measured, the programming device being provided with: a measurement site setting unit that sets the plurality of measurement sites on the measurement object model; a distance calculation unit that calculates the distance between adjacent measurement sites in a region in which the plurality of measurement sites are connected; an area calculation unit that calculates the area of the region; a measurement site evaluation unit that evaluates, on the basis of the distance and area between adjacent measurement sites, whether or not a measurement of a predetermined accuracy or more that is set in advance can be performed at the plurality of measurement sites; and a teaching point generation unit that generates teaching points measured by the industrial machine from the plurality of measurement sites when the measurement site evaluation unit evaluates that the measurement of the predetermined accuracy or more can be performed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a programming device. Background Art

[0002] A technology is known in which a workpiece model, a robot model, and a photographing unit model are arranged in a virtual space, a target position of the workpiece model corresponding to the photographing target part of the workpiece is extracted according to a predetermined extraction condition, the photographing unit model or the workpiece model is moved to a photographing position within the field of view of the photographing unit model by the robot model, and an action program for photographing the photographing target part by the photographing unit is generated based on the position data of the robot model when the robot model positions the photographing unit model or the workpiece model at the photographing position, thereby reducing the operator's work required to generate the action program of the robot. For example, refer to Patent Document 1.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Publication No. 2019-18250 Summary of the invention

[0006] Problems to be solved by the invention

[0007] When measuring multiple measurement locations on a measurement object such as a workpiece using a measurement program, the teaching points (measurement locations) of the measurement program must be set so that the distance between the measurement locations is no closer than a predetermined distance and the measurement range is larger than a predetermined area on the measurement object.

[0008] That is, as long as the adjacent teaching points (measurement parts) of the measurement program are appropriately set so that the distance between the measurement parts is not closer than the predetermined distance and the measurement range is larger than the predetermined area on the measurement object, and accurate measurement can be performed in the virtual space and the actual space, the calculation accuracy of the error between the position of the measurement object model in the virtual space and the measurement object in the actual space is improved, and the deviation between the position of the corrected measurement object model in the virtual space and the position of the measurement object in the actual space can be suppressed.

[0009] On the other hand, when adjacent teaching points of the measurement program are not properly set, such as when the measurement locations are closer than the predetermined distance, when a small range less than a predetermined area on the measurement object is measured, or when the measurement locations are arranged in a straight line on the measurement object, even if accurate measurements can be made in virtual space and actual space, it is possible that the calculation accuracy of the error between the position on the measurement object model in the virtual space and the position on the measurement object in the actual space will be reduced, and the deviation between the position of the measurement object model in the virtual space and the position of the measurement object in the actual space after correction will increase.

[0010] In addition, the setting of the measurement parts on the measurement object depends on the operator's experience in many aspects. For an inexperienced operator, it is difficult to set the measurement parts so that the distance between the measurement parts is closer than the predetermined distance and the measurement range is larger than the predetermined area on the measurement object. If the operator has to use trial and error to set the appropriate measurement parts, it will be time-consuming.

[0011] In addition, when the measurement location is not properly set and the deviation between the position of the measured object model in the corrected virtual space and the position of the measured object in the actual space increases, it is necessary to start over from where the measurement program was created in the virtual space, which also causes a great deal of time loss.

[0012] Therefore, it is desired to be able to easily set teaching points of a measurement program for measuring a plurality of measurement locations on a measurement object.

[0013] Means for solving problems

[0014] One mode of the programming device disclosed in the present invention is to produce a measurement program for configuring an industrial machinery system model including an industrial equipment model and a measurement object model in a virtual space, and measuring multiple measurement locations on the measurement object model, wherein the industrial machinery system model three-dimensionally represents an industrial machinery system including industrial machinery and the measurement object, and the programming device comprises: a measurement location setting unit, which sets the multiple measurement locations on the measurement object model; a distance calculation unit, which calculates the respective distances between adjacent measurement locations in an area formed by connecting the multiple measurement locations; an area calculation unit, which calculates the area of ​​the area; a measurement location evaluation unit, which evaluates whether measurements with a predetermined accuracy or above can be performed at the multiple measurement locations based on the respective distances between the adjacent measurement locations and the area; and a teaching point generation unit, which generates the multiple measurement locations as teaching points for measurement by the industrial machinery when the measurement location evaluation unit evaluates that measurements with a predetermined accuracy or above can be performed.

[0015] Effects of the Invention

[0016] According to one aspect, it is possible to easily set teaching points of a measurement program for measuring a plurality of measurement locations on a measurement object. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 This is a functional block diagram showing an example of the functional configuration of the programming device according to the first embodiment.

[0018] Figure 2 This is a diagram showing an example of an industrial machinery system model in a virtual space.

[0019] Figure 3 This is a diagram showing an example in which a plurality of measurement locations are set.

[0020] Figure 4 This is a diagram showing an example in which a plurality of measurement locations are set.

[0021] Figure 5 This is a diagram showing an example in which a plurality of measurement locations are set.

[0022] Figure 6 This is a diagram showing an example in which a plurality of measurement locations are set.

[0023] Figure 7 This is a diagram showing an example of the operation of measuring a measurement site using a robot model.

[0024] Figure 8 This is a diagram showing an example of the operation of measuring a measurement site using a robot model.

[0025] Fig. 9 This is a diagram showing an example of the operation of measuring a measurement site using a robot model.

[0026] Fig.10 This is a diagram showing an example of the relationship between the position of the measurement location measured on the workpiece model in the virtual space and the position of the measurement location measured on the workpiece in the real space.

[0027] Fig.11 This is a diagram showing an example of the arrangement position of the workpiece model in the virtual space after correction.

[0028] Fig.12 This is a flowchart for explaining the correction processing of the programming device.

[0029] Fig.13 This is a functional block diagram showing an example of the functional configuration of the programming device according to the second embodiment.

[0030] Fig.14 This is a diagram showing an example of shape features on a workpiece model.

[0031] Fig.15 This is a flowchart for explaining the correction processing of the programming device.

[0032] Fig.16 This is a diagram showing an example in which a visual sensor model is attached to the tool tip of a robot model. DETAILED DESCRIPTION

[0033] <First Embodiment>

[0034] First, the outline of this embodiment is described. In this embodiment, a programming device arranges an industrial machinery system model having an industrial equipment model and a measurement object model in a virtual space, and creates a measurement program for measuring multiple measurement locations on the measurement object model. The industrial machinery system model represents an industrial machinery system having industrial machinery and a measurement object in three dimensions. The programming device sets multiple measurement locations selected by a user on the measurement object model, calculates the distances between adjacent measurement locations in an area formed by connecting the set multiple measurement locations, and calculates the area of ​​the area. Based on the distances and areas between the adjacent measurement locations, it is evaluated whether measurements with a predetermined accuracy or higher can be performed at the multiple measurement locations. When it is evaluated that measurements with a predetermined accuracy or higher can be performed, the multiple measurement locations are generated as teaching points to be measured by the industrial machinery.

[0035] Thus, according to the present embodiment, it is possible to easily set the teaching points of the measurement program for measuring a plurality of measurement locations on the measurement object.

[0036] The above is an overview of the present embodiment.

[0037] Next, the configuration of the present embodiment is described in detail using the accompanying drawings. Here, the following example is given: a touch pin is installed at the front end of a tool of a robot as an industrial machine to measure a workpiece as a measurement object. In addition, the present invention can also be applied to a case where a visual sensor for detection is installed at the front end of a tool of a robot to measure a workpiece. In addition, the present invention can also be applied to various machines such as machine tools, industrial robots, service robots, forging machines, and injection molding machines as industrial machines.

[0038] Figure 1 This is a functional block diagram showing an example of the functional configuration of the programming device according to the first embodiment.

[0039] like Figure 1 As shown, the programming device 1 is a well-known computer, and has a control unit 10, an input unit 11, a display unit 12, and a storage unit 13. The control unit 10 includes a virtual space creation unit 101, a three-dimensional model configuration unit 102, a measurement location setting unit 103, a distance calculation unit 104, an area calculation unit 105, a measurement location evaluation unit 106, a teaching point generation unit 107, a measurement location measurement unit 108, a configuration position error calculation unit 109, and a configuration position correction unit 110.

[0040] In addition, the programming device 1 may be connected to a robot control device (not shown) that controls the actions of the robot (not shown) via a network such as a LAN (Local Area Network) or the Internet. Alternatively, the programming device 1 may be directly connected to the robot control device (not shown) via a connection interface (not shown).

[0041] <Input Unit 11>

[0042] The input unit 11 is, for example, a keyboard or a touch panel disposed on the display unit 12 described later, and receives input from a user.

[0043] <Display Unit 12>

[0044] The display unit 12 is, for example, a liquid crystal display, etc. As described later, the display unit 12 displays, for example, 3D CAD data or the like that represents a robot (not shown) in three dimensions (hereinafter, also referred to as a "robot model") input (selected) by the user via the input unit 11: 3D CAD data or the like that represents a pin (not shown) that is arranged at the tool tip of the robot and measures the measurement object in three dimensions (hereinafter, also referred to as a "pin model"); 3D CAD data or the like that represents a workpiece that is a measurement object measured by the pin (not shown) in three dimensions (hereinafter, also referred to as a "workpiece model"); and 3D CAD data or the like that represents a fixture or the like in three dimensions (hereinafter, also referred to as a "peripheral device model").

[0045] <Storage Unit 13>

[0046] The storage unit 13 is an SSD (Solid State Drive) or HDD (Hard Disk Drive), etc., and may store a measurement program for operating a robot (not shown) to measure a workpiece with a pin, etc. The storage unit 13 also includes a model storage unit 131 .

[0047] As described above, the model storage unit 131 stores, for example, 3D CAD data (robot model) of a robot (not shown), 3D CAD data (pin model) of a pin (not shown), 3D CAD data (workpiece model) of a workpiece (not shown), and 3D CAD data (peripheral equipment model) of a fixture (not shown), etc., which are input (selected) by the user via the input unit 11 and displayed on the display unit 12.

[0048] <Control Unit 10>

[0049] The control unit 10 has a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a CMOS (Complementary Metal-Oxide-Semiconductor) memory, etc., which can communicate with each other via a bus, which is well known to those skilled in the art.

[0050] The CPU is a processor that controls the programming device 1 as a whole. The CPU reads the system program and application program stored in the ROM via the bus, and controls the programming device 1 as a whole according to the system program and application program. Figure 1 As shown in FIG. 1 , the control unit 10 is configured to realize the functions of a virtual space creation unit 101, a three-dimensional model configuration unit 102, a measurement location setting unit 103, a distance calculation unit 104, an area calculation unit 105, a measurement location evaluation unit 106, a teaching point generation unit 107, a measurement location measurement unit 108, a configuration position error calculation unit 109, and a configuration position correction unit 110. Various data such as temporary calculation data and display data are stored in the RAM. In addition, the CMOS memory is configured as a non-volatile memory, and the non-volatile memory is backed up by a battery not shown in the figure, and the storage state can be maintained even if the power supply of the programming device 1 is disconnected.

[0051] The virtual space creation unit 101 creates a virtual space that three-dimensionally expresses a work space in which peripheral devices such as a robot (not shown), a pin (not shown), a workpiece (not shown), and a fixture (not shown) are arranged.

[0052] The three-dimensional model configuration unit 102 configures a robot model of a robot (not shown), a pin model of a pin (not shown), a workpiece model of a workpiece (not shown), and peripheral equipment models such as a fixture (not shown) in the three-dimensional virtual space produced by the virtual space production unit 101, for example, based on the input operation of the user's input unit 11.

[0053] Specifically, in order to arrange a robot (not shown) in the virtual space, the three-dimensional model arrangement unit 102 reads a robot model of the robot from the model storage unit 131. The three-dimensional model arrangement unit 102 arranges the read robot model in the virtual space.

[0054] In addition, the three-dimensional model placement unit 102 reads the pin model of the pin (not shown) from the model storage unit 131 in order to place the pin model of the pin on the tool tip of the robot in the virtual space. The three-dimensional model placement unit 102 places the read pin model of the pin in the virtual space so that it is attached to the tool tip of the robot model.

[0055] In order to arrange the workpiece model of the workpiece (not shown) in the virtual space, the three-dimensional model arrangement unit 102 reads the workpiece model of the workpiece from the model storage unit 131. The three-dimensional model arrangement unit 102 arranges the read workpiece model of the workpiece in the virtual space.

[0056] In order to arrange peripheral device models such as a jig (not shown) in the virtual space, the three-dimensional model arrangement unit 102 reads peripheral device models from the model storage unit 131. The three-dimensional model arrangement unit 102 arranges the read peripheral device models in the virtual space.

[0057] Figure 2 This is a diagram showing an example of an industrial machinery system model in a virtual space.

[0058] In addition, if Figure 2 As shown in the figure, for example, a plurality of holes are provided on the upper surface of the workpiece model. However, a plurality of protrusions may be provided on the upper surface of the workpiece model, and the plurality of holes is not limited thereto.

[0059] The measurement site setting unit 103 sets a plurality of measurement sites on a workpiece model as a measurement target object model.

[0060] Specifically, the measurement location setting unit 103 sets the center of the hole on the workpiece model as a shape feature based on the user's input operation on the input unit 11, extracts a predetermined number of shape features by clicking a mouse or touching the touch panel, and sets them as multiple measurement locations.

[0061] In addition, although the case where the predetermined number is 3 is described below, the same applies to the case where the predetermined number is 4 or more. In addition, the measurement location setting unit 103 may extract the center of the surface of the protrusion on the workpiece model as the shape feature.

[0062] Figure 3 FIG. 1 is a diagram showing an example of setting a plurality of measurement locations. Figure 3 The measurement site with three cross marks is shown in FIG.

[0063] The distance calculation unit 104 calculates the distances between adjacent measurement sites in a region formed by connecting a predetermined number of measurement sites set by the measurement site setting unit 103 .

[0064] Specifically, if Figure 3As shown, the distance calculation unit 104 calculates the distances (a, b, c) between adjacent measurement locations and the perimeter d (= a + b + c) of the triangle that is the sum of the distances (a, b, c). In addition, the perimeter d is also referred to as "distance d" unless otherwise specified.

[0065] The area calculation unit 105 calculates the area A of the triangular region surrounded by the measurement site using a method known to those skilled in the art. When the predetermined number is 4 or more, the shape of the region is a polygon of a quadrilateral or more.

[0066] The measurement site evaluation unit 106 evaluates whether measurement with a predetermined accuracy or above can be performed at the measurement site set by the measurement site setting unit 103 based on the distances (a, b, c, d) calculated by the distance calculation unit 104 and the area A calculated by the area calculation unit 105 .

[0067] For example, Figure 4 As shown in FIG. 1 , when three adjacent shape features are set as multiple measurement locations, the distances (a, b, c, d) and the area A will not be greater than the threshold Th1 of the distance and the threshold Th2 of the area indicating the predetermined accuracy because the multiple measurement locations are too close to each other. Therefore, the measurement location evaluation unit 106 evaluates that: Figure 4 The set measurement part cannot be measured with a predetermined accuracy or higher. In this case, since the error is more likely to increase as the distance from the set multiple measurement parts increases, the measurement part evaluation unit 106 may also display a message such as "Since the distance between the measurement parts is short and the measurement range is small, sufficient measurement accuracy may not be obtained" on the display unit 12 to prompt the user to reset the measurement part. In addition, the threshold Th1 of the distance indicating the predetermined accuracy and the threshold Th2 of the area are preferably appropriately set in advance according to the shape or size of the workpiece.

[0068] In addition, if Figure 5 As shown in FIG. 1 , when three shape features arranged on the same straight line are set as a plurality of measurement sites, since the area A of the region is “0”, it will not be greater than the threshold value Th2 indicating the area of ​​the predetermined accuracy, so the measurement site evaluation unit 106 evaluates that: Figure 5 The multiple measurement locations that are set cannot be measured with a predetermined accuracy. In this case, since the rotation accuracy of the workpiece (measurement object) may not be obtained smoothly, the measurement location evaluation unit 106 may also display a message such as "Since the measurement locations are arranged in a straight line, sufficient measurement accuracy may not be obtained" on the display unit 12 to prompt the user to reset the measurement location.

[0069] In addition, if Figure 6As shown in FIG. 1 , when three shape features are set as a plurality of measurement locations, since at least the area A of the region does not exceed the area threshold Th2, the measurement location evaluation unit 106 evaluates that: Figure 6 If the multiple measurement sites that are set cannot be measured with a predetermined accuracy, the measurement site evaluation unit 106 may display a message such as "Although the distance between the measurement sites is sufficient, the measurement range is small, so sufficient measurement accuracy may not be obtained" on the display unit 12 to prompt the user to reset the measurement sites.

[0070] On the other hand, Figure 3 As shown in FIG. 1 , when the three shape features are set as multiple measurement locations, since the distance (a, b, c, d) and the area A are greater than the distance threshold Th1 and the area threshold Th2, the measurement location evaluation unit 106 evaluates that: Figure 3 The set multiple measurement locations can be measured with a predetermined accuracy or higher. In this case, since the measurement accuracy is improved by covering a large range of the workpiece (measurement object), the measurement location evaluation unit 106 can also display a message such as "The distance between the measurement locations and the measurement range are sufficient, and sufficient measurement accuracy should be obtained" on the display unit 12.

[0071] When the measurement site evaluation unit 106 evaluates that measurement with a predetermined accuracy or higher is possible, the teaching point generation unit 107 generates the set plurality of measurement sites as teaching points to be measured by a robot (not shown) and sets them in the measurement program.

[0072] The measurement location measuring unit 108 executes a measurement program in which a plurality of measurement locations are set as teaching points in a virtual space to measure the positions of the plurality of measurement locations on the workpiece model, and executes the same measurement program in a real space to measure the positions of the plurality of measurement locations on the workpiece.

[0073] Specifically, the measurement site measuring unit 108 executes a measurement program in a virtual space, for example. Figures 7 to 9 The robot model is operated as shown, and the pin model installed at the front end of the tool of the robot model touches the three measurement locations (teaching points) on the workpiece model to measure the positions of the three measurement locations (teaching points). The measurement location measuring unit 108 stores the measured positions of the three measurement locations (teaching points) in the storage unit 13.

[0074] Next, the measurement site measurement unit 108 executes the measurement program in the real space, thereby Figures 7 to 9In the same manner as in the case of the robot (not shown), the robot (not shown) is operated, and the pin (not shown) installed at the front end of the tool of the robot (not shown) touches the three measurement locations (teaching points) on the workpiece (not shown) respectively to measure the positions of the three measurement locations (teaching points). The measurement location measuring unit 108 stores the measured positions of the three measurement locations (teaching points) in the storage unit 13.

[0075] For example, Fig.10 As shown, the configuration position error calculation unit 109 calculates the error in the configuration position between the workpiece model in the virtual space and the workpiece in the actual space (not shown) based on the positions of the three measurement parts on the workpiece model in the virtual space and the positions of the three measurement parts on the workpiece in the actual space (not shown), using a method well known to those skilled in the art.

[0076] like Fig.11 As shown, the arrangement position correction unit 110 corrects the arrangement position of the workpiece model in the virtual space so as to eliminate the error of the arrangement position calculated by the arrangement position error calculation unit 109 .

[0077] <Correction Processing of Programming Device 1>

[0078] Next, refer to Fig.12 , describing the process of correction processing of programming device 1.

[0079] Fig.12 1 is a flowchart for explaining the correction process of the programming device 1. The flow shown here is executed every time a measurement program is created.

[0080] In step S1, the three-dimensional model configuration unit 102 configures a robot model of a robot (not shown), a pin model of a pin (not shown), a workpiece model of a workpiece (not shown), and peripheral equipment models such as a fixture (not shown) that constitute the industrial machinery system model in the three-dimensional virtual space created by the virtual space creation unit 101 according to the input operation of the user's input unit 11.

[0081] In step S2 , the measurement site setting unit 103 sets a plurality of measurement sites on the workpiece model.

[0082] In step S3 , the distance calculation unit 104 calculates the distances (a, b, c, d) between adjacent measurement locations.

[0083] In step S4, the area calculation unit 105 calculates the area A of a region formed by connecting the plurality of measurement sites set in step S2.

[0084] In step S5, the measurement site evaluation unit 106 evaluates whether measurement with a predetermined accuracy or above can be performed at the plurality of measurement sites set in step S2 based on the distances (a, b, c, d) calculated in step S3 and the area A calculated in step S4.

[0085] If it is determined in step S5 that measurement with a predetermined accuracy or higher is possible, in step S6, the teaching point generating unit 107 generates the set plurality of measurement locations as teaching points to be measured by a robot (not shown) and sets them in the measurement program. In addition, if it is determined in step S5 that measurement with a predetermined accuracy or higher is not possible, the programming device 1 returns to the processing of step S2.

[0086] In step S7 , the measurement location measuring unit 108 executes the measurement program in which the plurality of measurement locations are set as teaching points in step S6 in the virtual space to measure the positions of the plurality of measurement locations on the workpiece model.

[0087] In step S8 , the measurement location measuring unit 108 executes the measurement program having the measurement locations set as teaching points in step S6 in real space to measure the positions of each of the plurality of measurement locations on the workpiece (not shown).

[0088] In step S9, the configuration position error calculation unit 109 calculates the error in the configuration position between the workpiece model in the virtual space and the workpiece (not shown) in the actual space based on the positions of multiple measurement parts measured on the workpiece model in the virtual space and the positions of the measurement parts measured on the workpiece (not shown) in the actual space.

[0089] In step S10 , the arrangement position correction unit 110 corrects the arrangement position of the workpiece model in the virtual space so as to eliminate the error in the arrangement position calculated in step S9 .

[0090] As described above, the programming device 1 of the first embodiment sets a plurality of measurement locations on the workpiece model to a wide range in which the distances (a, b, c, d) between adjacent measurement locations are measured to be greater than or equal to the threshold value Th1, and the area A of the region formed by connecting the measurement locations is greater than or equal to the threshold value Th2. Thus, the programming device 1 can easily set the teaching points of the measurement program for measuring a plurality of measurement locations on the workpiece (measurement object).

[0091] In addition, by setting a plurality of measurement locations evaluated as being capable of being measured with a predetermined accuracy or higher as teaching points of the measurement program, the programming device 1 can suppress deviations between the position of the corrected workpiece model (measurement object model) in the virtual space and the position of the workpiece (measurement object) in the actual space as long as the positions of the measurement locations can be accurately measured in the virtual space and in the actual space.

[0092] Furthermore, the programming device 1 can perform appropriate setting of a plurality of measurement locations in a short time without being affected by the operator's experience.

[0093] In addition, the programming device 1 can reduce the following risk: due to inappropriate setting of the measurement location, the deviation between the position of the corrected workpiece model (measurement object model) in the virtual space and the position of the workpiece (measurement object) in the actual space increases, and the measurement program must be started again from the place where it was created in the virtual space.

[0094] The first embodiment has been described above.

[0095] <Second Embodiment>

[0096] Next, the second embodiment is described. In the first embodiment, the programming device 1 sets a plurality of measurement locations selected by a user on the measurement object model, calculates the distances between adjacent measurement locations in an area formed by connecting the set plurality of measurement locations, and calculates the area of ​​the area, and evaluates whether the plurality of measurement locations can be measured with a predetermined accuracy or higher based on the distances and areas between the adjacent measurement locations, and when it is evaluated that the measurement with a predetermined accuracy or higher is possible, the plurality of measurement locations are generated as teaching points for measurement by an industrial machine. In contrast, in the second embodiment, the difference from the first embodiment is that the programming device 1A creates a plurality of combinations of a predetermined number of shape features among the shape features on the measurement object model, calculates the distances between adjacent shape features in each of the plurality of combinations, and the area of ​​an area formed by connecting the shape features, and evaluates the shape features of the combination having the largest calculated distance and area as the plurality of measurement locations that can be measured with a predetermined accuracy or higher.

[0097] Thus, the programming device 1A according to the second embodiment can easily set the teaching points of the measurement program for measuring a plurality of measurement locations on the measurement object.

[0098] Hereinafter, a second embodiment will be described.

[0099] Fig.13 2 is a functional block diagram showing an example of the functional configuration of a programming device according to the second embodiment. Figure 1 Elements of the programming device 1 having the same functions are denoted by the same symbols and detailed descriptions thereof are omitted.

[0100] like Fig.13As shown, the programming device 1A of the second embodiment includes a control unit 10a, an input unit 11, a display unit 12, and a storage unit 13. The control unit 10 includes a virtual space creation unit 101, a three-dimensional model configuration unit 102, a measurement location setting unit 103a, a distance calculation unit 104a, an area calculation unit 105a, a measurement location evaluation unit 106a, a teaching point generation unit 107, a measurement location measurement unit 108, a configuration position error calculation unit 109, and a configuration position correction unit 110.

[0101] The input unit 11 , the display unit 12 , and the storage unit 13 have the same functions as those of the input unit 11 , the display unit 12 , and the storage unit 13 of the first embodiment.

[0102] The model storage unit 131 has the same function as the model storage unit 131 of the first embodiment.

[0103] <Control Unit 10a>

[0104] The control unit 10 a includes a CPU, a ROM, a RAM, a CMOS memory, etc., and these communicate with each other via a bus, which is well known to those skilled in the art.

[0105] The CPU is a processor that controls the programming device 1A as a whole. The CPU reads the system program and application program stored in the ROM via the bus, and controls the programming device 1A as a whole according to the system program and application program. Fig.13 As shown, the control unit 10 is configured to realize the functions of a virtual space production unit 101, a three-dimensional model configuration unit 102, a measurement position setting unit 103a, a distance calculation unit 104a, an area calculation unit 105a, a measurement position evaluation unit 106a, a teaching point generation unit 107, a measurement position measurement unit 108, a configuration position error calculation unit 109 and a configuration position correction unit 110.

[0106] The virtual space production unit 101, the three-dimensional model configuration unit 102, the teaching point generation unit 107, the measurement part measurement unit 108, the configuration position error calculation unit 109 and the configuration position correction unit 110 have the same functions as the virtual space production unit 101, the three-dimensional model configuration unit 102, the teaching point generation unit 107, the measurement part measurement unit 108, the configuration position error calculation unit 109 and the configuration position correction unit 110 of the first embodiment.

[0107] The measurement site setting unit 103 a sets a plurality of measurement sites by extracting shape features on the workpiece model.

[0108] Specifically, for example Fig.14As shown, the measurement part setting unit 103a automatically extracts the center of the hole on the workpiece model as a shape feature. The measurement part setting unit 103a sets each of a plurality of combinations of a predetermined number of shape features selected from the extracted plurality of shape features as a plurality of measurement parts.

[0109] In addition, although the following description is made on a case where the predetermined number is 3, the same is true for a case where the predetermined number is 4 or more. In addition, when a plurality of protrusions are formed on the workpiece model, the measurement location setting unit 103a may extract the center of the surface of each protrusion as the shape feature.

[0110] The distance calculation unit 104 a calculates, for each of the plurality of set combinations, the distances (a, b, c, d) between adjacent shape features in a region formed by connecting the shape features, similarly to the distance calculation unit 104 of the first embodiment.

[0111] The area calculation unit 105 a calculates the area A of each region of a plurality of combinations in the same manner as the area calculation unit 105 of the first embodiment.

[0112] The measurement location evaluation unit 106a evaluates shape features of a combination that maximizes the distances (a, b, c, d) between adjacent shape features and the size of the area A as a plurality of measurement locations that can be measured with a predetermined accuracy or higher.

[0113] <Correction Processing of Programming Device 1A>

[0114] Next, refer to Fig.15 , describing the flow of correction processing by programming device 1A.

[0115] Fig.15 1A is a flowchart for explaining the correction process of the programming device 1A. Fig.12 The same processing as the correction processing of the programming device 1 is attached with the same step number and the detailed description is omitted.

[0116] In step S2a, the measurement site setting unit 103a extracts shape features on the workpiece model, and sets each of a plurality of combinations of a predetermined number of shape features selected from the extracted plurality of shape features as a plurality of measurement sites.

[0117] In step S3a, the distance calculation unit 104a calculates the distances (a, b, c, d) between adjacent shape features in a region formed by connecting the shape features for each of the plurality of combinations that have been set.

[0118] In step S4a, the area calculation unit 105a calculates the area A of the region for each of the plurality of combinations.

[0119] In step S5a, the measurement site evaluation unit 106a evaluates the shape features that maximize the combination of the distances (a, b, c, d) calculated in step S3a and the area A calculated in step S4a as a plurality of measurement sites that can be measured with a predetermined accuracy or higher.

[0120] In step S6a, the teaching point generating unit 107 generates the combined shape features evaluated in step S5a as teaching points to be measured by a robot (not shown) and sets them in the measurement program.

[0121] Through the above, the programming device 1A of the second embodiment creates a plurality of combinations of a predetermined number of shape features among the shape features on the measurement object model, calculates the distance between adjacent shape features in each of the plurality of combinations and the area of ​​the region formed by connecting the shape features, and evaluates the shape features of the combination with the largest calculated distance and area as a plurality of measurement locations that can be measured with a predetermined accuracy or higher. Thus, the programming device 1A can easily set the teaching points of the measurement program for measuring a plurality of measurement locations on the workpiece (measurement object).

[0122] In addition, the programming device 1A can accurately measure the position of the measurement part in the virtual space and the actual space by setting the measurement part evaluated as being able to be measured with a predetermined accuracy or above as the teaching point of the measurement program, and can suppress the deviation between the position of the corrected workpiece model (measurement object model) in the virtual space and the position of the workpiece (measurement object) in the actual space.

[0123] Furthermore, the programming device 1A can perform appropriate measurement location setting in a short time without being affected by the operator's experience.

[0124] In addition, the programming device 1A can reduce the following risk: due to inappropriate setting of the measurement location, the deviation between the position of the corrected workpiece model (measurement object model) in the virtual space and the position of the workpiece (measurement object) in the actual space increases, and the measurement program must be started again from the place where it was created in the virtual space.

[0125] The second embodiment has been described above.

[0126] As mentioned above, although the 1st embodiment and the 2nd embodiment were demonstrated, the programming apparatus 1, 1A is not limited to the said embodiment, and includes the deformation|transformation and improvement etc. within the range which can achieve an objective.

[0127] <Modification 1>

[0128] In the first embodiment and the second embodiment, a touch pin is installed at the front end of the tool of the robot model (not shown), but the present invention is not limited to this. Fig.16As shown, a visual sensor for detection may also be installed at the tool front end of the robot model (not shown). In this case, the programming device 1, 1A may also execute the measurement program in the virtual space (or the real space), thereby Figures 7 to 9 As shown, the robot model (or robot) is operated, and the visual sensor model (or visual sensor) detects each of a plurality of measurement locations to measure the position of the measurement location.

[0129] <Modification 2>

[0130] In addition, for example, in the first embodiment and the second embodiment, the programming device 1, 1A executes the measurement program in the virtual space (or the real space) to measure the positions of the plurality of measurement locations on the upper surface of the workpiece model (or the workpiece), but the present invention is not limited thereto. For example, the programming device 1, 1A may also execute the measurement program in the virtual space (or the real space) to measure the positions of the plurality of measurement locations on the side surface of the workpiece model (or the workpiece).

[0131] <Variation 3>

[0132] In addition, for example, in the second embodiment, the programming device 1A extracts shape features on the workpiece model and creates a plurality of combinations of a predetermined number of shape features selected from all the extracted shape features, but the present invention is not limited thereto. For example, the programming device 1A may also specify shape features to be excluded from the extracted shape features based on an input operation by a user via the input unit 11.

[0133] In addition, each function included in the programming device 1 and 1A of the first embodiment and the second embodiment can be realized by hardware, software, or a combination of these. Here, realization by software means that the computer reads and executes the program to realize.

[0134] The program can be stored and supplied to the computer using various types of non-transitory computer-readable media (Non-transitory computerreadable medium). Non-transitory computer-readable media include various types of tangible recording media (Tangible storage medium). Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), optical magnetic recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs). In addition, the program can also be supplied to the computer via various types of transient computer-readable media (Transitory computerreadable medium). Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can supply the program to the computer via wired communication paths such as wires and optical fibers, or via wireless communication paths.

[0135] Furthermore, the steps described in the program recorded in the recording medium naturally include processing performed in time series according to the order, but are not necessarily processed in time series and also include processing executed in parallel or individually.

[0136] To put the above in other words, the programming device of the present disclosure can take various implementations having the following structures.

[0137] (1) A programming device 1 of the present disclosure creates a measurement program for configuring an industrial machinery system model including a robot model and a workpiece model in a virtual space, and measuring a plurality of measurement locations on a measurement object model, wherein the industrial machinery system model three-dimensionally represents an industrial machinery system including a robot (not shown) and a workpiece (not shown), and the programming device comprises: a measurement location setting unit 103 for setting a plurality of measurement locations on the workpiece model; a distance calculation unit 104 for calculating the respective distances (a, b, c, d) between adjacent measurement locations in an area formed by connecting the plurality of measurement locations; an area calculation unit 105 for calculating the area A of the area; a measurement location evaluation unit 106 for evaluating whether measurements with a predetermined accuracy or higher can be performed at the plurality of measurement locations based on the respective distances (a, b, c, d) between adjacent measurement locations and the area A; and a teaching point generation unit 107 for generating the plurality of measurement locations as teaching points for measurement by the robot when the measurement location evaluation unit 106 evaluates that measurements with a predetermined accuracy or higher can be performed.

[0138] According to the programming device 1, it is possible to easily set teaching points of a measurement program for measuring a plurality of measurement locations on a measurement object.

[0139] (2) The programming device 1 described in (1) further comprises: a measurement part measuring unit, which executes a measurement program in the virtual space to measure the positions of the multiple measurement parts on the measurement object model, and executes the measurement program in the actual space to measure the positions of the multiple measurement parts on the measurement object; a configuration position error calculating unit, which calculates the error in the configuration position between the measurement object model and the measurement object based on the measured positions of the multiple measurement parts on the measurement object model and the measured positions of the multiple measurement parts on the measurement object; and a configuration position correcting unit, which corrects the configuration position of the measurement object model so as to eliminate the error in the configuration position.

[0140] (3) In the programming device 1A described in (1), the measurement location setting unit 103a also sets a plurality of measurement locations by extracting a plurality of shape features on the workpiece model.

[0141] (4) In the programming device 1A described in (3), the measurement part setting unit 103a sets each of a plurality of combinations formed by selecting a predetermined number of shape features from the extracted plurality of shape features as a plurality of measurement parts, the distance calculation unit 104a calculates the respective distances between adjacent shape features in an area formed by connecting the shape features in each of the set plurality of combinations, the area calculation unit 105a calculates the area of ​​the area for each of the plurality of combinations, and the measurement part evaluation unit 106a evaluates the shape features of the combination in which the distance between adjacent shape features and the area of ​​the area are the largest among the plurality of combinations as a plurality of measurement parts capable of performing measurements with a predetermined accuracy or above.

[0142] (5) In the programming device 1 or 1A described in any one of (1) to (4), when the industrial machine is a robot, the measurement program performs measurement by having a pin mounted on a front end of an arm of the robot touch a plurality of measurement locations.

[0143] (6) In the programming device 1 or 1A described in any one of (1) to (4), when the industrial machine is a robot, the measurement program detects a plurality of measurement locations by a visual sensor mounted on a front end of an arm of the robot to perform measurement.

[0144] Explanation of symbols

[0145] 1.1A: Programming device

[0146] 10. 10a: Control unit

[0147] 101: Virtual Space Production Department

[0148] 102: 3D model configuration department

[0149] 103, 103a: Measurement location setting unit

[0150] 104, 104a: distance calculation unit

[0151] 105, 105a: Area calculation unit

[0152] 106, 106a: Measurement location evaluation unit

[0153] 107: Teaching point generation unit

[0154] 108: Measurement part Measurement part

[0155] 109: Configuration position error calculation unit

[0156] 110: Configuration position correction unit

[0157] 11: Input section

[0158] 12: Display unit

[0159] 13: Storage

[0160] 131: Model storage unit.

Claims

1. A programming device for producing a measurement program for configuring an industrial machinery system model including an industrial equipment model and a measurement object model in a virtual space and measuring a plurality of measurement locations on the measurement object model, wherein the industrial machinery system model three-dimensionally represents an industrial machinery system including industrial machinery and the measurement object, characterized in that: The above-mentioned programming device has: a measurement site setting unit configured to set the plurality of measurement sites on the measurement object model; a distance calculation unit that calculates distances between adjacent measurement sites in a region formed by connecting the plurality of measurement sites; an area calculation unit for calculating the area of ​​the above region; a measurement site evaluation unit that evaluates whether measurement with a predetermined accuracy or higher can be performed at the plurality of measurement sites based on the distances between the adjacent measurement sites and the area; and A teaching point generating unit generates the plurality of measurement locations as teaching points to be measured by the industrial machine when the measurement location evaluating unit evaluates that measurement with the predetermined accuracy or higher is possible.

2. The programming device according to claim 1, characterized in that The above-mentioned programming device also has: a measurement site measuring unit that executes the measurement program in the virtual space to measure the positions of the plurality of measurement sites on the measurement object model, and executes the measurement program in the real space to measure the positions of the plurality of measurement sites on the measurement object; a configuration position error calculation unit that calculates a configuration position error between the object model and the object based on the measured positions of the plurality of measurement locations on the object model and the measured positions of the plurality of measurement locations on the object; and A configuration position correction unit corrects the configuration position of the measurement object model so as to eliminate an error in the configuration position.

3. The programming device according to claim 1, characterized in that The measurement site setting unit sets the plurality of measurement sites by extracting a plurality of shape features on the measurement object model.

4. The programming device according to claim 3, characterized in that The measurement site setting unit sets each of a plurality of combinations of a predetermined number of the shape features selected from the plurality of extracted shape features as the plurality of measurement sites, The distance calculation unit calculates the distances between adjacent shape features in a region formed by connecting the shape features in each of the plurality of combinations that are set. The area calculation unit calculates the area of ​​the region for each of the plurality of combinations. The measurement site evaluation unit evaluates the shape features of a combination that maximizes the distance between the adjacent shape features and the area of ​​the region among the plurality of combinations as the plurality of measurement sites where measurement with a precision higher than the predetermined accuracy can be performed.

5. The programming device according to any one of claims 1 to 4, characterized in that When the industrial machine is a robot, the measuring program performs measurement by touching the plurality of measuring locations with a pin mounted on a front end of an arm of the robot.

6. The programming device according to any one of claims 1 to 4, characterized in that When the industrial machine is a robot, the measuring program detects the plurality of measurement locations by a visual sensor mounted on a front end of an arm of the robot to perform the measurement.

Citation Information

Patent Citations

  • Programming device for generating operation program, and program generating method

    JP2019018250A

  • Measurement program selection assisting apparatus and measurement control apparatus

    CN111077805A

  • Method for generating coordinate system of robot hub deburring teaching points

    CN111113420A

  • System for checking accuracy of finishing type, and apparatus, and program and method for planning disposition of three-dimensional measurement machine

    JP2011033438A

  • Measuring system and calibration method

    US20080004750A1