Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR RECONFIGURING A SYSTEM ARCHITECTURE OF AN AUTONOMOUS VEHICLE
Document Type and Number:
WIPO Patent Application WO/2023/274745
Kind Code:
A1
Abstract:
The invention relates to a method for reconfiguring a system architecture (51) of an autonomous vehicle (51), wherein the system architecture (51) comprises a plurality of application entities (20-x) and a plurality of computing nodes (21-x), wherein the application entities (20-x) are executed in a distributed manner across the computing nodes (21-x) in accordance with a configuration (22, 22x), wherein sensor data captured by at least one sensor is supplied to at least some of the application entities (20-x), and wherein at least some of the application entities (20-x) generate and provide control signals for controlling the vehicle (50), wherein at least one item of contextual information (10) of a current context is detected and/or obtained, in which context the vehicle (50) is operated, wherein the at least one item of contextual information (10) that has been detected and/or obtained is supplied to a trained machine learning method (3-1), wherein the trained machine learning method (3-1) estimates a configuration (22x) based on the at least one item of contextual information (10), and wherein the configuration (22) is adapted in accordance with the estimated configuration (22x). The invention also relates to an associated device (1) and to a method for training a machine learning method (3-1).

Inventors:
KAIN TOBIAS (AT)
SCHNEIDER JAN DAVID (DE)
VARGHESE SERIN (DE)
Application Number:
PCT/EP2022/066488
Publication Date:
January 05, 2023
Filing Date:
June 16, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VOLKSWAGEN AG (DE)
International Classes:
G06F11/30; G06F9/445; G06N3/02
Foreign References:
US20210133057A12021-05-06
US20210188314A12021-06-24
US20210188294A12021-06-24
Other References:
TOBIAS KAIN ET AL.: "Towards a Reliable and Context-Based System Architecture for Autonomous Vehicles", 2ND INTERNATIONAL WORKSHOP ON AUTONOMOUS SYSTEMS DESIGN (ASD 2020, 2020, pages 1 - 7
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Rekonfigurieren einer Systemarchitektur (51) eines automatisiert fahrenden Fahrzeugs (51), wobei die Systemarchitektur (51) eine Vielzahl von Anwendungsinstanzen (20-x) und eine Vielzahl von Berechnungsknoten (21-x) aufweist, wobei die Anwendungsinstanzen (20-x) gemäß einer Konfiguration (22,22x) verteilt auf den Berechnungsknoten (21-x) ausgeführt werden, wobei zumindest einem Teil der Anwendungsinstanzen (20-x) erfasste Sensordaten mindestens eines Sensors zugeführt werden und wobei zumindest von einem Teil der Anwendungsinstanzen (20-x) Steuersignale zum Steuern des Fahrzeugs (50) erzeugt und bereitstellt werden, wobei mindestens eine Kontextinformation (10) eines aktuellen Kontextes, in dem das Fahrzeug (50) betrieben wird, erfasst und/oder erhalten wird, wobei die erfasste und/oder erhaltene mindestens eine Kontextinformation (10) einem trainierten Maschinenlernverfahren (3-1) zugeführt wird, wobei das trainierte Maschinenlernverfahren (3-1) ausgehend von der mindestens einen Kontextinformation (10) eine Konfiguration (22x) schätzt, und wobei die Konfiguration (22) gemäß der geschätzten Konfiguration (22x) angepasst wird.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass mindestens eine Leistungskennzahl (23x) während des Anwendens der angepassten Konfiguration (22x) bestimmt und zugehörig zur angepassten Konfiguration (22x) gespeichert wird, wobei aus der erfassten und/oder erhaltenen mindestens einen Kontextinformation (10), der angepassten Konfiguration (22x) und der bestimmten mindestens einen Leistungskennzahl (23x) Trainingsdaten erzeugt werden, und wobei ein aus solchen Trainingsdaten zusammengestellter Trainingsdatensatz als im Feld erzeugter Trainingsdatensatz (40f) bereitgestellt wird.

3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der im Feld erzeugte Trainingsdatensatz (40f) an einen zentralen Server (30) übermittelt wird.

4. Verfahren zum Trainieren eines Maschinenlernverfahrens (3-1) zur Anwendung in einem Verfahren nach einem der Ansprüche 1 bis 3, wobei Trainingsdaten ausgehend von einer Simulation erzeugt werden, in der das Fahrzeug (50) und eine Fahrzeugumgebung realistisch simuliert werden, wobei hierzu Kontextinformationen (10) erzeugt werden, wobei für die erzeugten Kontextinformationen (10) jeweils eine Konfiguration (22) erzeugt wird und wobei im Rahmen der Simulation, bei der die erzeugte Konfiguration (22) verwendet wird, mindestens eine Leistungskennzahl (23) zum Beurteilen der erzeugten Konfiguration (22) bestimmt wird, wobei zum Trainieren des Maschinenlernverfahrens (3-1) die Kontextinformationen (10) als Eingangsdaten des Maschinenlernverfahrens (3-1) verwendet werden, wobei die zugehörig erzeugte Konfiguration (22) und die zugehörig bestimmte mindestens eine Leistungskennzahl (23) als Grundwahrheit beim Trainieren verwendet werden, wobei aus derartigen Trainingsdaten ein Trainingsdatensatz (40) erzeugt wird, wobei das Maschinenlernverfahren (3-1) mit dem erzeugten Trainingsdatensatz (40) trainiert wird, und wobei das Maschinenlernverfahren (3-1) bereitgestellt wird.

5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das trainierte Maschinenlernverfahren (3-1) zum Bereitstellen in einen Speicher einer Rekonfigurationseinrichtung (3) von mindestens einem Fahrzeug (50) geladen wird.

6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass mindestens ein im Feld erzeugter Trainingsdatensatz (40f) erhalten wird und dem Trainingsdatensatz (40) hinzugefügt wird.

7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass der Trainingsdatensatz (40) nur aus solchen Trainingsdaten erzeugt wird und/oder nur solche Trainingsdaten dem Trainingsdatensatz (40) hinzugefügt werden, deren mindestens eine Leistungskennzahl (23) mindestens ein vorgegebenes Selektionskriterium erfüllt.

8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass das Simulieren und Trainieren auf einem zentralen Server (30) durchgeführt wird.

9. Vorrichtung (1) zum Rekonfigurieren einer Systemarchitektur (51) eines automatisiert fahrenden Fahrzeugs (50), wobei die Systemarchitektur (51) eine Vielzahl von Anwendungsinstanzen (20-x) und eine Vielzahl von Berechnungsknoten (21-x) aufweist, wobei die Anwendungsinstanzen (20-x) gemäß einer Konfiguration (22) verteilt auf den Berechnungsknoten (21-x) ausgeführt werden, wobei zumindest einem Teil der Anwendungsinstanzen (20-x) erfasste Sensordaten mindestens eines Sensors zugeführt werden und wobei zumindest von einem Teil der Anwendungsinstanzen (20-x) Steuersignale zum Steuern des Fahrzeugs (50) erzeugt und bereitstellt werden, umfassend: eine Kontexterfassungseinrichtung (2), und eine Rekonfigurationseinrichtung (3), wobei die Kontexterfassungseinrichtung (2) dazu eingerichtet ist, mindestens eine Kontextinformation (10) eines aktuellen Kontextes, in dem das Fahrzeug (50) betrieben wird, zu erfassen und/oder zu erhalten, und wobei die Rekonfigurationseinrichtung (3) dazu eingerichtet ist, ein trainiertes Maschinenlernverfahren (3-1) bereitzustellen, dem trainierten Maschinenlernverfahren (3- 1) die erfasste und/oder erhaltene mindestens eine Kontextinformation (10) zuzuführen und das trainierte Maschinenlernverfahren (3-1) ausgehend von der mindestens einen Kontextinformation (10) eine Konfiguration (22x) schätzen zu lassen, und die Konfiguration (22) gemäß der geschätzten Konfiguration (22x) anzupassen.

10. Fahrzeug (50), umfassend mindestens eine Vorrichtung (1) nach Anspruch 9.

Description:
Beschreibung

Verfahren und Vorrichtung zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs. Ferner betrifft die Erfindung ein Verfahren zum Trainieren eines Maschinenlernverfahrens.

Zum Betreiben eines automatisiert fahrenden Fahrzeugs bedarf es einer Vielzahl von Anwendungsinstanzen, die auf Berechnungsknoten ausgeführt werden, um beispielsweise erfasste Sensordaten zu verarbeiten und ausgehend von den verarbeiteten Sensordaten Steuersignale zum Steuern und/oder Regeln des Fahrzeugs zu erzeugen und bereitzustellen. Die Anwendungsinstanzen haben hierbei spezifische Anforderungen, z.B. in Bezug auf eine Rechenleistung, einen Arbeitsspeicherbedarf, einen Speicherplatz etc. sowie Redundanzbedingungen. Die Anwendungsinstanzen müssen derart auf die Berechnungsknoten verteilt werden, dass diese Anforderungen erfüllt sind. Eine jeweilige Konfiguration ist hierbei abhängig von einem Kontext, in dem das Fahrzeug sich befindet.

Aus Tobias Kain et al., Towards a Reliable and Context-Based System Architecture for Autonomous Vehicles, 2nd International Workshop on Autonomous Systems Design (ASD 2020), Editors: Sebastian Steinhorst und Jyotimoy V. Deshmukh, Article Nr. 1, Seiten 1:1- 1:7, 2020, DOI: 10.4230/OASIcs.ASD.2020.1 , ist eine Systemarchitektur für ein automatisiert fahrendes Fahrzeug bekannt.

Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs zu verbessern.

Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1, ein Verfahren mit den Merkmalen des Patentanspruchs 4 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 9 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen. Insbesondere wird ein Verfahren zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs zur Verfügung gestellt, wobei die Systemarchitektur eine Vielzahl von Anwendungsinstanzen und eine Vielzahl von Berechnungsknoten aufweist, wobei die Anwendungsinstanzen gemäß einer Konfiguration verteilt auf den Berechnungsknoten ausgeführt werden, wobei zumindest einem Teil der Anwendungsinstanzen erfasste Sensordaten mindestens eines Sensors zugeführt werden und wobei zumindest von einem Teil der Anwendungsinstanzen Steuersignale zum Steuern des Fahrzeugs erzeugt und bereitstellt werden, wobei mindestens eine Kontextinformation eines aktuellen Kontextes, in dem das Fahrzeug betrieben wird, erfasst und/oder erhalten wird, wobei die erfasste und/oder erhaltene mindestens eine Kontextinformation einem trainierten Maschinenlernverfahren zugeführt wird, wobei das trainierte Maschinenlernverfahren ausgehend von der mindestens einen Kontextinformation eine Konfiguration schätzt, und wobei die Konfiguration gemäß der geschätzten Konfiguration angepasst wird.

Ferner wird insbesondere eine Vorrichtung zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs geschaffen, wobei die Systemarchitektur eine Vielzahl von Anwendungsinstanzen und eine Vielzahl von Berechnungsknoten aufweist, wobei die Anwendungsinstanzen gemäß einer Konfiguration verteilt auf den Berechnungsknoten ausgeführt werden, wobei zumindest einem Teil der Anwendungsinstanzen erfasste Sensordaten mindestens eines Sensors zugeführt werden und wobei zumindest von einem Teil der Anwendungsinstanzen Steuersignale zum Steuern des Fahrzeugs erzeugt und bereitstellt werden, umfassend eine Kontexterfassungseinrichtung und eine Rekonfigurationseinrichtung, wobei die Kontexterfassungseinrichtung dazu eingerichtet ist, mindestens eine Kontextinformation eines aktuellen Kontextes, in dem das Fahrzeug betrieben wird, zu erfassen und/oder zu erhalten, und wobei die Rekonfigurationseinrichtung dazu eingerichtet ist, ein trainiertes Maschinenlernverfahren bereitzustellen, dem trainierten Maschinenlernverfahren die erfasste und/oder erhaltene mindestens eine Kontextinformation zuzuführen und das trainierte Maschinenlernverfahren ausgehend von der mindestens einen Kontextinformation eine Konfiguration schätzen zu lassen, und die Konfiguration gemäß der geschätzten Konfiguration anzupassen.

Weiter wird insbesondere ein Verfahren zum Trainieren eines Maschinenlernverfahrens zur Anwendung in dem Verfahren zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs zur Verfügung gestellt, wobei Trainingsdaten ausgehend von einer Simulation erzeugt werden, in der das Fahrzeug und eine Fahrzeugumgebung realistisch simuliert werden, wobei hierzu Kontextinformationen erzeugt werden, wobei für die erzeugten Kontextinformationen jeweils eine Konfiguration erzeugt wird und wobei im Rahmen der Simulation, bei der die erzeugte Konfiguration verwendet wird, mindestens eine Leistungskennzahl zum Beurteilen der erzeugten Konfiguration bestimmt wird, wobei zum Trainieren des Maschinenlernverfahrens die Kontextinformationen als Eingangsdaten des Maschinenlernverfahrens verwendet werden, wobei die zugehörig erzeugte Konfiguration und die zugehörig bestimmte mindestens eine Leistungskennzahl als Grundwahrheit beim Trainieren verwendet werden, wobei aus derartigen Trainingsdaten ein Trainingsdatensatz erzeugt wird, wobei das Maschinenlernverfahren mit dem erzeugten Trainingsdatensatz trainiert wird, und wobei das Maschinenlernverfahren bereitgestellt wird.

Es wird weiter insbesondere auch eine Vorrichtung zum Trainieren eines Maschinenlernverfahrens geschaffen, umfassend eine Datenverarbeitungseinrichtung mit mindestens einer Recheneinrichtung und mindestens einem Speicher, wobei die Datenverarbeitungseinrichtung dazu eingerichtet ist, das Verfahren zum Trainieren eines Maschinenlernverfahrens auszuführen.

Das Verfahren und die Vorrichtung zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs ermöglichen es, eine Konfiguration für einen gegebenen Kontext bereitzustellen. Da ein Kontext, in dem das Fahrzeug betrieben wird, stark variieren kann und eine große Bandbreite unterschiedlicher Ausprägungen aufweisen kann, kann hierdurch auch für selten auftretende oder vorher unbekannte Kontexte eine Konfiguration bereitgestellt, insbesondere geschätzt, werden. Hierzu wird ein trainiertes Maschinenlernverfahren verwendet. Dem trainierten Maschinenlernverfahren wird mindestens eine erfasste und/oder erhaltene Kontextinformation als Eingangsdaten zugeführt. Ausgehend hiervon schätzt das Maschinenlernverfahren eine Konfiguration. Eine aktuelle Konfiguration wird gemäß der geschätzten Konfiguration angepasst.

Das Verfahren zum Trainieren eines Maschinenlernverfahrens zur Anwendung in dem Verfahren zum Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs ermöglicht es ferner, eine breite Basis an Trainingsdaten bereitzustellen. Dies erfolgt, indem Trainingsdaten ausgehend von einer Simulation erzeugt werden, in der das Fahrzeug und eine Fahrzeugumgebung realistisch simuliert werden. Hierzu werden Kontextinformationen erzeugt. Beispielsweise können Kontexte innerhalb der Simulation zufällig gewählt werden, wobei die mindestens eine Kontextinformation dann aus dem jeweils zufällig gewählten Kontext abgeleitet wird. Für die erzeugten Kontextinformationen wird jeweils eine Konfiguration erzeugt. Im Rahmen der Simulation, bei der die erzeugte Konfiguration verwendet wird, wird mindestens eine Leistungskennzahl zum Beurteilen der erzeugten Konfiguration bestimmt. Dieses Tripel aus Kontextinformation, Konfiguration und Leistungskennzahl wird zum Trainieren des Maschinenlernverfahrens verwendet. Die Kontextinformationen werden dem Maschinenlernverfahren hierzu als Eingangsdaten zugeführt, wobei die zugehörig erzeugte Konfiguration und die zugehörig bestimmte mindestens eine Leistungskennzahl als Grundwahrheit beim Trainieren verwendet werden. Aus derartigen Trainingsdaten, insbesondere aus derartigen Tripeln, wird ein Trainingsdatensatz erzeugt. Das Maschinenlernverfahren wird mit dem erzeugten Trainingsdatensatz in an sich bekannter Weise trainiert und bereitgestellt. Das trainierte Maschinenlernverfahren kann nach dem Training ausgehend von mindestens einer Kontextinformation eine Konfiguration und die mindestens eine Leistungskennzahl schätzen.

Das Simulieren des Fahrzeugs und der Fahrzeugumgebung kann beispielsweise unter Verwendung mindestens eines der folgenden Simulationswerkzeuge erfolgen:

- aiSim von aiMotive (https://aimotive.com/aisim),

- Pave360 der Siemens AG (https://www.plm.automation.siemens.com/global/en/our- story/newsroom/pave360-media-alert/60712),

- Carla (Open Source Software, https://carla.org/),

- dSPACE (https://www.dspace.com/en/inc/home/products/products. cfm#filterterms=term- 488).

Die für die mindestens eine Kontextinformation erzeugte Konfiguration kann im einfachsten Fall zufällig erzeugt werden, das heißt, insbesondere können die benötigten Applikationsinstanzen zufällig auf die Berechnungsknoten verteilt werden. Es müssen hierbei lediglich die durch die mindestens eine Kontextinformation vorgegebenen Anforderungen beachtet und erfüllt werden. Es kann jedoch auch vorgesehen sein, dass die Konfiguration mittels aufwändigerer Verfahren erzeugt wird. Es können beispielsweise Verfahren angewendet werden, welche zuvor definierte Einschränkungen (Constraints) berücksichtigen. Beispielsweise könnten als Einschränkungen Redundanzanforderungen, Hardwaresegregationsanforderungen (diese definieren, auf wie vielen verschiedenen Berechnungsknoten eine redundante Funktion ausgeführt werden muss) und/oder Ressourcenanforderungen (z.B. Speicher, CPU und/oder Netzwerk-Ressourcen) definiert werden. Diese Einschränkungen werden dann als Eingabe für einen Solver verwendet, welcher versucht, eine Konfiguration zu ermitteln, die alle Einschränkungen erfüllt. In einem weiteren beispielhaften Verfahren, das angewendet werden kann, ist vorgesehen, dass eine zuvor ermittelte Konfiguration (z.B. nach dem zuvor beschriebenen Verfahren) jeweils leicht mutiertwird (z.B. durch Vertauschen von zwei unterschiedlichen Berechnungsknoten zugewiesenen Anwendungsinstanzen), bevor diese Konfiguration als Eingabe für die Simulation verwendet wird.

Eine Anwendung wird mittels mindestens einer Anwendungsinstanz bereitgestellt. Eine Anwendungsinstanz ist insbesondere ein Prozess, der eine bestimmte Funktionalität bereitstellt und der auf mindestens einem Berechnungsknoten ausgeführt wird. Beispielsweise kann eine Anwendungsinstanz eine der folgenden Funktionalitäten im Zusammenhang mit einem automatisierten Fahren bereitstellen: Umfeldwahrnehmung, Lokalisierung, Navigation, Trajektorienplaner oder eine Prognose des eigenen Verhaltens und/oder des Verhaltens von Objekten im Umfeld des Fahrzeugs etc. Hierzu erhält zumindest ein Teil der Anwendungsinstanzen Sensordaten, die mittels mindestens eines Sensors erfasst wurden und/oder Daten von anderen Anwendungsinstanzen. Zumindest ein Teil der Anwendungsinstanzen stellt Steuersignale für das Fahrzeug bereit. Die Anwendungsinstanzen können insbesondere in einem aktiven und in mindestens einem passiven Betriebszustand betrieben werden. Im aktiven Betriebszustand hat die Anwendungsinstanz einen direkten Einfluss auf die Steuerung des Fahrzeugs. Im mindestens einen passiven Betriebszustand läuft eine Anwendungsinstanz hingegen redundant neben einer gleichartigen aktiven Anwendungsinstanz, bekommt die gleichen Eingangsdaten zugeführt und erzeugt die gleichen Ausgangsdaten bzw. Steuersignale, hat aber keinen Einfluss auf die Steuerung des Fahrzeugs. Es können verschiedene Stufen des passiven Zustands vorgesehen sein, die sich beispielsweise nur darin unterscheiden, wie schnell eine passive Anwendungsinstanz in den aktiven Betriebszustand überführt werden kann. Insbesondere ist vorgesehen, dass sowohl die aktiven als auch die passiven Anwendungsinstanzen überwacht werden. Im Falle eines Fehlers, der aktive Anwendungsinstanzen betrifft, kann der Fehler durch Abschalten der fehlerhaften Anwendungsinstanz isoliert werden und durch Umschalten auf eine redundante Anwendungsinstanz kann die Funktionalität der fehlerhaften Anwendungsinstanz aufrechterhalten werden, wobei zusätzlich eine neue passive Anwendungsinstanz zum Wiederherstellen von Redundanzbedingungen gestartet wird. Im Falle eines Fehlers, der passive Anwendungsinstanzen betrifft, kann eine betroffene passive Anwendungsinstanz lediglich beendet werden und durch eine neu gestartete passive Anwendungsinstanz mit der gleichen Funktionalität ersetzt werden, sodass insbesondere Redundanzbedingungen wieder hergestellt sind.

Eine Konfiguration umfasst insbesondere eine Zuordnung von, insbesondere aktiven und passiven, Anwendungsinstanzen zu einzelnen Berechnungsknoten. Die Konfiguration legt insbesondere fest, welche Anwendungsinstanz auf welchem Berechnungsknoten ausgeführt wird, sowie die jeweils zugehörigen Betriebszustände der Anwendungsinstanzen (z.B. aktiv oder passiv etc.). Die Konfiguration ist insbesondere abhängig von vorgegebenen Redundanzbedingungen und/oder Segregationsbedingungen, die jeweils in Abhängigkeit der Funktionalitäten der Anwendungsinstanzen vorgegeben sind oder vorgegeben werden. Beispielsweise kann vorgesehen sein, dass die Redundanzbedingung eine einfache Redundanz vorschreibt. Zu einer Anwendung bzw. einer Funktionalität werden dann eine aktive Anwendungsinstanz und eine passive Anwendungsinstanz betrieben. Es können je nach Anwendungsszenario unterschiedliche Redundanzbedingungen für die gleichen Funktionalitäten vorgesehen sein, z.B. einfache (z.B. Fußgängererkennung auf einer Autobahn) oder mehrfache Redundanz (z.B. vierfache Redundanz bei einer Fußgängererkennung in einer Spielstraße).

Eine Segregationsbedingung ist insbesondere eine Vorgabe für eine Anzahl von unterschiedlichen Berechnungsknoten, auf denen eine Anwendung mittels redundanter Anwendungsinstanzen ausgeführt werden muss.

Ein Kontext bezeichnet insbesondere eine Beschreibung zumindest von Parametern und/oder Eigenschaften, welche charakteristisch für eine Situation sind, in der das Fahrzeug sich befindet. Ein Kontext umfasst beispielsweise Informationen zu einem Umfeld des Fahrzeugs, einer Tageszeit, zu Fahrer- und/oder Fahrgastwünschen (z.B. Komfortwünsche, Entertainmentwünsche etc.) und/oder zu einem Fehlerzustand (fehlerhafte Anwendungsinstanzen, ausgefallende Berechnungsknoten, fehlerhafte Sensoren etc.).

Ein Kontext kann insbesondere mindestens eine Fehlerinformation umfassen, wobei die mindestens eine Fehlerinformation Fehler beschreibt, die in Applikationsinstanzen und/oder Berechnungsknoten auftreten. Beispielsweise können Applikationsinstanzen, die fehlerhaft arbeiten oder welche unerwarteter Weise angehalten wurden, und/oder Berechnungsknoten, die fehlerhaft oder defekt sind, mittels einer Fehlerinformation beschrieben werden. Die mindestens eine Kontextinformation umfasst dann auch die mindestens eine Fehlerinformation. Die Konfiguration kann dann beispielsweise derart angepasst werden, dass die betroffenen Applikationsinstanzen neu gestartet werden, gegebenenfalls auf einem anderen Berechnungsknoten, und/oder indem ein fehlerhafter Berechnungsknoten abgeschaltet wird und Applikationsinstanzen, die auf dem abgeschalteten Berechnungsknoten ausgeführt wurden, auf andere Berechnungsknoten verteilt werden. Ein Maschinenlernverfahren ist insbesondere ein Neuronales Netz. Das Neuronale Netz ist insbesondere ein tiefes Neuronales Netz, welches insbesondere mehrere verborgene Schichten aufweist. Es können grundsätzlich jedoch zusätzlich oder alternativ auch andere Maschinenlernverfahren zum Einsatz kommen. Das Maschinenlernverfahren entspricht insbesondere einer Abbildung von den Eingangsdaten auf eine Konfiguration und mindestens eine zugehörige Leistungskennzahl.

Das Fahrzeug ist insbesondere ein Kraftfahrzeug. Prinzipiell kann das Fahrzeug jedoch auch ein anderes Land-, Wasser-, Luft-, Schienen- oder Raumfahrzeug sein, beispielsweise eine Drohne oder ein Lufttaxi.

Es kann vorgesehen sein, dass die Anwendungsinstanzen und/oder Betriebssysteme und/oder eine mit den Berechnungsknoten korrespondierende Hardware mittels mindestens einer Monitoreinrichtung überwacht werden, wobei ein Fehler in einer Anwendungsinstanz und/oder in einem Betriebssystem und/oder in einer Hardware mittels der mindestens einen Monitoreinrichtung erkannt wird. Der erkannte Fehler wird insbesondere durch Umschalten auf Anwendungsinstanzen, die zu jeweils betroffenen Anwendungsinstanzen redundant sind, mittels einer Umschalteinrichtung isoliert. Für die Anwendungsinstanzen vorgegebene Redundanzbedingungen und/oder Segregationsbedingungen werden durch Umkonfigurieren der Konfiguration mittels einer Anwendungsplatzierungseinrichtung wiederhergestellt. Hierbei ist insbesondere vorgesehen, dass die geänderte Konfiguration mittels des in dieser Offenbarung beschriebenen Verfahrens geschätzt und bereitgestellt wird.

Es kann vorgesehen sein, dass für jede Anwendungsinstanz eine Monitoreinrichtung verwendet wird. Ferner kann vorgesehen sein, dass für jedes Betriebssystem und/oder jede Hardware jeweils eine Monitoreinrichtung verwendet wird. Hierdurch kann eine Überwachung zuverlässiger und schneller ausgeführt werden, sodass ein Fehler schneller erkannt werden kann.

Teile der Vorrichtung, insbesondere die Kontexterfassungseinrichtung und/oder die Rekonfigurationseinrichtung und/oder die mindestens eine Monitoreinrichtung, können einzeln oder zusammengefasst als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem Mikrocontroller oder Mikroprozessor ausgeführt wird. Es kann jedoch auch vorgesehen sein, dass Teile einzeln oder zusammengefasst als anwendungsspezifische integrierte Schaltung (ASIC) und/oder als feldprogrammierbares Gatterfeld (FPGA) ausgebildet sind. ln einer Ausführungsform ist vorgesehen, dass mindestens eine Leistungskennzahl während des Anwendens der angepassten Konfiguration bestimmt und zugehörig zur angepassten Konfiguration gespeichert wird, wobei aus der erfassten und/oder erhaltenen mindestens einen Kontextinformation, der angepassten Konfiguration und der bestimmten mindestens einen Leistungskennzahl Trainingsdaten erzeugt werden und wobei ein aus solchen Trainingsdaten zusammengestellter Trainingsdatensatz als im Feld erzeugter Trainingsdatensatz bereitgestellt wird. Hierdurch kann während des Anwendens einer geschätzten Konfiguration eine Bewertung der Leistungsfähigkeit im Feld bestimmt und für ein anschließendes Training des Maschinenlernverfahrens nutzbar gemacht werden. Eine Leistungskennzahl (englisch auch als Key Performance Indicator, KPI, bezeichnet) kann insbesondere eine Zuverlässigkeit umfassen. Die Zuverlässigkeit beschreibt die Wahrscheinlichkeit, dass das Fahrzeug in einer festgelegten Zeitspanne nicht ausfällt (erstrebenswert ist hierbei also insbesondere ein Zuverlässigkeitswert von 100 %). Ein Ausfall eines autonomen Fahrzeugs könnte zum Beispiel definiert sein als ein Komplettausfall der autonomen Fahrfunktion (Ausfall sowohl eines Primärsystems als auch eines Backupsystems). Eine weitere Leistungskennzahl ist z.B. eine Anzahl der in der Simulation aufgetretenen Unfälle bzw. nahezu verursachten Unfälle. Weiter könnte als Leistungskennzahl auch eine Ressourcenauslastung des Gesamtsystems und/oder eine Reichweite, die das Fahrzeug am Ende des Simulationsdurchlauf noch aufweist, betrachtet werden.

In einer weiterbildenden Ausführungsform ist vorgesehen, dass der im Feld erzeugte Trainingsdatensatz an einen zentralen Server übermittelt wird. Hierdurch können von mehreren Fahrzeugen, insbesondere von einer Fahrzeugflotte, im Feld gewonnene Trainingsdaten auf dem zentralen Server gesammelt werden und für das Trainieren des Maschinenlernverfahrens nutzbar gemacht werden.

In einer Ausführungsform des Verfahrens zum Trainieren ist vorgesehen, dass das trainierte Maschinenlernverfahren zum Bereitstellen in einen Speicher einer Rekonfigurationseinrichtung von mindestens einem Fahrzeug geladen wird. Hierdurch kann das trainierte Maschinenlernverfahren direkt zur Anwendung im Feld platziert werden.

In einer Ausführungsform des Verfahrens zum Trainieren ist vorgesehen, dass mindestens ein im Feld erzeugter Trainingsdatensatz erhalten wird und dem Trainingsdatensatz hinzugefügt wird. Hierdurch kann das Maschinenlernverfahren unter Berücksichtigung von im Feld unter realen Anwendungsbedingungen erzeugten bzw. gesammelten Trainingsdaten (nach-)trainiert werden. ln einer Ausführungsform des Verfahrens zum Trainieren ist vorgesehen, dass der Trainingsdatensatz nur aus solchen Trainingsdaten erzeugt wird und/oder nur solche Trainingsdaten dem Trainingsdatensatz hinzugefügt werden, deren mindestens eine Leistungskennzahl mindestens ein vorgegebenes Selektionskriterium erfüllt. Hierdurch kann ein bereits im Hinblick auf das vorgegebene Selektionskriterium optimierter Trainingsdatensatz erzeugt und bereitgestellt werden. Im Feld erlaubt dies, dass das mittels des bereits vorselektierten Trainingsdatensatzes trainierte Maschinenlernverfahren ausgehend von den erfassten und/oder erhaltenen Kontextinformationen bereits im Hinblick auf das mindestens eine vorgegebene Selektionskriterium optimierte Konfigurationen schätzt. Es steht hiermit nicht nur irgendeine mögliche Konfiguration zur Verfügung, sondern eine verbesserte Konfiguration, deren mindestens eine Leistungskennzahl bereits das mindestens eine Selektionskriterium erfüllt. Das mindestens eine Selektionskriterium kann beispielsweise mindestens einen vorgegebenen Schwellenwert und/oder Wertebereich für mindestens eine Leistungskennzahl beinhalten.

In einer Ausführungsform des Verfahrens zum Trainieren ist vorgesehen, dass das Simulieren und Trainieren auf einem zentralen Server durchgeführt wird. Hierdurch können deutlich größere Berechnungsressourcen (Rechenleistung und Speicher) bereitgestellt werden als dies beispielsweise in einem Fahrzeug möglich wäre. Darüber hinaus ermöglicht das Trainieren auf einem zentralen Server das Berücksichtigen von im Feld gewonnenen Trainingsdaten von Fahrzeugen einer Fahrzeugflotte.

Ferner wird insbesondere auch ein Fahrzeug geschaffen, umfassend mindestens eine Vorrichtung nach einer der beschriebenen Ausführungsformen.

Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen:

Fig. 1 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum

Rekonfigurieren einer Systemarchitektur eines automatisiert fahrenden Fahrzeugs;

Fig. 2 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Trainieren eines Maschinenlernverfahrens;

Fig. 3 eine schematische Darstellung zur Verdeutlichung eines Zusammenspiels einer Vorrichtung in einem Fahrzeug im Feld mit einem zentralen Server. ln Fig. 1 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Rekonfigurieren einer Systemarchitektur 51 eines automatisiert fahrenden Fahrzeugs 50 gezeigt. Die Vorrichtung 1 führt das in dieser Offenbarung beschriebene Verfahren zum Rekonfigurieren der Systemarchitektur 51 des automatisiert fahrenden Fahrzeugs 50 aus.

Die Systemarchitektur 51 umfasst eine Vielzahl von Anwendungsinstanzen 20-x und eine Vielzahl von Berechnungsknoten 21-x, wobei die Anwendungsinstanzen 20-x gemäß einer Konfiguration 22 verteilt auf den Berechnungsknoten 21-x ausgeführt werden. Zumindest einem Teil der Anwendungsinstanzen 20-x werden erfasste Sensordaten mindestens eines Sensors zugeführt und zumindest von einem Teil der Anwendungsinstanzen 20-x werden Steuersignale zum Steuern des Fahrzeugs 50 erzeugt und bereitstellt.

Die Vorrichtung 1 umfasst eine Kontexterfassungseinrichtung 2 und eine Rekonfigurationseinrichtung 3. Die Kontexterfassungseinrichtung 2 und die Rekonfigurationseinrichtung 3 können beispielsweise als eine Kombination von Hardware und Software auf einem Berechnungsknoten 21-x ausgeführt werden.

Die Kontexterfassungseinrichtung 2 ist dazu eingerichtet, mindestens eine Kontextinformation 10 eines aktuellen Kontextes, in dem das Fahrzeug 50 betrieben wird, zu erfassen und/oder zu erhalten. Ein Kontext umfasst beispielsweise Informationen zu einem Umfeld des Fahrzeugs 50, einer Tageszeit, zu Fahrer- und/oder Fahrgastwünschen (z.B. Komfortwünsche, Entertainmentwünsche etc.) und/oder zu einem Fehlerzustand (fehlerhafte Anwendungsinstanzen, ausgefallende Berechnungsknoten, fehlerhafte Sensoren etc.). Die mindestens eine Kontextinformation 10 wird von der Kontexterfassungseinrichtung 2 beispielsweise aus erfassten Sensordaten abgeleitet oder bestimmt und/oder von einem Dienstleister empfangen (z.B. Wetterdaten etc.).

Die Rekonfigurationseinrichtung 3 stellt ein trainiertes Maschinenlernverfahren 3-1, insbesondere in Form eines trainierten Neuronalen Netzes, bereit. Das trainierte Maschinenlernverfahren 3-1, insbesondere das trainierte Neuronale Netz, ist darauf trainiert, ausgehend von der mindestens einen Kontextinformation 10 eine Konfiguration 22x zu schätzen. Die Rekonfigurationseinrichtung 2 umfasst ferner eine

Konfigurationsanpassungseinrichtung 3-2. Die Konfigurationsanpassungseinrichtung 3-2 ist dazu eingerichtet, die Konfiguration 22 gemäß der geschätzten Konfiguration 22x anzupassen. Hierzu konfiguriert die Konfigurationsanpassungseinrichtung 3-2 die Anwendungsinstanzen 20- x auf den Berechnungsknoten 21-x gemäß der geschätzten Konfiguration 22x. Der Vorteil der Vorrichtung 1 ist, dass auch für seltene oder unbekannte Kontexte eine Konfiguration 22x geschätzt werden kann, sodass ungeachtet einer konkreten Ausprägung des Kontextes, in dem sich das Fahrzeug 50 aktuell befindet, stets eine Konfiguration 22 zur Verfügung gestellt werden kann.

Es kann ferner vorgesehen sein, dass das trainierte Maschinenlernverfahren 3-1, insbesondere das trainierte Neuronale Netz, zugehörig zu der geschätzten Konfiguration 22x auch mindestens eine Leistungskennzahl 23x schätzt.

Der beschriebene Ablauf wird insbesondere fortlaufend wiederholt, sodass fortlaufend und wiederholt eine kontextabhängige Konfiguration 22x geschätzt wird. Es kann hierbei vorgesehen sein, dass die Kontexterfassungseinrichtung 2 den aktuellen Kontext fortlaufend erfasst und/oder erhält und nur bei einer Kontextänderung die mindestens eine (geänderte) Kontextinformation an die Rekonfigurationseinrichtung 3 übermittelt.

Es kann vorgesehen sein, dass mindestens eine Leistungskennzahl 23 während des Anwendens der angepassten Konfiguration 22x bestimmt und zugehörig zur angepassten Konfiguration 22x gespeichert wird, wobei aus der erfassten und/oder erhaltenen mindestens einen Kontextinformation 10, der angepassten Konfiguration 22x und der bestimmten mindestens einen Leistungskennzahl 23 Trainingsdaten erzeugt werden und wobei ein aus solchen Trainingsdaten zusammengestellter Trainingsdatensatz als im Feld erzeugter Trainingsdatensatz 40f bereitgestellt wird. Das Bestimmen der mindestens einen Leistungskennzahl 23 erfolgt beispielsweise mittels einer Monitoreinrichtung 4.

Weiterbildend kann vorgesehen sein, dass der im Feld erzeugte Trainingsdatensatz 40f an einen zentralen Server 30 (Fig. 3) übermittelt wird.

In Fig. 2 ist ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Trainieren eines Maschinenlernverfahrens zur Anwendung in der Vorrichtung bzw. in dem zugehörigen Verfahren gezeigt.

In einer Maßnahme 100 werden Trainingsdaten ausgehend von einer Simulation erzeugt, in der das Fahrzeug und eine Fahrzeugumgebung realistisch simuliert werden.

Hierzu werden in einer Maßnahme 100a Kontextinformationen erzeugt (Fahrzeugumgebung, Fahrerwünsche, Fehlerzustände von Anwendungsinstanzen und/oder von Berechnungsknoten und/oder von einer Sensorik etc.). Ferner wird in einer Maßnahme 100b für die erzeugte Kontextinformation eine Konfiguration erzeugt. Im einfachsten Fall wird die Konfiguration zufällig erzeugt. Die erzeugte Konfiguration muss jedoch die vorgegebenen Anforderungen erfüllen. In einer Maßnahme 100c wird das simulierte Fahrzeug entsprechend der erzeugten Konfiguration konfiguriert, das heißt, die Anwendungsinstanzen werden gemäß der erzeugten Konfiguration auf (simulierten) Berechnungsknoten verteilt. In einer Maßnahme 100d wird das Fahrzeug in der Fahrzeugumgebung im zugehörigen Kontext simuliert. Während der Simulation wird in einer Maßnahme 100e mindestens eine Leistungskennzahl zum Beurteilen der erzeugten Konfiguration bestimmt. In einer Maßnahme 10Of werden Trainingsdaten aus der Kontextinformation, der erzeugten Konfiguration und der bestimmten mindestens einen Leistungskennzahl erstellt und einem Trainingsdatensatz zugeführt.

Die Maßnahmen 100a bis 10Of werden für eine vorgegebene Anzahl von Trainingsdaten wiederholt.

In einer Maßnahme 101 wird das Maschinenlernverfahren, insbesondere ein Neuronales Netz, mittels des Trainingsdatensatzes trainiert. Zum Trainieren des Maschinenlernverfahrens werden die Kontextinformationen als Eingangsdaten des Maschinenlernverfahrens verwendet. Die jeweils zugehörig erzeugten Konfigurationen und die zugehörig bestimmte mindestens eine Leistungskennzahl werden als Grundwahrheit beim Trainieren verwendet. Das Trainieren des Maschinenlernverfahrens erfolgt ansonsten in an sich bekannter Weise.

Das trainierte Maschinenlernverfahren wird nach dem Trainieren in einer Maßnahme 102, insbesondere in Form eines Datenpakets, das eine Struktur und Parameter des trainierten Maschinenlernverfahrens beschreibt und/oder beinhaltet, bereitgestellt.

Es kann vorgesehen sein, dass das trainierte Maschinenlernverfahren, insbesondere das trainierte Neuronale Netz, in Maßnahme 102 zum Bereitstellen in einen Speicher einer Rekonfigurationseinrichtung von mindestens einem Fahrzeug geladen wird. Insbesondere kann vorgesehen sein, das trainierte Maschinenlernverfahren, insbesondere das trainierte Neuronale Netz, an Fahrzeuge einer Fahrzeugflotte zu übermitteln und in die jeweiligen Speicher der Rekonfiguration der einzelnen Fahrzeuge zu laden.

Es kann vorgesehen sein, dass in einer Maßnahme 103 mindestens ein im Feld erzeugter Trainingsdatensatz erhalten wird und dem Trainingsdatensatz hinzugefügt wird. Es kann vorgesehen sein, dass der Trainingsdatensatz nur aus solchen Trainingsdaten erzeugt wird und/oder nur solche Trainingsdaten dem Trainingsdatensatz hinzugefügt werden, deren mindestens eine Leistungskennzahl mindestens ein vorgegebenes Selektionskriterium erfüllt. Hierzu wird in einer Maßnahme 100g überprüft, ob die mindestens eine Leistungskennzahl das mindestens eine Selektionskriterium erfüllt oder nicht. Erfüllt die mindestens eine Leistungskennzahl das mindestens eine Selektionskriterium, so wird das Tripel aus Kontextinformation, Konfiguration und mindestens einer Leistungskennzahl in Maßnahme 10Of dem Trainingsdatensatz als Trainingsdaten hinzugefügt, anderenfalls wird das Tripel in Maßnahme 100h verworfen und nicht weiter berücksichtigt.

Es kann vorgesehen sein, dass das Simulieren und Trainieren auf einem zentralen Server durchgeführt wird.

In der Fig. 3 ist eine schematische Darstellung zur Verdeutlichung eines Zusammenspiels einer Vorrichtung 1 in einem Fahrzeug 50 im Feld mit einem zentralen Server 30 gezeigt. Die Vorrichtung 1 und das Fahrzeug 50 sind grundsätzlich wie in der Ausführungsform ausgebildet, die in der Fig. 1 gezeigt ist. Gleiche Bezugszeichen bezeichnen gleiche Merkmale und Begriffe.

Auf dem zentralen Server 30 wird das Verfahren zum Trainieren des Maschinenlernverfahrens ausgeführt, beispielsweise in einer Ausführungsform, wie diese mit Bezug auf die Fig. 2 beschrieben wurde. Hierzu werden in einer Maßnahme 200 Trainingsdaten mittels einer Simulation des Fahrzeugs und der Fahrzeugumgebung erzeugt, wie dies bereits voranstehend beschrieben wurde. Die Trainingsdaten umfassen Tripel aus mindestens einer Kontextinformation 10, einer Konfiguration 22 und mindestens einer Leistungskennzahl 23 und bilden einen Trainingsdatensatz 40. In einer Maßnahme 201 wird ein Maschinenlernverfahren, insbesondere ein Neuronales Netz, mittels des Trainingsdatensatzes 40 trainiert.

Nach dem Trainieren wird das trainierte Maschinenlernverfahren 3-1, insbesondere das trainierte Neuronale Netz, von dem zentralen Server 30 an mindestens ein Fahrzeug 50 übermittelt, beispielsweise über eine drahtlose Kommunikationsschnittstelle (nicht gezeigt). Insbesondere erfolgt dies in Form einer Strukturbeschreibung und Parametern des trainierten Maschinenlernverfahrens, insbesondere des trainierten Neuronalen Netzes.

Das mindestens eine Fahrzeug 50 empfängt das trainierte Maschinenlernverfahren 3-1, insbesondere das trainierte Neuronale Netz, und lädt dieses in einen Speicher der Rekonfigurationseinrichtung 3. Anschließend erfolgt das Anwenden des trainierten Maschinenlernverfahrens 3-1, wie dies bereits mit Bezug auf die Ausführungsform in Fig. 1 beschrieben wurde.

Ein im Feld mittels der Monitoreinrichtung 4 erzeugter Trainingsdatensatz 40f wird an den zentralen Server 30 übermittelt und von dem zentralen Server 30 in den Trainingsdatensatz 40 eingefügt. Dies kann insbesondere für im Feld erzeugte Trainingsdatensätze 40f von Fahrzeugen 50 einer Fahrzeugflotte erfolgen. Hierdurch kann der Trainingsdatensatz 40 fortlaufend erweitert und aktualisiert werden.

Bezugszeichenliste

Vorrichtung

Kontexterfassungseinrichtung

Rekonfigurationseinrichtung -1 trainiertes Maschinenlernverfahren -2 Konfigurationsanpassungseinrichtung

Monitoreinrichtung 0 Kontextinformation 0-x Anwendungsinstanzen 1-x Berechnungsknoten 2 Konfiguration 2x geschätzte Konfiguration 3 Leistungskennzahl 3x geschätzte Leistungskennzahl 0 zentraler Server 0 Trainingsdatensatz 0f im Feld erzeugter Trainingsdatensatz 0 Fahrzeug 1 Systemarchitektur 00-102 Maßnahmen des Verfahrens (Training) 00, 201 Maßnahmen