Digital twin system, control method thereof and graphic processing unit server

By executing multiple twin model modules on a GPU server and managing virtual factories using simulator modules, the problem of difficulty in managing multiple virtual factories between multiple computers or servers in the prior art is solved, and efficient on a single server is achieved The ability to manage and simulate multiple virtual factories.

CN119105412APending Publication Date: 2024-12-10HYUNDAI AUTOEVER
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410710293.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-09
Filing Date
2024-06-03
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

Existing digital twin systems have difficulty managing multiple virtual factories between multiple computers or servers, and can’t effectively manage and simulate multiple virtual factories on a single server.

Method used

By executing multiple twin model modules on the graphics processing unit (GPU) server and managing these modules using simulator modules, the simulation and data processing of multiple virtual factories is realized, and remote process calls (RPC), RestAPI, Socket, Kafka , and communicate between modules with interfaces such as message queue (MQ), establish and manage control logic to control virtual factories.

Benefits of technology

It realizes the simulation and data processing of multiple virtual factories on a single server, improves the flexibility and efficiency of the system, and can independently simulate and manage the configuration and data analysis of multiple virtual factories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119105412A_ABST
    Figure CN119105412A_ABST
Patent Text Reader

Abstract

The invention relates to a digital twin system, a control method thereof and a graphic processing unit server. A digital twinning system includes a plurality of twinning model modules and a plurality of digital factory modules. A respective digital twin system model of the plurality of digital twin system models includes control logic and is configured to virtualize a respective control system for a respective plant of the plurality of plants. A respective digital plant module of the plurality of digital plant modules is configured to virtualize a respective plant of the plurality of plants and is controlled by a respective twin model module of the plurality of twin model modules to create a virtual plant model. The digital twinning system also includes a simulator module configured to manage the plurality of twinning model modules.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of and priority to Korean Patent Application Nos. 10-2023-0073983, 10-2023-0073984, and 10-2023-0073985, filed on June 9, 2023, the disclosures of which are hereby incorporated by reference in their entirety. Technical Field

[0003] The present disclosure relates to a digital twin system. More specifically, the present disclosure relates to a digital twin system and a graphics processing unit server, as well as a method for controlling a digital twin system, a method for managing a configuration of a digital twin system, and a method for processing data of a digital twin system for virtualizing a control process of a factory and performing simulation on a computer. Background Art

[0004] Digital twin technology involves creating a virtual representation of a facility or plant in a virtual space, where the virtual representation is the same or similar to the actual facility or plant in order to conduct different simulations for testing purposes. This technology has been introduced and used across different fields, including manufacturing, aviation, construction, healthcare, energy, defense, urban planning, etc.

[0005] Digital twin technology enables monitoring the status of facilities or systems in virtual space to identify the timing of maintenance or repairs. Digital twin technology also facilitates testing of various situations that may occur during operation, allowing for preemptive prevention of accidents and reducing the risk of accidents. In addition, this technology can improve productivity, optimize facilities and significantly reduce the cost and time associated with manufacturing trial products.

[0006] This digital twin system can be implemented on a personal computer or on a server. Users can use a personal computer or access a related server to simulate a virtual factory to test the actual factory.

[0007] However, there is an inconvenience in that after the digital twin system has been implemented on one computer or one server and the virtual factory has been simulated on the computer or server, if the user wants to operate the digital twin system on another computer, the relevant configuration data or characteristic values ​​must be transferred to the other computer.

[0008] Furthermore, if a user wants to simulate multiple virtual factories for multiple real factories, there is no way to manage them on one server.

[0009] The discussion in this section provides background information only and does not constitute an admission of prior art. Summary of the invention

[0010] Aspects of the present disclosure provide a digital twin system, a graphics processing unit server, and a method for controlling the digital twin system, managing configuration, and processing data, which are capable of managing multiple virtual factories on a single simulator module.

[0011] Aspects of the present disclosure provide a digital twin system, a graphics processing unit server, and a method for controlling the digital twin server, managing configuration, and processing data, which can realize the virtualization of the control system of a factory and the actual factory in independent modules.

[0012] Aspects of the present disclosure provide a digital twin system, a graphics processing unit server, and a method for managing configuration, which are capable of managing configurations of multiple virtual factories on a single simulator module.

[0013] Aspects of the present disclosure provide a digital twin system, a graphics processing unit server, and a method for processing data, which are capable of processing data generated as a result of simulation when a single simulator module manages simulations of multiple virtual factories.

[0014] The technical tasks of the present disclosure are not limited to those tasks mentioned above. From the following description, ordinary technicians in the field to which the present disclosure belongs should more clearly understand other technical tasks not mentioned above.

[0015] According to one aspect of the present disclosure, a digital twin system is provided. The digital twin system includes multiple twin model modules. The corresponding modules in the multiple twin model modules i) include control logic, and ii) are configured to virtualize the corresponding control system of the corresponding control system for the corresponding factory in the multiple factories. The digital twin system also includes multiple digital factory modules. The corresponding digital factory in the multiple digital factories i) is configured to virtualize the corresponding factory in the multiple factories, and ii) is controlled by the corresponding twin model module in the multiple twin model modules to create a virtual factory model. The digital twin system further includes a simulator module to manage the multiple twin model modules.

[0016] According to an embodiment, the multiple twin model modules are executed on at least one graphics processing unit (GPU) server. When a first twin model module among the multiple twin model modules is executed, the simulator module can allocate resources for executing the first twin model module in at least one GPU server.

[0017] According to an embodiment, the simulator module may be configured to establish conditions for the control logic of each twin model module to control the virtual plant.

[0018] According to an embodiment, the simulator module may create a web page to set the condition of the control logic, and establish the condition of the control logic using the setting value input through the web page.

[0019] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0020] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0021] Depending on the implementation, the simulator module may request the start, end, or restart of a simulation from each twin model module.

[0022] According to an embodiment, the simulator module may request status information from each twin module and receive status information from the twin modules.

[0023] According to an embodiment, the simulator module may include a model manager to manage connections with each twin model module or each digital factory module.

[0024] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0025] According to an embodiment, each digital factory module may report a result corresponding to a control command to a twin model module connected to the digital factory module.

[0026] According to an embodiment, the digital twin system may further include a data analysis module to receive data from at least one of each twin model module, each digital plant module, or the simulator module and analyze the received data.

[0027] According to another aspect of the present disclosure, a method for controlling a digital twin system is provided. The method includes registering and initializing models for multiple digital factories by a simulator module, which are virtual representations of multiple factories. The method also includes requesting a simulation start from a first twin model in multiple twin models through a simulator module, wherein the first twin model is a virtual representation of a corresponding control system of a corresponding factory in multiple factories. The method further includes generating control logic for a first digital factory in multiple digital factories through a first twin model. The method also includes transmitting commands generated based on the control logic to a first digital factory module through the first twin model. The method further includes processing operations corresponding to commands received from the first twin model through the first digital factory module for simulation.

[0028] According to an embodiment, the simulator module may operate on a central processing unit (CPU) server and multiple twin models may be executed on at least one graphics processing unit (GPU) server.

[0029] According to an embodiment, a plurality of digital factory models may be executed on at least one GPU server.

[0030] According to an embodiment, the method may further include setting conditions of the control logic through a simulator module for controlling the virtual factory using a corresponding twin model module.

[0031] According to an embodiment, the method may further include: creating, by the simulator module, a web page to set a condition of the control logic.

[0032] According to an embodiment, the method may further include setting, by the simulator module, a condition of the control logic using a setting value input through the web page.

[0033] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0034] Depending on the implementation, the plurality of factories may include a production factory or a logistics factory.

[0035] According to an embodiment, the method may further include requesting, by the simulator module, the start, end or restart of the simulation from each twin model module.

[0036] According to an embodiment, the method may further include requesting, by the simulator module, status information from each twin model module and receiving status information from the twin model module.

[0037] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0038] According to an embodiment, the method may further include reporting, through each digital factory module, a result corresponding to the control command to a twin model module connected to the digital factory module.

[0039] According to an embodiment, the method may further include receiving data from at least one of each twin model module, each digital plant module or the simulator module through a data analysis module. The method may also include analyzing the received data.

[0040] According to another aspect of the present invention, a graphics processing unit (GPU) server is provided. The GPU server includes a plurality of twin model modules, each of which includes control logic and a virtualized control system for each of a plurality of factories. The GPU server also includes a plurality of digital factory modules, each of which creates a virtual factory model by virtualizing each of a plurality of factories and is controlled by each of a plurality of twin model modules.

[0041] According to an embodiment, when a first twin model module among multiple twin model modules is executed, resources for executing the first twin model module may be allocated in a GPU server.

[0042] According to an embodiment, each twin model module may set conditions for controlling the control logic of the virtual factory.

[0043] According to an embodiment, each twin model module may receive conditions for controlling the control logic of the virtual plant from the simulator module.

[0044] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0045] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0046] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0047] According to an embodiment, each digital factory module may report a result corresponding to a control command to a twin model module connected to the digital factory module.

