Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TRAINING SELF-LEARNING CONTROL ALGORITHMS FOR AUTONOMOUSLY MOVEABLE DEVICES AND AUTONOMOUSLY MOVEABLE DEVICE
Document Type and Number:
WIPO Patent Application WO/2019/215003
Kind Code:
A1
Abstract:
In a method according to the invention for training self-learning control algorithms (2) for autonomously moveable devices (4), according to the method, a virtual training space (6) is provided with a number of boundary conditions and, in a training run, at least two independently implemented and self-learning control algorithms (2) move a respective virtual agent (18) in the training space (6) to achieve a target objective at the same time. At the same time, there is a positive incentivisation and/or a negative incentivisation of at least one of the control algorithms (2) when the relevant control algorithm (2) achieves the target objective or does not achieve same and/or exceeds a boundary condition. At least the negative incentivisation of a control algorithm (2) is supplied to the at least one other control algorithm (2) in this case.

Inventors:
BERGER KARSTEN (DE)
Application Number:
PCT/EP2019/061220
Publication Date:
November 14, 2019
Filing Date:
May 02, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AUDI AG (DE)
International Classes:
G06Q50/30; G06Q10/08; G09B9/00
Domestic Patent References:
WO2012034169A12012-03-22
Foreign References:
DE102016109651A12016-12-29
US20130176146A12013-07-11
US20090327011A12009-12-31
US20180032082A12018-02-01
US20170140270A12017-05-18
Other References:
None
Download PDF:
Claims:
PATENTANSPRÜCHE:

Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen (2) für autonom bewegbare Vorrichtungen (4), wobei verfahrensgemäß

- ein virtueller Trainingsraum (6) mit einer Anzahl von Randbedingun- gen bereitgestellt wird,

- in einem Trainingsdurchlauf wenigstens zwei eigenständig imple- mentierte und selbstlernende Steuerungsalgorithmen (2) zur Erfül lung einer Zielvorgabe zur gleichen Zeit jeweils einen virtuellen Agenten (18) in dem Trainingsraum (6) bewegen,

- eine positive Incentivierung und/oder eine negative Incentivierung wenigstens eines der Steuerungsalgorithmen (2) bei Erfüllung der Zielvorgabe bzw. bei Nichterfüllung und/oder Überschreiten einer Randbedingung durch den jeweiligen Steuerungsalgorithmus (2) er folgt,

wobei zumindest die negative Incentivierung eines Steuerungsalgorith- mus (2) dem wenigstens einen anderen Steuerungsalgorithmus (2) zu- geführt wird.

Verfahren nach Anspruch 1 ,

wobei die positive Incentivierung eines Steuerungsalgorithmus (2) dem wenigstens einen anderen Steuerungsalgorithmus (2) zugeführt wird.

Verfahren nach Anspruch 1 oder 2,

wobei jedem Steuerungsalgorithmus (2) eine Information über das zu der positiven bzw. negativen Incentivierung führende Verhalten des je- weils anderen Steuerungsalgorithmus (2) zugeführt wird.

Verfahren nach einem der Ansprüche 1 bis 3,

wobei die Zielvorgabe auf einen kollektiven Erfolg aller Steuerungsalgo- rithmen (2) gerichtet wird.

Verfahren nach einem der Ansprüche 1 bis 4 wobei die Zielvorgabe für jeden Steuerungsalgorithmus (2) zusätzlich auf eine individuelle Zielposition ausgerichtet wird.

6. Verfahren nach einem der Ansprüche 1 bis 5,

wobei die Zielvorgabe jedem Steuerungsalgorithmus (2) als individuelle

Zielvorgabe zugeführt wird.

7. Verfahren nach Anspruch 5 und 6,

wobei die Steuerungsalgorithmen (2) ihre individuellen Zielpositionen untereinander kommunizieren.

8. Verfahren nach einem der Ansprüche 1 bis 7,

wobei die Anzahl der Randbedingungen erhöht wird, wenn ein vorge- gebenes Kriterium erfüllt wird.

9. Verfahren nach einem der Ansprüche 1 bis 8,

wobei in einem Trainingsdurchlauf ein Agent (18) von Bedienpersonal durch den Trainingsraum (6) bewegt wird. 10. Autonom bewegbare Vorrichtung (4), insbesondere Kraftfahrzeug, mit einer Steuerungsvorrichtung (22), auf der ein nach dem Verfahren nach einem der Ansprüche 1 bis 9 trainierter Steuerungsalgorithmus (2) zur Durchführung eines autonomen Betriebsmodus installiert ist.

