Design support device, design support method, and program

JP7917101B2Active Publication Date: 2026-09-08RESONAC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2026511258
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2024-03-26
Filing Date
2025-03-24
Publication Date
2026-09-08
Estimated Expiration
2045-03-24

AI Technical Summary

Benefits of technology

【0015】 本開示の一態様によれば、他の物体と接合する物体を効率的に設計できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007917101000007
    Figure 0007917101000007
  • Figure 0007917101000008
    Figure 0007917101000008
  • Figure 0007917101000009
    Figure 0007917101000009
Patent Text Reader

Abstract

This design support device comprises: a design acquisition unit for acquiring design data for an object having a plurality of joining points with another object; an error measurement unit for measuring an error between each of the joining points and a standard position; an optimization unit for optimizing, on the basis of the error for each of the joining points, a common movement amount by which all of the joining points are moved while maintaining the relative positions of the joining points, and individual movement amounts by which the joining points are individually moved after the joining points are moved by the common movement amount; and a result output unit for outputting correction data indicating a correction amount for each of the joining points on the basis of the common movement amount and the individual movement amounts.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a design support device, a design support method, and a program. [Background technology]

[0002] Some products are manufactured by joining multiple parts together. When manufacturing this type of product, it is important to align the joining points between the parts.

[0003] For example, Patent Document 1 discloses a method for aligning two objects. The alignment method disclosed in Patent Document 1 includes a determination step of determining a cost function whose magnitude indicates the degree of alignment, with a matrix used as a variable for transforming the coordinates of multiple points of a first object and the coordinates of multiple points of a second object; a minimization step of repeatedly adjusting the variables to minimize the value calculated by the cost function; and an alignment amount determination step of determining the amount of alignment based on the variables adjusted in the minimization step. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2019-8007 [Overview of the project] [Problems that the invention aims to solve]

[0005] However, conventional technology is a technique for aligning two objects that are designed to be joinable. Conventional technology does not assume that one of the two objects to be joined is designed to be joinable with the other object.

[0006] One aspect of this disclosure aims to efficiently design an object that joins with another object. [Means for solving the problem]

[0007] This disclosure comprises the following configuration.

[0008] [1] A design acquisition unit is configured to acquire design data for an object that has multiple connection points with other objects, An error measuring unit is configured to measure the error between each of the aforementioned joint points and the standard position, An optimization unit is configured to optimize a common movement amount that moves all of the joint points while maintaining their relative positions, based on the error of each of the joint points, and an individual movement amount that moves each of the joint points individually after they have been moved by the common movement amount. A result output unit is configured to output correction data indicating the correction amount for each of the joint points based on the common movement amount and the individual movement amount, A design support device equipped with the following features.

[0009] [2] The design support device described in [1] above, The optimization unit is configured to optimize the common movement and the individual movement so as to minimize an objective function that includes the L0 norm or L1 norm of the individual movement. Design support equipment.

[0010] [3] A design support device as described in [1] or [2] above, The optimization unit is configured to further optimize the truth value that indicates whether or not to allow an error between the joint point and the standard position after moving by the common movement amount. Design support equipment.

[0011] [4] A design support device according to any of the above [1] to [3], The system further comprises a reference point determination unit configured to determine any of the aforementioned joint points as a reference point, The optimizing unit is configured to determine the common movement amount based on the error of the reference point, A design support apparatus.

[0012] [5] The design support apparatus according to [4] above, wherein The reference point determining unit is configured to determine, as the reference point, the junction point for which the error is equal to or less than a predetermined value, A design support apparatus.

[0013] [6] A design support method executed by a computer, the method comprising: a step of acquiring design data of an object having a plurality of junction points with another object; a step of measuring an error from a standard position for each of the junction points; a step of optimizing, based on the error of each of the junction points, a common movement amount for moving all of the junction points while maintaining relative positions of the junction points, and an individual movement amount for individually moving each junction point after moving the junction point by the common movement amount; a step of outputting correction data indicating a correction amount for each of the junction points based on the common movement amount and the individual movement amount; A design support method that executes the steps above.

[0014] [7] A program for causing a computer to execute: a step of acquiring design data of an object having a plurality of junction points with another object; a step of measuring an error from a standard position for each of the junction points; a step of optimizing, based on the error of each of the junction points, a common movement amount for moving all of the junction points while maintaining relative positions of the junction points, and an individual movement amount for individually moving each junction point after moving the junction point by the common movement amount; a step of outputting correction data indicating a correction amount for each of the junction points based on the common movement amount and the individual movement amount; A program for causing a computer to execute the steps above.

