EP4338019A1 - Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung - Google Patents

Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung

Info

Publication number
EP4338019A1
EP4338019A1 EP22747991.2A EP22747991A EP4338019A1 EP 4338019 A1 EP4338019 A1 EP 4338019A1 EP 22747991 A EP22747991 A EP 22747991A EP 4338019 A1 EP4338019 A1 EP 4338019A1
Authority
EP
European Patent Office
Prior art keywords
action execution
tree
machine
action
trees
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22747991.2A
Other languages
English (en)
French (fr)
Inventor
Dieter Bogdoll
Markus Michael Geipel
Daniel Hein
Johannes Kehrer
Carlos Andres Palacios Valdes
Axel Reitinger
Ferdinand Strixner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP4338019A1 publication Critical patent/EP4338019A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36121Tree oriented menu, go to root, scroll up down, select mode

Definitions

  • Complex machines such as robots, motors, machine tools, turbines, 3D printers, production plants or motor vehicles generally require a complex configured controller for productive operation in order to specifically optimize the performance of the controlled machine.
  • the performance to be optimized can relate, for example, to power, yield, resource requirements, efficiency, precision, pollutant emissions, stability, wear and/or other target parameters of the machine.
  • Machine controls are often configured by experts during design or commissioning of the machine to be controlled. However, such configuration by experts is often relatively time-consuming. In many cases, additional effort is required to optimize the configuration.
  • Machine learning Data-driven methods of machine learning are increasingly being used to automatically configure machine controls.
  • a machine controller can be trained to derive the specific control actions from the machine's current operating signals that specifically bring about a desired or otherwise optimal behavior of the machine.
  • a large number of known machine learning methods, in particular methods of reinforcement learning, are available for these purposes.
  • Predetermined action patterns are read in for configuring a machine controller by means of an action execution tree specifying an execution of actions by a machine. Furthermore, a large number of action execution trees are generated for the machine. The action execution trees can in particular be so-called behavior trees. For a respectively generated action execution tree, a performance for controlling the machine is determined using the respective action execution tree. Furthermore, the specified action patterns are searched for in the respective action execution tree. An action pattern found in the respective action execution tree is then at least partially replaced by a reference to the specified action pattern. A tree size of the action execution tree modified in this way is also determined. Using the generated action execution trees, a numerical optimization method is then used to determine an action execution tree that is optimized with regard to greater performance and a smaller tree size and is output for configuring the machine controller.
  • a configuration system, a computer program product and a computer-readable, preferably non-volatile, storage medium are provided for carrying out the method according to the invention.
  • the method according to the invention and the configuration system according to the invention can be carried out, for example, by means of one or more computers, processors, application-specific integrated circuits (ASIC), digital signal processors (DSP) and/or so-called "Field Programmable Gate Arrays”.
  • an action execution tree can be reduced in size in many cases. In this way, the complexity of the action execution tree can usually be reduced. Insofar as the tree size of action execution trees is used as an optimization criterion in addition to performance, the optimization can be driven in the direction of action execution trees that have predetermined action patterns. In this way, an action execution tree or a configuration can be determined that is usually both high-performance and low in complexity. Configurations with low complexity are generally easier to interpret by experts and are therefore easier to validate and/or further develop.
  • the multiplicity of action execution trees can be generated at least partially on the basis of the action pattern.
  • action execution trees can be assembled at least partially from the action patterns. In this way, action execution trees can be generated in a targeted manner, which have known and/or easily interpretable action patterns.
  • a predefined initial action execution tree can be read.
  • the large number of action execution trees can then be at least partially based on the initial action on execution tree are generated.
  • the initial action execution tree can in particular be an action execution tree created, tested and/or validated by an expert. In this way, expert specifications can be taken into account when determining an optimized action execution tree.
  • the initial action execution tree may be executed by an interpreter, determining a reference sequence of machine actions specified by the initial action execution tree.
  • the generated action execution trees can then each be executed by the interpreter, with a respective sequence of machine actions specified by the respective generated action execution tree being determined.
  • a generated action execution tree whose respective sequence does not match the reference sequence can thus be discarded.
  • optimization can be restricted to action execution trees that reproduce the reference sequence. If the initial action execution tree is advantageously chosen in such a way that the machine actions specified thereby or a predetermined selection of these machine actions only include permissible or required target machine actions, it can be ensured in this way that the optimization remains limited to action execution trees, meet the specified development goals.
  • the numerical optimization experience can be a genetic optimization method, which also generates the multiplicity of action execution trees.
  • the genetic optimization method can be initialized in particular by the initial action execution tree.
  • a fitness function can be provided for the genetic optimization method, which assigns greater fitness to a higher performance and/or a smaller tree size than to a lower performance and/or a larger tree size. In this way, the optimization can preferably be driven in the direction of high-performance and/or less complex configurations. A large number of efficient standard routines are available for carrying out such genetic optimization methods.
  • a Pareto front can be determined for the large number of action execution trees, with an increase in performance and a reduction in the tree size being used as Pareto target criteria.
  • the optimized action execution tree can then be derived from Pareto front action execution trees.
  • the optimized action execution tree can be selected or interpolated from action execution trees of the Pareto front. While a selection is particularly easy to carry out, an interpolation can also combine several advantageous properties of action execution trees.
  • an optimized action execution tree can be determined, which is usually both performant and has a small tree size and thus low complexity.
  • a Pareto front is also understood to mean a set of action execution trees whose distance from a mathematically exact Pareto optimum is less than a given threshold value, for example.
  • a restriction to action execution trees of the Pareto front usually opens up a space of possible action execution trees. considerably restricted, with non-optimal action execution trees in particular being eliminated. Determining the optimized action execution tree and, if necessary, further optimization can be simplified considerably in this way.
  • action execution trees of the Pareto front can be fed into the genetic optimization experience.
  • action execution trees not included in the Pareto Front may be discarded.
  • the genetic optimization process can be enriched with advantageous action execution trees.
  • the optimization process can be terminated after a Pareto front has been determined.
  • a simulation model of the machine a data-driven model of the machine, the machine itself and/or a machine similar to it can be controlled using the respective action execution tree and a performance of the machine resulting therefrom can be determined.
  • a surrogate mode11 of the machine which requires fewer computing resources than a complete physical simulation, can preferably be used as the simulation model.
  • an edge number, a node number and/or a tree depth of the modified action execution tree or a weighted combination of the edge number, the node number and/or the tree depth can be determined.
  • the above criteria allow a particularly simple evaluation of the tree size or the complexity of a respective action execution tree.
  • Figure 1 shows a machine with a machine controller for controlling the machine
  • Figure 2 an action execution tree
  • FIG. 3 shows a configuration system according to the invention when configuring a machine control
  • Figure 4 shows a modification of an action execution tree.
  • FIG. 1 shows a schematic representation of a machine M, which is coupled to a machine controller CTL for controlling the machine M.
  • the machine M can be a robot, a motor, a machine tool, a turbine, a manufacturing plant, a motor vehicle, a 3D printer, a computer, a mechanical system, an electrical system or another device or another be plant.
  • the machine M has a sensor system S for continuously measuring and/or acquiring operating signals BS from the machine M and, if applicable, data from an area surrounding the machine M.
  • the machine control CTL can be configured with the aid of a computer and can be implemented externally to the machine M as part of the machine M or in whole or in part.
  • the machine control CTL is to be configured by means of the invention in such a way that the machine M is controlled in an optimized manner. Under a control is also a rule, as well as an output and use of control-relevant, i. H. understood for the targeted influencing of the machine M contributing data or control signals.
  • the machine control CTL is to be in particular a genetic optimization method, can be configured in such a way that operation of the machine M is optimized as a function of the detected operating signals BS.
  • the term optimization is generally also understood to mean an approximation to an optimum. In this case, a performance of the machine M should preferably be increased.
  • a control behavior of the machine control CTL is defined by its configuration.
  • the configuration includes in particular an action execution tree, preferably in the form of a behavior tree known to those skilled in the art, through which actions to be executed by the machine M and in particular sequences of actions are specified.
  • An action execution tree is represented by a tree-linked directed graph, which is preferably implemented as a tree-linked data structure.
  • FIG. 2 illustrates a basic structure of such an action execution tree BT, which can be configured as a behavior tree, for example.
  • the action execution tree BT comprises a directed, tree-like, branched graph with a plurality of nodes A0, A1, A2, A3, A4, . . . which are connected by directed edges.
  • Certain nodes of the graph represent machine actions that are to be executed by the machine M depending on the given conditions.
  • the directed edges of the graph can be used to specify relationships between conditions and machine actions to be carried out conditionally or a sequence of machine actions to be carried out.
  • a process flow determined by a sequence of machine actions to be carried out branches depending on the specified conditions along the tree structure of the graph.
  • An action execution tree BT configured as a behavior tree can in particular have so-called fallback nodes, sequence nodes, control flow nodes and Decorators such as “always”, “guard”, “not”, “retry”, “time limit”, “wait for” and/or “while” include.
  • an optimized action execution tree BTO preferably in the form of an optimized behavior tree, is transmitted to the machine control CTL for the optimized configuration of the machine control CTL.
  • a control behavior of the machine control CTL set in this way is often also referred to as a policy.
  • the optimized action execution tree BTO is determined by a method according to the invention.
  • the continuously detected operating signals BS of the machine M are transmitted to the machine control system CTL by the sensor system S.
  • the operating signals BS can provide information about the operating states of the machine M, about positions or movements of components, about switching states, about control states, about control actions, about physical, chemical or electrical measured variables and/or about other parameters relevant to the operation of the machine M include parameters.
  • control signals CS are transmitted from the machine control CTL to the machine M for optimized control of the latter.
  • the control signals CS are generated depending on the optimized action execution tree BTO in such a way that a sequence of machine actions specified by the optimized action execution tree BTO is executed.
  • FIG. 3 shows a schematic representation of a configuration system KS according to the invention when configuring the machine control CTL.
  • the machine control CTL can form part of the configuration system KS or be arranged completely or partially externally to the configuration system KS.
  • the configuration system KS and / or the machine control CTL have one or several processors for carrying out the method according to the invention and one or more memories for storing data to be processed.
  • the machine control CTL should be configured by an optimized action execution tree BTO in such a way that the machine M is controlled in an optimized manner.
  • the optimized action execution tree BTO is determined by the configuration system KS using a genetic optimization method.
  • action patterns AP specified by the configuration system KS and an initial action execution tree BTI are read in, preferably in the form of a behavior tree.
  • the action patterns AP can in particular specify sequences of machine actions and/or conditions for their execution.
  • the action patterns AP are preferably represented by subgraphs or subtrees of action execution trees or behavior trees.
  • idiomatic, easily interpretable, reliable, validated and/or permissible action patterns that have proven themselves for solving control subtasks can be specified as action patterns AP.
  • the action patterns AP are read in from a database DB or from another widely available action pattern library.
  • the initial action execution tree BTI is preferably created by an expert USR according to technical specifications, requirements or other technical constraints for controlling the machine M and fed into the configuration system KS.
  • the initial action execution tree BTI specifies an execution of permitted and/or required machine actions and thus forms a reference for the control of the machine M or for a target configuration of the machine control CTL. This is how the initial encodes Action execution tree BTI to a certain extent expert knowledge about the control of the machine M.
  • selection information SI is fed into the configuration system KS by the expert USR.
  • an optimized action execution tree BTO a genetic optimization method is used, among other things, in the present exemplary embodiment.
  • Advantageous action execution trees are searched for and further optimized in a space of possible action execution trees.
  • a generator GEN of the configuration system KS generates—at least in part randomly—a multiplicity of action execution trees BT, each of which specifies a possible execution of machine actions by the machine M.
  • a so-called fitness of the machine actions specified thereby is evaluated for the generated action execution trees BT.
  • Action execution trees BT with higher fitness are more likely to be used to generate further action execution trees BT in a subsequent iteration of the genetic optimization process.
  • Action execution trees BT with lower fitness are correspondingly sorted out with a higher probability and/or replaced by newly generated action execution trees. In this way, action execution trees BT with higher fitness are increasingly being generated by the generator GEN.
  • a performance for controlling the machine M is determined using the action execution tree BT to be evaluated, a tree size of this action execution tree BT and/or a weighted combination of the performance and the tree size to determine a respective fitness. In this way, the generation of action execution trees is driven towards higher performance and smaller tree size.
  • a large number of standard procedure available. Alternatively or additionally, other methods of machine learning can also be used for optimization.
  • the initial action execution tree BTI and the action pattern AP are fed into the generator GEN.
  • the action execution trees BT are then generated by the generator GEN starting from the initial action execution tree BTI and using at least some of the action patterns AP.
  • the generated action execution trees BT are transmitted from the generator GEN to an interpreter IP of the configuration system KS.
  • the initial action execution tree BTI and the selection information SI are also fed into the interpreter IP.
  • the interpreter IP is used to execute action execution trees, with a sequence of machine actions specified by the relevant action execution tree being determined in each case. Using the selection information SI, the individual machine actions that must be carried out according to the technical specifications are selected. In this way, for the initial action execution tree BTI, the interpreter IP determines a reference sequence RSQ of machine actions that must be carried out. Furthermore, a specified sequence SQ of machine actions is determined by the interpreter IP for each generated action execution tree BT. The reference sequence RSQ, the sequences SQ and the associated action execution trees BT are transmitted to a filter F of the configuration system KS.
  • the filter F serves in particular to filter the generated action execution trees BT.
  • the sequence SQ determined for a respective action execution tree BT is compared with the reference sequence RSQ. If the sequence SQ does not match the reference sequence RSQ this sequence SQ and the relevant action execution tree BT are discarded and not forwarded through the filter F. If, on the other hand, the sequence SQ agrees with the reference sequence RSQ, this sequence SQ and the relevant action execution tree BT are forwarded through the filter F.
  • the action execution trees BT forwarded by the filter F and the action patterns AP are fed into an action pattern search module APS of the configuration system KS.
  • the action pattern search module APS searches for the action pattern AP in each of the supplied action execution trees BT. If no action pattern AP is found in a respective action execution tree BT, this action execution tree is forwarded unchanged by the action pattern search module APS. If, on the other hand, an action pattern AP is found in an action execution tree BT, this action execution tree BT is modified by the action pattern search module APS.
  • FIG. Such a modification of an action execution tree BT is illustrated by FIG.
  • a subtree comprising the nodes A2, A3 and A4 of the action execution tree BT corresponds to a predefined action pattern API.
  • this subtree or the action pattern API in the action execution tree BT is replaced by a reference L to the action pattern API, whereby a modified action execution tree BT' is formed.
  • the reference L has several nodes, here A2,
  • modified action execution trees are referred to below with the same reference sign BT as unchanged action execution trees.
  • the unchanged or modified action execution trees BT are transmitted by the action pattern search module APS to a complexity assessor EVC of the configuration system KS.
  • the purpose of the complexity evaluator EVC is to quantify a tree size BG for a respective action execution tree BT.
  • the complexity evaluator EVC counts nodes and/or edges of a respective action execution tree BT and/or its tree depth is determined and a tree size BG is derived therefrom.
  • a sum of the number of nodes, number of edges and/or tree depth weighted by predetermined weighting factors can preferably be determined and output as tree size BG.
  • the determined tree size BG is transmitted from the complexity evaluator EVC to a Pareto optimizer PO of the configuration system KS.
  • action execution trees BT forwarded by the filter F are fed into a performance evaluator EVP of the configuration system KS and into the Pareto optimizer PO.
  • sequences SQ forwarded by the filter F are also fed into the performance evaluator EVP.
  • the performance evaluator EVP serves the purpose of quantifying a performance of the machine M controlled by means of this action execution tree BT for a respective action execution tree BT. In this way, a control performance of a machine control CTL configured by this action execution tree BT is evaluated to a certain extent.
  • the performance to be determined can in particular be an output, a yield, a target value compliance, a cycle rate, a product quality, a speed, a time requirement, a running time, a precision, an error rate, a consumption of resources, an effectiveness, an efficiency, a pollutant emission, one stability, one wear, one Service life, physical behavior, mechanical behavior, chemical behavior, electrical behavior, a constraint to be complied with or other target parameters of the machine M to be controlled that are to be optimized.
  • the performance evaluator EVP determines a respective performance value PV for the respective action execution tree BT and in particular for the associated sequence SQ of machine actions, which quantifies the performance of the machine M executing the sequence SQ.
  • the performance evaluator EVP has a simulation model SIM of the machine M .
  • SIM a simulation model
  • a behavior of the machine M induced by the respective action execution tree BT or the respective sequence SQ of machine actions is simulated for a large number of magazines.
  • a cumulative reward or a cumulative yield of the simulated behavior is measured.
  • a so-called surrogate model for example a data-driven model of the machine M, is preferably used as the simulation model, which generally requires fewer computing resources than a detailed physical simulation.
  • a cumulative reward determined in this way can be output as the resulting performance value PV.
  • the performance value PV determined for the respective action execution tree BT is transmitted from the performance evaluator EVP to the Pareto optimizer PO.
  • the Pareto optimizer PO is used to carry out a Pareto optimization and in particular to determine a Pareto front PF for the action execution trees BT evaluated by the complexity evaluator EVC and the performance evaluator EVP.
  • a Pareto optimization is a multi-criteria optimization in which several different target criteria, so-called Pareto target criteria, are independently taken into account.
  • Pareto front PF determined.
  • Such a Pareto front is often also referred to as a Pareto set.
  • a Pareto front, here PF are those solutions of a multi-criteria optimization problem where one goal criterion cannot be improved without worsening another goal criterion.
  • a Pareto front forms a set of optimal compromises, so to speak. In particular, solutions that are not contained in the Pareto front can still be improved with regard to at least one target criterion.
  • a Pareto front PF for the set of action execution trees BT is determined by the Pareto optimizer PO, with an increase in performance and a reduction in the tree size being used as Pareto target criteria.
  • a Pareto front PF within the generated action execution trees BT is determined by the Pareto optimizer PO depending on the transmitted tree sizes BG and performance values PV of the generated action execution trees BT.
  • An optimized action execution tree BTO is then selected or interpolated from the resulting Pa reto front PF. If necessary, predetermined selection criteria, in particular Special one or more other optimization criteria to be applied.
  • action execution trees BT(PF) of the Pareto front PF can be fed into the genetic optimization method in order to enrich the genetic optimization method with advantageous action execution trees.
  • a corresponding feedback of action execution trees BT(PF) of the Pareto front PF from the Pareto optimizer PO to the generator GEN is indicated in FIG. 3 by a dotted arrow.
  • the optimized action execution tree BTO is intended to be output for configuring the machine control CRL and/or transmitted directly to the machine control CTL in order to configure it for optimized control of the machine M.
  • the resulting configuration of the machine control CTL usually leads to a control behavior that is the same shows both high performance and low complexity at an early stage.
  • the last-named property leads to configurations that can usually be interpreted much better by experts and are therefore easier to validate and/or develop further.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Zum Konfigurieren einer Maschinensteuerung (CTL) durch einen Aktionsausführungsbaum (BT) werden vorgegebene Aktionsmuster (AP) eingelesen. Weiterhin wird eine Vielzahl von Aktionsausführungsbäumen (BT) für eine zu steuernde Maschine (M) generiert. Für einen jeweils generierten Aktionsausführungsbaum (BT) wird eine Performanz (PV) für ein Steuern der Maschine (M) anhand des jeweiligen Aktionsausführungsbaums (BT) ermittelt. Weiterhin werden im jeweiligen Aktionsausführungsbaum (BT) die vorgegebenen Aktionsmuster (AP) gesucht. Ein im jeweiligen Aktionsausführungsbaum (BT) gefundenes Aktionsmuster (AP) wird dann zumindest teilweise durch einen Verweis (L) auf das vorgegebene Aktionsmuster (AP) ersetzt. Ferner wird eine Baumgröße (BG) des so modifizierten Aktionsausführungsbaum (BTM) ermittelt. Anhand der generierten Aktionsausführungsbäume (BT) wird dann mittels eines numerischen Optimierungsverfahrens ein hinsichtlich größerer Performanz und geringerer Baumgröße optimierter Aktionsausführungsbaum (BTO) ermittelt und zum Konfigurieren der Maschinensteuerung (CTL) ausgegeben.

