DE102021202903A1 - Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs - Google Patents

Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs Download PDF

Info

Publication number
DE102021202903A1
DE102021202903A1 DE102021202903.5A DE102021202903A DE102021202903A1 DE 102021202903 A1 DE102021202903 A1 DE 102021202903A1 DE 102021202903 A DE102021202903 A DE 102021202903A DE 102021202903 A1 DE102021202903 A1 DE 102021202903A1
Authority
DE
Germany
Prior art keywords
version
objects
data
vehicle
relevant
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.)
Pending
Application number
DE102021202903.5A
Other languages
English (en)
Inventor
Dora Ahbe
Matthias Birk
Marina Ullmann
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021202903.5A priority Critical patent/DE102021202903A1/de
Priority to JP2023558412A priority patent/JP2024512563A/ja
Priority to KR1020237036532A priority patent/KR20230157514A/ko
Priority to PCT/EP2022/052522 priority patent/WO2022199916A1/de
Priority to CN202280023882.6A priority patent/CN117099085A/zh
Priority to EP22706756.8A priority patent/EP4315069A1/de
Publication of DE102021202903A1 publication Critical patent/DE102021202903A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum Bewerten einer Software (111) für ein Steuergerät (102) eines Fahrzeugs (100), wobei das Steuergerät (102) einen Speicher (110), in dem eine erste Version (111a) und eine zweite Version (111b) der Software (111) gespeichert sind, sowie einen Prozessor (112) zum Ausführen der ersten Version (111a) und der zweiten Version (111b) umfasst. Das Verfahren umfasst: Empfangen von Sensordaten (108), die durch eine Sensorik (104) zum Erfassen einer Umgebung des Fahrzeugs (100) erzeugt wurden, in dem Steuergerät (102); Eingeben der Sensordaten (108) in die erste Version (111a) und die zweite Version (111b); Erzeugen erster Objektdaten (206, 206') aus den Sensordaten (108) durch die erste Version (lila), wobei die ersten Objektdaten (206, 206') Positionen und/oder Orientierungen von durch die erste Version (111a) erkannten ersten Objekten (116, 116') in der Umgebung des Fahrzeugs (100) umfassen; Erzeugen zweiter Objektdaten (208, 208') aus den Sensordaten (108) durch die zweite Version (111b), wobei die zweiten Objektdaten (208, 208') Positionen und/oder Orientierungen von durch die zweite Version (111b) erkannten zweiten Objekten (118, 118') in der Umgebung des Fahrzeugs (100) umfassen; Bewerten der zweiten Version (111b) hinsichtlich einer Erkennungsgüte durch Vergleichen der ersten Objektdaten (206, 206') mit den zweiten Objektdaten (208, 208'), wobei ein Bewertungsergebnis (212) erzeugt wird; und Senden des Bewertungsergebnisses (212) von dem Steuergerät (102) an eine zentrale Datenverarbeitungsvorrichtung (214).

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs. Des Weiteren betrifft die Erfindung ein Steuergerät, ein Computerprogramm und ein computerlesbares Medium zum Ausführen des vorgenannten Verfahrens.
  • Stand der Technik
  • Ein Fahrzeug wie beispielsweise ein Pkw oder Lkw kann mit einem Fahrerassistenzsystem ausgestattet sein, das eine teil- oder vollautomatisierte Steuerung des Fahrzeugs ermöglicht. Hierzu kann das Fahrerassistenzsystem beispielsweise mittels einer geeigneten Sensorik Positionen, Orientierungen und/oder Objekttypen von Objekten in der Umgebung des Fahrzeugs erkennen und das Fahrzeug unter Berücksichtigung dieser Objekte lenken, bremsen und/oder beschleunigen.
  • Ein solches Fahrerassistenzsystem unterliegt im Allgemeinen strengen Sicherheitsanforderungen. Aktualisierungen des Fahrerassistenzsystems, etwa zur Verbesserung oder Erweiterung des Fahrerassistenzsystems, können sehr aufwendig sein, da bei jeder Aktualisierung einzelner Komponenten eine Freigabe des Gesamtsystems erfolgen muss.
  • Offenbarung der Erfindung
  • Vor diesem Hintergrund werden mit dem hier vorgestellten Ansatz ein Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs, ein entsprechendes Steuergerät, ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Medium gemäß den unabhängigen Ansprüchen vorgestellt. Vorteilhafte Weiterbildungen und Verbesserungen des hier vorgestellten Ansatzes ergeben sich aus der Beschreibung und sind in den abhängigen Ansprüchen beschrieben.
  • Vorteile der Erfindung
  • Ausführungsformen der vorliegenden Erfindung ermöglichen es, eine noch nicht freigegebene Version einer Objekterkennungssoftware für ein Steuergerät eines Fahrzeugs parallel zu einer bereits freigegebenen Version der Objekterkennungssoftware auf dem Steuergerät auszuführen, die noch nicht freigegebene Version hinsichtlich ihrer Erkennungsgüte durch Vergleichen von Erkennungsergebnissen der beiden Versionen zu bewerten und ein entsprechendes Bewertungsergebnis zur weiteren Auswertung an eine zentrale Datenverarbeitungsvorrichtung zu senden.
  • Unter Einbeziehung von Bewertungsergebnissen, d. h. von Realdaten, einer entsprechend großen Anzahl von Serienfahrzeugen kann somit eine sehr schnelle und kostengünstige Validierung der noch nicht freigegebenen Version, beispielsweise einer neuen Version eines Objekterkennungs- oder Sensordatenfusionsmoduls, gewährleistet werden.
  • Ein erster Aspekt der Erfindung betrifft ein computerimplementiertes Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs. Dabei umfasst das Steuergerät einen Speicher, in dem eine erste Version und eine zweite Version der Software gespeichert sind, sowie einen Prozessor zum Ausführen der ersten Version und der zweiten Version. Das Verfahren umfasst zumindest die folgenden Schritte: Empfangen von Sensordaten, die durch eine Sensorik zum Erfassen einer Umgebung des Fahrzeugs erzeugt wurden, in dem Steuergerät; Eingeben der Sensordaten in die erste Version und die zweite Version; Erzeugen erster Objektdaten aus den Sensordaten durch die erste Version, wobei die ersten Objektdaten Positionen und/oder Orientierungen von durch die erste Version erkannten ersten Objekten in der Umgebung des Fahrzeugs umfassen; Erzeugen zweiter Objektdaten aus den Sensordaten durch die zweite Version, wobei die zweiten Objektdaten Positionen und/oder Orientierungen von durch die zweite Version erkannten zweiten Objekten in der Umgebung des Fahrzeugs umfassen; Bewerten der zweiten Version hinsichtlich einer Erkennungsgüte durch Vergleichen der ersten Objektdaten mit den zweiten Objektdaten, wobei ein Bewertungsergebnis erzeugt wird; und Senden des Bewertungsergebnisses von dem Steuergerät an eine zentrale Datenverarbeitungsvorrichtung.
  • Das Verfahren kann beispielsweise automatisch durch den Prozessor des Steuergeräts ausgeführt werden. Beispielsweise kann das Verfahren dann ausgeführt werden, wenn ein durch die zentrale Datenverarbeitungsvorrichtung generierter Befehl zum Ausführen des Verfahrens in dem Steuergerät empfangen wird.
  • Das Fahrzeug kann ein Kraftfahrzeug, etwa in Form eines Pkw, Lkw, Busses oder eines Motorrads, sein. Im weiteren Sinn kann unter einem Fahrzeug auch ein autonomer, mobiler Roboter verstanden werden.
  • Die Sensorik kann mindestens einen Umfeldsensor wie beispielsweise eine Kamera, einen Radar-, Lidar- oder Ultraschallsensor umfassen. Darüber hinaus kann die Sensorik einen Ortungssensor zur Bestimmung geografischer Koordinaten des Fahrzeugs mithilfe eines globalen Navigationssatellitensystems wie GPS, GLONASS o. Ä. umfassen. Zusätzlich kann die Sensorik zum Erfassen eines Fahrzustands des Fahrzeugs mindestens einen Fahrdynamiksensor wie beispielsweise einen Beschleunigungs-, Raddrehzahl-, Lenkradwinkel-, Lenkmoment-, Bremsdruck- oder Bremspedalwegsensor umfassen.
  • Durch Verarbeiten der Sensordaten in dem Steuergerät können in der Umgebung des Fahrzeugs befindliche Objekte wie beispielsweise andere Verkehrsteilnehmer, Fahrbahnmarkierungen, Verkehrsschilder, Signalanlagen, Gebäude oder Bewuchs erkannt werden. Hierbei können Positionen und/oder Orientierungen der Objekte relativ zum Fahrzeug in mehreren aufeinanderfolgenden Zeitschritten bestimmt und in Form einer Objektliste in einem Umgebungsmodell abgespeichert werden. Es ist möglich, dass in jedem aktuellen Zeitschritt zukünftige Positionen und/oder Orientierungen der Objekte aus deren Positionen und/oder Orientierungen in einem oder mehreren früheren Zeitschritten geschätzt werden.
  • Die Sensordaten können in mehreren aufeinanderfolgenden Zeitschritten empfangen werden, wobei die Sensordaten in jedem Zeitschritt sowohl in die erste Version als auch in die zweite Version eingegeben werden können.
  • Es ist möglich, dass die Software des Steuergeräts konfiguriert ist, um das Fahrzeug basierend auf den Sensordaten zu lenken, zu beschleunigen und/oder abzubremsen. Hierzu kann das Fahrzeug eine entsprechende Aktorik umfassen, beispielsweise in Form eines Lenkaktors, eines Bremsaktors, eines Motorsteuergeräts, eines elektrischen Antriebsmotors oder einer Kombination aus mindestens zwei der genannten Beispiele. Die Software des Steuergeräts kann eine oder mehrere Komponenten eines Fahrerassistenzsystems umfassen.
  • Die zentrale Datenverarbeitungsvorrichtung kann beispielsweise ein Server, ein PC, ein Laptop, ein Tablet oder ein Smartphone sein.
  • Das Steuergerät und die zentrale Datenverarbeitungsvorrichtung können über eine drahtlose Datenkommunikationsverbindung wie beispielsweise WLAN, Bluetooth und/oder Mobilfunk miteinander verbunden sein. Möglich ist aber auch eine drahtgebundene Datenkommunikationsverbindung zwischen dem Steuergerät und der zentralen Datenverarbeitungsvorrichtung.
  • Das Verfahren kann zusätzlich die folgenden Schritte umfassen: Empfangen der zweiten Version in dem Steuergerät; Speichern der zweiten Version in dem Speicher des Steuergeräts. Dabei kann die zweite Version durch die zentrale Datenverarbeitungsvorrichtung erzeugt und/oder von der zentralen Datenverarbeitungsvorrichtung an das Steuergerät gesendet worden sein. Die zweite Version kann beispielsweise in Form einer durch den Prozessor ausführbaren Datei in dem Steuergerät empfangen und dort gespeichert werden.
  • Die erste Version kann eine ältere, bereits freigegebene Version der Software sein. Die zweite Version kann eine neuere, noch nicht freigegebene Version der Software sein.
    Beispielsweise kann die zweite Version eine aktualisierte Version eines oder mehrerer Softwaremodule der ersten Version umfassen, wie etwa eines Erkennungs- oder Sensordatenfusionsmoduls zum Erkennen der Objekte in den Sensordaten oder eines Interpretationsmoduls zum Interpretieren der Objekte hinsichtlich ihrer Relevanz für das Fahrzeug.
  • Es ist möglich, dass die erste Version ein erstes Erkennungsmodul zum Umwandeln der Sensordaten in die ersten Objektdaten und/oder ein erstes Interpretationsmodul zum Bestimmen von für das Fahrzeug relevanten Objekten basierend auf den ersten Objektdaten und/oder den Sensordaten umfasst. Bei dem ersten Erkennungsmodul bzw. dem ersten Interpretationsmodul kann es sich um ein bereits freigegebenes Softwaremodul der Software handeln.
  • Analog dazu ist es möglich, dass die zweite Version ein zweites Erkennungsmodul zum Umwandeln der Sensordaten in die zweiten Objektdaten und/oder ein zweites Interpretationsmodul zum Bestimmen von für das Fahrzeug relevanten Objekten basierend auf den zweiten Objektdaten und/oder den Sensordaten umfasst. Bei dem zweiten Erkennungsmodul bzw. dem zweiten Interpretationsmodul kann es sich um ein noch nicht freigegebenes Softwaremodul der Software handeln.
  • Die erste Version und die zweite Version können beispielsweise in parallelen Prozessen durch den Prozessor des Steuergeräts ausgeführt werden.
  • Dabei kann die zweite Version in einem isolierten Bereich ausgeführt werden, innerhalb dessen die zweite Version ohne sicherheitsrelevante Auswirkungen auf außerhalb dieses Bereichs befindliche Hard- und Softwarekomponenten des Fahrzeugs, etwa auf die erste Version oder eine Aktorik des Fahrzeugs, ausgeführt werden kann. Software, die in einem solchen isolierten Bereich ausgeführt wird, kann auch als Shadow-Mode-Software bezeichnet werden.
  • Anders ausgedrückt können die erste Version und die zweite Version in unterschiedlichen Betriebsumgebungen ausgeführt werden. Dabei kann die zweite Version in einer gegenüber der Betriebsumgebung der ersten Version eingeschränkten Betriebsumgebung ausgeführt werden.
  • Beispielsweise können die ersten Objektdaten zusätzlich zu den Positionen und/oder Orientierungen der ersten Objekte Objektklassen der ersten Objekte umfassen. Alternativ oder zusätzlich können die zweiten Objektdaten zusätzlich zu den Positionen und/oder Orientierungen der zweiten Objekte Objektklassen der zweiten Objekte umfassen. Eine Objektklasse kann beispielsweise ein Objekttyp sein, wie „entgegenkommendes Fahrzeug“, „vorausfahrendes Fahrzeug“, „Spurmarkierung“, „Fußgänger“ o. Ä. Die Objektklassen können den ersten bzw. zweiten Objekten durch Auswerten der Sensordaten mittels eines oder mehrerer Klassifikatoren zugeordnet werden. Ein und demselben Objekt kann auch mehr als eine Objektklasse zugeordnet werden.
  • Zum Bewerten der zweiten Version hinsichtlich der Erkennungsgüte können die ersten Objektdaten und die zweiten Objektdaten beispielsweise dadurch miteinander verglichen werden, dass die Positionen und/oder Orientierungen der ersten Objekte mit den Positionen und/oder Orientierungen der zweiten Objekte verglichen werden und/oder dass Erkennungszeitpunkte, zu denen die ersten Objekte erkannt wurden, mit Erkennungszeitpunkten, zu denen die zweiten Objekte erkannt wurden, verglichen werden. Möglich sind aber auch andere Vergleichsmethoden.
  • Hierzu können Verknüpfungen aus je einem ersten Objekt und einem zweiten Objekt bestimmt werden. Dabei können die Positionen und/oder Orientierungen und/oder die Erkennungszeitpunkte der miteinander verknüpften Objekte miteinander verglichen werden. Bei den miteinander verknüpften Objekten kann es sich um Objektmodelle handeln, die ein und dasselbe tatsächliche Objekt in der Umgebung des Fahrzeugs beschreiben.
  • Durch Bewerten der zweiten Version kann bestimmt werden, ob deren Erkennungsgüte, d. h. die Erkennungsgenauigkeit und -zuverlässigkeit, mit der Objekte durch die zweite Version erkannt werden, schlechter als oder mindestens ebenso gut wie die Erkennungsgüte der ersten Version ist.
  • Das Bewertungsergebnis kann beispielsweise statistische Schätzwerte für die Erkennungsgenauigkeit und -zuverlässigkeit der zweiten Version, absolut und/oder in Bezug auf die erste Version gesehen, umfassen. Zusätzlich oder alternativ kann das Bewertungsergebnis für die Bewertung der zweiten Version hinsichtlich der Erkennungsgüte relevante Datensequenzen aus den ersten und/oder zweiten Objektdaten und/oder den Sensordaten umfassen. Durch Senden der Datensequenzen an die zentrale Datenverarbeitungsvorrichtung, beispielsweise über eine drahtlose Datenkommunikationsverbindung, können die Datensequenzen unabhängig vom Aufenthaltsort des Fahrzeugs an zentraler Stelle ausgewertet werden.
  • Eine solche Datensequenz kann beispielsweise eine Objektliste mit für die Bewertung der zweiten Version hinsichtlich der Erkennungsgüte relevanten Objekten und/oder die diesen Objekten zugrunde liegenden Sensor(roh)daten umfassen.
  • Beispielsweise kann die zweite Version hinsichtlich der Erkennungsgüte schlechter als die erste Version bewertet werden, wenn festgestellt wird, dass ein Objekt, das durch die erste Version erkannt wurde, nicht durch die zweite Version erkannt wurde.
  • Umgekehrt ist es möglich, dass die zweite Version hinsichtlich der Erkennungsgüte besser als die erste Version bewertet wird, wenn festgestellt wird, dass ein Objekt, das durch die zweite Version erkannt wurde, nicht durch die erste Version erkannt wurde.
  • Dabei ist es zweckmäßig, wenn zwischen für das Fahrzeug relevanten Objekten und nicht für das Fahrzeug relevanten Objekten unterschieden wird. Beispielsweise kann ein Objekt in Abhängigkeit von seinem Abstand und/oder seiner Relativgeschwindigkeit relativ zum Fahrzeug und/oder in Abhängigkeit von seiner Objektklasse als für das Fahrzeug relevant oder nicht relevant erkannt werden.
  • Der hier und im Folgenden beschriebene Ansatz beruht darauf, dass zur Unterstützung bei der Entwicklung von Fahrerassistenzsystemen Software in einem sogenannten Shadow Mode in Serienfahrzeugen ausgeführt werden kann. Dabei läuft die Software oder laufen einzelne Softwaremodule passiv in einem isolierten Bereich ohne Rückwirkung auf aktive Komponenten im Fahrzeug. In diesen Bereich können beispielsweise neu entwickelte Softwarestände in schnellen Iterationen aufgespielt und evaluiert werden. Hierzu kann beispielsweise ein Bewertungsframework genutzt werden, das basierend auf definierten Triggerlogiken die Aufzeichnung von Datensequenzen auslöst und die drahtlose Datenübertragung an eine Cloud sicherstellt. Somit können neu entwickelte Softwarestände sehr schnell mit einer großen Datenmenge, die einem realistischen Feldgeschehen entspricht, abgeglichen und bewertet werden.
  • In dem Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung kann nun ein solcher Shadow Mode genutzt werden, um festzustellen, ob eine aktualisierte Version einer Software für ein Steuergerät eines Fahrzeugs bestimmte Zielparameter ebenso gut oder besser erreicht als eine bereits freigegebene Version dieser Software, die im Fahrzeug aktiv ist. Hierzu können Ergebnisse der im Shadow Mode laufenden aktualisierten Version im Fahrzeug direkt mit Ergebnissen der bereits freigegebenen Version verglichen werden.
  • Dies hat den Vorteil, dass Aktualisierungen von Softwaremodulen, etwa eines Fahrerassistenzsystems, im Vergleich zu gängigen Freigabemethoden mit deutlich geringerem Aufwand freigegeben und damit deutlich häufiger bereitgestellt werden können.
  • Es wird darauf hingewiesen, dass es zum Ausführen des vorstehend und nachstehend erläuterten Verfahrens nicht zwingend erforderlich ist, die erste und zweite Version der Software in ein und demselben Steuergerät auszuführen. Die beiden Versionen können stattdessen auch auf verschiedenen, gegebenenfalls miteinander vernetzten Steuergeräten ausgeführt werden, wie es im Folgenden beschrieben wird.
  • Es ist möglich, dass die erste Version durch ein erstes Steuergerät ausgeführt wird und die zweite Version durch ein zweites Steuergerät ausgeführt wird. Das zweite Steuergerät kann zusätzlich zur zweiten Version die (freigegebene) erste Version oder eine sonstige freigegebene Version der Software ausführen.
  • Das erste Steuergerät kann beispielsweise das Steuergerät eines ersten Fahrzeugs sein. Das zweite Steuergerät kann beispielsweise das Steuergerät eines zweiten Fahrzeugs sein. Das erste Steuergerät und das zweite Steuergerät können zur Datenkommunikation miteinander verbunden sein kann, beispielsweise über eine drahtlose Datenkommunikationsverbindung.
  • Die ersten Objektdaten können beispielsweise aus ersten Sensordaten durch das erste Steuergerät erzeugt werden, wobei die ersten Sensordaten durch eine erste Sensorik zum Erfassen einer Umgebung des ersten Fahrzeugs erzeugt worden sein können.
  • Die zweiten Objektdaten können beispielsweise aus zweiten Sensordaten durch das zweite Steuergerät erzeugt werden, wobei die zweiten Sensordaten durch eine zweite Sensorik zum Erfassen einer Umgebung des zweiten Fahrzeugs erzeugt worden sein können.
  • Es ist möglich, dass das erste Steuergerät die zweiten Objektdaten von dem zweiten Steuergerät empfängt.
  • Dementsprechend kann beispielsweise das Bewertungsergebnis durch Vergleichen der ersten Objektdaten mit den von dem zweiten Steuergerät empfangenen zweiten Objektdaten durch das erste Steuergerät erzeugt werden. Dabei kann das Bewertungsergebnis von dem ersten Steuergerät an die zentrale Datenverarbeitungsvorrichtung und, zusätzlich, an das zweite Steuergerät gesendet werden.
  • Ein zweiter Aspekt der Erfindung betrifft ein Steuergerät, umfassend einen Prozessor, der konfiguriert ist, um das Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung auszuführen. Merkmale des Verfahrens gemäß einer Ausführungsform des ersten Aspekts der Erfindung können auch Merkmale des Steuergeräts sein und umgekehrt.
  • Das Steuergerät kann Hardware- und/oder Softwaremodule umfassen. Zusätzlich zum Prozessor kann das Steuergerät einen Speicher und Datenkommunikationsschnittstellen zur Datenkommunikation mit Peripheriegeräten umfassen.
  • Ein dritter Aspekt der Erfindung betrifft ein Computerprogramm. Das Computerprogramm umfasst Befehle, die einen Prozessor bei Ausführung des Computerprogramms durch den Prozessor veranlassen, das Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung auszuführen.
  • Ein vierter Aspekt der Erfindung betrifft ein computerlesbares Medium, auf dem das Computerprogramm gemäß einer Ausführungsform des dritten Aspekts der Erfindung gespeichert ist. Das computerlesbare Medium kann ein flüchtiger oder nicht flüchtiger Datenspeicher sein. Beispielsweise kann das computerlesbare Medium eine Festplatte, ein USB-Speichergerät, ein RAM, ROM, EPROM oder Flash-Speicher sein. Das computerlesbare Medium kann auch ein einen Download eines Programmcodes ermöglichendes Datenkommunikationsnetzwerk wie etwa das Internet oder eine Datenwolke (Cloud) sein.
  • Merkmale des Verfahrens gemäß einer Ausführungsform des ersten Aspekts der Erfindung können auch Merkmale des Computerprogramms und/oder des computerlesbaren Mediums sein und umgekehrt.
  • Ideen zu Ausführungsformen der vorliegenden Erfindung können unter anderem als auf den nachfolgend beschriebenen Gedanken und Erkenntnissen beruhend angesehen werden.
  • Gemäß einer Ausführungsform wird für jedes erste Objekt mindestens ein erster Bewertungsparameter bestimmt, der anzeigt, wie gut das erste Objekt durch die erste Version erkannt wurde. Dabei wird für jedes zweite Objekt mindestens ein zweiter Bewertungsparameter bestimmt, der anzeigt, wie gut das zweite Objekt durch die zweite Version erkannt wurde. Die zweite Version wird dann durch Vergleichen der ersten Bewertungsparameter mit den zweiten Bewertungsparametern bewertet. Ein erster bzw. zweiter Bewertungsparameter kann beispielsweise ein Erkennungszeitpunkt oder ein statistischer Wert, beispielsweise eine Konfidenz bezüglich der erkannten Positionen und/oder Orientierungen, sein. Die zweite Version kann durch Vergleichen der ersten Bewertungsparameter und zweiten Bewertungsparameter identischer Objekte bewertet werden. Anders ausgedrückt kann ein erstes Objekt mit einem mit dem ersten Objekt übereinstimmenden zweiten Objekt durch Vergleichen des oder der dem ersten Objekt zugeordneten ersten Bewertungsparameter(s) mit dem oder den dem zweiten Objekt zugeordneten zweiten Bewertungsparameter(n) bewertet werden. Beispielsweise kann zum Vergleichen der ersten Version mit der zweiten Version eine Differenz aus dem oder den ersten Bewertungsparameter(n) und dem oder den entsprechenden zweiten Bewertungsparameter(n) gebildet werden, wobei die zweite Version basierend auf der Differenz bewertet werden kann. Damit wird eine Bewertung der Software basierend auf einzelnen erkannten Objekten ermöglicht.
  • Gemäß einer Ausführungsform ist der erste Bewertungsparameter ein Erkennungszeitpunkt, zu dem das erste Objekt durch die erste Version erkannt wurde. Zusätzlich oder alternativ kann der zweite Bewertungsparameter ein Erkennungszeitpunkt sein, zu dem das zweite Objekt durch die zweite Version erkannt wurde. Beispielsweise kann die zweite Version hinsichtlich der Erkennungsgüte besser als die erste Version bewertet werden, wenn der Erkennungszeitpunkt ist, zu dem ein Objekt durch die zweite Version erkannt wurde, ein früherer Zeitpunkt ist als der Erkennungszeitpunkt, zu dem das gleiche Objekt durch die erste Version erkannt wurde, und umgekehrt. Ein derartiger Vergleich der Erkennungszeitpunkte ist einfach durchzuführen und liefert ein hinreichend genaues Bewertungsergebnis.
  • Gemäß einer Ausführungsform ist der erste Bewertungsparameter eine Wahrscheinlichkeit bezüglich der Position und/oder Orientierung des ersten Objekts. Zusätzlich oder alternativ kann der zweite Bewertungsparameter eine Wahrscheinlichkeit bezüglich der Position und/oder Orientierung des zweiten Objekts sein. Mit der Wahrscheinlichkeit kann beispielsweise die Präzision der Positionen und/oder Orientierungen, genauer die Präzision eines Lageparameters bezüglich einer Wahrscheinlichkeitsverteilung der Positionen und/oder Orientierungen, angegeben werden. Der erste bzw. zweite Bewertungsparameter kann beispielsweise ein Lage- und/oder Streuungsparameter einer Wahrscheinlichkeitsverteilung sein. Möglich ist auch, dass der erste bzw. zweite Bewertungsparameter ein Konfidenzintervall angibt. Damit können die Genauigkeit und die Zuverlässigkeit des Verfahrens erhöht werden.
  • Gemäß einer Ausführungsform werden für das Fahrzeug relevante erste Objekte aus den ersten Objekten durch die erste Version ausgewählt. Dabei werden miteinander übereinstimmende Objekte durch Vergleichen der relevanten ersten Objekte mit den zweiten Objekten bestimmt. Es werden dann die Bewertungsparameter der miteinander übereinstimmenden Objekte miteinander verglichen. Wie bereits weiter oben erwähnt, kann ein relevantes erstes Objekt aus den ersten Objekten beispielsweise in Abhängigkeit von seinem Abstand und/oder seiner Relativgeschwindigkeit relativ zum Fahrzeug und/oder in Abhängigkeit von seiner Objektklasse ausgewählt werden. Dies kann mittels des ersten Interpretationsmoduls der ersten Version erfolgen, das konfiguriert sein kann, um die Relevanz der ersten Objekte situations- und/oder funktionsabhängig zu bestimmen, beispielsweise durch Einteilen der ersten Objekte in verschiedene Relevanzkategorien, im einfachsten Fall etwa in die Relevanzkategorien „relevant“ und „nicht relevant“. Dadurch kann festgestellt werden, ob die zweite Version die durch die (validierte oder freigegebene) erste Version als relevant erkannten Objekte überhaupt erkennt. Wird dies festgestellt, so kann dies als starker Hinweis darauf gewertet werden, dass die Erkennungsgüte der zweiten Version zumindest nicht schlechter als die Erkennungsgüte der ersten Version ist.
  • Gemäß einer Ausführungsform werden für das Fahrzeug relevante zweite Objekte aus den zweiten Objekten, die mit keinem relevanten ersten Objekt übereinstimmen, durch die zweite Version ausgewählt. Dabei wird für jedes relevante zweite Objekt eine Einzelbewertung erzeugt, die anzeigt, ob die Erkennung des relevanten zweiten Objekts durch die zweite Version einer Verbesserung oder Verschlechterung der Erkennungsgüte der zweiten Version gegenüber der ersten Version entspricht. Die zweite Version wird dann ferner basierend auf den Einzelbewertungen bewertet. Hierzu kann zunächst festgestellt werden, ob die zweiten Objektdaten zweite Objekte enthalten, die mit keinem der relevanten ersten Objekte übereinstimmen, d. h., die durch die erste Version nicht oder zumindest nicht als relevant erkannt wurden. Weiter kann festgestellt werden, ob die zweiten Objekte, die mit keinem der relevanten ersten Objekte übereinstimmen, für das Fahrzeug relevant sind oder nicht. Wie bereits weiter oben erwähnt, kann dies mittels des zweiten Interpretationsmoduls der zweiten Version erfolgen, das - analog zum ersten Interpretationsmodul - konfiguriert sein kann, um die Relevanz der zweiten Objekte situations- und/oder funktionsabhängig zu bestimmen, beispielsweise durch Einteilen der zweiten Objekte in verschiedene Relevanzkategorien, im einfachsten Fall etwa in die Relevanzkategorien „relevant“ und „nicht relevant“.
  • Die Einzelbewertungen können beispielsweise als Teil des Bewertungsergebnisses an die zentrale Datenverarbeitungsvorrichtung gesendet werden. Zusätzlich oder alternativ kann das Bewertungsergebnis die den jeweiligen Einzelbewertungen zugrunde liegenden Objektdaten und/oder Sensordaten umfassen. Es ist möglich, dass die Objektdaten und/oder Sensordaten nur dann als Teil des Bewertungsergebnisses gesendet werden, wenn die Einzelbewertungen, denen sie zugrunde liegen, eine Verschlechterung der Erkennungsgüte der zweiten Version in Bezug auf die erste Version anzeigen.
  • Durch diese Ausführungsform kann die zweite Version in Abhängigkeit davon bewertet werden, ob die zweite Version relevante Objekte erkennt, die nicht bereits durch die erste Version erkannt wurden. Die Bewertung der zweiten Version kann beispielsweise mit jeder Einzelbewertung neu berechnet werden.
  • Gemäß einer Ausführungsform werden basierend auf den Sensordaten und/oder auf Fahrdynamikdaten, die durch mindestens einen Fahrdynamiksensor des Fahrzeugs erzeugt wurden, Änderungen eines Fahrzustands des Fahrzeugs bestimmt, die mit Erkennungszeitpunkten, zu denen die relevanten zweiten Objekte durch die zweite Version erkannt wurden, zeitlich korrelieren. Dabei wird jede Einzelbewertung durch Auswerten der mit dem jeweiligen relevanten zweiten Objekt zeitlich korrelierenden Änderung des Fahrzustands erzeugt. Zur Feststellung, ob die Erkennung der relevanten zweiten Objekte, die durch die erste Version nicht (als relevant) erkannt wurden, tatsächlich einer Verbesserung der Erkennungsgüte der zweiten Version gegenüber der ersten Version entspricht, können die Sensordaten und/oder die Fahrdynamikdaten beispielsweise ausgewertet werden, um eine Reaktion eines Fahrers des Fahrzeugs zum Erkennungszeitpunkt des betreffenden Objekts zu bestimmen und diese zu interpretieren. Ist beispielsweise keine oder zumindest keine relevante Reaktion des Fahrers feststellbar, so kann dies als starker Hinweis darauf gewertet werden, dass mit der Erkennung des betreffenden Objekts die Erkennungsgüte nicht nennenswert verbessert wurde, und umgekehrt.
  • Gemäß einer Ausführungsform werden die zweiten Objektdaten in mehreren aufeinanderfolgenden Zeitschritten erzeugt. Dabei werden die zweiten Objekte durch Vergleichen zwischen den zweiten Objektdaten aus unterschiedlichen Zeitschritten auf Plausibilität geprüft. Die zweite Version wird dann ferner in Abhängigkeit von der Plausibilität der zweiten Objekte bewertet. Beispielsweise können die Positionen und/oder Orientierungen ein und desselben Objekts aus unterschiedlichen Zeitschritten miteinander verglichen werden, um Inkonsistenzen, d. h. nicht plausible Änderungen der Position und/oder Orientierung des Objekts, zu ermitteln. Damit kann festgestellt werden, ob die zweite Version zeitlich konsistente und plausible Objektdaten liefert. Es ist möglich, dass Objektdaten bezüglich einzelner, nicht plausibler Objekte, etwa deren Positionen und/oder Orientierungen über mehrere aufeinanderfolgende Zeitschritte, als Teil des Bewertungsergebnisses an die zentrale Datenverarbeitungsvorrichtung gesendet werden.
  • Gemäß einer Ausführungsform umfasst das Bewertungsergebnis Datensequenzen aus den Sensordaten, den ersten Objektdaten und/oder den zweiten Objektdaten. Auf den Datensequenzen kann die Bewertung der zweiten Version beruhen. Anders ausgedrückt können die Datensequenzen eine Verbesserung oder Verschlechterung der Erkennungsgüte der zweiten Version gegenüber der ersten Version anzeigen. Durch Senden dieser Datensequenzen wird eine gezielte externe Auswertung der zweiten Version hinsichtlich deren Erkennungsgüte ermöglicht.
  • Gemäß einer Ausführungsform werden die Datensequenzen nur dann gesendet, wenn die zweite Version hinsichtlich der Erkennungsgüte schlechter als die erste Version bewertet wurde. Dadurch kann die Effizienz der Datenkommunikation zwischen dem Steuergerät und der zentralen Datenverarbeitungsvorrichtung verbessert werden.
  • Figurenliste
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei weder die Zeichnungen noch die Beschreibung als die Erfindung einschränkend auszulegen sind.
    • 1 zeigt ein Fahrzeug mit einem Steuergerät gemäß einem Ausführungsbeispiel der Erfindung.
    • 2 zeigt verschiedene Module einer Software, die auf dem Steuergerät aus 1 läuft.
  • Die Figuren sind lediglich schematisch und nicht maßstabsgetreu. Gleiche Bezugszeichen bezeichnen in den Figuren gleiche oder gleichwirkende Merkmale.
  • Ausführungsformen der Erfindung
  • 1 zeigt ein Fahrzeug 100, das mit einem Steuergerät 102, einer Sensorik 104 zum Erfassen einer Umgebung des Fahrzeugs 100 und einer Aktorik 106 ausgestattet ist.
  • Die Sensorik 104 kann beispielsweise eine Kamera, einen Radar-, Lidar- und/oder Ultraschallsensor umfassen. Zusätzlich kann die Sensorik 104 mindestens einen Fahrdynamiksensor, etwa einen Beschleunigungs- oder Drehratensensor, umfassen. Die Sensorik 104 erzeugt in mehreren aufeinanderfolgenden Zeitschritten Sensordaten 108, die in dem Steuergerät 102 empfangen und dort im Rahmen einer Objekterkennung ausgewertet werden. Das Steuergerät 102 umfasst einen Speicher 110, auf dem eine entsprechende Software 111 gespeichert ist, sowie einen Prozessor 112 zum Ausführen der Software 111.
  • Es ist möglich, dass das Steuergerät 102 basierend auf den Sensordaten 108, d. h. basierend auf Ergebnissen der damit durchgeführten Objekterkennung, ein Steuersignal 114 zum automatischen Ansteuern der Aktorik 106 erzeugt. Die Aktorik 106 kann beispielsweise einen oder mehrere Lenk- und/oder Bremsaktoren zum Lenken bzw. Bremsen des Fahrzeugs 100 umfassen.
  • Auf dem Steuergerät 102 laufen zeitgleich zwei unterschiedliche Versionen 111a, 111b der Software 111, in die jeweils die Sensordaten 108 eingegeben werden. Dabei werden durch Auswerten der Sensordaten 108 durch eine erste Version 111a der Software 111 erste Objekte 116 in der Umgebung des Fahrzeugs 100 erkannt, während durch Auswerten der Sensordaten 108 durch eine zweite Version 111b der Software 111 zweite Objekte 118 in der Umgebung des Fahrzeugs 100 erkannt werden. Bei den ersten Objekten 116 und den zweiten Objekten 118, hier beispielhaft vorausfahrende Fahrzeuge, kann es sich um identische oder unterschiedliche Objekte handeln. Durch Vergleichen der ersten Objekte 116 mit den zweiten Objekten 118 kann das Steuergerät 102 eine Erkennungsgüte der zweiten Version 111b gegenüber der ersten Version 111a bewerten. Dies wird nachstehend anhand von 2 näher beschrieben.
  • 2 zeigt ein Blockdiagramm der auf dem Steuergerät 102 laufenden Software 111. In diesem Beispiel handelt es sich bei der ersten Version 111a um eine bereits validierte oder freigegebene, d. h. aktive Version der Software 111, während es sich bei der zweiten Version 111b um eine noch nicht validierte oder noch nicht freigegebene Version der Software 111 handelt, die im Gegensatz zur ersten Version 111a in einer eingeschränkten Betriebsumgebung 200 des Steuergeräts 102 laufen kann, d. h. in einem von Komponenten außerhalb der eingeschränkten Betriebsumgebung 200 abgeschirmten Testbereich passiv mit der ersten Version 111a mitlaufen kann. Bei der zweiten Version 111b kann es sich um eine Aktualisierung der ersten Version 111a handeln, etwa um eine gegenüber der ersten Version 111a verbesserte und/oder erweiterte Version der Software 111. Die zweite Version 111b kann auch als Shadow-Software bezeichnet werden.
  • Alternativ kann die zweite Version 111b auch in gleicher Weise auf einem separaten Steuergerät allokiert sein.
  • In diesem Beispiel gehen die Sensordaten 108 sowohl in ein erstes Erkennungsmodul 202 der ersten Version 111a als auch in ein zweites Erkennungsmodul 204 der zweiten Version 111b ein. Das erste Erkennungsmodul 202 erzeugt dabei aus den Sensordaten 108 erste Objektdaten 206, die Positionen und/oder Orientierungen der ersten Objekte 116 relativ zum Fahrzeug 100 umfassen. Das zweite Erkennungsmodul 204 erzeugt dabei aus den Sensordaten 108 zweite Objektdaten 208, die Positionen und/oder Orientierungen der zweiten Objekte 118 relativ zum Fahrzeug 100 umfassen.
  • Die erkannten Objekte 116, 118 können zusammen mit ihren jeweiligen Positionen und/oder Orientierungen beispielsweise in Form von Objektlisten in einem Umgebungsmodell der Umgebung des Fahrzeugs 100 gespeichert und dort fortlaufend basierend auf den Sensordaten 108 aktualisiert werden. Die ersten Objekte 116 und die zweiten Objekte 118 können in diesem Zusammenhang als in dem Umgebungsmodell gespeicherte Objektmodelle von in der Umgebung des Fahrzeugs 100 tatsächlich vorhandenen Objekten aufgefasst werden.
  • Zusätzlich zu den jeweiligen Positionen und/oder Orientierungen können die ersten Objektdaten 206 und/oder die zweiten Objektdaten 208 einen oder mehrere Objekttypen für jedes erkannte Objekt 116 bzw. 118 spezifizieren, wie beispielsweise „Fahrzeug“, „Fußgänger“ oder „Fahrbahnmarkierung“.
  • Die ersten Objektdaten 206 und die zweiten Objektdaten 208 werden in ein Bewertungsmodul 210 der Software 111 eingegeben, das in diesem Beispiel wie die zweite Version 111b aus Sicherheitsgründen in der eingeschränkten Betriebsumgebung 200 läuft. Das Bewertungsmodul 210 bewertet die Erkennungsgüte der zweiten Version 111b in Bezug auf die erste Version lila, indem es die ersten Objektdaten 206 mit den zweiten Objektdaten 208 in geeigneter Weise vergleicht. Dabei erzeugt das Bewertungsmodul 210 ein entsprechendes Bewertungsergebnis 212 und sendet dieses, beispielsweise über eine WLAN-, Bluetooth- und/oder Mobilfunkverbindung, an eine zentrale Datenverarbeitungsvorrichtung 214 außerhalb des Fahrzeugs 100 zur weiteren Auswertung.
  • Im Rahmen dieser Bewertung können die ersten Objekte 116 mit den entsprechenden zweiten Objekten 118 anhand eines oder mehrerer geeigneter Bewertungsparameter miteinander verglichen werden, beispielsweise anhand der jeweiligen Erkennungszeitpunkte oder anhand eines oder mehrerer Schätzwerte bezüglich der Genauigkeit und/oder Zuverlässigkeit der jeweiligen Positionen und/oder Orientierungen.
  • Es ist möglich, dass die ersten Objektdaten 206 durch ein erstes Interpretationsmodul 216 der ersten Version 111a interpretiert, d. h. hinsichtlich ihrer Relevanz für das Fahrzeug 100 ausgewertet werden. Dabei kann das erste Interpretationsmodul 216 abhängig von einer aktuellen Situation des Fahrzeugs 100 ein oder mehrere relevante erste Objekte 116' aus den ersten Objekten 116 auswählen, in 1 beispielhaft ein links neben dem Fahrzeug 100 vorausfahrendes Fahrzeug, und entsprechend gefilterte erste Objektdaten 206' an das Bewertungsmodul 210 senden.
  • Das Bewertungsmodul 210 kann dann die relevanten ersten Objekte 116' mit den entsprechenden zweiten Objekten 118 verknüpfen, beispielsweise basierend auf den jeweiligen Positionen und/oder Orientierungen und/oder den jeweiligen Erkennungszeitpunkten. Anschließend können die Bewertungsparameter der miteinander verknüpften Objekte miteinander verglichen werden, um die zweite Version 111b zu bewerten. Bei den miteinander verknüpften Objekten kann es sich um Objekte handeln, die insofern miteinander übereinstimmen, als sie Objektmodelle ein und desselben Objekts sind, das in der Umgebung des Fahrtzeugs 100 tatsächlich vorhanden ist.
  • Darüber hinaus ist es möglich, dass die zweiten Objektdaten 208 durch ein zweites Interpretationsmodul 218 der zweiten Version 111b interpretiert werden, d. h. hinsichtlich ihrer Relevanz für das Fahrzeug 100 ausgewertet werden. Dabei kann das zweite Interpretationsmodul 218 abhängig von der aktuellen Situation des Fahrzeugs 100 ein oder mehrere relevante zweite Objekte 118' aus den zweiten Objekten 118 auswählen, in 1 beispielhaft ein rechts neben dem Fahrzeug 100 vorausfahrendes Fahrzeug, und entsprechend gefilterte zweite Objektdaten 208' an das Bewertungsmodul 210 senden.
  • Das Bewertungsmodul 210 kann in diesem Fall bestimmen, ob es unter den relevanten ersten Objekten 206' und den relevanten zweiten Objekten 208' eindeutig miteinander übereinstimmende Objekte gibt oder nicht. Stimmt eines der relevanten zweiten Objekte 208' nicht mit einem der relevanten ersten Objekte 206' überein, so kann das Bewertungsmodul 210 für dieses zweite Objekt eine Einzelbewertung erzeugen, die anzeigt, ob die Erkennung dieses zweiten Objekts eine Verbesserung oder Verschlechterung der Erkennungsgüte der zweiten Version 111b gegenüber der ersten Version 111a darstellt. Basierend auf der Einzelbewertung kann dann das Bewertungsergebnis 212 erzeugt werden.
  • Die Erzeugung der Einzelbewertung kann basierend auf den Sensordaten 108 erfolgen. Dabei können die Sensordaten 108 zusätzlich zu Umfelddaten, die durch einen oder mehrere Umfeldsensoren des Fahrzeugs 100 erzeugt wurden, Fahrdynamikdaten, die durch einen oder mehrere Fahrdynamiksensoren des Fahrzeugs 100 erzeugt wurden, umfassen.
  • Bei der Auswertung der Sensordaten 108 durch das Bewertungsmodul 210 können mit der Erkennung der relevanten zweiten Objekte 118' zeitlich korrelierende Änderungen des fahrdynamischen Zustands des Fahrzeugs 100, beispielsweise ausgelöst durch eine entsprechende Reaktion dessen Fahrers, bestimmt werden. Anhand dieser Änderung kann schließlich festgestellt werden, ob die Erkennung des betreffenden Objekts einer Verbesserung oder Verschlechterung der Erkennungsgüte der zweiten Version 111b gleichkommt.
  • Alternativ kann das zweite Interpretationsmodul 218 konfiguriert sein, um zunächst diejenigen der zweiten Objekte 118 zu bestimmen, die mit keinem der relevanten ersten Objekte 116' eindeutig übereinstimmen, und anschließend daraus die relevanten zweiten Objekte 118' auszuwählen.
  • Zusätzlich kann das Bewertungsmodul 210 konfiguriert sein, um die zweiten Objekte 118 auf Plausibilität zu prüfen. Hierzu kann das Bewertungsmodul 210 die zweiten Objekte 118 anhand der zweiten Objektdaten 208 mehrerer aufeinanderfolgender Zeitschritte auswerten. Das Bewertungsergebnis 212 kann dabei ferner unter Berücksichtigung der Plausibilität der zweiten Objekte 118 bestimmt werden. Ein Beispiel für ein nicht plausibles oder inkonsistentes zweites Objekt 118 ist in 1 mit einem gestrichelten Rahmen angedeutet.
  • Die Bewertung der zweiten Version 111b im Sinne einer Validierung einer Erkennungsaufgabe, die mittels des zweiten Erkennungsmoduls 204 und/oder des zweiten Interpretationsmoduls 218 gelöst werden soll, kann beispielsweise folgende Schritte umfassen.
  • Als Erstes wird überprüft, ob die relevanten ersten Objekte 116', die durch die erste Version 111a erkannt wurden, auch durch die im Shadow Mode laufenden zweiten Version 111b in gleicher oder verbesserter Art und Weise erkannt wurden. Die Relevanz der ersten Objekte 116 wird dabei nicht durch das erste Erkennungsmodul 202 selbst, sondern durch das erste Interpretationsmodul 216, d. h. durch ein oder mehrere nachfolgende interpretierende Softwareelemente, in einer Art Situationsanalyse ermittelt. Um festzustellen, welche der zweiten Objekte 118 den relevanten ersten Objekten 116' entsprechen, wird im Bewertungsmodul 210 eine Verknüpfung durchgeführt. Anhand definierter Metriken, die beispielsweise die jeweiligen Erkennungszeitpunkte oder eine Konfidenz bezüglich der jeweiligen Positionen und/oder Orientierungen umfassen können, wird dann die Erkennungsgüte der zwei Versionen 111a, 111b miteinander verglichen. Wird eine Verschlechterung der Erkennungsgüte der zweiten Version 111b festgestellt, so kann eine entsprechende Datensequenz direkt an die zentrale Datenverarbeitungsvorrichtung 214 gesendet werden. Die Datensequenz kann dabei aus den entsprechenden Sensordaten 108 und/oder den entsprechenden Objektdaten 116 bzw. 118 erzeugt werden. Eine Verbesserung der Erkennungsgüte kann umgekehrt durch Nichteintreffen solcher Datensequenzen an der zentralen Datenverarbeitungsvorrichtung 214 bestätigt werden. Zusätzlich oder alternativ kann die Verbesserung oder Verschlechterung der Erkennungsgüte durch regelmäßiges Senden einer gebündelten Statistik vom Steuergerät 102 an die zentrale Datenverarbeitungsvorrichtung 214 erfasst werden.
  • Als Zweites wird für jedes zweite Objekt 118, das durch die zweite Version 111b erkannt wurde, aber nicht mit einem der relevanten ersten Objekte 116' verknüpft werden kann, dessen Relevanz für das Fahrzeug 100 festgestellt und es wird eine Bewertung durchgeführt, die anzeigt, ob sich die Erkennungsgüte durch Erkennen dieses zweiten Objekts verschlechtert oder verbessert hat. Hat das zweite Interpretationsmodul 218 in einer Art Situationsanalyse ein zweites relevantes Objekt 118' ermittelt, das mit keinem der relevanten ersten Objekte 116' verknüpft werden kann, so wird zunächst mit definierten Logiken, beispielsweise anhand der Reaktion des Fahrers auf dieses Objekt, ermittelt, ob die Erkennung dieses Objektes eine Verbesserung oder Verschlechterung der Erkennungsgüte darstellt. Je nach Logik kann der Vorgang in einer Statistik erfasst werden. Zusätzlich oder alternativ kann das direkte Aussenden einer entsprechenden Datensequenz zur externen Auswertung in der zentralen Datenverarbeitungsvorrichtung 214 ausgelöst werden.
  • Als Drittes wird überprüft, ob die zweiten Objekte 118 und/oder die relevanten zweiten Objekte 118' über die Zeit konsistent und plausibel sind. Hierfür detektiert das Bewertungsmodul 210 anhand von Zeitverläufen aus den Sensordaten 108 und/oder den zweiten Objektdaten 208 bzw. 208' Inkonsistenzen, etwa plötzlich auftauchende oder plötzlich verschwindende zweite Objekte 118 in der näheren Umgebung des Fahrzeugs 100. Informationen über diese Objekte können entweder direkt in Form einer entsprechenden Datensequenz oder gebündelt in Form einer Statistik vom Steuergerät 102 an die Datenverarbeitungsvorrichtung 214 gesendet werden.
  • Die Validierung einer Klassifikationsaufgabe kann in analoger Weise durchgeführt werden.
  • Abschließend wird darauf hingewiesen, dass Begriffe wie „aufweisend“, „umfassend“ etc. keine anderen Elemente oder Schritte ausschließen und Begriffe wie „eine“ oder „ein“ keine Vielzahl ausschließen. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.

