DE102022206723A1 - Bewertung der Relevanz von Testfällen für technische Systeme - Google Patents

Bewertung der Relevanz von Testfällen für technische Systeme Download PDF

Info

Publication number
DE102022206723A1
DE102022206723A1 DE102022206723.1A DE102022206723A DE102022206723A1 DE 102022206723 A1 DE102022206723 A1 DE 102022206723A1 DE 102022206723 A DE102022206723 A DE 102022206723A DE 102022206723 A1 DE102022206723 A1 DE 102022206723A1
Authority
DE
Germany
Prior art keywords
technical system
test
test case
dynamics
solution
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
DE102022206723.1A
Other languages
English (en)
Inventor
Gyorgy Csaba
Peter Bakucz
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 DE102022206723.1A priority Critical patent/DE102022206723A1/de
Priority to US18/336,548 priority patent/US20240004783A1/en
Priority to CN202310798990.7A priority patent/CN117332670A/zh
Publication of DE102022206723A1 publication Critical patent/DE102022206723A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Abstract

Verfahren (100) zur Bewertung der Relevanz (2) eines Testfalls (x*, u*, t*) für die Beurteilung des Verhaltens eines technischen Systems (1), dessen Dynamik durch eine skalare Dynamikfunktion L(x, u, t) im aktuellen Zustand x des Systems, der aktuell auf das System aufgeprägten Steuerung u sowie der Zeit t beschrieben wird, mit den Schritten:• es wird ein optimales Steuerungsproblem aufgestellt (110), bei dem die skalare Dynamikfunktion L(x, u, t), und/oder ein zeitliches Integral dieser Dynamikfunktion L(x, u, t), zu minimieren ist unter der Randbedingung, dass die Dynamik x des technischen Systems (1) in erster Ordnung gemäß x = f(x, u, t) auf eine Funktion f eingeschränkt ist;• es wird ermittelt (120), wie nah der Testfall (x*, u*, t*) einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt; und• der Testfall (x*, u*, t*) wird als umso relevanter (2) für die Beurteilung des Verhaltens des technischen Systems (1) gewertet (130), je näher er einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt.

Description

  • Die vorliegende Erfindung betrifft die Prüfung und Überwachung technischer Systeme auf Vorhersagbarkeit ihres Verhaltens.
  • Stand der Technik
  • Für die Steuerung vieler technischer Systeme kommt es darauf an, aus der sensorischen Beobachtung des Systems über einen zurückliegenden Zeitraum eine Prognose für die Dynamik des Systems in der Zukunft zu ermitteln. Diese Prognose wird anhand eines Modells aus den sensorisch erfassten Messdaten ermittelt und dient als Grundlage für die weitere Steuerung des jeweiligen Systems. So kann beispielsweise ein Fahrzeug anhand von Sensordaten seine künftige Fahrdynamik zumindest für einige Zeiteinheiten oder Zeitschritte im Voraus vorhersagen, und gegebenenfalls kann ein Steuerungssystem eingreifen, um dieser Fahrdynamik in der gewünschten Weise abzuändern. Ein Beispiel für ein derartiges Steuerungssystem ist das elektronische Stabilitätsprogramm, ESP, gemäß der EP 0 339 056 B1 .
  • Derartige sicherheitskritische Systeme müssen vor der Freigabe für den Wirkbetrieb ausgiebig getestet werden. So sind beispielsweise für ein System, das das zumindest teilweise automatisierte Fahren eines Fahrzeugs steuert, sehr viele Testsituationen abzuarbeiten.
  • Offenbarung der Erfindung
  • Die Erfindung stellt ein Verfahren zur Bewertung der Relevanz eines Testfalls für die Beurteilung des Verhaltens eines technischen Systems bereit. Die Relevanz eines Testfalls, bzw. einer Menge von Testfällen, kann insbesondere beispielsweise nach der bedingten Wahrscheinlichkeit bemessen werden, dass das Verhalten des technischen Systems in allen Betriebssituationen jeweils einer mit der jeweiligen Betriebssituation verknüpften Erwartung entspricht unter der Bedingung, dass sich das technische System für den Testfall, bzw. die Menge von Testfällen, so verhält wie dies im jeweiligen Testfall erwartet wird.
  • Es werden solche technischen Systeme betrachtet, deren Dynamik sich durch eine skalare Dynamikfunktion L(x, u, t) beschreiben lässt. Hierin charakterisiert x den aktuellen Zustand des technischen Systems, u charakterisiert eine aktuell auf das System aufgeprägte Steuerung (d.h., einen Steuereingriff), und t ist die Zeit. x und u können insbesondere beispielsweise Vektoren mit mehreren Komponenten sein. Der Steuereingriff u kann im weitesten Sinne auch als Geschwindigkeit im Phasenraum der kontrollierbaren Parameter bzw. Zustandsvariablen des technischen Systems angesehen werden, die sich nicht unmittelbar als Zeitableitung des Zustandes x ergibt, sondern durch aktives „Gasgeben“, „Bremsen“ und „Lenken“ im Phasenraum beeinflusst wird.
  • Im Rahmen des Verfahrens wird ein optimales Steuerungsproblem aufgestellt, bei dem durch Aufprägen einer geeigneten Steuerung u auf das technische System die skalare Dynamikfunktion L(x, u, t), und/oder ein zeitliches Integral dieser Dynamikfunktion L(x, u, t), zu minimieren ist. Das Aufprägen eines Zeitprogramms für die Steuerung u ändert entsprechend den Abhängigkeiten und Zwangsbedingungen im technischen System auch das Zeitprogramm des Zustands x des technischen Systems. Die Kombination beider Zeitprogramme u(t) und x(t) wird im Folgenden als kombiniertes Zeitprogramm (x, u, t) geschrieben. Das optimale kombinierte Zeitprogramm (x#, u#, t#) minimiert die Dynamikfunktion L(x, u, t), bzw. ihr zeitliches Integral I ( t 0 ) = Φ ( x ( T ) , T ) = t 0 T L ( x , u , t ) d t
    Figure DE102022206723A1_0001
    von einem Anfangszeitpunkt t0 bis zu einem Endzeitpunkt T.
  • Dementsprechend liegt auch der zu prüfende Testfall (x*, u*, t*) als Kombination zweier Zeitprogramme u'(t') und x*(t*) vor. Es wird nun ermittelt, wie nah dieser zu prüfende Testfall (x*, u*, t*) einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt. Je näher der zu prüfende Testfall (x*, u*, t*) einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt, desto höher wird die Relevanz dieses Testfalls (x*, u*, t*) für die Beurteilung des Verhaltens des technischen Systems gewertet.
  • Beispielsweise kann eine Lösung (x#, u#, t#) des optimalen Steuerungsproblems beschafft werden, und es kann dann mit einem beliebigen geeigneten Distanzmaß ermittelt werden, wie nahe der zu prüfende Testfall (x*, u*, t*) dieser Lösung (x#, u#, t#) kommt. Es ist jedoch nicht zwingend erforderlich, die Lösung (x#, u#, t#) explizit zu kennen. Vielmehr können auch Rechenverfahren bzw. Näherungsverfahren eingesetzt werden, die unmittelbar eine Entfernung bzw. Ähnlichkeit des zu prüfenden Testfalls (x*, u*, t*) zu einer Lösung (x#, u#, t#) liefern, nicht jedoch diese Lösung (x#, u#, t#) selbst.
  • Das optimale Steuerungsproblem kann mit beliebigen Anfangsbedingungen x(t0) für den Zustand x des technischen Systems im Anfangszeitpunkt t0 versehen sein. Weiterhin kann auch eine Endbedingung Ψ ( x ( T ) , T ) = 0
    Figure DE102022206723A1_0002
    für den Endzeitpunkt T vorgegeben sein dergestalt, dass die Wahrscheinlichkeitsdichtefunktion Ψ für den Zustand x(t) des technischen Systems im Endzustand x(T) zum Endzeitpunkt T verschwindet.
  • Es wurde erkannt, dass mit der hier vorgeschlagenen Bewertung der Relevanz von Testfällen die Prüfung des technischen Systems deutlich schneller und zu reduzierten Kosten durchgeführt werden kann. Üblicherweise ist gefordert, dass das technische System sich in allen Testfällen (x*, u*, t*) aus einem vorgegebenen Katalog jeweils so verhält wie erwartet. Der Katalog von Testfällen (x*, u*, t*) kann beispielsweise vom Kunden bereitgestellt werden, der die Realisierung des technischen Systems in Auftrag gibt. Wenn das technische System sich auch nur für einen einzigen Testfall (x*, u*, t*) nicht so verhält wie erwartet, ist seine Prüfung insgesamt nicht bestanden. Wird dies nun etwa erst bei dem n-ten und letzten Testfall (x*, u*, t*) festgestellt, ist der komplette Arbeits- und Finanzeinsatz für die bereits durchgeführten n-1 Tests verloren. Dieser Aufwand hätte eingespart werden können, wenn der nicht bestandene Test zuerst durchgeführt worden wäre. Dies ist in etwa vergleichbar damit, dass ein angehender Pilot eine jahrelange praktische Ausbildung im Wert von über 100.000 € bekommt und erst ganz zum Schluss festgestellt wird, dass sein polizeiliches Führungszeugnis ein Sammelsurium von Negativeinträgen enthält, das die Erteilung einer Lizenz ausschließt. Hier wäre es wirtschaftlicher gewesen, den Bewerber gleich im schriftlichen Bewerbungsverfahren herauszufiltern und gar nicht erst zum Vorstellungsgespräch einzuladen.
  • Die durch das hier vorgeschlagene Verfahren können gezielt diejenigen Testfälle priorisiert werden, die für die Gesamtprüfung ein „make or break“ sind im Sinne von „wenn das System diese Testfälle schafft, wird es wahrscheinlich auch alle anderen schaffen“. Eine Ersparnis an Prüfungsaufwand ergibt sich immer dann, wenn sich das System für mindestens einen Testfall (x*, u*, t*) nicht so verhält wie erwartet. Genau dies kann aber während der Entwicklungsphase technischer Systeme durchaus passieren.
  • Somit wird in einer besonders vorteilhaften Ausgestaltung ein vorgegebener Katalog von Testfällen (x*, u*, t*) bereitgestellt. Dieser Katalog kann beispielsweise erhalten werden, indem analytische Lösungen einer Differentialgleichung, der das System gehorcht, ermittelt werden. Der Katalog kann aber alternativ oder auch in Kombination hierzu beispielsweise im Rahmen einer Kundenspezifikation explizit vorgegeben werden. Für jeden Testfall (x*, u*, t*) aus dem Katalog wird die Relevanz ermittelt wie zuvor beschrieben. Es wird dann eine Liste der Testfälle (x*, u*, t*) erstellt, die in absteigender Reihenfolge dieser Relevanzen der Testfälle (x*, u*, t*) sortiert ist. Die Testfälle (x*, u*, t*), die in dieser Liste vordere Plätze einnehmen, können in dem Sinne als „kritische Testfälle“ angesehen werden, dass das technische System mit hoher Wahrscheinlichkeit in allen Fällen wie erwartet arbeitet, wenn es für genau diese Testfälle jeweils wie erwartet arbeitet.
  • In einer weiteren vorteilhaften Ausgestaltung wird somit das technische System sukzessive mit den Testfällen (x*, u*, t*) in der Reihenfolge der Liste getestet. Diese Tests können an einem physischen Exemplar des technischen Systems durchgeführt werden, sowie alternativ oder auch in Kombination hierzu an einem mathematischen Modell oder „digitalen Zwilling“ des technischen Systems.
  • Jeder Einzeltest für einen Testfall (x*, u*, t*) wird als bestanden gewertet, wenn die Dynamik des technischen Systems ausgehend von diesem Testfall (x*, u*, t*) einer mit diesem Testfall (x*, u*, t*) verknüpften Erwartung entspricht. In Antwort darauf, dass mindestens ein Einzeltest nicht bestanden ist, wird die Prüfung des technischen Systems insgesamt abgebrochen und als nicht bestanden gewertet. In Antwort darauf, dass alle Einzeltests bestanden sind, wird die Prüfung des technischen Systems insgesamt als bestanden gewertet.
  • Auf diese Weise können insbesondere während der Entwicklung technischer Systeme Ideen für Veränderungen bzw. Verbesserungen einer schnellen Vorfilterung unterzogen werden. Es kann sich also beispielsweise herausstellen, dass von 100 vorgebrachten Ideen 30 Ideen die Hürde der ersten Testfälle (x*, u*, t*) auf der Liste überspringen und weiterverfolgt werden können. Dies ist ein Stück weit analog dazu, dass beispielsweise bei der Entwicklung neuronaler Netze oder anderer Machine Learning-Modelle eine erste Erprobung häufig mit wohlbekannten öffentlich zugänglichen Standard-Datensätzen erfolgt. Wenn es um eine Verarbeitung von Bildern geht, können dies beispielsweise handgeschriebene Ziffern aus dem MNIST-Datensatz sein. Neu vorgeschlagene Ideen müssen sich dann daran messen lassen, inwieweit sie auf den Standard-Datensätzen eine bessere Leistung an den Tag legen als die bislang bekannten Methoden.
  • Das Testen des technischen Systems kann in einer weiteren besonders vorteilhaften Ausgestaltung eine Prüfung beinhalten, ob eine auf der Basis der skalaren Dynamikfunktion L(x, u, t) aufgestellte Differentialgleichung für die Dynamik des technischen Systems analytisch lösbar ist. Wenn diese Differentialgleichung analytisch lösbar ist, zeigt dies an, dass die Differentialgleichung die Dynamik des technischen Systems vollständig beschreibt. Ist die Differentialgleichung hingegen nicht analytisch lösbar, zeigt dies an, dass zur Dynamik des technischen Systems noch mehr gehört als das, was durch die Differentialgleichung beschrieben wird.
  • Es kann insbesondere beispielsweise ein technisches System gewählt werden, dessen Dynamik durch eine Lagrange-Funktion L = T - V als Dynamikfunktion L(x, u, t) beschreibbar ist, wobei T zu einer kinetischen Energie und V zu einer potentiellen Energie des technischen Systems korrespondiert. Aus der Lagrange-Funktion kann dann die Euler-Lagrange-Gleichung gebildet werden, und es kann dann geprüft werden, ob die Euler-Lagrange-Gleichung analytisch lösbar ist.
  • Der Test der analytischen Lösbarkeit kann somit Tests an einem physischen Exemplar des technischen Systems ganz oder teilweise ersetzen. Somit ist vorteilhaft die ausgewertete Relevanz eines Testfalls (x*, u*, t*) ein Maß dafür, inwieweit die analytische Lösbarkeit einer auf der Basis der skalaren Dynamikfunktion L(x, u, t) aufgestellten Differentialgleichung für die Dynamik des technischen Systems ausgehend von diesem Testfall (x*, u*, t*) eine analytische Lösbarkeit auch ausgehend von anderen Testfällen (x*, u*, t*) impliziert. Hierbei kann auch der Fall eintreten, dass viele Testfälle (x*, u*, t*) gleiche Relevanzen haben und sich beispielsweise nur wenige Testfälle (x*, u*, t*) hiervon nach oben oder unten abheben. Es ist aber beispielsweise schon viel gewonnen, wenn auch nur ein einziger Testfall (x*, u*, t*) mit besonders hoher Relevanz zuerst geprüft wird.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird mindestens eine Lösung (x#, u#, t#) des optimalen Steuerungsproblems zumindest näherungsweise, oder beispielsweise auch analytisch, ermittelt. Die Nähe bzw. Ähnlichkeit eines Testfalls (x*, u*, t*) zu der Lösung (x#, u#, t#) kann dann, wie zuvor erläutert, durch direkte Anwendung eines Distanz- bzw. Ähnlichkeitsmaßes ermittelt werden. Die aufgefundene Lösung (x#, u#, t#) kann dann optional auch gleich als Testfall (x*, u*, t*) mit der höchsten Relevanz gewertet werden.
  • Die Lösung (x#, u#, t#) des optimalen Steuerungsproblems kann insbesondere beispielsweise als stationäre Lösung in Bezug auf die Steuerung u ermittelt werden. Beispielsweise kann das optimale Steuerungsproblem als Minimierungsproblem für das Funktional H ( x , u , t ) = L ( x , u , t ) + λ T ƒ ( x , u , t )
    Figure DE102022206723A1_0003
    aufgestellt werden, worin λ eine Matrix aus Lagrangeschen Multiplikatoren ist. H wird auch Euler-Lagrange-Funktion genannt. Die Dynamikfunktion L muss in diesem Zusammenhang nicht zwingend die aus der Mechanik bekannte Lagrange-Funktion L = T - V sein, worin T eine kinetische Energie und V eine potentielle Energie ist. Es können auch andere Dynamikfunktionen L genutzt werden. Aus dem Ausdruck für H folgen Zustandsgleichungen x = ƒ ( x , u , t ) = H λ
    Figure DE102022206723A1_0004
    sowie Ko-Zustandsgleichungen λ = H x .
    Figure DE102022206723A1_0005
  • Die stationäre Lösung führt auf die Bedingung H u = 0.
    Figure DE102022206723A1_0006
  • Unter Berücksichtigung von Randbedingungen und Anfangsbedingungen ergibt sich schließlich ( Φ x + Ψ x T u λ ) T | T d x ( T ) + ( Φ t + Ψ x T u H ) | T d T = 0.
    Figure DE102022206723A1_0007
  • Hierin sind t die Zeit, u ∈ ℝm ein Steuerungsvektor mit m Elementen, x ∈ ℝn ein Zustandsvektor mit n Elementen sowie λ ∈ ℝn ein Ko-Zustandsvektor von Lagrangeschen Multiplikatoren mit ebenfalls n Elementen. In dieser Form ist das optimale Steuerungsproblem ein numerisch zu lösendes Randwertproblem mit zwei Rändern, auf denen jeweils Bedingungen vorgegeben sind.
  • In einer vorteilhaften Ausgestaltung wird die Lösung (x#, u#, t#) mit einem genetischen Algorithmus durch Kreuzung, Selektion und Mutation von Lösungskandidaten ermittelt. Das bedeutet, dass etwa zunächst eine Anfangspopulation mit zufällig erzeugten Lösungskandidaten erzeugt werden kann. In Abhängigkeit davon, wie gut oder wie schlecht diese Lösungskandidaten als Lösungen des optimalen Steuerungsproblems sind („Fitnessbewertung“), können dann Lösungskandidaten ausgewählt, miteinander gekreuzt sowie in vorgegebenen Grenzen noch zufällig mutiert werden. Hiermit entsteht eine neue Generation von Lösungskandidaten, und die Auswahl, Kreuzung, Selektion und Mutation kann in gleicher Weise fortgesetzt werden, bis eine vorgegebene Anzahl von Generationen erreicht ist.
  • In einer weiteren vorteilhaften Ausgestaltung wird die Lösung (x#, u#, t#) unter Reduktion des optimalen Steuerungsproblems auf ein Anfangswertproblem ermittelt. Hierbei werden zunächst Werte am ersten Rand so ausgewählt, dass die dortigen Randbedingungen erfüllt sind. Ausgehend hiervon werden die zuvor erläuterten Differentialgleichungen integriert, bis der zweite Rand erreicht ist. Die dortigen Randbedingungen werden im allgemeinen zunächst nicht erfüllt sein. Es werden nun die Werte am ersten Rand darauf optimiert, dass die Randbedingungen auch am zweiten Rand erfüllt sind, beispielsweise mit einem gradientenbasierten Suchverfahren (Newton-Raphson).
  • Dies ist ein Stück weit analog dazu, dass beim Schießen mit Artillerie die Anfangsbedingungen, die einem Geschoss am Startort mitgegeben werden, so variiert werden, dass das Geschoss ein entferntes Ziel trifft. Daher wird die Reduktion des Randwertproblems auf ein Anfangswertproblem auch als „Schießmethode“ bezeichnet.
  • In einer weiteren besonders vorteilhaften Ausgestaltung werden zunächst mit dem genetischen Algorithmus Lagrangesche Multiplikatoren λ des optimalen Steuerungsproblems ermittelt. Anschließend wird ein Zeitprogramm für den Zustand x* des gesuchten Testfalls (x*, u*, t*) unter Reduktion des optimalen Steuerungsproblems auf ein Anfangswertproblem ermittelt. Hierdurch ist dann der gesuchte Testfall (x*, u*, t*) vollständig bestimmt. Das heißt, das Zeitprogramm für die Steuerung u* ist nicht mehr unabhängig, sondern ergibt sich aus dem Zeitprogramm für den Zustand x* und den Lagrangeschen Multiplikatoren λ. Auf diese Weise können die Vorteile des genetischen Algorithmus und der „Schießmethode“ kombiniert werden. Der genetische Algorithmus kann den Lösungsraum als Ganzes gut explorieren und auch ohne eine gute anfängliche Schätzung der Lösung ein globales Optimum finden. Die „Schießmethode“ kann hierauf aufbauen und schnell auf das Optimum konvergieren, das auch mit einer guten Genauigkeit erhalten wird. Insofern wird ein Synergieeffekt zwischen den beiden Methoden ausgenutzt.
  • Diese Kombination von Methoden ist auch hinsichtlich der Anforderungen an Rechenleistung und Speicher besonders effizient. Daher kann das Verfahren in einer weiteren besonders vorteilhaften Ausgestaltung in Echtzeit auf einem Embedded-System, das in dem technischen System enthalten ist oder von ihm mitgeführt wird, ausgeführt werden. Das Verfahren kann dann vorteilhaft nicht nur offline im Rahmen der Entwicklung und/oder Freigabe, sondern auch als Online-Kontrolle genutzt werden. So kann beispielsweise ausgehend von einer sensorisch erfassten Betriebssituation eines technischen Systems anhand einer Test-Suite aus nur wenigen besonders relevanten Testfällen (x*, u*, t*) geprüft werden, inwieweit die auf der Basis der Dynamikfunktion L(x, u, t) gebildete Differentialgleichung die Dynamik des technischen Systems vollständig beschreibt. Wenn dies nicht der Fall ist, kann das technische System sich anders verhalten als die Differentialgleichung dies vorhersagt. Ein auf Grund der Beschreibung der Dynamik geplanter Steuereingriff in das technische System führt dann vielleicht nicht zum gewünschten Ergebnis, sondern zu einem anderen Ergebnis.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird ein Fahrzeug, und/oder eine Verkehrssituation mit mehreren Verkehrsteilnehmern, als technisches System gewählt. Gerade Verkehrssituationen können sich plötzlich so entwickeln, dass eine Beschreibung durch eine Differentialgleichung und eine Zusammenstellung von Sensordaten, die eben noch vollkommen ausreichend war, plötzlich nicht mehr ausreicht. Beispielsweise kann bei einer Fahrt auf der Landstraße über weite Strecken eine Modellierung der Verkehrssituation ohne genaue Tiefeninformation genügen, weil nur auf das Einhalten der eigenen Fahrspur und auf Verkehrszeichen geachtet werden muss. Wenn nun aber plötzlich ein Fahrzeug des Gegenverkehrs zum Überholen ausschert und dem eigenen Fahrzeug frontal entgegenkommt, hängt die weitere Entwicklung der Situation davon ab, wie schnell sich der Überholende nähert und ob er noch rechtzeitig am Überholten vorbeiziehen kann, um es auf seine Fahrspur zurück zu schaffen. Hierfür wird verlässliche Tiefeninformation der Verkehrssituation benötigt.
  • Das Verfahren kann insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, das beschriebene Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.
  • Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
  • Weiterhin können ein oder mehrere Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
  • Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
  • Ausführungsbeispiele
  • Es zeigt:
    • 1 Ausführungsbeispiel des Verfahrens 100 zur Bewertung der Relevanz eines Testfalls (x*, u*, t*);
    • 2 Veranschaulichung der Kombination aus genetischem Algorithmus und „Schießmethode“ zum Ermitteln der Lösung (x#, u#, t#).
  • 1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zur Bewertung der Relevanz 2 eines Testfalls (x*, u*, t*) für die Beurteilung des Verhaltens eines technischen Systems 1.
  • In Schritt 105 wird ein vorgegebener Katalog von Testfällen (x*, u*, t*) bereitgestellt.
  • In Schritt 110 wird ein optimales Steuerungsproblem aufgestellt, bei dem eine skalare Dynamikfunktion L(x, u, t) des technischen Systems 1, und/oder ein zeitliches Integral dieser Dynamikfunktion L(x, u, t), zu minimieren ist. Dieses Problem steht unter der Randbedingung, dass die Dynamik ẋ des technischen Systems 1 in erster Ordnung gemäß ẋ = f(x, u, t) auf eine Funktion f eingeschränkt ist.
  • In Schritt 120 wird ermittelt, wie nah der Testfall (x*, u*, t*) einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt. Wie zuvor erläutert, wird hierfür die Lösung (x#, u#, t#) selbst nicht zwangsläufig benötigt.
  • Gemäß Block 121 kann dies für jeden Testfall (x*, u*, t*) aus dem vorgegebenen Katalog durchgeführt werden.
  • Gemäß Block 122 kann mindestens eine Lösung (x#,u#, t#) des optimalen Steuerungsproblems zumindest näherungsweise ermittelt werden.
  • Gemäß Block 122a kann die Lösung (x#, u#, t#) des optimalen Steuerungsproblems als stationäre Lösung in Bezug auf die Steuerung u ermittelt werden.
  • Gemäß Block 122b kann die Lösung (x#, u#, t#) mit einem genetischen Algorithmus durch Kreuzung, Selektion und Mutation von Lösungskandidaten 4 ermittelt werden.
  • Gemäß Block 122c kann die Lösung (x#, u#, t#) unter Reduktion des optimalen Steuerungsproblems auf ein Anfangswertproblem ermittelt werden.
  • In Schritt 130 wird der Testfall (x*, u*, t*) als umso relevanter 2 für die Beurteilung des Verhaltens des technischen Systems 1 gewertet, je näher er einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt.
  • Gemäß Block 131 kann die Relevanz 2 für jeden Testfall (x*, u*, t*) aus dem vorgegebenen Katalog ermittelt werden.
  • Gemäß Block 132 wird eine gemäß Block 122 ermittelte Lösung (x#, u#, t#) als Testfall (x*, u*, t*) mit höchster Relevanz 2 gewertet.
  • In Schritt 140 wird eine Liste 3 der Testfälle (x*, u*, t*) erstellt, die in absteigender Reihenfolge dieser Relevanzen 2 der Testfälle (x*, u*, t*) sortiert ist.
  • In Schritt 150 wird das technische System 1 sukzessive mit den Testfällen (x*, u*, t*) in der Reihenfolge der Liste 3 getestet. Wie zuvor erläutert, kann ein solcher Test an einem physischen Exemplar des technischen Systems 1, aber auch beispielsweise an einem mathematischen Modell oder „digitalen Zwilling“ des technischen Systems durchgeführt werden.
  • In Schritt 160 wird geprüft, ob die Einzeltests für die Testfälle (x*, u*, t*) jeweils als bestanden zu werten sind.
  • Wenn dies auch nur für einen Einzeltest nicht der Fall ist (Wahrheitswert 0), wird in Schritt 170 die Prüfung des technischen Systems (1) insgesamt abgebrochen und als nicht bestanden gewertet.
  • Wenn hingegen für alle Testfälle (x*, u*, t*) der jeweilige Einzeltest bestanden ist (Wahrheitswert 1), wird in Schritt 180 die Prüfung des technischen Systems 1 insgesamt als bestanden gewertet.
  • 2 veranschaulicht schematisch, wie ein genetischer Algorithmus und die „Schießmethode“ synergistisch zusammenwirken können, um eine Lösung (x#, u#, t#) des optimalen Steuerungsproblems zu ermitteln.
  • Aus einer Menge 5 von Lösungskandidaten 4 wird zunächst durch Fitnessauswahl eine reduzierte Menge 6 von Lösungskandidaten 4 gebildet. Anschließend werden aus den Lösungskandidaten 4 in der Menge 6 durch Kreuzung, Selektion und Mutation neue Lösungskandidaten 4' erzeugt, die eine Menge 7 bilden. Diese Menge 7 kann dann für den nächsten Zyklus des genetischen Algorithmus als „nächste Generation“ der Menge 5 von Lösungskandidaten 4 dienen.
  • Der beste Lösungskandidat 4' aus der Menge 7 wird genutzt, um die Lagrangeschen Multiplikatoren λ zu ermitteln. Hieraus folgen wiederum Anfangswerte für die gesuchte Lösung (x#, u#, t#), die den Randbedingungen auf einem ersten Rand R1 genügen. Durch Integrieren der Differentialgleichungen für das gesuchte Zeitprogramm des Zustands x# werden Werte auf einem zweiten Rand R2 erhalten, die noch nicht den dortigen Randbedingungen entsprechend. Im Rahmen der „Schießmethode“ werden ausgehend von den mit dem genetischen Algorithmus ermittelten Startwerten die Werte auf dem ersten Rand R1 optimiert mit dem Ziel, dass auch die Randbedingungen auf dem zweiten Rand R2 erfüllt werden. Das im Zuge dieser Optimierung erhaltene Zeitprogramm des Zustands x# legt in Verbindung mit den Lagrangeschen Multiplikatoren λ die Lösung (x#, u#, t#) eindeutig fest.
  • 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
    • EP 0339056 B1 [0002]

Claims (17)

  1. Verfahren (100) zur Bewertung der Relevanz (2) eines Testfalls (x*, u*, t*) für die Beurteilung des Verhaltens eines technischen Systems (1), dessen Dynamik durch eine skalare Dynamikfunktion L(x, u, t) im aktuellen Zustand x des Systems, der aktuell auf das System aufgeprägten Steuerung u sowie der Zeit t beschrieben wird, mit den Schritten: • es wird ein optimales Steuerungsproblem aufgestellt (110), bei dem die skalare Dynamikfunktion L(x, u, t), und/oder ein zeitliches Integral dieser Dynamikfunktion L(x, u, t), zu minimieren ist unter der Randbedingung, dass die Dynamik x des technischen Systems (1) in erster Ordnung gemäß ẋ = f(x, u, t) auf eine Funktion f eingeschränkt ist; • es wird ermittelt (120), wie nah der Testfall (x*, u*, t*) einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt; und • der Testfall (x*, u*, t*) wird als umso relevanter (2) für die Beurteilung des Verhaltens des technischen Systems (1) gewertet (130), je näher er einer Lösung (x#, u#, t#) des optimalen Steuerungsproblems kommt.
  2. Verfahren (100) nach Anspruch 1, wobei • ein vorgegebener Katalog von Testfällen (x*, u*, t*) bereitgestellt wird (105), • die Relevanz (2) für jeden Testfall (x*, u*, t*) aus dem Katalog ermittelt wird (121, 131) und • eine Liste (3) der Testfälle (x*, u*, t*) erstellt wird (140), die in absteigender Reihenfolge dieser Relevanzen (2) der Testfälle (x*, u*, t*) sortiert ist.
  3. Verfahren (100) nach Anspruch 2, wobei • das technische System (1) sukzessive mit den Testfällen (x*, u*, t*) in der Reihenfolge der Liste (3) getestet wird (150); • jeder Einzeltest für einen Testfall (x*, u*, t*) als bestanden gewertet wird, wenn die Dynamik des technischen Systems (1) ausgehend von diesem Testfall (x*, u*, t*) einer mit diesem Testfall (x*, u*, t*) verknüpften Erwartung entspricht (160); • in Antwort darauf, dass mindestens ein Einzeltest nicht bestanden ist, die Prüfung des technischen Systems (1) insgesamt abgebrochen und als nicht bestanden gewertet wird (170); und • in Antwort darauf, dass alle Einzeltests bestanden sind, die Prüfung des technischen Systems (1) insgesamt als bestanden gewertet wird (180).
  4. Verfahren (100) nach Anspruch 3, wobei das Testen des technischen Systems (1) eine Prüfung beinhaltet (151), ob eine auf der Basis der skalaren Dynamikfunktion L(x, u, t) aufgestellte Differentialgleichung für die Dynamik des technischen Systems (1) analytisch lösbar ist.
  5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei die Relevanz eines Testfalls (x*, u*, t*) ein Maß dafür ist, inwieweit die analytische Lösbarkeit einer auf der Basis der skalaren Dynamikfunktion L(x, u, t) aufgestellten Differentialgleichung für die Dynamik des technischen Systems (1) ausgehend von diesem Testfall (x*, u*, t*) eine analytische Lösbarkeit auch ausgehend von anderen Testfällen (x*, u*, t*) impliziert.
  6. Verfahren (100) nach einem der Ansprüche 1 bis 5, wobei mindestens eine Lösung (x#, u#, t#) des optimalen Steuerungsproblems zumindest näherungsweise ermittelt wird (122).
  7. Verfahren (100) nach Anspruch 6, wobei die Lösung (x#, u#, t#) als Testfall (x*, u*, t*) mit höchster Relevanz (2) gewertet wird (132).
  8. Verfahren (100) nach einem der Ansprüche 6 bis 7, wobei die Lösung (x#, u#, t#) des optimalen Steuerungsproblems als stationäre Lösung in Bezug auf die Steuerung u ermittelt wird (122a).
  9. Verfahren (100) nach einem der Ansprüche 6 bis 8, wobei die Lösung (x#, u#, t#) mit einem genetischen Algorithmus durch Kreuzung, Selektion und Mutation von Lösungskandidaten (4) ermittelt wird (122b).
  10. Verfahren (100) nach einem der Ansprüche 6 bis 9, wobei die Lösung (x#, u#, t#) unter Reduktion des optimalen Steuerungsproblems auf ein Anfangswertproblem ermittelt wird (122c).
  11. Verfahren (100) nach Anspruch 9 und 10, wobei • mit dem genetischen Algorithmus Lagrangesche Multiplikatoren λ des optimalen Steuerungsproblems ermittelt werden (122b) und • ein Zeitprogramm für den Zustand x* des gesuchten Testfalls (x*, u*, t*) unter Reduktion des optimalen Steuerungsproblems auf ein Anfangswertproblem ermittelt wird (122c), so dass hierdurch der gesuchte Testfall (x*, u*, t*) vollständig bestimmt ist.
  12. Verfahren (100) nach einem der Ansprüche 1 bis 11, wobei ein technisches System (1) gewählt wird, dessen Dynamik durch eine Lagrange-Funktion L = T - V als Dynamikfunktion L(x, u, t) beschreibbar ist, wobei T zu einer kinetischen Energie und V zu einer potentiellen Energie des technischen Systems (1) korrespondiert.
  13. Verfahren (100) nach einem der Ansprüche 1 bis 12, wobei ein Fahrzeug, und/oder eine Verkehrssituation mit mehreren Verkehrsteilnehmern, als technisches System (1) gewählt wird.
  14. Verfahren (100) nach einem der Ansprüche 1 bis 13, wobei das Verfahren (100) in Echtzeit auf einem Embedded-System, das in dem technischen System (1) enthalten ist oder von ihm mitgeführt wird, ausgeführt wird.
  15. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, das Verfahren (100) nach einem der Ansprüche 1 bis 14 auszuführen.
  16. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Computerprogramm nach Anspruch 15.
  17. Ein oder mehrere Computer mit dem Computerprogramm nach Anspruch 15, und/oder mit dem maschinenlesbaren Datenträger und/oder Downloadprodukt nach Anspruch 16.
DE102022206723.1A 2022-06-30 2022-06-30 Bewertung der Relevanz von Testfällen für technische Systeme Pending DE102022206723A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102022206723.1A DE102022206723A1 (de) 2022-06-30 2022-06-30 Bewertung der Relevanz von Testfällen für technische Systeme
US18/336,548 US20240004783A1 (en) 2022-06-30 2023-06-16 Rating of the relevance of test cases for technical systems
CN202310798990.7A CN117332670A (zh) 2022-06-30 2023-06-30 评估测试情况与技术系统的相关性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022206723.1A DE102022206723A1 (de) 2022-06-30 2022-06-30 Bewertung der Relevanz von Testfällen für technische Systeme

Publications (1)

Publication Number Publication Date
DE102022206723A1 true DE102022206723A1 (de) 2024-01-04

Family

ID=89167286

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206723.1A Pending DE102022206723A1 (de) 2022-06-30 2022-06-30 Bewertung der Relevanz von Testfällen für technische Systeme

Country Status (3)

Country Link
US (1) US20240004783A1 (de)
CN (1) CN117332670A (de)
DE (1) DE102022206723A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339056B1 (de) 1987-09-22 1993-05-19 Robert Bosch Gmbh Verfahren zur regelung der fahrstabilität eines fahrzeugs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339056B1 (de) 1987-09-22 1993-05-19 Robert Bosch Gmbh Verfahren zur regelung der fahrstabilität eines fahrzeugs

Also Published As

Publication number Publication date
CN117332670A (zh) 2024-01-02
US20240004783A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
DE102018128289B4 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
DE102019126195A1 (de) Verfahren zur effizienten, simulativen Applikation automatisierter Fahrfunktionen
DE102019124018A1 (de) Verfahren zum Optimieren von Tests von Regelsystemen für automatisierte Fahrdynamiksysteme
WO2020061603A1 (de) Verfahren und vorrichtung zur analyse eines sensordatenstroms sowie verfahren zum führen eines fahrzeugs
DE102020108127A1 (de) Interpretieren von daten einer reinforcement-learning-agent-steuerung
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE102020105783A1 (de) Verfahren zur Erzeugung eines reduzierten neuronalen Netzes
DE102020120141A1 (de) Verfahren zum Optimieren von Tests von Regelsystemen für automatisierte Fahrdynamiksysteme mittels probabilistisch prädizierter Systemantworten
DE102022206723A1 (de) Bewertung der Relevanz von Testfällen für technische Systeme
DE102021131115A1 (de) Verfahren zur Szenarienidentifikation für eine Applikation von Fahrerassistenzsystemen
DE102020214203A1 (de) Verfahren zum Bestimmen einer Spurwechselintention eines sich in einer unmittelbaren Umgebung eines Kraftfahrzeugs befindlichen weiteren Kraftfahrzeugs, sowie Assistenzsystem
WO2021089499A1 (de) Verfahren und system zum prüfen einer automatisierten fahrfunktion durch reinforcement-learning
DE102020005467A1 (de) Verfahren zum Verfügbarmachen von anonymisierten, ADAS relevanten Fahrzeugdaten
DE112020006317T5 (de) Computersystem und verfahren zum trainieren eines verkehrsagenten in einer simulationsumgebung
DE102019130484A1 (de) Verfahren und Vorrichtung zum Anlernen eines Ensembles von neuronalen Netzen
DE102019128223A1 (de) Verfahren, Vorrichtungen und Computerprogramme
DE102021210566A1 (de) Quantitative Bewertung der Unsicherheit von Aussagen eines Klassifikators anhand von Messdaten und mehreren Verarbeitungsprodukten derselben
DE102020203838A1 (de) Quantitative Bewertung der Unsicherheit von Aussagen eines Klassifikators
DE102022208614A1 (de) Rekonstruktion von Trainings-Beispielen im föderierten Training neuronaler Netzwerke
DE102020002556A1 (de) Steuersystem zur Steuerung einer Fahrzeugkomponente mithilfe einer in Abhängigkeit eines Konfidenzwertes eines Sensorwertes bestimmten Steuerstrategie
DE102021132542A1 (de) Verfahren zum bereitstellen eines bit-flip-fehlerrobusten; perturbationsrobusten und komprimierten neuronalen netzes; computerprogramm; fahrerassistenzsystem
DE102013220425A1 (de) Verfahren und Vorrichtung zum Betreiben eines integrierten Steuerbausteinszur Berechnung von datenbasierten Funktionsmodellen
DE102022201853A1 (de) Erkennung kritischer Verkehrssituationen mit Petri-Netzen
DE102022202693A1 (de) Prüfung technischer Systeme auf vollständige Beschreibbarkeit über Sensordaten und eine zugehörige Differentialgleichung
WO2021105103A1 (de) Verfahren und software-werkzeug zum vornehmen ausführbarer spezifikationen bei der systementwicklung oder -validierung komplexer funktionaler systeme