Description

Beschreibung
Verfahren und KonfigurationsSystem zum Konfigurieren einer Maschinensteuerung
Komplexe Maschinen, wie z.B. Roboter, Motoren, Werkzeugma schinen, Turbinen, 3D-Drucker, Fertigungsanlagen oder Kraft fahrzeuge benötigen für einen produktiven Betrieb in der Re gel eine komplex konfigurierte Steuerung, um eine Performanz der gesteuerten Maschine gezielt zu optimieren. Die zu opti mierende Performanz kann z.B. eine Leistung, einen Ertrag, einen Ressourcenbedarf, einen Wirkungsgrad, eine Präzision, einen Schadstoffausstoß, eine Stabilität, einen Verschleiß und/oder andere Zielparameter der Maschine betreffen.
Maschinensteuerungen werden häufig während des Designs oder einer Inbetriebnahme der zu steuernden Maschine von Experten konfiguriert . Eine solche Konfiguration durch Experten ist jedoch oft verhältnismäßig zeitaufwändig. Zudem ist in vielen Fällen zusätzlicher Aufwand für eine Optimierung der Konfigu ration erforderlich.
Zur automatischen Konfiguration von Maschinensteuerungen wer den in zunehmendem Maße datengetriebene Verfahren des maschi nellen Lernens verwendet. Mittels derartiger Lernverfahren kann eine Maschinensteuerung darauf trainiert werden, aus ak tuellen BetriebsSignalen der Maschine die enigen Steueraktio nen abzuleiten, die spezifisch ein gewünschtes oder anderwei tig optimales Verhalten der Maschine bewirken. Zu diesen Zwe cken steht eine Vielzahl von bekannten maschinellen Lernver fahren, insbesondere Verfahren des bestärkenden Lernens zur Verfügung .
Eine durch datengetriebene Lernverfahren optimierte Konfigu ration ist jedoch in vielen Fällen hinsichtlich ihrer Wir kungsbeziehungen durch Experten kaum nachvollziehbar oder in terpretierbar. Dies erschwert häufig eine Validierung oder Weiterentwicklung derartiger Konfigurationen. Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren und ein KonfigurationsSystem zum Konfigurieren einer Maschinen steuerung anzugeben, durch die sich besser interpretierbare Konfigurationen automatisch erstellen lassen.
Gelöst wird diese Aufgabe durch ein Verfahren mit den Merkma len des Patentanspruchs 1, durch ein KonfigurationsSystem mit den Merkmalen des Patentanspruchs 13, durch ein Computerpro grammprodukt mit den Merkmalen des Patentanspruchs 14 sowie durch ein Computerlesbares Speichermedium mit den Merkmalen des Patentanspruchs 15.
Zum Konfigurieren einer Maschinensteuerung durch einen eine Ausführung von Aktionen durch eine Maschine spezifizierenden Aktionsausführungsbaum werden vorgegebene Aktionsmuster ein gelesen . Weiterhin wird eine Vielzahl von Aktionsausführungs- bäumen für die Maschine generiert. Die Aktionsausführungsbäu me können dabei insbesondere sogenannte Behavior-Trees sein. Für einen jeweils generierten Aktionsausführungsbaum wird ei ne Performanz für ein Steuern der Maschine anhand des jewei- ligen Aktionsausführungsbaums ermittelt. Weiterhin werden im jeweiligen Aktionsausführungsbaum die vorgegebenen Aktions muster gesucht. Ein im jeweiligen Aktionsausführungsbaum ge fundenes Aktionsmuster wird dann zumindest teilweise durch einen Verweis auf das vorgegebene Aktionsmuster ersetzt. Fer ner wird eine Baumgröße des so modifizierten Aktionsausfüh- rungsbaum ermittelt. Anhand der generierten Aktionsausfüh rungsbäume wird dann mittels eines numerischen Optimierungs- verfahrens ein hinsichtlich größerer Performanz und geringe rer Baumgröße optimierter Aktionsausführungsbaum ermittelt und zum Konfigurieren der Maschinensteuerung ausgegeben.
Zum Ausführen des erfindungsgemäßen Verfahrens sind ein Kon figurationssystem, ein Computerprogrammprodukt sowie ein com puterlesbares, vorzugsweise nichtflüchtiges Speichermedium vorgesehen . Das erfindungsgemäße Verfahren sowie das erfindungsgemäße Konfigurationssysfern können beispielsweise mittels eines oder mehrerer Computer, Prozessoren, anwendungsspezifischer inte grierter Schaltungen (ASIC), digitaler Signalprozessoren (DSP) und/oder sogenannter „Field Programmable Gate Arrays"
(FPGA) ausgeführt bzw. implementiert werden.
Aufgrund der zumindest teilweisen Ersetzung von gefundenen Aktionsmustern durch Verweise kann ein Aktionsausführungsbaum in vielen Fällen verkleinert werden. Auf diese Weise kann ei ne Komplexität des Aktionsausführungsbaums in der Regel ver ringert werden. Insofern neben der Performanz auch die Baum größe von Aktionsausführungsbäumen als Optimierungskriterium verwendet wird, kann die Optimierung in Richtung von Aktions ausführungsbäumen getrieben werden, die vorgegebene Aktions muster aufweisen. Auf diese Weise kann ein Aktionsausfüh- rungsbaum bzw. eine Konfiguration ermittelt werden, die in der Regel sowohl performant ist als auch eine geringe Komple xität aufweist. Konfigurationen mit geringer Komplexität sind in der Regel besser durch Experten interpretierbar und damit leichter validierbar und/oder weiterentwickelbar.
Vorteilhafte Ausführungsformen und Weiterbildungen der Erfin dung sind in den abhängigen Ansprüchen angegeben.
Gemäß einer vorteilhaften Ausführungsform der Erfindung kann die Vielzahl von Aktionsausführungsbäumen zumindest teilweise anhand der Aktionsmuster generiert werden. Insbesondere kön nen dabei Aktionsausführungsbäume aus den Aktionsmustern zu mindest teilweise zusammengesetzt werden. Auf diese Weise können gezielt Aktionsausführungsbäume generiert werden, die bekannte und/oder leicht interpretierbare Aktionsmuster auf weisen.
Nach einer weiteren vorteilhaften Ausführungsform der Erfin dung kann ein vorgegebener initialer Aktionsausführungsbaum eingelesen werden. Die Vielzahl von Aktionsausführungsbäumen kann dann zumindest teilweise ausgehend vom initialen Akti- onsausführungsbaum generiert werden. Der initiale Aktionsaus führungsbaum kann insbesondere ein von einem Experten er stellter, getesteter und/oder validierter Aktionsausführungs baum sein. Auf diese Weise können Expertenvorgaben bei der Ermittlung eines optimierten Aktionsausführungsbaums berück sichtigt werden.
Darüber hinaus kann der initiale Aktionsausführungsbaum durch einen Interpreter ausgeführt werden, wobei eine Referenzab folge von durch den initialen Aktionsausführungsbaum spezifi zierten Maschinenaktionen ermittelt wird. Auch die generier ten Aktionsausführungsbäume können dann jeweils durch den In terpreter ausgeführt werden, wobei eine jeweilige Abfolge von durch den jeweiligen generierten Aktionsausführungsbaum spe zifizierten Maschinenaktionen ermittelt wird. Damit kann ein generierter Aktionsausführungsbaum, dessen jeweilige Abfolge nicht mit der Referenzabfolge übereinstimmt, verworfen wer den. Auf diese Weise kann die Optimierung auf Aktionsausfüh rungsbäume eingeschränkt werden, die die Referenzabfolge re produzieren . Wenn der initiale Aktionsausführungsbaum vor teilhafterweise so gewählt wird, dass die hierdurch spezifi zierten Maschinenaktionen oder eine vorgegebene Auswahl die ser Maschinenaktionen nur zulässige oder erforderliche Ziel- Maschinenaktionen umfassen, kann auf diese Weise sicherge stellt werden, dass die Optimierung auf Aktionsausführungs- bäume beschränkt bleibt, die vorgegebene Entwicklungsziele erfüllen .
Vorzugsweise kann eine vorgegebene SelektionsInformation ein gelesen werden, anhand der die enigen Maschinenaktionen se lektiert werden, deren jeweilige Abfolge, insbesondere Refe renzabfolge zu ermitteln ist. Auf diese Weise können insbe sondere aus den durch den initialen Aktionsausführungsbaum spezifizierten Maschinenaktionen, diejenigen Maschinenaktio nen ausgewählt werden, die zwingend auszuführen sind und auf die die Optimierung eingeschränkt werden soll. Nach einer vorteilhaften Ausführungsform der Erfindung kann das numerische Optimierungs erfahren ein genetisches Optimie- rungsverfahren sein, durch das auch die Vielzahl von Aktions ausführungsbäumen generiert wird. Das genetische Optimie- rungsverfahren kann dabei insbesondere durch den initialen Aktionsausführungsbaum initialisiert werden. Für das geneti sche Optimierungsverfahren kann eine Fitnessfunktion vorgese hen sein, die einer höheren Performanz und/oder einer gerin geren Baumgröße eine größere Fitness zuordnet als einer ge ringeren Performanz und/oder einer größeren Baumgröße. Auf diese Weise kann die Optimierung bevorzugt in Richtung per- formanter und/oder weniger komplexer Konfigurationen getrie ben werden. Zur Durchführung derartiger genetischer Optimie- rungsverfahren steht eine Vielzahl von effizienten Standard routinen zur Verfügung.
Nach einer vorteilhaften Ausführungsform der Erfindung kann für die Vielzahl von Aktionsausführungsbäumen eine Pareto- Front ermittelt werden, wobei eine Erhöhung der Performanz sowie eine Verringerung der Baumgröße als Pareto- Zielkriterien verwendet werden. Der optimierte Aktionsausfüh- rungsbaum kann dann anhand von Aktionsausführungsbäumen der Pareto-Front abgeleitet werden. Insbesondere kann der opti mierte Aktionsausführungsbaum aus Aktionsausführungsbäumen der Pareto-Front selektiert oder interpoliert werden. Während eine Selektion besonders einfach auszuführen ist, können bei einer Interpolation auch mehrere vorteilhafte Eigenschaften von Aktionsausführungsbäumen kombiniert werden. Insofern die Pareto-Front hinsichtlich der Performanz und der Baumgröße ermittelt wird, kann ein optimierter Aktionsausführungsbaum ermittelt werden, der in der Regel sowohl performant ist als auch eine geringe Baumgröße und damit eine geringe Komplexi tät aufweist. Als Pareto-Front sei in diesem Zusammenhang auch eine Menge von Aktionsausführungsbäumen verstanden, de ren Abstand zu einem mathematisch exakten Pareto-Optimum z.B. einen gegebenen Schwellenwert unterschreitet. Durch eine Be schränkung auf Aktionsausführungsbäume der Pareto-Front wird ein Raum möglicher Aktionsausführungsbäume in der Regel er- heblich eingeschränkt, wobei insbesondere nicht optimale Ak tionsausführungsbäume wegfallen. Die Ermittlung des optimier ten Aktionsausführungsbaums sowie ggf. weitergehende Optimie rungen können so erheblich vereinfacht werden.
Vorteilhafterweise können Aktionsausführungsbäume der Pareto- Front in das genetische Optimierungs erfahren eingespeist werden. Alternativ oder zusätzlich können nicht in der Pare- to-Front enthaltene Aktionsausführungs-bäume verworfen wer den. Auf diese Weise kann das genetische Optimierungsverfah ren mit vorteilhaften Aktionsausführungsbäumen angereichert werden. Alternativ kann das Optimierungsverfahren nach Er mittlung einer Pareto-Front abgebrochen werden.
Weiterhin können zum Ermitteln der Performanz eines jeweili gen Aktionsausführungsbaums ein Simulationsmodell der Maschi ne, ein datengetriebenes Modell der Maschine, die Maschine selbst und/oder eine dazu ähnliche Maschine anhand des jewei- ligen Aktionsausführungsbaums gesteuert und eine daraus re sultierende Performanz der Maschine ermittelt werden. Als Si mulationsmodell kann vorzugsweise ein Surrogat-Mode11 der Ma schine verwendet werden, das weniger Rechenressourcen als ei ne vollständige physikalische Simulation erfordert.
Darüber hinaus kann zum Ermitteln der Baumgröße eine Kanten anzahl, eine Knotenanzahl und/oder eine Baumtiefe des modifi zierten Aktionsausführungsbaums oder eine gewichtete Kombina tion der Kantenanzahl, der Knotenanzahl und/oder der Baumtie fe ermittelt werden. Die vorstehenden Kriterien erlauben eine besonders einfache Bewertung der Baumgröße bzw. der Komplexi tät eines jeweiligen Aktionsausführungsbaums.
Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnung näher erläutert. Dabei veranschaulichen jeweils in schematischer Darstellung:
Figur 1 eine Maschine mit einer Maschinensteuerung zum Steu ern der Maschine, Figur 2 einen Aktionsausführungsbaum,
Figur 3 ein erfindungsgemäßes KonfigurationsSystem beim Kon figurieren einer Maschinensteuerung und
Figur 4 ein Modifizieren eines Aktionsausführungsbaums.
Insofern in den Figuren die gleichen oder korrespondierende Bezugszeichen verwendet werden, bezeichnen diese Bezugszei chen die gleichen oder korrespondierenden Entitäten, die ins besondere wie im Zusammenhang mit der betreffenden Figur be schrieben, implementiert oder ausgestaltet sein können.
Figur 1 veranschaulicht in schematischer Darstellung eine Ma schine M, die mit einer Maschinensteuerung CTL zum Steuern der Maschine M gekoppelt ist. Die Maschine M kann insbesonde re ein Roboter, ein Motor, eine Werkzeugmaschine, eine Turbi ne, eine Fertigungsanlage, ein Kraftfahrzeug, ein 3-D- Drucker, ein Computer, ein mechanisches System, ein elektri sches System oder ein anderes Gerät oder eine andere Anlage sein. Die Maschine M verfügt über eine Sensorik S zum fort laufenden Messen und/oder Erfassen von BetriebsSignalen BS der Maschine M sowie ggf. von Daten aus einer Umgebung der Maschine M.
Die Maschinensteuerung CTL ist rechnergestützt konfigurierbar und kann als Teil der Maschine M oder ganz oder teilweise ex tern zur Maschine M implementiert sein. Die Maschinensteue- rung CTL soll mittels der Erfindung derart konfiguriert wer den, dass die Maschine M in optimierter Weise gesteuert wird. Unter einem Steuern sei dabei auch ein Regeln, sowie eine Ausgabe und Verwendung von steuerungsrelevanten, d. h. zur gezielten Beeinflussung der Maschine M beitragenden Daten oder Steuersignalen verstanden.
Im vorliegenden Ausführungsbeispiel soll die Maschinensteue- rung CTL mittels eines Verfahrens des maschinellen Lernens, insbesondere eines genetischen OptimierungsVerfahrens so kon figuriert werden, dass ein Betrieb der Maschine M abhängig von den erfassten Betriebssignalen BS optimiert wird. Unter dem Begriff Optimieren sei allgemein auch ein Annähern an ein Optimum verstanden. Dabei soll vorzugsweise eine Performanz der Maschine M erhöht werden.
Ein Steuerungsverhalten der Maschinensteuerung CTL wird durch ihre Konfiguration festgelegt. Die Konfiguration umfasst da bei insbesondere einen Aktionsausführungsbaum vorzugsweise in Form eines dem Fachmann bekannten Behavior-Trees, durch den von der Maschine M auszuführende Aktionen und insbesondere Abfolgen von Aktionen spezifiziert werden. Ein Aktionsausfüh- rungsbaum wird durch einen baumartig verlinkten gerichteten Graphen dargestellt, der vorzugsweise als baumartig verlinkte Datenstruktur implementiert ist. Zur Interpretation und Aus führung eines Aktionsausführungsbaums bzw. der hierdurch spe zifizierten Maschinenaktionen ist eine Vielzahl von effizien ten Steuerungsverfahren bekannt und verfügbar.
Figur 2 veranschaulicht einen prinzipiellen Aufbau eines sol chen Aktionsausführungsbaums BT, der beispielsweise als Beha- vior-Tree ausgestaltet sein kann. Der Aktionsausführungsbaum BT umfasst einen gerichteten, baumartig verzweigten Graphen mit mehreren Knoten A0, Al, A2, A3, A4, ..., die durch ge richtete Kanten verbunden sind. Bestimmte Knoten des Graphen repräsentieren dabei Maschinenaktionen, die abhängig von vor gegebenen Bedingungen durch die Maschine M auszuführen sind. Durch die gerichteten Kanten des Graphen können Beziehungen zwischen Bedingungen und bedingt auszuführenden Maschinenak tionen oder eine Abfolge von auszuführenden Maschinenaktionen spezifiziert werden. Ein durch eine Abfolge von auszuführen den Maschinenaktionen bestimmter Prozessfluss verzweigt sich dabei abhängig von den vorgegebenen Bedingungen entlang der Baumstruktur des Graphen. Ein als Behavior-Tree ausgestalte ter Aktionsausführungsbaum BT kann insbesondere sog. Fallback-Knottin, Sequence-Knoten, Control-flow-Knoten sowie Dekoratoren wie "always", "guard", "not", "retry", "time lim- it", "wait for" und/oder "while" umfassen.
Wie Figur 1 weiter veranschaulicht, wird zur optimierten Kon figuration der Maschinensteuerung CTL ein optimierter Akti onsausführungsbaum BTO, vorzugsweise in Form eines optimier ten Behavior-Trees zur Maschinensteuerung CTL übermittelt.
Ein hierdurch eingestelltes Steuerungsverhalten der Maschi nensteuerung CTL wird häufig auch als Policy bezeichnet. Der optimierte Aktionsausführungsbaum BTO wird durch ein erfin dungsgemäßes Verfahren ermittelt.
Durch die Sensorik S werden die fortlaufend erfassten Be triebssignale BS der Maschine M zur Maschinensteuerung CTL übermittelt . Die BetriebsSignale BS können dabei Angaben über Betriebszustände der Maschine M, über Positionen oder Bewe gungen von Komponenten, über Schaltzustände, über Steuerzu stände, über Steueraktionen, über physikalische, chemische oder elektrische Messgrößen und/oder über andere für den Be trieb der Maschine M relevante Parameter umfassen.
Abhängig von den übermittelten BetriebsSignalen BS werden durch die Maschinensteuerung CTL Steuersignale CS generiert, die von der Maschinensteuerung CTL zum optimierten Steuern der Maschine M zu dieser übermittelt werden. Die Steuersigna le CS werden dabei abhängig vom optimierten Aktionsausfüh rungsbaum BTO so generiert, dass eine durch den optimierten Aktionsausführungsbaum BTO spezifizierte Abfolge von Maschi nenaktionen ausgeführt wird.
Figur 3 zeigt in schematischer Darstellung ein erfindungsge mäßes KonfigurationsSystem KS beim Konfigurieren der Maschi nensteuerung CTL.
Die Maschinensteuerung CTL kann einen Teil des Konfigurati onssystems KS bilden oder ganz oder teilweise extern zum Kon figurationssystem KS angeordnet sein. Das KonfigurationsSys tem KS und/oder die Maschinensteuerung CTL weisen einen oder mehrere Prozessoren zur Durchführung des erfindungsgemäßen Verfahrens sowie einen oder mehrere Speicher zum Speichern von zu verarbeitenden Daten auf. Wie oben bereits erwähnt, soll die Maschinensteuerung CTL durch einen optimierten Akti onsaufführungsbaum BTO derart konfiguriert werden, dass die Maschine M in optimierter Weise gesteuert wird. Der optimier te Aktionsausführungsbaum BTO wird dabei durch das Konfigura tionssystem KS mittels eines genetischen OptimierungsVerfah rens ermittelt.
Als Ausgangspunkt für die Ermittlung des optimierten Aktions ausführungsbaums BTO werden durch das KonfigurationsSystem KS vorgegebene Aktionsmuster AP sowie ein initialer Aktionsaus- führungsbaum BTI vorzugsweise in Form eines Behavior-Trees eingelesen .
Die Aktionsmuster AP können dabei insbesondere Abfolgen von Maschinenaktionen und/oder Bedingungen zu deren Ausführung spezifizieren . Die Aktionsmuster AP werden bevorzugt durch Teilgraphen oder Teilbäume von Aktionsausführungsbäumen oder Behavior-Trees dargestellt. Vorteilhafterweise können als Ak tionsmuster AP idiomatische, gut interpretierbare, zuverläs sige, validierte und/oder zulässige Aktionsmuster vorgegeben werden, die sich zur Lösung von Steuerungs-Teilaufgaben be währt haben. Im vorliegenden Ausführungsbeispiel werden die Aktionsmuster AP aus einer Datenbank DB oder aus einer ander weitig verfügbaren Aktionsmusterbibliothek eingelesen.
Der initiale Aktionsausführungsbaum BTI wird vorzugsweise von einem Experten USR nach technischen Vorgaben, Anforderungen oder anderen technischen Nebenbedingungen für die Steuerung der Maschine M erstellt und in das KonfigurationsSystem KS eingespeist . Der initiale Aktionsausführungsbaum BTI spezifi ziert eine Ausführung zulässiger und/oder erforderlicher Ma schinenaktionen und bildet damit eine Referenz für die Steue rung der Maschine M bzw. für eine Zielkonfiguration der Ma schinensteuerung CTL. Auf diese Weise kodiert der initiale Aktionsausführungsbaum BTI gewissermaßen Expertenwissen über die Steuerung der Maschine M.
Weiterhin wird vom Experten USR eine SelektionsInformation SI in das KonfigurationsSystem KS eingespeist.
Zur Ermittlung eines optimierten Aktionsausführungsbaums BTO wird im vorliegenden Ausführungsbeispiel unter anderem ein genetisches Optimierungsverfahren verwendet. Dabei werden in einem Raum von möglichen Aktionsausführungsbäumen vorteilhaf te Aktionsausführungsbäume gesucht und weiter optimiert. Zu diesem Zweck generiert ein Generator GEN des Konfigurations- systems KS - zumindest teilweise zufallsbasiert - eine Viel zahl von Aktionsausführungsbäumen BT, die jeweils eine mögli che Ausführung von Maschinenaktionen durch die Maschine M spezifizieren.
In einer jeweiligen Iteration des genetischen Optimierungs- verfahrens wird für die generierten Aktionsausführungsbäume BT jeweils eine sogenannte Fitness der hierdurch spezifizier ten Maschinenaktionen bewertet. Aktionsausführungsbäume BT mit höherer Fitness werden mit höherer Wahrscheinlichkeit zur Generierung weiterer Aktionsausführungsbäume BT in einer nachfolgenden Iteration des genetischen OptimierungsVerfah rens verwendet. Aktionsausführungsbäume BT mit geringerer Fitness werden entsprechend mit höherer Wahrscheinlichkeit aussortiert und/oder durch neu generierte Aktionsausführungs- bäume ersetzt. Auf diese Weise werden durch den Generator GEN zunehmend Aktionsausführungsbäume BT mit höherer Fitness ge neriert . Im vorliegenden Ausführungsbeispiel wird zur Bestim mung einer jeweiligen Fitness eine Performanz für ein Steuern der Maschine M anhand des zu bewertenden Aktionsausführungs- baums BT, eine Baumgröße dieses Aktionsausführungsbaums BT und/oder eine gewichtete Kombination der Performanz und der Baumgröße ermittelt. Auf diese Weise wird die Generierung der Aktionsausführungsbäume in Richtung größerer Performanz und geringerer Baumgröße getrieben. Zur Durchführung einer sol chen genetischen Optimierung ist eine Vielzahl von Standard- verfahren verfügbar. Alternativ oder zusätzlich können auch andere Verfahren des maschinellen Lernens zur Optimierung verwendet werden.
Zur Generierung vorteilhafter und/oder zulässiger Aktionsaus- führungsbäume BT werden der initiale Aktionsausführungsbaum BTI sowie die Aktionsmuster AP in den Generator GEN einge speist. Die Aktionsausführungsbäume BT werden dann durch den Generator GEN ausgehend vom initialen Aktionsausführungsbaum BTI und unter zumindest teilweiser Verwendung der Aktionsmus ter AP generiert.
Die generierten Aktionsausführungsbäume BT werden vom Genera tor GEN zu einem Interpreter IP des KonfigurationsSystems KS übermittelt . In den Interpreter IP werden auch der initiale Aktionsausführungsbaum BTI sowie die SelektionsInformation SI eingespeist .
Der Interpreter IP dient zum Ausführen von Aktionsausfüh rungsbäumen, wobei jeweils eine Abfolge von durch den betref fenden Aktionsausführungsbaum spezifizierten Maschinenaktio nen ermittelt wird. Mittels der SelektionsInformation SI wer den dabei die enigen Maschinenaktionen selektiert, die gemäß den technischen Vorgaben zwingend auszuführen sind. Auf diese Weise wird für den initialen Aktionsausführungsbaum BTI durch den Interpreter IP eine Referenzabfolge RSQ von zwingend aus zuführenden Maschinenaktionen ermittelt. Weiterhin wird durch den Interpreter IP für jeden generierten Aktionsausführungs- baum BT eine hierdurch spezifizierte Abfolge SQ von Maschi nenaktionen ermittelt. Die Referenzabfolge RSQ, die Abfolgen SQ sowie die zugehörigen Aktionsausführungsbäume BT werden zu einem Filter F des KonfigurationsSystems KS übermittelt.
Das Filter F dient insbesondere zum Filtern der generierten Aktionsausführungsbäume BT. Zu diesem Zweck wird die für ei nen jeweiligen Aktionsausführungsbaum BT ermittelte Abfolge SQ mit der Referenzabfolge RSQ verglichen. Falls die Abfolge SQ nicht mit der Referenzabfolge RSQ übereinstimmt, werden diese Abfolge SQ sowie der betreffende Aktionsausführungsbaum BT verworfen und durch das Filter F nicht weitergeleitet. So fern dagegen die Abfolge SQ mit der Referenzabfolge RSQ über einstimmt, werden diese Abfolge SQ sowie der betreffende Ak tionsausführungsbaum BT durch das Filter F weitergeleitet.
Auf diese Weise kann sichergestellt werden, dass die Optimie rung auf Aktionsausführungsbäume BT beschränkt bleibt, die vorgegebene Entwicklungsziele erfüllen.
Die vom Filter F weitergeleiteten Aktionsausführungsbäume BT sowie die Aktionsmuster AP werden in ein Aktionsmustersuchmo- dul APS des KonfigurationsSystems KS eingespeist. Das Akti onsmustersuchmodul APS sucht die Aktionsmuster AP in jedem der eingespeisten Aktionsausführungsbäume BT. Falls in einem jeweiligen Aktionsausführungsbaum BT kein Aktionsmuster AP gefunden wird, wird dieser Aktionsausführungsbaum durch das Aktionsmustersuchmodul APS unverändert weitergeleitet. Falls dagegen in einem Aktionsausführungsbaum BT ein Aktionsmuster AP gefunden wird, wird dieser Aktionsausführungsbaum BT durch das Aktionsmustersuchmodul APS modifiziert.
Eine solche Modifikation eines Aktionsausführungsbaums BT wird durch Figur 4 beispielhaft veranschaulicht. Hierzu sei angenommen, dass ein die Knoten A2, A3 und A4 des Aktionsaus- führungsbaums BT umfassender Teilbaum einem vorgegeben Akti onsmuster API entspricht. Nachdem das Aktionsmuster API im Aktionsausführungsbaum BT gefunden wurde, wird dieser Teil baum bzw. das Aktionsmuster API im Aktionsausführungsbaum BT durch einen Verweis L auf das Aktionsmuster API ersetzt, wodurch ein modifizierter Aktionsausführungsbaum BT' gebildet wird. Insofern durch den Verweis L mehrere Knoten, hier A2,
A3 und A4, sowie Kanten des Aktionsausführungsbaums BT er setzt werden, wird eine Baumgröße des Aktionsausführungsbaums BT und damit dessen Komplexität verringert.
Aus Übersichtlichkeitsgründen werden modifizierte Aktionsaus- führungsbäume im Weiteren mit dem gleichen BezugsZeichen BT bezeichnet wie unveränderte Aktionsausführungsbäume. Wie Figur 3 weiter veranschaulicht, werden die unveränderten oder modifizierten Aktionsausführungsbäume BT vom Aktionsmus tersuchmodul APS zu einem Komplexitätsbewerter EVC des Konfi gurationssystems KS übermittelt.
Der Komplexitätsbewerter EVC dient dem Zweck, für einen je weiligen Aktionsausführungsbaum BT eine Baumgröße BG zu quan tifizieren. Zu diesem Zweck werden durch den Komplexitätsbe- werter EVC Knoten und/oder Kanten eines jeweiligen Aktions ausführungsbaums BT gezählt und/oder dessen Baumtiefe ermit telt und daraus eine Baumgröße BG abgeleitet. Vorzugsweise kann jeweils eine durch vorgegebene Gewichtsfaktoren gewich tete Summe der Knotenanzahl, Kantenanzahl und/oder Baumtiefe ermittelt und als Baumgröße BG ausgegeben werden. Die ermit telte Baumgröße BG wird vom Komplexitätsbewerter EVC zu einem Pareto-Optimierer PO des KonfigurationsSystems KS übermit telt.
Darüber hinaus werden die vom Filter F weitergeleiteten Akti onsausführungsbäume BT in einen Performanzbewerter EVP des KonfigurationsSystems KS sowie in den Pareto-Optimierer PO eingespeist. In den Performanzbewerter EVP werden weiterhin die vom Filter F weitergeleiteten Abfolgen SQ eingespeist.
Der Performanzbewerter EVP dient dem Zweck, für einen jewei ligen Aktionsausführungsbaum BT eine Performanz der mittels dieses Aktionsausführungsbaums BT gesteuerten Maschine M zu quantifizieren . Auf diese Weise wird gewissermaßen eine Steu- erperformanz einer durch diesen Aktionsausführungsbaum BT konfigurierten Maschinensteuerung CTL bewertet.
Die zu ermittelnde Performanz kann insbesondere eine Leis tung, einen Ertrag, eine Sollwerteinhaltung, eine Taktrate, eine Produktquälität, eine Geschwindigkeit, einen Zeitbedarf, eine Laufzeit, eine Präzision, eine Fehlerrate, einen Res sourcenverbrauch, einen Wirkungsgrad, eine Effizienz, einen Schadstoffausstoß, eine Stabilität, einen Verschleiß, eine Lebensdauer, ein physikalisches Verhalten, ein mechanisches Verhalten, ein chemisches Verhalten, ein elektrisches Verhal ten, eine einzuhaltende Nebenbedingung oder andere zu opti mierende Zielparameter der zu steuernden Maschine M betref fen.
Der Performanzbewerter EVP ermittelt für den jeweiligen Akti onsausführungsbaum BT und insbesondere für die zugehörige Ab folge SQ von Maschinenaktionen einen jeweiligen Performanz- wert PV, der die Performanz der die Abfolge SQ ausführenden Maschine M quantifiziert. Zu diesem Zweck verfügt der Perfor manzbewerter EVP über ein Simulationsmodell SIM der Maschine M . Mittels des Simulationsmodells SIM wird ein durch den je weiligen Aktionsausführungsbaum BT bzw. die jeweilige Abfolge SQ von Maschinenaktionen induziertes Verhalten der Maschine M für eine Vielzahl von Zeitschriften simuliert. Dabei wird ei ne kumulierte Belohnung oder ein kumulierter Ertrag des simu lierten Verhaltens gemessen. Vorzugsweise wird als Simulati onsmodell ein sogenanntes Surrogat-Modell, zum Beispiel ein datengetriebenes Modell der Maschine M verwendet, das in der Regel weniger Rechenressourcen als eine detaillierte physika lische Simulation erfordert. Eine auf diese Weise ermittelte kumulierte Belohnung kann als resultierender Performanzwert PV ausgegeben werden.
Der für den jeweiligen Aktionsausführungsbaum BT ermittelte Performanzwert PV wird vom Performanzbewerter EVP zum Pareto- Optimierer PO übermittelt.
Der Pareto-Optimierer PO dient zur Durchführung einer Pareto- Optimierung und insbesondere zur Ermittlung einer Pareto- Front PF für die durch den Komplexitätsbewerter EVC und den Performanzbewerter EVP bewerteten Aktionsausführungsbäume BT.
Eine Pareto-Optimierung ist eine multikriterielle Optimie rung, bei der mehrere unterschiedliche Zielkriterien, soge nannte Pareto-Zielkriterien, eigenständig berücksichtigt wer den. Als Resultat der Pareto-Optimierung wird eine sogenannte Pareto-Front PF ermittelt. Eine solche Pareto-Front wird häu fig auch als Pareto-Menge bezeichnet. Eine Pareto-Front, hier PF, sind diejenigen Lösungen eines multikriteriellen Optimie rungsproblems, bei denen ein Zielkriterium nicht verbessert werden kann, ohne ein anderes Zielkriterium zu verschlech tern. Eine Pareto-Front bildet also gewissermaßen eine Menge optimaler Kompromisse. Insbesondere lassen sich nicht in der Pareto-Front enthaltene Lösungen hinsichtlich mindestens ei nes Zielkriteriums noch verbessern. Infolgedessen fällt durch eine Einschränkung auf die Pareto-Front eine Vielzahl sicher nicht optimaler Lösungen weg. Insofern eine Pareto-Front in der Regel nur einen sehr kleinen Teil eines möglichen Lö sungsraums umfasst, reduziert sich durch Einschränkung auf eine Pareto-Front ein nachfolgender Selektions- oder weiterer Optimierungsaufwand beträchtlich.
Erfindungsgemäß wird durch den Pareto-Optimierer PO eine Pa reto-Front PF für die Menge der Aktionsausführungsbäume BT ermittelt, wobei eine Erhöhung der Performanz sowie eine Ver ringerung der Baumgröße als Pareto-Zielkriterien verwendet werden. Als Pareto-Front PF sei dabei auch eine Menge von Ak tionsausführungsbäumen verstanden, deren Abstand zu einem ma thematisch exakten Pareto-Optimum, zum Beispiel einen gegebe nen Schwellwert unterschreitet. Die Optimierung erfolgt in Richtung größerer Performanz und geringerer Baumgröße. Für derartige Pareto-Optimierungen steht eine Vielzahl von Stan- dardroutinen zur Verfügung.
Im vorliegenden Ausführungsbeispiel wird durch den Pareto- Optimierer PO abhängig von den übermittelten Baumgrößen BG und Performanzwerten PV der generierten Aktionsausführungs- bäume BT eine Pareto-Front PF innerhalb der generierten Akti onsausführungsbäume BT ermittelt. Aus der resultierenden Pa reto-Front PF wird dann ein optimierter Aktionsausführungs- baum BTO selektiert oder interpoliert. Ggf. können bei der Selektion oder Interpolation des optimierten Aktionsausfüh- rungsbaums BTO noch vorgegebene Selektionskriterien, insbe- sondere eines oder mehrere weitere Optimierungskriterien, an gewandt werden.
Durch eine Einschränkung einer Selektion, Interpolation bzw. einer nachfolgenden Optimierung auf die Pareto-Front PF wird ein Raum von zu verarbeitenden Aktionsausführungsbäumen in der Regel erheblich eingeschränkt, wobei insbesondere nicht optimale Aktionsausführungsbäume wegfallen. Die Selektion oder Interpolation des optimierten Aktionsausführungsbaums BTO oder auch weitere Optimierungen werden so erheblich ver einfacht.
Optional können Aktionsausführungsbäume BT(PF) der Pareto- Front PF in das genetische Optimierungsverfahren eingespeist werden, um so das genetische Optimierungsverfahren mit vor teilhaften Aktionsausführungsbäumen anzureichern. Eine ent sprechende Rückführung von Aktionsausführungsbäumen BT(PF) der Pareto-Front PF vom Pareto-Optimierer PO zum Generator GEN ist in Figur 3 durch einen punktierten Pfeil angedeutet.
Der optimierte Aktionsausführungsbaum BTO wird bestimmungsge mäß zum Konfigurieren der Maschinensteuerung CRL ausgegeben und/oder direkt zur Maschinensteuerung CTL übermittelt, um diese zum optimierten Steuern der Maschine M zu konfigurie ren. Die resultierende Konfiguration der Maschinensteuerung CTL führt in der Regel zu einem Steuerverhalten, das gleich zeitig sowohl eine hohe Performanz als auch eine geringe Kom plexität aufweist. Die letztgenannte Eigenschaft führt zu Konfigurationen, die meist erheblich besser durch Experten interpretierbar und damit leichter validierbar und/oder wei terentwickelbar sind.

