Method and system for semi-automatically generating machine-readable skill descriptions for production modules
Through inductive logic programming of class expression learning, machine-readable skill descriptions of manufacturing machines are automatically generated, solving the problem of time-consuming and labor-consuming manual description and achieving efficient resource utilization in flexible manufacturing.
Patent Information
- Application Number
- CN202110459271.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-27
- Filing Date
- 2021-04-27
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2041-07-18
AI Technical Summary
In the prior art, skill descriptions of manufacturing machines usually need to be done manually, consuming labor and requiring a high level of expertise from domain experts, and cannot meet the needs of flexible manufacturing, especially when the skill descriptions of production modules are not available.
Inductive logic programming using class expression learning, by processing production logs and industrial ontology, generate machine-readable production module skill descriptions, use inductive learning components to create class expressions, sort and display recommendation lists for users to choose, and finally build machine-readable skill descriptions.
Reduces the labor time and domain expertise required to equip production modules with skill descriptions, supports efficient production resources in flexible manufacturing, and improves the degree of automation of production planning.
Smart Images

Figure CN114118661B_ABST
Abstract
Description
Technical Field
[0001] In many production facilities today, manufacturing machines are programmed deterministically to allow the completion of one or more predefined tasks. This system is suitable for mass production but does not meet the requirements related to flexible manufacturing. In the Industrial 4.0 vision of smart factories, cyber-physical systems are expected to bring more flexibility, adaptability, and transparency to production, thus enhancing the autonomy of machines. In this context, the manufacturing process relies on formalized skill descriptions and formalized descriptions of actions related to the production requirements of individual products. The term "skill" refers to the functions provided by production machines. These skill descriptions are the basis for production process control functions and for fully exploiting the potential of dynamic manufacturing systems. Background Art
[0002] To implement cyber-physical systems in production, one approach is to equip machines with explicit digital skill descriptions that detail their capabilities. For further automation steps such as skill matching, it is necessary to digitize these skill descriptions and thus have them in a machine-readable format, in which the explicit descriptions can be compared with production requests to determine the producibility of new product orders and to assign production modules to production tasks. This approach can simplify and speed up production planning and execution. However, in some cases, these skill descriptions may not be available at all, for example, in the case of legacy modules. Even for newer production equipment, skill descriptions (which may contain complex logical structures) may not be available in digital format.
[0003] Defining and digitizing the skill descriptions of production modules is typically done manually by domain experts. The domain experts use the corresponding production modules to analyze and conceptualize the structure of the production process. Each production module has a specific set of skills and limitations that must be documented. This process is very labor-intensive and requires a high level of expertise from domain experts to fully understand the capabilities of the production modules.
[0004] The purpose of skill description is match verification, in which production modules should meet certain product requirements. A known method is based on the concept that a Bill of Process (BoP) of the product is available. Then, the BoP is matched with the functional description of the production module. For example, the function "drilling" is described as the ability of the production module to perform this specific production process, and is constrained by attributes such as "depth" and their values. Another known method focuses on facilitating the feasibility check of product requirements, that is, checking whether resources can meet the requests and reducing production planning time.
[0005] Semantic technologies can provide a formal description and semantic processing of data, making the data interpretable in terms of its content and meaning. Such explicit knowledge representation of the Semantic Web includes knowledge modeling and the application of formal logic to knowledge bases. One approach is ontology, which enables the modeling of information and consists of classes, relations, and instances. Class Expression Learning (CEL) is a branch of Inductive Logic Programming (ILP), where a set of positive and negative examples of individuals are given in an ontology, as described in "Context-based orchestration for control of resource-efficient manufacturing processes" by Matthias Loskyll et al., 《Future Internet 4.3》(2012), pp. 737 - 761. The supervised learning problem consists of finding a new class expression such that most positive examples are instances of the concept while negative examples are not, as described in "Class expression learning for ontology engineering" by Jens Lehmann et al., 《Journal of Web Semantics 9.1》(2011), pp. 71 - 81. Summary of the Invention
[0006] An object of the present invention is to provide a method and system for semi - automatically generating machine - readable skill descriptions for production modules, which accelerate the process of generating skill descriptions.
[0007] According to the method for semi - automatically generating machine - readable skill descriptions for production modules, the following steps are performed by one or more processors:
[0008] - Processing knowledge stored in a knowledge storage device by an inductive learning component, the inductive learning component performing class expression learning to create class expressions, where each class expression represents a constraint or property of the skills of a production module,
[0009] - Ranking the class expressions by a metric to form a ranked list of recommenders,
[0010] - Outputting the ranked list of recommenders to a user via a display of a user interface,
[0011] - Receiving one or more user interactions via the user interface, the user interactions providing a selection of class expressions from the ranked list of recommenders,
[0012] - Constructing a machine - readable skill description using the selected class expressions.
[0013] A system for semi - automatically generating machine - readable skill descriptions for production modules includes a knowledge storage device, a user interface with a display, and one or more processors programmed to perform the following steps:
[0014] - Process the knowledge stored in the knowledge storage device using an inductive learning component that performs class - expression learning to create class expressions, where each class expression represents a constraint or property of a skill of a production module.
[0015] - Sort the class expressions by a metric to form a sorted list of recommenders.
[0016] - Output the sorted list of recommenders to the user via the display of the user interface.
[0017] - Receive one or more user interactions via the user interface, the user interactions providing a selection of class expressions from the sorted list of recommenders, and
[0018] - Construct a machine - readable skill description using the selected class expressions.
[0019] The following advantages and explanations are not necessarily the result of the purpose of the independent claims. Instead, they can be advantages and explanations that apply only to certain embodiments or variants.
[0020] For example, the inductive learning component can be implemented using logic programming. Inductive Logic Programming (ILP) provides the required kind of inductive reasoning. The inductive learning component can be, for example, a computer program executed by one or more processors.
[0021] The method and system advantageously support resource - efficient production in a dynamic production environment with flexible manufacturing machines and processes. By providing formal, machine - readable skill descriptions, they help to fully utilize the potential of dynamic manufacturing through automatic production planning. Compared with manually generating skill descriptions, the method minimizes the labor time and domain expertise required to equip production modules with their skill descriptions. Selecting the correct class expressions from the automatically generated sorted list of recommenders is less labor - intensive than manually annotating from scratch.
[0022] Using class - expression learning as a form of inductive machine learning has the advantage that the sorted list of recommenders conforms to the knowledge stored in the knowledge storage device, such as instance data of previous operations and existing background knowledge. This means that patterns and instances are developed consistently, and the entry barrier for domain experts can be lower because understanding and evaluating skill descriptions is easier than analyzing the structure of the production process and manually creating skill descriptions.
[0023] According to an embodiment of the method, the machine - readable skill description is stored in the knowledge storage device.
[0024] This embodiment enriches the ontology in the knowledge storage device.
[0025] According to an embodiment of the method, the processed knowledge includes at least instance data of operations previously performed by the production module and / or other production modules, and an ontology including at least one class hierarchy of a plurality of production modules and parameters of at least some of those production modules.
[0026] This embodiment advantageously utilizes production logs (including instance data) and industrial ontologies through inductive logic programming to create class expressions. These production logs together with the industrial ontology are the basis for learning skill descriptions and enable learning skill descriptions. Advantageously, the typically available production logs can be utilized.
[0027] According to an embodiment of the method, the metric is prediction accuracy.
[0028] According to an embodiment of the present method, the one or more processors use machine-readable skill descriptions for automatic skill matching in a flexible production environment and automatically create a production plan by dispatching a plurality of production modules to a production order.
[0029] According to an embodiment of the method, the one or more processors automatically execute the production plan to produce a product.
[0030] The flexible production environment includes production modules and systems. One or more processors of the flexible production environment are programmed to use machine-readable skill descriptions for automatic skill matching in the flexible production environment and automatically create a production plan by dispatching a plurality of production modules to a production order.
[0031] According to one embodiment, the flexible production environment is configured for automatic execution of the production plan and production of a product.
[0032] A computer-readable storage medium has instructions stored thereon that are executable by one or more processors of a computer system, and execution of the instructions causes the computer system to perform the method.
[0033] A computer program is executed by one or more processors of a computer system and performs the method. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The foregoing and other aspects of the present invention can be best understood from the following detailed description when read in conjunction with the accompanying drawings. For the purpose of illustrating the present invention, the presently preferred embodiments are shown in the drawings. However, it should be understood that the present invention is not limited to the specific means disclosed. The following figures are included in the drawings:
[0035] Figure 1 Shows the skill matching process in a flexible production environment
[0036] Figure 2 A flowchart showing possible exemplary embodiments of a method and system for machine-readable description of skills for semi-automatic generation of production modules
[0037] Figure 3 Shows an RDF graph (RDF schema) and instance examples, and
[0038] Figure 4 Shows a list of class expression recommenders DETAILED DESCRIPTION
[0039] In the following description, various aspects of the present invention and their embodiments will be described. However, those skilled in the art should understand that the embodiments can be implemented using only some of their aspects or using all of their aspects. For purposes of explanation, specific numbers and configurations are set forth to provide a thorough understanding. However, it should be obvious to those skilled in the art that the embodiments can be implemented without these specific details
[0040] Figure 1 Shows a skill matching process in a flexible production environment FPE. The flexible production environment FPE consists of one or more production lines having a plurality of production modules A, B, C, which are, for example, production machines or their components. These production modules A, B, C have a set of provided skills PS for which we want to learn their descriptions. A production order consists of a bill of materials BoM and a process list BoP, which are used for automatic production planning - production steps are assigned to specific production modules A, B, C and scheduled at specific times in a specific production plan. This enables an efficient production process and resource allocation
[0041] Part of this process is skill matching as Figure 1 shown, where the skill requirements SR of an operation (in particular the required skills RS) are matched with the skill offerings of production modules A, B, C (in particular the provided skills PS). For example, manufacturing process step 2 requires an intermediate product created in step 1, as well as another material as seen in the bill of materials BoM and the process list BoP. These two parts must be joined, which requires the joining skills of a production module. The third production module C provides this skill, and the required skills RS and the provided skills PS can be matched. However, this requires the provided skills PS of the third production module C to be available in digital format to enable successful skill matching
[0042] In the following, a method for learning ontology-based skill descriptions will be described. This method is part of a possible embodiment of a method for semi-automatically generating machine-readable skill descriptions for production modules.
[0043] To illustrate the skill description learning process, we select the example skill "assembling an item by module A" performed by a specific production module, i.e., assembling an item by the first production module A. Here, an item or material is assembled onto another item by the first production module A. Other skills that can be considered include joining, loading and unloading, recycling, etc. In this context, an ontology is used to provide:
[0044] 1) The class hierarchy of all production modules, materials, etc. All classes related to the production process are modeled here;
[0045] 2) Instances of operations performed by production modules. These are production logs modeled in the ontology and can be used by inductive logic programming. Inductive logic programming is a branch of machine learning that uses first-order logic to represent hypotheses. In this case, the production logs and the ontology are used as inputs;
[0046] 3) Object properties as background knowledge for each single operation instance. These are the properties of the skill descriptions we want to learn. The properties are used to assert relationships between individuals. For example, the object property "positioning parameter" of the operation instance "I-017573-ex" is "positioning 1". The positioning parameter of another instance of this operation is "positioning 2". Therefore, our algorithm should find a class expression that represents that the positioning parameter of our operation has the positioning parameter "positioning 1" or "positioning 2".
[0047] The benchmark for the skill description of the example skill "assembling an item by module A" consists of three "class expressions" of similar statements or constraints and is manually generated by domain experts as OWL constraints:
[0048] · The materials involved must be "material product library" or "bottom part"
[0049] · The object has a positioning parameter of "positioning 1" or "positioning 2"
[0050] · The orientation parameter of the object is "one hundred and eighty" or "zero".
[0051] The problem of learning skill descriptions can be formulated as follows. We represent the log data of the production process as instance data I, and represent the ontology as modeling background data B containing machine and product parameters, where the instance data and the background data constitute the knowledge base K. A 总 represents the benchmark skill description. The skill description A 学习 is a combination of the learned class expressions A i where
[0052] A 学习 = {A1, …, A n},
[0053] where each class expression A i represents a constraint or property of a skill. A 学习 is a subset of C, where C is a list of possible class expressions C i created by inductive logic programming. In the next step, domain experts can decide which class expression C i is most appropriate based on key metrics. The selected class expressions together form the skill description, and thus the result is a conjunction of class expressions C 选择 such that
[0054] C 选择 =A 选择 。
[0055] Data for learning the class expressions C i is captured by semantic web technologies, more specifically, by ontologies describing cyber-physical systems. This background knowledge represents domain knowledge about the equipment, products, and their production requirements, materials, and production processes in a production plant.
[0056] Figure 2 Illustrated is a workflow WF of a possible exemplary embodiment of the method and an architecture AT of a possible exemplary embodiment of the system. According to an embodiment, the workflow WF is subdivided into three processing steps or building blocks: a preprocessing step 1, followed by a recommendation step 2, and a postprocessing step 3.
[0057] The preprocessing step 1 involves the preparation of instance data I (example data), which is obtained from log data. Each instance data I i is an individual in our knowledge base K, i.e., an operation performed by a specific production module as can be seen in the following example:
[0058] “op”: “I-017573-ex”
[0059] “machine”: “module A”
[0060] “skill”: “assembling an item by module A”
[0061] “duration”: 20.
[0062] In other words, the information captured by the log data includes the operation ID, the machine performing the operation, the skill name, and the operation duration.
[0063] To achieve a meaningful class expression C, the individuals in the ontology need to be equipped with background knowledge. An example of background knowledge is information that details the operations in a production process, such as Figure 3 the materials involved as seen in
[0064] involves only materials (MaterialProductBase or BottomPart1)
[0065] (involvesMaterial only (MaterialProductBase or BottomPart1)).
[0066] The Manchester OWL syntax is a user-friendly OWL description logic syntax that is basically based on gathering all information about a particular class, property, or individual into a single construct, as described in "Manchester Syntax for OWL 1.1." by Matthew Horridge and Peter F Patel-Schneider (OWLED (Spring), Citeseer, 2018). As can be seen from the above, this background knowledge is modeled in the ontology. For successful class expression learning, a high-quality ontology is required. Modeling errors, that is, the absence or incorrect assignment of background knowledge, may lead to a decline in the quality of the final skill description. For example, an operation instance assigned to the wrong skill name may result in an incorrect class expression.
[0067] The architecture AT provides a knowledge storage device KS, which includes at least one ontology OT that stores background knowledge and an instance data storage device IDS. Alternatively, the instance data can be part of the ontology OT.
[0068] The recommender step 2 includes a creation step 21 for creating class expressions through inductive machine learning, and a sorting step 22 for sorting the class expressions by a metric. The creation step 21 forms the machine learning part of the workflow and uses inductive logic programming as the search process, which takes the operations performed by the production module that we want to describe as positive examples (instance data I) and creates and tests class expressions C against the background knowledge base B.
[0069] The sorting step 22 makes the method efficient because the set of most suitable class expressions R K (C) = R K (A) should be found at the top of the recommender list generated by this process. The sorting of class expressions is done by prediction accuracy.
[0070] The algorithm for the recommender's step 2 can be implemented in the open-source framework DL-Learner, which can be used to learn classes in an OWL ontology from selected objects. It extends inductive logic programming to description logics and the Semantic Web, as described in "DL-Learner—A framework for inductive learning on the Semantic Web" by Lorenz Bühmann, Jens Lehmann, and Patrick Westphal (Journal of Web Semantics 39 (2016), pp. 15-24). Based on existing OWL class instances, DL-Learner can make recommendations, that is, generate class expressions for class descriptions. For example, instances of the subclass "Operation 1" from "assembling an item by module A" are the basis for its class description. The standard algorithm for class expression learning, namely CELOE, can be used.
[0071] In terms of the architecture AT, the creation step 21 and the sorting step 22 are performed by one or more execution engines EE. These steps can be performed by the same or different execution engines. The execution engine can be a processor, such as a microcontroller or a microprocessor, or an application-specific integrated circuit (ASIC), or any kind of computer, including mobile computing devices such as tablet computers, smartphones, or laptops, or one or more servers in a control room or in the cloud.
[0072] The post-processing step 3 involves domain experts who select a class expression C from the recommender list based on a set of predefined key metrics - including completeness, accuracy, and human understandability. The final skill description A is saved to the knowledge storage device (KS) and can then be used for further flexible manufacturing processes, such as skill matching.
[0073] In terms of the architecture AT, the user interface UI allows the domain expert to make his selection.
[0074] Figure 3 An example of an RDF schema (RDF-S) and its corresponding RDF instance RDF-I is shown. This is an illustration of background knowledge, detailing operations in the production process, such as the materials involved.
[0075] Figure 4 An illustration is shown for Figure 2The recommender list RL generated during step 2 of the described recommender. The recommender list RL contains class expressions for the skill of "assembling an item by module A". Class expressions 1, 2, and 18 are ground truths and can all be found in the top 20 results. However, some of the other class expressions have little or no useful information. For example, since materials of the type "part type 3" are not used in this skill, the fifth class expression, "involving a maximum of 1 part of type 3 for materials", is not incorrect. However, including this class expression in the skill description does not add any value to a concise and complete description and reduces the understandability of the skill description. This is why domain experts are still needed to distinguish between useful and useless class expressions to generate a complete skill description. To this end, domain experts must evaluate all 20 class expressions and select a subset for the final skill description based on their content and style.
[0076] The method can be executed by one or more processors (such as a microcontroller or a microprocessor), an application-specific integrated circuit (ASIC), any type of computer (including mobile computing devices such as tablet computers, smartphones, or laptop computers), or one or more servers in a control room or in the cloud. For example, the processor, controller, or integrated circuit of a computer system and / or additional processors can be configured to implement the actions described herein.
[0077] The above method can be implemented via a computer program product including one or more computer-readable storage media having instructions stored thereon that are executable by one or more processors of a computing system. Execution of the instructions causes the computing system to perform operations corresponding to the actions of the above method.
[0078] Instructions for implementing the processes or methods described herein can be provided on a non-transitory computer-readable storage medium or memory, such as a cache, buffer, RAM, FLASH, removable media, hard disk drive, or other computer-readable storage medium. Computer-readable storage media include various types of volatile and non-volatile storage media. The functions, actions, or tasks illustrated in the figures or described herein can be performed in response to one or more sets of instructions stored in or on a computer-readable storage medium. The functions, actions, or tasks can be independent of a particular type of instruction set, storage medium, processor, or processing strategy and can be performed by software, hardware, integrated circuits, firmware, and microcode, etc., operating alone or in combination. Similarly, processing strategies can include multiprocessing, multitasking, and parallel processing, etc.
[0079] The present invention has been described in detail with reference to embodiments and examples of the present invention. However, variations and modifications can be made within the spirit and scope of the present invention as covered by the claims. The expression "at least one of A, B, and C" as an alternative expression can stipulate that one or more of A, B, and C can be used.
Claims
1. A method for semi - automatically generating machine - readable skill descriptions for production modules, wherein one or more processors perform the following steps - Process knowledge stored in a knowledge storage device using an inductive learning component, the inductive learning component performing class expression learning to create (21) class expressions, where each class expression represents a constraint or property of the skill of a production module, - Rank the class expressions (22) by a metric, thereby forming a ranked list of recommenders, - Output the ranked list of recommenders to a user via a display of a user interface, - Receive one or more user interactions via the user interface, the user interactions providing a selection of class expressions from the ranked list of recommenders, - Construct a machine - readable skill description using the selected class expressions, wherein the knowledge processed at least includes - Instance data of operations previously performed by a production module and / or other production modules, and - An ontology that includes a class hierarchy of at least several production modules and parameters of at least some of the production modules.
2. The method according to claim 1, - wherein the machine - readable skill description is stored in a knowledge storage device.
3. The method according to claim 1, - wherein the metric is prediction accuracy.
4. The method according to any one of claims 1 - 3, wherein the one or more processors - Use the machine - readable skill description for automatic skill matching in a flexible production environment, and - Automatically create a production plan by dispatching several production modules to a production order.
5. The method according to claim 4, wherein the one or more processors automatically execute the production plan to produce a product.
6. A system for semi - automatically generating machine - readable skill descriptions for production modules, having a knowledge storage device, a user interface with a display, and one or more processors programmed to perform the following steps - Process knowledge stored in the knowledge storage device using an inductive learning component, the inductive learning component performing class expression learning to create (21) class expressions, where each class expression represents a constraint or property of the skill of a production module, and the knowledge processed at least includes: - Instance data of operations previously performed by a production module and / or other production modules, and - An ontology that includes a class hierarchy of at least several production modules and parameters of at least some of the production modules, - Rank the class expressions (22) by a metric, thereby forming a ranked list of recommenders, - Output the ranked list of recommenders to the user via the display of the user interface, - Receive one or more user interactions via the user interface, the user interactions providing a selection of class expressions from the ranked list of recommenders, and - Construct a machine - readable skill description using the selected class expressions.
7. A flexible production environment having a production module and the system according to claim 6, wherein one or more processors of the flexible production environment are programmed to - in a flexible production environment, use the machine - readable skill description for automatic skill matching, and - Automatically create a production plan by dispatching a number of production modules to a production order.
8. The flexible production environment according to claim 7, configured for the automatic execution of a production plan and the production of products.
9. A computer-readable storage medium storing thereon: - Instructions executable by one or more processors of a computer system, wherein the execution of the instructions causes the computer system to perform the method according to any one of claims 1 to 5.
10. A computer program product comprising a computer program, - The computer program is executed by one or more processors of a computer system to perform the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method and device for automatically generating application programs of programmable logic controllers
CN103235549A
Dynamic collection attribute-based computer programming language methods
CN106250201A