DE102020127407B4 - Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system - Google Patents

Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system Download PDF

Info

Publication number
DE102020127407B4
DE102020127407B4 DE102020127407.6A DE102020127407A DE102020127407B4 DE 102020127407 B4 DE102020127407 B4 DE 102020127407B4 DE 102020127407 A DE102020127407 A DE 102020127407A DE 102020127407 B4 DE102020127407 B4 DE 102020127407B4
Authority
DE
Germany
Prior art keywords
learning
assembly system
assignment rule
assembly
data sets
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.)
Active
Application number
DE102020127407.6A
Other languages
German (de)
Other versions
DE102020127407A1 (en
Inventor
Sebastian Mayer
Jörg Schmidt
Christian Endisch
Tobias Claßen
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.)
Audi AG
Original Assignee
Audi 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 Audi AG filed Critical Audi AG
Priority to DE102020127407.6A priority Critical patent/DE102020127407B4/en
Publication of DE102020127407A1 publication Critical patent/DE102020127407A1/en
Application granted granted Critical
Publication of DE102020127407B4 publication Critical patent/DE102020127407B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Biophysics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Marketing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

Verfahren zur Erzeugung wenigstens eines Fahrauftrags (17) für wenigstens ein fahrerloses Transportfahrzeug, FTF (16), eines modularen Montagesystems (10), wobei das wenigstens eine FTF (16) dafür vorgesehen ist, Werkstücke (14, 15) entsprechend dem jeweiligen Fahrauftrag (17) aus einem Lager (13) und/oder zwischen verschiedenen Montagestationen (11) zu verbringen, umfassend folgende Schritte:- Bereitstellen von Produktionszieldaten (22), welche als Produktionsziel wenigstens Art und Anzahl von mittels des modularen Montagesystems (10) in einem in die Zukunft reichenden Zeitraum zu montierenden Werkstücken (14, 15) beschreiben, in aufeinanderfolgenden Zeitschritten (t) jeweils:- Bereitstellen von Zustandsdaten (21), welche jeweils einen aktuellen Systemzustand (St) des modularen Montagesystems (10) beschreiben,- Erzeugung des wenigstens einen Fahrauftrags (17) für das wenigstens eine FTF (16) unter Berücksichtigung der Produktionszieldaten und der Zustandsdaten (21), wobei die Erzeugung des wenigstens einen Fahrauftrags (17) mittels eines selbstlernenden Algorithmus (25) erfolgt, welcher die jeweils aktuellen Zustandsdaten (21) mittels einer Zuordnungsregel (26) auf Aktionsdatensätze (19) abbildet, von denen jeder einen der Fahraufträge (17) als durchzuführende Aktion (At) beschreibt, wobei die Zuordnungsregel dem aktuellen Systemzustand des Montagesystems die Aktion für den nächsten Zeitschritt zuordnet und durch die Aktion in Form eines Fahrauftrags an ein FTF eine Veränderung des Systemzustands des Montagesystems bewirkt wird, wobei durch einen Lernprozess (28) die Zuordnungsregel (26) anhand von Belohnungsdatensätzen (27) angepasst wird, die jeweils einen Fortschritt (Rt) beschreiben, der beim Erreichen des Produktionsziels durch den jeweiligen Fahrauftrag (17) erzielt wurde,dadurch gekennzeichnet, dassin dem Lernprozess (28) die Zuordnungsregel (26) iterativ in aufeinanderfolgenden Lernschritten (29) angepasst wird und für den jeweiligen Lernschritt (29) jeweils mehrere Belohnungsdatensätze (27), die den jeweiligen Fortschritt (Rt) aus mehreren Fahraufträgen (17) beschreiben, zusammengefasst werden und die Zuordnungsregel (26) in dem Lernschritt (29) auf der Grundlage der mehreren Belohnungsdatensätze (27) angepasst wird,zur Erkennung einer Steuerstrategie, die sich zum Erzielen des Fortschrittes über mehrere Fahraufträge hinweg erstreckt, wenn bei dieser Steuerstrategie zwischendurch nur geringfügige Fortschritte oder sogar negative Fortschritte in Kauf genommen werden müssen und/oder um den Lernprozess robust gegen den Einfluss von Fehlentscheidungen zu machen und/oder um eine Optimierung auf die fertiggestellten Produkte pro Zeiteinheit zu erreichen.Method for generating at least one travel order (17) for at least one driverless transport vehicle, FTF (16), of a modular assembly system (10), wherein the at least one FTF (16) is intended to transport workpieces (14, 15) from a warehouse (13) and/or between different assembly stations (11) in accordance with the respective travel order (17), comprising the following steps: - providing production target data (22) which, as a production target, describe at least the type and number of workpieces (14, 15) to be assembled by means of the modular assembly system (10) in a period extending into the future, in successive time steps (t) respectively: - providing status data (21) which each describe a current system status (St) of the modular assembly system (10), - generating the at least one travel order (17) for the at least one FTF (16) taking into account the production target data and the status data (21), wherein the generation of the at least one travel order (17) is carried out by means of a self-learning Algorithm (25) is carried out which maps the respective current status data (21) by means of an assignment rule (26) to action data sets (19), each of which describes one of the travel orders (17) as an action (At) to be carried out, wherein the assignment rule assigns the action for the next time step to the current system state of the assembly system and the action in the form of a travel order to an AGV causes a change in the system state of the assembly system, wherein the assignment rule (26) is adapted by a learning process (28) on the basis of reward data sets (27), each of which describes a progress (Rt) that was achieved in reaching the production target by the respective travel order (17), characterized in that in the learning process (28) the assignment rule (26) is adapted iteratively in successive learning steps (29) and for the respective learning step (29) several reward data sets (27) describing the respective progress (Rt) from several travel orders (17) are combined and the assignment rule (26) is adapted in the learning step (29) on the basis of the plurality of reward data sets (27), to recognize a control strategy which extends over several driving orders to achieve progress, if with this control strategy only slight progress or even negative progress has to be accepted in between and/or to make the learning process robust against the influence of incorrect decisions and/or to achieve an optimization of the finished products per unit of time.

Description

Die Erfindung betrifft ein Verfahren zum Erzeugen wenigstens eines Fahrauftrags für wenigstens ein fahrerloses Transportfahrzeug, FTF, wie es in einem modularen Montagesystem vorgesehen sein kann, um Werkstücke aus einem Lager und/oder zwischen Montagestationen zu transportieren. Die Erfindung betrifft auch eine Steuervorrichtung zum Durchführen des Verfahrens.The invention relates to a method for generating at least one travel order for at least one driverless transport vehicle, FTF, as can be provided in a modular assembly system in order to transport workpieces from a warehouse and/or between assembly stations. The invention also relates to a control device for carrying out the method.

In einem modularen Montagesystem werden Werkstücke von einem Montageort zum nächsten Montageort mittels fahrerloser Transportfahrzeuge, FTF, eines fahrerlosen Transportsystems befördert. Durch die flexible Ansteuerbarkeit solcher FTF lassen sich unterschiedliche Montagereihenfolgen für unterschiedliche Produkte abbilden.In a modular assembly system, workpieces are transported from one assembly location to the next using driverless transport vehicles (FTVs) of a driverless transport system. The flexible controllability of such FTFs allows different assembly sequences to be implemented for different products.

Der Transport von Werkstücken erfolgt in der Regel durch die fahrerlosen Transportfahrzeuge, von denen jedes beispielsweise als schienenlos fahrender Roboter oder als Schienenfahrzeug ausgestaltet sein kann. Ein Werkstück kann ein Ausgangsbauteil aus einem Lager oder ein bereits teilmontiertes Produkt sein.Workpieces are usually transported by driverless transport vehicles, each of which can be designed as a railless robot or a rail vehicle, for example. A workpiece can be an initial component from a warehouse or a product that has already been partially assembled.

Zum Steuern eines fahrerlosen Transportsystems mit fahrerlosen Transportfahrzeugen ist es wichtig, dass die Werkstücke immer rechtzeitig aus dem Lager oder von einem Montageort zum nächsten Montageort verbracht werden, damit jede Montagestation stets mit Werkstücken versorgt ist, um ihren Betrieb ununterbrochen fortsetzen zu können. Durch die besagten unterschiedlichen Montagereihenfolgen erfolgt der Transport aber nicht in derselben Reihenfolge wie beim Auflegen am Montagestart, sondern durchaus chaotisch, sodass eine einfache Fließbandlösung nicht möglich ist. Dieses „Chaos“ wird auch dadurch verursacht, dass es regelmäßig passiert, dass mehrere Werkstückträger dieselbe Montagestation gleichzeitig zum Ziel haben, sodass es zu Wartezeiten kommen kann. Hierfür wird ebenfalls eine Steuerung für die fahrerlosen Transportfahrzeuge benötigt.To control an automated guided vehicle system with automated guided vehicles, it is important that the workpieces are always transported from the warehouse or from one assembly location to the next assembly location in a timely manner so that each assembly station is always supplied with workpieces in order to be able to continue its operation without interruption. Due to the different assembly sequences mentioned above, the transport does not take place in the same order as when the workpieces are placed at the start of assembly, but rather chaotically, so that a simple assembly line solution is not possible. This "chaos" is also caused by the fact that it regularly happens that several workpiece carriers have the same assembly station as their destination at the same time, which can lead to waiting times. This also requires a control system for the automated guided vehicles.

Ein Werkstück kann dabei jeweils in einem Werkstückträger gehalten oder untergebracht sein, um eine mechanische Kompatibilität mit dem fahrerlosen Transportfahrzeug zu erhalten.A workpiece can be held or housed in a workpiece carrier in order to maintain mechanical compatibility with the driverless transport vehicle.

Aktuell wird ein Montagesystem über relativ einfache sogenannte Pullprinzipien gesteuert. Ein Werkstückträger mit dem darin untergebrachten Werkstück wird immer dann zu einer Folgestation gebracht, wenn diese Montagestation Platz für die Aufnahme des Werkstückträgers hat. Eine übergreifende Koordination zwischen mehreren Werkstückträgern findet nicht statt. Somit wird nicht das Optimum der Steuerung erreicht und das besagte Chaos wird nicht global gelöst.Currently, an assembly system is controlled using relatively simple so-called pull principles. A workpiece carrier with the workpiece housed in it is always brought to a subsequent station if this assembly station has space to accommodate the workpiece carrier. There is no comprehensive coordination between several workpiece carriers. This means that the optimum control is not achieved and the aforementioned chaos is not globally resolved.

Um dieses Chaos einzudämmen, d.h. den Werkstücktransport bezüglich der Ausbringung des Gesamtsystems zu optimieren, kann zum Beispiel mit einem Fahrplan (Schedule) gearbeitet werden, der Fahrzeiten, Bearbeitungszeiten und die Belegung der Montagestationen berücksichtigt. Solche Schedules können beispielsweise über mathematische Optimierungsverfahren oder auch genetische Algorithmen derart optimiert werden, dass der Gesamtfahrplan in der zeitlichen Ausdehnung möglichst kurz ist, also in einer Zeiteinheit möglichst viele fertige Produkte erzeugt werden. Dazu muss zeitlich immer über einen gewissen Zeitraum nach vorne geschaut werden können. Eine Berechnung oder Auslegung eines solchen Schedules ist allerdings sehr komplex und unflexibel, wenn es um die Anpassung einer Montagereihenfolge oder sogar die Verschränkung mehrerer unterschiedlicher Montagereihenfolgen für unterschiedliche Produkte geht. Zudem ist eine Scheduleberechnung für jedes Montagesystem individuell notwendig, sodass hier mit diesem Ansatz auch keine Generalisierbarkeit erreicht werden kann, um mit einem universellen Verfahren die Steuerung unterschiedlicher Montagesysteme zu ermöglichen.In order to contain this chaos, i.e. to optimize the workpiece transport in relation to the output of the overall system, one can work with a schedule that takes travel times, processing times and the occupancy of the assembly stations into account. Such schedules can be optimized using mathematical optimization methods or genetic algorithms, for example, so that the overall schedule is as short as possible in terms of time, i.e. as many finished products as possible are produced in one unit of time. To do this, it must always be possible to look ahead over a certain period of time. However, calculating or designing such a schedule is very complex and inflexible when it comes to adapting an assembly sequence or even combining several different assembly sequences for different products. In addition, a schedule calculation is required for each assembly system individually, so that this approach cannot achieve generalizability in order to enable the control of different assembly systems with a universal method.

Für die Steuerung von Montagesystemen kann auch künstliche Intelligenz in Form von selbstlernenden Machine-Learning-Algorithmen zugrunde gelegt werden.Artificial intelligence in the form of self-learning machine learning algorithms can also be used to control assembly systems.

Aus der Internetseite https://robinaut.net/optimierte-produktionsplanung-dankkuenstlicher-intelligenz/ ist hierzu bekannt, dass für eine Produktionsplanung in einem Montagesystem die Reihenfolge mittels maschinellen Lernens optimiert werden kann, indem das sogenannte Reinforcement-Learning angewendet wird.From the website https://robinaut.net/optimierte-produktionsplanung-dankkuenstlicher-intelligenz/ it is known that for production planning in an assembly system, the sequence can be optimized using machine learning by applying so-called reinforcement learning.

Aus der Veröffentlichung von Illhoe Hwang und Young Jae Jang, „Q(λ) learning-based dynamic route guidance algorithm for overhead hoist transport systems in semiconductor fabs“, https://doi.org/10.1080/00207543.2019.1614692 ist bekannt, dass eine Steuerung für schienengebundene Transportgeräte auf der Grundlage von maschinellem Lernen optimiert werden kann. Das hierzu verwendete künstliche neuronale Netz kann zunächst in einer Simulation vortrainiert werden, indem eine Steuerentscheidung des Netzes als Eingabe vom Simulator empfangen wird und die daraus resultierende Zustandsänderung des Montagesystems in einer Simulation ermittelt wird, woraufhin der sich ergebende neue Systemzustand sowie eine Bewertung dieses Zustands als Rückmeldung oder Feedback für den Lernalgorithmus bereitgestellt wird.From the publication by Illhoe Hwang and Young Jae Jang, “Q(λ) learning-based dynamic route guidance algorithm for overhead hoist transport systems in semiconductor fabs”, https://doi.org/10.1080/00207543.2019.1614692, it is known that a control system for rail-bound transport equipment can be optimized on the basis of machine learning. The artificial neural network used for this purpose can first be pre-trained in a simulation by receiving a control decision of the network as input from the simulator and determining the resulting change in state of the assembly system in a simulation, whereupon the resulting new system state and an evaluation of this state are provided as feedback for the learning algorithm.

Aus der Internetseite https://www.fraunhofer.at /de/referenzen/reinforcement_learning.html ist bekannt, dass mittels künstlicher Intelligenz eine Produktionsplanung optimiert werden kann, wobei hier auf sogenanntes Deep-Reinforcement-Learning angewendet wird und das Training in einer Simulation erfolgt. Ziel ist es hierbei, potentielle Engpässe bei einem Montageprozess frühzeitig erkennen zu können.From the website https://www.fraunhofer.at/de/referenzen/reinforcement_learning.html it is known that production planning can be optimized using artificial intelligence, whereby so-called deep reinforcement learning is applied and the training takes place in a simulation. The aim here is to be able to identify potential bottlenecks in an assembly process at an early stage.

Die EP 3 696 744 A1 beschreibt ein Kontrollsystem und eine Methode zur Kontrolle technischer Einheiten beispielsweise Roboter oder autonom fahrende Fahrzeuge, um mit diesen technischen Einheiten Aufgaben in einer gemeinsamen Umgebung auszuführen.The EP 3 696 744 A1 describes a control system and a method for controlling technical units, such as robots or autonomous vehicles, in order to use these technical units to carry out tasks in a common environment.

Die DE 20 2020 104 238 U1 beschreibt eine Vorrichtung zum Lernen einer Strategie, welche zumindest einen Parameter eines evolutionären Algorithmus, insbesondere eines CMA-ES oder Differential Evolution Algorithmus, optimal anpasst.The EN 20 2020 104 238 U1 describes a device for learning a strategy which optimally adapts at least one parameter of an evolutionary algorithm, in particular a CMA-ES or Differential Evolution Algorithm.

Die WO 2019/228848 A1 beschreibt ein aktives Verkehrsmanagementsystem, welches Sensoren im Straßennetz sowie Ausgabemittel zur Kontrolle des Verkehrs umfasst. Entscheidungen des Verkehrsmanagementsystems werden auf Basis ermittelter zukünftiger Zustände getroffen, wobei diese zukünftigen Zustände mittels einem Modell basierend auf einem Neuralen Netz ermittelt werden.The WO 2019/228848 A1 describes an active traffic management system that includes sensors in the road network and output devices for controlling traffic. Decisions of the traffic management system are made on the basis of determined future states, whereby these future states are determined using a model based on a neural network.

Die DE 10 2019 107 462 A1 beschreibt ein System, ein Verfahren und einen cloud-basierter Server zum automatisierten Überprüfen eines Funktionszustands von Komponenten eines Transport-Netzwerks in einem intralogistischen Lager- und/oder Kommissioniersystem.The EN 10 2019 107 462 A1 describes a system, a method and a cloud-based server for the automated checking of a functional status of components of a transport network in an intralogistics storage and/or picking system.

Der Erfindung liegt die Aufgabe zugrunde, in einem Montagesystem fahrerlose Transportfahrzeuge, FTF, zu steuern.The invention is based on the object of controlling driverless transport vehicles (FTVs) in an assembly system.

Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsformen der Erfindung ergeben sich durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren.The object is achieved by the subject matter of the independent patent claims. Advantageous embodiments of the invention result from the dependent patent claims, the following description and the figures.

Erfindungsgemäß basiert die Steuerung auf einem selbstlernenden Algorithmus, das heißt dem maschinellen Lernen, mittels welchem ein sogenannter Agent dahingehend trainiert wird, dass er in Zeitschritten Aktionen ausführt, um auf seine Umgebung, hier das Montagesystem, einzuwirken. Der Agent wendet eine sogenannte Policy an, um dem aktuellen Systemzustand des Montagesystems eine Aktion für den nächsten Zeitschrift zuzuordnen. Die Policy wird hier deshalb als Abbildungsregel oder Zuordnungsregel bezeichnet. Im vorliegenden Fall wird die jeweilige Aktion in Form eines Fahrauftrags an ein FTF ausgeführt. Aus der Aktion ergibt sich ein neuer Systemzustand des Montagesystems, der zusammen mit einer Bewertung des neuen Systemzustands (sogenannte Reward / Belohnung) wieder an den Agenten zurückgemeldet wird. Daraus kann in an sich bekannter Weise die Zuordnungsregel mittels eines selbstlernenden Algorithmus angepasst oder optimiert werden. Durch das Montagesystem kann ein Fertigungsprozess oder Produktionsprozess mit einem Produktionsziel ausgeführt werden. Das Produktionsziel kann die Herstellung von Produkten einer vorgegebenen Art oder mehrerer unterschiedlicher Arten sowie jeweils eine zugehörige Anzahl an Produkten vorsehen. Die Steuerung soll hierbei eine Optimierung in Bezug auf den Durchsatz (fertiggestellte Produkte pro Zeiteinheit) erzielen.According to the invention, the control is based on a self-learning algorithm, i.e. machine learning, by means of which a so-called agent is trained to carry out actions in time steps in order to influence its environment, in this case the assembly system. The agent applies a so-called policy to assign an action for the next magazine to the current system state of the assembly system. The policy is therefore referred to here as a mapping rule or assignment rule. In the present case, the respective action is carried out in the form of a travel order to an AGV. The action results in a new system state of the assembly system, which is reported back to the agent together with an assessment of the new system state (so-called reward). From this, the assignment rule can be adapted or optimized in a manner known per se using a self-learning algorithm. The assembly system can carry out a manufacturing process or production process with a production goal. The production goal can provide for the manufacture of products of a predetermined type or several different types, as well as an associated number of products in each case. The control system should achieve an optimization in terms of throughput (finished products per unit of time).

Durch die Erfindung ist hierzu ein Verfahren bereitgestellt, um die Erzeugung wenigstens eines Fahrauftrags (Aktion) für wenigstens ein fahrerloses Transportfahrzeug, FTF, eines modularen Montagesystems durchzuführen, wobei das wenigstens eine FTF dafür vorgesehen ist, Werkstücke entsprechend dem jeweiligen Fahrauftrag aus einem Lager und/oder zwischen verschiedenen Montagestationen zu transportieren oder zu verbringen. Das Verfahren sieht folgenden Schritte vor:

  • - Bereitstellen von Produktionszieldaten, welche als Produktionsziel wenigstens Art und Anzahl von mittels des modularen Montagesystems in einem in die Zukunft reichenden Zeitraum zu montierenden Werkstücken oder fertig zu montierenden Produkten beschreiben,
in aufeinanderfolgenden Zeitschritten t jeweils:
  • - Bereitstellen von Zustandsdaten, welche jeweils den aktuellen Systemzustand (St) des modularen Montagesystems beschreiben (z.B. Fahrzeugpositionen und Zustand der Montagestationen),
  • - Erzeugung des wenigstens einen Fahrauftrags für das wenigstens eine FTF unter Berücksichtigung der Zieldaten und der Zustandsdaten, wobei die Erzeugung des wenigstens einen Fahrauftrags mittels eines selbstlernenden Algorithmus erfolgt, welcher die jeweils aktuellen Zustandsdaten mittels einer Zuordnungsregel (Policy) auf Aktionsdatensätze abbildet, von denen jeder einen der Fahraufträge als durchzuführende Aktion (At) angibt, und durch einen Lernprozess die Zuordnungsregel anhand von Belohnungsdatensätzen angepasst wird, die jeweils einen fahrauftragsbezogenen Fortschritt (Reward Rt) beim Erreichen des Produktionsziels beschreiben.
The invention provides a method for generating at least one travel order (action) for at least one driverless transport vehicle, FTF, of a modular assembly system, wherein the at least one FTF is intended to transport or move workpieces from a warehouse and/or between different assembly stations in accordance with the respective travel order. The method provides the following steps:
  • - Providing production target data which, as a production target, describes at least the type and number of workpieces or fully assembled products to be assembled using the modular assembly system in a period extending into the future,