Claims

Patentansprüche
1. Computerimplementiertes Verfahren zum Konfigurieren einer Maschinensteuerung (CTL) durch einen eine Ausführung von Ak tionen durch eine Maschine (M) spezifizierenden Aktionsaus- führungsbaum (BT) wobei a) vorgegebene Aktionsmuster (AP) eingelesen werden, b) eine Vielzahl von Aktionsausführungsbäumen (BT) für die Maschine (M) generiert wird, c) für einen jeweils generierten Aktionsausführungsbaum (BT)
- eine Performanz (PV) für ein Steuern der Maschine (M) an hand des jeweiligen Aktionsausführungsbaums (BT) ermittelt wird und
- die vorgegebenen Aktionsmuster (AP) im jeweiligen Aktions ausführungsbaum (BT) gesucht werden, ein im jeweiligen Akti onsausführungsbaum (BT) gefundenes Aktionsmuster (AP) zumin dest teilweise durch einen Verweis (L) auf das vorgegebene Aktionsmuster (AP) ersetzt wird und eine Baumgröße (BG) des so modifizierten Aktionsausführungsbaum (BTM) ermittelt wird, und d) anhand der generierten Aktionsausführungsbäume (BT) mit tels eines numerischen OptimierungsVerfahrens ein hinsicht lich größerer Performanz und geringerer Baumgröße optimierter Aktionsausführungsbaum (BTO) ermittelt und zum Konfigurieren der Maschinensteuerung (CTL) ausgegeben wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Vielzahl von Aktionsausführungsbäumen (BT) zumindest teilweise anhand der Aktionsmuster (AP) generiert wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein vorgegebener initialer Aktionsausführungsbaum (BTI) eingelesen wird, und dass die Vielzahl von Aktionsausführungsbäumen (BT) zumindest teilweise ausgehend vom initialen Aktionsausführungsbaum (BTI) generiert wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein vorgegebener initialer Aktionsausführungsbaum (BTI) eingelesen wird, dass der initiale Aktionsausführungsbaum (BTI) durch einen Interpreter (IP) ausgeführt wird, wobei eine Referenzabfolge (RSQ) von durch den initialen Aktionsausführungsbaum (BTI) spezifizierten Maschinenaktionen ermittelt wird, dass die generierten Aktionsausführungsbäume (BT) jeweils durch den Interpreter (IP) ausgeführt werden, wobei eine je weilige Abfolge (SQ) von durch den jeweiligen generierten Ak tionsausführungsbaum (BT) spezifizierten Maschinenaktionen ermittelt wird, und dass ein generierter Aktionsausführungsbaum, dessen jeweilige Abfolge (SQ) nicht mit der Referenzabfolge (RSQ) überein stimmt, verworfen wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass eine vorgegebene SelektionsInformation (SI) eingelesen wird, und dass anhand der SelektionsInformation (SI) diejenigen Maschi nenaktionen selektiert werden, deren jeweilige Abfolge (RSQ, SQ) zu ermitteln ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das numerische Optimierungsverfahren ein genetisches Op timierungsverfahren ist, und dass die Vielzahl von Aktionsausführungsbäumen (BT) durch das genetische Optimierungsverfahren generiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für die Vielzahl von Aktionsausführungsbäumen (BT) eine Pareto-Front (PF) ermittelt wird, wobei eine Erhöhung der Performanz sowie eine Verringerung der Baumgröße als Pareto- Zielkriterien verwendet werden, und dass der optimierte Aktionsausführungsbaum (BTO) anhand von Aktionsausführungsbäumen der Pareto-Front (PF) abgeleitet wird.
8. Verfahren nach Anspruch 6 und 7 dadurch gekennzeichnet, dass Aktionsausführungsbäume der Pareto-Front (PF) in das ge netische Optimierungs erfahren eingespeist werden und/oder dass nicht in der Pareto-Front (PF) enthaltene Aktionsausfüh rungsbäume verworfen werden.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zum Ermitteln der Performanz (PV) eines jeweiligen Akti onsausführungsbaums (BT) ein Simulationsmodell (SIM) der Ma schine (M), ein datengetriebenes Modell der Maschine (M), die Maschine (M) selbst und/oder eine dazu ähnliche Maschine an hand des jeweiligen Aktionsausführungsbaums (BT) gesteuert wird und eine daraus resultierende Performanz (PV) der Ma schine (M) ermittelt wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zum Ermitteln der Baumgröße (BG) eine Kantenanzahl, eine Knotenanzahl und/oder eine Baumtiefe des modifizierten Akti onsausführungsbaums (BTM) oder eine gewichtete Kombination der Kantenanzahl, der Knotenanzahl und/oder der Baumtiefe er mittelt wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein jeweiliger Aktionsausführungsbaum (BT) ein Behavior- Tree ist.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Maschine (M) ein Roboter, ein Motor, eine Werkzeug maschine, eine Turbine, eine Fertigungsanlage, ein Kraftfahr zeug, ein 3D-Drucker, ein mechanisches System, ein elektri- sches System oder ein anderes Gerät oder eine andere Anlage ist.
13. KonfigurationsSystem (KS) zum Konfigurieren einer Maschi- nensteuerung (CTL) für eine Maschine (M), eingerichtet zum
Ausführen eines Verfahrens nach einem der vorhergehenden An sprüche .
14. Computerprogrammprodukt eingerichtet zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 12.
15. Computerlesbares Speichermedium mit einem Computerpro grammprodukt nach Anspruch 14.
EP22747991.2A 2021-07-21 2022-07-07 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung Pending EP4338019A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21186997.9A EP4123399A1 (de) 2021-07-21 2021-07-21 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung
PCT/EP2022/068817 WO2023001561A1 (de) 2021-07-21 2022-07-07 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung

Publications (1)

Publication Number Publication Date
EP4338019A1 true EP4338019A1 (de) 2024-03-20

Family

ID=77021169

Family Applications (2)

Application Number Title Priority Date Filing Date
EP21186997.9A Withdrawn EP4123399A1 (de) 2021-07-21 2021-07-21 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung
EP22747991.2A Pending EP4338019A1 (de) 2021-07-21 2022-07-07 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP21186997.9A Withdrawn EP4123399A1 (de) 2021-07-21 2021-07-21 Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung

Country Status (3)

Country Link
EP (2) EP4123399A1 (de)
CN (1) CN117693719A (de)
WO (1) WO2023001561A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3651082A1 (de) * 2018-11-12 2020-05-13 Siemens Aktiengesellschaft Verfahren und assistenzsystem zum generieren von trainingsdaten zum lernbasierten konfigurieren eines technischen systems
EP3835894A1 (de) * 2019-12-09 2021-06-16 Siemens Aktiengesellschaft Verfahren und vorrichtung zur konfiguration einer maschinensteuerung

Also Published As

Publication number Publication date
WO2023001561A1 (de) 2023-01-26
EP4123399A1 (de) 2023-01-25
CN117693719A (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
EP2999998B1 (de) Methode zur ermittlung eines modells einer ausgangsgrösse eines technischen systems
DE102010005648A1 (de) Zielbezogenes Rapid Control Prototyping
EP3568757B1 (de) Verfahren zur erzeugung von quellcode
WO2021058223A1 (de) Verfahren zur effizienten, simulativen applikation automatisierter fahrfunktionen
EP3629151A1 (de) Verfahren zum ändern von modellen für die erzeugung von quellcode
EP2363809B1 (de) Verfahren zur Optimierung eines Steuerprogramms für Aktuatoren
DE10327614A1 (de) Vorrichtung und Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme
EP4338019A1 (de) Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung
DE102011007434A1 (de) Simulationsmodell für eine Windenergieanlage sowie Erstellung und Verwendung
DE102019212912A1 (de) Komprimieren eines tiefen neuronalen Netzes
EP3650964B1 (de) Verfahren zum steuern oder regeln eines technischen systems
DE202021102832U1 (de) Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
EP3989012A1 (de) Verfahren und konfigurationssystem zum konfigurieren einer steuereinrichtung für ein technisches system
WO2022253541A1 (de) Verfahren und konfigurationssystem zum konfigurieren einer maschinensteuerung
EP3712720B1 (de) Verfahren und vorrichtung zur ansteuerung einer technischen anlage mittels einer adaptiven simplex architektur
EP3489773A1 (de) Verfahren zum rechnergestützten steuern eines technischen systems, insbesondere einer energieerzeugungsanlage
EP2574996A1 (de) Verfahren zur Ermittlung eines Teillastzustandes einer Anlage
WO2023144014A1 (de) Technisches system mit cloud-dienstenutzung
DE102007007601A1 (de) Vorrichtung zur Herstellung eines Steuerprogramms aus Funktionsmodulen, mehrachsige Maschine, Verfahren und graphische Benutzerschnittstelle
EP4068011A1 (de) Maschinensteuerung sowie verfahren zum konfigurieren der maschinensteuerung
EP4075210A1 (de) Optimierungsverfahren für eine steuereinheit, steuerungsmittel, automatisierte anlage und computerprogrammprodukt
EP4131053A1 (de) Verfahren und system zum steuern eines produktionssystems
EP3961517A1 (de) Verfahren und ein system zum erstellen einer industriellen lösung mit einer künstlichen intelligenz
DE102022212901A1 (de) Automatisches Ermitteln einer optimalen Architektur für ein neuronales Netzwerk
DE102020213366A1 (de) Verfahren zum Bereitstellen eines Algorithmus maschinellen Lernens, Verfahren und System zur Klassifikation und/oder Regression von Prozessdaten und/oder Prozess-Metadaten

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20231215

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR