Method and apparatus for designing the mechanism of the instrument by using SLM

KR102999440B1Active Publication Date: 2026-08-03IDEA OCEAN CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
IDEA OCEAN CO LTD
Filing Date
2024-01-30
Publication Date
2026-08-03

Smart Images

  • Figure 112024012006942-PAT00054_ABST
    Figure 112024012006942-PAT00054_ABST
Patent Text Reader

Abstract

A device according to one aspect comprises at least one memory; and at least one processor; wherein the processor acquires coordinate data of a plurality of links based on a plurality of mechanism design information, calculates one of a plurality of conditions using the coordinate data, determines whether the calculated condition satisfies a preset design standard, and designs a mechanism of the apparatus based on the result of the determination.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a method and apparatus for designing the mechanism of a device using an SLM. Background Technology

[0002] Conventionally, designers directly set the phase of the mechanism and then designed the mechanism using geometric equations. This method has the advantage of speed in analyzing and designing the mechanism.

[0003] However, there were difficulties in designing a mechanism with desired performance within a limited phase, and a high level of proficiency was required from the mechanism designer to design a new mechanism without knowing the phase and shape.

[0004] In addition, existing autonomous design methods such as SBM (Spring-connected Rigid Block Model) or JBM (Joint-element connected Rigid Block Model) enable automatic synthesis without designer intervention and allow for the design of creative mechanisms. However, they could not represent shapes where links were intertwined, and a significant amount of time was required to analyze and design 3D mechanisms due to the many design variables. The problem to be solved

[0005] The invention provides a method and apparatus for designing the mechanism of a device using an SLM. Additionally, the invention provides a computer-readable recording medium storing a program for executing the above method on a computer. The technical problems to be solved are not limited to those described above, and other technical problems may exist. means of solving the problem

[0006] According to one aspect of the present disclosure, a method for designing a mechanism of a mechanism using an SLM can be provided, comprising: a step of obtaining coordinate data of a plurality of links based on a plurality of mechanism design information; a step of calculating one of a plurality of conditions using said coordinate data; a step of determining whether said calculated condition satisfies a preset design criterion; and a step of designing a mechanism of a mechanism based on said determination result.

[0007] An apparatus according to another aspect of the present disclosure comprises: a memory in which at least one program is stored; and at least one processor that executes said at least one program, wherein the at least one processor acquires coordinate data of a plurality of links based on a plurality of mechanism design information, calculates one of a plurality of conditions using said coordinate data, determines whether said calculated condition satisfies a preset design criterion, and can design a mechanism of the apparatus based on said determination result.

[0008] A computer-readable recording medium according to another aspect of the present disclosure includes a recording medium that records a program for executing the above-described method on a computer. Effects of the invention

[0009] All special mechanisms, such as the shape of a twisted link, can be designed.

[0010] In addition, 3D mechanisms with hundreds or more variables can be designed quickly and accurately.

[0011] In addition, a mechanism satisfying the designer's desired degrees of freedom can be designed using a work transfer efficiency function.

[0012] In addition, since there are few design variables, an optimal design can be achieved using various optimization techniques.

[0013] However, the effects of the embodiments are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art from the description of the present invention. Brief explanation of the drawing

[0014] FIG. 1 is a drawing for explaining an example of a method for designing a mechanism of a device according to one embodiment. FIG. 2 is a configuration diagram illustrating an example of a device for designing the mechanism of a mechanism according to one embodiment. FIG. 3 is a flowchart illustrating an example of a method for designing a mechanism of a device according to one embodiment. FIG. 4 is a drawing for explaining an example of a rotary joint (R joint) according to one embodiment. FIG. 5 is a drawing for explaining an example of a translational joint (P joint) according to one embodiment. FIG. 6 is a drawing for explaining an example of design information according to one embodiment. FIG. 7 is a diagram illustrating an example of a design variable based on the number of links according to one embodiment. FIG. 8 is a drawing for explaining an example of a design space in which a plurality of mechanism design information is set according to one embodiment. FIG. 9 is a drawing for explaining an example of a first condition for determining a shape according to one embodiment. FIG. 10 is a drawing for explaining an example of a second condition for determining coordinates and time according to one embodiment. FIG. 11 is a diagram illustrating an example of a method for deriving update values ​​of design variables using an optimization technique according to one embodiment. FIG. 12 is a drawing for summarizing and explaining a method for designing a mechanism of a device according to one embodiment. Specific details for implementing the invention

[0015] The terms used in the embodiments have been selected to be as close as possible to currently widely used general terms; however, these may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been selected at the applicant's discretion, and in such cases, their meanings will be described in detail in the relevant description section. Therefore, terms used in the specification must be defined not merely by their names, but based on their meanings and the content throughout the specification.

[0016] When a part of the specification is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, terms such as "~ unit" or "~ module" as used in the specification refer to a unit that processes at least one function or operation, and this may be implemented in hardware or software, or as a combination of hardware and software.

[0017] Additionally, terms including ordinal numbers, such as "first" or "second," used in the specification may be used to describe various components, but said components should not be limited by said terms. Such terms may be used for the purpose of distinguishing one component from another.

[0018] The present disclosure will be described in detail below with reference to the attached drawings. However, embodiments may be implemented in various different forms and are not limited to the examples described herein.

[0019] FIG. 1 is a drawing for explaining an example of a method for designing a mechanism of a device according to one embodiment.

[0020] Referring to FIG. 1, the mechanism of the mechanism (1) can be represented using a link (10) and a spring (20).

[0021] The designer can represent the mechanism of the device (1) using links (10) and springs (20). A connection formed by joints between multiple links (10) may be represented in the form of a spring (20), and when links (10) are not connected to each other, they may be connected to the ground.

[0022] Conventionally, structures connected by rotational or translational joints of links (10) were analyzed using traditional geometry-based mechanism analysis methods or by utilizing block models such as SBM / JBM. However, traditional methods have the disadvantage that they require experience and intuition, as well as trial and error, for designing new machines where the topology and shape are unknown. Furthermore, in the case of block models, the shape of links or blocks being twisted could not be expressed, and the analysis and design took a long time due to the excessive number of design variables. The present invention solves these problems by using the coordinates of both nodes (100) of the links (10) as design variables to reduce the time required for analysis and design and to express the shape of links (10) being twisted.

[0023] In addition, for convenience of explanation, the present disclosure describes the design of a 2D mechanism with reference only to drawings, but is not limited thereto and can design a 3D mechanism.

[0024] FIG. 2 is a configuration diagram illustrating an example of a device for designing the mechanism of a mechanism according to one embodiment.

[0025] Referring to FIG. 2, a device (hereinafter referred to as the 'device') (200) for designing the mechanism of a device may include a communication unit (210), a processor (220), and a memory (230). Only the components related to the embodiment are shown in the device (200) of FIG. 2. Therefore, it is obvious to a person skilled in the art that other general-purpose components may be included in addition to the components shown in FIG. 2.

[0026] The communication unit (210) may include one or more components that enable wired / wireless communication with an external server or external device. For example, the communication unit (210) may include a short-range communication unit (not shown) and a mobile communication unit (not shown) for communication with an external server or external device.

[0027] The memory (230) is hardware that stores various data processed within the device (200) and can store a program for processing and controlling the processor (220).

[0028] For example, various data such as multiple mechanism design information of the processor (220), coordinate data of the links, and data generated according to operation can be stored in the memory (230). In addition, an operating system (OS) and at least one program (e.g., a program required for the processor (220) to operate) can be stored in the memory (230).

[0029] The memory (230) may include RAM (random access memory), such as DRAM (dynamic random access memory) and SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), CD-ROM, Blu-ray or other optical disc storage, HDD (hard disk drive), SSD (solid state drive), or flash memory.

[0030] The processor (220) controls the overall operation of the device (200). For example, the processor (220) can control the input unit (not shown), display (not shown), communication unit (210), memory (230), etc., by executing programs stored in memory (230).

[0031] The processor (220) may be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers, microcontrollers, microprocessors, and other electrical units for performing functions.

[0032] The processor (220) can control the operation of the device (200) by executing programs stored in memory (230). For example, the processor (220) can perform at least some of the methods for designing the mechanism of the device described with reference to FIGS. 3 to 12.

[0033] In other words, the processor (220) can acquire coordinate data of multiple links based on multiple mechanism design information and calculate one of multiple conditions using the coordinate data. Additionally, the processor (220) can determine whether the calculated condition satisfies a preset design standard and can design the mechanism of the apparatus based on the result of the determination.