in successive time steps t:
  • - Provision of status data which describe the current system status (St) of the modular assembly system (e.g. vehicle positions and status of the assembly stations),
  • - Generation of the at least one driving order for the at least one AGV taking into account the target data and the status data, wherein the generation of the at least one driving order takes place by means of a self-learning algorithm which maps the respective current status data by means of an assignment rule (policy) to action data sets, each of which specifies one of the driving orders as the action to be carried out (At), and through a learning process the assignment rule is adapted on the basis of reward data sets, each of which describes a driving order-related progress (reward Rt) in reaching the production target.

Der Begriff „modular“ bezeichnet hier ein Montagesystem, bei welchem die einzelnen Montagestationen frei kombinierbar sind. Ein Beispiel für eine solche Montagestation kann beispielsweise ein Fertigungsautomat zum Bohren oder Löten eines Werkstücks oder zum Montieren mehrerer Werkstücke sein. Zwischen diesen einzelnen Montagestationen werden die Werkstücke transportiert, um für den nachfolgenden Fertigungsschritt an einer anderen Montagestation bereitzustehen. Durch die Zustandsdaten wird der insgesamt vorhandene aktuelle Systemzustand beschrieben. Der Systemzustand kann die jeweilige Position des zumindest einen FTF und/oder einen Versorgungszustand jeder Montagestation mit wartenden Werkstücken und/oder die Anzahl der fertiggestellten, abzutransportierenden Werkstücke pro Montagestation angeben. In den aufeinanderfolgenden Zeitschritten kann der selbstlernende Algorithmus in Reaktion auf den aktuellen Systemzustand eine Aktion in Form eines Fahrauftrags ausgeben, wodurch eine Veränderung des Systemzustands bewirkt wird, nämlich eine Veränderung einer Fahrzeugposition eines FTF und des daraus resultierenden Fortschritts bei der Produktion oder Fertigung. D.h. es ergibt sich zusätzlich eine Veränderung des jeweiligen Zustands zumindest einer Montagestation, weil eingangsseitig ein Werkstück bereitgestellt und/oder ausgangsseitig ein Abtransport eines montierten Werkstücks erfolgt ist.The term “modular” refers to an assembly system in which the individual assemblies stations can be freely combined. An example of such an assembly station can be, for example, a production machine for drilling or soldering a workpiece or for assembling several workpieces. The workpieces are transported between these individual assembly stations in order to be ready for the subsequent production step at another assembly station. The status data describes the overall current system status. The system status can indicate the respective position of the at least one AGV and/or a supply status of each assembly station with waiting workpieces and/or the number of completed workpieces to be transported away per assembly station. In the successive time steps, the self-learning algorithm can issue an action in the form of a travel order in response to the current system status, which causes a change in the system status, namely a change in a vehicle position of an AGV and the resulting progress in production or manufacturing. This means that there is also a change in the respective status of at least one assembly station because a workpiece has been provided on the input side and/or an assembled workpiece has been transported away on the output side.

Der selbstlernende Algorithmus kann die Zuordnungsregel (Policy) durch einen sogenannten Agenten realisieren, z.B. durch ein künstliches neuronales Netz. Im Falle eines künstlichen neuronalen Netzes resultiert die Zuordnungsregel aus den Werten der Gewichtungen in den Verbindungen zwischen den künstlichen Neuronen.The self-learning algorithm can implement the assignment rule (policy) through a so-called agent, e.g. through an artificial neural network. In the case of an artificial neural network, the assignment rule results from the values of the weights in the connections between the artificial neurons.

Der Fortschritt kann in dem Belohnungsdatensatz als eine Anzahl fertiggestellter Produkte und/oder als die während des Fahrauftrags vergangene Zeitdauer beschrieben werden, wobei letztere Angabe als unerwünschter Aufwand angegeben werden kann, also als negativer Wert für den Fortschritt. Um den Durchsatz zu maximieren, also in möglichst wenig Zeit möglichst viel Fortschritt zu erzielen, muss in dem Lernprozess die Zuordnungsregel optimiert oder angepasst werden. Bekannt ist hierzu, dass man nach jedem Fahrauftrag den Systemzustand zusammen mit dem aus dem Fahrauftrag resultierenden Belohnungsdatensatz, also den Fortschritt oder Reward zum aktuellen Zeitschritt t, für einen Lernschritt nutzt. Hierdurch wird allerdings der Lernprozess dahingehend anfällig, dass ein einzelner Fahrauftrag und der daraus resultierende Fortschritt eine Veränderung der gesamten Zuordnungsregel bewirken kann, wodurch aufgrund der Komplexität der Steueraufgabe eine Konvergenz erschwert wird. Zusätzlich ergibt sich der Nachteil, dass eine Steuerstrategie, die sich über mehrere Fahraufträge hinweg erstreckt, um einen Fortschritt zu erzielen, nicht erkannt werden kann, wenn bei dieser Steuerstrategie zwischendurch nur geringfügige Fortschritte oder sogar Nachteile (negativer Fortschritt) in Kauf genommen werden müssen.The progress can be described in the reward data set as a number of completed products and/or as the time elapsed during the driving task, whereby the latter information can be specified as undesirable effort, i.e. as a negative value for the progress. In order to maximize the throughput, i.e. to achieve as much progress as possible in as little time as possible, the assignment rule must be optimized or adapted in the learning process. It is known that after each driving task, the system state is used together with the reward data set resulting from the driving task, i.e. the progress or reward at the current time step t, for a learning step. However, this makes the learning process vulnerable in that a single driving task and the resulting progress can cause a change in the entire assignment rule, which makes convergence difficult due to the complexity of the control task. In addition, there is the disadvantage that a control strategy that extends over several driving tasks in order to achieve progress cannot be recognized if this control strategy only results in minor progress or even disadvantages (negative progress) in between.

Erfindungsgemäß wird deshalb in dem Lernprozess die Zuordnungsregel zwar ebenfalls iterativ in aufeinanderfolgenden Lernschritten angepasst, hierbei werden aber pro Lernschritt jeweils mehrere Belohnungsdatensätze, die den Fortschritt (Rt) aus mehrere Fahraufträgen angeben, zusammengefasst, und die Zuordnungsregel wird somit pro Lernschritt auf Grundlage mehrerer Rewards oder Belohnungsdatensätze angepasst. Beispielsweise können Belohnungsdatensätze aus 5 bis 200 Aktionen oder Fahraufträgen zusammengefasst sein. Hierdurch ergibt sich der Vorteil, dass eine Veränderung der Zuordnungsregel auf Basis des selbstlernenden Algorithmus stets eine Vielzahl von Fahraufträgen und den jeweils resultierenden Belohnungsdatensätzen umfasst. Dies macht den Lernprozess robust gegen den Einfluss einzelner Fehlentscheidungen oder Rückschritte (negativer Fortschritt).According to the invention, the assignment rule is therefore also adapted iteratively in successive learning steps in the learning process, but in this case several reward data sets that indicate the progress (Rt) from several driving orders are summarized for each learning step, and the assignment rule is thus adapted for each learning step on the basis of several rewards or reward data sets. For example, reward data sets from 5 to 200 actions or driving orders can be summarized. This has the advantage that a change in the assignment rule based on the self-learning algorithm always includes a large number of driving orders and the resulting reward data sets. This makes the learning process robust against the influence of individual incorrect decisions or setbacks (negative progress).

Die Erfindung umfasst auch Ausführungsformen, durch die sich zusätzliche Vorteile ergeben.The invention also includes embodiments which provide additional advantages.

Um das Verfahren generalisiert anwenden zu können, also auf unterschiedliche Montagesysteme und dabei ohne Vorwissen über einen möglichen optimalen Fertigungsprozess, sollte die Zuordnungsregel mit Standardwerten begonnen werden können und von dort ausgehend die Zuordnungsregel an das Montagesystem angepasst werden. Dazu kann zunächst in einem initialen Lernprozess auf einer Simulation des Montagesystems gelernt werden. Eine Ausführungsform umfasst hierzu, dass ein mathematisches Modell des modularen Montagesystems betrieben wird, anhand dessen Simulationsdaten für einen initialen Lernprozess des selbstlernenden Algorithmus erzeugt und verwendet werden, indem das Montagesystem als Simulation betrieben wird. Bevorzugt kann vorgesehen sein, dass das Montagesystem mehrfach parallel simuliert wird, beispielsweise in zwei bis zehn Simulationsumgebungen. Somit kann für jedes simulierte Montagesystem ein anderer Fahrauftrag erzeugt werden und es entstehen aus den simulierten Montagesystemen mehrere Belohnungsdatensätze mit Rewards für den nächsten Lernschritt. Eine Ausführungsform umfasst entsprechend, dass für den jeweiligen Lernschritt Belohnungsdatensätze aus parallel betriebenen, gleichen Montagesystemen ermittelt werden, in denen jeweils pro Lernschritt zumindest ein Fahrauftrag durchgeführt wird.In order to be able to apply the method in a generalized manner, i.e. to different assembly systems and without prior knowledge of a possible optimal production process, the assignment rule should be able to be started with standard values and from there the assignment rule can be adapted to the assembly system. To do this, learning can first take place in an initial learning process on a simulation of the assembly system. One embodiment includes operating a mathematical model of the modular assembly system, based on which simulation data is generated and used for an initial learning process of the self-learning algorithm by operating the assembly system as a simulation. Preferably, it can be provided that the assembly system is simulated several times in parallel, for example in two to ten simulation environments. A different driving order can thus be generated for each simulated assembly system and several reward data sets with rewards for the next learning step arise from the simulated assembly systems. One embodiment accordingly includes determining reward data sets for the respective learning step from identical assembly systems operated in parallel, in each of which at least one driving order is carried out per learning step.

Um auch eine vorausschauende Steuerstrategie, die mehrere nacheinander in einem Montagesystem erzeugte Fahraufträge umfasst, optimieren zu können, können einem Lernschritt auch mehrere aufeinanderfolgende Zeitschritte zugrundegelegt werden. Eine Ausführungsform umfasst hierzu, dass für den jeweiligen Lernschritt in jeweils demselben Montagesystem mehrere Fahraufträge nacheinander erzeugt werden und jeweils ein Tupel gebildet wird, das jeweils die aktuellen Zustandsdaten, den daraus gebildetem Aktionsdatensatz des Fahrauftrags und den resultierenden Belohnungsdatensatz angibt, und die Reihe der Tupel als eine Trajektorie dem Lernprozess übergeben wird. Jedes Tupel beschreibt also den Ausgangs-Systemzustand, die daraufhin erzeugte Aktion (Fahrauftrag) und den resultierenden Fortschritt (Reward). Die so nacheinander erzeugten Tupel ergeben also pro Tupel einen Belohnungsdatensatz, sodass ebenfalls mehrere Belohnungsdatensätze für einen Lernschritt zur Verfügung stehen.In order to be able to optimize a predictive control strategy that includes several driving orders generated one after the other in an assembly system, a learning step can also be based on several consecutive time steps. One embodiment includes the fact that for the respective learning step in the same assembly system, several driving orders are generated one after the other and a tuple is formed in each case, which specifies the current state data, the resulting action data set of the driving order and the resulting reward data set, and the series of tuples is passed on to the learning process as a trajectory. Each tuple therefore describes the initial system state, the action generated thereafter (driving order) and the resulting progress (reward). The tuples generated one after the other in this way therefore result in one reward data set per tuple, so that several reward data sets are also available for a learning step.