Description:
Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen für auto- nom bewegbare Vorrichtungen und autonom bewegbare Vorrichtung

BESCHREIBUNG:

Die Erfindung betrifft ein Verfahren zum Trainieren selbstlernender Steue- rungsalgorithmen für autonom bewegbare Vorrichtungen. Außerdem betrifft die Erfindung auch eine autonom bewegbare Vorrichtung, die in einem auto- nomen Betriebsmodus insbesondere mittels eines Steuerungsalgorithmus der vorstehenden Art bewegt wird.

Autonom betreibbare Vorrichtungen kommen und sollen zukünftig vermehrt zum Einsatz kommen, um beispielsweise einen Bediener der Vorrichtung zu ersetzen oder zumindest zeitweise entlasten zu können. Beispielsweise kann es sich bei einer solchen autonom betreibbare Vorrichtung um Fahrzeuge, beispielsweise Personen kraftwagen , Fluggeräte, Lastkraftwagen oder auch um Fertigungsroboter handeln. Um derartige Vorrichtungen möglichst flexibel autonom betreiben zu können, werden diese meist durch selbstlernende Al gorithmen („machine learning algorithms“) gesteuert. Diese Algorithmen wer- den dabei optional während einer Lern- oder Trainingsphase eingelernt („trainiert“), um in möglichst vielen unterschiedlichen Situationen zu er wünschten Ergebnissen zu gelangen, d. h. entsprechende, von dem Nutzer als korrekt eingeschätzte Entscheidungen zu treffen. In diesem Fall ist das „Lernen“ der Algorithmen vor der realen Inbetriebnahme der Vorrichtung meist abgeschlossen. Optional kommen aber auch Algorithmen zum Einsatz, die während des realen Betriebs (weiterhin) lernen.

Nachteilig ist dabei insbesondere, dass abhängig von der von den selbstler- nenden Algorithmen zu lösenden Aufgabe das Training, insbesondere die Zusammenstellung von Trainingsdaten vergleichsweise komplex werden kann, so dass dabei ein enormer Arbeitsaufwand anfallen kann.

Der Erfindung liegt die Aufgabe zugrunde, das Trainieren selbstlernender Steuerungsalgorithmen zu verbessern. Der Erfindung liegt außerdem die Aufgabe zugrunde, auf einfache Weise einen autonomen Betrieb einer auto- nom bewegbaren Vorrichtung zu ermöglichen.

Diese Aufgabe wird hinsichtlich des Trainierens selbstlernender Steuerungs- algorithmen erfindungsgemäß gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1. Hinsichtlich des autonomen Betriebs wird die Aufgabe er- findungsgemäß gelöst durch eine Vorrichtung mit den Merkmalen des An- spruchs 10. Weitere vorteilhafte und teils für sich erfinderische Ausführungs- formen und Weiterentwicklungen der Erfindung sind in den Unteransprüchen und der nachfolgenden Beschreibung dargelegt.

Das erfindungsgemäße Verfahren dient zum Trainieren selbstlernender Steuerungsalgorithmen für autonom bewegbare Vorrichtungen. Verfahrens- gemäß wird dabei zunächst ein virtueller Trainingsraum mit einer Anzahl von Randbedingungen bereitgestellt. In diesem Trainingsraum bewegen im Rahmen eines Trainingsdurchlaufs (d. h. während eines solchen Trainings- durchlaufs) zur gleichen Zeit wenigstens zwei eigenständig implementierte und selbstlernende Steuerungsalgorithmen zur Erfüllung einer Zielvorgabe jeweils einen virtuellen Agenten, der vorzugsweise eine autonom bewegbare Vorrichtung darstellt oder abbildet. Dabei erfolgt eine positive Incentivierung und/oder eine negative Incentivierung wenigstens eines der Steuerungsalgo- rithmen bei Erfüllung der Zielvorgabe bzw. bei Nichterfüllung und/oder bei Überschreiten einer Randbedingung durch den jeweiligen Steuerungsalgo- rithmus. Das heißt, dass dem entsprechenden Steuerungsalgorithmus eine Belohnung (die positive Incentivierung) oder eine Art„Bestrafung“ (die nega- tive Incentivierung) zugeführt wird. Zumindest die negative Incentivierung eines Steuerungsalgorithmus wird dabei dem wenigstens einen anderen Steuerungsalgorithmus (insbesondere ebenfalls) zugeführt. Als Steuerungsalgorithmus wird somit vorzugsweise jeweils ein zum bestär- kenden Lernen („reinforcement learning“) ausgebildeter Algorithmus heran- gezogen.