[0034] First, the processor (220) can obtain coordinate data of multiple links based on multiple mechanism design information. Here, the multiple mechanism design information may include a design space, the number of links, an input motion, a target motion, an output node, and design variables. Additionally, the processor (220) can set the input motion, the number of links, and the output node required to perform the target motion in the design space, and calculate the coordinate data of the links based on the initial values ​​of the set input motion, the number of links, the output node, and the design variables.

[0035] For example, the processor (220) can calculate any one of a plurality of conditions using coordinate data. Here, the plurality of conditions may include a first condition for determining a shape, a second condition for determining coordinates and time, and a third condition for calculating an objective function. For example, the shape may be the shape of a target motion path, and the coordinates may be the coordinates of the target motion path according to time. Additionally, the processor (220) may calculate either the first condition or the second condition based on the target motion, and calculate the third condition based on the input motion.

[0036] For example, the processor (220) can determine whether the calculated condition satisfies the pre-set design criteria and can design the mechanism of the apparatus based on the determination result. Here, if the processor (220) determines that the calculated condition satisfies the pre-set design criteria based on the determination result, it can design the mechanism of the apparatus using coordinate data.

[0037] Additionally, if the processor (220) determines, based on the judgment result, that the calculated condition does not satisfy the pre-set design criteria, it can derive an update value for the design variable using an optimization technique, and can determine whether the calculated condition satisfies the pre-set design criteria using the update value for the design variable. That is, the processor (220) can update the design variable using an optimization technique until the calculated condition satisfies the pre-set design criteria based on the judgment result.

[0038] FIG. 3 is a flowchart illustrating an example of a method for designing a mechanism of a device according to one embodiment.

[0039] Referring to FIG. 3, a method for designing the mechanism of the apparatus may include steps 310 to 340. However, it is not limited thereto, and other general steps in addition to those shown in FIG. 3 may be further included in the method for designing the mechanism of the apparatus. Also, as described above with reference to FIG. 1 and FIG. 2, at least one of the steps of the flowchart shown in FIG. 3 may be processed by a processor (220).

[0040] Before describing how the processor (220) processes at least one of the steps of the flowchart shown in FIG. 3, an example of a rotational joint (R joint) or translational joint (P joint) structure formed by connecting a plurality of links is described with reference to FIG. 4 and FIG. 5.

[0041] FIG. 4 is a drawing for explaining an example of a rotary joint (R joint) according to one embodiment.

[0042] FIG. 5 is a drawing for explaining an example of a translational joint (P joint) according to one embodiment.

[0043] First, referring to FIG. 4, any one of the nodes (430) of Link i (410) and Link j (420) can be connected to each other or to the ground (440) by a spring.

[0044] A rotary joint can refer to a part that is connected in a way that allows rotation.

[0045] As an example, the distance between nodes (430). If is less than R, Link i (410) and Link j (420) may be connected by a spring. As another example, the distance between the nodes (430) In the case where R is greater than, Link i (410) and Link j (420) are not connected to each other, but may each be connected to the ground (440) and springs.

[0046] Here, is the stiffness of the spring connecting Link i (410) and Link j (420), and and is the stiffness of the springs connecting Link i (410) and Link j (420) to the ground (440), respectively, and R can be any pre-set value. Also, The value is in mathematical formula 1, and The value is given by mathematical formula 2, and the distance between the nodes (430) It can be calculated using Equation 3. Equations 1 through 3 are as follows.

[0047]

[0048]

[0049]

[0050] Here, , , and can be a pre-set value, , , and These could be the coordinates of Link i (410) and Link j (420), respectively.

[0051] Referring to FIG. 5, the body of Link i (510) and one node (530) of Link j (520) can be connected by a spring.

[0052] A translational joint can refer to a part connected to enable translational motion. Furthermore, translational motion can be understood as parallel translation.

[0053] As an example, the distance between the body of Link i (510) and any node (530) of Link j (520). If is less than R, the body of Link i (510) and the node (530) of Link j (520) may be connected by a spring. As another example, the distance between the body of Link i (510) and one node (530) of Link j (520). If R is greater than Link i (510) and Link j (520) may be separated.

[0054] Additionally, when the body of Link i (510) and the node (530) of Link j (520) are connected by a spring, the movement of the links can be determined according to the direction of the spring stiffness. For example, if the direction of the spring stiffness is given only in the n-direction, Link j (520) may be allowed only translational movement.