[0048] According to another aspect of the present disclosure, a method for controlling a digital twin system is provided. The method includes receiving a request to start simulation from a simulator module in a first twin model among a plurality of twin models, the first twin model being a virtual representation of a control system for a corresponding plurality of factories. The method also includes generating control logic for a first digital factory among a plurality of digital factories by means of a first twin model, the first digital factory being a virtual representation of a plurality of factories. The method further includes transmitting commands generated based on the control logic to a first digital factory module by means of the first twin model. The method also includes processing operations corresponding to commands received from the first twin model by means of the first digital factory module for simulation.

[0049] According to an embodiment, when a first twin model module among multiple twin model modules is executed, resources for executing the first twin model module may be allocated in a GPU server.

[0050] According to an embodiment, the method may further include setting a condition for controlling a control logic of the virtual plant.

[0051] According to an embodiment, the method may further comprise receiving, from the simulator module, a condition for controlling a control logic of the virtual plant.

[0052] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0053] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0054] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0055] According to an embodiment, the method may further include each digital factory module reporting a result corresponding to the control command to a twin model module connected to the digital factory module.

[0056] According to another aspect of the present disclosure, a digital twin system is provided. The digital twin system includes a plurality of twin model modules, and the corresponding modules in the plurality of twin model modules include control logic and virtualized control systems for the corresponding factories in the plurality of factories. The digital twin system also includes a plurality of digital factory modules, and the corresponding digital factory modules in the plurality of digital factory modules create corresponding virtual factory models by virtualizing the corresponding factories, and are controlled by the corresponding twin model modules in the plurality of twin model modules. The digital twin system also includes a simulator module to manage the plurality of twin model modules. The simulator module can be configured to establish initial data for simulation using a plurality of twin model modules and a plurality of digital factory modules.

[0057] According to an embodiment, the initial data may be stored by being classified according to the simulation model.

[0058] According to an embodiment, the initial data may be stored by being classified according to the simulated version.

[0059] According to an embodiment, the initial data may include categories and characteristics.

[0060] According to an embodiment, the simulator module may store customized data changed as a result of modifying initial data with a value input through the user terminal.

[0061] According to an embodiment, when performing a simulation, the simulator module may load the custom data to apply it to the simulation.

[0062] According to an embodiment, when performing a simulation, the simulator module may receive a change value of initial data input from a user terminal and apply the input change value to the simulation.

[0063] According to an embodiment, when performing simulation, the simulator module may store a changed value of initial data input from the user terminal as simulation history data.

[0064] According to an embodiment, multiple twin model modules are executed on at least one graphics processing unit (GPU) server, and when a first twin model module among the multiple twin model modules is executed, the simulator module can allocate resources in at least one GPU server for executing the first twin model module.

[0065] According to an embodiment, the simulator module may set conditions for controlling the control logic of the virtual plant in each twin model module.

[0066] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0067] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0068] Depending on the implementation, the simulator module may request the start, end, or restart of a simulation from each twin model module.

[0069] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0070] According to another aspect of the present disclosure, a method for managing the configuration of a digital twin system is provided. The method includes setting initial data by a simulator module to simulate using multiple digital factory modules as virtual representations of multiple factories and multiple twin model modules for controlling multiple digital factory modules. The method also includes receiving a request for starting simulation from a user terminal by the simulator module. The method also includes transmitting initial data to a first twin model module among multiple twin model modules in response to a request to start simulation. The method also includes requesting the simulator module to start simulation from the first twin model module. The method also includes generating control logic for a first digital factory among multiple digital factory modules by the first twin model module. The method also includes transmitting commands generated based on the control logic to the first digital factory module by the first twin model module. The method also includes processing operations corresponding to commands received from the first twin model module by the first digital factory module for simulation.

[0071] According to an embodiment, the initial data may be stored by being classified according to the simulation model.

[0072] According to an embodiment, the initial data may be stored by being classified according to the simulated version.

[0073] According to an embodiment, the initial data may include categories and characteristics.

[0074] According to an embodiment, the simulator module may store customized data changed as a result of modifying initial data with a value input through the user terminal.

[0075] According to an embodiment, when performing a simulation, the simulator module may load the custom data to apply it to the simulation.

[0076] According to an embodiment, when performing a simulation, the simulator module may receive a change value of initial data input from a user terminal and apply the input change value to the simulation.

[0077] According to an embodiment, when performing simulation, the simulator module may store a changed value of initial data input from the user terminal as simulation history data.

[0078] According to an embodiment, the multiple twin model modules are executed on at least one graphics processing unit (GPU) server. When a first twin model module among the multiple twin model modules is executed, the simulator module can allocate resources for executing the first twin model module in at least one GPU server.

[0079] According to an embodiment, the simulator module may set conditions for controlling the control logic of the virtual plant in each twin model module.

[0080] According to an embodiment, each twin model module and each digital factory module can communicate with each other using any of the interfaces including remote procedure call (RPC), RestAPI, Socket, Kafka, and message queue (MQ).

[0081] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0082] Depending on the implementation, the simulator module may request the start, end, or restart of a simulation from each twin model module.

[0083] According to an embodiment, each of the plurality of twin model modules may be configured to be combined with any one of the plurality of digital factory modules.

[0084] According to another aspect of the present disclosure, a digital twin system is provided. The digital twin system includes a plurality of twin model modules, and corresponding modules in the plurality of twin model modules include control logic and virtualize corresponding control systems for corresponding factories in a plurality of factories. The digital twin system also includes a plurality of digital factory modules, and corresponding digital factory modules in the plurality of digital factory modules create corresponding virtual factory models by virtualizing corresponding factories in a plurality of factories, and are controlled by corresponding twin model modules in a plurality of twin model modules. The digital twin system also includes a simulator module configured to manage a plurality of twin model modules. The digital twin system also includes a data analysis module configured to analyze data related to simulations performed by a plurality of twin model modules and a plurality of digital factory modules.

[0085] According to an embodiment, data related to the simulation may include result data generated after completing the implementation of the simulation.

[0086] According to an embodiment, the data related to the simulation may include log data generated during the performance of the simulation.

[0087] According to an embodiment, the log data may include at least one of a simulation node name, a simulation node ID, or a simulation ID.

[0088] Depending on the implementation, the log data may include the application type or the application name.

[0089] According to an embodiment, the data analysis module may analyze data related to the simulation and visualize the analysis results to display them.

[0090] According to an embodiment, the data analysis module may visualize and display a system dashboard accessible to a system administrator.

[0091] According to an implementation, the system dashboard may include resource information of the digital twin system or log information of the digital twin system.

[0092] According to an embodiment, the data analysis module may visualize and display a domain dashboard accessible to a user.

[0093] According to an embodiment, the domain dashboard may include a single simulation dashboard and multiple simulation dashboards.

[0094] According to an embodiment, a single simulation dashboard may include at least one of simulation summary information, palette manufacturing status, box picking status, operation rate of each logistics workshop, workload of each logistics workshop, loop inefficiency count, palette list of delayed work, box list of delayed work, operation rate of each crane or operation rate of each robot.

[0095] According to an embodiment, the plurality of simulation dashboards may include at least a comparison of operating rate averages for logistics workshops, a comparison of palette completion time averages, a comparison of box release time averages, a comparison of the number of completed palettes, a comparison of the number of discarded boxes, or a comparison of the number of boxes restocked during disposal.

[0096] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0097] According to an embodiment, the data analysis module may extract result data of a simulation model created by combining at least two of an item, an athlete, and a worker.

[0098] According to another aspect of the present disclosure, a method for processing data of a digital twin system is provided. The method includes registering and initializing models for multiple digital factories by a simulator module, which are virtual representations of multiple factories. The method also includes requesting a simulation start from a first twin model in multiple twin models through a simulator module, and multiple twin models are virtual representations of control systems for corresponding multiple factories. The method also includes generating control logic for a first digital factory in multiple digital factories through a first twin model. The method also includes transmitting commands generated based on the control logic to a first digital factory module through a first twin model. The method further includes processing operations corresponding to commands received from the first twin model for simulation by a first digital factory module. The method also includes analyzing data related to simulations performed by multiple twin model modules and multiple digital factory modules.

[0099] According to an embodiment, data related to the simulation may include result data generated after completing the implementation of the simulation.

[0100] According to an embodiment, the data related to the simulation may include log data generated during the performance of the simulation.

[0101] According to an embodiment, the log data may include at least one of a simulation node name, a simulation node ID, or a simulation ID.

[0102] Depending on the implementation, the log data may include the application type or the application name.

[0103] According to an embodiment, the method may further include analyzing data related to the simulation, and visualizing the analysis results to display them.

[0104] According to an embodiment, the method may further include visualizing a system dashboard accessible to a system administrator to display the system dashboard.

[0105] According to an implementation, the system dashboard may include resource information of the digital twin system or log information of the digital twin system.

[0106] According to an embodiment, the method may further include visualizing the domain dashboard accessible to the user to display it.

[0107] According to an embodiment, the domain dashboard may include a single simulation dashboard and multiple simulation dashboards.