Claims (13)

  1. Verfahren zum Bewerten einer Software (111) für ein Steuergerät (102) eines Fahrzeugs (100), wobei das Steuergerät (102) einen Speicher (110), in dem eine erste Version (lila) und eine zweite Version (111b) der Software (111) gespeichert sind, sowie einen Prozessor (112) zum Ausführen der ersten Version (111a) und der zweiten Version (111b) umfasst, wobei das Verfahren umfasst: Empfangen von Sensordaten (108), die durch eine Sensorik (104) zum Erfassen einer Umgebung des Fahrzeugs (100) erzeugt wurden, in dem Steuergerät (102); Eingeben der Sensordaten (108) in die erste Version (lila) und die zweite Version (111b); Erzeugen erster Objektdaten (206, 206') aus den Sensordaten (108) durch die erste Version (111a), wobei die ersten Objektdaten (206, 206') Positionen und/oder Orientierungen von durch die erste Version (111a) erkannten ersten Objekten (116, 116') in der Umgebung des Fahrzeugs (100) umfassen; Erzeugen zweiter Objektdaten (208, 208') aus den Sensordaten (108) durch die zweite Version (111b), wobei die zweiten Objektdaten (208, 208') Positionen und/oder Orientierungen von durch die zweite Version (111b) erkannten zweiten Objekten (118, 118') in der Umgebung des Fahrzeugs (100) umfassen; Bewerten der zweiten Version (111b) hinsichtlich einer Erkennungsgüte durch Vergleichen der ersten Objektdaten (206, 206') mit den zweiten Objektdaten (208, 208'), wobei ein Bewertungsergebnis (212) erzeugt wird; und Senden des Bewertungsergebnisses (212) von dem Steuergerät (102) an eine zentrale Datenverarbeitungsvorrichtung (214).
  2. Verfahren nach Anspruch 1, wobei für jedes erste Objekt (116, 116') mindestens ein erster Bewertungsparameter bestimmt wird, der anzeigt, wie gut das erste Objekt (116, 116') durch die erste Version (111a) erkannt wurde; wobei für jedes zweite Objekt (118, 118') mindestens ein zweiter Bewertungsparameter bestimmt wird, der anzeigt, wie gut das zweite Objekt (118, 118') durch die zweite Version (111b) erkannt wurde; wobei die zweite Version (111b) durch Vergleichen der ersten Bewertungsparameter mit den zweiten Bewertungsparametern bewertet wird.
  3. Verfahren nach Anspruch 2, wobei der erste Bewertungsparameter ein Erkennungszeitpunkt ist, zu dem das erste Objekt (116, 116') durch die erste Version (111a) erkannt wurde; und/oder wobei der zweite Bewertungsparameter ein Erkennungszeitpunkt ist, zu dem das zweite Objekt (118, 118') durch die zweite Version (111b) erkannt wurde.
  4. Verfahren nach Anspruch 2 oder 3, wobei der erste Bewertungsparameter eine Wahrscheinlichkeit bezüglich der Position und/oder Orientierung des ersten Objekts (116, 116') ist; und/oder wobei der zweite Bewertungsparameter eine Wahrscheinlichkeit bezüglich der Position und/oder Orientierung des zweiten Objekts (118, 118') ist.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei für das Fahrzeug (100) relevante erste Objekte (116') aus den ersten Objekten (116) durch die erste Version (lila) ausgewählt werden; wobei miteinander übereinstimmende Objekte (116', 118, 118') durch Vergleichen der relevanten ersten Objekte (116') mit den zweiten Objekten (118, 118') bestimmt werden; wobei die Bewertungsparameter der miteinander übereinstimmenden Objekte (116', 118, 118') miteinander verglichen werden.
  6. Verfahren nach Anspruch 5, wobei für das Fahrzeug (100) relevante zweite Objekte (118') aus den zweiten Objekten (118), die mit keinem relevanten ersten Objekt (116') übereinstimmen, durch die zweite Version (111b) ausgewählt werden; wobei für jedes relevante zweite Objekt (118') eine Einzelbewertung erzeugt wird, die anzeigt, ob die Erkennung des relevanten zweiten Objekts (118') durch die zweite Version (111b) einer Verbesserung oder Verschlechterung der Erkennungsgüte der zweiten Version (111b) gegenüber der ersten Version (111a) entspricht; wobei die zweite Version (111b) ferner basierend auf den Einzelbewertungen bewertet wird.
  7. Verfahren nach Anspruch 6, wobei basierend auf den Sensordaten (108) und/oder auf Fahrdynamikdaten, die durch mindestens einen Fahrdynamiksensor des Fahrzeugs (100) erzeugt wurden, Änderungen eines Fahrzustands des Fahrzeugs (100) bestimmt werden, die mit Erkennungszeitpunkten, zu denen die relevanten zweiten Objekte (118') durch die zweite Version (111b) erkannt wurden, zeitlich korrelieren; wobei jede Einzelbewertung durch Auswerten der mit dem jeweiligen relevanten zweiten Objekt (118') zeitlich korrelierenden Änderung des Fahrzustands erzeugt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zweiten Objektdaten (208, 208') in mehreren aufeinanderfolgenden Zeitschritten erzeugt werden; wobei die zweiten Objekte (118, 118') durch Vergleichen zwischen den zweiten Objektdaten (208, 208') aus unterschiedlichen Zeitschritten auf Plausibilität geprüft werden; wobei die zweite Version (111b) ferner in Abhängigkeit von der Plausibilität der zweiten Objekte (118, 118') bewertet wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bewertungsergebnis (212) Datensequenzen aus den Sensordaten (108), den ersten Objektdaten (206, 206') und/oder den zweiten Objektdaten (208, 208') umfasst.
  10. Verfahren nach Anspruch 9, wobei die Datensequenzen nur dann gesendet werden, wenn die zweite Version (111b) hinsichtlich der Erkennungsgüte schlechter als die erste Version (111a) bewertet wurde.
  11. Steuergerät (102), umfassend einen Prozessor (112), der konfiguriert ist, um das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
  12. Computerprogramm, umfassend Befehle, die einen Prozessor (112) bei Ausführung des Computerprogramms durch den Prozessor (112) veranlassen, das Verfahren nach einem der Ansprüche 1 bis 10 auszuführen.
  13. Computerlesbares Medium, auf dem das Computerprogramm nach Anspruch 12 gespeichert ist.
DE102021202903.5A 2021-03-24 2021-03-24 Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs Pending DE102021202903A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102021202903.5A DE102021202903A1 (de) 2021-03-24 2021-03-24 Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs
JP2023558412A JP2024512563A (ja) 2021-03-24 2022-02-03 車両の制御装置用のソフトウェアを評価する方法
KR1020237036532A KR20230157514A (ko) 2021-03-24 2022-02-03 차량의 제어 장치용 소프트웨어의 평가 방법
PCT/EP2022/052522 WO2022199916A1 (de) 2021-03-24 2022-02-03 Verfahren zum bewerten einer software für ein steuergerät eines fahrzeugs
CN202280023882.6A CN117099085A (zh) 2021-03-24 2022-02-03 用于评估用于车辆的控制器的软件的方法
EP22706756.8A EP4315069A1 (de) 2021-03-24 2022-02-03 Verfahren zum bewerten einer software für ein steuergerät eines fahrzeugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021202903.5A DE102021202903A1 (de) 2021-03-24 2021-03-24 Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs

Publications (1)

Publication Number Publication Date
DE102021202903A1 true DE102021202903A1 (de) 2022-09-29

Family

ID=80595546

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202903.5A Pending DE102021202903A1 (de) 2021-03-24 2021-03-24 Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs

Country Status (6)

Country Link
EP (1) EP4315069A1 (de)
JP (1) JP2024512563A (de)
KR (1) KR20230157514A (de)
CN (1) CN117099085A (de)
DE (1) DE102021202903A1 (de)
WO (1) WO2022199916A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884902B2 (en) * 2017-05-23 2021-01-05 Uatc, Llc Software version verification for autonomous vehicles

Also Published As

Publication number Publication date
JP2024512563A (ja) 2024-03-19
EP4315069A1 (de) 2024-02-07
WO2022199916A1 (de) 2022-09-29
CN117099085A (zh) 2023-11-21
KR20230157514A (ko) 2023-11-16

Similar Documents

Publication Publication Date Title
DE102017215552A1 (de) Plausibilisierung der Objekterkennung für Fahrassistenzsysteme
DE102016212326A1 (de) Verfahren zur Verarbeitung von Sensordaten für eine Position und/oder Orientierung eines Fahrzeugs
DE102016212195A1 (de) Verfahren zum Durchführen eines automatischen Eingriffs in die Fahrzeugführung eines Fahrzeugs
DE102014225804A1 (de) Unterstützung beim Führen eines Fahrzeugs
EP3530537B1 (de) Kraftfahrzeug-steuervorrichtung und verfahren zum betreiben der steuervorrichtung zum autonomen führen eines kraftfahrzeugs
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102013212360A1 (de) Vorhersage des zukünftigen Fahrpfades eines Fahrzeuges
WO2020061603A1 (de) Verfahren und vorrichtung zur analyse eines sensordatenstroms sowie verfahren zum führen eines fahrzeugs
EP4214607A1 (de) Verfahren und system zum testen eines fahrerassistenzsystems
DE102017206344A1 (de) Fahrerassistenzsystem für ein Fahrzeug
DE102017223621A1 (de) Verfahren und Steuereinheit zur Steuerung einer Funktion eines zumindest teilweise automatisiert fahrenden Fahrzeugs
DE102017201796A1 (de) Steuervorrichtung zum Ermitteln einer Eigenbewegung eines Kraftfahrzeugs sowie Kraftfahrzeug und Verfahren zum Bereitstellen der Steuervorrichtung
DE102021202903A1 (de) Verfahren zum Bewerten einer Software für ein Steuergerät eines Fahrzeugs
DE102020001309A1 (de) Verfahren zum Betreiben einer elektronischen Recheneinrichtung für ein Kraftfahrzeug, sowie elektronische Recheneinrichtung
DE102019215359A1 (de) Verfahren zum Ausgeben eines Signals zum Auffahren eines Fahrzeugs auf eine Vorfahrtsstraße
DE102019102919A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Betreiben eines Fahrzeuges
DE102019209064B4 (de) Vorrichtung zum Reagieren auf abgeschattete Objekte in einer Umgebung eines Fahrzeugs
DE102018114628A1 (de) Auf tiefem Lernen basierende automatische oder halbautomatische Ausparkverfahren
DE102022205331B4 (de) Verfahren und System zum Bereitstellen einer zumindest assistierten Parkfunktion für ein Kraftfahrzeug
DE102021114825B4 (de) Verfahren zum Bereitstellen einer autonomen Kraftfahrzeugsteuerung und Kraftfahrzeug mit einer Steuervorrichtung
DE102020206610A1 (de) Sicherheitsarchitektur zur steuerung eines autonomen fahrzeugs
DE102021209623A1 (de) Verfahren zum infrastrukturgestützten Assistieren eines Kraftfahrzeugs
DE102022200139A1 (de) Verfahren zur Optimierung der Umfeldwahrnehmung für ein Fahrunterstützungssystem mittels zusätzlicher Referenzsensorik
DE102020213496A1 (de) Validierung von Modellen für Fahrbahn-Spuren basierend auf Schwarmdaten
WO2022223085A1 (de) Verfahren zum testen eines assistenzsystems

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000