Simulation device, simulation method, and simulation program

JP7643192B2Active Publication Date: 2025-03-11OMRON CORP
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2021094862
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-07
Publication Date
2025-03-11
Estimated Expiration
2041-06-07

AI Technical Summary

Benefits of technology

【0028】 ある実施の形態に従うと、複数の部品からなる機械を含むシミュレーションを実行する際に、複数の部品の各々に生じる応力を算出することが可能である。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007643192000002
    Figure 0007643192000002
  • Figure 0007643192000003
    Figure 0007643192000003
  • Figure 0007643192000004
    Figure 0007643192000004
Patent Text Reader

Abstract

To calculate stress generated in each of a plurality of components when simulation including a machine composed of the plurality of components is performed.SOLUTION: A simulation device includes: assembly data of a machine 150 composed of a plurality of components 151, 152, 153 and 154; a storage part for storing a program for controlling a drive part 160 connected to the machine 150; and a control part for performing simulation of the machine 150. The control part operates the drive part 160 in the simulation, and calculates stress generated in each of the plurality of components 151, 152, 153 and 154 in the simulation by operating the drive part 160.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to simulation, and more particularly, to simulation of stresses occurring in multi-component machines. [Background technology]

[0002] Computer simulations are used in a variety of technical fields. Using such simulations, it is possible to carry out various advance studies even when the actual equipment does not exist.

[0003] Regarding simulation, for example, JP 2021-045797 A (Patent Document 1) discloses an apparatus including "a first behavior calculation unit that calculates the behavior of a first object placed in a virtual space corresponding to a first device to which an accessory device is attached, and a second behavior calculation unit that calculates the behavior of a second object in the virtual space corresponding to a second device, the second device including an accessory device. At each predetermined time step, the first behavior calculation unit calculates the behavior of the first object corresponding to the first device to which the accessory device is attached, and then the second behavior calculation unit calculates the behavior of the accessory device attached to the first device based on the calculated behavior of the first object" (see [Abstract]). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-045797 Summary of the Invention [Problem to be solved by the invention]

[0005] According to the technology disclosed in Patent Document 1, when a simulation including a machine made up of multiple parts is executed, it is not possible to calculate the stress occurring in each of the multiple parts. Therefore, there is a need for a technology for calculating the stress occurring in each of the multiple parts when a simulation including a machine made up of multiple parts is executed.

[0006] The present disclosure has been made in consideration of the above-described background, and an object of one aspect is to provide a technique for calculating stress generated in each of a plurality of parts when performing a simulation including a machine composed of a plurality of parts. [Means for solving the problem]

[0007] According to an embodiment, there is provided a simulation apparatus. The simulation apparatus includes a memory unit that stores assembly data of a machine consisting of a plurality of parts and a program for controlling a drive unit connected to the machine, and a control unit that executes a simulation of the machine. The control unit operates the drive unit in the simulation and calculates stress generated in each of the plurality of parts in the simulation by operating the drive unit.

[0008] According to this disclosure, the simulation device can calculate the stress generated in each part by executing a simulation of the operation of a machine consisting of multiple parts, and as a result, the user can easily understand what kind of stress will be generated in each part under actual usage conditions.

[0009] In the above disclosure, the machine is a machine that contacts a workpiece. Calculating the stress generated in each of the multiple parts includes calculating the stress generated in each of the multiple parts and the stress generated in the workpiece due to the machine contacting the workpiece.

[0010] According to this disclosure, the simulation device can calculate the stress occurring in each of the multiple parts and the stress occurring in the workpiece at the timing when the greatest load is applied to each of the multiple parts and the workpiece.

[0011] In the above disclosure, the control unit determines whether or not there is a bottleneck part among the multiple parts. Determining whether or not there is a bottleneck part includes comparing an allowable stress of the part to be determined with a stress generated in the part to be determined.

[0012] According to this disclosure, the simulation device can determine whether or not there is a component that will become a bottleneck under actual usage conditions.

[0013] In the above disclosure, the control unit proposes a combination of the multiple parts based on the safety factor of each of the multiple parts and an objective function for optimizing the multiple parts.

[0014] According to this disclosure, the simulation device can propose a combination of parts that reduces the manufacturing costs of the machine within a range that satisfies the safety factor.

[0015] In the above disclosure, the proposal for combining a plurality of parts includes reducing the variety of thread diameters of screws used in the machine.

[0016] According to this disclosure, the simulation device can reduce the types of screws used in manufacturing the machine, thereby reducing the manufacturing costs of the machine.

[0017] In the above disclosure, the proposed combination of multiple parts involves reducing the variety of materials used in the machine.

[0018] According to this disclosure, the simulation device can reduce the types of materials used in manufacturing the machine, thereby reducing the manufacturing costs of the machine.

[0019] In the above disclosure, the combination of multiple parts is proposed to reduce the manufacturing cost of the machine.

[0020] According to this disclosure, the simulation device can reduce the manufacturing costs of the machine. In the above disclosure, the control unit outputs a parameter set for a proposed combination of multiple parts.

[0021] According to this disclosure, the simulation device can present a parameter set for a proposed combination of a plurality of parts to a user.

[0022] In the above disclosure, outputting the parameter set includes outputting a table of the parameter set or displaying the parameter set on a simulation screen.

[0023] According to this disclosure, the simulation device may present the user with a table of parameter sets, or with the parameter sets displayed on a simulation screen.

[0024] According to another embodiment, there is provided a method for simulating a machine having a plurality of parts, the method including the steps of: referencing assembly data of the machine and a program for controlling a drive connected to the machine, operating the drive within a simulation, and calculating stresses induced in each of the plurality of parts within the simulation by operating the drive.