[0108] According to an embodiment, a single simulation dashboard may include at least one of simulation summary information, palette manufacturing status, box picking status, operation rate of each logistics workshop, workload of each logistics workshop, loop inefficiency count, palette list of delayed work, box list of delayed work, operation rate of each crane or operation rate of each robot.

[0109] According to an embodiment, the plurality of simulation dashboards may include at least one of: a comparison of operating rate averages for logistics workshops, a comparison of palette completion time averages, a comparison of box release time averages, a comparison of the number of completed palettes, a comparison of the number of discarded boxes, or a comparison of the number of boxes restocked during the disposal process.

[0110] Depending on the implementation, the factory may include a production factory or a logistics factory.

[0111] According to an embodiment, the method may further include extracting result data of a simulation model created by combining at least two of the item, the athlete, and the worker.

[0112] As described above, the embodiments of the present disclosure enable a single server to simulate multiple virtual plants and manage them through a single simulator module connecting the multiple virtual plants.

[0113] Embodiments of the present disclosure also enable various combinations of control systems and plants to be simulated by virtualizing each of the plant's control systems and each of the physical plants as separate modules.

[0114] Further, embodiments of the present disclosure enable a single simulator module to connect multiple virtual plants, and enable a single server to manage configurations for simulating the multiple virtual plants.

[0115] Furthermore, the embodiments of the present disclosure enable a single simulator module to connect a plurality of virtual plants and process data generated when simulations of the plurality of virtual plants are performed.

[0116] In addition to the above-mentioned effects, various other effects directly or indirectly understood from the present disclosure can be provided. BRIEF DESCRIPTION OF THE DRAWINGS

[0117] In order that the present disclosure may be better understood, various forms of the present disclosure given by way of example will now be described with reference to the accompanying drawings, in which:

[0118] Figure 1 is a diagram illustrating a concept of comparison between a virtual space and a real space according to an embodiment of the present disclosure;

[0119] Figure 2 is a flowchart illustrating a control process of a digital twin system according to an embodiment of the present disclosure;

[0120] Figure 3 is a block diagram illustrating a digital twin system according to an embodiment of the present disclosure;

[0121] Figure 4 is a block diagram illustrating a digital twin system according to an embodiment of the present disclosure;

[0122] Figure 5 is a diagram illustrating a combination of a twin model and a digital factory according to an embodiment of the present disclosure;

[0123] Figure 6 is a diagram illustrating a process for simulating a factory according to an embodiment of the present disclosure;

[0124] Figure 7 is a diagram illustrating a concept of simulation of a plant according to an embodiment of the present disclosure;

[0125] Fig. 8A is a diagram illustrating a concept of simulating a factory using a simulator according to an embodiment of the present disclosure;

[0126] Figure 8B is a diagram illustrating a concept of simulating a factory using a twin model according to an embodiment of the present disclosure;

[0127] Fig. 9 is a diagram illustrating operations or steps of editing and managing the configuration of each model according to an embodiment of the present disclosure;

[0128] Fig.10 is a diagram showing setting values ​​of a configuration of each model according to an embodiment of the present disclosure;

[0129] Fig.11 is a flowchart illustrating operations or steps of editing and managing the configuration of each model according to an embodiment of the present disclosure;

[0130] Fig.12 is a diagram showing a structure for generating a set of configurations according to an embodiment of the present disclosure;

[0131] FIG. 13A to FIG. 13F is a diagram illustrating editing of a configuration group according to an embodiment of the present disclosure;

[0132] Fig.14 is a diagram showing a flow of processing data according to an embodiment of the present disclosure;

[0133] Fig.15 is a diagram illustrating a method of processing data according to an embodiment of the present disclosure;

[0134] Fig.16 is a diagram illustrating a method of generating an index of simulation results according to an embodiment of the present disclosure;

[0135] Fig.17 is a diagram illustrating a method of generating an index of simulation results according to an embodiment of the present disclosure;

[0136] Fig.18 is a diagram showing an index of a result of a first simulation according to an embodiment of the present disclosure;

[0137] Fig.19 a graph showing an index of a result of a second simulation according to an embodiment of the present disclosure;

[0138] Fig. 20 is a diagram illustrating a method of generating an index of simulation results according to an embodiment of the present disclosure;

[0139] Fig.21 is a diagram showing an index of a result of a third simulation according to an embodiment of the present disclosure;

[0140] Fig. 22 is a diagram showing an index of a result of a fourth simulation according to an embodiment of the present disclosure;

[0141] Fig.23A and Fig. 23B is a diagram showing an index of a simulation result according to an embodiment of the present disclosure;

[0142] Fig.24 is a configuration diagram of hardware of a computing device according to some embodiments of the present disclosure;

[0143] Fig.25 is a diagram illustrating a screen for editing and managing the configuration of each twin model according to an embodiment of the present disclosure;

[0144] Fig.26 is a diagram illustrating a screen for editing and managing the configuration of each digital factory according to an embodiment of the present disclosure;

[0145] Fig. 27 is a diagram illustrating a screen for editing and managing a configuration of each model according to an embodiment of the present disclosure; and

[0146] Fig.28 is a diagram illustrating a screen for editing and managing a configuration of each model according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0147] Hereinafter, embodiments of the present disclosure are described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure and methods for achieving them should be more clearly understood by referring to the accompanying drawings and the embodiments described below.

[0148] However, the present disclosure is not limited to the embodiments disclosed below, but can be implemented in various types of embodiments that are different from each other. These embodiments are provided only to complete the present disclosure and to fully teach the scope of the present disclosure to those of ordinary skill in the art to which the present disclosure belongs. The present disclosure is limited only by the scope of the claims and their equivalents.

[0149] In describing the present disclosure, detailed description of well-known configurations or functions related to the present disclosure is omitted when it is determined that the detailed description will unnecessarily obscure the gist of the present disclosure.

[0150] In the following, embodiments of the present disclosure are described with reference to the accompanying drawings. When a part, device, element, etc. of the present disclosure is described as having a purpose or performing an operation, function, etc., the part, device, or element should be considered herein as being "configured to" meet the purpose or perform the operation or function.

[0151] Figure 1 is a diagram illustrating a concept of comparison between a virtual space and a real space according to an embodiment of the present disclosure.

[0152] Reference Figure 1 , the digital twin system can be implemented by simulating in a virtual space 110 , which includes virtual facilities or virtual factories that are the same as or similar to actual facilities in the actual space 120 .

[0153] According to an embodiment, the factory 123 in the actual space may be controlled by the factory control system 122. The administrator 124 may establish a control logic (or business logic) or input a control command through an input device of the factory control system 122. The factory control system 122 may generate commands for various operations or steps according to the set control logic to control various parts of the factory 123. For example, the factory control system 122 may cause the transportation of a product or control the movement of a robot according to a specific control logic. In the embodiments described below, the factory 123 may include a production plant or a logistics plant. However, the present disclosure is not limited thereto. For example, in various embodiments, all physical facilities that can be controlled by the control logic may be included in the factory.

[0154] According to an embodiment, the factory 123 in the real space 120 may be virtualized as the digital factory 113. The digital factory 113 may include a software or hardware module that virtualizes the factory 123 in the real space 120 to simulate through a computer or server. Therefore, the digital factory 113 may be referred to as a digital factory module. However, the present disclosure is not limited to this term.

[0155] According to an embodiment, the plant control system 122 in the actual space 120 may be virtualized as a twin model 112. The twin model 112 may include software and / or hardware modules to virtualize the plant control system 122 in the actual space 120 for simulation by a computer or server. Therefore, the twin model 112 may be referred to as a twin model module. However, the present disclosure is not limited to this term.

[0156] According to an embodiment, the twin model 112 may be controlled by a simulator 111. The simulator 111 may include a software or hardware module. It may be referred to as a simulator module. However, the present disclosure is not limited to this term.

[0157] According to an embodiment, multiple twin models 112 can control multiple digital factories 113 respectively. The simulator 111 can create multiple digital factories 113 for simulation (for example, through virtualization of 3D modeling) by managing multiple twin models 112. The user can access the simulator 111 through the user terminal 114. The user can access the simulator 111 through the user terminal 114 to input various configurations for simulating the digital factory 113. Example embodiments in this regard are described in more detail below.

[0158] Figure 2 is a flowchart illustrating a control process of a digital twin system according to an embodiment of the present disclosure.

[0159] Reference Figure 2According to an embodiment, in operation or step 201, the simulator 111 may register a model for simulating and establishing initial data relative to a digital factory. In operation or step 203, the simulator 111 may request to start simulation from a specific twin model 112 (e.g., a first twin model) among multiple twin models. In operation or step 205, the twin model 112 may generate control logic (or business logic) in response to a request from the simulator 111. According to another embodiment, the twin model 112 may generate control logic before the simulator 111 requests to start simulation and confirm the generated control logic in response to the request to start simulation. In operation or step 207, the twin model 112 may sequentially generate commands for controlling the factory based on the generated control logic, and then transmit the generated commands to the relevant digital factory 113 (e.g., the first digital factory) among multiple digital factories. The digital factory 113 may receive commands for controlling the factory from the twin model 112 and perform operations based on the received commands in operation or step 209. For example, the digital factory 113 may convey products, operate conveyor belts, or operate robots according to commands.

