DE102021111724B4 - Method and computer program for evaluating a software version of a driver assistance system - Google Patents
Method and computer program for evaluating a software version of a driver assistance system Download PDFInfo
- Publication number
- DE102021111724B4 DE102021111724B4 DE102021111724.0A DE102021111724A DE102021111724B4 DE 102021111724 B4 DE102021111724 B4 DE 102021111724B4 DE 102021111724 A DE102021111724 A DE 102021111724A DE 102021111724 B4 DE102021111724 B4 DE 102021111724B4
- Authority
- DE
- Germany
- Prior art keywords
- vehicle
- data
- simulated
- data sequence
- journey
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 title claims description 20
- 238000004088 simulation Methods 0.000 claims abstract description 42
- 230000009466 transformation Effects 0.000 claims abstract description 14
- 230000001131 transforming effect Effects 0.000 claims abstract 2
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 37
- 230000006870 function Effects 0.000 description 37
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 35
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 35
- 238000012360 testing method Methods 0.000 description 22
- 238000011161 development Methods 0.000 description 14
- 230000004927 fusion Effects 0.000 description 8
- 238000012958 reprocessing Methods 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- IJJWOSAXNHWBPR-HUBLWGQQSA-N 5-[(3as,4s,6ar)-2-oxo-1,3,3a,4,6,6a-hexahydrothieno[3,4-d]imidazol-4-yl]-n-(6-hydrazinyl-6-oxohexyl)pentanamide Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)NCCCCCC(=O)NN)SC[C@@H]21 IJJWOSAXNHWBPR-HUBLWGQQSA-N 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
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 (2) zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems, umfassend:
- Bereitstellen (21) einer aufgezeichneten Datensequenz an eine Simulationsumgebung, wobei die aufgezeichnete Datensequenz Sensordaten, Odometriedaten und Fahrzeugdynamikdaten von einer realen Fahrzeugfahrt umfasst;
- Transformieren der Sensordaten und/oder der Fahrzeugdynamikdaten der aufgezeichneten Datensequenz für die Zwecke einer Simulation einer Fahrzeugfahrt eines Ego-Fahrzeugs, wobei die Transformation hinsichtlich einer Geschwindigkeit, die das Ego-Fahrzeug bei der simulierten Fahrzeugfahrt haben soll, erfolgt;
- mittels der Simulationsumgebung, Simulieren (22) der Fahrzeugfahrt des Ego-Fahrzeugs in Abhängigkeit von der aufgezeichneten Datensequenz und den transformierten Sensor- und/oder Fahrzeugdynamikdaten und auf Basis eines Softwarestands des Fahrerassistenzsystems, wobei eine simulierte Datensequenz ermittelt wird;
- automatisches Überprüfen (23) der simulierten Datensequenz daraufhin, ob die simulierte Fahrzeugfahrt ein Performance-Kriterium verletzt;
• falls das Überprüfen ergibt, dass die simulierte Fahrzeugfahrt das Performance-Kriterium verletzt, automatisches Ausgeben (24a) einer Fehlermeldung;
• falls das Überprüfen keine Verletzung des Performance-Kriteriums ergibt, Bereitstellen (24b) des Softwarestands zum Betreiben eines Fahrzeugs.
Method (2) for evaluating a software status of a driver assistance system, comprising:
- Providing (21) a recorded data sequence to a simulation environment, wherein the recorded data sequence comprises sensor data, odometry data and vehicle dynamics data from a real vehicle journey;
- Transforming the sensor data and/or the vehicle dynamics data of the recorded data sequence for the purpose of simulating a vehicle journey of an ego vehicle, the transformation taking place with regard to a speed which the ego vehicle should have during the simulated vehicle journey;
- Using the simulation environment, simulating (22) the vehicle journey of the ego vehicle depending on the recorded data sequence and the transformed sensor and/or vehicle dynamics data and on the basis of a software version of the driver assistance system, with a simulated data sequence being determined;
- Automatic checking (23) of the simulated data sequence to determine whether the simulated vehicle journey violates a performance criterion;
• if the checking shows that the simulated vehicle journey violates the performance criterion, automatic outputting (24a) of an error message;
• if the check does not reveal any violation of the performance criterion, providing (24b) the software status for operating a vehicle.
Description
Die Erfindung betrifft ein Verfahren und ein Computerprogramm zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems.The invention relates to a method and a computer program for evaluating a software version of a driver assistance system.
Die Erfindung kann insbesondere im Rahmen der Entwicklung eines Fahrerassistenzsystems (FAS) eingesetzt werden, welches ein wenigstens teilweise automatisiertes Fahren, bevorzugt bis hin zum vollautomatisierten Fahren (VAF), des Fahrzeugs ermöglicht.The invention can be used in particular as part of the development of a driver assistance system (FAS) which enables at least partially automated driving, preferably up to fully automated driving (VAF), of the vehicle.
Unter dem Begriff „automatisiertes Fahren“ wird im Rahmen des Dokuments ein Fahren mit automatisierter Längs- und/oder Querführung verstanden. Beim automatisierten Fahren kann es sich beispielsweise um ein zeitlich längeres Fahren auf der Autobahn oder um ein zeitlich begrenztes Fahren im Rahmen des Einparkens handeln. Der Begriff „automatisiertes Fahren“ umfasst automatisiertes Fahren mit einem beliebigen Automatisierungsgrad. Beispielhafte Automatisierungsgrade sind assistiertes, teilautomatisiertes, hochautomatisiertes, vollautomatisiertes und autonomes Fahren (mit jeweils zunehmendem Automatisierungsgrad). Die vorstehend genannten fünf Automatisierungsgrade entsprechen den SAE-Level 1 bis 5 der Norm SAE J3016 (SAE - Society of Automotive Engineering). Beim assistierten Fahren (SAE-Level 1) führt das System die Längs- oder Querführung in bestimmten Fahrsituationen durch. Beim teilautomatisierten Fahren (SAE-Level 2) übernimmt das System die Längs- und Querführung in bestimmten Fahrsituationen, wobei der Fahrer das System wie beim assistierten Fahren dauerhaft überwachen muss. Beim hochautomatisierten Fahren (SAE-Level 3) übernimmt das System die Längs- und Querführung in bestimmten Fahrsituationen, ohne dass der Fahrer das System dauerhaft überwachen muss; der Fahrer muss aber in einer gewissen Zeit in der Lage sein, die Fahrzeugführung auf Anforderung durch das System zu übernehmen. Beim vollautomatisierten Fahren (SAE-Level 4) übernimmt das System die Fahrzeugführung in bestimmten Fahrsituationen, selbst wenn der Fahrer auf eine Anforderung zum Eingreifen nicht reagiert, so dass der Fahrer als Rückfallebene entfällt. Beim autonomen Fahren (SAE-Level 5) können vom System alle Aspekte der dynamischen Fahraufgabe unter jeder Fahrbahn- und Umgebungsbedingung durchgeführt werden, welche auch von einem menschlichen Fahrer beherrscht werden. Der SAE-Level 5 entspricht somit einem fahrerlosen Fahren, bei dem das System während der ganzen Fahrt alle Situationen wie ein menschlicher Fahrer automatisch bewältigen kann; ein Fahrer ist generell nicht mehr erforderlich.In the context of the document, the term "automated driving" means driving with automated longitudinal and/or lateral guidance. Automated driving can, for example, involve driving on the freeway for a longer period of time or driving for a limited period of time when parking. The term "automated driving" includes automated driving with any degree of automation. Exemplary degrees of automation are assisted, partially automated, highly automated, fully automated and autonomous driving (with an increasing degree of automation in each case). The five levels of automation mentioned above correspond to
Die Funktion moderner FAS, die ein automatisiertes Fahren ermöglichen, setzt sich aus einem komplexen System zusammen, welches aus verschiedenen Komponenten besteht. Daher können im Entwicklungsstadium vorgenommene Änderungen in der Software in einer Komponente, zu einer Degradation der Funktion insgesamt führen, ohne dass dies in jedem Fall allein auf der Grundlage von Tests auf Komponentenebene bemerkbar wäre.The function of modern ADAS, which enables automated driving, consists of a complex system consisting of various components. Therefore, changes made in the software in a component during the development stage can lead to a degradation of the function as a whole, without this being noticeable in any case on the basis of tests at the component level alone.
Um dieses Problem zu lösen kann die Gesamtfunktion in einer Simulation oder durch reale Testfahrten auf der Straße getestet werden. Beide Ansätze haben jedoch ihre spezifischen Nachteile: Reale Testfahrten sind mit viel Aufwand verbunden und lassen sich schlecht skalieren, während Tests durch Simulation nur eine Annäherung an reale Sensordaten bieten und somit nicht alle Fehlerfälle berücksichtigen können.To solve this problem, the overall function can be tested in a simulation or by real test drives on the road. However, both approaches have their specific disadvantages: Real test drives involve a lot of effort and are difficult to scale, while tests using simulation only offer an approximation of real sensor data and therefore cannot take all error cases into account.
Ein Ansatz, welcher Sensordaten von einer realen Fahrt mit einer Simulation verbindet, wurde in der deutschen Patentanmeldung
Bach et al. haben ein Verfahren zur Wiederverwendung von aufgezeichneten Testdaten im Rahmen der virtuellen Verifikation von steuerungsbasierten ADAS vorgestellt. Das Verfahren beruht auf einer Identifikation von kausalen Abhängigkeiten zwischen verschiedenen Eingangsdatenströmen (vgl. BACH, J. [et al.]: Control based driving assistant functions' test using recorded in field data. In: 7. Tagung Fahrerassistenzsysteme, 2015, https://mediatum.ub.tm.de/node?id=1285215).Bach et al. have presented a method for reusing recorded test data in the context of virtual verification of controller-based ADAS. The method is based on an identification of causal dependencies between different input data streams (cf. BACH, J. [et al.]: Control based driving assistant functions' test using recorded in field data. In: 7th Conference on Driver Assistance Systems, 2015, https:/ /mediatum.ub.tm.de/node?id=1285215).
Eine Weiterbildung des Verfahrens von Bach et al. sieht zusätzlich zu der Wiederverwendung von aufgezeichneten Fahrdaten in einer Closed-Loop-Simulation auch automatisierte Bewertungen zur Evaluierung von Software-Inkrementierungen vor (vgl. BACH, Johannes: Reactive-Replay Approach for Verification and Validation of Closed-Loop Control Systems in Early Development. In: SAE technical papers, Vol. 2017-01-1671, 2017, S. 1-8. - ISSN 0148-7191).A further development of the method by Bach et al. In addition to the reuse of recorded driving data in a closed-loop simulation, it also provides for automated assessments to evaluate software increments (cf. BACH, Johannes: Reactive-Replay Approach for Verification and Validation of Closed-Loop Control Systems in Early Development. In: SAE technical papers, Vol.2017-01-1671, 2017, pages 1-8 - ISSN 0148-7191
Es besteht weiterhin ein Bedarf an technischen Lösungen für eine zuverlässige und effiziente Verifikation und das Validieren von FAS-Funktionen, insbesondere mit Blick auf die Verhinderung von Degradationen einer Gesamtfunktion eines FAS bei der Entwicklung des automatisierten Fahrens.There is still a need for technical solutions for reliable and efficient verification and validation of ADAS functions, especially with a view to preventing degradation of an overall ADAS function during the development of automated driving.
Hiervon ausgehend ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Evaluieren eines Softwarestands eines FAS anzugeben, welches eine zuverlässige und effiziente (Weiter-)Entwicklung des FAS ermöglicht.Proceeding from this, it is an object of the present invention to specify a method for evaluating a software version of an ADAS, which enables reliable and efficient (further) development of the ADAS.
Die Aufgabe wird durch ein Verfahren und ein Computerprogramm gemäß den unabhängigen Patentansprüchen gelöst. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen angegeben.The object is solved by a method and a computer program according to the independent patent claims. Advantageous embodiments are specified in the dependent claims.
Es wird darauf hingewiesen, dass zusätzliche Merkmale eines von einem unabhängigen Patentanspruch abhängigen Patentanspruchs ohne die Merkmale des unabhängigen Patentanspruchs oder nur in Kombination mit einer Teilmenge der Merkmale des unabhängigen Patentanspruchs eine eigene und von der Kombination sämtlicher Merkmale des unabhängigen Patentanspruchs unabhängige Erfindung bilden können, die zum Gegenstand eines unabhängigen Patentanspruchs, einer Teilungsanmeldung oder einer Nachanmeldung gemacht werden kann. Dies gilt in gleicher Weise für in der Beschreibung erläuterte technische Lehren, die eine von den Merkmalen der unabhängigen Patentansprüche unabhängige Erfindung bilden können.It is pointed out that additional features of a patent claim dependent on an independent patent claim without the features of the independent patent claim or only in combination with a subset of the features of the independent patent claim can form a separate invention independent of the combination of all features of the independent patent claim, which can be made the subject of an independent patent claim, a divisional application or a subsequent application. This applies equally to the technical teachings explained in the description, which can form an invention independent of the features of the independent patent claims.
Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems (FAS). Unter einem Evaluieren des Softwarestands kann dabei z.B. ein Überprüfen, Testen, Validieren und/oder Verifizieren des Softwarestands verstanden werden.A first aspect of the invention relates to a method for evaluating a software version of a driver assistance system (DAS). Evaluating the software status can be understood to mean, for example, checking, testing, validating and/or verifying the software status.
Das FAS kann eingerichtet sein, Funktionen im Rahmen eines wenigstens teilweise automatisierten Fahrens eines Kraftfahrzeugs auszuführen, wie z.B. eine ACC-Funktion (d.h. eine kombinierte Geschwindigkeits- und Abstandsregelung).The ADAS can be set up to perform functions as part of at least partially automated driving of a motor vehicle, such as an ACC function (i.e. a combined speed and distance control).
Unter dem Begriff Kraftfahrzeug dabei insbesondere ein Landfahrzeug, das durch Maschinenkraft bewegt wird, ohne an Bahngleise gebunden zu sein, verstanden werden. Ein Kraftfahrzeug in diesem Sinne kann z.B. als Kraftwagen, Kraftrad oder Zugmaschine ausgebildet sein.The term motor vehicle is understood to mean, in particular, a land vehicle that is moved by machine power without being tied to railroad tracks. A motor vehicle in this sense can, for example, be designed as a motor vehicle, motorcycle or tractor.
Ein Schritt des Verfahrens ist das Bereitstellen einer aufgezeichneten Datensequenz an eine Simulationsumgebung, wobei die aufgezeichnete Datensequenz Sensordaten, Odometriedaten und Fahrzeugdynamikdaten von einer realen Fahrzeugfahrt (insbesondere von einem bestimmten Abschnitt der realen Fahrzeugfahrt) umfasst.One step of the method is providing a recorded data sequence to a simulation environment, the recorded data sequence comprising sensor data, odometry data and vehicle dynamics data from a real vehicle journey (in particular from a specific section of the real vehicle journey).
Beispielsweise kann die Datensequenz bei einer realen Testfahrt eines Versuchsfahrzeugs oder bei einer realen Fahrt eines Kundenfahrzeugs im Straßenverkehr aufgezeichnet worden sein. Derartige aufgezeichnete Datensequenzen, die einen zeitlichen Ablauf von relevanten Daten während einer realen Fahrzeugfahrt (bzw. eines Abschnitts davon) charakterisieren, werden auch als „Traces“ bezeichnet.For example, the data sequence can have been recorded during a real test drive of a test vehicle or during a real drive of a customer vehicle on the road. Such recorded data sequences, which characterize a chronological sequence of relevant data during a real vehicle journey (or a section thereof), are also referred to as "traces".
In einer Ausführungsvariante des Verfahrens kann das Verfahren als einen vorgelagerten Schritt auch das Aufzeichnen einer solchen Datensequenz bei einer realen Fahrzeugfahrt umfassen. Dabei kann vorgesehen sein, dass das Aufzeichnen der Datensequenz automatisch auf das Erfüllen einer bestimmten Trigger-Bedingung hin erfolgt, wobei die Trigger-Bedingung z.B. bestimmte Eigenschaften eines Fahrzeugumfelds und/oder bestimmte fahrzeugdynamische Zustände charakterisiert.In one embodiment variant of the method, the method can also include the recording of such a data sequence during a real vehicle journey as a preceding step. Provision can be made for the data sequence to be recorded automatically when a specific trigger condition is met, the trigger condition characterizing, for example, specific properties of a vehicle environment and/or specific vehicle dynamic states.
Beispielsweise können bei einer Versuchsfahrt mit einem Versuchsfahrzeug im Straßenverkehr Umfeldsensordaten (z.B. von Kamera und Radar), Odometriedaten und Fahrzeugdynamikdaten aufgezeichnet werden. Dabei wird bevorzugt ein Szenario gewählt, welches für die Entwicklung einer Funktion des automatisierten Fahrens interessant ist, wie etwa im Kontext von ACC eine Folgefahrt, bei der die Geschwindigkeit des Versuchsfahrzeugs durch die eines Vorderfahrzeuges limitiert wird.For example, environmental sensor data (e.g. from camera and radar), odometry data and vehicle dynamics data can be recorded during a test drive with a test vehicle in traffic. A scenario is preferably selected that is of interest for the development of a function of automated driving, such as following in the context of ACC, in which the speed of the test vehicle is limited by that of a vehicle in front.
Vorzugsweise erfolgt das Aufzeichnen der Datensequenz unter ähnlichen Bedingungen (z.B. hinsichtlich Geschwindigkeit, Abstand zu einem Vorderfahrzeug etc.), die für die zu evaluierende FAS-Funktion (wie z.B. eine ACC-Folgefahrt) relevant sind. Während der Fahrt kann also der Versuchsfahrer beispielsweise darauf achten, dass der Abstand zum Vorderfahrzeug, die Geschwindigkeit, die Position in der Spur etc. den Anforderungen an die Funktion des automatisierten Fahrens entspricht. Die Fahrt kann somit z.B. sozusagen eine Best-Case-Fahrt sein, bei der das Versuchsfahrzeug eine Folgefahrt umsetzt, die den Anforderungen an die automatisierte Funktion entsprechen würde. Dabei kann die Folgefahrt bei der Versuchsfahrt manuell durch den Versuchsfahrer, d.h. z.B. insbesondere ohne aktivierte ACC-Funktion, durchgeführt werden. Mit anderen Worten kann der erfahrene Versuchsfahrer während der Aufzeichnung das Versuchsfahrzeug so steuern wie man es sich von der automatisierten Fahrfunktion (z.B. ACC) wünschen würde und somit eine Referenz für die Entwicklung eines neuen Softwarestands der automatisierten Fahrfunktion erzeugen.The data sequence is preferably recorded under similar conditions (e.g. in terms of speed, distance to a vehicle in front, etc.) that are relevant to the ADAS function to be evaluated (such as an ACC following route). For example, while driving, the test driver can ensure that the distance to the vehicle in front, the speed, the position in the lane, etc., meet the requirements for the automated driving function. The trip can thus be a best-case trip, so to speak, in which the test vehicle implements a subsequent trip that would meet the requirements of the automated function. The following drive can be carried out manually by the test driver during the test drive, i.e. e.g. without activated ACC function. In other words, the experienced test driver can control the test vehicle during the recording as one would wish for the automated driving function (e.g. ACC) and thus create a reference for the development of a new software version of the automated driving function.
Die in der aufgezeichneten Datensequenz enthaltenen Sensordaten können insbesondere Daten umfassen, welche Informationen über ein Fahrzugsumfeld des Fahrzeugs beinhalten. Diese können mittels einer Umfeldsensorik des Fahrzeugs erfasst worden sein, wie z.B. mittels einer (insbesondere optischen) Kamera, eines Radar-Sensors, eines Lidar-Sensors, eines Ultraschall-Sensors und/oder eines akustischen Sensors zur Erfassung von Hörschall.The sensor data contained in the recorded data sequence can in particular include data containing information about the vehicle's surroundings. These may have been detected by means of an environment sensor system of the vehicle, such as by means of a (particularly their optical) camera, a radar sensor, a lidar sensor, an ultrasonic sensor and/or an acoustic sensor for detecting audible sound.
Die in der aufgezeichneten Datensequenz enthaltenen Odometriedaten können insbesondere positions- und/oder orientierungsbezogene Informationen umfassen, die auf erfassten Bewegungsparametern des Fahrzeugs, wie z.B. Radumdrehungen, beruhen. Beispielsweise können die Odometriedaten eine relative Position und/oder Orientierung des Fahrzeugs bezüglich einer (vergangenen) Referenzposition bzw. Referenzorientierung angeben. Aus den Odometriedaten können darüber hinaus auch relevante Daten über Umgebungsbedingungen, wie z.B. aktuelle Straßenverhältnisse (z.B. in Form von Reibwerten) ableitbar sein.The odometry data contained in the recorded data sequence can in particular include position and/or orientation-related information based on recorded movement parameters of the vehicle, such as wheel revolutions. For example, the odometry data can indicate a relative position and/or orientation of the vehicle with respect to a (past) reference position or reference orientation. In addition, relevant data about environmental conditions, such as current road conditions (e.g. in the form of friction coefficients), can also be derived from the odometry data.
Die in der aufgezeichneten Datensequenz enthaltenen fahrzeugdynamischen Daten können insbesondere eine jeweilige Beschleunigung und/oder eine Geschwindigkeit des Fahrzeugs zu verschiedenen Zeitpunkten der realen Fahrzeugfahrt angeben.The vehicle-dynamic data contained in the recorded data sequence can in particular indicate a respective acceleration and/or a speed of the vehicle at different points in time during the real vehicle journey.
Die Simulationsumgebung kann mittels einer Rechenvorrichtung realisiert werden, welche außerhalb des Fahrzeugs, das die reale Fahrzeugfahrt durchgeführt hat, angeordnet ist. Beispielsweise kann es sich um eine vergleichsweise leistungsstarke Rechenvorrichtung in einem Entwicklungslabor handeln. In diesem Fall kann die aufgezeichnete Datensequenz z.B. mittels eines tragbaren Datenspeichers oder über eine drahtgebundene oder drahtlose Datenverbindung (z.B. Mobilfunk, WLAN oder Bluetooth) von dem Fahrzeug an die Rechenvorrichtung übertragen werden.The simulation environment can be realized by means of a computing device which is arranged outside of the vehicle which has carried out the real vehicle journey. For example, it can be a comparatively powerful computing device in a development laboratory. In this case, the recorded data sequence can be transmitted from the vehicle to the computing device, e.g. using a portable data storage medium or via a wired or wireless data connection (e.g. mobile radio, WLAN or Bluetooth).
In einer anderen Ausführungsform kann die Simulationsumgebung mittels einer Rechenvorrichtung realisiert werden, welche in dem Fahrzeug, das die reale Fahrzeugfahrt durchführt, angeordnet ist. In diesem Fall kann die Rechenvorrichtung z.B. direkt mit einen Datenbus des Fahrzeugs verbunden sein und von dort die relevanten Daten der Datensequenz beziehen. Alternativ oder zusätzlich kann die aufgezeichnete Datensequenz aber auch innerhalb eines Fahrzeugs drahtgebunden oder drahtlos von einem Datenspeicher an die Rechenvorrichtung übertragen werden.In another embodiment, the simulation environment can be implemented by means of a computing device that is arranged in the vehicle that carries out the real vehicle journey. In this case, the computing device can be connected directly to a data bus of the vehicle, for example, and obtain the relevant data of the data sequence from there. As an alternative or in addition, the recorded data sequence can also be transmitted from a data memory to the computing device in a wired or wireless manner within a vehicle.
In einem weiteren Schritt wird mittels der Simulationsumgebung eine Fahrzeugfahrt in Abhängigkeit von der aufgezeichneten Datensequenz und auf Basis eines (zu überprüfenden) Softwarestands des FAS simuliert, wobei eine simulierte Datensequenz ermittelt wird.In a further step, the simulation environment is used to simulate a vehicle journey depending on the recorded data sequence and on the basis of a software version of the ADAS (to be checked), with a simulated data sequence being determined.
Mit anderen Worten kann das FAS bzw. eine bestimmte Funktion des FAS mit einem beliebigen Softwarestand in der Simulationsumgebung auf Basis der aufgezeichneten Datensequenz reprozessiert werden. Dabei können die aufgezeichneten Fahrzeugdynamik- und Odometriedaten (insbesondere Daten der aufgezeichneten Datensequenz, die z.B. einem Startzeitpunkt der Aufzeichnung entsprechen) dazu verwendet werden, um ein in der Simulationsumgebung realisiertes Fahrzeugmodell initial zu stimulieren. Daraufhin kann das Fahrzeugmodell (bzw. ein dadurch simuliertes, virtuelles Ego-Fahrzeug) selbständig im Rahmen einer Closed-Loop-Simulation in dem reprozessierten Fahrzeugumfeld „fahren“.In other words, the ADAS or a specific function of the ADAS can be reprocessed with any software version in the simulation environment on the basis of the recorded data sequence. The recorded vehicle dynamics and odometry data (in particular data of the recorded data sequence, which correspond to a start time of the recording, for example) can be used to initially stimulate a vehicle model realized in the simulation environment. The vehicle model (or a virtual ego vehicle simulated by it) can then “drive” independently within the framework of a closed-loop simulation in the reprocessed vehicle environment.
Unter einer Closed-Loop-Simulation soll dabei insbesondere eine Simulation verstanden werden, bei der nach der initialen Stimulation des Fahrzeugmodells und in Abhängigkeit von den aufgezeichneten Sensordaten eine erste Soll-Trajektorie für einen ersten Zeitschritt geplant und von dem Fahrzeugmodell verarbeitet wird. Ein Ergebnis der Verarbeitung der ersten Soll-Trajektorie in dem Fahrzeugmodell, welches insbesondere simulierte Odometrie- und Fahrzeugdynamikdaten umfassen kann, dient wiederum - zusammen mit den aufgezeichneten Sensordaten - als Grundlage für die Planung einer zweiten Solltrajektorie für einen zweiten Zeitschritt, welche wiederum in dem Fahrzeugmodell verarbeitet wird. Diese Schleife kann für eine Reihe von Zeitschritten iterativ ausgeführt werden, sodass das virtuelle Ego-Fahrzeug im Ergebnis über einen längeren Zeitraum fahren kann. Dabei kann die simulierte Datensequenz (Trace) ermittelt und aufgezeichnet werden, welche insbesondere die simulierten Fahrzeugdynamikdaten umfassen kann.A closed-loop simulation is to be understood in particular as a simulation in which, after the initial stimulation of the vehicle model and as a function of the recorded sensor data, a first target trajectory is planned for a first time step and processed by the vehicle model. A result of the processing of the first target trajectory in the vehicle model, which in particular can include simulated odometry and vehicle dynamics data, is used in turn - together with the recorded sensor data - as the basis for planning a second target trajectory for a second time step, which in turn is in the vehicle model is processed. This loop can be executed iteratively for a number of time steps, resulting in the virtual ego vehicle being able to drive over a longer period of time. The simulated data sequence (trace) can be determined and recorded, which can in particular include the simulated vehicle dynamics data.
Hierbei liegt der Erfindung der Gedanke zu Grunde, dass durch eine solche Closed-Loop-Reprozessierung auf Basis von realen Sensordaten die eingangs beschriebene Lücke zwischen aufwendigen realen Testfahrten einerseits und imperfekten simulierten Umfeldsensordaten andererseits geschlossen werden kann. Auf diese Weise wird eine Möglichkeit eröffnet, die Gesamtfunktion eines FAS auf der Grundlage echter Sensordaten testen zu können, ohne dabei auf Testfahrten für jeden neuen Softwarestand angewiesen zu sein.The invention is based on the idea that such a closed-loop reprocessing based on real sensor data can close the initially described gap between complex real test drives on the one hand and imperfect simulated surroundings sensor data on the other. This opens up the possibility of being able to test the overall function of an ADAS on the basis of real sensor data, without having to rely on test drives for each new software version.
Der Softwarestand des FAS, welche das simulierte Verhalten des FAS beeinflusst, kann gemäß einigen Ausführungsformen, wie z.B. bei einem weiter unten mit Bezug auf die Figuren genauer beschriebenen Ausführungsbeispiel, als Teil des Fahrzeugmodells implementiert sein oder jedenfalls konzeptionell als Teil des Fahrzeugmodells verstanden werden. Es versteht sich, dass FAS-Funktionen in anderen Ausführungsformen aber auch sozusagen um ein Softwaremodul, welches als eigentliches Fahrzeugmodellmodul verstanden werden kann, herum implementiert sein kann, wobei es eine funktionale Wechselwirkung zwischen den FAS-Funktionen und dem enger verstandenen Fahrzeugmodellmodul gibt.The software status of the FAS, which influences the simulated behavior of the FAS, can be implemented as part of the vehicle model or at least conceptually understood as part of the vehicle model according to some embodiments, such as in an embodiment described in more detail below with reference to the figures. It is understood that FAS functions in other embodiments but also, so to speak, a software module, wel ches can be understood as the actual vehicle model module, can be implemented around where there is a functional interaction between the ADAS functions and the more narrowly understood vehicle model module.
Der für die Simulation verwendete Softwarestand kann grundsätzlich ein beliebiger Softwarestand sein, welcher z.B. bei im Rahmen Entwicklung des FAS (z.B. als Zwischenstand oder aber als für eine finale Freigabe vorgesehener Stand) von Interesse ist. Insbesondere kann es sich um einen im Vergleich zu einem früheren Softwarestand modifizierten oder erweiterten (weiterentwickelten) Softwarestand des FAS handeln. Dabei kann die Modifikation oder Erweiterung z.B. auch nur eine Komponente oder einige Komponenten des gesamten FAS unmittelbar betreffen.The software version used for the simulation can basically be any software version that is of interest, for example, in the context of the development of ADAS (e.g. as an interim version or as a version intended for a final release). In particular, it may be a modified or expanded (developed) software version of the ADAS compared to an earlier software version. The modification or extension can, for example, directly affect only one component or some components of the entire ADAS.
Beispielsweise kann bei dem Softwarestand (im Vergleich zu einem früheren Softwarestand) eine Neuerung oder Modifikation in einer Komponente hinzugekommen sein, welche eine Verarbeitung von Umfeldsensordaten betrifft, wie z.B. eine neue Filtereinstellung in einer Sensorfusionskomponente. In diesem Fall kann der neue Softwarestand dazu führen, dass Objekte, die als Ausgabe der Sensorfusionskomponente gemäß dem neuen Softwarestand erzeugt werden, sich von Objekten, die die Sensorfusionskomponente gemäß dem vorhergehenden Softwarestand ausgegeben hat, unterscheiden (d.h. dass z.B. weniger oder mehr im Fahrzeugumfeld erfasste Objekte ausgegeben werden können als bei dem vorhergehenden Softwarestand). Das virtuelle Ego-Fahrzeug reagiert dann bei der simulierten Fahrt unter anderem auf die Objekte, die durch die neue Version der Sensorfusionskomponente erzeugt werden.For example, the software version (compared to an earlier software version) may have an innovation or modification in a component that affects the processing of environmental sensor data, such as a new filter setting in a sensor fusion component. In this case, the new software version can lead to objects that are generated as output from the sensor fusion component according to the new software version differing from objects that the sensor fusion component has output according to the previous software version (i.e. that e.g. less or more detected in the vehicle environment objects can be output than in the previous software version). During the simulated journey, the virtual ego vehicle then reacts, among other things, to the objects generated by the new version of the sensor fusion component.
Alternativ oder zusätzlich zu Änderungen im Bereich der Verarbeitung der Umfeldsensordaten können Neuerungen oder Modifikationen in dem Softwarestand aber auch z.B. eine Fahrstrategie oder eine Trajektorienplanung im Rahmen des FAS betreffen.As an alternative or in addition to changes in the area of processing the environmental sensor data, innovations or modifications in the software version can also affect, for example, a driving strategy or trajectory planning within the ADAS.
Ein weiterer Schritt des Verfahrens ist ein automatisches Überprüfen der simulierten Datensequenz daraufhin, ob die simulierte Fahrzeugfahrt ein (z.B. im Voraus festgelegtes) Performance-Kriterium verletzt. Dabei kann das Überprüfen z.B. mittels eines oder mehrerer hierfür eingerichteter Softwaremodule erfolgen, die als Evaluationsmodule oder Evaluatoren bezeichnet werden können. Die Evaluatoren implementieren dabei jeweils bestimmte Bewertungsfunktionen für eine Bewertung der simulierten Datensequenz hinsichtlich eines jeweiligen Performance-Kriteriums.A further step of the method is an automatic check of the simulated data sequence to determine whether the simulated vehicle journey violates a (e.g. predetermined) performance criterion. The checking can be carried out, for example, using one or more software modules set up for this purpose, which can be referred to as evaluation modules or evaluators. The evaluators each implement specific evaluation functions for an evaluation of the simulated data sequence with regard to a respective performance criterion.
Beispielsweise kann das automatische Überprüfen einen Vergleich der simulierten Datensequenz mit der aufgezeichneten Datensequenz bzw. einen Vergleich der entsprechenden simulierten Fahrzeugfahrt mit der realen Fahrzeugfahrt umfassen. Die simulierte Datensequenz (oder bestimmter ein Abschnitt davon) kann also im Rahmen der Überprüfung mit der aufgezeichneten Datensequenz (oder einem bestimmten Abschnitt davon) verglichen werden. Eine ggf. festgestellte relevante Abweichung kann als Verletzung des Performance-Kriteriums gewertet werden. Das Performance-Kriterium kann also z.B. die Frage betreffen, ob und ggf. in welchem Maße Daten aus der ersten Datensequenz von Daten aus der zweiten Datensequenz voneinander abweichen. Anhand solcher Abweichungen - bzw. allgemeiner anhand von festgestellten Verletzungen des Performance-Kriteriums - können z.B. Fehler und/oder Degradationen des untersuchten FAS-Softwarestands entdeckt werden.For example, the automatic checking can include a comparison of the simulated data sequence with the recorded data sequence or a comparison of the corresponding simulated vehicle journey with the real vehicle journey. The simulated data sequence (or a specific section thereof) can therefore be compared with the recorded data sequence (or a specific section thereof) as part of the check. Any relevant deviation found can be assessed as a violation of the performance criterion. The performance criterion can therefore relate, for example, to the question of whether and, if so, to what extent data from the first data sequence differ from data from the second data sequence. On the basis of such deviations - or more generally on the basis of detected violations of the performance criterion - errors and/or degradations of the ADAS software status examined can be detected, for example.
Für den Fall, dass das Überprüfen ergibt, dass die simulierte Fahrzeugfahrt das Performance-Kriterium verletzt, ist ein automatisches Ausgeben einer Fehlermeldung vorgesehen. Dabei ist der unter einer Fehlermeldung zunächst ganz allgemein eine von einem menschlichen Benutzer wahrnehmbare Information darüber zu verstehen, dass eine Verletzung des Performance-Kriteriums aufgetreten ist.In the event that the check reveals that the simulated vehicle journey violates the performance criterion, an error message is automatically output. In this context, an error message is to be understood, in very general terms, as information that a human user can perceive that the performance criterion has been violated.
Bevorzugt umfasst die Fehlermeldung darüber hinaus genauere Angaben über die Verletzung des Performance-Kriteriums, z.B. in Form einer Markierung an einer betreffenden Stelle in der simulierten Datensequenz und/oder an einer entsprechenden Stelle in der aufgezeichneten Datensequenz. Die Fehlermeldung kann also z.B. einen automatisiert erzeugten Marker umfassen, welcher darauf hinweist, aus welchem Teil der simulierten Datensequenz die Verletzung des Performance-Kriteriums hervorgeht.The error message preferably also includes more precise information about the breach of the performance criterion, e.g. in the form of a marking at a relevant point in the simulated data sequence and/or at a corresponding point in the recorded data sequence. The error message can therefore include, for example, an automatically generated marker that indicates which part of the simulated data sequence the violation of the performance criterion is based on.
Beispielsweise können bei der Überprüfung zu Tage tretende, hinsichtlich des Performance-Kriteriums relevante Unterschiede zwischen der realen Fahrt (d.h. der aufgezeichneten Datensequenz) und der simulierten Fahrt (d.h. der simulierten Datensequenz) automatisiert als Fehler herausgeschrieben werden. Hierdurch wird eine automatische Detektion von Fehlern, und Funktionsdegradationen ermöglicht, die es den Entwicklern des FAS erleichtert, eine Verschlechterung eines Softwarestands durch bestimmte Erweiterungen oder Änderungen (die ggf. nur eine bestimmte Komponente betreffen) zu entdecken und gezielt zu beheben.For example, differences between the real journey (i.e. the recorded data sequence) and the simulated journey (i.e. the simulated data sequence) that come to light and are relevant with regard to the performance criterion can be automatically written out as errors. This enables automatic detection of errors and functional degradations, which makes it easier for the ADAS developers to discover and specifically correct a deterioration in a software status due to specific extensions or changes (which may only affect a specific component).
Bei dem weiter oben erwähnten Beispiel einer neuen Filtereinstellung einer Sensorfusionskomponente es z.B. passieren, dass durch die neuen Filtereinstellungen ein bei der realen Fahrt tatsächlich vorhandenes Vorderfahrzeug in der Reprozessierung verschwindet. Als Folge unterscheidet sich das simulierte Verhalten des Fahrzeugmodells von realen Fahrt, da die Geschwindigkeit nicht mehr durch das fälschlich herausgefilterte Vorderfahrzeug limitiert wird. Mit Hilfe von Evaluatoren wird dieses Fehlverhalten automatisch erkannt und ein Defekt erzeugt.In the example of a new filter setting of a sensor fusion component mentioned above, for example, it can happen that the new filter settings, a vehicle in front that is actually present during the real journey disappears in the reprocessing. As a result, the simulated behavior of the vehicle model differs from real driving, since the speed is no longer limited by the incorrectly filtered out vehicle in front. With the help of evaluators, this misconduct is automatically recognized and a defect is generated.
Falls das automatische Überprüfen hingegen keine Verletzung des Performance-Kriteriums ergibt, wird der überprüfte Softwarestand zum Betreiben eines Fahrzeugs bereitgestellt.If, on the other hand, the automatic check does not result in a violation of the performance criterion, the checked software status is made available for operating a vehicle.
Insbesondere kann ein automatisiert arbeitendes Software-Gate vorgesehen sein, welches den Softwarestand nur unter der Voraussetzung zur Verwendung in einem Fahrzeug freigibt, dass bei der Überprüfung der simulierten Datensequenz keine Verletzung des Performance-Kriteriums aufgetreten ist. Beispielsweise kann so sichergestellt werden, dass ein Softwarestand, der eine fehlerhafte Änderung in einer Komponente enthält, im Rahmen der Entwicklung des FAS gar nicht erst den Status eines neuen (Gesamt-)Softwarestands des FAS erhält bzw. dass die fehlerhafte Änderung gar nicht erst in einen aktuellen (Gesamt-)Softwarestand des FAS hinein gelassen wird. Hierdurch können Verschlechterungen eines Softwarestands durch fehlerhafte Änderungen im Rahmen der Entwicklung eines FAS in zuverlässiger und effizienter Weise vermieden werden.In particular, an automated software gate can be provided, which releases the software version for use in a vehicle only under the condition that the performance criterion has not been violated when the simulated data sequence is checked. For example, it can be ensured in this way that a software version that contains an incorrect change in a component does not even receive the status of a new (overall) software version of the ADAS during the development of the ADAS or that the incorrect change does not even appear in a current (overall) software version of the ADAS is allowed in. As a result, deterioration of a software status due to incorrect changes during the development of an ADAS can be avoided in a reliable and efficient manner.
Gemäß einer Ausführungsform umfasst das Simulieren den folgenden Ablauf:
- Zunächst wird mittels eines Trajektorienplanungsmoduls und in Abhängigkeit von der aufgezeichneten Datensequenz (insbesondere in Abhängigkeit von Odometriedaten und Fahrzeugdynamikdaten aus der aufgezeichneten Datensequenz) eine erste Soll-Trajektorie für einen ersten Zeitschritt der Simulation geplant.
- First, a first target trajectory for a first time step of the simulation is planned using a trajectory planning module and depending on the recorded data sequence (in particular depending on odometry data and vehicle dynamics data from the recorded data sequence).
Das Trajektorienplanungsmodul kann dabei gemäß einigen Ausführungsformen neben der eigentlichen Trajektorienplanung Funktionen einer höheren Ebene ausführen, die häufig unter den Begriff Fahrstrategie oder „Motion Planning“ gefasst werden. Ferner kann das Trajektorienplanungsmodul auch Funktionen eines (der eigentlichen Trajektorienplanung nachgelagerten) Trajektorienfolgereglers umfassen. Der Begriff Trajektorienplanungsmodul soll also gemäß einigen Ausführungen in diesem Sinne funktional weit verstanden werden.According to some embodiments, the trajectory planning module can, in addition to the actual trajectory planning, carry out functions of a higher level, which are often referred to as driving strategy or “motion planning”. Furthermore, the trajectory planning module can also include functions of a trajectory follow-up controller (subsequent to the actual trajectory planning). According to some statements, the term trajectory planning module should therefore be understood functionally broadly in this sense.
Dann werden mittels eines Fahrzeugmodellmoduls und in Abhängigkeit von der ersten Soll-Trajektorie für den ersten Zeitschritt erste simulierte Odometriedaten und erste simulierte Fahrzeugdynamikdaten eines simulierten Ego-Fahrzeugs erzeugt, wobei die ersten simulierten Odometrie- und Fahrzeugdynamikdaten z.B. für einen oder mehrere Zeitpunkte innerhalb des ersten Zeitschritts gelten können.Then, using a vehicle model module and depending on the first target trajectory for the first time step, first simulated odometry data and first simulated vehicle dynamics data of a simulated ego vehicle are generated, the first simulated odometry and vehicle dynamics data e.g. for one or more points in time within the first time step may apply.
Mittels des Trajektorienplanungsmoduls und in Abhängigkeit von den ersten simulierten Odometriedaten und den ersten simulierten Fahrzeugdynamikdaten wird sodann eine zweite Soll-Trajektorie für einen (auf den ersten Zeitschritt folgenden) zweiten Zeitschritt geplant.A second target trajectory for a second time step (following the first time step) is then planned by means of the trajectory planning module and as a function of the first simulated odometry data and the first simulated vehicle dynamics data.
In Abhängigkeit von der Soll-Trajektorie für den zweiten Zeitschritt werden daraufhin mittels des Fahrzeugmodellmoduls zweite simulierte Odometriedaten und zweiten simulierte Fahrzeugdynamikdaten für den zweiten Zeitschritt erzeugt.Depending on the target trajectory for the second time step, second simulated odometry data and second simulated vehicle dynamics data for the second time step are then generated by means of the vehicle model module.
Diese Schleife kann für eine Reihe von Zeitschritten rekursiv wiederholt ausgeführt werden. Die simulierten Odometrie- und/oder Fahrzeugdynamikdaten können dabei als die simulierte Datensequenz (oder als ein Teil davon) ermittelt und aufgezeichnet werden.This loop can be recursively executed repeatedly for a number of time steps. The simulated odometry and/or vehicle dynamics data can be determined and recorded as the simulated data sequence (or as a part thereof).
Bei einer Ausführungsvariante umfasst das Simulieren ein Verarbeiten von Sensordaten und Odometriedaten aus der aufgezeichneten Datensequenz mittels eines Umfeldmodellmoduls, wobei Umfelddaten erzeugt werden. Die Umfelddaten werden bei dem Planen der Soll-Trajektorien berücksichtigt. Mit anderen Worten kann also auf der Grundlage der aufgezeichneten Sensordaten und Odometriedaten ein geeignetes Umfeldmodell oder Umgebungsmodell für die Simulation erzeugt werden, wobei das Umfeldmodell insbesondere Informationen über Objekte und über einen Straßen- oder Fahrbahnverlauf beinhalten kann. Bevorzugt umfasst das Umfeldmodell auch eine Prädiktion (z.B. betreffend Objekte und den Straßen- bzw. Fahrbahnverlauf) mit Blick auf eine für die Simulation relevante Zukunft.In one embodiment variant, the simulation includes processing of sensor data and odometry data from the recorded data sequence using an environment model module, environment data being generated. The environmental data are taken into account when planning the target trajectories. In other words, based on the recorded sensor data and odometry data, a suitable environment model or environment model can be generated for the simulation, with the environment model being able to contain information about objects and about the course of a road or lane. The environment model preferably also includes a prediction (e.g. relating to objects and the course of the road or lane) with a view to a future relevant to the simulation.
Es liegt ferner im Rahmen der Erfindung, dass die Sensordaten und/oder die Fahrzeugdynamikdaten der aufgezeichneten Datensequenz für die Zwecke des Simulierens und/oder für die Zwecke des automatischen Überprüfens, d.h. z.B. eines Vergleichs mit der simulierten Datensequenz, transformiert werden. Dies kann z.B. eine Transformation der aufgezeichneten Sensordaten in ein geeignetes Koordinatensystem des simulierten Ego-Fahrzeugs betreffen. Eine derartige Transformation wurde in der oben erwähnten deutschen Patentanmeldung
Bei dem hier vorgeschlagenen Verfahren wird eine Transformation der Sensordaten und/oder der Fahrzeugdynamikdaten hinsichtlich einer Geschwindigkeit des simulierten Ego-Fahrzeugs ausgeführt, um z.B. gezielt geeignete Bedingungen zum Überprüfen des Softwarestands bzw. bestimmter Funktionen des Softwarestands mittels der Simulation herzustellen. So kann die Aufzeichnung beispielsweise bei einer Fahrgeschwindigkeit von 100 km/h erfolgt sein, eine Simulation aber für höchstens 80 km/h gewünscht sein (z.B. entsprechend einer Aktivierungsbedingung für die betreffendeIn the method proposed here, a transformation of the sensor data and / or the vehicle dynamics data with respect to a Running speed of the simulated ego vehicle, for example, specifically to produce suitable conditions for checking the software version or certain functions of the software version by means of the simulation. For example, the recording may have taken place at a driving speed of 100 km/h, but a simulation may be desired for a maximum of 80 km/h (e.g. according to an activation condition for the relevant
FAS-Funktion, die nur für Geschwindigkeiten bis zu 80 km/h freigegeben ist). In einem solchen Fall kann das Umfeldmodell durch eine Transformation die Objekte entsprechend anpassen und sie z.B. verlangsamen, damit sie für die Reprozessierung bei den gewünschten Bedingungen verwendet werden können.ADAS function, which is only approved for speeds up to 80 km/h). In such a case, the environment model can use a transformation to adapt the objects accordingly and, for example, slow them down so that they can be used for reprocessing under the desired conditions.
Es ist ferner denkbar, dass die aufgezeichneten Odometriedaten für die Zwecke der Simulation transformiert oder modifiziert werden, um z.B. für die virtuelle Fahrt gezielt andere Straßenverhältnisse, wie z.B. einen anderen Reibwert, als bei der aufgezeichneten Fahrt zu simulierten.It is also conceivable that the recorded odometry data is transformed or modified for the purposes of the simulation, e.g. to simulate different road conditions, such as a different coefficient of friction, for the virtual drive than for the recorded drive.
Falls das Überprüfen der simulierten Datensequenz keine Verletzung des Performance-Kriteriums ergeben hat, kann das Verfahren ferner das Durchführen einer weiteren realen Fahrzeugfahrt umfassen, bei der ein (reales) Fahrerassistenzsystems auf Basis des bereitgestellten Softwarestands betrieben wird. Es ist dabei gemäß einigen Ausführungsvarianten z.B. auch denkbar, dass bei der weiteren Versuchsfahrt eine andere Sensorik oder ein Sensor, der an einem anderen Ort verbaut ist als bei der ursprünglichen Fahrzeugfahrt, zum Einsatz kommt.If checking the simulated data sequence has not resulted in a violation of the performance criterion, the method can also include carrying out another real vehicle journey, in which a (real) driver assistance system is operated on the basis of the software status provided. According to some embodiment variants, it is also conceivable, for example, that a different sensor system or a sensor that is installed at a different location than during the original vehicle drive is used in the further test drive.
Optional kann bei der weiteren realen Fahrzeugfahrt sodann eine weitere Datensequenz aufgezeichnet werden. Daran kann sich ein erneutes Durchführen der vorstehend beschriebenen Verfahrensschritte gemäß dem ersten Erfindungsaspekt auf Basis der weiteren aufgezeichneten Datensequenz und eines weiteren Softwarestands, der sich von dem zuerst verwendeten Softwarestand unterscheiden kann, anschließen.Optionally, another data sequence can then be recorded during the further real vehicle journey. This can be followed by carrying out the method steps described above again according to the first aspect of the invention on the basis of the further recorded data sequence and a further software version, which can differ from the software version used first.
Bei dem erneuten Durchführen der Verfahrensschritte (d.h. beim erneuten Reprozessieren aufgrund der weiteren aufgezeichneten Datensequenz) kann ein anderes Performance-Kriterium verwendet werden als im vorherigen Durchgang. Beispielsweise kann das bei einem nachfolgenden Durchgang verwendete Performance-Kriterium ambitionierter sein als das bei einem vorherigen Durchgangverwendete Performance-Kriterium. Mit anderen Worten kann das Software-Gate für zugelassene Änderungen an dem Softwarestand des FAS immer strenger werden. So kann ein zunächst verwendetes Performance-Kriterium z.B. lediglich bewerten, ob es zu falschen Bremsvorgängen (auf „False Positives“, d.h. tatsächlich nicht vorhandene Objekte) oder dergleichen kommt. Ein später verwendetes, strengeres Performance-Kriterium kann z.B. zusätzlich bewerten, ob das virtuelle Ego-Fahrzeug stets hinreichend nah an einer Mittellinie fährt. Noch weiter fortgeschrittene Performancekriterien, die z.B. durch einen sogenannten Rettungsgassenevaluator ausgewertet werden können, können beispielsweise Funktionen wie ein gewünschtes Verhalten des Ego-Fahrzeugs im Stau (Bilden einer Rettungsgasse) betreffen.When the method steps are carried out again (i.e. when reprocessing again on the basis of the further recorded data sequence), a different performance criterion can be used than in the previous run. For example, the performance criterion used on a subsequent pass may be more ambitious than the performance criterion used on a previous pass. In other words, the software gate for allowed changes to the software level of the ADAS can become increasingly strict. For example, a performance criterion that is initially used can only evaluate whether incorrect braking processes (to "false positives", i.e. objects that are actually not present) or the like occur. A more stringent performance criterion used later can, for example, also evaluate whether the virtual ego vehicle always drives sufficiently close to a center line. Even more advanced performance criteria, which can be evaluated, for example, by a so-called rescue lane evaluator, can relate to functions such as desired behavior of the ego vehicle in a traffic jam (creating a rescue lane).
Im Ergebnis kann sich das vorgeschlagene Verfahren in einen iterativen Prozess einordnen, bei dem der Softwarestand des FAS weiter entwickelt und möglichst kontinuierlich verbessert wird.As a result, the proposed method can be classified in an iterative process in which the software status of the ADAS is further developed and improved as continuously as possible.
Ein zweiter Erfindungsaspekt ist ein Computerprogramm zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems. Das Computerprogramm kann zum Ausführen von Verfahrensschritten gemäß dem ersten Erfindungsaspekt eingerichtet sein. Daher können Ausführungsformen des erfindungsgemäßen Computerprogramms den vorstehend und nachfolgend beschriebenen vorteilhaften Ausführungsformen des erfindungsgemäßen Verfahrens entsprechen und umgekehrt. Insbesondere kann mittels des Computerprogramms, wenn es auf einer Rechenvorrichtung ausgeführt wird, eine Simulationsumgebung der oben im Zusammenhang mit dem Verfahren beschriebenen Art realisiert werden.A second aspect of the invention is a computer program for evaluating a software version of a driver assistance system. The computer program can be set up to carry out method steps according to the first aspect of the invention. Therefore, embodiments of the computer program according to the invention can correspond to the advantageous embodiments of the method according to the invention described above and below and vice versa. In particular, a simulation environment of the type described above in connection with the method can be implemented using the computer program when it is executed on a computing device.
Im Einklang damit umfasst das Computerprogramm gemäß dem zweiten Erfindungsaspekt Befehle, die eine Rechenvorrichtung, auf welcher das Computerprogramm ausführbar ist, veranlassen:
- - Eine aufgezeichnete Datensequenz zu empfangen, wobei die aufgezeichnete Datensequenz Sensordaten, Odometriedaten und Fahrzeugdynamikdaten von einer realen Fahrzeugfahrt umfasst;
- - eine Fahrzeugfahrt in Abhängigkeit von der aufgezeichneten Datensequenz und auf Basis eines Softwarestands des Fahrerassistenzsystems zu simulieren, wobei eine simulierte Datensequenz ermittelt wird;
- - die simulierten Datensequenz daraufhin zu überprüfen, ob die simulierte Fahrzeugfahrt ein Performance-Kriterium verletzt;
- • eine Fehlermeldung auszugeben, falls das Überprüfen ergibt, dass die simulierte Fahrzeugfahrt das Performance-Kriterium verletzt;
- • den Softwarestands zum Betreiben eines Fahrzeugs bereitzustellen, falls das Überprüfen keine Verletzung des Performance-Kriteriums ergibt.
- - receive a recorded data sequence, the recorded data sequence comprising sensor data, odometry data and vehicle dynamics data from a real vehicle journey;
- - to simulate a vehicle journey as a function of the recorded data sequence and based on a software status of the driver assistance system, with a simulated data sequence being determined;
- - check the simulated data sequence to determine whether the simulated vehicle journey violates a performance criterion;
- • issue an error message if the checking reveals that the simulated vehicle journey violates the performance criterion;
- • Provide the software status for operating a vehicle if the check does not reveal a violation of the performance criterion.
Das Computerprogramm kann gemäß einigen Ausführungsformen mehrere Teile umfassen, die jeweils auf verschiedenen, ggf. räumlich voneinander entfernten Rechenvorrichtungen (wie z.B. mehreren Prozessoren) ausgeführt werden können.According to some embodiments, the computer program can comprise a number of parts, each of which can be executed on different computing devices (such as, for example, a number of processors) that may be spatially remote from one another.
Gemäß einer Ausführungsform umfasst das Computerprogramm insbesondere die folgenden Softwaremodule: Ein Umfeldmodellmodul zum Erzeugen von Umfelddaten in Abhängigkeit von der aufgezeichneten Datensequenz, insbesondere in Abhängigkeit von Sensordaten und Odometriedaten aus der aufgezeichneten Datensequenz; ein Trajektorienplanungsmodul zum Planen einer Soll-Trajektorie in Abhängigkeit von der aufgezeichneten Datensequenz und den Umfelddaten (und ggf. in späteren Iterationen der Simulation in Abhängigkeit von bereits simulierten Odometriedaten und simulierten Fahrzeugdynamikdaten); ein Fahrzeugmodellmodul zum Erzeugen von simulierten Odometriedaten und simulierten Fahrzeugdynamikdaten in Abhängigkeit von der Soll-Trajektorie; und ein Evaluationsmodul zum Überprüfen, ob die simulierte Datensequenz, welche die simulierten Odometriedaten und die simulierten Fahrzeugdynamikdaten umfasst, das Performance-Kriterium verletzt.According to one embodiment, the computer program comprises in particular the following software modules: an environment model module for generating environment data as a function of the recorded data sequence, in particular as a function of sensor data and odometry data from the recorded data sequence; a trajectory planning module for planning a target trajectory depending on the recorded data sequence and the environment data (and possibly in later iterations of the simulation depending on already simulated odometry data and simulated vehicle dynamics data); a vehicle model module for generating simulated odometry data and simulated vehicle dynamics data as a function of the target trajectory; and an evaluation module for checking whether the simulated data sequence comprising the simulated odometry data and the simulated vehicle dynamics data violates the performance criterion.
Ein dritter Erfindungsaspekt ist ein computerlesbares (Speicher-)Medium, auf dem ein Computerprogramm gemäß dem zweiten Erfindungsaspekt gespeichert ist.A third aspect of the invention is a computer-readable (storage) medium storing a computer program according to the second aspect of the invention.
Die Erfindung wird nun anhand von Ausführungsbeispielen sowie unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Dabei sind die vorstehend oder nachfolgend in der Beschreibung genannten und/oder in den Zeichnungen alleine gezeigten Merkmale und Merkmalskombinationen nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.
-
1 veranschaulicht schematisch ein Computerprogramm zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems, wobei das Computerprogramm mehrere unterschiedliche Softwaremodule umfasst. -
2 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems.
-
1 schematically illustrates a computer program for evaluating a software status of a driver assistance system, the computer program comprising a number of different software modules. -
2 shows a schematic flowchart of a method for evaluating a software version of a driver assistance system.
Nachfolgend werden die in dem Blockdiagramm gemäß
In einem Schritt des Verfahrens 2 (s. Block 21 in
Die Simulationsumgebung wird mittels einer in
Die Rechenvorrichtung 1 ruft die aufgezeichnete Datensequenz (bzw. bestimmte Daten daraus) von einem Datenspeicher 3 ab. Beispielsweise ist der Datenspeicher 3 ein tragbarer Datenspeicher, der zur Übertragung der aufgezeichneten Datensequenz aus dem realen Fahrzeug an die Rechenvorrichtung 1 verwendet wird.The
In einem weiteren Schritt (s. Block 22 in
Der Schritt 22 des Simulierens umfasst dabei mehrere Unterschritte, die mittels unterschiedlicher, in
In
Ein Umfeldmodellmodul 11 ruft aus dem Datenspeicher 3 Sensordaten und Odometriedaten aus der aufgezeichneten Datensequenz ab und verarbeitet diese, um Umfelddaten für die Simulation zu erzeugen. Dabei werden aus den fusionierten Sensordaten Objekte und eine Straßengeometrie erzeugt. Die Umfelddaten können z.B. zunächst auf ein Koordinatensystem bezogen sein, dessen Ursprung auf der Hinterachse des realen Ego-Fahrzeugs, bei dessen Fahrt die Datensequenz aufgezeichnet wurde, liegt.An
Die Umfelddaten werden an ein Trajektorienplanungsmodul 12 übermittelt. Wie weiter oben bereits erwähnt, soll der Begriff Trajektorienplanungsmodul 12 funktional weit verstanden werden. In diesem Sinne kann das Trajektorienplanungsmodul 12 auch allgemeiner als Motion-Planning-Modul bezeichnet werden.The environment data are transmitted to a
Die von dem Umfeldmodellmodul 11 an das Trajektorienplanungsmodul 12 übermittelten Umfelddaten können z.B. zunächst in einem Untermodul 121 des Trajektorienplanungsmoduls 12, welches als Transformationsmodul 121 bezeichnet werden kann, einer Koordinatentransformation in ein für die Simulation geeignetes Koordinatensystem unterzogen werden. Das Transformationsmodul 121 kann zusätzlich Odometriedaten aus der aufgezeichneten Datensequenz verarbeiten, welche z.B. durch ein Fahrzeugmodellmodul 13 des Computerprogramms, welches die Odometriedaten wiederum aus dem Datenspeicher 3 abgerufen hat, bereitgestellt werden. Die Koordinatentransformation kann z.B. dafür sorgen, dass Objekte und die Straßengeometrie korrekt aus der Perspektive eines simulierten (virtuellen) Ego-Fahrzeugs gesehen werden und nicht aus der Perspektive des realen Fahrzeugs, bei dessen Fahrt die Datensequenz aufgezeichnet wurde.The environment data transmitted from the
Die entsprechend transformierten Objekt- und Straßengeometriedaten werden einem weiteren Untermodul 122 des Trajektorienplanungsmoduls 12 bereitgestellt, welches als Optimierungsmodul oder auch als QP-Planer (wobei QP für quadratische Programmierung steht) bezeichnet werden kann. In dem QP-Planer 122 werden, z.B. unter Verwendung von Methoden der quadratischen Programmierung, mehrere mögliche Trajektorien des virtuellen Ego-Fahrzeugs für einen ersten Zeitschritt erzeugt. Dabei werden die transformierten Umfelddaten berücksichtigt.The correspondingly transformed object and road geometry data are provided to a
Darüber hinaus berücksichtigt die Planung der möglichen Trajektorien für den ersten Zeitschritt Odometriedaten und Fahrzeugdynamikdaten, die dem QP-Planer 122 von dem Fahrzeugmodellmodul 13 bereitgestellt werden. Das Fahrzeugmodellmodul 13 ruft zunächst von dem Datenspeicher 3 Odometriedaten und Fahrzeugdynamikdaten aus der aufgezeichneten Datensequenz ab. Daraus generiert das Fahrzeugmodellmodul 13 ggf. angepasste Fahrzeugdynamikdaten für das virtuelle Ego-Fahrzeug, dessen Fahrt simuliert werden soll, und stellt diese (in Koordinaten, die auf das virtuelle Ego-Fahrzeug bezogen sind) dem QP-Planer 122 als Grundlage für die Trajektorienplanung bereit.In addition, the planning of the possible trajectories for the first time step takes into account odometry data and vehicle dynamics data that are provided by the
Das Fahrzeugmodellmodul 13 kann eine Aktivierungsfunktion umfassen, welche abfragt, ob bestimmte Gegebenheiten als Voraussetzung für eine Aktivierung einer zu überprüfenden FAS-Funktion erfüllt sind. Es wird eine gezielte Transformation hinsichtlich einer Geschwindigkeit des simulierten Ego-Fahrzeugs ausgeführt, um z.B. geeignete Bedingungen zum Überprüfen des Softwarestands bzw. bestimmter Funktionen des Softwarestands mittels der Simulation herzustellen. So kann die Aufzeichnung beispielsweise bei einer Fahrgeschwindigkeit von 100 km/h erfolgt sein, eine Simulation aber für höchstens 80 km/h gewünscht sein (z.B. entsprechend einer Aktivierungsbedingung für die betreffende FAS-Funktion, die nur für Geschwindigkeiten bis zu 80 km/h freigegeben ist). In einem solchen Fall kann das Fahrzeugmodellmodul 13 z.B. die für die Simulation (initial) zu verwendenden Fahrzeugdynamikdaten so anpassen, dass die Bedingungen für eine Aktivierung der relevanten FAS-Funktion gegeben sind. Zugleich kann das Umfeldmodellmodul 11 durch eine geeignete Transformation die Objekte entsprechend anpassen und sie z.B. verlangsamen, damit sie für eine Reprozessierung bei den gewünschten Bedingungen verwendet werden können.The
Dem QP-Planer 122 ist bei dem gezeigten Ausführungsbeispiel ein Trajektorienauswahlmodul 123 nachgeschaltet. Das Trajektorienauswahlmodul 123 empfängt die mehreren möglichen Trajektorien in Koordinaten, die sich auf das virtuelle Ego-Fahrzeug beziehen, und wählt eine (z.B. mit Blick auf eine Fahrstrategie) am besten geeignete Trajektorie als Soll-Trajektorie für den ersten Zeitschritt aus.In the exemplary embodiment shown, a
Die Soll-Trajektorie wird von dem Trajektorienauswahlmodul 123 an das Fahrzeugmodellmodul 13 übermittelt und dort verarbeitet. Dabei werden in dem Fahrzeugmodellmodul 13 in Abhängigkeit von der Soll-Trajektorie für den ersten Zeitschritt erste simulierte Odometriedaten und erste simulierte Fahrzeugdynamikdaten des virtuellen Ego-Fahrzeugs erzeugt. Dabei können die ersten simulierten Odometrie- und Fahrzeugdynamikdaten z.B. für einen oder mehrere Zeitpunkte innerhalb des ersten Zeitschritts gelten.The target trajectory is transmitted from the
Mittels des Trajektorienplanungsmoduls 12 und in Abhängigkeit von den ersten simulierten Odometriedaten und den ersten simulierten Fahrzeugdynamikdaten wird sodann eine zweite Soll-Trajektorie für einen (auf den ersten Zeitschritt folgenden) zweiten Zeitschritt geplant.A second target trajectory for a second time step (following the first time step) is then planned by means of the
In Abhängigkeit von der Soll-Trajektorie für den zweiten Zeitschritt werden daraufhin mittels des Fahrzeugmodellmoduls 13 zweite simulierte Odometriedaten und zweiten simulierte Fahrzeugdynamikdaten für den zweiten Zeitschritt erzeugt, usw.Depending on the target trajectory for the second time step, second simulated odometry data and second simulated vehicle dynamics data for the second time step are then generated by means of the
Diese Schleife kann für eine Reihe von Zeitschritten iterativ („closed loop“) ausgeführt werden. Die simulierten Odometrie- und/oder Fahrzeugdynamikdaten können dabei als eine simulierte Datensequenz (d.h. eine simulierte Trace) oder als ein Teil davon ermittelt und aufgezeichnet werden.This loop can be executed iteratively (“closed loop”) for a number of time steps. The simulated odometry and/or vehicle dynamics data can be used as a simulated data set sequence (ie a simulated trace) or as a part thereof and recorded.
Die simulierten Fahrzeugdynamik- und Odometriedaten sowie optional auch die bei der Simulation verwendeten Umfelddaten können z.B. von einem (in
In einem weiteren Schritt des Verfahrens (s. Block 23 in
Das Überprüfen 23 wird automatisiert durch ein oder mehrere Evaluationsmodule 14 ausgeführt, die jeweils bestimmte Bewertungsfunktionen für eine Bewertung der simulierten Datensequenz hinsichtlich eines jeweiligen Performance-Kriteriums umfassen.Checking 23 is performed automatically by one or
Das Überprüfen 23 umfasst einen Vergleich der simulierten Datensequenz mit der aufgezeichneten Datensequenz. Insbesondere können dabei die simulierten Odometrie- und/oder Fahrzeugdynamikdaten (wie z.B. Beschleunigungen), die das Evaluationsmodul 14 bei dem Ausführungsbeispiel gemäß
Die simulierte Datensequenz (oder ein Teil davon) wird also mit der aufgezeichneten Datensequenz (oder einem Teil davon) verglichen, und eine ggf. festgestellte relevante Abweichung (z.B. zwischen aufgezeichneten und simulierten Beschleunigungen) kann durch das Evaluationsmodul 14 als Verletzung des Performance-Kriteriums gewertet werden. Das Performance-Kriterium kann z.B. die Frage betreffen, ob und ggf. in welchem Maße Daten aus der ersten Datensequenz von Daten aus der zweiten Datensequenz voneinander abweichen. Anhand solcher Abweichungen bzw. allgemeiner anhand von festgestellten Verletzungen des Performance-Kriteriums können Fehler oder Degradationen des untersuchten FAS-Softwarestands aufgedeckt werden.The simulated data sequence (or part of it) is thus compared with the recorded data sequence (or part of it), and any relevant deviation found (e.g. between recorded and simulated accelerations) can be evaluated by the
Falls das Überprüfen 23 ergibt, dass die simulierte Fahrzeugfahrt ein Performance-Kriterium verletzt, wird automatisch eine Fehlermeldung ausgegeben (Verfahrensschritt gemäß. Block 24a in
Wenn der zu überprüfende Softwarestand beispielsweise eine neue Filtereinstellung einer Sensorfusionskomponente umfasst, kann es passieren, dass ein bei der realen Fahrt tatsächlich vorhandenes Vorderfahrzeug in der Reprozessierung verschwindet. Als Folge unterscheidet sich das simulierte Verhalten des Fahrzeugmodells von der realen Fahrt, da die Geschwindigkeit nicht mehr durch das fälschlich herausgefilterte Vorderfahrzeug limitiert wird. Mit Hilfe von Evaluatoren wird dieses Fehlverhalten automatisch erkannt und es wird ein Defekt erzeugt. Umgekehrt könnte es in Folge einer neuen Filtereinstellung einer Sensorfusionskomponente auch dazu kommen, dass ein „Geisterobjekt“ erkannt wird, d.h. z.B. dass ein tatsächlich nicht vorhandenes oder jedenfalls nicht in der Fahrspur des Ego-Fahrzeugs fahrendes Vorderfahrzeug fälschlicherweise als Zielobjekt gewertet wird, sodass es bei der virtuellen Fahrzeugfahrt zu einem unnötigen Bremsvorgang kommt.For example, if the software status to be checked includes a new filter setting for a sensor fusion component, it can happen that a vehicle in front that is actually present during the real journey disappears in the reprocessing. As a result, the simulated behavior of the vehicle model differs from the real journey, since the speed is no longer limited by the incorrectly filtered out vehicle in front. With the help of evaluators, this misconduct is automatically recognized and a defect is generated. Conversely, as a result of a new filter setting for a sensor fusion component, it could also happen that a "ghost object" is detected, i.e. e.g. that a vehicle in front that is actually not present or is at least not driving in the lane of the ego vehicle is incorrectly evaluated as a target object, so that it Virtual vehicle driving leads to an unnecessary braking process.
Die vorstehend erwähnte neue Filtereinstellung einer Sensorfusionskomponente ist lediglich ein Beispiel von einer großen Vielfalt möglicher Änderungen in einem Softwarestand, welche zu Fehlern führen können, die mittels des beschriebenen Verfahrens entdeckt werden können. Grundsätzlich können dies Änderungen in jeder Komponente des FAS sein, von der Sensorik über das Umfeldmodell bis hin zur Trajektorienplanung.The new filter setting of a sensor fusion component mentioned above is just one example of a large variety of possible changes in a software version, which can lead to errors that can be discovered using the method described. In principle, these can be changes in any component of the ADAS, from the sensors to the environment model to trajectory planning.
Falls das Überprüfen hingegen keine Verletzung eines Performance-Kriteriums ergibt, wird der überprüfte Softwarestand zum Betreiben eines Fahrzeugs bereitgestellt (Verfahrensschritt gemäß. Block 24b in
Wenn das Überprüfen der simulierten Datensequenz keine Verletzung eines Performance-Kriteriums ergeben hat, kann z.B. eine weiteren realen Fahrzeugfahrt, bei der ein (reales) Fahrerassistenzsystems auf Basis des bereitgestellten Softwarestands betrieben wird, durchgeführt werden (s. Block 25 in
Bei dem erneuten Reprozessieren kann dasselbe oder ein anderes Performance-Kriterium verwendet werden als im vorherigen Durchgang verwendet wird. Beispielsweise kann das bei einem nachfolgenden Durchgang verwendete Performance-Kriterium ambitionierter als das bei einem vorherigen Durchgang verwendete Performance-Kriterium sein. Das beschriebene Verfahren kann somit Teil in eines iterativen Prozesses sein, bei dem der Softwarestand des FAS weiter entwickelt und möglichst kontinuierlich verbessert wird.When reprocessing again, the same or a different performance criterion can be used than used in the previous pass. For example, the performance criterion used on a subsequent pass may be more ambitious than the performance criterion used on a previous pass. The method described can therefore be part of an iterative process in which the software status of the ADAS is further developed and continuously improved as far as possible.
BezugszeichenlisteReference List
- 11
- Rechenvorrichtungcomputing device
- 1111
- Umfeldmodellmodulenvironment model module
- 1212
- Trajektorienplanungsmodultrajectory planning module
- 121121
- Transformationsmodultransformation module
- 122122
- QP-PlanerQP planner
- 123123
- Trajektorienauswahlmodultrajectory selection module
- 1313
- Fahrzeugmodellmodulvehicle model module
- 1414
- Evaluationsmodulevaluation module
- 22
- VerfahrenProceedings
- 21 - 2621 - 26
- Verfahrensschritteprocess steps
- 33
- Datenspeicherdata storage
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021111724.0A DE102021111724B4 (en) | 2021-05-05 | 2021-05-05 | Method and computer program for evaluating a software version of a driver assistance system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021111724.0A DE102021111724B4 (en) | 2021-05-05 | 2021-05-05 | Method and computer program for evaluating a software version of a driver assistance system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102021111724A1 DE102021111724A1 (en) | 2022-11-10 |
DE102021111724B4 true DE102021111724B4 (en) | 2023-03-09 |
Family
ID=83692312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021111724.0A Active DE102021111724B4 (en) | 2021-05-05 | 2021-05-05 | Method and computer program for evaluating a software version of a driver assistance system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021111724B4 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016205806A1 (en) | 2016-04-07 | 2017-10-12 | Bayerische Motoren Werke Aktiengesellschaft | Method for optimizing a function in a vehicle |
-
2021
- 2021-05-05 DE DE102021111724.0A patent/DE102021111724B4/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016205806A1 (en) | 2016-04-07 | 2017-10-12 | Bayerische Motoren Werke Aktiengesellschaft | Method for optimizing a function in a vehicle |
Non-Patent Citations (2)
Title |
---|
BACH, J. [et al.]: Control based driving assistant functions’ test using recorded in field data. In: 7. Tagung Fahrerassistenzsysteme, 2015, URL: https://mediatum.ub.tm.de/node?id=1285215 [abgerufen am 20.01.2022] |
BACH, Johannes: Reactive-Replay Approach for Verification and Validation of Closed-Loop Control Systems in Early Development. In: SAE technical papers, Vol. 2017-01-1671, 2017, S. 1-8. - ISSN 0148-7191 |
Also Published As
Publication number | Publication date |
---|---|
DE102021111724A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016220670A1 (en) | Method and system for testing software for autonomous vehicles | |
DE102017200180A1 (en) | Method and test unit for the motion prediction of road users in a passively operated vehicle function | |
EP3644148B1 (en) | Test terminal for tests of an infrastructure of a vehicle | |
DE102018212733A1 (en) | Detection of deteriorating sensor performance | |
DE102015218361A1 (en) | Method and test unit for verifying a vehicle function | |
DE102019124018A1 (en) | Method for optimizing tests of control systems for automated vehicle dynamics systems | |
WO2021058223A1 (en) | Method for applying automated driving functions efficiently and in a simulated manner | |
DE102019134053A1 (en) | Process for the continuous validation of automated driving functions applied in driving tests | |
DE102018213844A1 (en) | Method for testing an at least partially automated driving function for motor vehicles | |
EP3935463B1 (en) | Method and device for operating an automated vehicle | |
DE102018209108A1 (en) | Fast fault analysis for machine learning technical devices | |
DE102021111724B4 (en) | Method and computer program for evaluating a software version of a driver assistance system | |
AT523850A4 (en) | Computer-aided method and device for probability-based speed prediction for vehicles | |
DE102017109132A1 (en) | Method and IT infrastructure for model-based testing of software for a vehicle application system and for providing corresponding test results | |
DE102017201796A1 (en) | Control device for determining a self-motion of a motor vehicle and motor vehicle and method for providing the control device | |
DE102019203205A1 (en) | Method for evaluating vehicle data and vehicle data evaluation system for carrying out such a method | |
EP4105811A1 (en) | Computer-implemented method for scenario-based testing and / or homologation of at least partially autonomous travel functions to be tested by key performance indicators (kpi) | |
DE202021004237U1 (en) | Computer-readable storage medium and computing device for evaluating a software version of a driver assistance system | |
WO2023012243A1 (en) | System, method and software for operating a driver assistance system | |
WO2022077042A1 (en) | Method and a system for testing a driver assistance system for a vehicle | |
AT524821A1 (en) | Method and system for generating scenario data for testing a driver assistance system of a vehicle | |
DE102016009199B4 (en) | Method for operating a data acquisition unit for recording at least one control event of a control device of a motor vehicle as well as a data acquisition unit and a data processing unit | |
DE112022002734T5 (en) | VEHICLE CONTROL SYSTEM AND VEHICLE CONTROL METHOD | |
WO2021105103A1 (en) | Method and software tool for making executable specifications in system development or system validation of complex functional systems | |
DE102022114913A1 (en) | Computer-implemented method for using stored specification parts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R138 | Derivation of utility model |
Ref document number: 202021004237 Country of ref document: DE |
|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |