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 PDF

Info

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
Application number
DE102021111724.0A
Other languages
German (de)
Other versions
DE102021111724A1 (en
Inventor
Sebastian Bittel
Leonhard Walchshaeusl
Rudolf Lindl
Dominik Sieber
Mikhail Pak
Markus Tauchnitz
Christoph Hellfritsch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102021111724.0A priority Critical patent/DE102021111724B4/en
Publication of DE102021111724A1 publication Critical patent/DE102021111724A1/en
Application granted granted Critical
Publication of DE102021111724B4 publication Critical patent/DE102021111724B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled 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.

Figure DE102021111724B4_0000
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.
Figure DE102021111724B4_0000

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 SAE levels 1 to 5 of the SAE J3016 standard (SAE - Society of Automotive Engineering). With assisted driving (SAE Level 1), the system performs longitudinal or lateral guidance in certain driving situations. With semi-automated driving (SAE Level 2), the system takes over longitudinal and lateral guidance in certain driving situations, whereby the driver has to constantly monitor the system, as with assisted driving. With highly automated driving (SAE Level 3), the system takes over longitudinal and lateral guidance in certain driving situations without the driver having to constantly monitor the system; however, the driver must be able to take control of the vehicle within a certain period of time when requested by the system. With fully automated driving (SAE Level 4), the system takes over control of the vehicle in certain driving situations, even if the driver does not respond to a request to intervene, meaning that the driver is no longer a fallback option. With autonomous driving (SAE Level 5), the system can carry out all aspects of the dynamic driving task under any road and environmental conditions, which can also be controlled by a human driver. SAE Level 5 thus corresponds to driverless driving, in which the system can automatically handle all situations like a human driver throughout the journey; a driver is generally no longer required.

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 DE 10 2016 205 806 A1 vorgeschlagen. Bei einem darin beschriebenen Verfahren zu Optimierung eines Reglers in einem Fahrzeug werden in einem vorgegebenen Zeitraum erfasste relative Messdaten in ein vorgegebenes Koordinatensystem umgerechnet und in eine Simulationsumgebung integriert, so dass die Funktion auf Basis dieser aufbereiteten Messdaten simuliert wird.An approach that combines sensor data from a real journey with a simulation was developed in the German patent application DE 10 2016 205 806 A1 suggested. In a method described therein for optimizing a controller in a vehicle, relative measurement data recorded in a specified period of time are converted into a specified coordinate system and integrated into a simulation environment, so that the function is simulated on the basis of this processed measurement data.

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.
According to one embodiment, the simulating includes the following process:
  • 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 DE 10 2016 205 806 A1 beschrieben.It is also within the scope of the invention for the sensor data and/or the vehicle dynamics data of the recorded data sequence to be transformed for the purpose of simulation and/or for the purpose of automatic checking, ie for example a comparison with the simulated data sequence. This can, for example, concern a transformation of the recorded sensor data into a suitable coordinate system of the simulated ego vehicle. Such a transformation has been described in the German patent application mentioned above DE 10 2016 205 806 A1 described.

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.
In line with this, the computer program according to the second aspect of the invention comprises instructions which cause a computing device on which the computer program is executable to:
  • - 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.
The invention will now be explained in more detail using exemplary embodiments and with reference to the accompanying drawings. The features and feature combinations mentioned above or below in the description and/or shown alone in the drawings can be used not only in the combination specified, but also in other combinations or on their own, without departing from the scope of the invention.
  • 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äß 2 gezeigten Schritte 21-26 eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens 2 erläutert, wobei zugleich auf die in 1 dargestellten Hard- und Softwarekomponenten, die eine geeignete Simulationsumgebung realisieren, Bezug genommen wird.The following are shown in the block diagram according to 2 Steps 21-26 shown of an embodiment of the method 2 according to the invention are explained, whereby at the same time reference is made to the in 1 illustrated hardware and software components that implement a suitable simulation environment.

In einem Schritt des Verfahrens 2 (s. Block 21 in 2) wird eine aufgezeichnete Datensequenz an eine Simulationsumgebung bereitgestellt. Die aufgezeichnete Datensequenz umfasst Sensordaten, Odometriedaten und Fahrzeugdynamikdaten von einer realen Fahrzeugfahrt.In a step of method 2 (see block 21 in 2 ) a recorded data sequence is provided to a simulation environment. The recorded data sequence includes sensor data, odometry data and vehicle dynamics data from a real vehicle journey.

Die Simulationsumgebung wird mittels einer in 1 schematisch dargestellten Rechenvorrichtung 1 realisiert, welche außerhalb des Fahrzeugs, das die reale Fahrzeugfahrt durchgeführt hat, angeordnet ist. Dabei kann es sich z.B. um eine leistungsstarke Rechenvorrichtung 1 in einem Entwicklungslabor eines Fahrzeugherstellers handeln.The simulation environment is created using an in 1 Computing device 1 shown schematically realized, which is arranged outside of the vehicle that has carried out the real vehicle journey. This can be, for example, a high-performance computing device 1 in a development laboratory of a vehicle manufacturer.

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 computing device 1 retrieves the recorded data sequence (or specific data from it) from a data memory 3 . For example, the data memory 3 is a portable data memory that is used to transmit the recorded data sequence from the real vehicle to the computing device 1 .

In einem weiteren Schritt (s. Block 22 in 2) wird mittels der Simulationsumgebung eine Fahrzeugfahrt in Abhängigkeit von der aufgezeichneten Datensequenz und auf Basis eines Softwarestands eines FAS simuliert. Dabei wird eine simulierte Datensequenz ermittelt.In a further step (see block 22 in 2 ) a vehicle journey is simulated using the simulation environment depending on the recorded data sequence and on the basis of a software version of an ADAS. A simulated data sequence is determined in the process.

Der Schritt 22 des Simulierens umfasst dabei mehrere Unterschritte, die mittels unterschiedlicher, in 1 schematisch veranschaulichter Softwaremodule 11-14 des Computerprogramms ausgeführt werden und die nachfolgend im Einzelnen erläutert werden.The step 22 of simulating comprises several sub-steps, which are carried out by means of different, in 1 schematically illustrated software modules 11-14 of the computer program and which are explained in detail below.

In 1 sind Daten, die zwischen einzelnen Softwarekomponenten oder zwischen dem Datenspeicher und bestimmten Softwarekomponenten übermittelt werden durch Pfeile symbolisiert. Dabei stehen durchgezogene Pfeile aufgezeichnete Daten, d.h. von Daten aus der aufgezeichneten und in dem Datenspeicher 3 abgelegten Datensequenz. Gestrichelte Pfeile stehen für Daten, die im Rahmen der Simulation erzeugt werden.In 1 are data that are transmitted between individual software components or between the data memory and certain software components, symbolized by arrows. Solid arrows represent recorded data, ie data from the data sequence recorded and stored in the data memory 3 . Dashed arrows represent data generated as part of the simulation.

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 environment model module 11 retrieves sensor data and odometry data from the recorded data sequence from the data memory 3 and processes them in order to generate environment data for the simulation. Objects and a road geometry are generated from the merged sensor data. The environment data can, for example, initially be related to a coordinate system whose origin is on the rear axle of the real ego vehicle, during which the data sequence was recorded.

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 trajectory planning module 12 . As already mentioned above, the term trajectory planning module 12 should be understood functionally broadly. In this sense, the trajectory planning module 12 can also be referred to more generally as a motion planning module.

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 environment model module 11 to the trajectory planning module 12 can, for example, first be subjected to a coordinate transformation into a coordinate system suitable for the simulation in a submodule 121 of the trajectory planning module 12, which can be referred to as a transformation module 121. The transformation module 121 can also process odometry data from the recorded data sequence, which is provided, for example, by a vehicle model module 13 of the computer program, which in turn has retrieved the odometry data from the data memory 3. The coordinate transformation can, for example, ensure that objects and the road geometry are correctly seen from the perspective of a simulated (virtual) ego vehicle and not from the perspective of the real vehicle, during which the data sequence was recorded.

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 further sub-module 122 of the trajectory planning module 12, which can be referred to as an optimization module or also as a QP planner (where QP stands for quadratic programming). In the QP planner 122, several possible trajectories of the virtual ego vehicle are generated for a first time step, e.g. The transformed environment data are taken into account.

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 vehicle model module 13 to the QP planner 122 . The vehicle model module 13 first retrieves odometry data and vehicle dynamics data from the recorded data sequence from the data memory 3 . From this, the vehicle model module 13 generates vehicle dynamics data that may have been adjusted for the virtual ego vehicle whose journey is to be simulated and provides this (in coordinates that are related to the virtual ego vehicle) to the QP planner 122 as a basis for trajectory planning .

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 vehicle model module 13 can include an activation function which queries whether certain conditions are met as a prerequisite for activating an ADAS function to be checked. A targeted transformation with regard to a speed of the simulated ego vehicle is carried out in order, for example, to create suitable conditions for checking the software status or certain functions of the software status using the simulation. For example, the recording may have taken place at a driving speed of 100 km/h, but a simulation for a maximum of 80 km/h is desired (e.g. according to an activation condition for the relevant ADAS function, which is only released for speeds up to 80 km/h is). In such a case, the vehicle model module 13 can, for example, adapt the vehicle dynamics data to be used (initially) for the simulation in such a way that the conditions for activating the relevant ADAS function are given. At the same time, the environment model module 11 can adapt the objects accordingly through a suitable transformation and, for example, slow them down so that they can be used for reprocessing under the desired conditions.

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 trajectory selection module 123 is connected downstream of the QP planner 122 . The trajectory selection module 123 receives the multiple possible trajectories in coordinates that relate to the virtual ego vehicle and selects a trajectory that is most suitable (e.g. with a view to a driving strategy) as the target trajectory for the first time step.

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 trajectory selection module 123 to the vehicle model module 13 and processed there. In this case, first simulated odometry data and first simulated vehicle dynamics data of the virtual ego vehicle are generated in the vehicle model module 13 as a function of the target trajectory for the first time step. The first simulated odometry and vehicle dynamics data can apply, for example, to one or more points in time within the first time step.

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 trajectory planning module 12 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 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 vehicle model module 13, etc.

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 1 nicht dargestellten) Visualisierungsmodul verarbeitet werden, welcher eine anschauliche Visualisierung der virtuellen Fahrzeugfahrt erzeugt, um den Entwicklern des FAS die Analyse des Softwarestands zu erleichtern.The simulated vehicle dynamics and odometry data and, optionally, the environment data used in the simulation can be generated, for example, from a (in 1 not shown) visualization module are processed, which generates a clear visualization of the virtual vehicle journey to make it easier for the developers of the ADAS to analyze the software status.