[0025] According to this disclosure, by executing a simulation of the operation of a machine consisting of multiple parts, it is possible to calculate the stress generated in each part, and as a result, a user can easily understand what kind of stress will be generated in each part under actual usage conditions.

[0026] According to another embodiment, there is provided a simulation program for causing a computer to execute the above program.

[0027] According to this disclosure, by having a computer execute a simulation of the operation of a machine consisting of multiple parts, it is possible to calculate the stress generated in each part, and as a result, a user can easily understand what kind of stress will be generated in each part under actual usage conditions. Effect of the Invention

[0028] According to one embodiment, when performing a simulation that includes a machine made up of multiple parts, it is possible to calculate the stresses induced in each of the multiple parts.

[0029] The above and other objects, features, aspects and advantages of the present disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings. [Brief description of the drawings]

[0030] [Figure 1] FIG. 1 illustrates an example of a machine to which a simulation technique according to an embodiment can be applied. [Diagram 2] FIG. 1 is a diagram showing an example of a unit configuration of a control system 2 including a machine to which a simulation technique according to an embodiment can be applied. [Diagram 3] FIG. 1 is a diagram illustrating an example of the configuration of a device that executes a simulation of stress generated in a machine. [Figure 4] FIG. 1 is a diagram showing an example of stress occurring in a material. [Diagram 5] FIG. 5 is a diagram showing an example of a setting screen 500 for a simulation. [Figure 6] FIG. 6 shows an example of a simulation screen 680. [Figure 7] FIG. 7 shows an example of a simulation screen 780. [Figure 8] FIG. 8 shows an example of a simulation screen 880. [Figure 9] FIG. 9 shows an example of a simulation screen 980. [Figure 10]It is a diagram showing an example of the simulation screen 1080. [Figure 11] It is a diagram showing an example of the simulation screen 1180. [Figure 12] It is a diagram showing an example of the configuration of components changed by the optimization process. [Figure 13] It is a flowchart showing an example of the execution procedure of the simulation of the apparatus 100.

Embodiments for Carrying Out the Invention

[0031] Hereinafter, embodiments of the technical idea according to the present disclosure will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.

[0032] <A. Application Example> FIG. 1 is a diagram showing an example of a machine to which the simulation technology according to the present embodiment can be applied. With reference to FIG. 1, an application example of the simulation technology according to the present embodiment will be described. The simulation technology according to the present embodiment can be realized, for example, by an apparatus 100 (see FIG. 3). The simulation technology can operate a machine composed of a plurality of components in a 3D (Three-Dimensional) space and obtain the stress generated in each of the plurality of components. Here, the “machine” includes, for example, any device mainly used in a factory line or the like, such as a tool attached to a robot, a workpiece holding component, or other jigs.

[0033] (a. Screen Configuration of Simulation) The screen 180 is an example of the screen provided by the simulation technology according to the present embodiment and depicts the 3D space in which the simulation is executed. In the example shown in FIG. 1, a robot 160, a machine 150, and a workpiece 170 are displayed on the screen 180.

[0034] Machine 150 is composed of parts 151, 152, 153, and 154. Machine 150, which is composed of multiple parts, can also be said to be an assembly composed of parts 151, 152, 153, and 154. Similarly, robot 160 and other machines composed of multiple parts can all be said to be assemblies.

[0035] The robot 160 is, for example, a vertical articulated robot, a horizontal articulated robot, or any other robot, and is equipped with a drive unit. In the example shown in Fig. 1, the machine 150 is attached to a tool mounting portion at the tip of the robot 160. The machine 150 is moved in a downward direction 190 by the robot 160 (drive unit) to hold down the workpiece 170.

[0036] (b. Functions provided by simulation technology) The simulation technique according to the present embodiment mainly provides the following two functions. The first function is to reproduce the operation of an assembly in a 3D space. The second function is to calculate the stress generated in each part constituting a machine 150 (assembly) existing in the 3D space and the stress generated in a workpiece 170.

[0037] First, the first function (function of reproducing the assembly operation in 3D space) will be described. The device 100 stores at least a simulation program, 3D data used in the simulation (3D data of the machine 150, the robot 160, the workpiece 170 and other arbitrary machines, etc.), and a program for the robot 160 in the storage 111 (see FIG. 3).

[0038] The apparatus 100 operates the robot 160 in the 3D space based on the program of the robot 160. The operation of the robot 160 also operates the machine 150. In the example shown in Fig. 1, the machine 150 moves downward and holds the workpiece 170. By using this first function (the function of reproducing the operation of the assembly in the 3D space), the user can check whether the designed machine and program operate without any problems.

[0039] Next, the second function (the function of calculating the stress generated in each part constituting machine 150 existing in the 3D space and the stress generated in workpiece 170) will be described. When performing a simulation, device 100 calculates the stress generated in parts 151, 152, 153, and 154 constituting machine 150 and the stress generated in workpiece 170.

[0040] More specifically, apparatus 100 may calculate, for each scene (for each snapshot) in the simulation, stresses occurring in parts 151, 152, 153, and 154 constituting machine 150 and stresses occurring in workpiece 170. For example, apparatus 100 may calculate, for each time (A) to (Z) in the simulation, stresses occurring in parts 151, 152, 153, and 154 constituting machine 150 and stresses occurring in workpiece 170.

