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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000009471 action Effects 0.000 claims abstract description 46
- 238000004519 manufacturing process Methods 0.000 claims abstract description 43
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000005457 optimization Methods 0.000 claims abstract description 15
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000011217 control strategy Methods 0.000 claims abstract description 7
- 238000004088 simulation Methods 0.000 claims description 19
- 230000002787 reinforcement Effects 0.000 claims description 15
- 238000013178 mathematical model Methods 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 241000220225 Malus Species 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001136792 Alle Species 0.000 description 1
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation 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
Die
Die
Die
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,
- - 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.
- - 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,
- - 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.
-
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.
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
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
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
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
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
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
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. 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. 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:
- 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. State: The state/State St provided by the environment in response to an action request is a list of elements, for example represented as:
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.
- 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. - 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.
- 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. - 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
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)
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)
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 |
-
2020
- 2020-10-19 DE DE102020127407.6A patent/DE102020127407B4/en active Active
Patent Citations (4)
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 |