In einem weiteren Schritt des Verfahrens (s. Block 23 in 2) erfolgt ein automatisches Überprüfen der simulierten Datensequenz daraufhin, ob die simulierte Fahrzeugfahrt ein Performance-Kriterium verletzt.In a further step of the method (see block 23 in 2 ) the simulated data sequence is automatically checked to determine whether the simulated vehicle journey violates a performance criterion.

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 more evaluation modules 14, each of which includes specific evaluation functions for evaluating the simulated data sequence with regard to a respective performance criterion.

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äß 1 von dem Fahrzeugmodellmodul 13 empfängt, mit den aufgezeichneten Odometrie- und/oder Fahrzeugdynamikdaten (wie z.B. Beschleunigungen), die das Evaluationsmodul 14 bei dem Ausführungsbeispiel gemäß 1 aus dem Datenspeicher 3 abruft, verglichen werden.Checking 23 includes a comparison of the simulated data sequence with the recorded data sequence. In particular, the simulated odometry and/or vehicle dynamics data (such as accelerations) that the evaluation module 14 in the exemplary embodiment according to 1 receives from the vehicle model module 13, with the recorded odometry and/or vehicle dynamics data (such as accelerations), which the evaluation module 14 in the exemplary embodiment according to 1 retrieves from the data memory 3, are compared.

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 evaluation module 14 as a violation of the performance criterion become. The performance criterion can, for example, relate 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 identified violations of the performance criterion, errors or degradations in the ADAS software version being examined can be uncovered.

Falls das Überprüfen 23 ergibt, dass die simulierte Fahrzeugfahrt ein Performance-Kriterium verletzt, wird automatisch eine Fehlermeldung ausgegeben (Verfahrensschritt gemäß. Block 24a in 2). Die Fehlermeldung kann detaillierte Angaben über die Verletzung des Performance-Kriteriums umfassen, z.B. in Form einer durch das Evaluationsmodul 14 erzeugten 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, mit welchem Abschnitt der simulierten Datensequenz die Verletzung des Performance-Kriteriums zusammenhängt. 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.If checking 23 shows that the simulated vehicle journey violates a performance criterion, an error message is automatically output (procedural step according to block 24a in 2 ). The error message can include detailed information about the breach of the performance criterion, for example in the form of a marking generated by the evaluation module 14 at a relevant point in the simulated data sequence and/or at a corresponding point in the recorded data sequence. The error message can thus include, for example, an automatically generated marker which indicates which section of the simulated data sequence is associated with the violation of the performance criterion. For example, differences between the real journey (ie the recorded data sequence) and the simulated journey (ie the simulated data sequence) that come to light and are relevant with regard to the performance criterion can be written out automatically as errors.

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 2). Insbesondere kann dabei 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. Auf diese Weise kann 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.If, on the other hand, the check does not result in a violation of a performance criterion, the checked software version is made available for operating a vehicle (method step according to block 24b in 2 ). 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. In this way it can be ensured that a software version that contains a faulty contains a change in a component, does not even receive the status of a new (overall) software version of the ADAS as part of the development of the ADAS or that the faulty change is not even allowed into a current (overall) software version of the ADAS.

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 2). Bei der weiteren realen Fahrzeugfahrt kann wiederum eine weitere Datensequenz aufgezeichnet werden (s. Block 26 in 2). Daran kann sich ein erneutes Reprozessieren in der Simulationsumgebung aufgezeichneten Datensequenz und eines weiteren Softwarestands, der sich von dem zuerst verwendeten Softwarestand unterscheidet, anschließen.If checking the simulated data sequence has not revealed any violation of a performance criterion, another real vehicle journey can be carried out, for example, in which a (real) driver assistance system is operated on the basis of the software version provided (see block 25 in 2 ). During the further real vehicle journey, another data sequence can be recorded (see block 26 in 2 ). This can be followed by renewed reprocessing of the data sequence recorded in the simulation environment and of a further software version that differs from the software version used first.

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)

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. Verfahren (2) nach Anspruch 1, wobei das Simulieren (22) umfasst: - Planen, mittels eines Trajektorienplanungsmoduls (12) und in Abhängigkeit von der aufgezeichneten Datensequenz, einer ersten Soll-Trajektorie für einen ersten Zeitschritt; - Erzeugen, mittels eines Fahrzeugmodellmoduls (13) und in Abhängigkeit von der ersten Soll-Trajektorie für den ersten Zeitschritt, von ersten simulierten Odometriedaten und ersten simulierten Fahrzeugdynamikdaten des simulierten Ego-Fahrzeugs; - Planen, mittels des Trajektorienplanungsmoduls (12) und in Abhängigkeit von den ersten simulierten Odometriedaten und den ersten simulierten Fahrzeugdynamikdaten, einer zweiten Soll-Trajektorie für einen zweiten Zeitschritt; - Erzeugen, mittels des Fahrzeugmodellmoduls (13) und in Abhängigkeit von der Soll-Trajektorie für den zweiten Zeitschritt, von zweiten simulierten Odometriedaten und zweiten simulierten Fahrzeugdynamikdaten für den zweiten Zeitschritt.Method (2) according to claim 1 , wherein the simulating (22) comprises: - planning, by means of a trajectory planning module (12) and depending on the recorded data sequence, a first target trajectory for a first time step; - Generating, by means of a vehicle model module (13) and depending on the first target trajectory for the first time step, of first simulated odometry data and first simulated vehicle dynamics data of the simulated ego vehicle; - Planning, by means of the trajectory planning module (12) and depending on the first simulated odometry data and the first simulated vehicle dynamics data, a second target trajectory for a second time step; - Generating, by means of the vehicle model module (13) and depending on the target trajectory for the second time step, of second simulated odometry data and second simulated vehicle dynamics data for the second time step. Verfahren (2) nach Anspruch 2, ferner umfassend: - Verarbeiten von Sensordaten und Odometriedaten aus der aufgezeichneten Datensequenz mittels eines Umfeldmodellmoduls (11), wobei Umfelddaten erzeugt werden; - Berücksichtigen der Umfelddaten bei dem Planen der Soll-Trajektorien.Method (2) according to claim 2 , further comprising: - processing of sensor data and odometry data from the recorded data sequence by means of an environment model module (11), environment data being generated; - Considering the environment data when planning the target trajectories. Verfahren (2) nach einem der vorhergehenden Ansprüche, wobei das automatische Überprüfen (23) einen Vergleich der simulierten Datensequenz mit der aufgezeichneten Datensequenz umfasst.Method (2) according to one of the preceding claims, wherein the automatic checking (23) comprises a comparison of the simulated data sequence with the recorded data sequence. Verfahren (2) nach einem der vorhergehenden Ansprüche, ferner umfassend: - falls das Überprüfen keine Verletzung des Performance-Kriteriums ergeben hat, Durchführen (25) einer weiteren realen Fahrzeugfahrt, wobei ein Fahrerassistenzsystems auf Basis des bereitgestellten Softwarestands betrieben wird.Method (2) according to any one of the preceding claims, further comprising: - If the check has not resulted in a violation of the performance criterion, performing (25) another real vehicle journey, with a driver assistance system being operated on the basis of the software status provided. Verfahren (2) nach Anspruch 5, ferner umfassend: - Aufzeichnen (26) einer weiteren Datensequenz bei der weiteren realen Fahrzeugfahrt; und - erneutes Durchführen der Verfahrensschritte gemäß Anspruch 1 auf Basis der weiteren Datensequenz und eines weiteren Softwarestands.Method (2) according to claim 5 , further comprising: - recording (26) a further data sequence in the further real vehicle journey; and - carrying out the method steps according to again claim 1 on the basis of the further data sequence and a further software status. Verfahren (2) nach Anspruch 6, wobei beim erneuten Durchführen der Verfahrensschritte gemäß Anspruch 1 ein anderes Performance-Kriterium verwendet wird.Method (2) according to claim 6 , wherein when carrying out the method steps again according to claim 1 another performance criterion is used. Computerprogramm (1) zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems, wobei das Computerprogramm Befehle umfasst, die eine Rechenvorrichtung (1), 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; - die Sensordaten und/oder die Fahrzeugdynamikdaten der aufgezeichneten Datensequenz für die Zwecke einer Simulation einer Fahrzeugfahrt eines Ego-Fahrzeugs zu transformieren, wobei die Transformation hinsichtlich einer Geschwindigkeit, die das Ego-Fahrzeug bei der simulierten Fahrzeugfahrt haben soll, erfolgt; - die 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 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.Computer program (1) for evaluating a software status of a driver assistance system, the computer program comprising instructions which cause a computing device (1) on which the computer program can be executed: - receive a recorded data sequence, the recorded data sequence comprising sensor data, odometry data and vehicle dynamics data from a real vehicle journey; - to transform 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; - to simulate the vehicle journey of the ego vehicle as a function of 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; - 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. Computerprogramm (1) nach Anspruch 8, umfassend: - Ein Umfeldmodellmodul (11) zum Erzeugen von Umfelddaten in Abhängigkeit von der aufgezeichneten Datensequenz; - ein Trajektorienplanungsmodul (12) zum Planen einer Soll-Trajektorie in Abhängigkeit von der aufgezeichneten Datensequenz und den Umfelddaten; - ein Fahrzeugmodellmodul (13) zum Erzeugen von simulierten Odometriedaten und simulierten Fahrzeugdynamikdaten in Abhängigkeit von der Soll-Trajektorie; und - ein Evaluationsmodul (14) zum Überprüfen, ob die simulierte Datensequenz, welche die simulierten Odometriedaten und die simulierten Fahrzeugdynamikdaten umfasst, das Performance-Kriterium verletzt.Computer program (1) after claim 8 , comprising: - an environment model module (11) for generating environment data as a function of the recorded data sequence; - A trajectory planning module (12) for planning a target trajectory depending on the recorded data sequence and the environment data; - a vehicle model module (13) for generating simulated odometry data and simulated vehicle dynamics data as a function of the desired trajectory; and - an evaluation module (14) for checking whether the simulated data sequence, which comprises the simulated odometry data and the simulated vehicle dynamics data, violates the performance criterion.
DE102021111724.0A 2021-05-05 2021-05-05 Method and computer program for evaluating a software version of a driver assistance system Active DE102021111724B4 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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