[0041] Furthermore, the apparatus 100 may calculate the stresses generated in the parts 151, 152, 153, and 154 constituting the machine 150 and the stresses generated in the workpiece 170 only in snapshots that satisfy a specific condition. For example, the largest stresses are generated in the parts 151, 152, 153, and 154 constituting the machine 150 when the machine 150 and the workpiece 170 are in contact with each other. Therefore, for example, the apparatus 100 may calculate the stresses generated in the parts 151, 152, 153, and 154 constituting the machine 150 and the stresses generated in the workpiece 170 only in snapshots that satisfy the condition that the machine 150 and the workpiece 170 are in contact with each other. The apparatus 100 may accept input of conditions for the snapshots for which stresses are to be calculated from the user via a setting screen.

[0042] The apparatus 100 may visually display the stress occurring in each of the parts 151, 152, 153, and 154 by the density or color of the diagonal lines, etc. In one aspect, the apparatus 100 may display the stress occurring in each of the parts 151, 152, 153, and 154 by a numerical value.

[0043] Note that since stress does not occur uniformly in a single component, the apparatus 100 may change the display of stress for each part of a component. For example, in the example shown in FIG. 1, it shows that large stress occurs in region 163 of component 152, and small stress occurs in region 164 of component 152.

[0044] In a certain aspect, the apparatus 100 may calculate only the stress generated in each component of the assembly specified by the user on the setting screen. In another aspect, the apparatus 100 may calculate the stress generated in all components existing in the 3D space.

[0045] By using this second function (the function of calculating the stress generated in each component constituting the machine 150 existing in the 3D space and the stress generated in the workpiece 170), the user can check the loads generated in each component and the workpiece 170, and can suppress the occurrence of stress exceeding the allowable stress in a specific component or the workpiece 170.

[0046] The simulation technique according to the present embodiment described above is different in that it calculates the stress generated in each of a plurality of components constituting a certain machine (assembly), while the conventional stress calculation technique calculates the stress generated in a single component.

[0047] The simulation technique according to the present embodiment calculates the stress propagated to each component constituting the assembly through the execution of the simulation. Thereby, the user can check the load of each component only by executing the simulation, and can further easily find the part that becomes the bottleneck of the assembly.

[0048] <B. System Configuration> Next, with reference to FIG. 2, a system including a machine to which the simulation technique according to the present embodiment is applied will be described. Also, with reference to FIG. 3, the apparatus 100 that executes the simulation technique according to the embodiment will be described.

[0049] Fig. 2 is a diagram showing an example of a unit configuration of a control system 2 including a machine to which the simulation technique according to the present embodiment can be applied. The robot 160 and the machine 150 shown in Fig. 1 can function as parts of the control system 2. For example, the robot 160 may be a robot hand 210 controlled by a robot controller 310 and servo motors 1301, 1302, 1303, 1304, etc. The machine 150 may be attached to the tip of the robot hand 210, or may be a jig driven by servo motors 41, 42, etc.

[0050] The control system 2 includes, as an example, a PLC (Programmable Logic Controller) 200, servo motor drivers 531, 532 and an IO remote terminal 5 connected to the PLC 200 via a field network 22, a robot controller 310, and IO devices provided in the field, such as a photoelectric sensor 6, a proximity switch (or proximity sensor) 87 provided on a stopper, etc., and encoders 236, 238.

[0051] The PLC 200 includes an arithmetic unit 13 that executes main arithmetic processing, one or more IO units 14, and a special unit 17. These units are configured to be able to exchange data with each other via a system bus 81, and are supplied with power from a power supply unit 12. A simulation device 100 can be connected to the arithmetic unit 13.

[0052] The device 100 may install the program, whose operation has been verified in the 3D space, in the arithmetic unit 13. The arithmetic unit 13 may control each device included in the control system 2 based on the installed program. The device 100 may be connected to the arithmetic unit 13 via a network 80.

[0053] The IO unit 14 collects detection values ​​61, 71, 237, and 239 from IO devices including the photoelectric sensor 6, the proximity switch 87 for the stopper, etc., and the encoders 236, 238, etc. The proximity switch 87 detects, for example, that the tray has approached the stopper within a predetermined distance without contact. The detection value from each IO device is set (written) in, for example, a corresponding bit of a memory provided in the IO unit 14.

[0054] The arithmetic unit 13 executes the calculation of the control program using the values ​​collected by the IO unit 14, and sets (writes) the value of the calculation result to the corresponding bit of the IO unit 14. The peripheral equipment or IO device operates by referring to the value of each bit of the IO unit 14. In this way, the PLC 200 can control a robot, a conveyor, or the like, which is an object to be controlled, while exchanging data with the IO device and the peripheral equipment via the IO unit 14.

[0055] The special unit 17 has functions that are not supported by the IO unit 14, such as input and output of analog data, temperature control, and communication using a specific communication method.

[0056] To the field network 22, for example, a robot controller 310, servo motor drivers 531 and 532, an IO remote terminal 5, and the like may be connected.

[0057] Basically, the IO remote terminal 5 performs processes related to general input / output processes, similar to the IO unit 14. More specifically, the IO remote terminal 5 includes a communication coupler 52 for performing processes related to data transmission in the field network 22, and one or more IO units 53. These units are configured to be able to exchange data with each other via an IO remote terminal bus 51.

[0058] The servo motor drivers 531, 532 are connected to the arithmetic unit 13 via the field network 22, and drive the servo motors 41, 42 according to command values ​​from the arithmetic unit 13. Specifically, the servo motor drivers 531, 532 receive command values ​​such as a position command value, a speed command value, and a torque command value at regular intervals such as a control period from the PLC 200. The arithmetic unit 13 generates these command values ​​based on detection values ​​237, 239 from the encoders 236, 238.