Ein Lernschritt kann von einem Fehlerwert ausgehen, aus welchem beispielsweise mittels einer sogenannten Back-Propagation ein Gradient für eine Veränderung der Zuordnungsregel, insbesondere eine Veränderung der Gewichtungswerte in einem künstlichen neuronalen Netz, berechnet werden kann. Um aus mehreren Belohnungsdatensätzen einen solchen Fehlerwert zu ermitteln, kann in vorteilhafter Weise der Mittelwert der Belohnungsdatensätze oder zumindest einiger davon zugrunde gelegt werden. Eine Ausführungsform umfasst entsprechend, dass für den jeweiligen Lernschritt ein Mittelwert zumindest einiger der Belohnungsdatensätze berechnet wird, die sich für die Fahraufträge ergeben, die dem Lernschritt zugrunde liegen. Werden für einen Lernschritt die beschriebenen Trajektorien zugrunde gelegt, so kann also der Mittelwert für die parallel gesammelten Trajektorien in parallelen Simulationsumgebungen berechnet werden. Somit kann trotz Verwendung mehrerer Belohnungsdatensätze ein selbstlernender Algorithmus aus dem Stand der Technik verwendet werden.A learning step can start from an error value from which, for example, a gradient for a change in the assignment rule, in particular a change in the weighting values in an artificial neural network, can be calculated using so-called back propagation. In order to determine such an error value from several reward data sets, the mean value of the reward data sets or at least some of them can advantageously be used as a basis. One embodiment accordingly includes calculating a mean value of at least some of the reward data sets for the respective learning step that result from the driving orders on which the learning step is based. If the trajectories described are used as a basis for a learning step, the mean value for the trajectories collected in parallel can therefore be calculated in parallel simulation environments. Thus, despite the use of several reward data sets, a self-learning algorithm from the prior art can be used.

Eine Ausführungsform umfasst, dass der selbstlernende Algorithmus mittels zumindest eines Reinforcement-Learning, insbesondere mittels einer Proximal-Policy-Optimierung, PPO, realisiert wird. Mittels eines Reinforcement-Learning kann ein Agent, der die Zuordnungsregel beinhaltet oder realisiert, ausgehend von Belohnungsdatensätzen effizient trainiert werden. Das PPO weist den zusätzlichen Vorteil auf, dass die sich trotz der Vielzahl möglicher Systemzustände und der Vielzahl der möglichen Fahraufträge dennoch eine Konvergenz beim Training oder Lernen der Zuordnungsregel erzielt werden kann.One embodiment includes the self-learning algorithm being implemented by means of at least one reinforcement learning, in particular by means of a proximal policy optimization, PPO. By means of reinforcement learning, an agent that contains or implements the assignment rule can be efficiently trained based on reward data sets. The PPO has the additional advantage that, despite the large number of possible system states and the large number of possible driving orders, convergence can still be achieved when training or learning the assignment rule.

Eine Ausführungsform umfasst, dass der selbstlernende Algorithmus mittels einer Kullback-Leibler-Randbedingung in Bezug auf seine Lernrate begrenzt wird. Durch die Begrenzung der Lernrate wird verhindert, dass in einem einzelnen Lernschritt die Veränderung der Zuordnungsregel größer als ein vorbestimmter Maximalwert ist. Somit kann verhindert werden, dass eine Verbesserung in der Zuordnungsregel nicht in einem einzelnen Lernschritt wieder zunichte gemacht wird, wenn es zu einer Fehlentscheidung kam.One embodiment includes limiting the self-learning algorithm in terms of its learning rate using a Kullback-Leibler boundary condition. Limiting the learning rate prevents the change in the assignment rule from being greater than a predetermined maximum value in a single learning step. This prevents an improvement in the assignment rule from being undone in a single learning step if an incorrect decision was made.

Das schrittweise Lernen in einzelnen Lernschritten hat normalerweise zur Folge, dass die gewonnenen Daten (Zustandsdaten und Belohnungsdatensätze) nur einmal für einen Lernschritt verwendet und dann verworfen werden. Wird dabei noch in der beschriebenen Weise die Lernrate begrenzt, so kann eventuell eine Vielzahl von Lernschritten für ein vollständiges Training notwendig sein. Um dies zu vermeiden, sieht eine Ausführungsform vor, dass pro Lernschritt die Zuordnungsregel durch wiederholtes Verwenden der aktuellen Belohnungsdatensätze mehrfach nacheinander angepasst wird. Hierdurch ergibt sich der Vorteil, dass dieselben Daten (Zustandsdaten und Belohnungsdatensätze) mit aktiv reduzierter Lernrate dennoch zu einer größeren Veränderung der Zuordnungsregel führen können als eine einzelne Anpassung der Zuordnungsregel, ohne dass hierdurch die Gefahr besteht, dass die Zuordnungsregel in der beschriebenen Weise aufgrund einer zu großen Lernrate degeneriert.Step-by-step learning in individual learning steps usually means that the data obtained (state data and reward data sets) are only used once for a learning step and then discarded. If the learning rate is limited in the manner described, a large number of learning steps may be necessary for complete training. To avoid this, one embodiment provides that the assignment rule is adapted several times in succession for each learning step by repeatedly using the current reward data sets. This has the advantage that the same data (state data and reward data sets) with an actively reduced learning rate can still lead to a greater change in the assignment rule than a single adjustment of the assignment rule, without there being a risk that the assignment rule will degenerate in the manner described due to a learning rate that is too high.

Eine Ausführungsform umfasst, dass der jeweilige Fahrauftrag durch Auswählen aus einer vorgegebenen Menge endlich vieler möglicher Fahraufträge ermittelt wird. Ein Beispiel für einen solchen Fahrauftrag kann sein: „Fahre von A nach B“. Eine begrenzte Anzahl möglicher Aktionen, aus denen ausgewählt werden kann, ergibt in vorteilhafter Weise eine Begrenzung des Zustandsraums, indem beispielsweise die Anzahl der möglichen Fahraufträge kleiner als 1000, insbesondere kleiner als 200, vorgegeben wird. Hierdurch ergibt sich der Vorteil, dass die Zuordnungsregel zuverlässig konvergieren kann.One embodiment includes that the respective driving order is determined by selecting from a predetermined set of a finite number of possible driving orders. An example of such a driving order can be: "Drive from A to B". A limited number of possible actions from which one can choose advantageously results in a limitation of the state space, for example by specifying the number of possible driving orders to be less than 1000, in particular less than 200. This has the advantage that the assignment rule can converge reliably.

Ein besonderes Problem ergibt sich, wenn in einem Montagesystem mehrere gleiche Maschinen oder Montagestationen vorhanden sind, sodass ein Werkstück an eine von mehreren möglichen Montagestationen transportiert werden kann. Hierdurch ergibt sich der Vorteil, dass die Zuordnungsregel nicht daraufhin optimiert wird, dass diejenige Montagestation mit der kürzesten Wartedauer angesteuert wird, sondern das systemübergreifende Optimierungsziel der Durchsatzmaximierung angestrebt wird. Eine Ausführungsform umfasst, dass in dem Montagesystem für den gleichen Fertigungsschritt mehrere Montagestationen bereitgestellt werden und mittels der Zuordnungsregel ein FTF an diejenige Montagestation gesteuert wird, durch welche sich die aktuell geringsten Wartezeit und/oder der größte Durchsatz im Produktionsprozess ergibt.A particular problem arises when there are several identical machines or assembly stations in an assembly system, so that a workpiece can be transported to one of several possible assembly stations. This has the advantage that the allocation rule is not optimized to control the assembly station with the shortest waiting time, but rather the cross-system optimization goal of maximizing throughput is aimed for. One embodiment includes that several assembly stations are provided in the assembly system for the same production step and an AGV is controlled by means of the allocation rule to the assembly station that currently results in the shortest waiting time and/or the highest throughput in the production process.

Das Optimierungsziel „Durchsatzmaximierung“ muss numerisch in eine Berechnungsformel abgebildet werden, mittels welcher die Belohnungsdatensätze berechnet werden können, um in jedem Lernschritt Einfluss auf die Veränderung der Zuordnungsregel zu nehmen. Die Erfindung hat hier die Erkenntnis, dass ein Bonus-Malus-System die Durchsatzoptimierung als Lernziel für den Lernprozess ermöglicht. Eine Ausführungsform umfasst, dass zum Erzeugen der Belohnungsdatensätze jeweils ein Belohnungswert ermittelt wird, der für einen jeweiligen vergangenen Zeitschritt einen vorbestimmten Maluswert und/oder für die Fertigstellung eines Werkstücks einen vorbestimmten Bonuswert und/oder für eine vorbestimmte, revidierungsbedürftige Aktion einen vorbestimmten Maluswert vorsieht. Da das Vergehen von Zeit oder die Zeitdauer dem Optimierungsziel entgegensteht, kann die Dauer eines Zeitschritts als Maluswert, das heißt beispielsweise ein negativer Wert, eingerechnet werden. Beispielsweise kann für jeden vergangenen Zeitschritt ein Maluswert von zum Beispiel -13 Sekunden zugrundegelegt werden, je nach Montagesystem. Wird ein Werkstück vollständig zu Ende montiert, so ergibt sich ein fertiges Produkt einer bestimmten Art, und es kann dies mit einem Bonuswert, zum Beispiel +50, bewertet werden. Eine revidierungsbedürftige Aktion kann beispielsweise darin bestehen, dass ein FTF in eine Sackgasse manövriert wird, ohne dass dort etwas erledigt wird, sondern das Fahrmanöver muss stattdessen rückgängig gemacht werden. Eine solche revidierungsbedürftige Aktion kann mit einem Maluswert von beispielsweise -100 bewertet werden. Der pro Fahrauftrag resultierende Wert kann dann als Belohnungsdatensatz bereitgestellt werden. Je mehr Zeit vergeht, desto schlechter wird also die aktuelle Zuordnungsregel bewertet. Es ergibt sich als vorteilhafter Lernprozess, dass die Zuordnungsregel möglichst wenig Zeit verliert und dabei Werkstücke fertiggestellt werden, ohne dass revidierungsbedürftige Aktionen erzeugt werden.The optimization goal of "throughput maximization" must be mapped numerically into a calculation formula, by means of which the reward data sets can be calculated in order to influence the change in the allocation rule in each learning step. The invention has found that a bonus-malus system enables throughput optimization as a learning goal for the learning process. One embodiment includes the fact that, in order to generate the reward data sets, a reward value is determined which provides a predetermined malus value for a respective past time step and/or a predetermined bonus value for the completion of a workpiece and/or a predetermined malus value for a predetermined action that requires revision. Since the passage of time or the length of time conflicts with the optimization goal, the duration of a time step can be included as a malus value, i.e. a negative value, for example. For example, a malus value of -13 seconds, for example, can be used as a basis for each past time step, depending on the assembly system. If a workpiece is fully assembled, a finished product of a certain type is created, and this can be given a bonus value, for example +50. An action that requires revision could be, for example, if an AGV is maneuvered into a dead end without anything being done there; instead, the maneuver must be reversed. Such an action that requires revision can be given a penalty value of, for example, -100. The resulting value for each driving order can then be provided as a reward data set. The more time passes, the worse the current assignment rule is rated. The advantageous learning process is that the assignment rule loses as little time as possible and workpieces are completed without generating actions that require revision.