[0160] According to an embodiment, in operation or step 211, the digital factory 113 may report the result of the operation to the twin model 112 or the simulator 11 in real time. In operation or step 213, the twin model 112 may transmit the result of the operation received from the digital factory 113 to the simulator 111 as log data. After the digital factory 113 has performed the operation according to the command based on the control logic as described above, the simulation may be terminated in operation or step 215. When the simulation is terminated, in operation or step 217, the twin model 112 may transmit the result data to the simulator 111. The simulator 111 may generate the result of the analysis simulation based on the log data and / or result data received from the twin model 112 or the digital factory 113, and may output the generated result in operation or step 219.

[0161] Figure 3 is a block diagram illustrating a digital twin system according to an embodiment of the present disclosure.

[0162] refer to Figure 3, the digital twin system according to the embodiment may include a central processing unit (CPU) server 310 and a graphics processing unit (GPU) server 320. In addition, the CPU server 310 may operate in conjunction with an external related system 330 (e.g., an advanced planning and scheduling system (APS) (production planning system) 331, a manufacturing execution system (MES) (factory management system) 332, an enterprise resource planning (ERP) 333, a warehouse control system (WCS) 334, a programmer logic control (PLC) 335, or an automatic control system (ACS) (robot control system) 336). The CPU server 310 may include a simulator 111 and a database 313. In addition, the CPU server 310 may further include a visualization module 311, a conversion module 312, a studio program 314, and a core program 315. The simulator 111 may communicate with the external related system 330 through an API gateway.

[0163] According to an embodiment, the GPU server 320 may include multiple twin models 112 and multiple digital factories 113. Each twin model 112 and each digital factory 113 may be connected to each other to simulate with respect to a virtual factory. For example, the GPU server 320 may include multiple combinations of twin models 112 and digital factories 113 to simulate with respect to multiple virtual factories. According to an embodiment, the following reference Figure 5 Embodiments in this regard are described in more detail.

[0164] According to an embodiment, each twin model 112 and each digital factory 113 can communicate with each other using any one of interfaces including remote procedure call (RPC) (e.g., gRPC), RestAPI, Socket, Kafka, and message queue (MQ). For example, the first twin model 112a can communicate with the first digital factory 113a via the RPC interface, the second twin model 112b can communicate with the second digital factory 113b via the RPC interface, the third twin model 112c can communicate with the third digital factory 113c via the RPC interface, and the fourth twin model 112d can communicate with the fourth digital factory 113d via the RPC interface.

[0165] According to the implementation mode, Figure 3As shown, each twin model 112 can communicate with the simulator 111 of the CPU server 310 directly or through the model manager 321. For example, the first twin model 112a can communicate with the first model manager 321a through a RESTful API, and the first model manager 321a can communicate with the simulator 111 through a RESTful API. The second twin model 112b can communicate with the second model manager 321b through a RESTful API, and the second model manager 321b can communicate with the simulator 111 through a RESTful API. The third twin model 112c can communicate with the third model manager 321c through a RESTful API, and the third model manager 321c can communicate with the simulator 111 through a RESTful API. The fourth twin model 112d can communicate with the fourth model manager 321d through a RESTful API, and the fourth model manager 321d can communicate with the simulator 111 through a RESTful API. In the embodiment described below, an embodiment is provided in which the first twin model 112a and the first digital factory 113a operate through the first model manager 321a corresponding to the first node 320a. The same or similar operations may be performed in the remaining nodes 320b, 320c, 320d.

[0166] According to an embodiment, the simulator 111 may send messages related to the progress of the simulation to each twin model 112. For example, the simulator 111 may send a request message for starting, stopping, restarting, or checking the status of the simulation to each twin model 112. The request message may include at least one of the type of module (e.g., a twin model (TM) or a digital factory (DF)), an Internet Protocol (IP) address, a port, and build version information. Each twin model 112a, 112b, 112c, 112d in the plurality of twin models 112 may receive a request message from the simulator 111 and perform processing corresponding to the request.

[0167] According to an embodiment, the digital factory 113 may receive commands from the twin model 112 based on the control logic and perform operations corresponding to the received commands. The log data 322a generated during the simulation performed in the first twin model 112a or the first digital factory 113a may be collected by the collection module 323a and transmitted to the conversion module 312 of the CPU server 310. The conversion module 312 of the CPU server 310 may convert the collected log data 322a into processable data. The visualization module 311 may generate a visual image of the result data of the simulation based on the data converted by the conversion module 312. According to different embodiments, at least one CPU 324 (e.g., 324a, 324b, 324c, 324d) may be connected to each node in the GPU server 320 to process operations related to the conduct of the simulation.

[0168] According to the implementation mode, Figure 3 As shown, at least one GPU server 320 may include multiple nodes 320a, 320b, 320c, 320d that can implement simulation to implement simulation of various digital factories (e.g., 3D digital factories). In addition, according to an embodiment, a single simulator 111 included in the CPU server 310 can manage and control multiple nodes 320a, 320b, 320c, 320d that can perform simulation. For example, the simulator 111 can check and manage the state of each simulation implemented in each of the multiple nodes 320a, 320b, 320c, 320d of the GPU server 320 in real time, and control the operation of each simulation. When the GPU server 320 is restarted due to a problem with the GPU server 320, even if the server cannot be logged in due to the lack of a server administrator, the simulator 111 can perform the simulation normally. According to an embodiment, a model agent can be developed in the form of at least two Windows services. For example, a window service can be provided to communicate with the simulator 111 through a RESTful API, and another window service can be provided to check whether the actual simulation process is proceeding normally, and then drive or restart is executed. Here, commands between Windows services can be handled through inter-process communication (IPC), and can involve Windows services installed in each node and model manager to centrally control and monitor them. Figure 4 A detailed description in this regard is given.

[0169] According to the implementation mode, Figure 3As shown, when the service is driven normally, the Windows service implemented in the GPU server 320 can be automatically executed even if the Windows service is not logged in. Therefore, even when the GPU server 320 needs to be restarted due to a specific reason and cannot be logged in to the server due to the lack of a server administrator, the GPU server 320 can receive commands related to the conduct of the simulation. In addition, since the simulation is a process performed by the Windows service, the simulation process can be directly controlled remotely (for example, by the simulator 111) even if there is no direct access to the Windows server. According to an embodiment, the CPU server 310 can be a Linux server. However, the present disclosure is not limited to this.

[0170] Figure 4 is a block diagram illustrating a digital twin system according to an embodiment of the present disclosure.

[0171] Reference Figure 4 , the simulator 111 may be implemented in a CPU server. The simulator 111 may include a simulator network 411, a simulator core 412, a simulator data logic 413, a simulator runner 414, and a model manager 415. The GPU server may include a plurality of nodes 320a, 320b, 320c. Each node 320 may include a model agent 421, a twin model 112, and a digital factory 113. For example, the first node 320a may include a first model agent 421a, a first twin model 112a, and a first digital factory 113a. The second node 320b may include a second model agent 421b, a second twin model 112b, and a second digital factory 113b. The third node 320c may include a third model agent 421c, a third twin model 112c, and a third digital factory 113c.

[0172] According to an embodiment, the simulator 111 may communicate with a module (e.g., the twin model 112 or the digital factory 113) included in each node 320 directly or through the model manager 415. For example, the simulator runner 414 of the simulator 111 may perform operations related to the simulation, and the model manager 415 may perform connection or communication with each of the plurality of nodes 320 so that they may share functions.

[0173] According to an embodiment, the simulator 111 may perform a health check (normal operation check) of each node 320 through the model manager 415. For example, the simulator 111 may send a request message related to the simulation (e.g., a request message including the start, stop, restart, or health check of the simulation) to each model agent 421 of each node 320 through the model manager 415. The request message may include at least one of the type of module (e.g., a twin model (TM) or a digital factory (DF)), an Internet Protocol (IP) address, a port, and build version information. Each twin model 112 may receive a request message from the simulator 111 and perform processing corresponding to the request. For example, each node 320 may check its status and report to the simulator 111 whether the node is operating (e.g., the result from an operation, reoperation, or stop command).

[0174] Figure 5 is a diagram illustrating a combination of a twin model and a digital factory according to an embodiment of the present disclosure.

[0175] refer to Figure 5 When implementing the digital twin system according to the embodiment, various virtual factories can be implemented by separating the module for controlling the factory system and the module for virtualizing the factory. For example, the twin model 112, which is a virtual representation of the factory control system, can generate a command for executing the control logic (or business logic) and transmit the command to the digital factory 113. The digital factory 113, as a physical engine that executes the command received from the twin model 112, can virtualize the relevant factory and perform simulation. Therefore, Figure 5 As shown, by implementing the elements responsible for control logic and the elements responsible for executing commands in separate modules, various types of simulations can be performed.

[0176] For example, a combination in which the management system for warehouse A is set as the first twin model 511 and warehouse a for large products and warehouse b for medium products are set as the first digital factory 512 may be simulated; a combination in which the management system for warehouse A is set as the second twin model 521 and only warehouses for large-size products are set as the second digital factory 522 may be simulated; a combination in which the management system for warehouse A is set as the third twin model 531 and only warehouse b for medium products is set as the third digital factory 532 may be simulated; or a combination in which the management system for warehouse B is set as the fourth twin model 541 and only warehouse b for medium products is set as the fourth digital factory 542 may be simulated. The simulator 111 may combine the twin models 511, 521, 531, 541 and the digital factories 512, 522, 532, 542 in different ways.

[0177] Therefore, by implementing a twin model as a virtual representation of a plant control system and a digital factory as a virtual representation of an actual factory in separate modules, it is possible to design an architecture for flexible simulation of a factory. For example, there may be common logic or common facilities that can be applied to each factory in the simulation. Here, according to an embodiment, separating the elements responsible for logic and the elements responsible for execution enables the use of common logic or common facilities without implementing new logic or devices for each factory simulation project. As described above, the twin model is a virtual representation of the plant control system of the actual system, and the logic and data of the system can be replicated. In addition, instead of simply performing calculations using algorithms, the twin model 112 can perform a higher level of simulation by reflecting the control logic (or business logic). The digital factory 113 can embody a 3D virtual factory based on a physical engine and build a factory environment identical to reality based on a CAD drawing. According to an embodiment, the twin model 112 and the digital factory 113 are linked by an RPC communication interface, as described above, the twin model 112 can transmit commands to the digital factory 113, and the digital factory 113 can report the results from the commands to the twin model 112.

[0178] Figure 6 is a diagram illustrating a process for simulating a factory according to an embodiment of the present disclosure.

[0179] refer to Figure 6 , for example, if the factory is a production factory, data related to the work organization for simulation can be input 601, and if the factory is a logistics factory, data related to the logistics order for simulation can be input 601. As described above, the digital twin system 600 according to the embodiment can be implemented in separate modules of the twin model 112 and the digital factory 113. The twin model 112 can generate commands for operating in the digital factory 113 based on the input data (e.g., control logic). The data processed in the twin model 112 (which is condition-based logical data) may include internal logical data or link logical data. The digital factory 113 can be simulated based on the commands received from the twin model 112. The data processed in the digital factory 113 (which is dynamic result data based on a physical engine) may include data for 3D visualization, data related to working time, data related to working methods, etc. However, the present disclosure is not limited thereto.

[0180] According to an embodiment, the result data 602 generated by the digital twin system 600 through the simulation operation can be transformed into the processing result data 603 through the analysis and processing of the data analysis module 620. For example, the data generated in the digital twin system 600 may include the operation rate of each workshop, the on-time component release rate, the average processing time, etc. in the case of a logistics warehouse, and may include the unit component supply time, the unit port component waiting time, etc. in the case of a production plant. However, the present disclosure is not limited to this. The data processed by the data analysis module 620 may include the minimum number of workers required for the daily production target, the processing volume that can be handled when a specific facility problem occurs, the best method for storing parts in an automatic warehouse to produce various types of vehicles, etc. However, the present disclosure is not limited to this.

[0181] According to an embodiment, the result data 602 generated in the digital twin system 600 may be fed back to the verification request module for verification, and the verification request module may perform verification in conjunction with the relevant system 330 (e.g., APS 331, MES 332, ERP 333, WCS 334, PLC 335, or ACS 336). The data analysis module 620 may input improved input values ​​reflecting the analysis results into the digital twin system 600, and this enables continuous realization of the simulation. In addition, the data analyzed and processed by the data analysis module 620 may be provided as a basis for a decision that may be reflected in the plant control system of the actual plant 120.

[0182] Figure 7 is a diagram illustrating a concept of simulation of a plant according to an embodiment of the present disclosure.

[0183] refer to Figure 7 As described above, according to the embodiment, by constructing an architecture for flexible factory simulation, the results from various situations can be confirmed or the data can be verified using a virtual space and a simulator. For example, as described above, by establishing a similar environment about the desired situation in the digital twin system and performing simulation, the results can be verified.

[0184] According to an embodiment, as an example of scenario 710, when a user wants to confirm or verify "if the ordering work is done using the logistics order data I created, is there any problem with the component?", as described above, the user can use the twin model 112 and the digital factory 113 in the digital twin system 600 to simulate and verify the result data. For example, as the result data from the simulation, the comparative rate of the logistics order data and the actual component supply (for example, data including bottlenecks, delays, processing speeds, operating rates of each facility, etc.) can be verified. By viewing the result data, users who have used the digital twin system 600 for simulation can verify whether the product can be supplied and optimize the configuration of the logistics facilities. In addition, the user can improve the logistics order data after verifying the result data.

[0185] Fig. 8A is a diagram illustrating a concept of simulating a factory using a simulator according to an embodiment of the present disclosure.

[0186] refer to Fig. 8A , a simulator 810 may be used to simulate a factory. For example, the simulator 810 may include an interface for communicating with a simulator client, a configuration, and a data generator. The simulator 810 may include a data generation function and a response function of a data generator so as to act as a simulator during development. The simulator 810 may generate data suitable for a commonly available desired application. However, it may be difficult to apply the data to an actual system. Therefore, the data may be used before production, but may not be used during or after production.

[0187] Figure 8B is a diagram illustrating a concept of simulating a factory using a twin model according to an embodiment of the present disclosure.

[0188] refer to Figure 8B According to an embodiment, a factory simulation can be performed using the twin model 820 as described above. For example, the twin model 820 may include a virtualization model, a logical environment, and a data generator. The twin model 820 is a dedicated model for a specific system, and can replicate the control logic (e.g., business logic) and data of the system. The twin model 820 can be linked to the actual system. Therefore, the twin model 820 can virtualize the subject system according to the purpose of the simulation. It can be used to confirm the results of different scenarios of a specific system or verify data.

[0189] Fig. 9 is a diagram illustrating operations or steps of editing and managing the configuration of each model according to an embodiment of the present disclosure.

[0190] refer to Fig. 9According to the implementation, the digital twin system can store, edit and manage the setting values ​​of each simulation model. For example, the digital twin system can establish a simulation by managing various configurations. The characteristics of the simulation can be managed by the setting values ​​so that various simulations can be performed, and the priority can be changed.

[0191] In order to manage the characteristics of the simulation and change them in different ways, an architecture may be necessary. According to an embodiment, initial data or an initial data manager can be set according to the version of the model. The initial data can include categories and characteristics. The user can customize frequently used values ​​by modifying the initial data. The values ​​frequently used by the user can be referred to as a customization set (or customization set). However, the present disclosure is not limited to this term. Moreover, the user can set the initial data for each simulation. The data set by the user for each simulation can be referred to as user initial data, but is not limited to this term.

[0192] According to an embodiment, the above-mentioned initial data manager can be generated or set according to the version of the simulation model. The initial data manager can be set by model and / or version. For example, the initial data master of the first twin model and the first digital factory can be set and registered as the first initial data master. The twin model 112 and the digital factory 113 (or virtual factory) can generate data including categories and characteristics as initial data and can use various setting values ​​to set the data. Categories can be segmented according to the characteristics of each simulation model. For example, when the category is buffer capacity, the characteristics may include conveyors, workshops, warehouse buffers, etc. When the category is facility capacity, the characteristics may include the size of the workshop, the size of the buffer compartment, and the number of racks / aisles / floors / units of the warehouse. When the category is an operating rule, the characteristics may include the number of pallet pushes, the maximum number of disposals, and the maximum number of problems.

[0193] According to an embodiment, the above-mentioned customized set can be obtained by modifying or changing only frequently used values ​​in the initial data manager. When performing a simulation, the user can import and apply the corresponding customized set. For example, storing and managing customized sets enables the initial data for multiple simulations to be set to be the same. When the user wants to change the input files through the simulation unit to manage them, the customized set can be used. When the user wants to simulate in different nodes, the customized set can be used. In addition, when there is common data in the data that is changed when performing a simulation, the customized set can be used. In such a case, the user can establish a customized set with frequently used conditions, and when performing a simulation, import the established customized set to apply it to the simulation.

[0194] According to an embodiment, user initial data can be newly set for each simulation. For example, a user can change the setting value in the initial data manager or the custom collection and store it as the user initial data for the relevant simulation. Such changed and stored user initial data can be mapped to the simulation history (e.g., simulation time, simulation identification number). User initial data (which is a condition that is only applied to the relevant simulation when it is performed) may not affect other simulations. Since the user initial data is linked to the simulation history to be stored, the simulation can be re-run with the same data.