Unter dem Begriff„Trainingsraum“ wird hier und im Folgenden insbesondere eine virtuelle Umgebung verstanden, in der sich der jeweilige Agent bewegen kann. In diesem Trainingsraum können eine oder vorzugweise mehrere Randbedingungen abgebildet werden oder auf andere Weise vorgegeben sein. Bei dem Trainingsraum handelt es sich wenigstens um eine zweidi- mensionale Fläche, entlang derer sich der jeweilige Agent bewegen kann. Vorzugsweise handelt es sich bei dem Trainingsraum aber um einen dreidi- mensionalen Raum, um für den Trainingsdurchlauf eine möglichst realitäts nahe Umgebung (auch: Szenario) abbilden zu können. Unter dem Begriff „Randbedingung“ wird hier und im Folgenden insbesondere einerseits eine geometrische Gegebenheit der in dem Trainingsraum dargestellten Umge- bung und des dabei abgebildeten Szenarios verstanden, bspw. ein (sich ge- gebenenfalls selbsttätig bewegendes, ein hartes oder weiches) Hindernis, (für den Fall, dass der jeweilige Agent ein Kraftfahrzeug darstellt) einen be- fahrbaren Weg, Verkehrszeichen und dergleichen. In Abhängigkeit des ab- gebildeten Szenarios können sich manche Randbedingungen optional auch ändern, bspw. kann ein Hindernis temporär auftreten, eine Person sich in der Umgebung bewegen oder dergleichen. Andererseits wird unter dem Begriff „Randbedingung“ hier und im Folgenden insbesondere auch eine Verhaltens- regel für den jeweiligen Agenten verstanden. Beispielsweise wird im Rahmen einer Verhaltensregel vorgegeben, dass der Agent nicht von dem befahrba- ren Weg auf einen wegfreien Bereich der Umgebung abfahren darf, dass eine bestimmte Art von Hindernis nicht touchiert, einer anderen Art von Hin- dernis sich nur bis auf einen vorgegebenen Abstand angenähert werden darf und dergleichen.

Vorzugsweise ist der Trainingsraum außerdem derart gestaltet, dass die Randbedingungen zumindest teilweise dem jeweiligen Agenten und somit auch dem jeweiligen Steuerungsalgorithmus in Form von (virtuellen) Sensor- daten - bspw. einer (virtuellen) Kamera, eines (virtuellen) Abstandssensors oder dergleichen - bereitgestellt werden. Somit erfasst in dem Trainings- durchlauf der jeweilige Steuerungsalgorithmus die in dem Trainingsraum ab- gebildete Umgebung vorzugsweise sensoriell. Das heißt, dass der jeweilige Steuerungsalgorithmus über Schnittstellen zur Eingabe (also insbesondere zum Empfang) entsprechender Sensorsignale verfügt und im Trainingsdurch- lauf der jeweilige Steuerungsalgorithmus über diese Schnittstellen entspre- chende Eingangssignale zur Erfassung und Analyse des Trainingsraums empfängt.

Dadurch, dass wenigstens zwei voneinander grundsätzlich unabhängige Steuerungsalgorithmen in dem Trainingsraum jeweils einen Agenten zur Lö- sung der im Rahmen der Zielvorgabe gestellten Aufgabe bewegen, und dass zumindest die negative Incentivierung dem jeweils anderen - im Fall von mehr als zwei Steuerungsalgorithmen allen anderen - Steuerungsalgorith- men mitgeteilt werden, können vorteilhafterweise alle Steuerungsalgorithmen zumindest von den „Fehlern“ eines Steuerungsalgorithmus mitlernen. Da- durch kann vorteilhafterweise vermieden werden, dass der jeweils andere Steuerungsalgorithmus in einem - vorzugsweise durchgeführten - weiteren Trainingsdurchlauf den gleichen Fehler ebenfalls begeht. Dies führt wiede- rum zu einer Verringerung der effektiven Lerndauer aller Steuerungsalgo- rithmen, die gemeinsam in dem Trainingsraum trainiert werden. Dadurch, dass wenigstens zwei autonome Agenten im gleichen Trainingsraum bewe- gen, kommt es ferner auch zu Interaktionen der beiden Agenten, die Reakti- onen der jeweiligen Steuerungsalgorithmen erfordern. Insbesondere für den Fall, dass die Agenten Kraftfahrzeuge und der Trainingsraum im Wesentli- chen ein Straßennetz darstellen, lernt somit jeder Steuerungsalgorithmus auch das Verhalten gegenüber anderen Verkehrsteilnehmern. Aufgrund des Trainings in einer virtuellen Umgebung ist die Dauer des gesamten Trainings maßgeblich von den Rechen- und Speicherkapazitäten des zur Bereitstellung der Trainingsumgebung (insbesondere dem Trainingsraum) und für die Lern- prozesse der Steuerungsalgorithmen eingesetzten Rechnersystems domi- niert. In einer zweckmäßigen Verfahrensvariante wird auch die positive Incentivierung eines der Steuerungsalgorithmen dem wenigstens einen an- deren Steuerungsalgorithmus zugeführt. Dadurch wird vorteilhafterweise er reicht, dass der jeweils andere Steuerungsalgorithmus auch von dem zielfüh- renden Verhalten des positiv incentivierten Steuerungsalgorithmus lernen kann.