[0055] Here, is the stiffness of the spring connecting Link i (510) and Link j (520), and R can be any pre-set value. Also, The value can be calculated using the above-described mathematical formula 1, and is the distance between any one node (530) of Link i (510) and Link j (520). can be calculated using Equation 4. Equation 4 is as follows.

[0056]

[0057] Here, and is the coordinates of one of the nodes of Link i (510), and is the coordinates of the other node of Link i (510), and and can mean the coordinates of the node connected to Link i (510) among the two nodes of Link j (520).

[0058] Again, referring to FIG. 3, in step 310, the processor (220) can obtain coordinate data of a plurality of links based on a plurality of mechanism design information. Here, the design information may include a design space, the number of links, an input motion, a target motion, an output node, and design variables.

[0059] For example, the processor (220) can set the input motion, the number of links, and the output nodes required to perform the target motion in the design space, and calculate the coordinate data of the links based on the initial values ​​of the set input motion, the number of links, the output nodes, and the design variables.

[0060] Here, the processor (220) may receive user input or use an artificial intelligence model to set the input motion, the number of links, and the output nodes. As an example, the processor (220) may receive user input to set the number of links to be used in the design space, the input motion, the target motion, and the output nodes, and obtain coordinate data of multiple links. As another example, the processor (220) may use a learned artificial intelligence model to set the optimal input motion, the number of links, and the output nodes.

[0061] Hereinafter, with reference to FIG. 6, multiple mechanism design information will be described in detail.

[0062] FIG. 6 is a drawing for explaining an example of design information according to one embodiment.

[0063] Referring to FIG. 6, the processor (220) can obtain coordinate data of the links using design information in the design space (600).

[0064] Here, the design space (600) may refer to a space in which at least one link (610) can move. Additionally, the input motion may be set by considering the coordinates of the motor (or actuator), the node (620) of the link to which the motor is connected, and the degree to which the link to which the motor is connected is rotated. Additionally, the target motion (630) may refer to the movement of the mechanism desired by the designer. Additionally, the output node (640) may refer to the node of the link among at least one link (610) that represents the target motion (630).

[0065] Accordingly, the processor (220) can set the number of links (610) to be used in the design space (600), input movements, target movements (630), and output nodes (640) to represent the target movements (630) by receiving user input or using an artificial intelligence model.

[0066] Additionally, the processor (220) can calculate coordinate data of the links (610) based on the set input motion, the number of links (610), the output node (640), and the initial values ​​of the design variables.

[0067] For example, the processor (220) can calculate time-dependent coordinate data of the links (610) based on the set design information. Here, the coordinate data of the links may be the coordinate data of the nodes at both ends of each link (610), and this may be used as a design variable. Thus, the design variable may be expressed as (x, y) coordinates in the case of a 2D mechanism, and as (x, y, z) coordinates in the case of a 3D mechanism.

[0068] Additionally, the processor (220) may receive user input or set initial values ​​of design variables using an artificial intelligence model, and may derive updated values ​​of design variables using an artificial intelligence model. An example of a method by which the processor (220) derives updated values ​​of design variables using an artificial intelligence model will be described later with reference to FIG. 11.

[0069] Hereinafter, design variables will be explained with reference to FIG. 7.

[0070] FIG. 7 is a diagram illustrating an example of a design variable based on the number of links according to one embodiment.

[0071] Referring to FIG. 7, the processor (220) can obtain design variables according to the number of links (700).

[0072] As described above with reference to FIG. 6, the design variable may be the coordinates of the two end nodes (720) of the link (700). However, the design variable may not include the coordinates of the node (710) of the link to which the motor is to be coupled.

[0073] Accordingly, as illustrated in FIG. 7, when there are 5 links (700), the processor (220) can derive the coordinates of the remaining 9 nodes, excluding the coordinates of the node (710) of the link to which the motor is to be coupled, as design variables. Here, the number of design variables in the case where there are 5 links (700) may be 18.

[0074] That is, since there are two nodes (720) in one link (700) and the coordinates of one node (720) are expressed as (x, y) coordinates, the processor (220) can derive a total of 18 design variables by finding the (x, y) coordinates of the remaining 9 nodes, excluding the node (710) of the link to which the motor is to be coupled, when there are 5 links (700).

[0075] Additionally, the processor (220) can receive user input or use an artificial intelligence model to set initial values ​​for design variables. Thus, the processor (220) can determine the initial positions of the links (700) by setting initial values ​​for design variables.