[0059] The calculation unit 13 can execute a predetermined control program by referring to the detection values ​​from the IO device described above, thereby causing the robot hand 210 (such as the robot 160 in FIG. 1) to perform operations such as picking and placing the workpiece 170 and holding the workpiece 170.

[0060] Specifically, the arithmetic unit 13 generates a control command 211 for the robot arm and a control command 222 for the robot hand 210, and outputs these control signals to the robot hand 210 via the robot controller 310. When generating the control command 211, the arithmetic unit 13 may refer to the state value of the robot hand 210 in addition to the detection values ​​61 and 71 from the IO device described above. The robot arm may include any number of servo motors, such as servo motors 1301 to 1304.

[0061] The computing unit 13 can also control a machine 150 realized as a jig via servo motor drivers 531, 532 and servo motors 41, .

[0062] 3 is a diagram showing an example of the configuration of an apparatus for performing a simulation of stresses occurring in a machine. The simulation described with reference to FIG. 1 can be performed by software running on an apparatus 100.

[0063] The device 100 includes, as main components, a processor 102 that executes an operating system (OS) and various programs as described below, a main memory 104 that provides a working area for storing data necessary for the processor 102 to execute the programs, an operation unit 106 (operation reception unit) that receives user operations such as a keyboard and a mouse, an output unit 108 that outputs processing results such as a display 109, various indicators, and a printer, a network interface 110 that is connected to various networks including the network 80, an optical drive 112, a local communication interface 116 that communicates with external devices, and a storage 111. These components are connected to each other so as to be able to communicate data with each other via an internal bus 118 or the like.

[0064] The device 100 has an optical drive 112, and may read various programs from a computer-readable recording medium 114, including an optical recording medium (e.g., a DVD (Digital Versatile Disc)) that non-transiently stores computer-readable programs, and install the various programs in storage 111, etc.

[0065] The various programs executed on the device 100 may be installed on the device 100 via a computer-readable recording medium 114, or may be installed on the device 100 via a network interface 110 from a server device or the like (not shown) on the network.

[0066] The storage 111 is configured, for example, by a hard disk drive (HDD) or a flash solid state drive (SSD), and stores the programs executed by the processor 102.

[0067] More specifically, the storage 111 stores, as simulation programs for implementing a simulation according to this embodiment, a virtual time generation program 120, a relay program 121, a physical simulation program 122, a PLC simulation program 126, a robot emulation program 130, and an integration program 134. The storage 111 further stores an image processing program 136 that generates an image displaying an object arranged in a virtual space.

[0068] The storage 111 also stores part optimization parameters 137, physical simulation parameters 124, PLC parameters 128, robot parameters 132, and 3D visualization data 135, which are required for executing the simulation program.

[0069] The virtual time generation program 120 generates virtual time for the simulation. The device 100 executes the simulation at a certain period based on the virtual time. The processor 102 can generate a snapshot based on the virtual time and calculate the stress of each of the parts 151, 152, 153, and 154 and the workpiece 170 at the snapshot.

[0070] The physical simulation program 122 calculates the behavior of equipment (objects) that operates in association with the movement of the workpiece 170. Equipment whose behavior is calculated by the physical simulation program 122 includes, for example, the photoelectric sensor 6, conveyor, tray, stopper, and robot hand 210 included in the control system 2 shown in Fig. 2, as well as the robot 160 and machine 150 that may be realized by these configurations. Furthermore, the physical simulation program 122 can calculate, for example, stress generated in each component included in equipment (machine) that includes a plurality of components, based on the behavior of the equipment.

[0071] The physical simulation parameters 124 are parameters for defining the behavior of each device (object) in the simulation, and are referred to by the physical simulation program 122. The values ​​of the physical simulation parameters 124 may be changed as appropriate by a user operation or the integrated program 134, etc.

[0072] The physical simulation parameters 124 may include CAD (Computer Aided Design) data of the workpiece 170 and equipment related to the transportation or movement of the workpiece 170. By using the CAD data, the processor 102 can more accurately reproduce the behavior of the actual equipment in the simulation.

[0073] The PLC simulation program 126 calculates the positions of the equipment and the workpiece 170 whose behaviors are calculated by the physical simulation program 122. The PLC simulation program 126 outputs the calculated positions of the equipment and the workpiece 170 to the physical simulation program 122.

[0074] The PLC parameters 128 are parameters for calculating the positions of the equipment and workpiece 170 whose behavior is calculated by the physical simulation program 122 , and are referenced by the PLC simulation program 126 .

[0075] The robot emulation program 130 reproduces, in a simulation, the behavior of a robot connected to the control system 2. The robot emulation program 130 reproduces, in a simulation, the behavior of a robot connected to the control system 2 by using objects (CAD data, etc.).

[0076] The robot included in the control system 2 may include a robot that processes or transports a workpiece 170. The robot included in the control system 2 may also include a robot 160 (for example, a robot that operates as a jig) to which a machine 150 shown in Fig. 1 is attached. The robot emulation program 130 reproduces the operation of the robot based on the result (behavior of the object) calculated by the physical simulation program 122.

[0077] The robot parameters 132 include parameters necessary to reproduce the behavior of the robot using the object, and are referenced by the robot emulation program 130.

[0078] The relay program 121 provides a relay function for the physical simulation program 122 and the robot emulation program 130 to exchange data with each other. The relay program 121 may be written in a script, for example, or in any other format.

[0079] The integration program 134 provides a function for linking the physical simulation program 122, the PLC simulation program 126, the robot emulation program 130, and the relay program 121 with each other. More specifically, the integration program 134 generates and updates virtual space information describing the state of objects in the virtual space, typically on the main memory 104. The physical simulation program 122, the PLC simulation program 126, and the robot emulation program 130 refer to (read) the virtual space information to execute the processing of each simulation, and reflect necessary information among the execution results in the virtual space information. In other words, the integration program 134 reproduces the behavior and processing of each device in the simulation by linking each program.

[0080] The image processing program 136 visually presents the execution status of the simulation to the user. The image processing program 136 displays 3D visualized data 135 on the display 109 based on the virtual space information. The 3D visualized data 135 includes trajectory data and image data. The image data includes data (CAD data, etc.) for drawing an object corresponding to the equipment to be simulated. The trajectory data includes three-dimensional coordinates P (x, y, z) calculated using a predetermined function for the position of each equipment in the virtual space information and time series data. The image processing program 136 uses the 3D visualized data 135 to generate image data for three-dimensionally drawing the behavior of objects such as the workpiece 170, the robot 160, and the machine 150 in a 3D space, and outputs the image data to the display 109.

[0081] The part optimization parameters 137 include the material of the part, the allowable stress of the part, the standard information of the part, the cost information of the part, and the like, and are referred to by the physical simulation program 122. The physical simulation program 122 can select a part configuration that satisfies a required safety factor and has a low cost by comparing the result of the simulation (stress occurring in each part) with the part optimization parameters 137. As an example, the physical simulation program 122 may determine (or propose) a part configuration such that screws of the same diameter are used as much as possible, may determine (or propose) a part configuration such that materials of the same type are used as much as possible, or may determine (or propose) a part configuration such that the number of parts is as small as possible. In a certain aspect, a program other than the physical simulation program 122 may execute an optimization process of the part configuration.

[0082] In one aspect, the simulation described with reference to FIG. 1 may be executed as software by multiple devices 100, a system having at least a portion of the hardware configuration of device 100, or a virtual machine in a cloud environment having at least a portion of the hardware configuration of device 100.

[0083] In addition, the device 100 may realize some of the processes and functions necessary to realize the simulation described with reference to FIG. 1 using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), etc.

[0084] <C.シミュレーション> Next, a procedure in which device 100 determines stresses occurring in parts 151, 152, 153, and 154 constituting machine 150 and stresses occurring in workpiece 170, and a part optimization process will be described with reference to Figs.

[0085] FIG. 4 is a diagram showing an example of stress occurring in a material. Screen 400 shows stress occurring in one part (or material). A person in charge of designing a machine such as a jig may individually check the stress of each of the multiple parts constituting the machine, as shown in FIG. 4. However, the method of individually checking the stress of multiple parts can be very time-consuming. In addition, the method of individually checking the stress of parts has a problem in that it is difficult to know what kind of stress will specifically occur in each part when a simulation is performed. Therefore, device 100 significantly reduces the burden on the person in charge of design by including a stress calculation process in the simulation settings.

[0086] 5 is a diagram showing an example of a simulation setting screen 500. The setting screen 500 includes a setting menu 501 and a display 502 of a 3D space.

[0087] The setting menu 501 accepts input of various simulation settings from the user. The setting menu 501 includes a safe material thickness ratio 510 and a safe screw ratio 520 as part of the setting items.

[0088] The safe material thickness ratio 510 defines the minimum required material thickness. For example, if the safe material thickness ratio 510 is "4 mm", the user cannot use a part with a thickness of less than 4 mm in the simulation. Alternatively, the device 100 may output a warning to the display 109 when detecting a part with a thickness of less than 4 mm during or before the execution of the simulation.

[0089] The safe screw ratio 520 defines the minimum required screw diameter. For example, if the safe screw ratio 520 is "3 mm", the user cannot use a screw with a diameter of less than 3 mm in the simulation. Alternatively, the device 100 may output a warning to the display 109 if it detects a screw with a diameter of less than 3 mm during or before the execution of the simulation.

[0090] The above safe material thickness percentage 510 and safe screw percentage 520 may be used in the optimization process described with reference to FIGS.

[0091] The 3D space display 502 displays an object (machine 150) necessary for the simulation. In a certain aspect, when the apparatus 100 executes a simulation for the purpose of investigating stress generated in each of the parts 151, 152, 153, and 154 constituting the machine 150, the 3D space display 502 may display only the machine 150 and objects (such as the robot 160 and the workpiece 170) that come into contact with the machine 150.

[0092] Fig. 6 is a diagram showing an example of a simulation screen 680. The simulation screen 680 displays, for example, a simulation executed by the device 100 based on the settings on the setting screen 500. In the example shown in Fig. 6, a snapshot corresponding to the moment when the machine 150, which is the target for calculating stress, moves in the downward direction 190 based on the driving of the robot 160 and comes into contact with the workpiece 170 is displayed.

[0093] 7 is a diagram showing an example of a simulation screen 780. The simulation screen 780 is a screen that visually displays stress occurring in a part 151 that constitutes the machine 150. The simulation screen 780 displays the stress occurring in the part 151 in the snapshot shown in FIG. 6. In this way, the apparatus 100 can prevent a certain part from being hidden by other parts and becoming invisible to the user by displaying only a specific part on the display 109 instead of the entire machine 150. This allows the user to focus on the specific part.

[0094] 8 is a diagram showing an example of a simulation screen 880. The simulation screen 880 is a screen that visually displays stresses occurring in the parts 153, 154 that configure the machine 150. The simulation screen 880 displays the stresses occurring in the parts 153, 154 in the snapshot shown in FIG.

[0095] 9 is a diagram showing an example of a simulation screen 980. The simulation screen 980 is a screen that visually displays stress occurring in a part 152 that constitutes the machine 150. The simulation screen 980 displays the stress occurring in the part 152 in the snapshot shown in FIG.

[0096] 10 is a diagram showing an example of a simulation screen 1080. The simulation screen 1080 is a screen that visually displays the stress occurring in the workpiece 170. The simulation screen 1080 displays the stress occurring in the workpiece 170 in the snapshot shown in FIG.

[0097] Apparatus 100 may display the stresses occurring in all parts on display 109 as shown in Fig. 1. Apparatus 100 may also display the stresses occurring in specific parts 151, 152, 153, and 154, or workpiece 170 on display 109 as shown in Figs. 7 to 10. In a certain aspect, apparatus 100 may appropriately switch the display content on display 109 based on an operation from a user.

[0098] 11 is a diagram showing an example of a simulation screen 1180. The simulation screen 1180 includes an optimization execution button 1110. When the device 100 detects that the optimization execution button 1110 has been pressed, the device 100 executes optimization processing of the parts 151, 152, 153, and 154 that configure the machine 150. The optimization processing is executed mainly based on two viewpoints.

[0099] The first viewpoint is "safety factor." Apparatus 100 optimizes each of components 151, 152, 153, and 154 so as to satisfy various safety factors set in setting menu 501. Apparatus 100 also optimizes each of components 151, 152, 153, and 154 so that the stress generated in each component does not exceed the allowable stress of each component.

[0100] As an example, if a simulation results in stress in part 151 exceeding the allowable stress of part 151, apparatus 100 may increase the thickness of part 151, change the material of part 151, or both, as part of the optimization process.

[0101] The second viewpoint is "cost". In order to reduce the cost of manufacturing the machine 150 as much as possible within a range in which the machine 150 satisfies a specified safety factor, the device 100 executes processes such as changing materials, standardizing part standards, standardizing screw diameters, and reducing the number of parts. When assembling a certain product, the fewer the types of parts used, the lower the manufacturing cost generally is, so the device 100 can execute optimization processes to standardize the materials and types of each part constituting the machine 150 as much as possible. In one aspect, the cost may be, for example, the manufacturing cost of the device 100 or the manufacturing man-hours (time) of the device 100.

[0102] As an example, assume that part 153 is an M5 (diameter 5 mm) screw and part 154 is an M4 (diameter 4 mm) screw. Then, assume that a simulation result shows that parts 153 and 154 satisfy a predetermined safety factor even if both parts are M4 screws. In this case, device 100 can unify parts 153 and 154 into M4 screws through optimization processing.

[0103] The apparatus 100 executes the optimization process based on objective functions for optimizing parts, for example, of the following formulas 101F to 105F. Note that formulas 101F to 105F may be provided as a program.

[0104]

number

[0105] The variables contained in equations 101F to 105F are as follows: x: Parameter defined for each material, part standard, etc. N: Number of parts n: Part number Force: Maximum stress generated in each part Volume: Volume of the part Price: Material price of the part Formula 101F finds the parts configuration that minimizes stress. Formula 102F finds the parts configuration that minimizes material cost. Formula 103F finds the parts configuration that minimizes the number of parts. Formula 104F finds the parts configuration that maximizes the commonality of each part (the fewest types of parts used). Formula 105F finds the parts configuration that minimizes the mass of machine 150.

[0106] Apparatus 100 may execute the optimization process based on all or part of formulas 101F to 105F. Apparatus 100 may also set weights for any items, such as safety factor, mass, and number of parts. In a certain aspect, apparatus 100 may receive an operation, such as selection of a formula to be used and input of a weight, from a user via operation unit 106. For example, the user may set weights for each item, such as manufacturing cost, number of parts, and type of parts.

[0107] After performing the optimization process, the apparatus 100 may display the results of the optimization process (information such as parameter sets of parts (such as the type of each part), manufacturing costs, manufacturing man-hours, number of parts, and number of types of parts) on the simulation screen 1180. The results of the optimization process may include text information, 3D data, or both. As an example, the apparatus 100 may display information 1120 of recommended materials, information 1130 of recommended thicknesses, and information 1140 of recommended screw diameters as text information on the simulation screen 1180. In one aspect, the apparatus 100 may change the display of images (3D data) of parts to achieve a recommended configuration. In another aspect, the apparatus 100 may further display any information such as manufacturing costs, manufacturing man-hours, number of parts, and number of types of parts based on the proposed parameter set on the simulation screen 1180.

[0108] 12 is a diagram showing an example of the configuration of parts changed by the optimization process. Parts table 1210 is a parts table before the optimization process is performed. Parts table 1220 is a parts table after the optimization process is performed. Comparing parts table 1210 and parts table 1220, it can be seen that device 100 unifies the materials of parts 151 and 152 into aluminum in order to reduce costs. Furthermore, it can be seen that device 100 changes the material of part 152 from duralumin to aluminum, which has lower strength, and increases the thickness of part 152 in order to satisfy a specified safety factor.

[0109] Apparatus 100 displays post-optimization bill of materials 1220 on display 109. In one aspect, apparatus 100 may display both pre-optimization bill of materials 1210 and post-optimization bill of materials 1220 on display 109. In another aspect, apparatus 100 may receive an input of an instruction to redo the optimization process from a user. In this case, apparatus 100 may execute the optimization process based on, for example, a parameter set newly specified by the user.

[0110] 11 and 12, the apparatus 100 executes an optimization process for the component configuration of the machine 150 based on the viewpoints of safety factor and cost. This allows the user to select a component configuration that satisfies a defined safety factor and has a low manufacturing cost.

[0111] <D.フローチャート> Fig. 13 is a flowchart showing an example of a procedure for executing a simulation of the device 100. In one aspect, the processor 102 may load a program for performing the processing of Fig. 12 from the storage 111 into the main memory 104 and execute the program. In another aspect, a part or all of the processing may be realized as a combination of circuit elements configured to perform the processing.

[0112] In step S1305, the processor 102 acquires the material of the machine 150, axis settings of a robot or the like, an IEC (International Electrotechnical Commission) program, and a robot program. In one aspect, the processor 102 may acquire the material of the machine 150, axis settings of a robot or the like, an IEC program, and a robot program via the operation unit 106, the network interface 110, the optical drive 112, or the local communication interface 116.

[0113] In step S1310, the processor 102 operates the IEC program and the robot program to calculate the stress generated in the part.

[0114] In step S1315, the processor 102 displays the stress and strain generated in the parts in the 3D space. The processor 102 can calculate the stress applied to all parts up to the workpiece 170 by analyzing the force applied to the parts connected in order from the power source.

[0115] In step S1320, processor 102 displays the location of maximum distortion (bottleneck) on display 109. In one aspect, processor 102 may display, as a bottleneck, on display 109, a part having the smallest difference between the allowable stress and the actually generated stress, or a part whose actually generated stress exceeds the allowable stress. In another aspect, processor 102 may determine whether or not there is a bottleneck part by comparing the allowable stress of the part to be determined with the stress generated in the part to be determined. In this case, processor 102 may display the bottleneck part on display 109 only if there is a bottleneck part.

[0116] In step S1325, the processor 102 presents an optimization technique based on the bottleneck. More specifically, the processor 102 may present a combination of the formulas 101F to 105F, weighting settings for the formulas 101F to 105F, and the like based on the bottleneck.

[0117] In step S1330, the processor 102 generates a parameter set to be optimized. More specifically, the processor 102 generates the parameter set based on the stress generated in each part obtained in step S1315 and the part optimization parameters 137. The parameter set may include items such as the size, specification, material, minimum thickness, screw diameter, and unit price of the parts 151, 152, 153, and 154.

[0118] In step S1335, the processor 102 generates all combinations of the parameter sets generated in step S1325.

[0119] In step S1340, the processor 102 selects, from among the generated sets of optimization parameters, the one that satisfies a predetermined safety factor and has the best calculation result of the objective function. More specifically, the processor 102 substitutes the generated sets of optimization parameters into Expressions 101F to 105F and calculates Expressions 101F to 105F to calculate the cost of each set of optimization parameters.

[0120] In step S1345, the processor 102 executes an optimization process and displays, on a 3D screen and / or in a list (parts list 1220), some or all of the recommended material, recommended thickness, and recommended screw diameter of the component from the stress and strain.

[0121] In step S1350, the processor 102 determines whether a parameter reset request has been received. If the processor 102 determines that a parameter reset request has been received (YES in step S1350), the control is transferred to step S1330. Otherwise (NO in step S1350), the processor 102 ends the process.

[0122] In a certain situation, when the processor 102 receives a parameter reset request, the processor 102 may receive an input of a new set of parameters from the user.

[0123] As described above, the apparatus 100 according to the present embodiment can calculate the stress generated in each of the plurality of components constituting the machine 150 by simulation. Thereby, the user can confirm the stress generated in each component and design the machine 150 that satisfies the safety factor only by executing the simulation.

[0124] Further, the apparatus 100 executes an optimization process based on the bottleneck of the machine 150. Thereby, the user can easily change the design of the machine 150 so as to be low-cost while satisfying a predetermined safety factor.

[0125] <E. Supplementary Note> As described above, the present embodiment includes the following disclosure. [Configuration 1] a memory unit (111) for storing assembly data for a machine (150) consisting of a plurality of parts (151, 152, 153, 154) and a program for controlling a drive unit connected to the machine (150); a control unit (102) for executing a simulation of the machine (150); The control unit (102) Operate the drive unit in the simulation; A simulation device (100) that calculates stress generated in each of the plurality of parts (151, 152, 153, 154) in the simulation by operating the drive unit. [Configuration 2] The machine (150) is a machine (150) that comes into contact with a workpiece, The simulation device (100) according to configuration 1, wherein calculating the stress generated in each of the plurality of parts (151, 152, 153, 154) includes calculating the stress generated in each of the plurality of parts (151, 152, 153, 154) and the stress generated in the workpiece due to the machine (150) contacting the workpiece. [Configuration 3] The control unit (102) determines whether or not there is a bottleneck component (151, 152, 153, 154) among the plurality of components (151, 152, 153, 154), The simulation device (100) according to configuration 1 or 2, wherein determining whether or not there is a bottleneck part (151, 152, 153, 154) includes comparing an allowable stress of the part (151, 152, 153, 154) to be determined with a stress occurring in the part (151, 152, 153, 154) to be determined. [Configuration 4] The simulation device (100) according to any one of configurations 1 to 3, wherein the control unit (102) proposes a combination of the plurality of parts (151, 152, 153, 154) based on a safety factor of each of the plurality of parts (151, 152, 153, 154) and an objective function for optimizing the plurality of parts (151, 152, 153, 154). [Configuration 5] 5. The simulation device (100) according to configuration 4, wherein proposing a combination of the plurality of parts (151, 152, 153, 154) includes reducing the number of types of thread diameters of screws used in the machine (150). [Configuration 6] 5. The simulation apparatus (100) of configuration 4, wherein proposing combinations of the plurality of parts (151, 152, 153, 154) includes reducing the types of materials used in the machine (150). [Configuration 7] 5. The simulation apparatus (100) according to configuration 4, wherein proposing combinations of the plurality of parts (151, 152, 153, 154) includes reducing the manufacturing cost of the machine. [Configuration 8] 5. The simulation device (100) according to configuration 4, wherein the control unit (102) outputs a parameter set for the proposed combination of the plurality of parts (151, 152, 153, 154). [Configuration 9] 9. The simulation apparatus according to configuration 8, wherein outputting the parameter set includes outputting a table of the parameter set or displaying the parameter set on a simulation screen. [Configuration 10] A method for simulating a machine (150) consisting of a plurality of parts (151, 152, 153, 154), comprising: Referencing assembly data of said machine (150) and a program for controlling a drive connected to said machine (150); operating the drive in a simulation; and calculating stresses generated in each of the plurality of parts (151, 152, 153, 154) within the simulation as a result of operating the drive unit. [Configuration 11] A simulation program for causing a computer to execute the program according to configuration 10.

[0126] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is indicated by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims. In addition, the disclosure contents described in the embodiments and each modified example are intended to be implemented, as far as possible, either alone or in combination. [Explanation of symbols]

[0127] 2 control system, 5 IO remote terminal, 6 photoelectric sensor, 12 power supply unit, 13 arithmetic unit, 14, 53 IO unit, 17 special unit, 22 field network, 41, 42, 1301, 1302, 1303, 1304 servo motor, 51 IO remote terminal bus, 52 communication coupler, 61, 71, 237, 239 detection value, 80 network, 81 system bus, 87 proximity switch, 100 device, 102 processor, 104 main memory, 106 operation unit, 108 output unit, 109 display, 110 network interface, 111 storage, 112 optical drive, 114 recording medium, 116 local communication interface, 118 internal bus, 120 virtual time generation program, 121 relay program, 122 physical simulation program, 124 physical simulation parameters, 126 PLC simulation program, 128 PLC parameters, 130 Robot emulation program, 132 Robot parameters, 134 Integration program, 135 3D visualization data, 136 Image processing program, 137 Part optimization parameters, 150 Machine, 151, 152, 153, 154 Part, 160 Robot, 163, 164 Area, 170 Workpiece, 180, 400 Screen, 190 Direction, 200 PLC, 210 Robot hand, 211, 222 Control command, 236, 238 Encoder, 310 Robot controller, 500 Setting screen, 501 Setting menu, 502 3D space display, 510 Safe material thickness ratio, 520 Safe screw ratio, 531, 532 Servo motor driver, 680, 780, 880, 980, 1080, 1180 Simulation screen, 1110, optimization execution button, 1120, recommended material information, 1130, recommended thickness information, 1140, recommended screw diameter information, 1210, 1220, bill of materials.

Claims

1. A storage unit that stores assembly data of a machine consisting of a plurality of parts and a program for controlling a drive unit connected to the machine; a control unit that executes a simulation of the machine, The control unit is operating the drive within the simulation; Calculating stress generated in each of the plurality of components in the simulation by operating the drive unit; determining whether or not there is a bottleneck component among the plurality of components; The simulation device, wherein determining whether or not there is a bottleneck component includes comparing an allowable stress of the component to be determined with a stress occurring in the component to be determined.

2. The machine is a machine that contacts a workpiece, The simulation device according to claim 1 , wherein calculating the stress generated in each of the plurality of parts includes calculating the stress generated in each of the plurality of parts and the stress generated in the workpiece due to the machine coming into contact with the workpiece.

3. The simulation device according to claim 1 , wherein the control unit proposes a combination of the plurality of parts based on a safety factor of each of the plurality of parts and an objective function for optimizing the plurality of parts.

4. The simulation device according to claim 3 , wherein the proposing of a combination of the plurality of parts includes reducing the number of types of thread diameters of screws used in the machine.

5. The simulation apparatus according to claim 3 , wherein the proposing of a combination of the plurality of parts includes reducing the types of materials used in the machine.

6. The simulation apparatus according to claim 3 , wherein the proposing of a combination of the plurality of parts includes reducing a manufacturing cost of the machine.

7. The simulation device according to claim 3 , wherein the control unit outputs a parameter set for the proposed combination of the plurality of parts.

8. The simulation device according to claim 7 , wherein outputting the parameter set includes outputting a table of the parameter set or displaying the parameter set on a simulation screen.

9. 1. A method for simulating a machine having a plurality of parts, comprising the steps of: - consulting assembly data of said machine and a program for controlling a drive connected to said machine; operating the drive in a simulation; calculating a stress generated in each of the plurality of components in the simulation by operating the driving unit; determining whether or not there is a bottleneck component among the plurality of components; A simulation method, wherein the step of determining whether or not there is a bottleneck part includes a step of comparing an allowable stress of the part to be determined with a stress occurring in the part to be determined.

10. A simulation program for causing a computer to execute the simulation method according to claim 9.

Citation Information

Patent Citations

  • Topological optimization bicycle assembly design method suitable for additive manufacturing

    CN112395685A

  • Method and apparatus for design of frame structure

    JP2002324087A

  • Method and system for assisting in designing machine structure

    JP2003141192A

  • Analysis method, program, recording medium and analysis device

    JP2008287520A

  • Robot hardware design support system and method

    JP2013512522A