In einer weiteren zweckmäßigen Verfahrensvariante wird dem jeweiligen an- deren (insbesondere jedem anderen) Steuerungsalgorithmus eine Informati- on über das zu der positiven bzw. negativen Incentivierung führende Verhal- ten des jeweils anderen Steuerungsalgorithmus zugeführt. Dadurch wird vor- teilhafterweise ermöglicht, dass der Steuerungsalgorithmus, dem die jeweili ge (positive oder negative) Incentivierung des jeweils anderen Steuerungsal- gorithmus mitgeteilt wird, diese auch besonders einfach einem spezifischen Verhalten zuordnen kann. Für den Fall, dass es sich bei den Agenten um Kraftfahrzeuge handelt und somit die Steuerungsalgorithmen im bestim- mungsgemäßen realen Betrieb zur Bewegung eines Kraftfahrzeugs dienen, wird also einem Steuerungsalgorithmus, der die Zielvorgabe erfüllt, bspw. mitgeteilt, dass das Ignorieren eines Verkehrsschilds, einer Vorfahrtregel, einer Ampel oder dergleichen zu einer negativen Incentivierung führt. Ent- sprechend umgekehrt wird einem Steuerungsalgorithmus auch mitgeteilt, dass bspw. ein bestimmter Weg unter Umgehung mehrfacher Abbiegungen schneller zu einer bestimmten Zielposition und somit zur positiven Incentivierung führt.

In einer Variante des Verfahrens wird die Zielvorgabe derart gestellt, dass jeder Steuerungsalgorithmus seinen Agenten möglichst schnell zu einer vor gegeben Zielposition bewegen soll. In diesem Fall erhält der Steuerungsalgo- rithmus, der seinen Agenten in der kürzesten Zeit - unter Einhaltung der Randbedingung, also bspw. der Verhaltensregeln und ohne Kollision mit ei- nem Hindernis oder dem wenigstens einen anderen Agenten - zur Zielpositi- on bewegt, die positivste Incentivierung (d. h. die höchste oder stärkste Be- lohnung). Der Steuerungsalgorithmus, dessen Agent einen Unfall verursacht und somit die Zielvorgabe nicht erfüllen kann erhält entsprechend eine nega- tive Incentivierung. Bei Erfüllung der Zielvorgabe zu einem späteren Zeit punkt wird dem entsprechendem Steuerungsalgorithmus eine positive Incentivierung mit„geringerer“ Ausprägung, d. h. bspw. eine weniger starke oder große Belohnung zugewiesen. Alle Steuerungsalgorithmen werden auch hier vorzugsweise von den positiven oder negativen Incentivierungen der jeweils anderen Steuerungsalgorithmen unterrichtet.

In einer besonders zweckmäßigen Verfahrensvariante wird die Zielvorgabe auf einen kollektiven Erfolg aller Steuerungsalgorithmen gerichtet. Insbeson- dere beinhaltet die Zielvorgabe dabei (konkret als Ziel) ein möglichst schnel- les Erreichen einer Zielposition durch alle Agenten. Vorteilhafterweise wird hierbei in dem Trainingsdurchlauf, vorzugsweise in den mehreren aufeinan- der folgenden Trainingsdurchläufen nicht die Zielfindungsdauer nur eines einzelnen Agenten verringert - was nicht zwangsläufig zu einer Verringerung bei allen Steuerungsalgorithmen führen muss -, sondern die Durchschnitts- dauer aller autonom bewegter Agenten, die gemäß dieser Verfahrensvarian- te trainiert werden. In diesem Fall erhält insbesondere der Steuerungsalgo- rithmus, der als erster und gegebenenfalls deutlich vor dem oder den ande- ren Steuerungsalgorithmen die Zielvorgabe erfüllt, unter Umständen dabei auch noch Agenten anderer Steuerungsalgorithmen an ihrer Erfüllung der Zielvorgabe (zumindest temporär) hindert, nicht die größte Belohnung son- dern insbesondere eine geringerwertige, gegebenenfalls eine negative.

Grundsätzlich ist aufgrund des vorstehend beschriebenen Trainings der je- weiligen Steuerungsalgorithmen in dem virtuellen Trainingsraum das hierbei antrainierte Bewegungsverhalten unabhängig von menschlichen Verhal- tensmustern. Anders ausgedrückt sind die jeweiligen Steuerungsalgorithmen - zumindest bei einer entsprechenden„unvoreingenommenen“„Grundpro- grammierung“ - nicht durch menschliches Verhalten vorgeprägt, so dass zu erwarten ist, dass die jeweiligen Steuerungsalgorithmen auch bisher unbe- kannte oder unerwartete Verhaltensmuster (insbesondere neue Strategien für das Erfüllen der Zielvorgabe) entwickeln können. Insbesondere für den Fall, dass die Zielvorgabe auf ein möglichst schnelles gemeinsames oder kollektives Erreichen der Zielposition gerichtet ist, kann somit der jeweilige Steuerungsalgorithmus potentiell menschliches Verhalten übertreffen und - insbesondere im Bereich von autonom bewegbaren Kraftfahrzeugen - einen verbesserten Verkehrsfluss ermöglichen. So kann es bspw. in bestimmten Situationen sinnvoll sein, dass sich ein Agent etwas langsamer bewegt und einem anderen Agenten den Vorrang gewährt, wenn dadurch die Gesamtzeit aller Maschinen (Agenten) bis zum Erreichen der Zielposition minimiert wird. Für einen menschlichen Bediener ist dagegen häufig kaum abzusehen, wel- che Auswirkung die eigene Bewegung auf die Gesamtzeit aller Agenten hat.

In einer weiteren Verfahrensvariante wird die - optional auf den kollektiven Erfolg gerichtete - Zielvorgabe für jeden Steuerungsalgorithmus zusätzlich auf eine individuelle Zielposition ausgerichtet. Mit anderen Worten erhält je- der Steuerungsalgorithmus eine eigene Ziel Position, die zu erreichen ist. Ins- besondere für den Fall, dass die Zielvorgabe auf den kollektiven Erfolg ge- richtet ist, bewegen sich die Agenten somit nicht - zumindest im Fall von Kraftfahrzeugen - in einem Konvoi oder als Flotte auf das gleiche Ziel zu. Vorzugsweise kommt es in diesem Fall häufiger vor, dass die einzelnen Steuerungsalgorithmen entscheiden müssen, ob der bspw. die eigene Be- wegungsroute schneidende Agent Vorrang erhalten sollte, obwohl gegebe- nenfalls der eigene Agent eine Vorrechtsstellung (bspw. beim Spurwechsel auf einer Autobahn) innehat.

In einer Verfahrensvariante wird die vorstehend beschriebene - die individu- elle Ziel Position enthaltende - Zielvorgabe jedem Steuerungsalgorithmus als individuelle Zielvorgabe zugeführt. Mithin kennen die anderen Steuerungsal- gorithmen nur die eigene Zielposition, die des jeweils anderen Steuerungsal- gorithmus aber nicht. Dies entspricht insbesondere im Straßenverkehr einer üblichen Situation, so dass ein realitätsnahes Trainieren ermöglicht ist.

In einer zweckmäßigen Verfahrensvariante sind die Steuerungsalgorithmen dazu ausgebildet, zumindest ihre individuellen Zielpositionen untereinander zu kommunizieren. Bspw. steuern die jeweiligen Steuerungsalgorithmen hierzu ihren jeweiligen Agenten an, bspw. ein (insbesondere virtuelles) Fahr- zeug-zu-Fahrzeug-Kommunikationssystem zur Übermittlung der eigenen Zielposition einzusetzen. Bspw. erfolgt die Kommunikation nur für den Fall, dass sich die entsprechenden Bewegungsrouten der Agenten schneiden. Insbesondere in diesem Fall ist nämlich die gegenseitige Kenntnis der Ziel position oder zumindest der Bewegungsroute vorteilhaft. Insbesondere kann durch diese Kommunikation die Entscheidung einzelner Steuerungsalgorith- men hinsichtlich der Gewährung von Vorrang für einen anderen Steuerungs- algorithmus hinsichtlich des kollektiven Erfolgs unterstützt werden.

In einer bevorzugten Ausführung wird die Anzahl der Randbedingungen vor- zugsweise automatisiert erhöht, wenn ein vorgegebenes Kriterium erfüllt wird. Durch die Erhöhung der Anzahl der Randbedingungen, bspw. der Stei gerung der Zahl und Art von Flindernissen, einer Ausdehnung von Hindernis- sen in die dritte Dimension (insbesondere ausgehend von nur zweidimensio- nal abgebildeten Flindernissen), der Hinzunahme von Routenkreuzungen, Alternativrouten und dergleichen wird vorzugsweise die Komplexität der in dem Trainingsraum dargestellten Umgebung (Szenarios) erhöht, vorzugs- weise bis die Komplexität der Realität entspricht. Als Kriterium wird bei spielsweise herangezogen, ob die Zeit, die die Steuerungsalgorithmen zur (insbesondere fehlerfreien) Erfüllung der Zielvorgabe (individuell oder kollek tiv) benötigen, über wenigstens zwei aufeinanderfolgende Trainingsdurchläu- fe auf einem vorzugsweise hinreichend niedrigen Niveau verbleibt. Nähert sich die Komplexität der virtuellen Umgebung der realen Umgebung an oder entspricht dieser, ist davon auszugehen, dass insbesondere eine im Trai- ningsraum erreichte Fehlerrate auch in der realen Umgebung erreicht wer- den kann. Die Automatisierung der Erhöhung der Randbedingungen erfolgt beispielweise mittels eines Algorithmus, der die Erfüllung des Kriteriums prüft und daraufhin die Randbedingungen um eine vorgegebene Anzahl erhöht, bspw. indem für den nächsten Trainingsdurchlauf ein komplexeres Szenario geladen wird.

Zweckmäßigerweise wird zur Überwachung des Trainings auch diese Fehler- rate insbesondere aller Steuerungsalgorithmen ermittelt. Bei der Fehlerrate handelt es sich beispielsweise um die Anzahl der Verletzung von Randbe- dingungen stets des gleichen Steuerungsalgorithmus über mehrere Trai- ningsdurchläufe hinweg, oder bspw. bei auf das kollektive Ergebnis gerichte- ter Zielvorgabe die Anzahl der Fehler aller Steuerungsalgorithmen pro Trai- ningsdurchlauf. Vorzugsweise wird das Trainieren beendet, wenn ein vorge- gebenes Abbruch kriterium, insbesondere eine vorgegebene Zielfehlerrate erreicht wird.

Als weitere Randbedingung wird in einer weiteren optionalen Variante vorge- geben, dass Einsatzkräften (bspw. Rettungswagen, Polizei, Feuerwehr etc.) oder zumindest einem Agenten, der eine Dringlichkeit (bspw. einen Notfall) an den jeweiligen anderen Agenten kommuniziert, Vorrang zu gewähren ist. Optional ist eine individuelle Zielvorgabe darauf gerichtet, dass der einzelne Steuerungsalgorithmus eine Einsatzkraft darstellt und/oder unter Dringlichkeit (bspw. eine verletzte Person muss möglichst schnell in ein Krankenhaus) seine Zielposition erreichen muss.

Um das Verhalten der Steuerungsalgorithmen unter Interaktion mit menschli- chem Verhalten verifizieren (insbesondere auf Fehlerfreiheit testen) und/oder trainieren zu können, wird in einer vorteilhaften Variante zumindest in einem Trainingsdurchlauf ein Agent von Bedienpersonal - d. h. insbesondere von einem menschlichen Bediener - durch den Trainingsraum bewegt. Da menschliche Bediener sich wie vorstehend beschrieben potentiell anders verhalten als ein autonomer Steuerungsalgorithmus, ist diese Verfahrensva- riante vorteilhaft.

Als eigenständige Erfindung wird außerdem ein Trainingssystem angegeben, das ein Rechnersystem aufweist, das zur Bereitstellung des virtuellen Trai- ningsraums sowie zur Bereitstellung von Rechenkapazität für den jeweiligen Steuerungsalgorithmus eingerichtet ist. Vorzugsweise ist das Trainingssys- tem also mittels des Rechnersystems dazu eingerichtet, das vorstehend be- schriebene Verfahren, das insbesondere in Form eines Trainingsprogramms auf dem Rechnersystem implementiert ist, zum Trainieren der Steuerungsal- gorithmen insbesondere selbsttätig, gegebenenfalls unter Interaktion mit Be- dienpersonal, durchzuführen. Als wiederum weitere, eigenständige Erfindung wird ein Steuerungsalgorith- mus, der mittels des vorstehend beschriebenen Verfahrens, insbesondere mittels des Trainingssystems trainiert wurde, zum autonomen Bewegen einer autonom bewegbaren Vorrichtung, vorzugsweise eines Fahrzeugs, bspw. eines Kraftfahrzeugs oder eines Flugzeugs, oder optional eines (Industrie- )Roboters, verwendet.

Die erfindungsgemäße autonom bewegbare Vorrichtung, insbesondere das (Kraft-)Fahrzeug, weist eine Steuerungsvorrichtung (bspw. einen Controller mit einem zugeordneten Mikroprozessor und einem Datenspeicher) auf, auf der ein nach dem vorstehend beschriebenen Verfahren trainierter Steue- rungsalgorithmus zur Durchführung eines autonomen Betriebsmodus insbe- sondere lauffähig installiert ist. Die Konjunktion„und/oder“ ist hier und im Folgenden insbesondere derart zu verstehen, dass die mittels dieser Konjunktion verknüpften Merkmale sowohl gemeinsam als auch als Alternativen zueinander ausgebildet sein können.

Nachfolgend werden Ausführungsbeispiele der Erfindung anhand einer Zeichnung näher erläutert. Darin zeigen:

Fig. 1 in einem schematischen Blockdiagramm ein Verfahren zum Trai- nieren von selbstlernenden Steuerungsalgorithmen,

Fig. 2 in einer schematischen Ansicht einen virtuellen Trainingsraum für die selbstlernenden Steuerungsalgorithmen, und

Fig. 3 ein Kraftfahrzeug, auf dem einer der Steuerungsalgorithmen in- stalliert ist.

Einander entsprechende Teile und Größen sind in allen Figuren stets mit gleichen Bezugszeichen versehen.

In Fig. 1 ist schematisch ein Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen 2 für autonom bewegbare Vorrichtungen dargestellt, die im vorliegenden Ausführungsbeispiel jeweils durch ein Personenkraft- fahrzeug, kurz Fahrzeug 4 (s. Fig. 3) gebildet sind. Das Verfahren wird dabei von einem nicht näher dargestellten Trainingssystem, das konkret durch ein Rechnersystem (bspw. eine Workstation oder dergleichen) gebildet ist, durchgeführt.

Verfahrensgemäß wird dabei in einem ersten Verfahrensschritt S1 ein virtuel- ler Trainingsraum 6 (s. Fig. 2) bereitgestellt. In diesem Trainingsraum 6 sind in diesem Ausführungsbeispiel als Randbedingungen befahrbare Wege (hier: Straßen 8), ein unbewegliches und unüberfahrbares Hindernis 10, ein Fuß- gängerüberweg 12, ein Fußgänger 14 und ein Verkehrszeichen 16 abgebil det. Als weitere Randbedingungen enthält der Trainingsraum 6 (konkret das darin abgebildete Szenario) Verhaltensregeln für die Steuerungsalgorithmen 2.

In einem zweiten Verfahrensschritt S2 wird jedem Steuerungsalgorithmus 2 jeweils eine Zielvorgabe zugeführt, die der jeweilige Steuerungsalgorithmus 2 dadurch erfüllen muss, dass er im Rahmen eines Trainingsdurchlaufs (d. h. während eines solchen Trainingsdurchlaufs) einen virtuellen Agenten 18 - hier ein virtuelles Fahrzeug - durch den Trainingsraum 6 zu einer Ziel Position 20 bewegt. Im vorliegenden Ausführungsbeispiel erhalten zwei Steuerungs- algorithmen 2 jeweils eine eigene, individuelle Zielvorgabe, die die (gegebe- nenfalls individuell unterschiedliche) Zielposition 20 enthält und die außer- dem darauf gerichtet ist, dass die von diesen Steuerungsalgorithmen 2 be- wegten Agenten 18 gemeinsam möglichst schnell zur Zielposition 20 (d. h. kollektiver Erfolg aller Steuerungsalgorithmen 2) gelangen sollen. Mithin soll ein Verhalten trainiert werden, das zu einer Verringerung der gemeinsam benötigten Zeit zum Erreichen der Zielposition 20 führt. Die beiden Agenten 18 werden dabei zur gleichen Zeit durch den Trainingsraum 6 bewegt.

In einem nachfolgenden Verfahrensschritt S3 wird überprüft ob jeder Steue- rungsalgorithmus 2 die Zielvorgabe erfüllt hat oder ob einer der Steuerungs- algorithmen 2 die Zielvorgabe nicht erfüllt hat, konkret gegen eine Randbe- dingung verstoßen hat. Dabei erfolgen eine positive Incentivierung bei Erfül lung der Zielvorgabe und/oder eine negative Incentivierung bei Nicht- Erfüllung an den entsprechenden Steuerungsalgorithmus 2. Dem jeweiligen anderen Steuerungsalgorithmus 2 wird dabei die positive bzw. negative Incentivierung sowie das dazu führende Verhalten des entsprechend ande- ren Steuerungsalgorithmus 2 zugeführt, so dass dieser dieses Verhalten in seinen Lernprozess mit einbeziehen kann.