[0195] According to an embodiment, when simulating by a simulation model, the initial data as described above may be applied. As described above, the initial data may be managed by the simulator 111 in an integrated manner and stored in the database 313. For example, instead of storing the initial data by a model (e.g., a twin model 112 or a digital factory 113) installed in each node, the simulator 111 may centrally manage the initial data in an integrated manner so that multiple nodes may utilize it as the same common data. In addition, because the data utilized in each simulation model is centrally managed, the relevant model (e.g., a twin model 112 or a digital factory 113) may only be involved in the conduct of the simulation and be focused on it.

[0196] Fig.10 is a diagram illustrating setting values ​​of a configuration of each model according to an embodiment of the present disclosure.

[0197] Reference Fig.10 , according to the implementation method, can be as referenced Fig. 9 Described edit and manage configuration for each simulation model. For example, node management (node_mgt) 1031 may include node ID (node_id), name, IP (ip), CPU name (cpu), GPU name (gpu), ram (ram), whether it is used (used), creation date (creation_date), update date (update_date), creation user (creation_user), update user (update_user) and whether it is deleted (deleted).

[0198] The user initial data 1013 may include a user initial data ID (user_initial_data_id), a simulation ID (sim_id), a history ID (history_id), an initial data ID (initial_data_id), a value (value), a creation date (creation_date), an update date (update_date), and a user (user).

[0199] The customized set 1011 may include a customized set ID (customized_set_id), a model version ID (model_version_id), a set name (set_name), a description (description), a creation date (creation_date), an update date (update_date), a creation user (creation_user), and an update user (update_user).

[0200] The custom setting data 1012 may include a custom setting data ID (cuntom_set_data_id), a custom setting ID (custom_set_id), an initial data ID (initial_data_id), a value (value), and a user (user).

[0201] The initial data (initial_data) 1021 may include an initial data ID (initial_data_id), a model version ID (model_version_id), a category ID (category_id), a property ID (property_id), a value (value), a description (description), whether it is used (used), whether it is changeable (changeable), a creation user (creation_user), an update user (update_user), a creation date (creation_date) and an update date (update_date).

[0202] The simulation manager (sim_mgt) 1041 may include a simulation ID (sim_id), a scene ID (scene_id), a name (name), a status (status), a creation date (creation_date), an update date (update_date), a creation user (creation_user), an update user (update_user), whether deleted (deleted), and a current history ID (current_history_id).

[0203] The history manager (history_mgt) 1042 may include a history ID (history_id), a simulation ID (sim_id), a result (result), a start date (start_date), an end date (end_date), a simulation user (sim_user), and whether deleted (deleted).

[0204] The history data set (history_data_set) 1014 may include a history data ID (history_data_id), a history ID (history_id), a model type (model_type), a key (key), and a value (value).

[0205] The category manager (category_mgt) 1023 may include a category ID (category_id), a model version ID (model_version_id), a code (code), a name (name), and a parent ID (parent_id). The favorite category (fav_category) 1022 may include a favorite category ID (fav_category_id), a category ID (category_id), and a user (user). The property manager (property_mgt) 1024 may include a property ID (property_id), a model version ID (model_version_id), a code (code), a name (name), a unit (unit), and a type (type).

[0206] Fig.11 is a flowchart illustrating operations or steps of editing and managing settings of each model according to an embodiment of the present disclosure.

[0207] Reference Fig.11 , according to an embodiment, the simulation may be initialized. In operation or step 1101, a user may request modification of a parameter (e.g., configuration) from the simulator 111 (e.g., a simulator server) through the user terminal 114. In operation or step 1103, the simulator 111 may store the parameter. In operation or step 1105, the simulator 111 may notify the user terminal 114 of the completion of the modification.

[0208] According to an embodiment, the user may request the start of a simulation from the simulator 111 through the user terminal 114 in operation or step 1107. The simulator 111 may request the initialization of the simulation from the twin model 112 in operation or step 1109. In operation or step 1111, the twin model 112 may request parameters from the simulator 111 in response to the request of the simulator 111. The simulator 111 may transmit the corresponding parameters to the twin model 112 in response to the request in operation or step 1113. Here, if the parameters are dynamic parameters, the twin model 112 may update the transferred parameters in operation or step 1115. In operation or step 1117, the twin model 112 may transmit the updated parameters to the simulator 111 and request to store the updated parameters from the simulator 111. The simulator 111 may store the updated parameters and send a message indicating the completion of the modification to the twin model 112 in operation or step 1119.

[0209] According to an embodiment, after the update of the parameters has been completed in operation or step 1121, the twin model 112 may request the initialization of the simulation from the digital factory 113. In operation or step 1123, the digital factory 113 may request the parameters from the simulator 111 in response to the request for initialization. The simulator 111 may transmit the corresponding parameters to the digital factory 113 in response to the request in operation or step 1125. Here, if the parameters are dynamic parameters, the digital factory 113 may update the transmitted parameters in operation or step 1127. In operation or step 1129, the digital factory 113 may transmit the updated parameters to the simulator 111 and request the simulator 111 to store the updated parameters. The simulator 111 may store the updated parameters and send a message indicating the completion of the modification to the digital factory in operation or step 1131. After the modification of the parameters has been completed in operation or step 1133, the digital factory 113 may request the parameters from the simulator 111. The simulator 111 may transmit the corresponding parameters to the digital factory 113 in response to the request in operation or step 1135. The digital factory 113 having received the parameters may send a message to the twin model 112 indicating completion of initialization in operation or step 1137 .

[0210] According to an embodiment, after receiving the message indicating that the initialization is complete, the twin model 112 may request parameters from the simulator 111 in operation or step 1139. The simulator 111 may transmit the corresponding parameters to the twin model 112 in response to the request in operation or step 1141. In operation or step 1143, the twin model 112 that has received the parameters may send a message indicating that the initialization is complete to the simulator 111. The simulator 111 that has received the message indicating that the initialization is complete may send a message indicating that a simulation is to be performed in operation or step 1145. The twin model 112 that has received the message indicating that a simulation is to be performed may perform a simulation in conjunction with the digital factory 113.

[0211] Fig.12 is a diagram illustrating a structure for generating a set of configurations according to an embodiment of the present disclosure.

[0212] refer to Fig.12 Depending on the implementation, a configuration set can be created by a combination of categories and characteristics. For example, the categories can include conveyors, forklifts, and cranes. Characteristics can include moving speed, number of loaded products, and loading time.

[0213] Depending on the implementation, the conveyor can be mapped to the moving speed or the loading time. A forklift or a crane can be mapped to the moving speed, the number of loaded products or the loading time, respectively. Fig.12 As shown, configuration settings may be established including a conveyor moving speed set to 5 m / s, a forklift moving speed set to 3 m / s, and a crane moving speed set to 2 m / s. The number of loaded products for the forklift may be set to 5, and the number of loaded products for the crane may be set to 2. The loading time for the forklift may be set to 15 seconds, and the loading time for the crane may be set to 10 seconds.

[0214] When the simulation is performed, as described above and Fig.12 The configuration set shown in can be stored as history. Here, by modifying a specific set, another customized set can be created using a branching structure. FIG. 13A to FIG. 13F An example of creating a custom group using a branch structure according to an embodiment is described in more detail.

[0215] FIG. 13A to FIG. 13F is a diagram illustrating editing of each group configuration according to an embodiment of the present disclosure.

[0216] Reference Fig.13A , according to the implementation mode, in Fig.12 In the configuration group of , you can create a new custom group by changing the teleporter's movement speed from 5m / s to 10m / s. Fig. 13B , by reducing the forklift loading time from Fig.12The 15 seconds in the construction group is changed to 5 seconds, and a new custom group can be created. Fig. 13C , by Fig. 13B The crane loading time is further modified from 10 seconds to 5 seconds in the construction group, which can generate a new custom group. Fig.13D ,exist Fig.13A In the configuration group of , a new custom group can be created by further modifying the forklift's moving speed from 3m / s to 6m / s. Fig.13E , by Fig.13A The crane's movement speed is further modified from 2m / s to 5m / s in the construction group, which can generate a new custom group. Fig.13F , by further changing Fig.13E The number of products loaded by the crane in the construction group increases from 2 to 3 and a new customized group can be generated.

[0217] Fig.14 is a diagram illustrating a flow of processing data according to an embodiment of the present disclosure.

[0218] Reference Fig.14 According to an implementation, the digital twin system 600 may include a simulator 111 , a twin model 112 , a digital factory 113 , and a data analysis module 620 .

[0219] According to an embodiment, in a data receiving operation or step 1410, log data generated in real time in the simulator 111, the data receiving twin model 112, and the digital factory 113 may be created into a log file 1411. In a data collection operation or step 1420, a data collection module 1421 may collect log data. For example, the data collection module 1421 may be implemented by an application such as "Filebeat", but is not limited thereto. In the above-mentioned data collection operation or step 1420, a metric collection module may collect system metrics 1412. For example, a metric collection module 1422 may be implemented by an application such as "Metricbeat". However, the present disclosure is not limited thereto.

[0220] According to an embodiment, in the data processing operation or step 1430, the link module 1431 may process the log data collected by the log collection module 1421 and the metric data collected by the metric collection module 1422 by linking the two pieces of data to each other. For example, the link module 1431 may be implemented by an application such as "Logstash". However, the present disclosure is not limited thereto.

[0221] According to an embodiment, in the data storage operation or step 1440, the database 1441 may store the simulation result data generated by the simulator 111 and the twin model 112. In the data storage operation or step 1440, the search engine 1442 may receive the log data and the metric data from the link module 1431 and perform a search based on these data segments. For example, the search engine 1442 may be implemented by an application such as "Elasticsearch". However, the present disclosure is not limited thereto.

[0222] According to an embodiment, in the visualization operation or step 1450, the first visualization module 1451 may visually display the analysis results based on the simulation result data stored in the database 1441 and the log data received by the search engine 1442. For example, the first visualization module 1451 may be implemented by an application such as "Grafana", but is not limited thereto. In the visualization operation or step 1450, the second visualization module 1452 may receive the log data and the metric data from the search engine 1442 and visually display the analysis results. For example, the second visualization module 1452 may be implemented by an application such as "Kibana", but is not limited thereto.

[0223] According to an embodiment, the log data collected in the data collection step and Fig.14 The simulation results are shown in Table 1 below.

[0224] Table 1

[0225]

[0226] Fig.15 is a diagram illustrating a method of processing data according to an embodiment of the present disclosure.

[0227] Reference Fig.15 , in the above reference Fig.14 The data visualized in the described visualization operation or step 1450 may be divided into data of a domain dashboard 1510 and data of a system dashboard 1520. The domain dashboard 1510 as a user access area may be divided into a single simulation dashboard 1511 and a plurality of simulation dashboards 1512.

[0228] According to an embodiment, a single simulation dashboard 1511 may include simulation summary information, palette manufacturing status, box picking status, operation rate of each logistics workshop, workload of each logistics workshop, loop inefficiency count, palette list of delayed work, box list of delayed work, operation rate of each crane, and operation rate of each robot. Multiple simulation dashboards 1512 may include comparison of operation rate averages of logistics workshops, comparison of palette completion time averages, comparison of box release time averages, comparison of the number of completed palettes, comparison of the number of discarded boxes, and comparison of the number of boxes restocked during disposal.

[0229] According to an embodiment, the system dashboard 1520 as an administrator or developer access area may include a metrics dashboard 1521 and discovery 1522. The metrics dashboard 1521 may include information about the operating system (OS) and Docker containers as digital twin system support information. Information about the OS may include CPU usage, memory usage, disks used, network traffic, etc. Information about discovery 1522 may include digital twin system log information.

[0230] Fig.16 is a diagram illustrating a method of generating an index of a simulation result according to an embodiment of the present disclosure.

[0231] Reference Fig.16 As described above, a simulation result index (e.g., a logistics simulation result index) can be created based on the log data collected when performing a simulation. Here, in order to compare the simulation results with the actual operation results, the numerical values ​​obtained during the simulation and the result values ​​after the simulation is completed can also be the main indicators. According to an embodiment, for the storage and indexing of the values ​​obtained during the simulation, regardless of when the communication between the twin model 112 and the digital factory 113 is performed during the simulation, the relevant values ​​can be recorded in a predetermined log data format and the method name, time, status, location, etc. can be verified from the log data to use them as indexes. According to an embodiment, when creating a simulation model, the data can be divided into data about the project 1610, data about the mover 1620, and data about the worker 1630, and these data segments can be combined. The index can be generated by utilizing the combined data when performing a simulation.

[0232] According to an implementation, the log data format may be “node_name│node_id│sim_id│app_type│app_name│caller│call_type│call_name│call_time│call_parameter│call_return│info”, but is not limited thereto.

[0233] Here, as a first embodiment, an index may be created by searching for operations using a method name in "caller" or "call_name" and based on the time at which the operation is performed. As a second embodiment, an index for each workshop may be created by searching for operations having a method name in "caller" or "call_name" and a location at which the operation is performed in "call_parameter". As a third embodiment, an index for each facility may be created by searching for operations having a method name in "caller" or "call_name" and a facility in "call_parameter".

[0234] According to an embodiment, Fig.16 Items 1610 may include pallets, component boxes, set boxes, set box racks, palettes, components, bodies, chassis, etc. Position change history or state change history may be identified based on item 1610. Mover 1620 may include autonomous mobile robots, unmanned transport vehicles, conveyors, diverters, turntables, sequential buffers, sequential separators, elevators, stacking cranes, shuttles, lifters, trailers, and component picking workshops. The target time for the start of movement and the target time for the completion of movement may be identified based on mover 1620. Workers 1630 may include assembly processes, disassembly robots, cutting robots, component picking robots, single-arm discarding robots, double-arm discarding robots, cargo loading and unloading areas, compression areas, set box rack loading points, set box rack retrieval points, palette stackers, palette destackers, component picking operators, and battery charging stations. The target time for the start of operation and the target time for the completion of operation may be identified based on worker 1630.

[0235] Fig.17 is a diagram illustrating a method of generating an index of simulation results according to an embodiment of the present disclosure.

[0236] Reference Fig.17 , simulation models that replicate actual operations can be combined with Fig.16 The items 1610, movers 1620, and workers 1630 shown in are created, and result data from the implementation of the simulation model can be extracted.

[0237] According to the implementation mode, Fig.18 As shown, the results of the first simulation obtained from the combination of the log data of the container and the component picking workshop can be created and displayed as a result index chart. The results of the second simulation obtained from the combination of the log data of setting the box rack and setting the box rack loading point can be created and displayed as Fig.19 The resulting index graph is shown.

[0238] Fig.18 is a diagram showing indexes of results of a first simulation according to an embodiment of the present disclosure. Fig.19 A graph showing an index of a result of a second simulation according to an embodiment of the present disclosure.

[0239] Fig. 20 is a diagram illustrating a method of generating an index of a simulation result according to an embodiment of the present disclosure.

[0240] Reference Fig. 20 , a simulation model that replicates actual operation can be created by combining Fig.16 The items 1610, movers 1620, and workers 1630 shown in are created, and result data from the implementation of the simulation model can be extracted.

[0241] According to an embodiment, the result of the third simulation can be obtained by extracting JavaScript Object Notation (JSON), such as Fig.21 As shown, by combining the log data of the set frame and the parts of the pick shop, for example, the index of the actual operation and simulation can be obtained through JSON extraction, and then they can be compared and analyzed.

[0242] Fig.21 is a diagram showing an index of a result of a third simulation according to an embodiment of the present disclosure. Fig.21 , "setboxDueTm" may indicate the expected completion time of the actual operation and "setboxSimTm" may indicate the operation completion time verified in the simulation. By comparing these two values, prediction and verification of the actual operation is possible.

[0243] In addition, according to an embodiment, the result of the fourth simulation can be obtained through JSON extraction, such as Fig. 22 As shown, by combining the log data of the setting box rack and the setting box rack mount point. For example, for each project, the index of the actual operation and simulation can be obtained through JSON extraction, and then they can be compared and analyzed.

[0244] Fig. 22 is a diagram showing an index of a result of a fourth simulation according to an embodiment of the present disclosure. Fig. 22 , "dueTm" may indicate the expected completion time of the actual operation and "simTm" may indicate the operation completion time verified in the simulation. By comparing these two values, prediction and verification of the actual operation is possible.

[0245] Fig.23A and Fig. 23B is a diagram showing indices of simulation results according to an embodiment of the present disclosure. Fig.23A is a diagram showing the analysis of the results of a single simulation, and Fig. 23B is a diagram showing analysis of results of a plurality of simulations.

[0246] Reference Fig.23A According to the embodiment, the simulation summary information can be displayed as a function list according to the logistics simulation results. In addition, the manufacturing status of the group box / rack and the picking status of the component box can be represented by a time chart. The operation rate of each PPS workshop and the list of the set box racks delayed in the work can be represented by a bar chart, and the workload of each PPS workshop can be represented by a time chart and a gauge. The cycle invalid count and the list of parts delayed in the work can be represented in the form of a table.

[0247] Reference Fig. 23B According to an embodiment, as a function list according to the logistics simulation results, after performing multiple simulations, the results from the simulations can be compared with each other and represented by a graph. For example, by indicating the operation rate, the average number of completions of the set box, the average number of completions of the set box rack, the average number of releases of the component box, the completion number of the set box, the completion number of the set box, the discarded number of the component box, and the number of the component box re-stocked during the processing of each simulation, the results of multiple simulations can be compared.

[0248] Fig.24 is a configuration diagram of hardware of a computing device according to some embodiments of the present disclosure.

[0249] Reference Fig.24 , each device or module (e.g., a twin model module, a digital factory module, or a simulator module) forming the digital twin system may be composed of a computing device 2400. For example, the computing device 2400 may include at least one processor 2410, a system bus 2460, a communication interface 2420, a memory 2440 for loading a computer program 2450 to be executed by the processor 2410, and a storage device 2430 for storing the computer program 2450.

[0250] The processor 2410 generally controls the operation of the corresponding components of the computing device 2400. The processor 2410 may perform calculations on at least one application or program to perform methods / operations according to various embodiments of the present disclosure. The memory 2440 stores various data, commands and / or information. The memory 2440 may load at least one computer program 2450 from the memory 2430 to perform methods / operations according to different embodiments of the present disclosure. The bus 2460 provides communication between components of the computing device 2400. The communication interface 2420 supports Internet communication of the computing device 2400. The memory 2430 may store at least one computer program 2450 non-temporarily. The computer program 2450 may include one or more instructions for implementing methods / operations according to different embodiments of the present disclosure. When the computer program 2450 is loaded into the memory 2440, the processor 2410 may execute one or more instructions to perform methods / operations according to different embodiments of the present disclosure.

[0251] The computer program 2450 may include instructions for executing methods / operations according to different embodiments of the present disclosure.

[0252] For example, the computer program 2450 may include: instructions for a simulator module to register and initialize models of multiple digital factories, wherein the multiple digital factories are virtual representations of multiple factories; the simulator module requests the start of simulation from a first twin model among multiple twin models, wherein the first twin model is a virtual representation of a control system for the corresponding multiple factories; the first twin model generates control logic for a first digital factory among the multiple digital factories; and the first twin model transmits commands generated based on the control logic to the first digital factory module.

[0253] In addition, the computer program 2450 may include instructions for the first twin model to receive a simulation start request from a simulator module, wherein the first twin model is one of multiple twin models, and the multiple twin models are virtual representations of control systems for corresponding multiple factories; the first twin model generates control logic for the first digital factory among the multiple digital factories, and the control logic is a virtual representation of the multiple factories; the first twin model transmits commands generated based on the control logic to the first digital factory module; and the first digital factory module processes operations corresponding to the commands received from the first twin model for simulation.

[0254] In the following, reference Figure 25 to Figure 28 A screen for editing and managing the configuration of each simulation model according to an embodiment is described.

[0255] Fig.25is a diagram illustrating a screen for editing and managing the configuration of each twin model according to an embodiment of the present disclosure.

[0256] Reference Fig.25 On the screen for editing and managing the configuration of each twin model, the name and version information of the model can be displayed. In addition, additional information of each feature can be displayed, such as name, code, default value, unit, detailed description, whether it is used, whether it can be changed, etc.

[0257] Fig.26 is a diagram illustrating a screen for editing and managing the configuration of each digital factory according to an embodiment of the present disclosure.

[0258] Reference Fig.26 On the screen for editing and managing the configuration of each digital factory, the name and version information of the model can be displayed. In addition, additional information of each characteristic can be displayed, such as name, code, default value, unit, detailed description, whether it is used, whether it can be changed, etc.

[0259] Fig. 27 is a diagram illustrating a screen for editing and managing a configuration of each model according to an embodiment of the present disclosure.

[0260] Reference Fig. 27 According to the implementation mode, user initial data may be set. For example, as user initial data, the name, code, unit, detailed description, and default value of a characteristic may be displayed. Here, the user may set a customized set by inputting a customized value of the corresponding characteristic. As described above, the customized set is established using the initial values ​​frequently used by the user. Multiple simulations may be performed using the initial values ​​included in the customized set.

[0261] Fig.28 is a diagram illustrating a screen for editing and managing a configuration of each model according to an embodiment of the present disclosure.

[0262] Reference Fig.28 , according to the implementation mode, user initial data may be set. For example, as user initial data, the name, code, unit, detailed description, and setting value of a characteristic may be displayed. Here, the user may set the user setting value by inputting a changed value for the corresponding characteristic. The user setting value is the initial data to be changed when the user performs a specific simulation as described above. When performing a simulation, the user may change the conditions of each characteristic to perform the simulation.

[0263] In the above, reference has been made to Figures 1 to 28Various embodiments of the present disclosure and their benefits are described. The benefits according to the technical spirit of the present disclosure are not limited to those mentioned above. Other benefits not mentioned above should be more clearly understood by those of ordinary skill in the art from the above description.

[0264] The technical spirit of the present disclosure described above can be implemented as a computer-readable code on a computer-readable medium. The computer program recorded on the computer-readable recording medium can be transmitted to another computing device via a network such as the Internet and installed in another computing device, so that the computer program can be used in another computing device.

[0265] Although operations are shown in a particular order in the drawings, it should be understood that desired results can be achieved not only when the operations are performed in that particular order or sequence, or when all operations are performed. In some cases, multitasking and / or parallel processing can be advantageous.

[0266] Although the embodiments of the present disclosure have been described with reference to the accompanying drawings, it should be understood by those skilled in the art that the present disclosure may be modified or changed in other specific forms without changing the technical spirit or basic features. Therefore, the above embodiments should be understood as illustrative rather than restrictive in all aspects. The scope of protection of the present disclosure should be interpreted according to the following claims, and all technical concepts within the equivalent scope should be interpreted as included within the scope of rights of the technical concepts defined in the present disclosure.

Claims

1. A digital twin system, include: A plurality of twin model modules, wherein a corresponding twin model module i in the twin model modules comprises control logic, and ii is configured to virtualize a corresponding control system for a corresponding plant in the plurality of plants; a plurality of digital factory modules, wherein a corresponding digital factory module i among the digital factory modules is configured to virtualize a corresponding factory among the plurality of the factories, and ii is controlled by a corresponding twin model module among the plurality of twin model modules to create a virtual factory model; and The simulator module is configured to manage multiple twin model modules.

2. The digital twin system according to claim 1, in, Multiple twin model modules are executed on at least one graphics processing unit GPU server, and when a first twin model module from the multiple twin model modules is executed, the simulator module allocates resources for executing the first twin model module in at least one of the GPU servers.

3. The digital twin system according to claim 1, in, The simulator module is configured to establish conditions for controlling the control logic of the virtual plant in each twin model module.

4. The digital twin system according to claim 3, in, The simulator module is configured to: Creating web pages to establish conditions for the control logic; and The conditions of the control logic are established using the setting values ​​input through the web page.

5. The digital twin system according to claim 1, in, The simulator module is configured to request any of the start, end, and restart of the simulation from each twin model module.

6. The digital twin system according to claim 1, in, The simulator module is configured to: Requesting state information from the twin module; and The state information is received from the twin model module.

7. The digital twin system according to claim 1, in, The simulator module includes a model manager configured to manage connections with each twin model module or each digital plant module.

8. The digital twin system according to claim 1, in, Each of the plurality of twin model modules is configured to be combined with any one of the plurality of digital factory modules.

9. The digital twin system according to claim 1, further comprising: include: a data analysis module configured to receive data from at least one of each twin model module, each digital plant module, or the simulator module; as well as The received data is analyzed.

10. A method for controlling a digital twin system, include: registering and initializing models for a plurality of digital plants by a simulator module, wherein the models for the digital plants are virtual representations of the plurality of plants; Requesting, by the simulator module, a start of a simulation of a first twin model from a plurality of twin models, wherein the plurality of twin models are virtual representations of respective control systems for respective plants from the plurality of plants; generating control logic for a first digital factory from among the plurality of digital factories by using the first twin model; The first twin model transmits the command generated based on the control logic to the first digital factory module; and Operations corresponding to commands received from the first twin model are processed by the first digital factory module for simulation.

11. The method according to claim 10, in, The simulator module operates on a central processing unit (CPU) server, and a plurality of the twin models are executed on at least one graphics processing unit (GPU) server.

12. The method according to claim 11, in, Models for a plurality of the digital factories are executed on at least one of the GPU servers.

13. The method according to claim 10, further comprising: include: Conditions for controlling the control logic of each virtual plant using each twin model module are established by the simulator module.

14. The method according to claim 13, further comprising: include: Creating a web page by the simulator module to establish the conditions of the control logic; as well as The conditions of the control logic are established by the simulator module using the setting values ​​input through the web page.

15. The method according to claim 10, in, Each of the plurality of twin models is configured to be combined with any one of the plurality of digital factory modules.

16. The method according to claim 10, further comprising: include: Each digital factory module reports the result corresponding to the control command to the twin model module connected to the digital factory module.

17. The method according to claim 10, further comprising: include: receiving, by the data analysis module, data from at least one of each twin model module, each digital plant module, and the simulator module; as well as The received data is analyzed by the data analysis module.

18. A graphics processing unit GPU server, include: a plurality of twin model modules, wherein a corresponding twin model module i among the plurality of said twin model modules comprises control logic, and ii is configured to virtualize a corresponding control system for a corresponding plant among the plurality of plants; and Multiple digital factory modules, wherein the corresponding digital factory module i among the digital factory modules is configured to create a corresponding virtual factory model by virtualizing the corresponding factory among the multiple factories, and ii is controlled by the corresponding twin model module among the multiple twin model modules.

19. The GPU server according to claim 18, in, When a first twin model module from among the multiple twin model modules is executed, resources for executing the first twin model module are allocated in the GPU server.

20. The GPU server according to claim 18, in, Each twin model module is configured to establish conditions for control logic used to control the virtual factory.