Effects of the Invention

[0015] According to one aspect of this disclosure, an object that joins with another object can be efficiently designed. [Brief explanation of the drawing]

[0016] [Figure 1] Figure 1 shows an example of the product. [Figure 2] Figure 2 shows an example of a plan view of a part. [Figure 3] Figure 3 shows an example of a side view of a component. [Figure 4] Figure 4 is a block diagram showing an example of the overall configuration of a design support system. [Figure 5] Figure 5 is a block diagram showing an example of a computer hardware configuration. [Figure 6] Figure 6 is a block diagram showing an example of the functional configuration of a design support system. [Figure 7] Figure 7 is a diagram illustrating common and individual movement amounts. [Figure 8] Figure 8 is a flowchart showing an example of a design support method. [Figure 9] Figure 9 shows an example of the evaluation results regarding the objective function. [Figure 10] Figure 10 shows an example of the evaluation results regarding whether or not an error is acceptable. [Modes for carrying out the invention]

[0017] Hereinafter, embodiments of this disclosure will be described with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant descriptions will be omitted.

[0018] [Embodiment] One embodiment of the present disclosure is a design support system for assisting in the design of an object. In this embodiment, the object to be designed is an object that is joined to another object. For example, the object to be designed may be any part included in a product that is manufactured by combining multiple parts. Hereinafter, the object to be designed will be referred to as the "design object," and the other object that is joined to the design object will be referred to as the "joining object."

[0019] In products manufactured by combining multiple parts, the joints between each part must be designed to allow for connection. The parts may, for example, be modules manufactured by integrally molding metal parts and resin. The modules may also be, for example, power modules that integrate multiple power semiconductors.

[0020] Figure 1 shows an example of a product. As shown in Figure 1, product P is manufactured by combining multiple parts P1 to P3. Product P is constructed by joining multiple parts P1 to P3 in the vertical direction. For example, part P1 and part P2 are joined at the bottom surface of part P1 and the top surface of part P2. Here, part P1 is an example of an object to be joined, and part P2 is an example of an object to be designed. However, in this embodiment, the joining positions between parts are not limited. Also, although product P in Figure 1 is composed of three parts P1 to P3, the number of parts that make up a product is not limited.

[0021] Figure 2 shows an example of a plan view of a part. Figure 2(A) is an example of a bottom view of part P1. Figure 2(B) is an example of a top view of part P2.

[0022] As shown in Figure 2, part P1 has eight joints D1 to D8 for joining with part P2. Similarly, part P2 has eight joints C1 to C8 for joining with part P1. The positions of joints D1 to D8 on part P1 and joints C1 to C8 on part P2 are designed to coincide in their relative positional relationship.

[0023] The joint may be a component for physically fixing parts together, or a component for electrically connecting parts together. The joint may include, for example, protrusions, holes, claws, terminals, etc.

[0024] Figure 3 shows an example of a side view of a component. Figure 3(A) is an example of a side view of component P1. Figure 3(B) is an example of a side view of component P2.

[0025] As shown in Figure 3, the joints D5-D8 of part P1 and C5-C8 of part P2 are formed in positions and shapes that allow them to fit together. Similarly, the joints D1-D4 of part P1 (not shown) and C1-C4 of part P2 are formed in positions and shapes that allow them to fit together. However, the joints do not necessarily have to fit together. For example, if the joints are electrically connected, they only need to be formed in positions that allow them to touch each other.

[0026] Parts P1 and P2 are formed as shown in Figures 2 and 3, so that the joints D1 to D8 of part P1 and the joints C1 to C8 of part P2 are joined together. Parts P1 and P2 can be joined if all joints are aligned, but they cannot be joined if even one of them is not aligned.

[0027] When designing a component, the designer of the component is provided with design data for the component to be joined. This design data indicates the joint points between the components. The joint point is a coordinate that indicates the position of the joint. For example, the joint point may be the center coordinate of the joint. The designer of the component must design the joint points of the component to match the joint points of the component to be joined. Hereafter, the joint points of the component to be joined will be referred to as the "standard position".

[0028] The joint point may also be defined by three-dimensional coordinates using the x, y, and z axes. In this case, the xy-plane is the joint surface between the design object and the object to be joined. The z-axis is an axis perpendicular to the joint surface. A joint point defined by three-dimensional coordinates includes the x and y coordinates indicating the center of the region representing the joint in the xy-plane, as well as the z-coordinate indicating the height or depth relative to the joint surface.

[0029] Module design involves a series of iterative tasks, including creating design data, manufacturing molds, creating prototypes, measuring errors, and modifying the design data. The module designer first creates the module's design data so that the joints conform to standard positions. This design data may be, for example, three-dimensional data showing the module's shape or the positions of its components.

[0030] Next, the designer creates a mold based on the design data. Subsequently, the designer creates a prototype of the module using the mold. Then, the designer measures the joints formed on the prototype and calculates the error compared to the standard position. If the error at any joint is outside the acceptable range, the design data used to create the mold is determined to be non-standard. If the design data is non-standard, the designer corrects the design data based on the error and creates the mold again based on the corrected design data. This series of operations is repeated until the error from the standard position at all joints is within the acceptable range. For example, this series of operations may be repeated several to more than ten times.

[0031] To streamline module design, it is necessary to reduce the number of iterations. In particular, mold creation incurs significant costs, so reducing the number of mold creations allows for more efficient design. Furthermore, since mold modifications can sometimes be performed partially, the fewer joints that need to be modified, the more efficient the design becomes.

[0032] This embodiment aims to efficiently design the object to be designed. To this end, this embodiment uses a mathematical optimization method to optimize the amount of modification required for each joint point of the object to be designed. In this embodiment, the optimization is performed in such a way that the number of joint points that need modification is reduced. According to this embodiment, since the amount of modification required for each joint point can be determined with high accuracy using the mathematical optimization method, the number of times the design data needs to be modified can be reduced. Furthermore, according to this embodiment, since the number of joint points that need modification is reduced, the mold can be modified efficiently. As a result, according to this embodiment, the object to be designed can be designed efficiently.

[0033] <Overall Structure> The overall configuration of the design support system in this embodiment will be described with reference to Figure 4. Figure 4 is a block diagram showing an example of the overall configuration of the design support system.

[0034] As shown in Figure 4, the design support system 1000 includes a design support device 10 and a terminal device 20. The design support device 10 and the terminal device 20 are connected via a communication network N such as a LAN (Local Area Network) or the Internet, enabling data communication.

[0035] The design support device 10 is an example of an information processing device such as a personal computer, workstation, or server that generates correction data for modifying the design data of an object to be designed. The correction data is electronic data indicating the amount of correction for each joint point of the object to be designed. The design support device 10 receives the design data of the object to be designed from the terminal device 20 and calculates the amount of correction for each joint point of the object to be designed. The design support device 10 transmits the correction data, which indicates the amount of correction for each joint point, to the terminal device 20.

[0036] Terminal device 20 is an example of an information processing terminal such as a personal computer, smartphone, or tablet terminal operated by a user of the design support system 1000. Terminal device 20 transmits design data specified by the user to the design support system 10. Terminal device 20 receives modified data from the design support system 10 and presents it to the user.

[0037] The overall configuration of the design support system 1000 shown in Figure 4 is just one example, and various system configurations are possible depending on the application and purpose. For example, one or more design support devices 10 and terminal devices 20 may be included in the design support system 1000. For example, the design support device 10 may be implemented using multiple computers, or it may be implemented as a cloud computing service. For example, the design support device 10 may be implemented using a standalone computer. The classification of devices such as the design support device 10 and terminal device 20 shown in Figure 4 is just one example.

[0038] <Hardware Configuration> The hardware configuration of the design support system 1000 in this embodiment will be described with reference to Figure 5. The design support device 10 and terminal device 20 included in the design support system 1000 are implemented, for example, by a computer. Figure 5 is a block diagram showing an example of the computer's hardware configuration.

[0039] As shown in Figure 5, the computer 500 includes a CPU (Central Processing Unit) 501, ROM (Read Only Memory) 502, RAM (Random Access Memory) 503, HDD (Hard Disk Drive) 504, input device 505, display device 506, communication interface 507, and external interface 508. The CPU 501, ROM 502, and RAM 503 form what is known as a computer. Each piece of hardware in the computer 500 is interconnected via a bus line 509. The input device 505 and display device 506 may also be connected to the computer 500 via the external interface 508 for use.

[0040] The CPU 501 is a processing unit that controls and implements the overall functions of the computer 500 by reading programs and data from storage devices such as the ROM 502 or HDD 504 onto the RAM 503 and executing processing.

[0041] ROM502 is an example of non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. ROM502 functions as the main memory, storing various programs and data necessary for the CPU501 to execute the programs installed on HDD504. Specifically, ROM502 stores boot programs such as BIOS (Basic Input / Output System) and EFI (Extensible Firmware Interface) that are executed when the computer 500 starts up, as well as OS (Operating System) settings, network settings, and other data.

[0042] RAM503 is an example of volatile semiconductor memory (storage device) whose programs and data are erased when the power is turned off. RAM503 includes, for example, DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory). RAM503 provides a working area that is expanded when various programs installed on HDD504 are executed by CPU501.

[0043] HDD504 is an example of a non-volatile storage device that stores programs and data. The programs and data stored in HDD504 include the operating system (OS), which is the basic software that controls the entire computer 500, and applications that provide various functions on the OS. Note that computer 500 may use a storage device that uses flash memory as its storage medium (e.g., SSD: Solid State Drive) instead of HDD504.

[0044] The input device 505 includes a touch panel used by the user to input various signals, operation keys and buttons, a keyboard and mouse, and a microphone for inputting sound data such as voice.

[0045] The display device 506 consists of a display such as a liquid crystal or organic EL (Electro-Luminescence) that displays a screen, and a speaker that outputs sound data such as audio.

[0046] Communication I / F 507 is an interface that connects to a communication network and allows computer 500 to perform data communication.

[0047] External I / F 508 is an interface for external devices. Examples of external devices include the drive device 510.

[0048] The drive device 510 is a device for setting the recording medium 511. The recording medium 511 here includes media that record information optically, electrically, or magnetically, such as CD-ROMs, flexible disks, and magneto-optical disks. The recording medium 511 may also include semiconductor memory that records information electrically, such as ROMs and flash memory. This allows the computer 500 to read and / or write to the recording medium 511 via the external I / F 508.

[0049] The various programs to be installed on the HDD 504 are installed, for example, when the distributed recording medium 511 is set in a drive device 510 connected to an external I / F 508, and the various programs recorded on the recording medium 511 are read by the drive device 510. Alternatively, the various programs to be installed on the HDD 504 may be installed by downloading them via the communication I / F 507 from the communication network N or another network different from the communication network N.

[0050] <Functional Configuration> The functional configuration of the design support device 10 in this embodiment will be described with reference to Figure 6. Figure 6 is a block diagram showing an example of the functional configuration of the design support device.

[0051] As shown in Figure 6, the design support device 10 includes a standard storage unit 101, a design acquisition unit 110, a reference point determination unit 120, an error measurement unit 130, an optimization unit 140, and a result output unit 150.

[0052] The standard storage unit 101 is implemented by the RAM 503 or HDD 504 shown in Figure 5.

[0053] The design acquisition unit 110, the reference point determination unit 120, the error measurement unit 130, the optimization unit 140, and the result output unit 150 are realized by a process in which a program loaded from the HDD 504 onto the RAM 503, as shown in Figure 5, is executed by the CPU 501.

[0054] The standard storage unit 101 stores standard data indicating standard positions. The standard data is electronic data indicating the standard position corresponding to each joint point of the object being designed. The standard data may also be three-dimensional data indicating the shape of the object being joined and the coordinates of the joint points. The standard data may also be, for example, the design data of the object being joined. The design data of the object being joined may be provided, for example, by the manufacturer of the object being joined and stored in the standard storage unit 101.

[0055] The design acquisition unit 110 acquires design data for the object to be designed. The design acquisition unit 110 may also receive design data for the object to be designed from the terminal device 20. The design acquisition unit 110 may also accept input of design data for the object to be designed via the input device 505 of the design support device 10.

[0056] The reference point determination unit 120 determines the reference point based on the design data acquired by the design acquisition unit 110. The reference point is any point on the object to be designed. For example, the reference point determination unit 120 may determine a predetermined point as the reference point. The predetermined point may be any of the joint points. As an example, the joint point to be used as the reference point may be predetermined by designation by the manufacturer of the object to be joined or by agreement with the manufacturer of the object to be joined. The predetermined reference point may be shown in the design data of the object to be designed.

[0057] For example, the reference point determination unit 120 may determine a joint point as a reference point if the error from the standard position is less than or equal to a predetermined value. The predetermined value may be zero or a local minimum value near zero. In other words, the reference point determination unit 120 may determine a joint point as a reference point if the error from the standard position is small and no correction is required. The error used to determine the reference point may be measured using an arbitrary point as a temporary reference point, or it may be the error measured in the past while repeatedly correcting the design data.

[0058] The error measurement unit 130 measures the error between each joint point shown in the design data acquired by the design acquisition unit 110 and the standard position read from the standard storage unit 101. The error may also be measured by calculating the difference between the coordinates of the joint point of the design object and the coordinates of the standard position, with the reference point determined by the reference point determination unit 120 as the origin (i.e., x=0, y=0, z=0). The error may also be a three-dimensional vector indicating the direction and straight-line distance from the three-dimensional coordinates of the joint point to the three-dimensional coordinates of the standard position.

[0059] The optimization unit 140 optimizes the common movement amount and the individual movement amount based on the error measured by the error measurement unit 130. The common movement amount is the amount of movement that moves all the joint points while maintaining their relative positions. The individual movement amount is the amount of movement that moves the joint points individually after they have been moved by the common movement amount. The common movement amount and the individual movement amount may also be three-dimensional vectors.

[0060] The optimization unit 140 may optimize the common movement amount and the individual movement amount so that each joint point aligns with the standard position. That is, for each joint point, the optimization unit 140 may optimize the common movement amount and the individual movement amount so that the sum of the common movement amount and the individual movement amount is equal to the error.

[0061] Figure 7 is a diagram illustrating common and individual displacement amounts. As an example, Figure 7 shows three joint points C1-C3 and three standard positions D1-D3. V1-V3 are the errors between joint points C1-C3 and standard positions D1-D3, respectively.

[0062] Here, junction point C1 is taken as the reference point. In order to align the reference point C1 with the standard position D1, C1 to C3 are moved by the inverse vector α of the error V1 while maintaining the relative positions of junction points C2 and C3. Since the reference point C1 is the origin (0,0,0), when the reference point C1 moves, the other junction points C2 and C3 move in the opposite direction relative to it. The inverse vector α of the error V1 of the reference point C1 is the common amount of movement. The reference point C1 cancels out the error V1 with the inverse vector α of the error V1 and maintains its position at the origin (0,0,0).

[0063] To align the joint point C2 with the standard position D2 after moving it by a common displacement α, an additional movement of vector β2, which is the difference between the error V2 and the common displacement α, is required. Similarly, to align the joint point C3 with the standard position D3 after moving it by a common displacement α, an additional movement of vector β3, which is the difference between the error V3 and the common displacement α, is required. Vector β2 is the individual displacement of joint point C2, and vector β3 is the individual displacement of joint point C3. Therefore, the error V2 of joint point C2 is expressed as the sum of the common displacement α and the individual displacement β2. Also, the error V3 of joint point C3 is expressed as the sum of the common displacement α and the individual displacement β3.

[0064] The optimization unit 140 optimizes the common and individual displacement amounts to minimize a predetermined objective function. The objective function may include the L0 norm or L1 norm of the individual displacement amounts. Minimizing an objective function that includes the L0 norm or L1 norm of the individual displacement amounts has the effect of increasing the number of junctions where the individual displacement amounts are zero. In other words, using an objective function that includes the L0 norm or L1 norm of the individual displacement amounts can reduce the number of junctions that require correction.

[0065] The optimization unit 140 may further optimize the error tolerance flag for each joint point. The error tolerance flag is a truth value indicating whether or not an error is to be tolerated between the joint point and the standard position after moving the joint point by a common movement amount. For joint points where an error is tolerated, even if the error between the joint point and the standard position after moving by the common movement amount is not zero, the individual movement amount is not calculated if it is below a predetermined value. On the other hand, for joint points where an error is not tolerated, the individual movement amount is calculated if the error between the joint point and the standard position after moving by the common movement amount is not zero. Optimizing the truth value indicating whether or not an error is to be tolerated for each joint point has the effect of increasing the number of joint points where the individual movement amount is zero.

[0066] The optimization unit 140 does not need to set some axes of the joint point as optimization targets. For example, in the case of a joint formed by inserting a protrusion into a through hole, there is no need to optimize the length of the protrusion. In this case, the z-coordinate of the joint point that defines the penetration direction does not need to be set as an optimization target.

[0067] <<Formulation>> The formulation of the optimization calculation performed by the optimization unit 140 will be described below. Here, an example will be described in which one of the joint points is determined as a reference point and the L1 norm is used as the objective function.

[0068] Variables for mathematical optimization are shown in equations (1) to (3).

[0069] [Math]

[0070] where i is an integer of 1 or more and n or less, n is the number of joint points excluding the reference point, (s,t,u) is the common movement amount, (x i ,y i ,z i ) is the individual movement amount of the i-th joint point, (α i ,β i ,γ i ) is the error tolerance flag of the i-th joint point. The error tolerance flag α i ,β i ,γ i indicates that error is allowed when the value is 0, and indicates that error is not allowed when the value is 1.

[0071] Constants for mathematical optimization are shown in equation (4).

[0072] [Math]

[0073] where (a i ,b i ,c i ) is the error of the i-th joint point.

[0074] The objective function of mathematical optimization is shown in equation (5).

[0075]

number

[0076] However, I is the set of junction points excluding the reference point.

[0077] The constraints for mathematical optimization are shown in equations (6) to (13).

[0078]

number

[0079] However, M is a predetermined constant, J is the set of n junctions that optimize the x-coordinate, K is the set of n junctions that optimize the y-coordinate, L is the set of n junctions that optimize the z-coordinate, and ε is the tolerance for error. M is a constant used in a mathematical optimization method called the Big-M method, and x i ,y i ,z i It is an integer approximately 10 times the value. ε can be arbitrarily determined according to the size of the object being designed or the characteristics of the joint, etc. For example, ε may be as small as 0.05 mm.

[0080] Let's explain the error tolerance flag in more detail. Error tolerance flag α i If x is 1 (i.e., no error is allowed), then equations (6) and (9) become equations (14) and (15). The sum of the common displacement and the individual displacement x j +s is the error a j Since this is equal to the common displacement s and error a, j Unless they are equal, individual displacement x j This value is non-zero.

[0081]

number

[0082] On the other hand, the error tolerance flag α i If x is 0 (i.e., error is allowed), then equations (6) and (9) become equations (16) and (17). The sum of the common displacement and the individual displacement x j +s is the error a j Since it is sufficient if the error after movement by the common displacement is within the range of ±ε, the individual displacement x j It becomes zero.

[0083]

number

[0084] The result output unit 150 outputs corrected data indicating the correction amount for each junction point, based on the common and individual movement amounts optimized by the optimization unit 140. Specifically, the result output unit 150 uses the correction amount for the reference point as the inverse vector of the common movement amount, and the correction amounts for junction points other than the reference point as the individual movement amounts, and generates corrected data indicating the correction amount for each junction point.

[0085] The result output unit 150 transmits the generated corrected data to the terminal device 20. The result output unit 150 may also display the generated corrected data on the display device 506 of the design support device 10.

[0086] <Processing Procedure> The design support method performed by the design support system 1000 in this embodiment will be described with reference to Figure 8. Figure 8 is a flowchart showing an example of a design support method.

[0087] In step S1, the user of the design support system 1000 inputs design data for the object to be designed into the terminal device 20. The terminal device 20 transmits the input design data to the design support device 10.

[0088] The design acquisition unit 110 of the design support device 10 receives design data from the terminal device 20. The design acquisition unit 110 acquires the received design data. The design acquisition unit 110 sends the acquired design data to the reference point determination unit 120.

[0089] In step S2, the reference point determination unit 120 of the design support device 10 receives design data from the design acquisition unit 110. Based on the received design data, the reference point determination unit 120 determines the reference points. The reference point determination unit 120 sends the determined reference points to the error measurement unit 130. If the reference points are predetermined, step S2 may be omitted.

[0090] In step S3, the error measurement unit 130 of the design support device 10 receives a reference point from the reference point determination unit 120. If the reference point is predetermined, the error measurement unit 130 may obtain the reference point from the design data acquired in step S1.

[0091] The error measurement unit 130 obtains the joint points from the design data acquired in step S1. The error measurement unit 130 reads the standard position from the standard storage unit 101. Based on the reference point, the error measurement unit 130 measures the error between each joint point and the standard position. The error measurement unit 130 sends the measured error to the optimization unit 140.

[0092] In step S4, the optimization unit 140 of the design support device 10 receives the error for each joint point from the error measurement unit 130. Based on the error for each joint point, the optimization unit 140 optimizes the common movement amount, individual movement amount, and error tolerance flag to minimize an objective function that includes the L0 norm or L1 norm of the individual movement amount. The optimization unit 140 sends the optimization results of the common movement amount and individual movement amount to the result output unit 150.

[0093] In step S5, the result output unit 150 of the design support device 10 receives the optimization results from the optimization unit 140. Based on the common and individual movement amounts included in the optimization results, the result output unit 150 determines the correction amount for each joint point. The result output unit 150 generates correction data indicating the correction amount for each joint point. The result output unit 150 transmits the correction data to the terminal device 20.

[0094] The terminal device 20 receives correction data from the design support device 10. Based on the correction data, the terminal device 20 presents the user with the correction amount for each joint point. The terminal device 20 may also display the correction amount for each joint point on its display device 506.

[0095] The user of terminal device 20 may modify the design data by referring to the modification amount for each joint point. Specifically, the user of terminal device 20 modifies the joint point designated as the reference point in the design data to a position moved by the inverse vector of the common movement amount, and modifies the joint points other than the reference point to a position moved by the individual movement amount. In this case, joint points with a modification amount of zero are not modified.

[0096] Subsequently, the user of the terminal device 20 may create or modify a mold based on the revised design data. Alternatively, the user may create a prototype of the module using the new mold and determine whether the errors at the joints formed on the prototype are within the acceptable range. If the errors at the joints are outside the acceptable range, the user may input the revised design data into the terminal device 20 and obtain new revised data. If the errors at all joints are within the acceptable range, the user may manufacture the designed object using the mold created based on that design data.

[0097] <Evaluation Results> The results of the optimization performance evaluation in this embodiment will be explained with reference to Figures 9 and 10. As an example, the evaluation used power module design data, with 57 components targeted for optimization. The SCIP (SCIP Optimization Suite) was used as the optimization solver. The components targeted for optimization are the values ​​of the axes targeted for optimization among the coordinates of the junction points.

[0098] ≪Objective Function≫ Figure 9 shows an example of the evaluation results for the objective function. In the evaluation of the objective function, the optimization results were compared using the L0 norm, L1 norm, and L2 norm as the objective function. In the evaluation of the objective function, a constraint condition that does not allow for error was used.

[0099] As shown in Figure 9, when the L0 norm was used, there were 37 non-zero components and 20 zero components in the individual displacements. The calculation time was 0.034 seconds. When the L1 norm was used, there were 37 non-zero components and 20 zero components in the individual displacements. The calculation time was 0.008 seconds. When the L2 norm was used, there were 57 non-zero components and 0 zero components in the individual displacements. The calculation time was 0.036 seconds. In the evaluation of the objective function, it was shown that using the L0 or L1 norm can reduce the number of junctions that require correction.

[0100] When using the L0 or L1 norm, the problem becomes a mixed-integer linear optimization problem because the variables to be optimized include binary variables. Since the number of binary variables to be optimized is greater with the L0 norm, the computation time is longer when using the L0 norm compared to when using the L1 norm. When using the L2 norm, it becomes a mixed-integer quadratic optimization problem. The number of binary variables is the same for the L2 norm and the L1 norm, but the computation time is slightly longer than that of the L2 norm, which is a quadratic optimization problem, although the optimal solution can be obtained in about the same amount of time as with the L0 norm.

[0101] ≪Tolerance for errors≫ Figure 10 shows an example of the evaluation results regarding whether or not errors are tolerable. In the evaluation regarding whether or not errors are tolerable, the L1 norm was used as the objective function, and the optimization results were compared under constraints that allow errors and constraints that do not allow errors.

[0102] As shown in Figure 10, when using constraints that do not allow errors, there were 37 non-zero components and 20 zero components in the individual movement amounts. The calculation time was 0.008 seconds. When using constraints that allow errors, there were 16 non-zero components and 41 zero components in the individual movement amounts. The calculation time was 0.061 seconds. The evaluation regarding the acceptance or rejection of errors showed that using constraints that allow errors reduces the number of joints that need to be corrected. As mentioned above, the fewer joints that need to be corrected, the more partially the mold can be corrected, which is preferable.

[0103] Furthermore, when using constraints that allow for errors, the problem becomes a mixed-integer linear optimization problem because the variables to be optimized include binary variables. Therefore, the computation time is longer when using constraints that allow for errors.

[0104] <Effects of the Embodiment> In this embodiment, the design support device 10 measures the error between each of the multiple joint points that connect to other objects and the standard position, and quickly optimizes a common movement amount that moves the joint points while maintaining their relative positions so that the joint points align with the standard position, and individual movement amounts that move the joint points individually after moving them by the common movement amount.

[0105] Traditionally, designing parts required repeatedly performing a series of tasks, including creating design data, creating molds using that data, measuring errors in prototypes produced with those molds, and correcting the design data based on those errors. By calculating the amount of correction for each joint point with high precision using mathematical optimization methods, the number of repetitions of this series of tasks can be reduced. In one aspect, this embodiment allows for efficient correction of design data in the manufacturing of objects that are joined to other objects.

[0106] The design support device 10 may optimize the common and individual movement amounts so as to minimize an objective function that includes the L0 norm or L1 norm of the individual movement amounts. By using the L0 norm or L1 norm as the objective function, a result was obtained in which there are many non-zero components in the optimization result. According to this embodiment, the number of joints that need to be modified can be reduced. If the mold used to manufacture the part can be partially modified, the fewer joints that need to be modified, the more efficiently the mold can be modified. As a result, parts that are joined with other parts can be designed efficiently.

[0107] The design support device 10 may further optimize the truth value indicating whether or not to allow an error between the joint point after movement by a common amount and the standard position. If an error after movement by a common amount is allowed, the non-zero component of the optimization result will increase further. According to this embodiment, the number of joint points that require correction can be further reduced.

[0108] The design support device 10 may use one of the joint points as a reference point and determine the common displacement amount based on the error of the reference point. The design support device 10 may also determine a joint point whose error is less than or equal to a predetermined value as the reference point. According to this embodiment, since correction of the reference point is unnecessary, the number of joint points that need to be corrected can be further reduced.

[0109] [supplement] Each of the embodiments described above can be implemented by one or more processing circuits. Hereinafter, "processing circuit" as used herein includes processors programmed to execute each function by software, such as CPUs (Central Processing Units) or GPUs (Graphics Processing Units) implemented by electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), FPGAs (Field Programmable Gate Arrays), and conventional circuit modules designed to execute each of the functions described above.

[0110] While embodiments of the present disclosure have been described in detail above, the embodiments disclosed herein are illustrative and not restrictive in all respects. The embodiments can be modified and improved in various ways without departing from the scope and spirit of the appended claims. The features described in the above embodiments can be combined in any way that is not inconsistent with other configurations.

[0111] This application claims priority to Japanese Patent Application No. 2024-49767, filed with the Japan Patent Office on 26 March 2024, which is incorporated herein by reference to its entire contents. [Explanation of Symbols]

[0112] 10:Design support equipment 20: Terminal device 101: Standard Storage Unit 110: Design acquisition department 120: Reference point determination section 130:Error measurement section 140: Optimization Department 150: Result output section 1000: Design support system

Claims

1. A design acquisition unit is configured to acquire design data for an object that has multiple connection points with other objects, An error measuring unit is configured to measure the error between each of the aforementioned joint points and the standard position, An optimization unit is configured to optimize a common movement amount that moves all of the joint points while maintaining their relative positions, based on the error of each of the joint points, and an individual movement amount that moves each of the joint points individually after they have been moved by the common movement amount. A result output unit is configured to output correction data indicating the correction amount for each of the joint points based on the common movement amount and the individual movement amount, A design support device equipped with the following features.

2. A design support device according to claim 1, The optimization unit is configured to optimize the common movement and the individual movement so as to minimize an objective function that includes the L0 norm or L1 norm of the individual movement. Design support equipment.

3. A design support device according to claim 1, The optimization unit is configured to further optimize the truth value that indicates whether or not to allow an error between the joint point and the standard position after moving by the common movement amount. Design support equipment.

4. A design support device according to any one of claims 1 to 3, The system further comprises a reference point determination unit configured to determine any of the aforementioned joint points as a reference point, The optimization unit is configured to determine the common displacement amount based on the error of the reference point. Design support equipment.

5. A design support device according to claim 4, The reference point determination unit is configured to determine the joint point where the error is less than or equal to a predetermined value as the reference point. Design support equipment.

6. Computers A procedure for obtaining design data for an object that has multiple connection points with other objects, A procedure for measuring the error between each of the aforementioned joint points and the standard position, A procedure for optimizing a common movement amount for moving all of the joint points while maintaining their relative positions, and an individual movement amount for moving each of the joint points individually after they have been moved by the common movement amount, based on the error of each of the joint points. A procedure for outputting correction data indicating the correction amount for each of the joint points based on the common movement amount and the individual movement amount, A design support method for executing this.

7. On the computer, A procedure for obtaining design data for an object that has multiple connection points with other objects, A procedure for measuring the error between each of the aforementioned joint points and the standard position, A procedure for optimizing a common movement amount for moving all of the joint points while maintaining their relative positions, and an individual movement amount for moving each of the joint points individually after they have been moved by the common movement amount, based on the error of each of the joint points. A procedure for outputting correction data indicating the correction amount for each of the joint points based on the common movement amount and the individual movement amount, A program to execute.

Citation Information

Patent Citations

  • Piping temporary set simulation device and piping manufacture method

    JP1998293776A

  • Method for molding interior and exterior members of vehicle

    JP2015172890A

  • Positioning method, positioning device, and program

    JP2019008007A

  • System and method for automating the generation of manufacturing frame designs

    US20050096885A1