[0076] Hereinafter, with reference to FIG. 8, an example of a method for calculating design space and coordinate data in which multiple mechanism design information is set will be described.

[0077] FIG. 8 is a drawing for explaining an example of a design space in which a plurality of mechanism design information is set according to one embodiment.

[0078] Referring to FIG. 8, five links (830) are connected in the design space (800) in the structure of a rotary joint or a translational joint.

[0079] For example, the processor (220) can define the design problem by setting the node (820) to which the motor is to be coupled, the output node (840), and the target motion (810).

[0080] For example, the processor (220) can calculate time-dependent coordinate data of the output node moving along the target motion based on the set input motion and time-dependent coordinate data of the remaining 8 nodes while the motor-coupled node (820) is in a fixed state.

[0081] That is, the processor (220) can calculate time-dependent coordinate data of all nodes (850) according to the movement of the links that are translational or rotating according to the input motion.

[0082] Again, referring to FIG. 3, in step 320, the processor (220) can calculate any one of a plurality of conditions using coordinate data.

[0083] For example, the processor (220) can calculate either a first condition or a second condition based on the target motion, and can calculate a third condition based on the input motion. Here, the plurality of conditions may include a first condition for determining a shape, a second condition for determining coordinates and time, and a third condition for calculating an objective function. For example, the shape may be the shape of the target motion path, and the coordinates may be the coordinates of the target motion path over time.

[0084] And, in step 330, the processor (220) can determine whether the calculated condition satisfies a pre-set design criterion.

[0085] Hereinafter, with reference to FIGS. 9 and 10, an example of a method for calculating a first condition or a second condition based on a target motion and determining whether a pre-set design criterion is satisfied will be described.

[0086] FIG. 9 is a drawing for explaining an example of a first condition for determining a shape according to one embodiment.

[0087] FIG. 10 is a drawing for explaining an example of a second condition for determining coordinates and time according to one embodiment.

[0088] First, referring to FIG. 9, the processor (220) can calculate a first condition when the shape (920) of the output node satisfies only the shape (910) of the target motion.

[0089] For example, the processor (220) calculates the coordinates of the center point C of the shape (910) of the set target motion, and uses the calculated coordinates of C to obtain a centroid distance function We can derive the center distance function. Here, the center distance function Since it is a function of time and coordinates, the processor (220) uses a Fourier descriptor to obtain the centroid distance function It can be converted into a function of frequency and subpath length.

[0090] The centroid distance function is It is the same as. Also, the processor (220) has the coordinates of the center point C ( ) can be calculated using the following mathematical formula 5.

[0091]

[0092]

[0093] Here, from the starting point of the path It can mean the value obtained by dividing the path length to the step by the total path length. In other words, may be a value indicating a point where n% of the total path length (n is a number between 0 and 100). Also, is of the path From the steps It can mean the value obtained by dividing the path length to the step by the total path length. In other words, This can mean the ratio that the length of a partial path occupies to the total path length.

[0094] That is, the processor (220) can calculate a first condition that determines only whether the shape (920) of the output node is identical to the shape (910) of the target motion, regardless of whether the time-dependent coordinates of the output node match the target motion.

[0095] Therefore, referring to graph (c), the processor (220) can determine that the first condition satisfies the pre-set design criteria because the overall shape matches, even if the time-dependent coordinates (911) of the target motion and the time-dependent coordinates (921) of the output node do not match.

[0096] Referring to FIG. 10, the processor (220) can calculate a second condition if the time-dependent coordinates (1021) of the output node match the time-dependent coordinates (1011) of the target movement.

[0097] For example, the processor (220) can calculate the difference between the path (1010) of the target movement and the path (1020) of the output node. Specifically, the processor (220) can calculate the difference between the time-dependent coordinates (1021) of the output node and the time-dependent coordinates (1011) of the target movement using the Euclidean distance error.

[0098] That is, the processor (220) can calculate a second condition to determine whether the time-dependent coordinates (1021) of the output node match the time-dependent coordinates (1011) of the target movement.

[0099] Accordingly, the processor (220) can determine that the second condition satisfies the pre-set design criteria if the time-dependent coordinates (1021) of the output node match the time-dependent coordinates (1011) of the target movement (1010).

[0100] Additionally, the processor (220) can determine whether the third condition always satisfies the pre-set design criteria, regardless of the overall shape or time-dependent coordinates of the output node.

