-
Die Erfindung betrifft ein computerimplementiertes Verfahren zum Testen eines Produkts sowie ein dazu eingerichtetes Computerprogramm und eine dazu eingerichtete Testumgebung.
-
Stand der Technik
-
Aus der
DE 10 2020 205539 ist ein Verfahren zum Prüfen eines technischen Systems, insbesondere eines zumindest teilautonomen Roboters oder Fahrzeuges bekannt. Dabei wird ein virtueller Test-Klassifikator eingeführt, welcher die Erfordernisse von Modellvalidierung und Produkttest kombiniert.
-
Offenbarung der Erfindung
-
Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, z.B. eines eingebetteten Systems. Bei dem Verfahren wird abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird. Abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben. Abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt. Abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Genauigkeit oder Robustheit der Simulation bestimmt. Insbesondere kann eine solche Bestimmung die Ausgabe einer Metrik zur Beurteilung von Genauigkeit oder Robustheit der Simulation umfassen, beispielsweise in Form einer Konfusionsmatrix oder eines etablierten Informationsmaßes wie eine Informationsgewinn (information gain).
-
Bei dem (technischen) Produkt kann es sich insbesondere um eine Software handeln, welche auf einer Recheneinheit in einem technischen System ablaufen soll, beispielsweise eine Detektions-, Überwachungs- oder Steuerfunktion in einem zumindest teilautonomen Fahrzeug oder Roboter. Auch kann es sich bei dem (technischen) Produkt um eine Hardware umfassend eine Software handeln, beispielsweise einen Sensor, einen Aktor oder ein Steuergerät eines zumindest teilautonomen Roboters oder Fahrzeuges.
-
Die Klassifikationen im Rahmen der vorgestellten Verfahren werden insbesondere nicht dafür eingesetzt, Produkteigenschaften zu klassifizieren oder durch Klassifikation Fehler in Produkten zu erkennen. Vielmehr wird klassifiziert, ob und zu welchem Grad die auf Grundlage einer Simulation vorgenommene Bewertung eines Produkts den Eigenschaften des Produkts in der Realität entspricht. Es bietet die Möglichkeit, die Güte einer Simulation in Bezug auf vorgegebene Kriterien zu bestimmen. Darüber hinaus bietet es die Möglichkeit, automatisierte Simulationen anzustoßen. Eine weitere mögliche Anwendung besteht darin, die Güte von Simulationsergebnissen vorherzusagen ohne zusätzliche Referenzmessungen durchführen zu müssen.
-
In einer bevorzugten Ausgestaltung stammen die Referenzdaten aus einem Test am realen Produkt oder aus einer (insbesondere besonders genauen) Referenzsimulation.
-
Die erste Klassifikation und die zweite Klassifikation können beispielsweise jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, weil dafür notwendige Bedingungen nicht erfüllt waren. Auch können die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt, insbesondere bei einer Simulation einer Detektions- oder Diagnosefunktion. Außerdem können die erste und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht, insbesondere bei einer Simulation einer sicherheitskritischen Funktion. Diese Klassifikationen ermöglichen eine stabile und aussagekräftige Metrik zur Bestimmung der Genauigkeit und Robustheit der Simulation.
-
In einer besonders bevorzugten Variante wird abhängig von ersten Klassifikationen und / oder zweiten Klassifikationen ein Klassifikator für eine Simulationsgenauigkeit angelernt. Dieser ermöglicht nach seinem Anlernen eine Bestimmung von Genauigkeit oder Robustheit einer Simulation auch ohne entsprechende Referenzdaten. Zur Bewertung können dann insbesondere neben dem eingelernten Klassifikator lediglich die relevanten Signale oder Ausgänge aus der Simulation benötigt werden.
-
Das Verfahren ermöglicht unter anderem folgende Anwendungen und bietet dabei insbesondere folgende Vorteile:
- - Bewertung der Genauigkeit oder Robustheit einer Simulationsumgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
- - Bewertung einer Simulationsumgebung im Kontext von SOTIF-Simulationen,
- - Bewertung der Genauigkeit oder Robustheit verwendeten Modelle in einer Hl-, MIL-, SIL-Umgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
- - Einsparung realer Messungen durch Klassifikationsgestützte Bestimmung bzw. Prädiktion der Simulationsgenauigkeit oder -robustheit,
- - Klassifikation einer vorgegebenen Menge von Tests oder Szenarien, auf deren Grundlage bewertet wird, unter welchen Randbedingungen oder für welche Art von Eingangsgrößen die Simulation zu ähnlichen Ergebnissen führt wie die Realität und unter welchen Randbedingungen bzw. für welche Eingangsgrößen die verwendeten Simulationsmodelle zu ungenau sind,
- - Vergleich unterschiedlicher simulationsbasierter Testplattformen bzw. Testumgebungen auf Grundlage klassifikationsbasierter Metriken.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen schematisch:
- 1 eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts sowie
- 2 einen Ausschnitt aus 1 mit Details zu Block 130.
-
Beschreibung der Ausführungsbeispiele
-
In der Softwaretechnik wird die Nutzung von Modellen zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess unter dem Oberbegriff „modellbasiertes Testen“ (model-based testing, MBT) zusammengefasst. Darunter kann beispielsweise die Generierung von Testfällen aus Modellen fallen, die das Sollverhalten des zu testenden Systems beschreiben.
-
Insbesondere eingebettete Systeme (embedded systems) sind auf schlüssige Eingangssignale von Sensoren angewiesen und stimulieren wiederum ihre Umwelt durch Ausgangssignale an unterschiedlichste Aktoren. Im Zuge der Verifikation und vorgelagerter Entwicklungsphasen eines solchen Systems kann daher in einer Regelschleife dessen Modell (model in the loop, MiL), Software (software in the loop, SiL), Prozessor (processor in the loop, PiL) oder gesamte Hardware (hardware in the loop, HiL) gemeinsam mit einem Modell der Umgebung simuliert werden. In der Fahrzeugtechnik werden diesem Prinzip entsprechende Simulatoren zur Prüfung elektronischer Steuergeräte je nach Testphase und -objekt mitunter als Komponenten-, Modul- oder Integrationsprüfstände bezeichnet.
-
Derartige Simulationen sind auf verschiedenen Gebieten der Technik verbreitet und finden beispielsweise Einsatz, um eingebettete Systeme in Elektrowerkzeugen, Motorsteuergeräte für Antriebs-, Lenk- und Bremssysteme, Kamerasysteme, Systeme mit Komponenten der künstlichen Intelligenz und des maschinellen Lernens, Robotiksysteme oder autonome Fahrzeuge in frühen Phasen ihrer Entwicklung auf Tauglichkeit zu prüfen.
-
Dennoch werden die Ergebnisse solcher Simulationsmodelle bislang aufgrund fehlenden Vertrauens in ihre Zuverlässigkeit in der Regel nur begrenzt in Freigabeentscheidungen einbezogen.
-
Im Kontext von Produktentwicklung können Klassifikationsverfahren unter anderem zur Entwicklung von Diagnosefunktionen für Steuergeräte und im Bereich Design of Reliability eingesetzt werden. Der Fokus liegt dabei darauf, anhand von Messdaten typische Fehlermuster zu erkennen. Auch in Steuergerätefunktionen für Fahrerassistenzfunktionen kommen Klassifikationsverfahren und andere Verfahren des maschinellen Lernens auf vielfältige Weise zum Einsatz.
-
Im Folgenden werden Beispiele für den Einsatz von Klassifikatoren bzw. Klassifikationsverfahren im Rahmen einer Verifikation oder Validierung eines Produkts beschrieben, beispielsweise für die Validierung einer eigebetteten SoftwareFunktion, insbesondere für Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs oder Roboters.
-
1 zeigt eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts. Über das hierzu beschriebene Framework können unterschiedliche Simulationsmodelle und unterschiedliche Klassifikatoren in die Validierung eingebunden werden.
-
Eingangsgrößen 101 können in ein Eingangsmodell 102 eingegeben werden, welches Ausgangsgrößen an eine simulationsbasierte Testumgebung 110 ausgibt. Weiterhin können weitere Eingangsgrößen 103, wie zum Beispiel Szenariolisten, Daten eines Testkatalogs oder ähnliche Informationen, direkt an die simulationsbasierte Testumgebung 110 gegeben werden.
-
Die simulationsbasierte Testumgebung kann auf verschiedene Modelle und Werkzeuge zugreifen und das zu testende Produkt mittels einer Simulation untersuchen. Die Testumgebung kann insbesondere MiL-, SiL-, HiL- oder PiL-Verfahren einsetzen.
-
Ergebnisse des oder der Tests werden aus der simulationsbasierten Testumgebung 110 einer Klassifizierungsinstanz 111 übergeben, welche für diese eine Klassifikation durchführt. Ein Ergebnis der Klassifikation wird von der Klassifizierungsinstanz 111 an den Block 130 übergeben.
-
Aus Block 104 können weitere Informationen wie relevante Signale der Simulation, Referenzdaten, Modellparameter oder weitere Eingangsgrößen an Block 130 übergeben werden.
-
Aus Block 120 werden Referenzdaten aus einem alternativen Test an eine Klassifizierungsinstanz 121 übergeben. Der alternative Test kann dabei insbesondere ein Versuch am realen Produkt sein oder es kann sich um eine besonders genaue, komplexere Simulation handeln als die Simulation in Block 110. Block 120 kann dabei insbesondere eine Datenbank mit Referenzdaten sein. Alternativ kann es sich bei Block 120 auch um eine weitere Testumgebung handeln, beispielsweise auch eine Apparatur zur Erzeugung weiterer Messungen, insbesondere am realen Produkt.
-
In den Klassifizierungsinstanzen 111 bzw. 121 werden die Ausgangsgrößen bzw. Ergebnisse der Simulation aus Block 110 bzw. die Ausgangsgrößen bzw. Referenzdaten aus Block 120 nach vorgegebenen Kriterien klassifiziert. Diese Kriterien können beispielsweise über eine Schnittstelle aus einer Nutzereingabe ermittelt werden.
-
Mögliche Klassifikationskriterien können z.B. sein:
- - bei Software-, Hardware- oder Systemtests: Test bestanden / Test nicht bestanden oder Test/ freigegeben / Test nicht freigegeben
- - bei Diagnose- und Detektionsfunktionen: Falsch positiv / falsch negativ / wahr positiv / wahr negativ
- - im Kontext von Simulationen zur funktionalen Sicherheit, z.B. SOTIF-Simulationen (SOTIF = Safety Of The Intended Functionality): vordefiniertes Event eingetreten / nicht eingetreten
-
Je nach Anwendung lassen sich weitere Klassifikationskriterien definieren. Dabei bedeutet Klassifikation insbesondere die Zuordnung der Simulationsergebnisse bzw. Referenzdaten zu einer oder mehreren Klasse einer diskreten Anzahl von Klassen.
-
Block 130 umfasst eine klassifikationsbasierte Evaluierung der Genauigkeit oder Robustheit der Simulation aus Block 110, die Ausgangsgrößen 140 umfassen ein Maß für die Genauigkeit oder Robustheit der Simulation aus Block 110. Beispielsweise können die Ausgangsgrößen 140 eine Robustheits- oder Genauigkeitsmetrik wie ein Maß für einen Informationsgewinn (information gain) oder charakteristische Größen, wie sie aus dem Maschinellen Lernen bekannt sind, wie eine Konfusionsmatrix umfassen.
-
Zudem kann im Block 130 ein Klassifikator trainiert werden, der es ermöglicht, die Genauigkeit oder Robustheit der Simulation für weitere Tests oder Szenarien durchzuführen, ohne entsprechende neue Referenzmessungen durchführen zu müssen.
-
2 zeigt einen Ausschnitt aus 1 mit Details zu Block 130.
-
In 2 sind die angebundenen Blöcke 110 und 120 und deren Eingänge nicht gezeigt. Die Klassifizierungsinstanzen 111 und 121 sowie deren Eingänge und Ausgänge entsprechen den Beschreibungen zu 1.
-
Block 130 kann neben den Klassifikationen aus den Blöcken 110 und 120 wie zu 1 beschrieben auch weitere Eingangsgrößen aus Block 104 erhalten. Block 130 umfasst insbesondere eine Eingangsinstanz 131 zum Empfang und zur Verarbeitung von Eingangsdaten.
-
Block 130 umfasst in 2 einen optionalen Block 132 zum Anlernen eines Klassifikators der Simulationsgüte. Dieser Block 132 beinhaltet hierzu insbesondere einen Algorithmus zum Vergleich unterschiedlicher möglicher Klassifikatoren und zur Auswahl des Klassifikators mit der größten Genauigkeit (Feature Selection). Dieser dient dazu, das Ergebnis der Klassifikation zu optimieren. Block 132 kann zum Anlernen des Klassifikators Informationen aus Block 131 erhalten.
-
Block 130 umfasst weiterhin einen Block 133 zu Modellerstellung, insbesondere zur Erstellung eines Metamodells, mit welchem eine Genauigkeit oder Robustheit der Simulation auch in Bereichen ermittelt werden kann, für welche keine Eingangsdaten bzw. keine Referenzdaten vorliegen. Block 133 kann dabei zur Modellerstellung Eingangsdaten aus Block 131 erhalten.
-
Block 130 umfasst zudem einen Block 134 zur Berechnung und Ausgabe von Ausgangsgrößen 140, insbesondere umfassend ein Maß der Genauigkeit oder Robustheit der Simulation aus Block 110. Block 134 kann zur Berechnung Eingangsdaten aus den Blöcken 132 und 133 erhalten.
-
Zur Merkmalsauswahl in Block 132, der Modellerstellung in Block 133 und Berechnung von Ausgangsgrößen 140 in Block 134 verfügt Block 130 insbesondere über Algorithmen des Maschinellen Lernens und Klassifizierungsalgorithmen bzw. kann auf eine entsprechende Bibliothek zugreifen, welche diese Algorithmen umfasst.
-
Für das Anlernen des Klassifikators werden im Folgenden zwei unterschiedliche Varianten dargestellt.
-
In der ersten Variante wird in Block 130 ein Gesamtklassifikator, beispielsweise in Form einer Konfusionsmatrix, bestimmt. Dieser Gesamtklassifikator umfasst z.B. n x n Klassen und beinhaltet gegebenenfalls für jeden dieser Klassen eine Wahrscheinlichkeit. Das Ergebnis dieser Gesamtklassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Anlernen verwendet. Das Training wird beispielsweise nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt. Durch überwachtes Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen den Parametern und Eingangsgrößen einerseits und der bekannten Gesamtklassifikation andererseits herstellt. Der Anwender kann optional auswählen, für welche Elemente der n x n Matrix der eingelernte Gesamtklassifikator die Ergebnisse mit größter Genauigkeit wiedergegeben soll. Gibt der Anwender beispielsweise den Diagonalelementen der n x n Matrix ein höheres Gewicht, so bedeutet dies, dass der Klassifikator für solche Simulationen eine hohe Genauigkeit hat, für die in der Simulation und in der Referenzmessung das gleiche Klassifikationsergebnis erzielt wurde. Um dieses Ziel zu erreichen, kann z.B. für das Training des Gesamtklassifikators anstelle der n x n Matrix eine abgeleitete Größe wie z.B. eine gewichtete Summe verwendet werden. Eine andere mögliche Variante besteht darin, beim Training des Klassifikators Methoden zur Mehrziel-Optimierung anzuwenden.
-
Ist der Klassifikator eingelernt, werden bei seiner Auswertung zur Bestimmung der Genauigkeit oder Robustheit der Simulation nur noch die Ergebnisse aus der Simulation sowie die Parameter und Eingangsgrößen verwendet, welche zum Lernen verwendet wurden. Um die Klassifikation und die Simulationsgüte für weitere Szenarien oder Tests zu bestimmen, werden somit keine Referenzmessungen mehr benötigt.
-
In der zweiten Variante für das Anlernen des Klassifikators wird der Ausgang des Klassifikators für die Referenzdaten bestimmt. Das Ergebnis dieser Klassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Training verwendet. Das Training kann wiederum nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt werden. Durch das überwachte Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen diesen Parametern und Eingangsgrößen einerseits und der bekannten Klassifikation andererseits herstellt.
-
Um die Simulationsgüte für weitere Test oder Szenarien durchzuführen, werden zusätzliche Simulationen durchgeführt und mit den vorhandenen Methoden ausgewertet. Anstatt weitere Referenzdaten zu erzeugen (beispielsweise durch Messungen) wird nun jedoch der eingelernte Klassifikator für die Referenzdaten verwendet und mit anderen Eingangsgrößen ausgewertet.
-
Im Folgenden soll die beispielhafte Anwendung eines der vorgestellten Verfahren für einen Funktionstest für einen Abstandsregeltempomat (ACC, Adaptive Cruise Control) eines Fahrzeugs beschrieben werden. Ein typisches Szenario zum Test eines ACC ist ein sogenanntes Einscher-Manöver (cut-in maneuver). Das zu testende System ist in diesem Fall die ACC-Funktionalität eines betrachteten Fahrzeugs. Dieses wird von einem weiteren Fahrzeug überholt, das - gegebenenfalls in geringem Abstand - vor dem betrachteten Auto einschert und seine Geschwindigkeit verringert. Eine Anforderung an das ACC für ein solches Szenario ist, dass das betrachtete Fahrzeug nach einer gewissen Zeit einen definierten Sicherheitsabstand wiederhergestellt haben muss. Der Abstand beim Einscheren und die Geschwindigkeiten der Fahrzeuge können unterschiedliche Werte annehmen. Diese spielen in diesem Szenario die Rolle der Eingangsgrößen (101 in 1) für das Eingangsmodell (102 in 1).
-
Für jede mögliche Parameterkonfiguration bzw. Kombination aus Eingangsgrößen wird ein Test in der Simulationsumgebung (110 in 1) durchgeführt und es werden Referenzdaten ermittelt (aus Block 120 in 1). Für jedes Ergebnis der Simulation bzw. den entsprechenden Referenzdaten wird in den Klassifizierungsinstanzen (111 bzw. 112 in 1) eine Klassifikation durchgeführt, in diesem Fall „Test bestanden“ oder „Test nicht bestanden“, je nachdem ob nach der vorgeschriebenen Zeit das betrachtete Fahrzeug einen vorgeschriebenen Sicherheitsabstand erreicht hat.
-
Zur Bestimmung der Genauigkeit oder Robustheit der Simulation in der Simulationsumgebung (110 in 1) kann nun beispielsweise wie folgt eine Konfusionsmatrix bestimmt werden (in Block 130 in 1):
- Ein Eintrag in der Matrix entspricht der Anzahl der Tests, die sowohl in der Simulation als auch in der Referenzmessung bestanden wurden. Ein weiterer Eintrag ergibt sich aus der Zahl der Tests, die in der Simulation bestanden und in der Referenzmessung nicht bestanden waren, usw. In diesem einfachen Fall wird insbesondere über die Menge aller Tests summiert und ein Mittelwert gebildet.
-
Der Anwender kann jedoch optional die Möglichkeit haben, über Eingaben auszuwählen, bezüglich welcher Parameter summiert werden soll. Zudem kann er zum Beispiel auswählen, dass für jeden Wert der Geschwindigkeit eine Konfusionsmatrix gebildet werden soll. Die vom Anwender ausgewählten Parameter können also zwei unterschiedlichen Kategorien zugeordnet werden: Solche, über die gemittelt wird, und solche, für welche die Konfusionsmatrix separat gebildet wird.
-
Die Konfusionsmatrix kann auch eine Funktion in einem mehrdimensionalen Parameterraum sein (in diesem Fall z.B. Geschwindigkeit des betrachteten Fahrzeugs und Abstand beim Einscheren).
-
Falls über keinen Parameter summiert wird, ergibt sich für jeden Punkt im mehrdimensionalen Parameterraum eine der folgenden Klassen: „Test simulativ bestanden und in der Referenz bestanden“, „Test simulativ bestanden und in der Referenz nicht bestanden“, „Test simulativ nicht bestanden und in der Referenz bestanden“, „Test simulativ nicht bestanden und in der Referenz nicht bestanden“.
-
Im Anwendungsbeispiel für die Freigabe von Tests kann die Klassifizierung auf folgende Weise erweitert werden: „Test bestanden“, „Test nicht bestanden“, „Freigabebedingung für Test nicht erfüllt“. Die Zahl der Einträge in der Konfusionsmatrix bzw. die Kombinatorik der Klassen aus dem Vergleich von Simulation und Referenzmessung erhöhen sich dann entsprechend.
-
Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung eines Tests könnte beispielsweise wie folgt aussehen:
Simulation | Bestanden | Nicht bestanden | Nicht freigegeben |
Referenz | | | |
Bestanden | 0,1 | 0,2 | 0,1 |
Nicht bestanden | 0,15 | 0,4 | 0 |
Nicht freigegeben | 0 | 0,05 | 0 |
-
Als weitere beispielhafte Anwendung soll die Genauigkeit oder Robustheit einer Simulation aus einer Simulationsumgebung für eine Diagnose- oder Detektionsfunktion bestimmt werden.
-
Unter anderem in Systemen mit eingebetteter Software werden häufig Diagnosefunktionen und Detektionsfunktionen verwendet. Manche dieser Funktionen dienen speziell zur Erkennung und Meldung von Fehlern. Beispiele hierfür sind die Diagnosefunktionen zur Überwachung eines Abgasnachbehandlungssystems. Tritt in relevanten Parameterbereichen ein auffälliges Verhalten auf, das auf eine Fehlfunktion hindeutet, so wird beispielsweise ein Status-Flag gesetzt, das weiterverarbeitet wird. Ein wiederholtes Auftreten eines solchen Ereignisses führt dazu, dass dem Fahrer ein Fehler angezeigt und im betreffenden Fehlerspeicher des Motorsteuergeräts eine entsprechende Information gespeichert wird.
-
Ein anderes Beispiel für den Einsatz von Diagnose- oder Detektionsfunktionen sind sicherheitsrelevante Funktionen für Fahrerassistenzsysteme wie AEB oder ESP. Auch hier werden Signale auf Grundlage vorgegebener Kriterien plausibilisiert und beim Auftreten bestimmter Ereignisse geeignete Gegenmaßnahmen eingeleitet (wie z.B. sicheres Anhalten, Einleiten einer Notbremsung oder andere Eingriffe in die Aktuatorik des Fahrzeugs).
-
In diesen Beispielen und für vielen weitere Anwendungen von Diagnose- und Detektionsfunktionen kann die Ausgabe der betreffenden Steuergerätefunktion einer der folgenden Kategorien zugeordnet werden:
- - Falsch positiv: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat jedoch ein Ereignis gemeldet.
- - Falsch negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
- - Wahr positiv: Es ist ein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
- - Wahr negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat kein Ereignis gemeldet.
-
Um Kosten einzusparen oder bereits in einer frühen Phase der Entwicklung Tests durchzuführen, werden auch solche Funktionen zunehmen in simulationsbasierten Plattformen bzw. Testumgebungen, z.B. mit SIL-, MIL- oder HIL-Verfahren getestet.
-
Als Ergebnis einer Bestimmung der Genauigkeit oder Robustheit einer solchen Simulation in einer Testumgebung für eine Diagnose- oder Detektionsfunktion kann aus dem Vergleich von Klassifikationen für die Simulationsergebnisse und für die entsprechenden Referenzdaten eine Metrik, beispielsweise eine Konfusionsmatrix berechnet werden. Auch in diesem Fall kann optional der Anwender auswählen, über welche Parameter summiert werden soll und über welche nicht. Wird über keinen der Parameter gemittelt, so kann jeder Punkt im Parameterraum einer der n Klassen zugeordnet werden (z.B. 16 Klassen bei einer 4x4-Matrix für die oben genannten Klassifikationen), je nachdem, was in der Simulation und in der Referenzmessung beobachtet wurde. Wird über einzelne Parameter gemittelt, so kann ein trainiertes Klassifikationsmodell für jeden Punkt und für jede Kategorie eine Wahrscheinlichkeit angeben (Konfusionsmatrix für jeden Punkt, wie im vorhergehenden Fall).
-
Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung der Performance einer Diagnose- oder Detektionsfunktion könnte beispielsweise wie folgt aussehen:
Simulation | Falsch pos. | Falsch neg. | Wahr pos. | Wahr neg. |
Referenz |
Falsch positiv | 0,1 | 0,2 | 0,05 | 0,05 |
Falsch negativ | 0,15 | 0,3 | 0 | 0 |
Wahr positiv | 0 | 0,05 | 0 | 0 |
Wahr negativ | 0.05 | 0.05 | 0 | 0 |
-
Als weitere beispielhafte Anwendung sollen Simulationen zur Absicherung der funktionalen Sicherheit eines Produkts betrachtet werden, beispielsweise SOTIF-Simulationen von Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs.
-
Beispielsweise kann hierzu simulativ das Szenario einer Autobahnausfahrt betrachtet werden. Anhand von Fehlermodellen kann eine falsche Spurerkennung simuliert werden, die dazu führen kann, dass das Fahrzeug die Fahrbahn verlässt. Für jeden Fall, der im realen Feld beobachtet wurde, wird untersucht, ob das Fahrzeug in Folge des Fehlers die Fahrspur an der Ausfahrt verlassen hat oder nicht. Nun werden diese Szenarien mit Hilfe von Fehlermodellen in der Simulation nachgestellt und überprüft, ob das Fahrzeug in der Simulation die Fahrspur verlassen hat oder nicht. Für jeden zugehörigen Punkt im Parameterraum des Fehlermodells ergibt sich nun eine der Klassifikationen „Ereignis in Simulation und real eingetreten“, „Ereignis in Simulation nicht eingetreten und real nicht eingetreten“, „Ereignis in Simulation eingetreten und real nicht eingetreten“, „Ereignis in Simulation nicht eingetreten und real eingetreten“. Eine Klassifikation über die Parameter des Fehlermodells mittels eines Metamodells ermöglicht es in diesem Fall, die Prädiktionsgenauigkeit der Simulation auch für solche Simulationen vorherzusagen, die nicht real beobachtet werden. Die Konfusionsmatrix und daraus abgeleitete informationstheoretische Größen liefern in diesem Fall eine Indikation für die Genauigkeit oder Robustheit des Simulationsmodells für diese Art von Untersuchung.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-