-
Die Erfindung bezieht sich auf ein Verfahren und ein Computerprogramm zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen.
-
Die Entwicklung von autonomen Fahrzeugen ist ein aktueller Schwerpunkt in der Fahrzeugentwicklung. Dabei wird häufig mit regelbasierten und/oder erfahrungswertbasierten Implementierungen gearbeitet, die zuerst simuliert werden und anschließend auf Teststrecken unter realen Bedingungen getestet werden.
-
Die
US20190213290A1 beschreibt ein Verfahren zur Simulation der Testumgebung für ein hochautomatisiertes Fahrzeug, umfassend eine Vielzahl von Objekten, Geländeformen, Straßen und Straßenzuständen.
-
Weiterhin beschreibt
DE102006044086B4 ein System zur virtuellen Simulation von Verkehrssituationen, mit einer Anzeigeeinheit zur bildhaften Anzeige der virtuellen Verkehrssituationen und einer Eingabeeinheit, und mit zumindest einem nicht-deterministisch ausgestalteten Referenzfahrzeug und zumindest einem weiteren modellierten Verkehrsteilnehmer.
-
Dabei ist die Anzahl von Situationen, in denen ein solches autonomes Fahrzeug eingesetzt werden soll, unüberschaubar groß, so dass sich auch mit sorgfältiger Planung nicht alle Situationen simulieren und testen lassen, die in der Realität vorkommen können.
-
Es stellt sich daher die Aufgabe, ein verbessertes Verfahren zum Simulieren eines automatisierten Fahrzeugs bereitzustellen, das es ermöglicht, zuvor nicht simulierte Situationen zu erkennen und simulativ zu überprüfen.
-
Die Erfindung basiert auf der Idee, eine hierarchische Aufstellung von Fahrumgebungen, Fahrvorhaben und Szenarien zu generieren, aus denen eine Mehrzahl von Testfällen generiert wird. Dabei kann für jede Kombination aus Fahrumgebung (wie etwa Kreisverkehr, Kreuzung, Bushaltestelle, Werksgelände etc.), Fahrvorhaben (wie etwa Rechtsabbiegen, Linksabbiegen, Geradeausfahren, Parken etc.) und Szenario (Einfluss verschiedener beweglicher Objekte auf das autonome Fahrzeug) ein Testfall generiert werden. Für jeden der Testfälle wird deterministisch ein erwartetes/erwünschtes Verhalten definiert, und es wird eine Simulation der Testfälle durchgeführt, die mit dem erwarteten Verhalten automatisiert verglichen wird. Dabei kann die Simulation eines Testfalls zumindest einen Parameter umfassen, der veränderbar ist. Dieser kann variiert werden, um Systemgrenzen des autonomen Fahrzeugs zu bestimmen, außerhalb derer das autonome Fahrzeug in einem Sicherheitsmodus betrieben werden kann.
-
Ausführungsbeispiele schaffen daher ein Verfahren zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen. Das Verfahren umfasst ein Erfassen einer Mehrzahl von Fahrumgebungen, einer Mehrzahl von Fahrvorhaben des autonomen Fahrzeugs für die Mehrzahl von Fahrumgebungen und einer Mehrzahl von Szenarien für die Mehrzahl von Fahrvorhaben. Die Mehrzahl von Szenarien bilden jeweils einen Einfluss von ein oder mehreren veränderbaren Objekten auf ein Fahrvorhaben der Mehrzahl von Fahrvorhaben ab. Das Verfahren umfasst ferner ein Generieren der Mehrzahl von Testfällen für die Simulation des autonomen Fahrzeugs basierend auf der Mehrzahl von Fahrumgebungen, der Mehrzahl von Fahrvorhaben und der Mehrzahl von Szenarien. Das Verfahren umfasst ferner ein Bereitstellen eines erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen. Das Verfahren umfasst ferner ein Simulieren des autonomen Fahrzeugs in der Mehrzahl von Testfällen. Das Verfahren umfasst ferner ein automatisiertes Auswerten einer Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs. Durch das Generieren der Mehrzahl von Testfällen können Lücken in der Simulation des autonomen Fahrzeugs aufgespürt werden, durch die deterministische Definition des erwarteten Verhaltens wird eine automatisierte Auswertung der Simulation ermöglicht, und durch die Simulation der Mehrzahl von Testfällen wird ein Identifizieren derjenigen Konstellationen ermöglicht, für die eine Programmierung des autonomen Fahrzeugs zu verbessern ist.
-
Dabei können die Testfälle der Mehrzahl von Testfällen jeweils zumindest einen veränderbaren Parameter aufweisen. Die Simulation des autonomen Fahrzeugs kann für verschiedene Werte des zumindest einen veränderbaren Parameters durchgeführt werden. Dies ermöglicht ein Ermitteln von Systemgrenzen des autonomen Fahrzeugs.
-
So kann das automatisierte Auswerten der Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs diejenigen Werte des zumindest einen veränderbaren Parameters ermitteln, bei denen eine Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs vorliegt, um Systemgrenzen des autonomen Fahrzeugs zu bestimmen. Diese Systemgrenzen können genutzt werden, um zu definieren, in welchen Situationen das Fahrzeug einen Sicherheits-Fahrmodus nutzt.
-
Das Verfahren kann ferner ein Anpassen einer Programmierung des autonomen Fahrzeugs basierend auf den bestimmten Systemgrenzen umfassen, so dass die Programmierung das autonome Fahrzeug außerhalb der Systemgrenzen in einen Sicherheits-Fahrmodus versetzt. Zudem kann das Verfahren ferner ein Anpassen des erwarteten Verhaltens des autonomen Fahrzeugs umfassen, so dass das erwartete Verhalten außerhalb der Systemgrenzen darauf basiert, dass das autonome Fahrzeug einen Sicherheits-Fahrmodus nutzt. Dies ermöglicht etwa den Einsatz des autonomen Fahrzeugs mit einer reduzierten Geschwindigkeit falls es sich in einer Situation befindet, die in einer Simulation zu einer Abweichung zwischen dem erwarteten Verhalten und dem simulierten Verhalten geführt haben.
-
In zumindest manchen Ausführungsbeispielen umfasst das Verfahren ein Identifizieren einer Teilmenge der Testfälle, für die kein erwartetes Verhalten definiert ist. Dies ermöglicht es, zu erkennen, welche Situationen noch nicht durch das Verfahren untersucht sind.
-
Beispielsweise kann das erwartete Verhalten deterministisch definiert sein. Dies ermöglicht den automatisierten Vergleich der Simulation mit dem erwarteten Verhalten.
-
So kann das erwartete Verhalten als Sequenz von erwarteten Aktivitäten des autonomen Fahrzeugs definiert sein. Eine solche Sequenz lässt sich automatisiert mit der Simulation vergleichen, ermöglicht gleichzeitig aber auch eine Definition und/oder ein Verständnis des erwarteten Verhaltens durch einen Entwickler.
-
In manchen Ausführungsbeispielen umfasst das Verhalten ferner ein Erfassen zumindest eines externen Einflussfaktors. Das Generieren der Mehrzahl von Testfällen für die Simulation des autonomen Fahrzeugs kann ferner auf dem zumindest einen externen Einflussfaktor basieren. Der zumindest eine externe Einflussfaktor kann als zusätzliche Schicht in der Generierung der Mehrzahl von Testfällen genutzt werden.
-
Dabei kann der zumindest eine externe Einflussfaktor zumindest ein Element der Gruppe von Wetter, einem Straßenzustand, einem optischen Signal und einem akustischen Signal umfassen. Dies ermöglicht die Generierung einer Vielzahl von möglichen Konstellationen.
-
Dabei kann die Mehrzahl von Testfällen als Mengenprodukt aus der Mehrzahl von Fahrumgebungen, der Mehrzahl von Fahrvorhaben, der Mehrzahl von Szenarien (und optional dem zumindest einen externen Einflussfaktor) gebildet werden. So kann ein Katalog von Testfällen generiert werden, der (möglichst) alle Fallkonstellationen abdeckt.
-
Ausführungsbeispiele schaffen ferner ein Programm mit einem Programmcode zum Durchführen des Verfahrens, wenn der Programmcode auf einem Computer, einem Prozessor, einem Kontrollmodul oder einer programmierbaren Hardwarekomponente ausgeführt wird.
-
Weitere vorteilhafte Ausgestaltungen werden nachfolgend anhand der in den Zeichnungen dargestellten Ausführungsbeispiele, auf welche Ausführungsbeispiele generell jedoch nicht insgesamt beschränkt sind, näher beschrieben. Es zeigen:
- 1a und 1b zeigen Flussdiagramme von Ausführungsbeispielen eines Verfahrens zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen.
- 2 zeigt ein schematisches Diagramm einer Generierung eines funktionalen Katalogs für ein Fahrzeug;
- 3 zeigt ein schematisches Diagramm, das illustriert, wie aus einer Fahrumgebung, einem Fahrvorhaben und veränderbaren Objekten ein Testfall generiert wird;
- 4 zeigt ein übergreifendes schematisches Diagramm, das eine Mehrzahl von Testfällen basierend auf einer Mehrzahl von Fahrumgebungen, einer Mehrzahl von Fahrvorhaben, einer Mehrzahl von Szenarien, Wetter und einem Straßenzustand generiert wird;
- 5 zeigt ein schematisches Diagramm, das illustriert, wie aus einer Route ein Missions-Plan generiert wird;
- 6 zeigt ein Beispiel eines Benennungsschemas;
- 7a bis 7i zeigt beispielhafte Szenarien;
- 8 zeigt ein Objektdiagramm von Objekten der Testfälle;
- 9 zeigt ein beispielhaftes Aktivitätsdiagramm; und
- 10 zeigt ein Diagramm eines Verfahrens zum Simulieren einer Mehrzahl von Testfällen.
-
Verschiedene Ausführungsbeispiele werden nun ausführlicher unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in denen einige Ausführungsbeispiele dargestellt sind. Bei der nachfolgenden Beschreibung der beigefügten Figuren, die lediglich einige exemplarische Ausführungsbeispiele zeigen, können gleiche Bezugszeichen gleiche oder vergleichbare Komponenten bezeichnen. Solange nichts anderes definiert ist, haben sämtliche hierin verwendeten Begriffe (einschließlich von technischen und wissenschaftlichen Begriffen) die gleiche Bedeutung, die ihnen ein Durchschnittsfachmann auf dem Gebiet, zu dem die Ausführungsbeispiele gehören, beimisst. Ferner sei klargestellt, dass Ausdrücke, z.B. diejenigen, die in allgemein verwendeten Wörterbüchern definiert sind, so zu interpretieren sind, als hätten sie die Bedeutung, die mit ihrer Bedeutung im Kontext der einschlägigen Technik konsistent ist, und nicht in einem idealisierten oder übermäßig formalen Sinn zu interpretieren sind, solange dies hierin nicht ausdrücklich definiert ist.
-
Die 1a und 1b zeigen Flussdiagramme von Ausführungsbeispielen eines Verfahrens, etwa eines computerimplementierten Verfahrens, zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen. Das Verfahren umfasst ein Erfassen 110 einer Mehrzahl von Fahrumgebungen 10, einer Mehrzahl von Fahrvorhaben 20 des autonomen Fahrzeugs für die Mehrzahl von Fahrumgebungen 10, und einer Mehrzahl von Szenarien 30 für die Mehrzahl von Fahrvorhaben 20. Die Mehrzahl von Szenarien 30 bilden jeweils einen Einfluss von ein oder mehreren veränderbaren Objekten auf ein Fahrvorhaben der Mehrzahl von Fahrvorhaben ab. Das Verfahren umfasst ferner ein Generieren 120 der Mehrzahl von Testfällen für die Simulation des autonomen Fahrzeugs basierend auf der Mehrzahl von Fahrumgebungen 10, der Mehrzahl von Fahrvorhaben 20 und der Mehrzahl von Szenarien 30. Das Verfahren umfasst ferner ein Bereitstellen 130 eines erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen. Das Verfahren umfasst ferner ein Simulieren 140 des autonomen Fahrzeugs in der Mehrzahl von Testfällen. Das Verfahren umfasst ferner ein automatisiertes Auswerten 150 einer Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs.
-
Ausführungsbeispiele befassen sich mit einem Verfahren und einem entsprechenden Computerprogramme, das genutzt werden kann, um ein Verhalten eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen zu simulieren, um automatisiert herauszufinden, ob die Programmierung des automatisierten Fahrzeugs das automatisierte Fahrzeug so steuert, dass das simulierte Verhalten des Fahrzeugs dem erwarteten Verhalten des Fahrzeugs entspricht. Um dabei möglichst alle relevanten Konstellationen abzudecken, auch für Testsituationen, die in realen Tests ggf. nicht erfasst werden, wird in dem Verfahren die Mehrzahl von Testfällen basierend auf einer Kombination aus Fahrumgebungen, Fahrvorhaben und Szenarien gebildet.
-
Um ein Bespiel zu geben kann die Fahrumgebung etwa eine Kreuzung sein. Erreicht das autonome Fahrzeug die Kreuzung, so kann es verschiedene Fahrvorhaben haben, wie etwa rechts abbiegen, links abbiegen oder geradeaus weiterfahren. Diese Fahrvorhaben können je nach Szenario unterschiedlich durchgeführt werden, d.h. das autonome Fahrzeug wird einfacher links abbiegen können, falls es keinen Gegenverkehr gibt oder falls eine Linksabbieger-Ampel geschaltet ist, oder das autonome Fahrzeug muss auch auf unerwartete Situationen reagieren können, etwa falls ein vorausfahrender Fahrradfahrer auf der Kreuzung stürzt oder falls ein anderes Fahrzeug dem autonomen Fahrzeug die Vorfahrt nimmt. In anderen Worten entstehen die Situationen dadurch, dass ein oder mehrere veränderbare Objekte, wie etwa bewegliche Objekte wie Fahrzeuge oder Fußgänger, oder veränderbare Objekte wie Ampeln, einen Einfluss auf das Fahrvorhaben des Fahrzeugs nehmen.
-
Basierend auf einer Kombination der unterschiedlichen Fahrumgebungen (wie etwa Kreuzung, Autobahn, Landstraße, Kreisverkehr, Bushaltestelle etc.), Fahrvorhaben (wie etwa links abbiegen, rechts abbiegen, geradeaus fahren, überholen, dem Verkehr folgen, anhalten), und Szenarien (dem Einfluss der ein oder mehreren veränderbaren Objekte) kann die Mehrzahl von Testfällen generiert werden. Beispielsweise kann die Mehrzahl von Testfällen als Katalog von Testfällen bezeichnet werden. In anderen Worten bilden die Mehrzahl von Testfällen diejenigen Testfälle ab, mit denen das autonome Fahrzeug zurechtkommen soll.
-
Das Verfahren umfasst das Erfassen 110 der Mehrzahl von Fahrumgebungen 10, der Mehrzahl von Fahrvorhaben 20 des autonomen Fahrzeugs für die Mehrzahl von Fahrumgebungen 10, und der Mehrzahl von Szenarien 30 für die Mehrzahl von Fahrvorhaben 20. Beispielsweise kann das Erfassen 110 der Fahrumgebungen, der Fahrvorhaben und der Szenarien ein Auslesen der Fahrumgebungen aus einer Datenbank oder aus ein oder mehreren Dateien eines Dateisystems umfassen. So können die Fahrumgebungen, das Fahrvorhaben und die Szenarien in einer oder mehreren Datenbanken oder in den ein oder mehreren Dateien spezifiziert sein. Beispielsweise kann/können die ein oder mehreren Datenbanken oder Dateien die Fahrumgebungen, das Fahrvorhaben und die Szenarien umfassen. Dabei ist in manchen Ausführungsbeispielen das Fahrvorhaben abhängig von den Fahrumgebungen spezifiziert, d.h. für jede Fahrumgebung kann spezifiziert sein, welche Fahrvorhaben durchführbar sind. Alternativ kann das Fahrvorhaben unabhängig von den Fahrumgebungen spezifiziert sein. Zudem können die Szenarien abhängig von den Fahrumgebungen und/oder abhängig von den Fahrvorhaben spezifiziert sein, d.h. für jede Fahrumgebung kann spezifiziert sein, welche Szenarien auftreten können, oder für jede Kombination aus Fahrumgebung und Fahrvorhaben kann spezifiziert sein, welche Szenarien auftreten können. In zumindest manchen Ausführungsbeispielen können die Fahrumgebungen, das Fahrvorhaben und die Szenarien in einem Schichtmodell implementiert und/oder dargestellt sein, wie es in den 2 und 3 zu sehen ist.
-
Dabei kann eine Fahrumgebung einen Ort darstellen, an dem sich ein Fahrzeug auf zumindest einer Straße oder auf zumindest einer Fläche bewegen kann. Die Fahrumgebung kann dabei örtlich begrenzt sein, d.h. es kann sich um einen Ort handeln, an dem eine verkehrstechnische Besonderheit besteht. So kann eine Fahrumgebung beispielsweise ein Kreisverkehr sein, eine Kreuzung, ein Bahnübergang, eine Umgebung einer Bushaltestelle, eine Autobahnauffahrt, einen Bereich um eine Fußgängerampel, oder auch ein Bereich einer Landstraße oder Autobahn, der stellvertretend für eine „normale“ Straße genutzt wird. Ein Fahrvorhaben kann ein Fahrmanöver darstellen, das das autonome Fahrzeug in der Fahrumgebung durchführen soll. So kann ein Fahrvorhaben etwa ein Element der Gruppe von „rechts abbiegen“, „links abbiegen“, „geradeaus fahren“, „dem vorausfahrenden Fahrzeug folgen“, „überholen“, und „anhalten“ sein. Die Mehrzahl von Szenarien 30 bilden jeweils einen Einfluss von ein oder mehreren veränderbaren Objekten auf ein Fahrvorhaben der Mehrzahl von Fahrvorhaben ab. „Veränderbar“ bezieht sich dabei darauf, dass sich die Objekte innerhalb der Szenarien verändern können. Dabei können die ein oder mehreren veränderbaren Objekte beispielsweise ein oder mehrere bewegliche Objekte, wie etwa Fahrzeuge (Automobile oder Fahrräder) oder Fußgänger umfassen, die sich in den Szenarien bewegen (und sich dadurch verändern). Zudem können die ein oder mehreren veränderbaren Objekte ein oder mehrere Ampeln umfassen, die sich innerhalb der Szenarien verändern. Durch diese Veränderungen nehmen die ein oder mehreren Veränderungen einen Einfluss auf das jeweilige Fahrvorhaben des autonomen Fahrzeugs.
-
Dabei können sowohl die Fahrumgebungen als auch das Fahrvorhaben in einen größeren Kontext eingebettet sein. So kann die Mehrzahl von Fahrumgebungen Teil einer Route sein, d.h. die Route kann die Mehrzahl von Fahrumgebungen umfassen (ohne eine Mission). Zudem kann eine globale Fahrvorhaben (auch „Missions-Plan“) für die Route definiert sein, die die Mehrzahl von Fahrvorhaben umfasst. Ein Missions-Plan kann eine Menge von Situationen (Fahrvorhaben) umfassen (mit einer Mission). Eine Mission kann eine Menge von Szenen (Fahrumgebungen), Situationen (Fahrvorhaben) und Szenarios sein. Eine Szene (d.h. eine Fahrumgebung) kann eine Unterkomponente einer Route sein, und eine statische Umgebung darstellen. Eine Situation (ein Fahrvorhaben) kann eine Beschreibung einer lokalen Mission in einer spezifischen Szene (Fahrumgebung) sein. Die Situation kann eine Unterkomponente eines Missions-Plans sein und das einfachste/Basisszenario darstellen. Ein Szenario kann eine Situation zusammen mit einem dynamischen Umfeld (also anderen Teilnehmern) sein. Ein Szenario kann benötigte Aktivitäten, wie etwa Abweichungen von einer Mission, definieren. Ein Szenario stellt damit beispielsweise eine Variation oder Variante einer Situation/eines Fahrvorhabens dar.
-
Das Verfahren umfasst das Generieren 120 der Mehrzahl von Testfällen für die Simulation des autonomen Fahrzeugs basierend auf der Mehrzahl von Fahrumgebungen 10, der Mehrzahl von Fahrvorhaben 20 und der Mehrzahl von Szenarien 30. Dabei kann die Mehrzahl von Testfällen für (alle) mögliche Kombinationen aus den Fahrumgebungen, den Fahrvorhaben und den Szenarien gebildet werden. In anderen Worten kann die Mehrzahl von Testfällen als Mengenprodukt aus der Mehrzahl von Fahrumgebungen 10, der Mehrzahl von Fahrvorhaben 20 und der Mehrzahl von Szenarien 30 gebildet werden. Dabei kann etwa bereits vorher definiert sein, welche Kombinationen aus Fahrumgebung, Fahrvorhaben und Szenario möglich sind, etwa wenn diese abhängig zueinander spezifiziert sind. Alternativ können die Fahrumgebungen, das Fahrvorhaben und die Szenarien unabhängig voneinander spezifiziert sein, und aus der Menge der möglichen Kombinationen können diejenigen Testfälle entfernt werden, die keinen Sinn ergeben.
-
In manchen Ausführungsbeispielen werden die Testfälle nicht nur aus der Kombination aus den Fahrumgebungen, den Fahrvorhaben und den Szenarien gebildet, sondern es können auch weitere „Schichten“ übernommen werden, die weitere Variationen der Testfälle ermöglichen. Beispielsweise können externe Einflussfaktoren hinzugezogen werden, wie etwa ein Wetter, ein Straßenzustand, ein optisches Signal (etwa durch einen anderen Verkehrsteilnehmer oder durch eine Ampel/Schranke) oder ein akustisches Signal. Entsprechend kann das Verfahren ferner ein Erfassen 115 zumindest eines externen Einflussfaktors 40; 50 umfassen. Diese können ähnlich wie die Fahrumgebungen, das Fahrvorhaben und die Szenarien erfasst werden. Das Generieren der Mehrzahl von Testfällen für die Simulation des autonomen Fahrzeugs kann ferner auf dem zumindest einen externen Einflussfaktor basieren. Der zumindest eine externe Einflussfaktor kann zumindest ein Element der Gruppe von Wetter 40, einem Straßenzustand 50, einem optischen Signal und einem akustischen Signal umfassen.
-
Das Verfahren umfasst ferner das Bereitstellen 130 des erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen. Dabei kann es für jeden Testfall ein oder mehrere erwartete, und damit auch erwünschte, Verhaltensweisen des autonomen Fahrzeugs geben. Das erwartete Verhalten des autonomen Fahrzeugs kann spezifizieren, wie sich das autonome Fahrzeug in den jeweiligen Testfällen verhalten soll. Dabei kann das erwartete Verhalten deterministisch definiert sein, d.h. in einer Kombination aus Fahrumgebung, Fahrverhalten und Szenario (d.h. in einem Testfall) kann ein bestimmtes Verhalten (oder mehrere bestimmte Verhaltensweisen) des Fahrzeugs definiert sein. Dies kann beispielsweise dadurch geschehen, dass für jeden Testfall ein oder mehrere Aktivitäten des autonomen Fahrzeugs spezifiziert sind, die in einer bestimmten Reihenfolge durch das Fahrzeug ausgeführt werden sollen. Das erwartete Verhalten kann den ein oder mehreren Aktivitäten entsprechen. In anderen Worten kann das erwartete Verhalten als Sequenz von erwarteten Aktivitäten des autonomen Fahrzeugs definiert sein. Beispielsweise kann das erwartete Verhalten als Aktivitätsdiagramm, wie es in 9 gezeigt ist, dargestellt und/oder eingegeben werden.
-
Teil des erwarteten Verhaltens des autonomen Fahrzeugs ist in manchen Ausführungsbeispielen auch die Definition eines Sicherheits-Fahrmodus. In einem Sicherheits-Fahrmodus kann das autonome Fahrzeug beispielsweise seine Geschwindigkeit reduzieren, größere Abstände halten, andere Fahrzeuge trotz Vorfahrt passieren lassen oder auf die Hilfe eines entfernten Fahrers zurückgreifen. Dabei kann das erwartete Verhalten des autonomen Fahrzeugs ebenfalls Grenzbedingungen umfassen, ab denen der Sicherheits-Fahrmodus genutzt wird. Diese Grenzbedingungen entsprechen in manchen Ausführungsbeispielen den Systemgrenzen der Programmierung des autonomen Fahrzeugs. Die Systemgrenzen können dort gezogen werden, wo ein „normaler“ Betriebsmodus des autonomen Fahrzeugs nicht mehr ausreicht, um einen sicheren Betrieb des Fahrzeugs zu ermöglichen. Die Systemgrenzen werden dort überschritten, wo Umgebungsparameter (weit) außerhalb des normalen liegen, etwa bei besonders schlechtem Wetter, sehr engen Straßen, engen Kurvenradien oder bei Straßen, die aufgrund eines Unfalls oder einer Baustelle einen ungewohnten Verkehrsfluss aufweisen.
-
Wie bereits die Fahrumgebung, Fahrvorhaben und die Szenarien kann das erwartete Verhalten des autonomen Fahrzeugs aus einer Datenbank und/oder aus ein oder mehreren Dateien eingelesen werden. Das erwartete Verhalten kann beispielsweise als Aktivitätsdiagramm dargestellt und/oder eingegeben werden, etwa über eine Web-basierte Eingabeoberfläche oder über ein Anwendungsprogramm. Alternativ kann das erwartete Verhalten des Fahrzeugs basierend auf der Simulation erzeugt werden, d.h. die Simulation der ein oder mehreren Testfälle kann genutzt werden, um das erwartete Verhalten zu generieren. Das simulierte Verhalten kann, etwa durch ein regelbasiertes Computerprogramm, oder durch einen menschlichen Operator, darauf überprüft werden, ob es einem erwünschten Verhalten entspricht, und anschließend als erwartetes Verhalten genutzt werden.
-
In manchen Fällen ist, bei einem ersten Durchführen des Verfahrens, nicht für jeden Testfall ein erwartetes Verhalten definiert. In diesen Fällen kann das Verfahren ein Identifizieren 170 einer Teilmenge der Testfälle, für die kein erwartetes Verhalten definiert ist, umfassen. Diese Teilmenge von Testfällen kann dann, basierend auf der Simulation oder basierend auf einer Eingabe durch einen Nutzer, bereitgestellt werden.
-
Das Verfahren umfasst ferner das Simulieren 140 des autonomen Fahrzeugs in der Mehrzahl von Testfällen. In der Simulation des autonomen Fahrzeugs wird das Fahrzeug, in einer simulierten Umgebung, mit jeweils einem Testfall der Mehrzahl von Testfällen konfrontiert, d.h. das autonome Fahrzeug wird instruiert, in der Fahrumgebung des Testfalls das Fahrvorhaben auszuführen, unter Berücksichtigung der veränderbaren Objekte des jeweiligen Szenarios. Dabei kann das Simulieren 140 des autonomen Fahrzeugs über eine Computersimulation durchgeführt werden, die die physikalischen Begebenheiten des Testfalls für das autonome Fahrzeugs generiert, etwa durch Bereitstellen von simulierten Sensordaten.
-
Dabei können verschiedene Varianten des jeweiligen Testfalls simuliert werden, d.h. innerhalb des gleichen Testfalls können unterschiedliche Fälle betrachtet werden, wie etwa unterschiedliche Straßenbreiten, unterschiedliche Kurvenradien, unterschiedlich gute Sichtverhältnisse etc. Diese Unterschiede können mit Hilfe zumindest einen veränderbaren Parameters spezifiziert werden. In anderen Worten können die Testfälle der Mehrzahl von Testfällen jeweils zumindest einen veränderbaren Parameter aufweisen. Der zumindest eine veränderbare Parameter kann dazu ausgelegt sein, innerhalb eines Testfalls unterschiedliche Varianten zu generieren, um die Systemgrenzen der Programmierung des autonomen Fahrzeugs zu ermitteln. Die Simulation des autonomen Fahrzeugs kann für verschiedene Werte des zumindest einen veränderbaren Parameters durchgeführt werden. So kann der zumindest eine veränderbare Parameter beispielsweise zumindest ein Element der Gruppe von einer Breite einer Straße, einem Kurvenradius einer Straße, einem Reibungskoeffizienten einer Straße, einer Wettersituation, einem Abstand zwischen dem autonomen Fahrzeug und den ein oder mehreren veränderbaren Objekten, einer Position der ein oder mehreren veränderbaren Objekte innerhalb der Fahrumgebung, einem Verhalten der ein oder mehreren veränderbaren Objekte, einem regelwidrigen Verhalten der ein oder mehreren veränderbaren Objekte, einem maximalen Abstand ab dem Objekt der ein oder mehreren veränderbaren Objekte oder ein Objekt der Fahrumgebung erkannt wird, und einer Geschwindigkeit des autonomen Fahrzeugs umfassen.
-
Das Verfahren umfasst ferner das automatisierte Auswerten 150 der Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs. Dabei kann, in einem einfachen Beispiel, zunächst einmal ermittelt werden, in welchen Testfällen das autonome Fahrzeug in der Simulation von dem erwarteten Verhalten abweicht. Die Abweichung kann beispielsweise basierend auf einem automatischen Vergleich von Kenndaten eines simulierten Verhaltens des autonomen Fahrzeugs in dem jeweiligen Testfall mit dem erwarteten Verhalten des autonomen Fahrzeugs in dem Testfall bestimmt werden. So kann beispielsweise das erwartete Verhalten eine Sequenz von Aktivitäten des autonomen Fahrzeugs in dem Testfalls spezifizieren, etwa mit zeitlichen Vorgaben für die Aktivitäten, und die automatisierte Vergleich kann bestimmen, ob die spezifizierten Aktivitäten der Sequenz, und die jeweiligen zeitlichen Vorgaben, eingehalten wurden. Weicht das simulierte Verhalten des Fahrzeugs, zumindest in Varianten der Simulation, von dem erwarteten Verhalten ab, ggf. unter Einbeziehung einer Toleranzschwelle, so kann eine Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs für den Testfall, oder bestimmte Parameter-Variationen des Testfalls, festgestellt werden.
-
Dabei können, durch eine gezielte Veränderung des zumindest einen veränderbaren Parameters, die Systemgrenzen der Programmierung des autonomen Fahrzeugs systematisch bestimmt werden. In anderen Worten kann das automatisierte Auswerten 150 der Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs diejenigen Werte des zumindest einen veränderbaren Parameters ermitteln, bei denen eine Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs vorliegt, um die Systemgrenzen des autonomen Fahrzeugs zu bestimmen. Die Systemgrenzen können beispielsweise dort vorliegen, wo sich die Simulation von dem erwarteten Verhalten unterscheidet.
-
Basierend auf den bestimmten Systemgrenzen können anschließend die Programmierung des autonomen Fahrzeugs, aber auch das erwartete Verhalten angepasst werden. In anderen Worten umfasst das Verfahren, in manchen Ausführungsbeispielen, ein Anpassen 160 der Programmierung des autonomen Fahrzeugs basierend auf den bestimmten Systemgrenzen, so dass die Programmierung das autonome Fahrzeug außerhalb der Systemgrenzen in einen Sicherheits-Fahrmodus versetzt, d.h. die Programmierung wird so verändert, dass diese ausgebildet ist, den Sicherheits-Fahrmodus zu aktivieren, wenn sich das autonome Fahrzeug außerhalb der Systemgrenzen befindet. Das Verfahren kann ferner ein Anpassen 165 des erwarteten Verhaltens des autonomen Fahrzeugs umfassen. Dabei kann das erwartete Verhalten so angepasst werden, dass das erwartete Verhalten außerhalb der Systemgrenzen darauf basiert, dass das autonome Fahrzeug einen Sicherheits-Fahrmodus nutzt.
-
Doch auch abgesehen von Anpassungen, die auf den Systemgrenzen basieren, kann die Programmierung des autonomen Fahrzeugs (automatisiert oder durch manuelle Anpassung) angepasst werden, etwa falls eine Abweichung zwischen dem erwarteten Verhalten und der Simulation festgestellt wird.
-
Mehr Details und Aspekte des Verfahrens werden in Verbindung mit dem Konzept oder Beispielen genannt, die nachher beschrieben werden. Das Verfahren kann ein oder mehrere zusätzliche optionale Merkmale umfassen, die ein oder mehreren Aspekten des vorgeschlagenen Konzepts oder der beschriebenen Beispiele entsprechen, wie sie vorher oder nachher beschrieben wurden.
-
Zumindest manche Ausführungsbeispiele befassen sich mit der Nutzung einer System-Spezifikation in textueller Form, um ein autonomes Fahrzeug über Simulationen zu testen. Dabei wird beispielsweise untersucht, wie sich ein autonomes Fahrzeug im Straßenverkehr, Werksverkehr oder in zugangsbeschränkten Bereichen verhalten soll. Dabei wird eine Beschreibung von nicht-deterministischem Fahrzeugverhalten im Straßenverkehr, Werksverkehr oder in zugangsbeschränkten Bereichen, die nicht öffentlich zugänglich sind, geschaffen. Mit Hilfe von Ausführungsbeispielen kann ein Nachweis der Vollständigkeit des zu beschreibenden Fahrzeugverhalten, etwa in textueller Form geschaffen werden.
-
Ausführungsbeispiele schaffen einen Fahrzeug-Funktions-Katalog, der beispielsweise die Mehrzahl von Testfällen abbildet. Der Katalog basiert auf einer Vorgehensweise zur Beschreibung von Fahrverhalten im Straßenverkehr. Der Katalog umfasst eine deterministische Beschreibung des Fahrzeugverhaltens pro Situation/Szenario, durch das Bereitstellen des erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen. Eine Schicht-Struktur (auch aus dem engl. Layer-Struktur) ermöglicht eine einfachere Gap-Analyse (Lücken-Analyse) und Überprüfung, welche Funktionalität noch nicht beschrieben, und damit noch nicht simuliert und getestet, ist.
-
Die Erfindung basiert zumindest in Teilen darauf, dass ein nicht-deterministisches Fahrzeugverhalten auf deterministische Art und Weise beschrieben wird, etwa durch das Bereitstellen eines erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen. Dabei wird ein Katalog an Testfällen (die Mehrzahl von Testfällen) in einer zumindest dreistufigen Layer-Struktur generiert, die zumindest die folgenden Schichten umfasst:
- - Szene (Statische Umgebung, die Fahrumgebung), z.B. Kreuzung;
- - Situation (Eigendynamik - angewandt auf spezifische Szene, das Fahrvorhaben), z.B. Rechtsabbiegen in der Kreuzung; und
- - Szenario (Eigendynamik an bewegbare Objekte angepasst - angewandt auf spezifische Szene), z.B. Rechtsabbiegen in der Kreuzung und gleichzeitig geradeausfahrender Fahrerfahrer in der Spur.
-
Dabei wir eine klare Trennung von Statischer Umgebung, Eigendynamik und Einfluss von bewegbaren Objekten eingehalten.
-
Zusätzlich können weitere Faktoren einbezogen bzw. abgebildet werden, die Einfluss auf Fahrzeugverhalten haben über das Hinzufügen von ein oder mehreren weiteren Schichten. Diese Schichten können z.B. folgende ein oder mehrere Elemente der folgenden externen Einflussfaktoren umfassen:
- - Wetter
- - Straßenbedingungen
- - Optische Signale
- - Akustische Signale
-
Dabei können die bewegbaren Objekte über deren Attribute (wie etwa Position, relative Position, Zustand, Spur-Zuweisung) eingegrenzt werden. So können beispielsweise zwei Objekte, ein Zweispuriges Fahrzeug und ein Verkehrszeichen, dominiert sein:
- - Objekt 1:
- Objekt-Typ: Zweispuriges Fahrzeug; Position: dynamisch; relative Position: vorausfahrend; Zugewiesene Spur: in derselben Spur; Zustand: beschleunigt
- - Objekt 2:
- Objekt-Typ: Verkehrszeichen; Position: statisch; relative Position: voraus; Verkehrszeichen ID: siehe Bast; Verkehrszeichen Typ: z.B.: Bushaltestelle
-
Pro Szenario können genau definierte Objekte und deren Attribute erlaubt sein, wobei neue Objekte oder neue Zustände führen zu einem neuen Szenario führen können.
-
Das Fahrzeugverhalten, als Reaktion auf die Objekte in der Umgebung, wird in zumindest einigen Ausführungsbeispielen in Form von Aktivitätsdiagrammen (Wirkketten) beschrieben. Zu jeder Wirkkette kann ein „Minimum Risk Manöver“ (Manöver mit minimalem Risiko, Manöver, das das Fahrzeug in einem Sicherheits-Fahrmodus ausführt) definiert. Zu jedem Szenario kann eine Konfigurationsdatei angelegt werden. Über geeignete Parameter-Räume (pro Szenario) können die Systemgrenzen identifiziert und die Anforderungen an das Fahrzeugverhalten geschärft werden. Dabei kann zu jedem Szenario ein Berechnungsblatt angelegt werden, was die im Szenario relevanten Berechnungsvorschriften aufzeigt, wie etwa für eine Berechnung der Zeit/Strecke bei einem Bremsen zum Stillstand oder für eine Dauer eine Kurvendurchfahrt. Fehlende Szenarien können über ausreichende Testfahrten identifiziert werden und im Katalog aufgenommen werden.
-
2 zeigt ein schematisches Diagramm einer Generierung eines funktionalen Katalogs für ein Fahrzeug. 2 zeigt ein Schichtenmodell 200 mit den Ebenen Fahrumgebung 10 (auch „Szene“/„Scene“), Situation 20 (auch Fahrvorhaben 20), Szenario 30, Wetter 40 und Straßenzustand 40. Eine Szene/Fahrumgebung repräsentiert dabei die statische Umgebung, und ist eine Unterkomponente einer Route. Eine Situation umfasst die Beschreibung einer lokalen Mission eines zu bewegenden Fahrzeugs für eine spezifische Szene. Eine Situation ist einer Unterkomponente eines Missionsplans und stellt das einfachste Szenario dar (ohne bewegliche Objekte). Das Szenario beschreibt eine Situation inklusive eines dynamischen Umfelds (durch andere Verkehrsteilnehmer). Ein Szenario definiert dabei durchzuführende Aktionen, wie etwa eine Abweichung von einer Mission.
-
3 zeigt ein schematisches Diagramm 300, das illustriert, wie aus einer Fahrumgebung 10, einem Fahrvorhaben 20 und veränderbaren Objekten 30 ein Testfall generiert wird. Dabei wird der Fahrumgebung 10 ein Fahrvorhaben hinzugefügt, wie etwa „Abbiegen nach Links“ um die Situation (mit dem Fahrvorhaben) zu erhalten. Der Situation 20 werden bewegliche Objekte, wie etwa ein Fahrradfahrer, hinzugefügt, um ein Szenario 30 zu erhalten.
-
4 zeigt ein übergreifendes schematisches Diagramm 400, das eine Mehrzahl von Testfällen basierend auf einer Mehrzahl von Fahrumgebungen 10, einer Mehrzahl von Fahrvorhaben 20, einer Mehrzahl von Szenarien 30, Wetter 40 und einem Stra-ßenzustand 50 generiert wird. Die Mehrzahl von Testfällen sind dabei Teil einer Mission, die eine Route, einen Missions-Plan, Fahrumgebungs-Identifikatoren, Situations-Identifikatoren und Szenario-Identifikatoren umfasst. Dabei wird in zumindest manchen Ausführungsbeispielen eine Strikte Schicht-Struktur eingehalten, bei der Schichten nicht übergangen werden dürfen.
-
5 zeigt ein schematisches Diagramm, das illustriert, wie aus einer Route ein Missions-Plan generiert wird. So wird einer Route 510, die eine Mehrzahl von Fahrumgebungen umfasst, eine globale Fahr-Mission hinzugefügt, um den Missions-Plan 520, der eine Menge von Situationen umfasst, zu erhalten.
-
Dabei können die Situationen und Szenarien nach einer Namenskonvention/nach einem Benennungsschema benannt werden. So kann in einem beispielhaften Ausführungsbeispielen bei den Fahrumgebungen („Scenes“) zwischen den Fahrumgebungen C - Crossing (engl. für Kreuzung), E - Entry/Exit (engl. für Einfahrt/Ausfahrt), F - Follow Road (engl. für Folgen auf einer Straße), L - Lay-By (engl. für Haltebucht), und R - Round-About (engl. für Kreisverkehr) unterschieden werden. Zudem kann zwischen Vorfahrt Y - Yes (Ja) und N - No (Nein) unterschieden werden. Dabei wird bei der Vorfahrt angegeben, ob das sich bewegende Fahrzeug, unter Berücksichtigung der Verkehrsregeln und anderer Verkehrsteilnehmer, Vorfahrt hat. Bei den Fahrvorhabenen kann beispielsweise zwischen L - Left (Links), R - Right (Rechts) und S - Straight (Geradeaus) unterschieden werden. Dabei sagt das Fahrvorhaben aus, welche Intention das sich bewegende Fahrzeug in der aktuellen Fahrumgebung hat. In Bezug auf eine Objekt-Richtung kann zwischen B - Behind Coming (Nähert sich von hinten), F - Far Side (an der Fahrerseite), N - Near Side (an der Beifahrerseite), O - Oncoming (Entgegenkommend) und P - Preceding (Vorausfahrend) unterschieden werden. Dabei spezifiziert die Objekt-Richtung, wie andere bewegliche Objekte relativ zu dem sich bewegenden Fahrzeug positioniert sind. Zuletzt kann ein Objekt-Typ definiert werden. So können beispielsweise die Objekt-Typen C - Cyclist (Radfahrer), P - Pedestrian (Fußgänger) und V - Vehicle (Kraftfahrzeug) unterschieden werden. 6 zeigt ein Beispiel des Benennungsschemas. Das Fahrzeug 610 ist das sich bewegende/zu betrachtende Fahrzeug mit der Fahrvorhaben „Rechtsabbiegen“ 615, und Fahrrad 620 ist ein bewegliches Objekt mit der Fahrvorhaben „Geradeaus“ 625. Daraus ergibt sich, für die Fahrumgebung mit dem sich bewegenden Fahrzeug 610 und dem Fahrrad 620, der Code C - Crossing, N - No, R - Right, N - Near Side und C - Cyclist (für das Fahrrad 620).
-
7a bis 7i zeigt beispielhafte Szenarien. Diese Szenarien können beispielsweise Schlüsselszenarien eines Mobility as a Service (Mobilität als eine Dienstleistung)-Konzepts sein.
-
7a zeigt Szenarien, bei denen die Fahrumgebung 710 ein einspuriger Kreisverkehr ist. Fahrzeug 712a hat das Fahrvorhaben „Rechts abbiegen“, Fahrzeug 712b hat das Fahrvorhaben „Geradeaus“, muss aber auf das Fahrrad 714a mit der Fahrvorhaben „Geradeaus“ und das Fahrzeug 714b mit der Fahrvorhaben „Geradeaus“ achten, und Fahrzeug 712c hat das Fahrvorhaben „Links“, muss aber auf Fahrzeug 716 mit der Fahrvorhaben „Geradeaus“ achten.
-
7b zeigt Szenarien, bei denen die Fahrumgebung 720 einen Folgeverkehr darstellt. Fahrzeug 722a hat das Fahrvorhaben, rechts anzuhalten, und hat auf Fahrzeug 724a zu halten. Fahrzeug 722b folgt Fahrzeug 724b, während Fahrzeug 726 (mit der Fahrvorhaben „Geradeaus“ entgegenkommt. Fahrzeug 722c hat das Fahrvorhaben „Geradeaus“ und folgt Fahrzeug 724c, das ebenfalls das Fahrvorhaben „Geradeaus“ hat.
-
7c zeigt Szenarien, bei denen die Fahrumgebungen 730a; 730b; 730c eine Zusammenführungsspur darstellen. Dabei zeigen die Fahrumgebungen 730a und 730c das Anfang der Zusammenführungsspur und Fahrumgebung 730b zeigt das Ende der Zusammenführungsspur. Fahrzeug 732a fährt über die Zusammenführungsspur auf eine gerade, zweispurige Straße auf, muss aber auf Fahrzeug 734a mit Fahrvorhaben „Geradeaus“ achten. Fahrzeug 732b fährt am Ende der Zusammenführungsspur auf eine zweispurige Straße auf und muss ebenfalls auf ein Fahrzeug 734b mit Fahrvorhaben „Geradeaus“ achten. Fahrzeug 732c fährt auf der zweispurigen Straße, und muss auf Fahrzeug 734c achten, das auf die zweispurige Straße auffahren will.
-
7d zeigt Szenarien, bei denen die Fahrumgebung 740 eine Kreuzung darstellt, an der das Fahrzeug 742a; 742b Vorfahrt hat. Im ersten Beispiel hat Fahrzeug 742a das Fahrvorhaben „Rechts“, hat aber auf Fahrrad 744a mit Fahrvorhaben „Geradeaus“ zu achten. Im zweiten Beispiel hat Fahrzeug 742b das Fahrvorhaben „Rechts“, hat aber auf Fahrzeug 744b mit Fahrvorhaben „Geradeaus“ zu achten.
-
7e zeigt Szenarien, bei denen die Fahrumgebungen 750a; 750b Kreuzungen darstellt, an denen die Fahrzeuge 752a; 752b keine Vorfahrt haben. Dabei muss Fahrzeug 752a (mit Fahrvorhaben „Links“) auf Fahrzeug 754a (mit Fahrvorhaben „Rechts“) achten, und Fahrzeug 752b (mit Fahrvorhaben „Links“ muss auf Fahrzeug 754b (mit Fahrvorhaben „Geradeaus“) achten.
-
7f zeigt Szenarien mit Rettungsfahrzeugen 762a; 762b auf Straße 760. Im ersten Beispiel will Rettungsfahrzeug 762a das am Rand stehende Fahrzeug 764 überholen, muss gleichzeitig aber auf das entgegenkommende Fahrzeug 766 achten. Im zweiten Beispiel will Rettungsfahrzeug 762b das Fahrzeug 768 überholen.
-
7g zeigt Szenarien an einer Bushaltestelle, an der Fahrzeug 772a; 772b halten möchte, im Falle von Fahrumgebung 770a an einer Bushaltestelle, die auf einer Fahrbahn einer zweispurigen Straße markiert ist, im Falle von Fahrumgebung 770b in einer Haltebucht der Bushaltestelle.
-
7h zeigt Szenarien mit Kreuzungen 780a-780e mit Ampeln, an denen Fahrzeuge 782a-782e auf die Ampeln reagieren. Fahrzeug 782a möchte links abbiegen, die Ampel der Geradeaus-Spur ist grün, und die Ampel der Abbiege-Spur nach links ist rot. Fahrzeug 782b möchte ebenfalls links abbiegen, die Ampel (für alle Spuren) ist rot. Fahrzeug 782c möchte rechts abbiegen, und die Ampel (für alle Spuren) ist grün. Fahrzeug 782d möchte rechts abbiegen, die Ampel für Linksabbieger ist rot, die Ampel für Geradeausfahrer ist grün, und eine Rechtsabbiegerspur ist vorhanden, die nicht von den Ampeln abhängig ist. Fahrzeug 782 möchte links abbiegen, die Ampel ist gelb.
-
7i zeigt Szenarien von Fahrumgebungen 790a-790c mit besonders gefährdeten Verkehrsteilnehmen. Im ersten Beispiel hat Fahrzeug 792a auf ein Fahrrad 794, das auf einer Fahrradspur fährt, zu achten. Im zweiten Beispiel hat Fahrzeug 792b auf einen Fußgänger 796 zu achten, der die Straße mit Hilfe einer Verkehrsinsel überqueren möchte, und Fahrzeug 792c steht an einer Kreuzung 790c, an der ein Fußgänger 798 einen Zebrastreifen überqueren möchte.
-
Die Objekte, die an den Testfällen beteiligt sind, können beispielsweise in Objektdiagrammen dargestellt werden. 8 zeigt ein Objektdiagramm von Objekten der Testfälle. Ein Objekt 810, etwa ein Fahrzeug oder ein Fußgänger, umfasst oder besteht aus n Attributen 820, wie etwa eine Position, eine relative Position, ein Objekttyp, ein Objektzustand oder eine zugewiesene Fahrbahnspur. Dabei kann ein Objekt beispielsweise ein vorfahrendes Fahrzeug sein, das auf einer Fahrbahn anhält, oder ein Fahrradfahrer an der Beifahrerseite der auf einem (dedizierten) Fahrradspur fährt.
-
Das System reagiert auf diese spezifischen Objekte. Die Systemreaktion kann durch Aktivitätsdiagramme beschrieben werden. 9 zeigt ein beispielhaftes Aktivitätsdiagramm für eine Situation/ein Szenario. In dem Aktivitätsdiagramm von 9 reagiert das System auf ein Objekt 910 mit einem Satz von Start-Kriterien, mit ein oder mehreren Aktionen einer Systemreaktion 920, um zu einem Endzustand 930 zu gelangen.
-
10 zeigt ein Diagramm eines Verfahrens zum Simulieren einer Mehrzahl von Testfällen. In dem Diagramm von 10 wird ein erwartetes Fahrzeugverhalten beschrieben 1010, für eine spezifische Szene und für spezifische Werte. Das erwartete Fahrzeugverhalten umfasst dabei System-Anforderungen zum Beschreiben von Fahrzeugverhalten. Aus dem beschriebenen Fahrzeugverhalten 1010 werden Aktivitätsdiagramme abgeleitet 1020. Diese Aktivitätsdiagramme dienen als Eingabe für eine funktionale Architektur, und als Eingabe für HARA (Funktionssicherheit, Hazard and Risk Assessment, Gefahren- und Risikoanalyse). Basierend darauf kann ein Parameter-Raum definiert 1030 werden, mit dem Ziel, von einer spezifischen Beschreibung zu einer generellen Beschreibung zu gelangen. Basierend auf den vorhergehenden Schritten umfasst das Verfahren eine Simulation 140 von Szenarien für alle möglichen Kombinationen (basierend auf dem Parameterraum). Dabei wird eine Konfiguration der Simulation vorgenommen, Systemgrenzen werden mit Hilfe der Simulation bestimmt, etwa basierend auf einem Vergleich eines erwarteten mit einem implementierten Fahrzeugverhalten. Basierend auf der Simulation wird eine iterative Adaption des erwarteten Fahrzeugverhaltens statt (etwa durch Angabe der Systemgrenzen, ab denen ein Minimum-Risk-Manöver durchgeführt wird), und das implementierte Fahrzeugverhalten wird ebenfalls iterativ adaptiert. Das Verfahren kann beispielsweise genutzt werden, um Systemanforderungen für ein Fahrzeugverhalten bereitzustellen, eine Eingabe für eine funktionale Architektur bereitzustellen, eine Eingabe für HARA bereitzustellen, und/oder eine Konfiguration der Simulation zu bestimmen (die für die Entwicklung oder Tests nutzbar ist), etwa durch das Generieren der Mehrzahl von Testfällen.
-
Ein weiteres Ausführungsbeispiel ist ein Computerprogramm zur Durchführung zumindest eines der oben beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer, einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Ein weiteres Ausführungsbeispiele ist auch ein digitales Speichermedium, das maschinen- oder computerlesbar ist, und das elektronisch lesbare Steuersignale aufweist, die mit einer programmierbaren Hardwarekomponente so zusammenwirken können, dass eines der oben beschriebenen Verfahren ausgeführt wird.
-
Die in der vorstehenden Beschreibung, den nachfolgenden Ansprüchen und den beigefügten Figuren offenbarten Merkmale können sowohl einzeln wie auch in beliebiger Kombination für die Verwirklichung eines Ausführungsbeispiels in ihren verschiedenen Ausgestaltungen von Bedeutung sein und implementiert werden.
-
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
-
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-Ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einer programmierbaren Hardwarekomponente derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird.
-
Bezugszeichenliste
-
- 10
- Fahrumgebung/Szene
- 20
- Fahrvorhaben/Situation
- 30
- Szenario
- 40
- Wetter
- 50
- Straßenzustand
- 110
- Erfassen einer Mehrzahl von Fahrumgebungen, einer Mehrzahl von Fahrvorhaben, und einer Mehrzahl von Szenarien
- 115
- Erfassen zumindest eines externen Einflussfaktors
- 120
- Generieren einer Mehrzahl von Testfällen
- 130
- Bereitstellen eines erwarteten Verhaltens
- 140
- Simulieren eines autonomen Fahrzeugs
- 150
- Automatisiertes Auswerten
- 160
- Anpassen einer Programmierung
- 165
- Anpassen des erwarteten Verhaltens
- 170
- Identifizieren einer Teilmenge der Testfälle
- 200
- Schichtenmodell
- 300
- Schematisches Diagramm
- 400
- Schematisches Diagramm
- 510
- Route
- 520
- Missions-Plan
- 610
- Fahrzeug
- 615
- Fahrvorhaben des Fahrzeugs
- 620
- Fahrrad
- 625
- Fahrvorhaben des Fahrrads
- 710-798
- Elemente von beispielhaften Szenarien
- 810
- Objekt
- 820
- Attribute des Objekts
- 910
- Objekt
- 920
- Systemreaktion
- 930
- Endzustand
- 1010
- Beschreiben eines erwarteten Fahrzeugverhaltens
- 1020
- Ableiten von Aktivitätsdiagrammen
- 1030
- Definieren eines Parameter-Raums
- 1040
- Simulieren von Szenarien