[0101] Here, the third condition may be an objective function (or work transfer efficiency function). Additionally, the objective function may be a continuous function capable of calculating whether the input number of motions is equal to the degrees of freedom of the mechanism.

[0102] For example, the processor (220) may determine that the third condition satisfies the pre-set design criteria when the objective function is close to 1. As an example, the processor (220) may determine that the pre-set design criteria are satisfied if the result of calculating the objective function is 0.9 or higher. As another example, the processor (220) may determine that the pre-set design criteria are satisfied if the result of calculating the objective function is less than 0.9. However, values ​​such as 0.9 are merely examples and are not limited thereto.

[0103] In addition, the objective function can be calculated using the following mathematical formula 6.

[0104]

[0105] The time It can mean the objective function (work transmittance efficiency function) when, The time It can mean the number of exercises input when, The time It can mean the degrees of freedom of the mechanism when.

[0106] Again, referring to FIG. 3, in step 340, the processor (220) can design the mechanism of the apparatus based on the judgment result.

[0107] For example, if the processor (220) determines, based on the judgment result, that the calculated condition satisfies the pre-set design criteria, it can design the mechanism of the mechanism using coordinate data. In other words, if the processor (220) determines that either the first condition or the second condition calculated based on the target motion and the third condition satisfy the pre-set design criteria, it can design the mechanism of the mechanism using all link coordinate data.

[0108] For example, if the processor (220) determines, based on the judgment result, that the calculated condition does not satisfy the pre-set design criteria, it may derive an update value of the design variable using an optimization technique and determine whether the calculated condition satisfies the pre-set design criteria using the update value of the design variable. In other words, the processor (220) may update the design variable using an optimization technique in the case where the calculated condition does not satisfy the pre-set design criteria.

[0109] Hereinafter, with reference to FIG. 11, an example of a method in which a processor (220) derives an update value of a design variable using an optimization technique is described.

[0110] FIG. 11 is a diagram illustrating an example of a method for deriving update values ​​of design variables using an optimization technique according to one embodiment.

[0111] Referring to FIG. 11, the processor (220) can derive update values ​​for design variables using Bayesian optimization.

[0112] Here, Bayesian optimization is an effective method for optimizing an objective function; it is a technique that approximates the objective function using a probabilistic model and determines the next execution location based on this approximation. In other words, it is an optimization technique that derives the optimal value without finding the actual model, based on random search and statistical methods (Gaussian distribution).

[0113] The area containing the dotted and solid lines may represent the probability distribution, the dotted line the objective function, and the solid line the posterior mean. Here, the objective function is a work transfer efficiency function, which may imply the condition that the input number of motions and the degrees of freedom of the mechanism must be identical.

[0114] Accordingly, the processor (220) can derive a new value within the probability distribution area by using a random search at time t=3 (1102) based on the value derived at time t=2 (1101).

[0115] In this way, the processor (220) can derive an update value of a design variable using a Bayesian optimization technique when any one of the first condition, the second condition, or the third condition does not satisfy a preset criterion. That is, the processor (220) can derive an optimal design variable update value using a Bayesian optimization technique until a first condition or a second condition satisfying a preset criterion is obtained.

[0116] Additionally, the processor (220) can design the mechanism of the apparatus using all link coordinate data at that time as described above when the design variable update value derived using a Bayesian optimization technique and either the first condition or the second condition and the third condition satisfy the pre-set design criteria.

[0117] Hereinafter, with reference to FIG. 12, the method by which the processor (220) designs the mechanism of the apparatus is summarized and organized.

[0118] FIG. 12 is a drawing for summarizing and explaining a method for designing a mechanism of a device according to one embodiment.

[0119] Referring to FIG. 12, in step 1210, the processor (220) defines a design problem.

[0120] In step 1210, the processor (220) defining the design problem may mean that the processor (220), as described above with reference to FIGS. 6 and 7, sets a plurality of mechanism design information. That is, step 1210 may mean the step in which the processor (220) sets a plurality of mechanism design information including a design space, the number of links, an input motion, a target motion, an output node, and design variables.

[0121] In step 1220, the processor (220) performing motion analysis to calculate the objective function and constraint values ​​may mean that the processor (220), described above with reference to FIGS. 9 and 10, calculates a first condition or a second condition based on the target motion and calculates a third condition based on the input motion. That is, the first condition may mean the Fourier descriptor in step 1220, the second condition may mean the structural error in step 1220, and the third condition may mean the objective function in step 1220. Additionally, the motion analysis based on static analysis described in step 1220 may mean that the sum of the potential energies of the links required to design the mechanism of the device becomes zero (or minimum).

[0122] Additionally, in step 1230, the processor (220) can determine whether the Fourier description (or first condition), structural error (or second condition), or objective function (or third condition) satisfies the pre-set design criteria. Accordingly, if the Fourier description, structural error, or objective function satisfies the pre-set design criteria, the processor (220) can design the mechanism of the device. Additionally, if the Fourier description, structural error, or objective function does not satisfy the pre-set design criteria, the processor (220) can update the design variables using a Bayesian optimization technique and calculate the structural error or Fourier descriptor value again to determine whether the pre-set design criteria are satisfied.

[0123] Meanwhile, the above-described method can be written as a program executable on a computer and can be implemented on a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described method can be recorded on a computer-readable recording medium through various means. The computer-readable recording medium includes storage media such as magnetic storage media (e.g., ROM, RAM, USB, floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM, DVD, etc.).

[0124] A person skilled in the art related to the present embodiment will understand that it may be implemented in modified forms without departing from the essential characteristics of the description above. Therefore, the disclosed methods should be considered in an illustrative rather than a restrictive sense, and the scope of rights is defined in the claims rather than the description above, and should be interpreted to include all differences within the scope of equivalence.

Claims

Claim 1 A method for designing a mechanism of a device, comprising: a step of obtaining coordinate data of multiple links based on multiple mechanism design information; a step of calculating one of multiple conditions using the coordinate data; a step of determining whether the calculated condition satisfies a pre-set design criterion; and a step of designing a mechanism of a device based on the result of the determination. Claim 2 A method according to claim 1, wherein the design information includes a design space, the number of links, an input motion, a target motion, an output node, and design variables. Claim 3 In claim 2, the acquiring step comprises: a step of setting the input motion, the number of links, and the output nodes required to perform the target motion in the design space; and a step of calculating coordinate data of the links based on the initial values ​​of the set input motion, the number of links, the output nodes, and the design variables. Claim 4 In claim 2, the conditions include a first condition for determining a shape, a second condition for determining coordinates and time, and a third condition for calculating an objective function, and the calculating step comprises: a step of calculating either the first condition or the second condition based on the target motion; and a step of calculating the third condition based on the input motion. Claim 5 In claim 2, the designing step comprises the step of designing the mechanism of the apparatus using the coordinate data when, based on the judgment result, it is determined that the calculated condition satisfies the pre-set design criteria. Claim 6 In claim 2, the designing step comprises: a step of deriving an updated value of the design variable using an optimization technique when, based on the judgment result, it is determined that the calculated condition does not satisfy the preset design criteria; and a step of determining whether the calculated condition satisfies the preset design criteria using the updated value of the design variable. Claim 7 A computer-readable recording medium having a program for executing the method of claim 1 on a computer. Claim 8 A device for designing a mechanism of a mechanism, comprising: a memory in which at least one program is stored; and at least one processor for executing said at least one program, wherein the at least one processor acquires coordinate data of a plurality of links based on a plurality of mechanism design information, calculates one of a plurality of conditions using said coordinate data, determines whether said calculated condition satisfies a preset design standard, and designs a mechanism of a mechanism based on said determination result. Claim 9 In claim 8, the device, wherein the design information includes a design space, the number of links, an input motion, a target motion, an output node, and design variables. Claim 10 In claim 9, the device wherein at least one processor sets the number of links and the output nodes required to perform the target motion in the design space, and calculates coordinate data of the links based on the initial values ​​of the set input motion, the number of links, the output nodes, and the design variables. Claim 11 In claim 9, the above conditions include a first condition for determining a shape, a second condition for determining coordinates and time, and a third condition for calculating an objective function, and the at least one processor calculates either the first condition or the second condition based on the target motion and calculates the third condition based on the input motion. Claim 12 In claim 9, the device wherein at least one processor designs the mechanism of the apparatus using the coordinate data when, as a result of the judgment, it is determined that the calculated condition satisfies the preset design criteria. Claim 13 In claim 9, the device wherein the at least one processor derives an updated value of the design variable using an optimization technique when, based on the judgment result, it is determined that the calculated condition does not satisfy the preset design criteria, and determines whether the calculated condition satisfies the preset design criteria using the updated value of the design variable.