Um sich an unterschiedliche Montagesysteme anpassen zu können, sollte der jeweilige Lernprozess für ein Montagesystem dessen Ausstattung berücksichtigen können. In Abhängigkeit von Kennwerten des Montagesystems kann beispielsweise für einen selbstlernenden Algorithmus die Anzahl der sogenannten Hidden-Layers in einem künstlichen neuronalen Netz und/oder die Anzahl der künstlichen Neuronen in einzelnen Schichten oder Layers des Netzes festgelegt werden. Eine Ausführungsform umfasst hierzu, dass zumindest ein Metaparameter des selbstlernenden Algorithmus in Abhängigkeit von zumindest einem Kennwert des Montagesystems, insbesondere einer Anzahl der Montagestationen, eingestellt wird.In order to be able to adapt to different assembly systems, the respective learning process for an assembly system should be able to take its equipment into account. Depending on the characteristics of the assembly system, for example, the number of so-called hidden layers in an artificial neural network and/or the number of artificial neurons in individual layers of the network can be determined for a self-learning algorithm. One embodiment includes setting at least one metaparameter of the self-learning algorithm depending on at least one characteristic of the assembly system, in particular a number of assembly stations.

Durch die Erfindung ist auch eine Steuervorrichtung für wenigstens ein fahrerloses Transportfahrzeug, FTF, eines modularen Montagesystems vorgesehen, wobei die Steuervorrichtung eine Prozessorschaltung aufweist, die dazu eingerichtet ist, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die Steuervorrichtung kann eine Datenverarbeitungsvorrichtung oder eine Prozessoreinrichtung aufweisen, die dazu eingerichtet ist, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die Prozessoreinrichtung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessoreinrichtung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessoreinrichtung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessoreinrichtung gespeichert sein.The invention also provides a control device for at least one driverless transport vehicle, FTF, of a modular assembly system, wherein the control device has a processor circuit that is set up to carry out an embodiment of the method according to the invention. The control device can have a data processing device or a processor device that is set up to carry out an embodiment of the method according to the invention. For this purpose, the processor device can have at least one microprocessor and/or at least one microcontroller and/or at least one FPGA (Field Programmable Gate Array) and/or at least one DSP (Digital Signal Processor). Furthermore, the processor device can have program code that is set up to carry out the embodiment of the method according to the invention when executed by the processor device. The program code can be stored in a data memory of the processor device.

Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.The invention also includes combinations of the features of the described embodiments. The invention therefore also includes implementations that each have a combination of the features of several of the described embodiments, provided that the embodiments have not been described as mutually exclusive.

Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:

  • 1 eine schematische Darstellung eines Montagesystems mit einer Ausführungsform der erfindungsgemäßen Steuervorrichtung;
  • 2 eine Skizze zur Veranschaulichung einer Ausführungsform des erfindungsgemäßen Verfahrens;
  • 3 eine Skizze zur Veranschaulichung eines selbstlernenden Algorithmus auf Basis eines künstlichen neuronalen Netzes.
Exemplary embodiments of the invention are described below.
  • 1 a schematic representation of an assembly system with an embodiment of the control device according to the invention;
  • 2 a sketch to illustrate an embodiment of the method according to the invention;
  • 3 a sketch to illustrate a self-learning algorithm based on an artificial neural network.

Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the components of the embodiments described each represent individual features of the invention that are to be considered independently of one another and which also develop the invention independently of one another. Therefore, the disclosure should also include combinations of the features of the embodiments other than those shown. Furthermore, the described embodiments can also be supplemented by other features of the invention already described.

In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.In the figures, identical reference symbols designate functionally identical elements.

1 zeigt ein Produktionssystem oder Montagesystem 10, in welchem als einzelne Module Montagestationen 11 zum Durchführen eines Produktionsprozesses oder Fertigungsprozesses von Produkten 12 betrieben werden können. Die Produkte 12 können unterschiedlicher Art sein. Als Ausgangsmaterial können in einem Lager 13 Bauteile 14 gelagert sein, die einigen Montagestationen 11 als Ausgangswerkstücke zugeführt werden können, damit daraus teilmontierte Werkstücke 15 gefertigt werden, die dann jeweils zu einer weiteren Montagestation 11 verbracht werden können, wo sie weiterverarbeitet werden können, indem beispielsweise ein weiteres Bauteil 14 hinzugefügt wird und/oder eine Veränderung vorgenommen wird. 1 shows a production system or assembly system 10 in which assembly stations 11 can be operated as individual modules for carrying out a production process or manufacturing process of products 12. The products 12 can be of different types. Components 14 can be stored as starting material in a warehouse 13, which can be fed to several assembly stations 11 as starting workpieces so that partially assembled workpieces 15 can be manufactured from them, which can then be taken to another assembly station 11 where they can be further processed, for example by adding another component 14 and/or making a change.

Zum Transportieren oder Verbringen der Bauteile 14 und/oder der teilmontierten Werkstücke 15 können in dem Montagesystem 10 fahrerlose Transportfahrzeuge FTF 16 vorgesehen sein, die zwischen dem Lager 13 und/oder den unterschiedlichen Montagestationen 11 fahren können. Es kann sich um schienenlose oder schienengebundene FTF handeln. Eine jeweilige Fahrt zum Transport eines Werkstückträgers, in welchem sich ein Bauteil 14 und/oder ein teilmontiertes Werkstück 15 befinden kann, wird durch einen Fahrauftrag 17 befohlen, der durch eine Steuervorrichtung 18 erzeugt werden kann. Die Steuervorrichtung 18 kann hierzu Aktionsdatensätze 19 erzeugen, welche jeweils einen Fahrauftrag 17 für ein jeweiliges FTF 16 vorgeben. In an sich bekannter Weise kann ein aktueller Systemzustand 20 des Montagesystems 10 durch Zustandsdaten 21 beschrieben sein, die in an sich bekannter Weise in dem Montagesystem 10 erfasst werden können.To transport or move the components 14 and/or the partially assembled workpieces 15, driverless transport vehicles (FTFs) 16 can be provided in the assembly system 10, which can travel between the warehouse 13 and/or the different assembly stations 11. These can be railless or rail-bound FTFs. A respective journey to transport a workpiece carrier, in which a component 14 and/or a partially assembled workpiece 15 can be located, is commanded by a travel order 17, which can be generated by a control device 18. For this purpose, the control device 18 can generate action data records 19, each of which specifies a travel order 17 for a respective FTF 16. In a manner known per se, a current system state 20 of the assembly system 10 can be described by state data 21, which can be recorded in the assembly system 10 in a manner known per se.

Das Steuern der FTF 16 durch die Steuervorrichtung 18 ermöglicht, dass ein Produktionsziel erreicht wird, das durch Produktionszieldaten 22 vorgegeben sein kann und eine Anzahl sowie eine Art der Produkte 12 beschreiben kann, die mittels des Montagesystems 10 erzeugt werden sollen. Hierbei kann die Steuervorrichtung 18 in Bezug auf einen Durchsatz 23 an Produkten 12 optimiert sein. Die Steuervorrichtung 18 kann hierzu eine Prozessoreinrichtung 24 aufweisen, durch welche ein selbstlernender Algorithmus 25 betrieben werden kann, welcher mittels einer Zuordnungsvorschrift oder Zuordnungsregel 26 die jeweiligen aktuellen Zustandsdaten 21 auf einen jeweiligen Aktionsdatensatz 19 abbildet, um in aufeinanderfolgenden Zeitschritten die FTF 16 zu steuern. Die Zuordnungsregel 26 kann als künstliches neuronales Netz realisiert sein. Um hierbei als Optimierungsziel den Durchsatz 23 zu optimieren, kann ein Lernprozess in dem selbstlernenden Algorithmus 25 durchgeführt werden, also eine Trainingsphase vorgeschaltet sein. Für diese Trainingsphase im Lernprozess können zusätzlich zu den Zustandsdaten 21 und den Aktionsdatensatz 19 jeweils der jeweils Fortschritt des Produktionsprozesses, wie er sich für jeden Fahrauftrag 17 einzeln ergibt, durch einen jeweiligen Belohnungsdatensatz 27 beschrieben werden.Controlling the AGV 16 by the control device 18 enables a production target to be achieved, which can be specified by production target data 22 and can describe a number and a type of products 12 that are to be produced by the assembly system 10. The control device 18 can be optimized with respect to a throughput 23 of products 12. For this purpose, the control device 18 can have a processor device 24 by which a self-learning algorithm 25 can be operated, which maps the respective current status data 21 to a respective action data set 19 by means of an assignment specification or assignment rule 26 in order to control the AGV 16 in successive time steps. The assignment rule 26 can be implemented as an artificial neural network. In order to optimize the throughput 23 as an optimization goal, a learning process can be carried out in the self-learning algorithm 25, i.e. a training phase can be carried out beforehand. For this training phase in the learning process, in addition to the state data 21 and the action data set 19, the respective progress of the production process, as it results for each driving order 17 individually, can be described by a respective reward data set 27.

2 veranschaulicht den Lernprozess 28 im Detail. Dargestellt ist ein Lernschritt 29, den der selbstlernende Algorithmus 25 für die Zuordnungsregel 26 für einen Zeitschritt von der Zeit t nach t+1 ausführen kann (wobei „+1“ für eine vorgegebene Zeitdauer, z.B. 13 s stehen kann). Aus dem Montagesystem 10 können die Zustandsdaten 21 für den Systemzustand St und der daraus aufgrund der letzten Aktion At oder Fahraufgabe resultierende Belohnungsdatensatz 27 der Belohnung Rt+1 bereitgestellt werden. In einer initialen Lernphase kann dies im Rahmen einer Simulation erfolgen, sodass zusätzlich zu dem Montagesystem, das in der Simulation durch ein entsprechendes Modell 30 nachgebildet sein kann, zumindest eine weitere Instanz oder Simulationsumgebung auf Basis des Modells 30 betrieben werden kann. Somit ergeben sich pro Zeitschritt mehrere Systemzustände St und entsprechende Belohnungsdatensätze 27 mit einem jeweiligen Wert für eine Belohnung Rt+1. Für den Lernschritt 29 kann zusätzlich zu den beschriebenen Daten des aktuellen Zeitschritts t pro betriebenem oder simuliertem Montagesystem 10 auch eine Trajektorie 31 vorgesehen sein, in welcher die Daten aus mehreren Zeitschritten t, t-1, t-2, t-3,... zusammengefasst sein können (z.B. der letzten 4 bis 10 Zeitschritte). 2 illustrates the learning process 28 in detail. Shown is a learning step 29 which the self-learning algorithm 25 can carry out for the assignment rule 26 for a time step from time t to t+1 (where “+1” can stand for a predetermined period of time, e.g. 13 s). The state data 21 for the system state St and the resulting reward data set 27 of the reward R t+1 based on the last action At or driving task can be provided from the assembly system 10. In an initial learning phase, this can be done as part of a simulation, so that in addition to the assembly system, which can be simulated in the simulation by a corresponding model 30, at least one further instance or simulation environment can be operated on the basis of the model 30. This results in several system states St and corresponding reward data sets 27 with a respective value for a reward R t+1 per time step. For the learning step 29, in addition to the described data of the current time step t per operated or simulated assembly system 10, a trajectory 31 can also be provided in which the data from several time steps t, t-1, t-2, t-3,... can be summarized (e.g. the last 4 to 10 time steps).

Sodann kann der Lernschritt 29 durchgeführt werden, was auf Basis eines Reinforcement-Learning durchgeführt werden kann. Insbesondere kann das beschrieben PPO angewendet werden. Die adaptierte oder veränderte Zuordnungsregel 26 kann dann weiter mit der Steuerung der FTF 16 fortfahren, wodurch sich wieder neue Daten für die nächste Trajektorie 31 ergeben.The learning step 29 can then be carried out, which can be carried out on the basis of reinforcement learning. In particular, the described PPO can be applied. The adapted or modified assignment rule 26 can then continue to control the AGV 16, which again results in new data for the next trajectory 31.

3 veranschaulicht den Lernschritt 29. Dargestellt ist, wie die Zuordnungsregel 26 als neuronales Netz 33 in an sich bekannter Weise mit einer Schichtstruktur oder Layer-Struktur aus Schichten/Layern 34 künstlicher Neuronen 35 gebildet sein kann (mit Input-Schicht 37 und Output-Schicht 38). Der Übersichtlichkeit halber sind nur einige der künstlichen Neuronen 35 mit einem Bezugszeichen versehen. Die Neuronen 35 können miteinander durch Gewichtungen 36 in an sich bekannter Weise verknüpft sein. Die Anzahl der Schichten 34 und/oder die Anzahl der Neuronen 35 pro Schicht 34 können durch Metaparameter 39 festgelegt werden, die wiederum in Abhängigkeit von einer Ausstattung des Montagesystems 10 gewählt sein können. Durch das Reinforcement-Learning 32 können die Gewichtungen 36 durch die beschriebene Bewertung des Fortschritts derart angepasst werden, dass sich die Zuordnungsregel 26 hin zu dem Optimierungsziel des gesteigerten Durchsatzes 23 (siehe 1) verändert wird. 3 illustrates the learning step 29. It is shown how the assignment rule 26 can be formed as a neural network 33 in a manner known per se with a layer structure or layer structure made up of layers 34 of artificial neurons 35 (with input layer 37 and output layer 38). For the sake of clarity, only some of the artificial neurons 35 are provided with a reference symbol. The neurons 35 can be linked to one another by weightings 36 in a manner known per se. The number of layers 34 and/or the number of neurons 35 per layer 34 can be determined by metaparameters 39, which in turn can be selected depending on the equipment of the assembly system 10. By The reinforcement learning 32 allows the weightings 36 to be adjusted by the described evaluation of the progress in such a way that the assignment rule 26 moves towards the optimization goal of increased throughput 23 (see 1 ) is changed.

Die in dem jeweiligen Tupel (St, At, Rt) enthaltenen Zustandsdaten 21 des Systemzustands St haben im zugehörigen Zeitschritt t jeweils zu einem Aktionsdatensatz 19 für eine Aktion At geführt, woraus jeweils ein Belohnungsdatensatz 27 der Belohnung Rt folgte (und entsprechend für t-1, t-2, t-3,...). Nun kann aus den Belohnungsdatensätzen 27 ein Mittelwert 27` der einzelnen Fortschrittswerte berechnet werden, der als Fehler oder Feedback in dem Reinforcement-Learning 32 verwendet werden kann, um in an sich bekannter Weise eine Back-Propagation oder Fehlerpropagation durch das neuronale Netz 33 der Zuordnungsregel 26 durchzuführen. Dies kann auch für die Belohnungsdatensätzen 27 aus mehreren Trajektorien 31 erfolgen.The state data 21 of the system state St contained in the respective tuple (St, At, Rt) have led to an action data set 19 for an action At in the associated time step t, from which a reward data set 27 of the reward Rt followed (and correspondingly for t-1, t-2, t-3,...). Now, an average value 27` of the individual progress values can be calculated from the reward data sets 27, which can be used as error or feedback in the reinforcement learning 32 in order to carry out a back propagation or error propagation through the neural network 33 of the assignment rule 26 in a manner known per se. This can also be done for the reward data sets 27 from several trajectories 31.

Daraus ergibt sich ein Verfahren als generalisierbare Steuerungslösung, in dem die Steuervorrichtung 18 mittels Reinforcement-Learning einen Agenten mit einer Zuordnungsregel 26 implementiert. Dieser Agent lernt, ohne vorher zu wissen, wie gute Steuerentscheidungen in einem gegebenen Montagesystem oder Produktionssystem aussehen, indem das Steuern des Produktionssystems durch Trial-and-Error und darauf basierenden Erfahrungen (Bewertungen / Reward Rt). Dieser Lernprozess ist in 2 veranschaulicht.This results in a method as a generalizable control solution in which the control device 18 implements an agent with an assignment rule 26 by means of reinforcement learning. This agent learns, without knowing beforehand what good control decisions look like in a given assembly system or production system, by controlling the production system through trial and error and experiences based on this (evaluations / reward Rt). This learning process is in 2 illustrated.

Das Reinforcement-Learning-Prinzip wird hier derart angewendet, dass die Aufgabe des Lernens darin besteht, nach dem Trial-and-Error-Prinzip eine geeignete Zuordnungsregel 26 zu finden, welche den Durchsatz 23 optimiert. Als „Agent“ wird hierbei das lernende Computerprogramm bezeichnet. Dieser Agent ist der Entscheidungsträger, der mit seiner Umgebung, hier dem zumindest einen Montagesystem 10, interagiert und für diese Umgebung Entscheidungen trifft. Die Umgebung ist alles außerhalb des Agenten und damit alles, worüber der Agent keine absolute Kontrolle hat. Die Umgebung wird durch eine Reihe von Variablen repräsentiert, die mit dem zu lösenden Problem zusammenhängen. Dieser Satz von Variablen und alle möglichen Werte, die sie annehmen können, werden als Zustandsraum bezeichnet. Ein Zustand (State) St in einem Zeitschritt ist eine Instanziierung des Zustandsraums, ein Satz von Werten, die die Variablen zum aktuellen Zeitpunkt annehmen. In jedem Zustand verfügt der Agent über einen Satz von Aktionen (Actions) At, aus denen er wählen kann. Durch diese Aktionen beeinflusst der Agent die Umgebung. Als Reaktion auf die Aktion des Agenten ändert sich der State oder Zustand des Montagesystems zu St+1. Die Umgebung liefert auch ein Belohnungssignal (Reward) Rt+1 an den Agenten, welches die Güte der Aktion und damit der Entscheidung des Agenten repräsentiert. Die Wechselwirkungen zwischen den Agenten und der Umgebung dauern mehrere Zyklen lang an. Jeder Zyklus wird als Zeitschritt t bezeichnet. Bei jedem Zeitschritt beobachtet der Agent wie beschrieben die Umgebung, ergreift eine Aktion und erhält einen Reward. So sammelt der Agent Erfahrungen, welche ihm die Möglichkeit bieten, zu lernen und die Leistung zu verbessern.The reinforcement learning principle is applied here in such a way that the task of learning consists in finding a suitable allocation rule 26 according to the trial-and-error principle, which optimizes the throughput 23. The learning computer program is referred to as the "agent" here. This agent is the decision maker who interacts with its environment, here the at least one assembly system 10, and makes decisions for this environment. The environment is everything outside the agent and therefore everything over which the agent does not have absolute control. The environment is represented by a series of variables that are related to the problem to be solved. This set of variables and all possible values that they can assume are referred to as the state space. A state St in a time step is an instantiation of the state space, a set of values that the variables assume at the current point in time. In each state, the agent has a set of actions At from which it can choose. Through these actions, the agent influences the environment. In response to the agent's action, the state of the assembly system changes to S t+1 . The environment also provides a reward signal R t+1 to the agent, which represents the quality of the action and thus the agent's decision. The interactions between the agents and the environment last for several cycles. Each cycle is called a time step t. At each time step, the agent observes the environment as described, takes an action and receives a reward. In this way, the agent gains experience that gives it the opportunity to learn and improve performance.

Generalisierbarkeit: Dieses Prinzip kann angewendet werden, um einen Cornel-Algorithmus zu implementieren, der die Fähigkeit besitzt, die Steuerung modularer Montagesysteme zu lernen. Damit reduziert sich der wesentliche Implementierungsaufwand auf ein einzelnes Mal, wobei für neu zu steuernde oder geänderte modulare Montagesysteme lediglich übergreifende Parameter (Hyperparameter 36) neu angepasst werden müssen und einiges an Implementierungsaufwand im Vergleich zu anderen Steuerungslösungen erspart bleibt.Generalizability: This principle can be applied to implement a Cornel algorithm that has the ability to learn the control of modular assembly systems. This reduces the essential implementation effort to a single time, whereby only general parameters (hyperparameter 36) have to be readjusted for newly controlled or modified modular assembly systems and a lot of implementation effort is saved compared to other control solutions.

Umgang mit Komplexität: Mit der Komplexität der modularen Montagesysteme wird durch ein tiefes neuronales Netz umgegangen (Deep Neuronal Network). Dieses speichert durch Trial-and-Error gemachte Erfahrungen und lernt auf Basis dieser Erfahrungen.Dealing with complexity: The complexity of the modular assembly systems is dealt with by a deep neural network. This stores experiences gained through trial and error and learns on the basis of these experiences.

Zur Umsetzung der Idee braucht es die Implementierung eines Reinforcement Learning Agenten, der auf Basis eines ihm zur Verfügung gestellten Modells des modularen Montagesystems (Umgebung), der damit zusammenhängenden State Representation (Zustandsrepräsentation) und des entsprechenden Reward-Systems lernen kann, wie optimale Entscheidungen in dem gegebenen Produktionssystem/Montagesystem je nach Systemzustand zutreffend sind. Als Entscheidungen kommen eine vordefinierte Anzahl von Aktionen infrage (Beispiel: Fahrzeug 1, fahre zu Station B). Insgesamt wird beispielsweise die Produktionsspanne (Dauer der Abarbeitung aller Produktionsaufträge) minimiert.

  1. 1. Modell: Das Modell des modularen Montagesystems kann beispielsweise in Tecnomatix Plant Simulation® oder einer anderen Simulationsumgebung erstellt werden. Es dient als Umgebung für den Agenten und sendet die entsprechenden Aktionsanfragen, die der Agent beantworten muss und aus denen er lernt.
  2. 2. State: Der Zustand/State St, der bei einer Aktionsanfrage von der Umgebung zur Verfügung gestellt wird, ist eine Liste von Elementen, beispielsweise dargestellt als: S t = [ 0 10 0311 1320 ]
    Figure DE102020127407B4_0001
To implement the idea, a reinforcement learning agent needs to be implemented that can learn, based on a model of the modular assembly system (environment), the associated state representation and the corresponding reward system, how optimal decisions are to be made in the given production system/assembly system depending on the system state. A predefined number of actions can be considered as decisions (example: vehicle 1, drive to station B). Overall, for example, the production span (duration of processing all production orders) is minimized.
  1. 1. Model: The model of the modular assembly system can be created, for example, in Tecnomatix Plant Simulation® or another simulation environment. It serves as the environment for the agent and sends the corresponding action requests that the agent must answer and from which it learns.
  2. 2. State: The state/State St provided by the environment in response to an action request is a list of elements, for example represented as: S t = [ 0 10 0311 1320 ]
    Figure DE102020127407B4_0001

Der State St kann so codiert sein, dass der aktuelle Produktionszustand vollständig abgebildet ist. Beispielsweise könnte das erste Bit bedeuten, dass bisher 0 Aufträge abgearbeitet wurden. Die folgenden zwei Bits könnten die Position eines FTF abbilden, indem eine 1 hinterlegt ist, wenn sich das FTF auf dieser Position befindet. Die folgenden beiden Vierer-Bit-Pakete stellen beispielsweise zwei unterschiedliche Aufträge im System dar und beinhalten die Informationen des Produkttypen (Art), der Abarbeitungshistorie und der aktuellen Position des Auftrags im System.

  1. 3. Aktion At: Als Aktion stehen alle in der Umgebung möglichen Aktionen der FTF zur Verfügung. Beispielsweise die Aktion: „FTF 1, fahre zu Station B“. Dadurch werden die Produktionssteuerungsentscheidungen getroffen.
  2. 4. Reward Rt: Auf Basis der gewählten Aktionen bekommt der Agent einen Reward von der Umgebung zurück, den er zum Lernen nutzt. Er sammelt positive wie negative Rewards für Erfahrungen. Eine Belohnung bekommt er beispielsweise, wenn er die ganze Produktion abschließt (zum Beispiel Tagesprogramm eines Produktionstages). Außerdem wird als Reward die Zeit der Durchführung der gewählten Aktion als Maluswert zurückgegeben. So können Durchlaufzeiten minimiert werden.
The State St can be coded in such a way that the current production status is fully represented. For example, the first bit could mean that 0 orders have been processed so far. The following two bits could represent the position of an AGV by storing a 1 if the AGV is in this position. The following two four-bit packets, for example, represent two different orders in the system and contain information about the product type (kind), the processing history and the current position of the order in the system.
  1. 3. Action A t : All actions possible for the AGV in the environment are available as an action. For example, the action: “AGV 1, drive to station B”. This is how the production control decisions are made.
  2. 4. Reward R t : Based on the selected actions, the agent receives a reward from the environment, which it uses to learn. It collects positive and negative rewards for experiences. For example, it receives a reward when it completes the entire production (for example, the daily program for a production day). In addition, the time taken to carry out the selected action is returned as a penalty value. In this way, throughput times can be minimized.

Erfahrungen: Als Deep Reinforcement Learning Methode wird bevorzugt Proximal-Policy Optimization (PPO) angewendet. Bei PPO werden die gesammelten Erfahrungen in einem neuronalen Netz (NN) gespeichert, was in 3 dargestellt ist. Die eingetretenen Auswirkungen der Abarbeitung eines jeweiligen Fahrauftrags auf den Systemzustand des modularen Montagesystems und/oder den Montagefortschritt werden nachfolgend automatisch bewertet und zusammen mit der Bewertung einem iterativen Lernprozess des selbstlernenden Algorithmus zur Verfügung gestellt werden und dessen Optimierungskriterien durch diesen Lernprozess kontinuierlich angepasst werden.Experience: Proximal Policy Optimization (PPO) is the preferred deep reinforcement learning method. In PPO, the collected experiences are stored in a neural network (NN), which in 3 The effects of the processing of a respective travel order on the system state of the modular assembly system and/or the assembly progress are then automatically evaluated and, together with the evaluation, made available to an iterative learning process of the self-learning algorithm, whose optimization criteria are continuously adapted through this learning process.

In die Input-Schicht 37 wird dazu die Zustandsrepräsentation (Zustandsdaten) eingespeist. Die Output- beziehungsweise Softmax-Schicht 38 repräsentiert die potentiellen Aktionen im Produktionssystem/Montagesystem. Die Verbindungen zwischen den Neuronen oder Knoten sind die Gewichte des neuronalen Netzes, welche gelernt und aktualisiert werden durch Erfahrungen. So wird für einen definierten Input/Zustand nach und nach gelernt, was die beste Aktion für diesen Zustand ist.The state representation (state data) is fed into the input layer 37. The output or softmax layer 38 represents the potential actions in the production system/assembly system. The connections between the neurons or nodes are the weights of the neural network, which are learned and updated through experience. In this way, for a defined input/state, the best action for this state is gradually learned.

Übertragung in die Realität: Ist die Steuerung simulativ angelernt, kann sie in die Realität übertragen werden. Dort kann sie nach dem gleichen Prinzip weiterlernen und sich so der Realität noch näher angleichen. Voraussetzung, um diese Überführung zu schaffen, ist insbesondere, dass oben verwendete Simulationsmodell so realitätsnah wie möglich zu gestalten.Transfer to reality: If the control system has been trained using simulation, it can be transferred to reality. There it can continue to learn according to the same principle and thus become even more similar to reality. The prerequisite for achieving this transfer is, in particular, to make the simulation model used above as realistic as possible.

Insgesamt ergibt sich somit ein Verfahren zum Lernen der Steuerung mittels Deep-Reinforcement-Learning.Overall, this results in a method for learning the control using deep reinforcement learning.

In dem Simulationsmodell wird bevorzugt zunächst ein reales Produktionssystem/Montagesystem nachgebildet (je nach Anwendungsfall). Es wird ein Reinforcement-Learning-Agent konfiguriert, der mittels der Hyperparameter des Agenten gestaltet ist. Der resultierende Steuerungsagent, das heißt dessen Zuordnungsregel, wird dann in die Realität übertragen oder dort eingesetzt.In the simulation model, a real production system/assembly system is preferably first simulated (depending on the application). A reinforcement learning agent is configured, which is designed using the agent's hyperparameters. The resulting control agent, i.e. its assignment rule, is then transferred to reality or used there.

Als Vorteile ergeben sich eine gesamtheitliche Optimierung des Montagesystems, eine generalisierbare Lösung, durch welche sich Flexibilität bei der Übertragung auf andere Montagesysteme ergibt, sowie eine Zeitersparnis durch Anwendung auf die verschiedenen Montagesysteme, was eine Kostenersparnis zur Folge hat (sowohl bei sogenannten Greenfield- als auch bei Brownfield-Anwendungen).The advantages are a holistic optimization of the assembly system, a generalizable solution, which provides flexibility in transferring to other assembly systems, as well as time savings through application to the various assembly systems, which results in cost savings (both in so-called greenfield and brownfield applications).

Insgesamt zeigen die Beispiele, wie eine generalisierbare Steuerung modularer Montagesysteme mittels Deep-Reinforcement-Learning (DRL) bereitgestellt werden kann.Overall, the examples show how generalizable control of modular assembly systems can be provided using deep reinforcement learning (DRL).

Claims (13)