In einem nachfolgenden Verfahrensschritt S4 wird eine Fehlerrate der Steue- rungsalgorithmen 2 ermittelt. Solange ein Grenzwert der Fehlerrate (d. h. eine Zielfehlerrate) noch nicht erreicht, konkret unterschritten wird, erfolgt eine Wiederholung des Trainingsdurchlaufs, konkret ein Rücksprung auf den Verfahrensschritt S2. Unterschreitet die Fehlerrate den Grenzwert, wird in einer Iteration im Verfahrensschritt S1 die Komplexität des Trainingsraums 6 konkret mittels einer Erhöhung der Anzahl der Randbedingungen gesteigert.

Diese Iteration wird fortgesetzt, bis die Komplexität der durch den Trainings- raum 6 bereitgestellten Umgebung der Komplexität der realen Umgebung gleicht und die Fehlerrate den Grenzwert unterschreitet. In diesem Ausfüh- rungsbeispiel wird das Trainieren hiernach beendet und der jeweilige Steue- rungsalgorithmus 2 ist einsatzbereit.

In einem nicht näher dargestellten Ausführungsbeispiel erfolgt in diesem Fall wenigstens eine weitere Iteration, wobei sich zusätzlich wenigstens ein von einem (menschlichen) Bediener bewegter Agent 18 in dem Trainingsraum 6 befindet. Dadurch wird die Interaktion der von den Steuerungsalgorithmen 2 bewegten Agenten 18 mit menschlich geprägtem Verhalten überprüft und gegebenenfalls trainiert.

In einem weiteren nicht näher dargestellten Ausführungsbeispiel sind die Steuerungsalgorithmen 2 derart eingerichtet, im Verfahrensschritt S2, d. h. wenn sie ihre zugeordneten Agenten 18 durch den Trainingsraum 6 bewe- gen, ihre individuellen Ziel Positionen 20 untereinander zu kommunizieren. Dazu nutzen die Steuerungsalgorithmen 2 ein in dem jeweiligen virtuellen Agenten 18 implementiertes Kommunikationssystem. In Fig. 3 ist das Fahrzeug 4 dargestellt, das mittels des in der vorstehend beschriebenen Art und Weise trainierten Steuerungsalgorithmus 2 autonom bewegt werden kann. Dazu weist das Fahrzeug 4 eine Steuerungsvorrich- tung, hier ein Fahrzeugcontroller 22, auf. Der Fahrzeugcontroller 22 ist kon- kret durch einen Mikroprozessor mit einem zugeordneten Speicher gebildet. Auf dem Speicher ist der Steuerungsalgorithmus 2 lauffähig installiert, so dass dieser bei Ausführung durch den Mikroprozessor ein Steuerungsverfah- ren zum Bewegen des Fahrzeugs 4 automatisch durchführt. Das Fahrzeug 4 weist außerdem ein Sensorsystem zur Erzeugung von für die Umgebung des Fahrzeugs 4 repräsentativen Sensorsignalen auf. Das Sensorsystem ist hier beispielhaft durch ein Kamerasystem 24 angedeutet. Die Sensordaten wer- den über eine entsprechende Schnittstelle 26 dem Steuerungsalgorithmus 2 zugeführt, der die Sensordaten im autonomen Betrieb auswertet und darauf- hin (sowie gemäß seinem antrainierten Verhalten) seine Steuerungsent- Scheidungen fällt. Die Steuerungsentscheidungen gibt der Steuerungsalgo- rithmus 2 in Form von entsprechenden Anweisungen A an verschiedene Subcontroller 28, z. B. Lenkungscontroller, Bremsencontroller, Motorcontrol- ler und dergleichen, weiter. Die Subcontroller 28 setzen diese Anweisungen A anschließend in entsprechende Steuersignale um.

Der Gegenstand der Erfindung ist nicht auf die vorstehend beschriebenen Ausführungsbeispiele beschränkt. Vielmehr können weitere Ausführungsfor- men der Erfindung von dem Fachmann aus der vorstehenden Beschreibung abgeleitet werden. Insbesondere können die anhand der verschiedenen Aus- führungsbeispiele beschriebenen Einzelmerkmale der Erfindung und deren Ausgestaltungsvarianten auch in anderer Weise miteinander kombiniert wer- den.