METHOD AND SYSTEM FOR SEMI-AUTOMATED GENERATION OF MACHINE-READABLE SKILL DESCRIPTIONS OF PRODUCTION MODULES
20210334670 · 2021-10-28
Inventors
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B19/41845
PHYSICS
Y02P90/30
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B2219/35003
PHYSICS
International classification
Abstract
Production logs and industrial ontologies are processed with an inductive logic program performing class expression learning in order to create class expressions, with each class expression representing a constraint or property of a skill of a production module. The resulting class expressions are ordered by a metric to form an ordered recommender list and displayed to a user for postprocessing. The user selects suitable class expressions from the ordered recommender list, so that the system can build a machine-readable skill description with the selected class expressions. This approach to generating formal, machine-readable skill descriptions minimizes the labor time and domain expertise needed to equip production modules with their skill description. Selecting the correct class expression from the automatically generated ordered recommender list is a much lower effort than manual labeling from scratch.
Claims
1. A method for semi-automated generation of a machine-readable skill description of a production module, the method comprising: one or more processors executing the steps of: processing knowledge stored in a knowledge storage with an inductive learning component, the inductive learning component performing class expression learning to create class expressions, with each class expression representing a constraint or property of a skill of the production module; ordering, by a metric, the class expressions, thereby forming an ordered recommender list; outputting, by a display of a user interface, the ordered recommender list to a user; receiving, by the user interface, one or more user interactions, the user interactions providing a selection of class expressions from the ordered recommender list; and building the machine-readable skill description with the selected class expressions.
2. The method according to claim 1, wherein the machine-readable skill description is stored in the knowledge storage.
3. The method according to claim 1, wherein the processed knowledge contains at least: instance data of operations previously carried out by the production module and/or other production modules; and an ontology containing at least a class hierarchy of several production modules and parameters of at least some of the production modules.
4. The method according to claim 1, wherein the metric is predictive accuracy.
5. The method according to claim 1, wherein the one or more processors: use the machine-readable skill description for automated skill matching in a flexible production environment; and automatically create a production plan by assigning several production modules to production orders.
6. The method according to claim 5, wherein the one or more processors automatically execute the production plan in order to produce a product.
7. A system for semi-automated generation of a machine-readable skill description of a production module, the system comprising: a knowledge storage, a user interface with a display, and one or more processors configured to: process knowledge stored in the knowledge storage with an inductive learning component, the inductive learning component performing class expression learning to create class expressions, with each class expression representing a constraint or property of a skill of the production module; order, by a metric, the class expressions, thereby forming an ordered recommender list; output, by the display of the user interface, the ordered recommender list to a user; receive, by the user interface, one or more user interactions, the user interactions providing a selection of class expressions from the ordered recommender list; and build the machine-readable skill description with the selected class expressions.
8. A flexible production environment with production modules and with the system according to claim 7, wherein the one or more processors of the flexible production environment are programmed to: use the machine-readable skill description for automated skill matching in the flexible production environment; and automatically create a production plan by assigning several production modules to production orders.
9. The flexible production environment according to claim 8, configured for automatic execution of the production plan and production of a product.
10. A computer-readable storage media having stored thereon: instructions executable by the one or more processors of a computer system, wherein execution of the instructions causes the computer system to perform the method according to claim 1.
11. A computer program, which is being executed by the one or more processors of a computer system and performs the method according to claim 1.
Description
BRIEF DESCRIPTION
[0036] Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:
[0037]
[0038]
[0039]
[0040]
DETAILED DESCRIPTION
[0041] In the following description, various aspects of the present invention and embodiments thereof will be described. However, it will be understood by those skilled in the art that embodiments may be practiced with only some or all aspects thereof. For purposes of explanation, specific numbers and configurations are set forth in order to provide a thorough understanding. However, it will also be apparent to those skilled in the art that the embodiments may be practiced without these specific details.
[0042]
[0043] Part of this process is skill matching as shown in
[0044] In the following, an approach for learning ontology-based skill descriptions will be described. This approach is part of a possible embodiment of the method for semi-automated generation of machine-readable skill descriptions of production modules.
[0045] In order to exemplify the skill description learning process, we chose one example skill “AssembleItemByModuleA” carried out by a specific production module, assembling of an item by a first production module A. Here, one item or material is assembled onto another item by the first production module A. Other skills that could be looked at include joining, charging dismantling, recycling, etc. In this context, an ontology is used that provides: [0046] 1) A class hierarchy of all the production modules, materials, etc. All classes that are relevant to the production process are modelled here. [0047] 2) Instances of operation carried out by the production module. These are the production logs, modelled in the ontology, and can be used by inductive logic programming. [0048] Inductive logic programming is a subfield of machine learning that uses first-order logic to represent hypotheses, in this case with production logs and ontologies as input. [0049] 3) Object properties as background knowledge of each single operation instance. These are properties of the skill descriptions we want to learn. The properties are used to assert relationships between individuals, for example, an operation instance “I-017573-ex” has the object property Position Parameter “PositionParam” of “Position 1”. Another instance of this operation has the Position Parameter of “Position 2”. Therefore, our algorithm should find a class expression, that expresses that the position parameter of our operation has Position Parameter “Position 1” or “Position 2”.
[0050] The ground truth for a skill description for the skill “AssembleItemByModuleA” example is comprised of three “class expression”-like statements or constraints and is generated manually by a domain expert as OWL constraints: [0051] Material involved has to be “MaterialProductBase” or “BottomPart” [0052] Object has Position Parameter “Position 1” or “Position 2” [0053] Object has Orientation Parameter “hundredeighty” or “zero”.
[0054] The problem of learning skill descriptions can be formulated as followed. We represent log data of the production processes as instance data I and ontologies as modelled background data B containing machine and product parameters, with instance data and background data constituting knowledge base K. A.sub.total represents the ground truth skill description. The skill description A.sub.learned is a combination of learned class expressions A.sub.i, with
A.sub.learned={A.sub.1, . . . , A.sub.n},
where each class expression A.sub.i represents a constraint or a property of the skill. A.sub.learned is a sub-set of C, with C being a list of possible class expressions C.sub.i for a production module created by inductive logic programming. In the next step a domain expert can decide which class expressions C.sub.i are most appropriate, based on key indicators. The selected class expressions together constitute a skill description, so result constitutes a conjunction of class expressions C.sub.selected such that
C.sub.selected=A.sub.learned
[0055] The data used for learning the class expressions C.sub.i is captured by semantic web technology, more specifically by ontologies describing cyber-physical systems. This background knowledge represents domain knowledge about the equipment of a production plant, products and their production requirements, materials and production processes.
[0056]
[0057] The preprocessing step 1 contains the preparation of the instance data I (example data), which is resulting from the log data. Each instance data is an individual in our knowledge base K, i.e. an operation carried out by the specific production module as can be seen in the following example: [0058] “op”: “I-017573-ex” [0059] “machine”: “ModuleA” [0060] “skill”: “AssembleItemByModuleA” [0061] “duration”: 20
[0062] In other words, information captured by the log data include the operation ID, the machine carrying out the operation, the skill name and the operation duration.
[0063] In order to achieve meaningful class expressions C, the individuals in the ontology need to be equipped with background knowledge. An example for background knowledge would be information detailing the operation in the production process, such as the material involved as seen in
involvesMaterial only (MaterialProductBase or BottomPart1)
[0064] The Manchester OWL syntax is a user-friendly syntax for OWL Description Logics, fundamentally based on collecting all information about a particular class, property, or individual into a single construct, as described in Matthew Horridge and Peter F Patel-Schneider, “Manchester Syntax for OWL 1.1.”, in: OWLED (Spring), Citeseer, 2008. This background knowledge is modelled in an ontology as seen described above. For a successful class expression learning, a high quality of the ontology is needed. Modelling errors, i.e. missing or wrongly assigned background knowledge, can lead to a reduced quality of the final skill descriptions. For example, an operation instance assigned to the wrong skill name could lead to erroneous class expressions.
[0065] The architecture AT provides a knowledge storage KS that includes at least one ontology OT holding background knowledge as well as an instance data storage IDS. As an alternative, the instance data can be part of the ontology OT.
[0066] The recommender step 2 contains a creation step 21 for creating class expressions through inductive machine learning, and an ordering step 22 for ordering the class expressions by a metric. The creation step 21 forms the machine learning part of the workflow and uses inductive logic programming as a search process, which takes operations carried out by the production module we want to describe as positive examples (instance data I) and creates and tests class expressions C against a background knowledge base B.
[0067] The ordering step 22 keeps the approach efficient, since the collection of most fitting class expressions R.sub.K(C)=R.sub.K(A) should be found on top of a recommender list that is generated by the process. The ordering of the class expressions is done by predictive accuracy.
[0068] The algorithm of the recommender step 2 can be implemented within the open-source framework DL-Learner, which can be used to learn classes in OWL ontologies from selected objects. It extends inductive logic programming to descriptions logics and the semantic web, as described in Lorenz Bühmann, Jens Lehmann, and Patrick Westphal, “DL-Learner—A framework for inductive learning on the Semantic Web”, in: Journal of Web Semantics 39 (2016), pages 15-24. Based on existing instances of an OWL class, DL-Learner can make suggestions, i.e. generate class expressions for class descriptions. For example, instances from “Operation1”, subclass to “AssembleItemByModuleA”, are the basis for its class description. The standard algorithm for class expression learning, namely CELOE, can be used.
[0069] On the side of the architecture AT, the creation step 21 and the ordering step 22 are performed by one or more execution engines EE. The steps can be executed by the same or different execution engines. The execution engines can be processors 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 cloud.
[0070] The postprocessing step 3 involves a domain expert, who chooses the class expressions C from the recommender list according to a set of predefined key indicators including completeness, accuracy and human-understandability. The final skill description A is saved to the knowledge storage (KS) and can then be used in further flexible manufacturing processes like skill matching.
[0071] On the side of the architecture AT, a user interface UI allows the domain expert to make his selections.
[0072]
[0073]
[0074] The method can be executed by one or more processors such as a microcontroller or a microprocessor, by an Application Specific Integrated Circuit (ASIC), by any kind of computer, including mobile computing devices such as tablet computers, smartphones or laptops, or by one or more servers in a control room or cloud. For example, a processor, controller, or integrated circuit of the computer system and/or another processor may be configured to implement the acts described herein.
[0075] The above-described method may be implemented via a computer program product (non-transitory computer readable storage medium having instructions, which when executed by a processor, perform actions).
[0076] The instructions for implementing processes or methods described herein may be provided on non-transitory computer-readable storage media or memories, such as a cache, buffer, RAM, FLASH, removable media, hard drive, or other computer readable storage media. Computer readable storage media include various types of volatile and non-volatile storage media. The functions, acts, or tasks illustrated in the figures or described herein may be executed in response to one or more sets of instructions stored in or on computer readable storage media. The functions, acts or tasks may be independent of the particular type of instruction set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.
[0077] The present invention has been described in detail with reference to embodiments thereof and examples. Variations and modifications may, however, be effected within the spirit and scope of the present invention. The phrase “at least one of A, B and C” as an alternative expression may provide that one or more of A, B and C may be used.
[0078] Although the present invention has been disclosed in the form of preferred embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
[0079] For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.