Verfahren zur Erzeugung wenigstens eines Fahrauftrags (17) für wenigstens ein fahrerloses Transportfahrzeug, FTF (16), eines modularen Montagesystems (10), wobei das wenigstens eine FTF (16) dafür vorgesehen ist, Werkstücke (14, 15) entsprechend dem jeweiligen Fahrauftrag (17) aus einem Lager (13) und/oder zwischen verschiedenen Montagestationen (11) zu verbringen, umfassend folgende Schritte: - Bereitstellen von Produktionszieldaten (22), welche als Produktionsziel wenigstens Art und Anzahl von mittels des modularen Montagesystems (10) in einem in die Zukunft reichenden Zeitraum zu montierenden Werkstücken (14, 15) beschreiben, in aufeinanderfolgenden Zeitschritten (t) jeweils: - Bereitstellen von Zustandsdaten (21), welche jeweils einen aktuellen Systemzustand (St) des modularen Montagesystems (10) beschreiben, - Erzeugung des wenigstens einen Fahrauftrags (17) für das wenigstens eine FTF (16) unter Berücksichtigung der Produktionszieldaten und der Zustandsdaten (21), wobei die Erzeugung des wenigstens einen Fahrauftrags (17) mittels eines selbstlernenden Algorithmus (25) erfolgt, welcher die jeweils aktuellen Zustandsdaten (21) mittels einer Zuordnungsregel (26) auf Aktionsdatensätze (19) abbildet, von denen jeder einen der Fahraufträge (17) als durchzuführende Aktion (At) beschreibt, wobei die Zuordnungsregel dem aktuellen Systemzustand des Montagesystems die Aktion für den nächsten Zeitschritt zuordnet und durch die Aktion in Form eines Fahrauftrags an ein FTF eine Veränderung des Systemzustands des Montagesystems bewirkt wird, wobei durch einen Lernprozess (28) die Zuordnungsregel (26) anhand von Belohnungsdatensätzen (27) angepasst wird, die jeweils einen Fortschritt (Rt) beschreiben, der beim Erreichen des Produktionsziels durch den jeweiligen Fahrauftrag (17) erzielt wurde, dadurch gekennzeichnet, dass in dem Lernprozess (28) die Zuordnungsregel (26) iterativ in aufeinanderfolgenden Lernschritten (29) angepasst wird und für den jeweiligen Lernschritt (29) jeweils mehrere Belohnungsdatensätze (27), die den jeweiligen Fortschritt (Rt) aus mehreren Fahraufträgen (17) beschreiben, zusammengefasst werden und die Zuordnungsregel (26) in dem Lernschritt (29) auf der Grundlage der mehreren Belohnungsdatensätze (27) angepasst wird, zur Erkennung einer Steuerstrategie, die sich zum Erzielen des Fortschrittes über mehrere Fahraufträge hinweg erstreckt, wenn bei dieser Steuerstrategie zwischendurch nur geringfügige Fortschritte oder sogar negative Fortschritte in Kauf genommen werden müssen und/oder um den Lernprozess robust gegen den Einfluss von Fehlentscheidungen zu machen und/oder um eine Optimierung auf die fertiggestellten Produkte pro Zeiteinheit zu erreichen.Method for generating at least one travel order (17) for at least one driverless transport vehicle, FTF (16), of a modular assembly system (10), wherein the at least one FTF (16) is intended to transport workpieces (14, 15) from a warehouse (13) and/or between different assembly stations (11) in accordance with the respective travel order (17), comprising the following steps: - providing production target data (22) which, as a production target, describe at least the type and number of workpieces (14, 15) to be assembled by means of the modular assembly system (10) in a period extending into the future, in successive time steps (t) respectively: - providing status data (21) which each describe a current system status (St) of the modular assembly system (10), - generating the at least one travel order (17) for the at least one FTF (16) taking into account the production target data and the status data (21), wherein the generation of the at least one travel order (17) is carried out by means of a self-learning Algorithm (25) which assigns the current status data (21) to action data sets by means of an assignment rule (26) (19), each of which describes one of the travel orders (17) as an action (At) to be carried out, wherein the assignment rule assigns the action for the next time step to the current system state of the assembly system and the action in the form of a travel order to an AGV causes a change in the system state of the assembly system, wherein a learning process (28) is used to adapt the assignment rule (26) on the basis of reward data sets (27), each of which describes a progress (Rt) that was achieved in reaching the production target by the respective travel order (17), characterized in that in the learning process (28) the assignment rule (26) is adapted iteratively in successive learning steps (29) and for the respective learning step (29) a plurality of reward data sets (27) describing the respective progress (Rt) from a plurality of travel orders (17) are combined and the assignment rule (26) is adapted in the learning step (29) on the basis of the plurality of reward data sets (27), in order to recognize a Control strategy that extends over several driving orders to achieve progress, if this control strategy requires only minor progress or even negative progress to be accepted in between and/or to make the learning process robust against the influence of incorrect decisions and/or to achieve an optimization of the finished products per unit of time. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein mathematisches Modell (30) des modularen Montagesystems (10) betrieben wird, anhand dessen Simulationsdaten für einen initialen Lernprozess (28) des selbstlernenden Algorithmus (25) erzeugt und verwendet werden, indem das Montagesystem (10) als Simulation betrieben wird.Procedure according to Claim 1 , characterized in that a mathematical model (30) of the modular assembly system (10) is operated, on the basis of which simulation data are generated and used for an initial learning process (28) of the self-learning algorithm (25) by operating the assembly system (10) as a simulation. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für den jeweiligen Lernschritt (29) Belohnungsdatensätze (27) aus parallel betriebenen, gleichen Montagesystemen (10) ermittelt werden, in denen jeweils pro Lernschritt (29) zumindest ein Fahrauftrag (17) durchgeführt wird.Method according to one of the preceding claims, characterized in that for the respective learning step (29) reward data sets (27) are determined from parallel operated, identical assembly systems (10), in which at least one driving order (17) is carried out per learning step (29). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für den jeweiligen Lernschritt (29) in demselben Montagesystem (10) mehrere Fahraufträge nacheinander erzeugt werden und jeweils ein Tupel gebildet wird, das jeweils die aktuellen Zustandsdaten (21), den daraus gebildetem Aktionsdatensatz (19) des Fahrauftrags (17) und den resultierenden Belohnungsdatensatz (27) angibt, und die Reihe der Tupel als eine Trajektorie (31) dem Lernprozess (28) übergeben wird.Method according to one of the preceding claims, characterized in that for the respective learning step (29) in the same assembly system (10) several driving orders are generated one after the other and a tuple is formed in each case, which indicates the current state data (21), the action data set (19) of the driving order (17) formed therefrom and the resulting reward data set (27), and the series of tuples is transferred to the learning process (28) as a trajectory (31). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für den jeweiligen Lernschritt (29) ein Mittelwert (27`) zumindest einiger der Belohnungsdatensätze (27) berechnet wird, die sich für die Fahraufträge ergeben, die dem Lernschritt (29) zugrunde liegen.Method according to one of the preceding claims, characterized in that for the respective learning step (29) a mean value (27`) of at least some of the reward data sets (27) is calculated which result for the driving orders on which the learning step (29) is based. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der selbstlernende Algorithmus (25) mittels zumindest eines Reinforcement-Learning, insbesondere mittels einer Proximal-Policy-Optimierung, PPO, realisiert wird.Method according to one of the preceding claims, characterized in that the self-learning algorithm (25) is realized by means of at least one reinforcement learning, in particular by means of a proximal policy optimization, PPO. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der selbstlernende Algorithmus (25) mittels einer Kullback-Leibler-Randbedingung in Bezug auf seine Lernrate begrenzt wird.Method according to one of the preceding claims, characterized in that the self-learning algorithm (25) is limited in terms of its learning rate by means of a Kullback-Leibler boundary condition. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass pro Lernschritt (29) die Zuordnungsregel (26) durch wiederholtes Verwenden der aktuellen Belohnungsdatensätze (27) mehrfach nacheinander angepasst wird.Method according to one of the preceding claims, characterized in that for each learning step (29) the assignment rule (26) is adapted several times in succession by repeatedly using the current reward data sets (27). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der jeweilige Fahrauftrag (17) durch Auswählen aus einer vorgegebenen Menge endlich vieler möglicher Fahraufträge (17) ermittelt wird.Method according to one of the preceding claims, characterized in that the respective driving order (17) is determined by selecting from a predetermined set of a finite number of possible driving orders (17). Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass in dem Montagesystem (10) für einen gleichen Fertigungsschritt mehrere Montagestationen (11) bereitgestellt werden und mittels der Zuordnungsregel (26) ein FTF (16) an diejenige Montagestation (11) mit der aktuell geringsten Wartezeit und/oder unabhängig von der Wartezeit an diejenige Montagestation (11), für welche sich eine Durchsatzmaximierung ergibt, gesteuert wird.Method according to one of the preceding claims, characterized in that several assembly stations (11) are provided in the assembly system (10) for a same production step and by means of the allocation rule (26) an AGV (16) is controlled to the assembly station (11) with the currently shortest waiting time and/or, independently of the waiting time, to the assembly station (11) for which a throughput maximization results. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass zum Erzeugen der Belohnungsdatensätze (27) jeweils ein Belohnungswert ermittelt wird, der einen vorbestimmten Maluswert für einen jeweiligen vergangenen Zeitschritt (t) und/oder einen vorbestimmten Bonuswert für die Fertigstellung eines Werkstücks (14, 15) und/oder einen vorbestimmten Maluswert für eine vorbestimmte, revidierungsbedürftige Aktion vorsieht.Method according to one of the preceding claims, characterized in that for generating the reward data sets (27) a reward value is determined which provides a predetermined penalty value for a respective past time step (t) and/or a predetermined bonus value for the completion of a workpiece (14, 15) and/or a predetermined penalty value for a predetermined action requiring revision. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass zumindest ein Metaparameter (39) des selbstlernenden Algorithmus (25) in Abhängigkeit von zumindest einem Kennwert des Montagesystems (10), insbesondere einer Anzahl der Montagestationen (11), eingestellt wird.Method according to one of the preceding claims, characterized in that at least one metaparameter (39) of the self-learning Algorithm (25) is set depending on at least one characteristic value of the assembly system (10), in particular a number of assembly stations (11). Steuervorrichtung (18) für wenigstens ein fahrerloses Transportfahrzeug, FTF (16), eines modularen Montagesystems (10), wobei die Steuervorrichtung (18) eine Prozessorschaltung aufweist, die dazu eingerichtet ist, ein Verfahren nach einem der vorhergehenden Ansprüche durchzuführen.Control device (18) for at least one driverless transport vehicle, FTF (16), of a modular assembly system (10), wherein the control device (18) has a processor circuit which is configured to carry out a method according to one of the preceding claims.
DE102020127407.6A 2020-10-19 2020-10-19 Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system Active DE102020127407B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020127407.6A DE102020127407B4 (en) 2020-10-19 2020-10-19 Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020127407.6A DE102020127407B4 (en) 2020-10-19 2020-10-19 Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system

Publications (2)

Publication Number Publication Date
DE102020127407A1 DE102020127407A1 (en) 2022-04-21
DE102020127407B4 true DE102020127407B4 (en) 2024-04-25

Family

ID=80929570

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020127407.6A Active DE102020127407B4 (en) 2020-10-19 2020-10-19 Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system

Country Status (1)

Country Link
DE (1) DE102020127407B4 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019228848A1 (en) 2018-05-31 2019-12-05 Vivacity Labs Limited Traffic management system
EP3696744A1 (en) 2019-02-13 2020-08-19 Robert Bosch GmbH Safeguarding resources of physical entites in a shared environment
DE202020104238U1 (en) 2020-07-23 2020-08-20 Albert-Ludwigs-Universität Freiburg, Körperschaft des öffentlichen Rechts Device for learning a strategy and operating the strategy
DE102019107462A1 (en) 2019-03-22 2020-09-24 Ssi Schäfer Automation Gmbh System and method for the automated checking of the functional status of components of a transport network in an intralogistics system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019228848A1 (en) 2018-05-31 2019-12-05 Vivacity Labs Limited Traffic management system
EP3696744A1 (en) 2019-02-13 2020-08-19 Robert Bosch GmbH Safeguarding resources of physical entites in a shared environment
DE102019107462A1 (en) 2019-03-22 2020-09-24 Ssi Schäfer Automation Gmbh System and method for the automated checking of the functional status of components of a transport network in an intralogistics system
DE202020104238U1 (en) 2020-07-23 2020-08-20 Albert-Ludwigs-Universität Freiburg, Körperschaft des öffentlichen Rechts Device for learning a strategy and operating the strategy

Also Published As

Publication number Publication date
DE102020127407A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
DE102016014264B4 (en) Machine learning device, sheet metal package maker, sheet metal package making system and machine learning method for learning to stack package sheets
DE102017223717B4 (en) Method for operating a robot in a multi-agent system, robot and multi-agent system
DE4440859C2 (en) Method and device for controlling an autonomously exploring robot
WO1993012475A1 (en) Process for optimising control parameters for a system having an actual behaviour depending on the control parameters
DE102020202350A1 (en) Method and device for supporting maneuver planning for an automated driving vehicle or a robot
DE102017102749A1 (en) Automatic trajectory generation for controlling a drive system
DE4001493A1 (en) Automatic control of vehicle motion - using ultrasonic object sensor providing input to learning process for vehicle control
EP3646279A1 (en) Production planning method
WO2022188929A1 (en) Method for controlling transportation vehicles, and transportation system
DE102020127407B4 (en) Method and control device for generating at least one driving order for at least one driverless transport vehicle, FTF, of a modular assembly system
DE102020107623A1 (en) COMPUTER-IMPLEMENTED PROCESS FOR CREATING CONTROL DATA SETS, CAD-CAM SYSTEM AND PRODUCTION PLANT
EP4108056A1 (en) Method for planning and controlling a logistical process chain in the agricultural industry
DE102018205418A1 (en) Putting together a team of humans and robots
DE102020210465A1 (en) Method and device for supporting maneuver planning for an at least partially automated vehicle or a robot
EP3961329A1 (en) Control unit and method for controlling transport of a plurality of workpieces in a modular assembly system using a genetic algorithm; mounting system
DE102017201949A1 (en) System for controlling at least one operating means for producing and / or assembling workpieces
DE3609925C2 (en)
DE102022112606B3 (en) Computer-implemented method for calibrating a technical system
DE102020104267A1 (en) Computer-implemented control or follow-up control method or optimization method for safeguarding control algorithms of a control and / or control algorithms
DE112019007691T5 (en) SYSTEM FOR PLANNING ROBOT ACTIONS, ROBOT SYSTEM, ROBOT TASK VERIFICATION SYSTEM AND METHOD FOR PLANNING ROBOT ACTIONS
DE102019128101A1 (en) Manufacturing control system
DE102022118901B3 (en) Control device for controlling a dynamic, moving system
DE102021101354A1 (en) Modular assembly system and method for operating the modular assembly system
WO2022063537A1 (en) Method and device for supporting maneuver planning for a vehicle driving with at least partial automation or for a robot
EP4424476A1 (en) Method for optimising the control of a device by means of the combination of a learning method with milp, computer program for carrying out the method and corresponding device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division