DE102019211009B4 - Method and computer program for simulating an autonomous vehicle in a plurality of test cases - Google Patents
Method and computer program for simulating an autonomous vehicle in a plurality of test cases Download PDFInfo
- Publication number
- DE102019211009B4 DE102019211009B4 DE102019211009.6A DE102019211009A DE102019211009B4 DE 102019211009 B4 DE102019211009 B4 DE 102019211009B4 DE 102019211009 A DE102019211009 A DE 102019211009A DE 102019211009 B4 DE102019211009 B4 DE 102019211009B4
- Authority
- DE
- Germany
- Prior art keywords
- autonomous vehicle
- driving
- test cases
- vehicle
- expected behavior
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
Abstract
Verfahren zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen, das Verfahren umfassend: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), wobei die Mehrzahl von Szenarien (30) jeweils einen Einfluss von ein oder mehreren veränderbaren Objekten auf ein Fahrvorhaben der Mehrzahl von Fahrvorhaben abbilden;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);Bereitstellen (130) eines erwarteten Verhaltens des autonomen Fahrzeugs für jeden Testfall der Mehrzahl von Testfällen;Simulieren (140) des autonomen Fahrzeugs in der Mehrzahl von Testfällen; undAutomatisiertes Auswerten (150) einer Abweichung zwischen der Simulation des autonomen Fahrzeugs und dem erwarteten Verhalten des autonomen Fahrzeugs.Method for simulating an autonomous vehicle in a plurality of test cases, the method comprising: detecting (110) a plurality of driving environments (10), a plurality of driving intentions (20) of the autonomous vehicle for the plurality of driving environments (10), and a plurality of scenarios (30) for the plurality of driving projects (20), wherein the plurality of scenarios (30) each depict an influence of one or more changeable objects on a driving project of the plurality of driving projects;generating (120) the plurality of test cases for the simulating the autonomous vehicle based on the plurality of driving environments (10), the plurality of driving projects (20), and the plurality of scenarios (30);providing (130) an expected behavior of the autonomous vehicle for each test case of the plurality of test cases;simulating ( 140) of the autonomous vehicle in the plurality of test cases; andautomatically evaluating (150) a deviation between the simulation of the autonomous vehicle and the expected behavior of the autonomous vehicle.
Description
Die Erfindung bezieht sich auf ein Verfahren und ein Computerprogramm zum Simulieren eines autonomen Fahrzeugs in einer Mehrzahl von Testfällen.The invention relates to a method and a computer program for simulating an autonomous vehicle in a plurality of test cases.
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.The development of autonomous vehicles is a current focus in vehicle development. Rule-based and/or experience-based implementations are often used, which are first simulated and then tested on test tracks under real conditions.
Die
Weiterhin beschreibt
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.The number of situations in which such an autonomous vehicle is to be used is unmanageably large, so that even with careful planning, not all situations that can occur in reality can be simulated and tested.
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.The object is therefore to provide an improved method for simulating an automated vehicle that makes it possible to identify and simulate situations that have not been simulated before.
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.The invention is based on the idea of generating a hierarchical list of driving environments, driving projects and scenarios from which a number of test cases are generated. A test case can be generated for each combination of driving environment (such as a roundabout, intersection, bus stop, factory premises, etc.), driving project (such as turning right, turning left, driving straight ahead, parking, etc.) and scenario (influence of different moving objects on the autonomous vehicle). will. An expected/desired behavior is deterministically defined for each of the test cases, and a simulation of the test cases is carried out, which is automatically compared with the expected behavior. The simulation of a test case can include at least one parameter that can be changed. This can be varied in order to determine system limits of the autonomous vehicle, outside which the autonomous vehicle can be operated in a safety mode.
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.Embodiments therefore provide a method for simulating an autonomous vehicle in a plurality of test cases. The method includes detecting a plurality of driving environments, a plurality of driving plans of the autonomous vehicle for the plurality of driving environments, and a plurality of scenarios for the plurality of driving plans. The plurality of scenarios each depict an influence of one or more changeable objects on a driving project of the plurality of driving projects. The method further includes generating the plurality of test cases for simulating the autonomous vehicle based on the plurality of driving environments, the plurality of driving projects, and the plurality of scenarios. The method further includes providing an expected behavior of the autonomous vehicle for each test case of the plurality of test cases. The method further includes simulating the autonomous vehicle in the plurality of test cases. The method also includes an automated evaluation of a deviation between the simulation of the autonomous vehicle and the expected behavior of the autonomous vehicle. By generating the majority of test cases, gaps in the simulation of the autonomous vehicle can be detected, the deterministic definition of the expected behavior enables an automated evaluation of the simulation, and the simulation of the majority of test cases makes it possible to identify those constellations for which programming of the autonomous vehicle is to be improved.
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.The test cases of the plurality of test cases can each have at least one changeable parameter. The simulation of the autonomous vehicle can be carried out for different values of the at least one changeable parameter. This enables system limits of the autonomous vehicle to be determined.
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.The automated evaluation of the deviation between the simulation of the autonomous vehicle and the expected behavior of the autonomous vehicle can determine those values of the at least one changeable parameter at which there is a deviation between the simulation of the autonomous vehicle and the expected behavior of the autonomous vehicle around system limits of the autonomous vehicle. These system boundaries can be used to define in which situations the vehicle uses a safe driving mode.
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.The method may further include adjusting programming of the autonomous vehicle based on the determined system boundaries such that the programming places the autonomous vehicle in a safe driving mode outside of the system boundaries. Additionally, the method may further include adjusting the expected behavior of the autonomous vehicle such that the expected behavior outside of system boundaries is based on the autonomous vehicle utilizing a safe driving mode. This enables the autonomous vehicle to be used at a reduced speed if it is in a situation that has led to a deviation between the expected behavior and the simulated behavior in a simulation.
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.In at least some embodiments, the method includes identifying a subset of the test cases for which no expected behavior is defined. This makes it possible to recognize which situations have not yet been examined by the method.
Beispielsweise kann das erwartete Verhalten deterministisch definiert sein. Dies ermöglicht den automatisierten Vergleich der Simulation mit dem erwarteten Verhalten.For example, the expected behavior can be defined deterministically. This enables the automated comparison of the simulation with the expected behavior.
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.The expected behavior can be defined as a sequence of expected activities of the autonomous vehicle. Such a sequence can be automatically compared with the simulation, but at the same time also enables a definition and/or an understanding of the expected behavior by a developer.
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.In some exemplary embodiments, the behavior also includes detecting at least one external influencing factor. The generation of the plurality of test cases for the simulation of the autonomous vehicle can also be based on the at least one external influencing factor. The at least one external influencing factor can be used as an additional layer in the generation of the plurality of test cases.
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.The at least one external influencing factor can include at least one element from the group of weather, a road condition, an optical signal and an acoustic signal. This enables the generation of a large number of possible constellations.
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.In this case, the plurality of test cases can be formed as a quantity product from the plurality of driving environments, the plurality of driving projects, the plurality of scenarios (and optionally the at least one external influencing factor). In this way, a catalog of test cases can be generated that (if possible) covers all case constellations.
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.Embodiments also provide a program with program code for performing the method when the program code is executed on a computer, a processor, a control module or a programmable hardware component.
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 und1b 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 bis7i 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.
-
1a and1b show flow charts of exemplary embodiments of a method for simulating an autonomous vehicle in a plurality of test cases. -
2 FIG. 12 shows a schematic diagram of a functional catalog generation for a vehicle; FIG. -
3 shows a schematic diagram that illustrates how a test case is generated from a driving environment, a driving project and changeable objects; -
4 12 shows an overall schematic diagram that generates a plurality of test cases based on a plurality of driving environments, a plurality of driving intentions, a plurality of scenarios, weather and a road condition; -
5 shows a schematic diagram illustrating how a mission plan is generated from a route; -
6 shows an example of a naming scheme; -
7a until7i shows exemplary scenarios; -
8th shows an object diagram of objects of the test cases; -
9 shows an example activity diagram; and -
10 Figure 12 shows a diagram of a method for simulating a plurality of test cases.
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.Various embodiments will now be described in more detail with reference to the accompanying drawings, in which some embodiments are illustrated. In the following description of the accompanying figures, which only show a few exemplary embodiments, the same reference symbols can designate the same or comparable components. Unless otherwise defined, all terms used herein (including tech technical and scientific terms) have the same meaning as those of ordinary skill in the art to which the exemplary embodiments pertain. Further, it is understood that terms, such as those defined in commonly used dictionaries, are to be interpreted as having the meaning consistent with their meaning in the context of the relevant art, and not in an idealized or overly formal sense are to be interpreted unless expressly defined herein.
Die
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.Embodiments deal with a method and a corresponding computer program that can be used to simulate a behavior of an autonomous vehicle in a plurality of test cases in order to automatically find out whether the programming of the automated vehicle controls the automated vehicle in such a way that the simulated behavior of the vehicle corresponds to the expected behavior of the vehicle. In order to cover as many relevant constellations as possible, even for test situations that may not be recorded in real tests, the majority of test cases are formed in the procedure based on a combination of driving environments, driving projects and scenarios.
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.For example, the driving environment may be an intersection. When the autonomous vehicle reaches the intersection, it can have different driving intentions, such as turning right, turning left or continuing straight. These driving projects can be carried out differently depending on the scenario, i.e. the autonomous vehicle will be able to turn left more easily if there is no oncoming traffic or if a left-turn traffic light is switched on, or the autonomous vehicle must also be able to react to unexpected situations, for example if a vehicle is driving ahead Cyclist falls at the intersection or if another vehicle gives way to the autonomous vehicle. In other words, the situations arise because one or more changeable objects, such as moving objects such as vehicles or pedestrians, or changeable objects such as traffic lights, have an impact on the driving intentions of the vehicle.
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.Based on a combination of the different driving environments (such as intersection, highway, country road, roundabout, bus stop, etc.), driving intentions (such as turn left, turn right, go straight, overtake, follow traffic, stop), and scenarios (the influence the one or more changeable objects) the majority of test cases can be generated. For example, the plurality of test cases can be referred to as a catalog of test cases. In other words, the majority of test cases map those test cases with which the autonomous vehicle should be able to cope.
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
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.A driving environment can represent a place where a vehicle can move on at least one road or on at least one area. The driving environment can be locally limited, i.e. it can be a place where there is a special traffic feature. For example, a driving environment can be a roundabout, an intersection, a railroad crossing, the vicinity of a bus stop, a freeway entrance, an area around a pedestrian traffic light, or even an area of a country road or freeway that is used to represent a "normal" road. A driving project can represent a driving maneuver that the autonomous vehicle should carry out in the driving environment. For example, a driving intention may be a member of the group of "turn right," "turn left," "go straight," "follow the vehicle in front," "overtake," and "stop." The plurality of
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.Both the driving environment and the driving project can be embedded in a larger context. Thus, the plurality of driving environments can be part of a route, i.e. the route can include the plurality of driving environments (without a mission). In addition, a global travel plan (also “mission plan”) can be defined for the route, which includes the majority of travel plans. A mission plan can include a lot of situations (driving projects) (with one mission). A mission can be a set of scenes (driving environments), situations (driving projects) and scenarios. A scene (i.e. driving environment) can be a sub-component of a route, and represent a static environment. A situation (driving intention) can be a description of a local mission in a specific scene (driving environment). The situation can be a sub-component of a mission plan and represent the simplest/baseline scenario. A scenario can be a situation together with a dynamic environment (i.e. other participants). A scenario can define required activities, such as deviations from a mission. A scenario thus represents, for example, a variation or variant of a situation/driving project.
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.The method includes generating 120 the plurality of test cases for the simulation of the autonomous vehicle based on the plurality of driving
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.In some exemplary embodiments, the test cases are not only formed from the combination of the driving environments, the driving projects and the scenarios, but other “layers” can also be adopted, which enable further variations of the test cases. For example, external influencing factors can be included, such as weather, road conditions, an optical signal (e.g. from another road user or from a traffic light/barrier) or an acoustic signal. Accordingly, the method can also detect 115 at least one external influencing
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
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.In some exemplary embodiments, part of the expected behavior of the autonomous vehicle is also the definition of a safety driving mode. In a safety driving mode, the autonomous vehicle can, for example, reduce its speed, keep greater distances, let other vehicles pass despite having the right of way, or rely on the help of a remote driver. The expected behavior of the autonomous vehicle can also include boundary conditions from which the safety driving mode is used. In some exemplary embodiments, these limit conditions correspond to the system limits of the programming of the autonomous vehicle. The system limits can be drawn where a "normal" operating mode of the autonomous vehicle is no longer sufficient to enable safe operation of the vehicle. The system limits are exceeded where environmental parameters are (far) outside of normal, for example in particularly bad weather, very narrow streets, tight curve radii or on streets that have an unusual flow of traffic due to an accident or a construction site.
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.Like the driving environment, driving plans and scenarios, the expected behavior of the autonomous vehicle can be read from a database and/or from one or more files. The expected behavior can, for example, be represented as an activity diagram and/or entered, for example via a web-based input interface or via an application program. Alternatively, the expected behavior of the vehicle can be generated based on the simulation, i.e. the simulation of the one or more test cases can be used to generate the expected behavior. The simulated behavior can be checked, for example by a rule-based computer program or by a human operator, to determine whether it corresponds to a desired behavior and can then be used as the expected behavior.
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.In some cases, when the method is first performed, an expected behavior is not defined for each test case. In these cases, the method may include identifying 170 a subset of the test cases for which no expected behavior is defined. This subset of test cases can then be provided based on the simulation or based on input from a user.
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.The method further includes simulating 140 the autonomous vehicle in the plurality of test cases. In the simulation of the autonomous vehicle, the vehicle is confronted with one test case of the plurality of test cases in a simulated environment, i.e. the autonomous vehicle is instructed to carry out the driving project in the driving environment of the test case, taking into account the changeable objects of the respective scenario. In this case, the
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.Different variants of the respective test case can be simulated, ie different cases can be considered within the same test case, such as different road widths, different curve radii, different visibility conditions, etc. These differences can be specified using at least one changeable parameter. In other words, the test cases of the plurality of test cases can each have at least one changeable parameter. The at least one changeable parameter can be designed to generate different variants within a test case in order to determine the system limits of the programming of the autonomous vehicle. The simulation of the autonomous vehicle can be carried out for different values of the at least one changeable parameter. For example, the at least one changeable parameter can be at least one element from the group of a width of a road, a radius of curvature of a road, a coefficient of friction of a road, a weather situation, a distance between the autonomous vehicle and the one or more changeable objects, a position of a or more changeable objects within the driving environment, a behavior of one or more reren changeable objects, an irregular behavior of the one or more changeable objects, a maximum distance from the object of the one or more changeable objects or an object of the driving environment is detected, and a speed of the autonomous vehicle.
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.The method further includes the automated
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.In this case, the system limits of the programming of the autonomous vehicle can be systematically determined by a targeted change of the at least one changeable parameter. In other words, the
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.Based on the determined system limits, the programming of the autonomous vehicle as well as the expected behavior can then be adjusted. In other words, the method includes, in some exemplary embodiments, an
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.But apart from adjustments based on the system limits, the programming of the autonomous vehicle can be adjusted (automatically or by manual adjustment), for example if a deviation between the expected behavior and the simulation is detected.
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.More details and aspects of the method are mentioned in connection with the concept or examples that are described later. The method may include one or more additional optional features corresponding to one or more aspects of the proposed concept or the described examples as previously or hereinafter described.
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.At least some example embodiments deal with the use of a system specification in textual form to test an autonomous vehicle via simulations. For example, it is examined how an autonomous vehicle should behave in road traffic, factory traffic or in restricted areas. A description of non-deterministic vehicle behavior in road traffic, factory traffic or in restricted areas that are not publicly accessible is created. With the help of exemplary embodiments, proof of the completeness of the vehicle behavior to be described can be created, for example in textual form.
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.Exemplary embodiments create a vehicle function catalog that, for example, maps the majority of test cases. The catalog is based on a procedure for describing driving behavior in road traffic. The catalog includes a deterministic description of the vehicle behavior per situation/scenario by providing the expected behavior of the autonomous vehicle for each test case of the plurality of test cases. A layer structure allows for easier gap analysis and verification, which functionality has not yet been described and therefore not yet simulated and tested.
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.
- - Scene (static environment, the driving environment), eg intersection;
- - Situation (momentum - applied to specific scene, driving intention), e.g. turning right in the intersection; and
- - Scenario (dynamics adapted to moving objects - applied to specific scene), e.g. turning right in the intersection and at the same time driver driving straight ahead in the lane.
Dabei wir eine klare Trennung von Statischer Umgebung, Eigendynamik und Einfluss von bewegbaren Objekten eingehalten.A clear separation of the static environment, its own dynamics and the influence of movable objects is maintained.
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
- - Weather
- - road conditions
- - Optical signals
- - Acoustic signals
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
- - Object 1:
- Object type: Two-track vehicle; position: dynamic; relative position: ahead; Assigned lane: in the same lane; Condition: accelerated
- - Object 2:
- Object Type: Traffic Sign; position: static; relative position: ahead; Traffic sign ID: see Bast; Traffic sign type: eg: bus stop
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.Precisely defined objects and their attributes can be permitted for each scenario, with new objects or new states leading to a new scenario.
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.The vehicle behavior as a reaction to the objects in the environment is described in at least some exemplary embodiments in the form of activity diagrams (effect chains). A “minimum risk manoeuvre” (manoeuvre with minimal risk, maneuver that the vehicle executes in a safety driving mode) can be defined for each chain of effects. A configuration file can be created for each scenario. Using suitable parameter spaces (per scenario), the system limits can be identified and the requirements for vehicle behavior can be sharpened. A calculation sheet can be created for each scenario, which shows the calculation regulations relevant to the scenario, such as calculating the time/distance when braking to a standstill or for the duration of cornering. Missing scenarios can be identified through sufficient test drives and included in the catalogue.
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.
Die Objekte, die an den Testfällen beteiligt sind, können beispielsweise in Objektdiagrammen dargestellt werden.
Das System reagiert auf diese spezifischen Objekte. Die Systemreaktion kann durch Aktivitätsdiagramme beschrieben werden.
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. A further exemplary embodiment is a computer program for carrying out at least one of the methods described above when the computer program runs on a computer, a processor or a programmable hardware component. A further exemplary embodiment is also a digital storage medium which is machine or computer readable and which has electronically readable control signals which can interact with a programmable hardware component in such a way that one of the methods described above is carried out.
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.In the foregoing description, the following claims and the appended Features disclosed in the figures can be important and implemented both individually and in any combination for the realization of an exemplary embodiment in its various configurations.
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.Although some aspects have been described in the context of a device, it is understood that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Similarly, aspects described in connection with or as a method step also constitute a description of a corresponding block or detail or feature of a corresponding device.
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.Depending on particular implementation requirements, embodiments of the invention may be implemented in hardware or in software. The implementation may be performed using a digital storage medium such as a floppy disk, a DVD, a Blu-ray disk, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or other magnetic or optical memory, on which electronically readable control signals are stored, which can interact or interact with a programmable hardware component in such a way that the respective method is carried out.
BezugszeichenlisteReference List
- 1010
- Fahrumgebung/Szenedriving environment/scene
- 2020
- Fahrvorhaben/SituationDriving plans/situation
- 3030
- Szenarioscenario
- 4040
- Wetterweather
- 5050
- Straßenzustandroad condition
- 110110
- Erfassen einer Mehrzahl von Fahrumgebungen, einer Mehrzahl von Fahrvorhaben, und einer Mehrzahl von SzenarienCapturing a plurality of driving environments, a plurality of driving projects, and a plurality of scenarios
- 115115
- Erfassen zumindest eines externen EinflussfaktorsCapture at least one external influencing factor
- 120120
- Generieren einer Mehrzahl von TestfällenGenerating a plurality of test cases
- 130130
- Bereitstellen eines erwarteten VerhaltensProviding an expected behavior
- 140140
- Simulieren eines autonomen FahrzeugsSimulating an autonomous vehicle
- 150150
- Automatisiertes AuswertenAutomated evaluation
- 160160
- Anpassen einer ProgrammierungCustomize programming
- 165165
- Anpassen des erwarteten VerhaltensCustomize expected behavior
- 170170
- Identifizieren einer Teilmenge der TestfälleIdentify a subset of the test cases
- 200200
- Schichtenmodelllayers model
- 300300
- Schematisches DiagrammSchematic Diagram
- 400400
- Schematisches DiagrammSchematic Diagram
- 510510
- Routeroute
- 520520
- Missions-Planmission plan
- 610610
- Fahrzeugvehicle
- 615615
- Fahrvorhaben des FahrzeugsDriving intentions of the vehicle
- 620620
- Fahrradbicycle
- 625625
- Fahrvorhaben des FahrradsDriving project of the bicycle
- 710-798710-798
- Elemente von beispielhaften SzenarienElements of example scenarios
- 810810
- Objektobject
- 820820
- Attribute des ObjektsAttributes of the object
- 910910
- Objektobject
- 920920
- Systemreaktionsystem reaction
- 930930
- Endzustandfinal state
- 10101010
- Beschreiben eines erwarteten FahrzeugverhaltensDescribing an expected vehicle behavior
- 10201020
- Ableiten von AktivitätsdiagrammenDeriving activity diagrams
- 10301030
- Definieren eines Parameter-RaumsDefining a parameter space
- 10401040
- Simulieren von SzenarienSimulating scenarios
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019211009.6A DE102019211009B4 (en) | 2019-07-25 | 2019-07-25 | Method and computer program for simulating an autonomous vehicle in a plurality of test cases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019211009.6A DE102019211009B4 (en) | 2019-07-25 | 2019-07-25 | Method and computer program for simulating an autonomous vehicle in a plurality of test cases |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102019211009A1 DE102019211009A1 (en) | 2021-01-28 |
DE102019211009B4 true DE102019211009B4 (en) | 2022-08-25 |
Family
ID=74098874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019211009.6A Active DE102019211009B4 (en) | 2019-07-25 | 2019-07-25 | Method and computer program for simulating an autonomous vehicle in a plurality of test cases |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019211009B4 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021201177A1 (en) | 2021-02-09 | 2022-08-11 | Zf Friedrichshafen Ag | Computer-implemented method and computer program for generating routes for an automated driving system |
CN113515105A (en) * | 2021-04-09 | 2021-10-19 | 清华大学 | Platform, method and storage medium for vehicle expected function safety simulation test |
US11960292B2 (en) | 2021-07-28 | 2024-04-16 | Argo AI, LLC | Method and system for developing autonomous vehicle training simulations |
WO2023123130A1 (en) * | 2021-12-29 | 2023-07-06 | 华为技术有限公司 | Method and apparatus for autonomous driving system, electronic device and medium |
WO2023137274A1 (en) * | 2022-01-11 | 2023-07-20 | Argo AI, LLC | Systems and methods for automated generation and selection of simulation scenarios |
AT525982B1 (en) * | 2022-04-19 | 2023-10-15 | Avl List Gmbh | Method and system for operating a test bench with scenario-based test bench tests of a road user |
DE102022112059B3 (en) | 2022-05-13 | 2023-04-20 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Method, system and computer program product for calibrating and validating a driver assistance system (ADAS) and/or an automated driving system (ADS) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006044086B4 (en) | 2006-09-20 | 2013-05-29 | Audi Ag | System and method for the simulation of traffic situations, in particular accident-critical dangerous situations, as well as a driving simulator |
DE102011088807A1 (en) | 2011-12-16 | 2013-06-20 | Bayerische Motoren Werke Aktiengesellschaft | Method for developing and/or testing driver assistance system for motor car, involves determining set of scenarios and characterizing set of scenarios by parameter that is related to driving conditions of car |
US20190009789A1 (en) | 2017-07-05 | 2019-01-10 | Baidu Online Network Technology (Beijing) Co., Ltd. | Autonomous vehicle site test method and apparatus, device and readable medium |
US20190213290A1 (en) | 2018-01-09 | 2019-07-11 | The Charles Stark Draper Laboratory, Inc. | Deployable Development Platform For Autonomous Vehicle (DDPAV) |
-
2019
- 2019-07-25 DE DE102019211009.6A patent/DE102019211009B4/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006044086B4 (en) | 2006-09-20 | 2013-05-29 | Audi Ag | System and method for the simulation of traffic situations, in particular accident-critical dangerous situations, as well as a driving simulator |
DE102011088807A1 (en) | 2011-12-16 | 2013-06-20 | Bayerische Motoren Werke Aktiengesellschaft | Method for developing and/or testing driver assistance system for motor car, involves determining set of scenarios and characterizing set of scenarios by parameter that is related to driving conditions of car |
US20190009789A1 (en) | 2017-07-05 | 2019-01-10 | Baidu Online Network Technology (Beijing) Co., Ltd. | Autonomous vehicle site test method and apparatus, device and readable medium |
US20190213290A1 (en) | 2018-01-09 | 2019-07-11 | The Charles Stark Draper Laboratory, Inc. | Deployable Development Platform For Autonomous Vehicle (DDPAV) |
Also Published As
Publication number | Publication date |
---|---|
DE102019211009A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102019211009B4 (en) | Method and computer program for simulating an autonomous vehicle in a plurality of test cases | |
DE102018128290A1 (en) | METHOD AND DEVICE FOR PRODUCING SCENARIOS AND PARAMETRIC SWEEPS FOR THE DEVELOPMENT AND EVALUATION OF AUTONOMOUS DRIVE SYSTEMS | |
DE102016007899B4 (en) | Method for operating a device for traffic situation analysis, motor vehicle and data processing device | |
EP3005338B1 (en) | Driver assistance system with additional information supplementary to a road map | |
DE102015116882A1 (en) | Link probability modeling and conclusion of the crossing structure | |
DE102017213634A1 (en) | Method and apparatus for performing virtual tests in a virtual reality environment for an autonomous vehicle | |
DE102013005362A1 (en) | Method for analyzing traffic conditions between vehicle and road user at e.g. road crossings, involves dynamically determining danger areas based on points of intersection of predicted movement trajectories | |
DE102011106064A1 (en) | VEHICLE BEHAVIOR ESTIMATION DEVICE | |
DE102019203712B4 (en) | Method for training at least one algorithm for a control unit of a motor vehicle, computer program product, motor vehicle and system | |
DE102020210962B4 (en) | Computer-implemented method and computer system for generating input parameters for a simulation | |
DE102013003944A1 (en) | Method and device for providing driver assistance functionality | |
DE102020205310A1 (en) | Computer-implemented method for providing a data structure for the route complexity detection and validation of functionalities of an automated driving system, such data structure, computer for validating functionalities of an automated driving system, computer program for providing such a data structure and computer-readable data carriers | |
DE102020127855A1 (en) | SAFETY SYSTEM, AUTOMATED DRIVING SYSTEM AND PROCEDURE FOR IT | |
DE112020000222T5 (en) | SYSTEM AND PROCEDURE THEREOF FOR MONITORING THE CORRECT BEHAVIOR OF AN AUTONOMOUS VEHICLE | |
DE102018128563A1 (en) | METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND COMPARISON | |
EP3609755A1 (en) | Driver assistance system for a vehicle | |
DE102020215545A1 (en) | Method for controlling a vehicle | |
WO2023016919A1 (en) | Computer-implemented method and computer program for generating virtual routes and developing and/or validating functionalities of an automated driving system on the generated routes | |
WO2022251890A1 (en) | Method and system for testing a driver assistance system for a vehicle | |
DE102021201177A1 (en) | Computer-implemented method and computer program for generating routes for an automated driving system | |
DE102019215141B4 (en) | Method for predicting a future traffic situation in an environment of a motor vehicle by determining several internally consistent overall scenarios for different road users; motor vehicle | |
DE102021120043A1 (en) | Method and control circuit for monitoring a permissibility condition for an automated driving mode of a motor vehicle and motor vehicle with the control circuit | |
AT524822A1 (en) | Method for testing a driver assistance system of a vehicle | |
DE102020208946B4 (en) | Navigation map for an at least partially automated mobile platform | |
DE102021214095A1 (en) | Method and system for recognizing critical traffic scenarios and/or traffic situations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |