-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren zum Bestimmen optimierter Arbeitsabläufe für eine mobile Arbeitsmaschine, insbesondere für eine Bau-, Forst- oder Landwirtschaftsmaschine. Das Verfahren kann beispielsweise auf Arbeitsaufgaben wie das Ausheben einer Baugrube, das Durchführen eines Erntevorgangs, eine Holzentnahme, eine Bodenbearbeitung und vieles mehr angewandt werden.
-
Technischer Hintergrund
-
Die Welt der mobilen Arbeitsmaschinen ist geprägt von wiederkehrenden Arbeitsaufgaben. Erfahrene Bediener sind in der Lage, bestimmte Arbeitsvorgänge schneller und effektiver durchzuführen. Neben den Fähigkeiten der Bedienung trägt übergeordnet auch die Kompetenz zur Grobplanung der Arbeitsaufgabe zum Erfolg bei. Zwar können dabei - etwa für das Ausheben einer Baugrube - Richtwerte und Schätzungen helfen, eine Abschätzung über den Arbeitsaufwand zu erzielen. Allerdings basieren diese Schätzungen auf vereinfachten Annahmen, gelten nur für Standardfälle und sind in der Regel für heutige Ansprüche an das Ergebnis und die Effizienz eines Arbeitsablaufs nicht ausreichend.
-
Andererseits ist aus dem Bereich der Produktentwicklung mobiler Arbeitsmaschinen ein Ansatz bekannt, Information über mögliche Nutzererfahrungen bei der Bedienung einer Arbeitsmaschine aus sogenannter „Gamification“ zu gewinnen, wie beispielsweise von Suraj Jaiswal et al. in „Gamification Procedure Based on Real-Time Multibody Simulation“ in the International Review on Modelling and Simulations (I.RE.MO.S.), Vol. 11, N. 5 (2018) offenbart. In der genannten Veröffentlichung wird ein virtuelles Baggermodell mit variierbaren Produktparametern - spezifisch den Größen eines hydraulischen Zylinders und einer Baggerschaufel - zur Simulation einer Arbeitsaufgabe in einer virtuellen Realität genutzt und einer Vielzahl von Spielern zur Lösung in einer Game-Engine bereitgestellt. Unterschiedliche Lösungen und Eindrücke der Spieler werden anschließend analysiert und die jeweiligen Lösungswege als Ganzes quantitativ bewertet und verglichen, um einem Produktentwicklerteam bei der Wahl eines verbesserten Produktparametersatzes helfen zu können.
-
In einer Game-Engine ist ein Nutzer somit in der Lage, Aufgabenstellungen für mobile Arbeitsmaschinen, wie zum Beispiel das Ausheben einer Baugrube, digital umzusetzen. Allerdings fehlen ihm in der virtuellen Realität der Game-Engine - wie in der realen Welt auch - in der Regel weiterhin die nötigen Kenntnisse und Erfahrungen für eine bestmögliche Umsetzung des Problems.
-
Unter Gamification wird dabei generell die Verwendung von Video- und Computerspielen und Spielmechanik in Nicht-Game-Kontexten verstanden, um Benutzer zur Problemlösung zu bewegen. Innerhalb kürzester Zeit hat beispielsweise das Computerspiel Landwirtschafts-Simulator 19 (von GIANTS-Software bzw. astragon Entertainment, mit einigen eingetragenen Marken aus der gleichen Reihe) eine Spieleranzahl im Millionenbereich erreicht. Hinzu kommt, dass die demographische Verteilung der Spieler in der Regel sehr ausgeglichen ist und auch Experten, wie zum Beispiel Landwirte und Entscheidungsträger innerhalb der Landwirtschaftsbranche, unter den Spielern sind. Weiterhin ist der Landwirtschafts-Simulator auch in der eSports-Szene mit Preisgeldern in sechsstelliger Höhe angekommen. Maschinenhersteller bieten in der Regel nahezu alle ihrer Maschinen als Downloadcontent an. Auf diese Weise sind in der Realität eingesetzte Maschinen in der Gaming-Umgebung verfügbar.
-
Neben dem Landwirtschafts-Simulator sind auch weitere Simulationsspiele, beispielsweise eine Bau-Simulator-Reihe, von GlANTS-Software/astragon Entertainment bekannt. Andere Anbieter haben ebenfalls Simulationen zum Bereich Bau- oder Forstmaschinen im Angebot, wie z. B. UIG Entertainment. Darüber hinaus existieren zahlreiche Grafik- und Simulations-Engines für physikalisch basiertes Rendering. Weiterhin ist das Verhalten von Grabungen für verschiedene Bodenarten in Modellen ausreichend beschrieben, beispielsweise von Lam, S. Y. et al. (2012), „A new apparatus for modelling excavations“ in the International Journal of Physical Modelling in Geotechnics 12.1, pp. 24-38. Im Allgemeinen sind Simulationen eine bewährte Technik für eine Planung von Baustellenlayouts und eine Optimierung von Ressourcen mobiler Arbeitsmaschinen, wie beispielsweise von Pradhananga, N. and J. Teizer (2015) in „Cell-based construction site simulation model for earthmoving operations using real-time equipment location data“ in Visualization in Engineering 3.1, p. 12 offenbart.
-
Ferner ist unabhängig vom obigen Kontext ein sogenanntes Reinforcement Learning (oder bestärkendes Lernen) als ein Bereich der Domäne des maschinellen Lernens bekannt, bei dem ein Agent selbstständig eine Handlungsstrategie erlernt, um erhaltene Belohnungen zu maximieren. Dabei führt ein Agent Aktionen oder Handlungen in einer Umgebung aus, deren Folgen als Belohnung und als Repräsentation des Status interpretiert (Belohnung oder Strafe) und an den Agenten zurückgegeben werden, vgl. beispielsweise Kaelbling, L. P., M. L. Littman, and A. W. Moore (1996), „Reinforcement learning: A survey“ in the Journal of Artificial Intelligence Research 4, pp. 237-285. Virtuelle Umgebungen wie sie zum Beispiel von Beattie, C. et al. (2016) in „Deepmind lab“ in: arXiv preprint arXiv:1612.03801 zur Verfügung gestellt werden, bieten in diesem Zusammenhang die Möglichkeit, einen wahrnehmungsnahen und physischen Realismus mit der Geschwindigkeit und Flexibilität von Software zu kombinieren.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind ein Verfahren zum Bestimmen optimierter Arbeitsabläufe für eine mobile Arbeitsmaschine gemäß Anspruch 1 sowie eine zur Ausführung des Verfahrens eingerichtete Steuerungseinheit, ein entsprechendes Computerprogramm und ein maschinenlesbares Speichermedium, auf dem es gespeichert ist, gemäß den nebengeordneten Ansprüchen vorgesehen.
-
Weitere Ausführungsformen sind in den abhängigen Ansprüchen angegeben. Alle in den Ansprüchen und der Beschreibung für das Verfahren genannten weiterführenden Merkmale und Wirkungen gelten auch in Bezug auf das Computerprogramm und die Steuerungseinheit, wie auch umgekehrt.
-
Gemäß einem ersten Aspekt ist ein computer-implementiertes Verfahren zum Bereitstellen eines Ablaufmodells zur Verwendung zur Steuerung einer mobilen Arbeitsmaschine, insbesondere für eine Bau-, Forst- oder Landwirtschaftsmaschine, vorgesehen, umfassend die Schritte:
- - Bereitstellen einer Gaming-Aufgabe, die einer von der mobilen Arbeitsmaschine in einem vorgegebenen Systemzustand auszuführenden realen Arbeitsaufgabe entspricht, an einen oder mehrere Benutzer zum Lösen in einer Game-Engine, die die Arbeitsmaschine und deren physische Interaktion mit ihrer Arbeitsumgebung in einer virtuellen Realität simuliert;
- - Erfassen einer Vielzahl von Arbeitsabläufen als eine oder mehrere aufeinander folgende Aktionen bei jeweils einem bestimmten Systemzustand, die von dem einen oder den mehreren Benutzern als Lösungen der Gaming-Aufgabe generiert werden, in der Game-Engine;
- - Jeweiliges Bewerten der erfassten Arbeitsabläufe durch mindestens eine Bewertungsgröße, die mithilfe einer vorgegebenen Zielfunktion insbesondere zur Bewertung einer Zielerreichung durch den betreffenden Arbeitsablauf ermittelt wird,
- - Bereitstellen des Ablaufmodells abhängig von den erfassten Arbeitsabläufen und den jeweils zugeordneten mindestens einen Bewertungsgrößen, wobei das Ablaufmodell für die Gaming-Aufgabe mithilfe Reinforcement Learning trainiert wird, um abhängig von einem Systemzustand der Arbeitsmaschine einen Arbeitsablauf bereitzustellen.
-
Weiterhin können die Bewertungsgrößen (Rewards) von Effizienzkriterien insbesondere mindestens einer der Größen: Zeit-, Ressourcenverbrauch und Trajektorienlänge abhängen, und insbesondere mithilfe einer vorgegebenen Zielfunktion bestimmt werden.
-
Des Weiteren wird dabei ein Verfahren zum Steuern einer mobilen Arbeitsmaschine vorgesehen, das folgende Schritte umfasst:
- - Detektieren eines aktuellen Systemzustands der mobilen Arbeitsmaschine;
- - Generieren eines Arbeitsablaufs mithilfe eines datenbasierten Ablaufmodells, das trainiert ist, um einen Systemzustand einer Aktion oder einer Aktionsfolge zuzuordnen, und insbesondere wie beschrieben generiert und bereitgestellt werden kann, und
- - Betreiben der Arbeitsmaschine unter Verwendung des generierten Arbeitsablaufs.
-
Dabei kann die Game-Engine insbesondere einen als Server dienenden Zentral-Computer und mehrere damit informationstechnisch verbundene Endgeräte, insbesondere Spielekonsolen oder Personal-Computer, umfassen, wobei der Server zum Simulieren der realen mobilen Arbeitsmaschine und deren physischer Interaktion mit ihrer Arbeitsumgebung ausgebildet ist und die Endgeräte zum Darstellen der Simulation für die Spieler in Form eines Computerspiels ausgebildet sind. Eine Game-Engine ist ein spezielles Framework insbesondere für Computerspiele, das eine visuelle Darstellung einer virtuellen Umgebung umfasst und eine Simulation und Darstellung von Objekten in der virtuellen Umgebung, insbesondere unter Berücksichtigung von physikalischen Beziehungen und Naturgesetzen ermöglicht.
-
Insbesondere kann der oben genannte Systemzustand als ein physischer Zustand der Arbeitsmaschine in deren Arbeitsumgebung definiert sein und/oder jeder Arbeitsablauf durch eine Folge von Zuständen und Aktionen definiert sein.
-
Mit anderen Worten kann das hierin dargelegte Verfahren somit zum Bestimmen optimierter Arbeitsabläufe für eine mobile Arbeitsmaschine, insbesondere für eine Bau-, Forst-, Landwirtschafts- oder beliebige andere Maschine, dienen und dabei beispielsweise folgende Schritte umfassen:
- - Bereitstellen einer Gaming-Aufgabe (Gesamtziel), die einer von der mobilen Arbeitsmaschine auszuführenden realen Arbeitsaufgabe entspricht, einer Gaming-Community zum Lösen in einer Game-Engine, die die Arbeitsmaschine und deren physische Interaktion mit ihrer Arbeitsumgebung in einer virtuellen Umgebung, d. h. in virtueller Realität, simuliert; wobei die Gaming-Community insbesondere von menschlichen Spielern gebildet sein kann, alternativ oder zusätzlich aber grundsätzlich auch geeignete Roboter als Spieler umfassen könnte;
- - Erfassen einzelner Arbeitsabläufe, die von der Gaming-Community als Lösungen der Gaming-Aufgabe mit einem vorgegebenen Aufgabenziel (Als Beispiel des zu erreichenden Gesamtziels kann beispielsweise für das Ausheben einer Grube mit einem Bagger vorbestimmt sein, dass die vorgegebene Grube komplett ausgehoben sein muss und der Bagger sich nicht mehr in der Grube befinden darf.) generiert werden. „Schlechte“ Durchläufe sind dabei durchaus auch hilfreich und können oder müssen in die Statistik eingehen. Da der „expected Return“ (vgl. nachfolgend beschriebene Bewertung) für diese jedoch im Vergleich zu besseren Durchläufen klein ist, werden die entsprechenden Aktionen aber bei der Bestimmung eines optimalen Arbeitsablaufs vermieden.);
- - Bewerten der erfassten Arbeitsabläufe durch geeignete Belohnungen oder Rewards (hierin nachfolgend auch „expected Returns“ bzw. Erwartungswerte genannt), die von einem oder mehreren geeigneten Erfolgs- oder Effizienzkriterien (wie beispielsweise, jedoch nicht beschränkend, Zeitverbrauch, Ressourcenverbrauch und/oder Trajektorienlänge) abhängen, wobei jeder Arbeitsablauf in eine Folge von Zuständen mit auf die jeweiligen Zustände folgenden Aktionen (d. h. Arbeitsschritten, die von einem Zustand zu einem anderen führen) zerlegt und für jede Aktion eine Bewertungsgröße bestimmt wird. (Prinzipiell kann hierzu beispielsweise eine „physikalische“ Zielfunktion vorgegeben sein, mit der man die erfassten Arbeitsabläufe auch direkt bewerten könnte. Diese muss aber in geeignete Rewards übersetzt werden, die für das nachfolgend beschriebene maschinelle Lernen benötigt werden.) Eine Bewertung kann für jede Aktion stattfindet, die dann zur - für den Benutzer z.B. auch als Spielstandsanzeige - kumuliert wird und am Ende der Aufgabe die Gesamtbewertung ergibt.
- - Ermitteln oder Generieren eines optimierten Arbeitsablaufs durch ein datenbasiertes Ablaufmodell, insbesondere durch Reinforcement Learning, indem ausgehend von den wie oben beschrieben erhaltenen Kombinationen von Zuständen, Aktionen und zugehörigen quantitativen Werten eine Nutzenfunktion ermittelt und/oder approximiert wird, die quantitative Werte für eine insbesondere erweiterte Anzahl oder Menge möglicher Zustände und Aktionen der Arbeitsmaschine beschreibt, und anhand der maschinell ein optimierter Arbeitsablauf als eine im Allgemeinen neue Zustand- Aktions-Folge ermittelt bzw. generiert wird, die auf einen möglichst hohen quantitativen Gesamtwert hin optimiert ist; und
- - Übertragen der Daten des auf diese Weise optimierten Arbeitsablaufs in geeigneter Form an die mobile Arbeitsmaschine, beispielsweise als Trajektorien- oder Systemparameter, und Betreiben der Arbeitsmaschine unter Verwendung dieser Daten.
-
Bereits im Gaming-Durchlauf können die Rewards eine Rolle spielen. Der Spieler bekommt über den Spielstand (Score) den kumulierten Reward mitgeteilt. Damit wird sichergestellt, dass die Spieler durch Optimierung des Scores Lösungen ermitteln, die auch den Anforderungen an Verbrauch, Trajektorienlänge usw. entsprechen. Andernfalls erhält man zwar Lösungen aber nicht notwendigerweise besonders attraktive. Die Spieler versuchen also nicht nur das Ziel zu erreichen, sondern auch den Score zu optimieren, wobei ein Maß zur Erreichung des Gesamtziels ein wesentlicher Teil des Scores darstellt.
-
Eine Idee des vorliegenden Verfahrens besteht darin, über die Kombination von maschinellem Lernen (Machine Learning, insbesondere Reinforcement Learning) mithilfe eines datenbasierten Ablaufmodells, Community-basierter Simulation und Game-Engines optimierte Arbeitsabläufe für mobile Arbeitsmaschinen zu generieren. Die einzelnen Community-Ergebnisse, d. h. Arbeitsabläufe, die von den Spielern als Lösungen der Gaming-Aufgabe erzielt werden, können dabei als Monte-Carlo-Simulationsläufe interpretiert und zu einer numerischen Bestimmung eines optimierten Arbeitsablaufs genutzt werden. Die Monte-Carlo-Simulationsläufe entsprechen dabei zufälligen bewertbaren Arbeitsabläufen, die zu insbesondere mehreren Bewertungsgrößen, vorzugsweise für alle möglichen Systemzustand-Aktions-Kombinationen ausgewertet werden können.
-
Das Reinforcement Learning ist eine an sich bekannte Methodik des Maschinellen Lernens, bei der die vorstehend beschriebene Bewertung auch als positive oder negative „Belohnung“ (im Englischen als reward bezeichnet) erachtet wird.
-
Hierzu wird jeder abgeschlossene Arbeitsablauf (Aktions-Trajektorie), die der eine oder die mehreren Benutzer (z.B. einer Gaming-Community) als Lösung der gestellten Gaming-Aufgabe liefert, in eine Folge von durchlaufenen Zuständen zerlegt. Ein jeweiliger Zustand kann beispielsweise die Arbeitsmaschine in einem bestimmten Betriebszustand und in einer bestimmten geometrischen Position relativ zu dem zu bearbeitenden Objekt in dessen bestimmtem Bearbeitungszustand bezeichnen. Jeder Aktion, die einem Systemzustand folgt, kann nun eine Bewertungsgröße zugeschrieben werden, der sich zu einer Bewertung des Arbeitsablaufs eignet und als ein Expected Return (Erwartungswert) definiert sein kann. Es gibt beispielsweise folgende zwei Möglichkeiten zur Definition der Expected-Return-Werte:
- - Value Function (die vom jeweiligen Zustand abhängt);
- - Quality Function (die vom Systemzustand und der darauf folgenden Aktion abhängt).
-
Der Wert, der erfasst wird, stellt in beiden Fällen den Erwartungswert der (gewichteten) Summe aller zu erwartenden Belohnungen ausgehend vom gegebenen Zustand bzw. gegebenen Zustand + Aktion bis zum Trajektorienende, d.h. zum gewünschten Abschluss der realen Arbeitsaufgabe dar.
-
Hierzu kann für jeden Zustand beispielsweise ein Gesamtreturn (d. h. Summe aller Belohnungen, die hierin auch Bewertungsgrößen oder Rewards genannt werden) bestimmt werden, der sich nach diesem Zustand bis zum Trajektorienende ergab (vgl. beispielsweise Sutton, Barto: Reinforcement Learning, 2018, p. 55). Weiter in der Zukunft liegende Rewards werden dabei mit der sogenannten „discount rate“ niedriger gewichtet, die unmittelbare Belohnung zählt am meisten. Das wird nun für viele gangbare Trajektorien gemacht, und die jeweiligen Bewertungen werden gespeichert. Man kann dabei beispielsweise zwei Dinge speichern: Die einzelnen Gesamtreturns aller Durchgänge/Trajektorien ausgehend von einem bestimmten Zustand (+ bestimmter Aktion) oder nur die Summe der Gesamtreturns und die Anzahl der eingeflossenen Gesamtreturns, damit man später z. B. im Reinforcement Learning den Erwartungswert weiter updaten kann. Daraus lässt sich maschinell die beste (mit dem höchsten Gesamtreturn-Wert) Abfolge von Zuständen vom Ausgangszustand oder von jedem beliebigen Zwischenzustand aus bis zum Endzustand bestimmen. Es ergibt sich also eine neue optimale Trajektorie, die an die mobile Arbeitsmaschine übertragen und bei deren Betrieb eingesetzt wird.
-
Mit anderen Worten kann ein Kern der Erfindung als eine Kombination einer Game-Engine und dem Monte-Carlo-Ansatz zur optimierten Ermittlung von zielführenden Zustandsbehandlungen im Bereich simulierter Arbeitsabläufe mobiler Arbeitsmaschinen bezeichnet werden. Einen Agenten im Rahmen des Reinforcement Learning dahingehend zu trainieren, einen Score, den die menschlichen Spieler erreichen konnten, zu übertreffen und seine Punktzahl/Score im Videospiel zu maximieren, kann zur Erkenntnis verbesserter Optimierung in verschiedenen Prozessen in einer Vielzahl unterschiedlicher Anwendungsfelder im Bereich mobiler Arbeitsmaschinen führen. Ausgehend von einer Bewertung der Community-Lösungen durch Rewards, beispielsweise anhand einer geeigneten Zielfunktion, kann der Agent vorliegend eine Strategie zur Maximierung der Punktzahl im Spiel - oder der Belohnung - entwickeln, d. h. eine Nutzenfunktion ermitteln und/oder approximieren. Dafür wird Systemparametern, die sich auf den Zustand der Umgebung und die ausgeführten Aktionen beziehen, eine positive oder negative Belohnung (Bewertungsgröße) gemäß der Zielfunktion zugewiesen, die aus den Aktionen/Handlungen des Agenten resultiert.
-
Durch den Einsatz der beiden Techniken
- - Game-Engines und
- - Community-based Learning in einer simulierten Software-Umgebung (Monte-Carlo-Simulationen)
kann das hierin vorgestellte Verfahren den Nutzern insbesondere für individuelle Fragestellungen im Bereich mobiler Arbeitsmaschinen optimale Arbeitsabläufe liefern. Neben dem Ausheben einer Baugrube zählen auch Arbeitsaufgaben wie Ernte, Holzentnahme oder Bodenbearbeitung und vieles mehr zu möglichen Anwendungen.
-
Der auf diese Weise optimierte Arbeitsablauf kann in Form geeigneter Trajektorien- und Systemdaten bzw. -Parameter an die reale mobile Arbeitsmaschine übertragen und je nach deren Automatisierungsgrad beispielsweise direkt zu ihrer Ansteuerung oder Regelung im Rahmen eines zumindest teilweise automatisierten Ausführens der Arbeitsaufgabe eingesetzt werden, etwa zu einer Spurführung und/oder zur Regelung einer Drehzahl und/oder einer Trajektorie. Alternativ oder zusätzlich kann der optimierte Arbeitsablauf auch auf einer Anzeigeeinrichtung der Arbeitsmaschine für deren Bediener vor und/oder während der Ausführung der Arbeitsaufgabe angezeigt werden, beispielsweise über Augmented Reality im Rahmen einer Guided-Assistant-Funktion visualisiert werden.
-
Der oben genannte jeweilige Zustand eines Arbeitsablaufs kann unter anderem durch eine Geoposition der mobilen Arbeitsmaschine und/oder deren Ort und/oder Ausrichtung in Bezug auf einen zu bearbeitenden Untergrund oder in Bezug auf ein zu bearbeitendes Objekt definiert sein. Alternativ oder zusätzlich kann ein Zustand auch eine ein- oder mehrdimensionale Lage- oder Bewegungsgeometrie mindestens eines an der Ausführung der Arbeitsaufgabe beteiligten Werkzeugs der Arbeitsmaschine bzw. eines Tool-Center-Points beschreiben. Die Verknüpfung zwischen Simulation (In-Game) und Realität kann dabei insbesondere über die Nutzung geeigneter Sensorik an der mobilen Arbeitsmaschine implementiert sein. Hierzu kann die Arbeitsmaschine einen oder mehrere Sensoren, wie z. B. optische Kameras, LiDAR-, RADAR-, Ultraschallsensoren und/oder weitere Bewegungs- und Betriebszustandssensoren, sowie eine zugehörige Auswerteeinheit umfassen, wobei die Sensoren und die Auswerteeinheit zur Erkennung eines jeweiligen Zustands der Arbeitsmaschine bei der Ausführung der Arbeitsaufgabe ausgebildet und eingerichtet sind.
-
Insbesondere kann das Generieren eines optimierten Arbeitsablaufs durch das datenbasierte Ablaufmodell unter Benutzung dieser Sensorik der Arbeitsmaschine zumindest teilweise während der Ausführung der realen Arbeitsaufgabe durch die mobile Arbeitsmaschine durchgeführt und/oder angepasst und/oder aktualisiert werden, d. h. in Abhängigkeit von deren jeweils erkanntem aktuellem Zustand.
-
Bei einer spezifischen Ausgestaltung basiert die Simulation der mobilen Arbeitsmaschine und deren physischer Interaktion mit ihrer Arbeitsumgebung in der Game-Engine und/oder beim maschinellen Lernen auf realen Messdaten, beispielsweise auf realen Messparametern eines digitalen Oberflächenmodells, auf Satellitenbilddaten, Vermessungsdaten, pedo- und/oder geologischen Daten. Die genannten realen Messdaten können der Game-Engine und/oder einer Steuerungseinheit, in der das datenbasierte Ablaufmodell implementiert ist, zu diesem Zweck zumindest teilweise automatisiert zugeführt werden. Die heutige Datenverfügbarkeit kann es dem Nutzer der Game-Engine auf diese Weise ermöglichen, die virtualisierte Arbeitsmaschine in einer fotorealistischen und physikalisch korrekten Welt zu bewegen und zu manövrieren. Alternativ kann die virtualisierte Arbeitsaufgabe aber auch abstrahiert formuliert werden.
-
Als mögliche Anwendungen kann die von der mobilen Arbeitsmaschine auszuführende reale Arbeitsaufgabe rein beispielhaft und nicht beschränkend das Ausheben einer Baugrube, das Durchführen eines landwirtschaftlichen Vorgangs, etwa eines Erntevorgangs, eine Holzentnahme von gelagertem Holz, eine Bodenbearbeitung oder eine vergleichbare landwirtschaftliche, forstwirtschaftliche oder Bauaufgabe umfassen.
-
Insbesondere können beim beschriebenen Verfahren die Kriterien zur Bewertung der von dem einen oder den mehreren Benutzern erzielten Arbeitsabläufe, wie beispielsweise die Definition des Gesamtziels und/oder der Rewards, vor, während oder nach einem der genannten Verfahrensschritte variiert werden. Die Variierung kann auf Wunsch des Benutzers manuell ermöglicht sein und/oder als zumindest teilweise automatisiert in Abhängigkeit von geeigneten Bedingungen implementiert sein. Dadurch kann die Bestimmung eines optimierten Arbeitsablaufs an die Gegebenheiten eines konkreten Anwendungsfalls und an individuelle Anforderungen eines Benutzers der mobilen Arbeitsmaschine flexibel anpassbar sein. Alternativ oder zusätzlich können bei der Bereitstellung der Gaming-Aufgabe für den einen oder die mehreren Benutzer vorbestimmte Incentives, beispielsweise Wettbewerbs- oder Preisgeldausschreibungen, eingesetzt werden, wobei die Incentives auf eine Motivationssteigerung der Spieler bei der Suche nach möglichst vielen gangbaren und/oder nach möglichst effizienten Lösungen ausgerichtet sein können.
-
Gemäß einem weiteren Aspekt ist eine Steuerungseinheit vorgesehen, die einen Prozessor umfasst, der dazu eingerichtet ist, zumindest einige Schritte des Verfahrens der hierin dargelegten Art, insbesondere das maschinelle Generieren eines optimierten Arbeitsablaufs, grundsätzlich aber auch das Bewerten der von dem einen oder den mehreren Benutzern erzielten Lösungen und/oder weitere Verfahrensschritte wie hierin beschrieben, auszuführen.
-
Gemäß einem weiteren Aspekt ist ein Computerprogramm vorgesehen, das Befehle umfasst, die bei der Ausführung des Computerprogramms in einer Steuerungseinheit oder einem Computer diese/diesen veranlassen, zumindest einige Schritte des Verfahrens der hierin dargelegten Art, insbesondere das maschinelle Generieren eines optimierten Arbeitsablaufs, grundsätzlich aber auch das Bewerten der von dem einen oder den mehreren Benutzern erzielten Lösungen und/oder weitere Verfahrensschritte wie hierin beschrieben, auszuführen. Gemäß einem weiteren Aspekt ist ein maschinenlesbares Speichermedium vorgesehen, auf dem ein solches Computerprogramm gespeichert ist.
-
Zusammenfassend dient das hierin vorgestellte Verfahren der Ermittlung optimierter Arbeitsabläufe für das Aufgabenspektrum mobiler Arbeitsmaschinen durch den Einsatz eines Community-based Learning in einer simulierten Software-Umgebung. Reale Arbeitsaufgaben werden über die Verwendung von Game-Engines in Kombination mit einer physikalisch basierten Realität in die Softwareumgebung überführt. Im Folgenden kann die Ermittlung des optimalen Arbeitsablaufs für eine bestimmte Fragestellung über die Pfade Reinforcement Learning in Kombination mit Community-based Learning erfolgen.
-
Hierzu wird die Fragestellung der Arbeitsmaschine virtualisiert. Im Folgenden wird diese Aufgabe dann dem einen oder den mehreren Benutzern zur Verfügung gestellt und gelöst. Hier können die Kriterien zur Bewertung variiert werden. Eine Motivationssteigerung kann durch Incentives erzielt werden. Dazu zählen beispielsweise Wettbewerbe und Bestenlisten (e-Sports) oder Direktzahlungen für erfolgreichen Abschluss der Aufgabe.
-
Trajektorien und Systemparameter der Arbeitsmaschine werden nach der hierin beschriebenen Optimierung in geeigneter Form an die Maschine übertragen. Je nach Automatisierungsgrad der Maschine können das direkte Vorgaben für deren Regelung, virtualisierte Applikationen oder Spurführungen sein.
-
Figurenliste
-
Die obigen Aspekte und deren Ausführungsformen und spezifische Ausgestaltungen werden nachfolgend anhand der in der beigefügten Zeichnung dargestellten Beispiels näher erläutert. Es zeigt:
- 1 ein schematisches Blockdiagramm möglicher Systemkomponenten zur Durchführung eines Verfahrens der hierin dargelegten Art zum Bestimmen optimierter Arbeitsabläufe für eine mobile Arbeitsmaschine; und
- 2 ein Flussdiagramm eines Beispiels für ein Verfahren der hierin dargelegten Art zum Bestimmen optimierter Arbeitsabläufe für eine mobile Arbeitsmaschine.
-
Beschreibung von Ausführungsformen
-
Alle weiter oben in der Beschreibung und in den nachfolgenden Ansprüchen erwähnten verschiedenen Ausführungsformen, Varianten und spezifischen Ausgestaltungsmerkmale des Verfahrens gemäß dem obigen ersten Aspekt sowie des entsprechenden Computerprogramms, der Steuerungseinheit und des maschinenlesbaren Speichermediums gemäß den obigen weiteren Aspekten können sinngemäß bei dem in den Figuren gezeigten Beispiel einzeln oder in oben erwähnten Kombinationen implementiert sein. Sie werden daher nachfolgend nicht alle nochmals wiederholt. Das Gleiche gilt entsprechend für die weiter oben bereits angegebenen Begriffsdefinitionen und Wirkungen in Bezug auf einzelne Merkmale, die in 1 oder 2 gezeigt sind.
-
1 zeigt in einem schematischen Blockdiagramm mögliche Systemkomponenten zur Durchführung des Verfahrens gemäß dem obigen ersten Aspekt. Das System umfasst dabei eine schematisch angedeutete Game-Engine 2, die beispielsweise einen Server und mehrere damit verbundene Computer oder Spielekonsolen umfasst und zum Simulieren einer rechts in 1 gezeigten realen mobilen Arbeitsmaschine 1 und deren physischer Interaktion mit ihrer Arbeitsumgebung, in diesem Beispiel eines Baggers und einer zu grabenden Erdgrube, in einer virtuellen Realität 1' ausgebildet ist. Die Game-Engine 2 ist eingerichtet, um einem oder mehreren Benutzern 4, insbesondere einer Gaming-Community aus mehreren Spielern, eine Gaming-Aufgabe, die einer von der mobilen Arbeitsmaschine 1 auszuführenden realen Arbeitsaufgabe entspricht, zum Lösen in der Game-Engine 2 zu stellen.
-
Ferner umfasst das System eine Steuerungseinheit 3, die zum Erfassen einzelner Arbeitsabläufe, die von dem einen oder den mehreren Benutzern 4 als Lösungen generiert werden, und zum Bewerten der erfassten Arbeitsabläufe durch geeignete Rewards (Bewertungsgrößen), die von Effizienzkriterien wie beispielsweise Zeit-, Ressourcenverbrauch und/oder Trajektorienlänge abhängen, eingerichtet ist. Beim genannten Bewerten wird jeder Arbeitsablauf in eine Folge von Systemzuständen der mobilen Arbeitsmaschine 1, wie Geoposition, Geschwindigkeit, Bewegungsrichtung, Stellungen von Stellgebern und dergleichen, mit auf die jeweiligen Systemzustände folgenden Handlungen (Aktionen, wie. z.B. eine Bewegung des Arbeitsgeräts oder eines Stellgebers) zerlegt und für jede Aktion in jedem der Systemzustände eine Bewertungsgröße bestimmt.
-
Die Steuerungseinheit 3 ist ferner zum Generieren eines optimierten Arbeitsablaufs für die mobile Arbeitsmaschine 1 durch ein insbesondere datenbasiertes Ablaufmodell eingerichtet, wobei anhand der genannten Kombinationen von Systemzuständen, Aktionen und deren Bewertungsgrößen ein optimierter Arbeitsablauf maschinell als eine Zustand-Aktions-Folge generiert wird, die auf einen möglichst hohen Gesamtwert der Bewertungsgrößen hin optimiert ist. Die Steuerungseinheit 3 ist ferner dazu eingerichtet, den auf diese Weise, insbesondere durch Reinforcement Learning, bestimmten optimierten Arbeitsablauf an die reale mobile Arbeitsmaschine 1 zu übertragen, sodass diese beispielswiese zumindest teilweise automatisiert unter Verwendung des optimierten Arbeitsablaufs betrieben wird.
-
2 zeigt in einem Flussdiagramm ein Beispiel eines Verfahrens der hierin dargelegten Art. Ein möglicher Verfahrensablauf zur Ermittlung eines optimierten Arbeitsablaufs für eine mobile Arbeitsmaschine, beispielsweise einen Bagger in einem System gemäß 1, gestaltet sich dabei wie folgt:
- Das Verfahren beginnt bei einem geeigneten Start-Signal, beispielsweise durch das Einschalten der Steuerungseinheit. Bei einem ersten Schritt S1 wird eine Gaming-Aufgabe, die einer von der mobilen Arbeitsmaschine auszuführenden realen Arbeitsaufgabe entspricht, einem oder mehreren Benutzern, insbesondere einer Gaming-Community, zum Lösen in einer Game-Engine bereitgestellt. Die Aufgabenstellung der Arbeitsaufgabe (z. B.: Grabung mit einem Raupenbagger und Tieflöffel) an die Community erfolgt in diesem Beispiel in Form einer In-Game Challenge (wahlweise mit Incentives). Die Umgebung, in der die Arbeitsaufgabe gelöst werden soll, kann abstrahiert werden oder mit vorhandenen digitalen Geodaten der Realität entsprechen.
-
Bei einem Schritt S2 löst die Community die Aufgabe und wird bei einem weiteren Schritt S3 in Form geeigneter Rewards, beispielsweise entsprechend einer vorbestimmten Zielfunktion, bewertet. Als Rewards bzw. Zielfunktion können Bewertungen nach Zeit, Trajektorien oder Verbrauch/Emissionen verwendet werden. Voraussetzung für die Berücksichtigung einer Community-Lösung beim Schritt S2 und S3 kann das Erreichen eines Gesamtziels sein (in diesem Beispiel: die Grube muss komplett ausgehoben sein und der Bagger darf sich nicht mehr in der Grube befinden). Alternativ kann eine Bewertung auch nach und für jede Aktion durchgeführt werden. Wie weiter oben erwähnt, werden dabei auch „schlechte“ Durchläufe berücksichtigt. Einzige Voraussetzung ist, dass die Episode bzw. Arbeitsaufgabe beendet wurde. Letzteres kann anwendungsspezifisch definiert sein.
-
Die genannte Bewertung beim Schritt S3 umfasst, wie weiter oben im Detail beschrieben, eine Zerlegung der einzelnen Community-Ergebnisse der kompletten Aufzeichnung aller In-Game-Aktivitäten des Schritts S2 in Zustände. Ein Zustand kann beispielsweise den Bagger stehend vor der zu grabenden Grube in einer bestimmten Geometrie bezeichnen. Die einzelnen Community-Ergebnisse stellen nun Monte-Carlo-Simulationsläufe dar. Jeder Aktion, die dem Zustand folgt, kann ein Erwartungswert (expected return), d. h. die weiter oben genannte Bewertungsgröße oder deren wie oben beschrieben über die jeweilige Trajektorie aufsummierter Gesamtwert, zugeschrieben werden.
-
Bei einem Schritt S4 werden die einzelnen Kombinationen von Zuständen und erfolgreichsten Aktionen genutzt, um ein Ablaufmodell zu erstellen und so den Transfer zur realen Arbeitsaufgabe zu realisieren. Dabei wird eine Nutzenfunktion bereitgestellt, die abhängig von den Bewertungsgrößen beschreibt, welchen Wert eine bestimmte Aktion hat (Reinforcement Learning). Eine Möglichkeit ist dabei, nur aus den Gaming-Daten die optimale Policy (Regelungsstrategie) herauszulesen, dies ist ein sogenanntes Policy-Improvement. Eine zweite Möglichkeit ist es, maschinell zusätzliche Durchläufe zu simulieren, um die Policy weiter zu optimieren, also die Gaming-Daten nur als Startpunkt zu verwenden.
-
Die Verknüpfung zwischen Simulation (In-Game) und Realität erfolgt über die Nutzung von Sensorik an der mobilen Arbeitsmaschine. Ein Zustand kann im simpelsten Fall über die Geoposition oder im komplexen Fall über die Lage- und Bewegungsgeometrie vom Tool Center Point bestimmt werden. Dafür können Sensoren, wie Kameras, LiDAR-, RADAR- oder Ultraschall-Sensoren verwendet werden, welche ein Maß für die Ähnlichkeit des realen und simulierten Zustands ermitteln.
-
Das trainierte Modell wird in der Realität mit Zuständen konfrontiert und ist in der Lage, den Zuständen zielführende Aktionen folgen zu lassen.
-
Die Umsetzung der zielführenden Aktionen gemäß einem durch die Schritte S1-S4 generierten optimierten Arbeitsablauf kann beim Betrieb der mobilen Arbeitsmaschine in einem Schritt S5 in Form von Guided-Assistant Funktionen (beispielsweise durch eine Visualisierung über Augmentated Reality) erfolgen oder direkt in die Arbeitsabläufe der Arbeitsmaschine (z.B.: Spurführung, Drehzahlregelung, Trajektorien) eingreifen. Mit einem geeigneten „Stopp“-Signal, beispielsweise durch das Ausschalten der Steuerungseinheit, wird das Verfahren beendet.