-
HINTERGRUND DER ERFINDUNG
-
Die Spezifikation betrifft eine Feinabstimmung eines Fahrzeugsteuerungssystems für ein verbundenes Fahrzeug auf der Grundlage eines Benutzerprofils für einen Fahrer und des charakteristischen Verhaltens des Fahrzeugs. Das Fahrzeug kann eine Vielzahl von Fahrern umfassen, und das Fahrzeugsteuerungssystem kann für verschiedene Fahrer verschieden abgestimmt sein.
-
Ein Automobilsystem kann ein Fahrzeug umfassen. Fahrzeuge umfassen zunehmend Fahrzeugsteuerungssysteme. Beispielsweise kann ein Fahrzeug ein autonomes Fahrzeug oder ein fortschrittliches Fahrerassistenzsystem (vorliegend in der Einzahl „ADAS-System“ oder in der Mehrzahl „ADAS-Systeme“ genannt) umfassen.
-
ADAS-Systeme, die Fußgänger schützen, die an Straßenkreuzungen anwesend sind, werden immer beliebter. Dieser Trend wird sich fortsetzen, sobald automatisierte Fahrzeuge Realität werden.
-
ERFI N DUNGSZUSAM M EN FASSUNG
-
ADAS-Systeme, die an Straßenkreuzungen anwesende Fußgänger schützen, werden zunehmend beliebter. Fahrzeughersteller wollen in der Lage sein, solche ADAS-Systeme unter Verwendung von Simulationswerkzeugen wie etwa CarSim™ oder Prescan™ zu testen, anstatt sich auf reale Fahrzeugerprobungen zu verlassen (d.h., ein virtualisiertes Testen anstelle eines realen Testens). CarSim wird hergestellt und vertrieben von der Mechanical Simulation Corporation in Ann Arbor, Michigan. Prescan wird hergestellt und vertrieben von Tass International in Helmond, Niederlande.
-
Ein wichtiges Hindernis bei der Verwendung von Simulationswerkzeugen zum Testen der Leistungsfähigkeit von ADAS-Systemen zum Schutz von Fußgängern an Kreuzungen ist der Zeitumfang, den Entwurfsingenieure benötigen, um das Simulationswerkzeug zur Erschaffung von Dutzenden oder Hunderten einzigartiger und realistischer virtueller Fußgänger zur Einbindung in das virtuelle Testen manuell zu programmieren. Gegenwärtig wird dies ad hoc durchgeführt, und ist sehr zeitaufwändig. Diese Herangehensweise ist ebenso deshalb problematisch, weil es keine Garantie dafür gibt, dass die in einer Ad-hoc-Weise durch die Entwurfsingenieure erschaffenen virtuellen Fußgänger realistisch sein werden, oder in Übereinstimmung mit Teststandards sind. Falls die virtuellen Fußgänger nicht realistisch sind, oder nicht mit Teststandards übereinstimmen, ist das virtuelle Testen nachfolgend hinfällig und von wenig Nutzen.
-
Vorliegend sind Ausführungsbeispiele eines Fußgängererzeugungsmoduls beschrieben, das die vorgenannten Probleme durch eine automatische Erzeugung virtueller Fußgänger für eine Einbindung in das virtuelle Testen der Leistungsfähigkeit von ADAS-Systemen zum Schutz von Fußgängern an Kreuzungen unter Verwendung einer oder mehrerer digitaler Simulationen löst. Falls das Fußgängererzeugungsmodul durch Benutzer (z.B. Entwurfsingenieure) mit geeigneten Variablen initialisiert wird, die aus anwendbaren Industrie- oder Herstellerteststandards ausgewählt sind, ist es bei einigen Ausführungsbeispielen garantiert, dass die durch das Fußgängererzeugungsmodul erschaffenen virtuellen Fußgänger realistisch sind, und Industrie- und Herstellerteststandards entsprechen.
-
Bei einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul ein eigenständiges Simulationswerkzeug. Bei einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul ein Zusatzmodul für ein existierendes Simulationswerkzeug, wie etwa CarSim oder Prescan.
-
Es gibt gegenwärtig keine Lösung, die automatisch virtuelle Fußgänger für eine Einbindung in virtualisierte Tests erzeugt, die die Leistungsfähigkeit von ADAS-Systemen beim Versuch Fußgänger an Kreuzungen zu beschützen messen. Ein Vorteil des Fußgängererzeugungsmoduls und eine Verbesserung hinsichtlich existierender Lösungen ist die Fähigkeit des Fußgängererzeugungsmoduls, realistische Beschreibungen von Fußgängerlaufwegen und einem Fußgängerverhalten auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation zu erzeugen. Die Pfadspezifikation und die Verhaltensspezifikation werden durch das Fußgängererzeugungsmodul zu einer Entwurfszeit (siehe z.B. 1B) unter Verwendung von digitalen Daten erzeugt, die Unfallberichte, Industrieteststandards und Herstellerteststandards beschreiben. Diese Beschreibungen von Fußgängerlaufwegen und Fußgängerverhalten erlauben unserer Erfindung automatisch viele verschiedene einzigartige und realistische virtuelle Fußgänger zu erzeugen, von denen jeder sein eigenes einzigartiges Verhalten aufweist, wodurch die Zeit und die Kosten verringert werden, die Entwurfsingenieure oder andere Benutzer für eine manuelle Erzeugung von virtuellen Fußgängern in einer Ad-hoc-Weise benötigen, oder die Zeit und die Kosten, die für eine reale Erprobung (z.B. eine Fahrzeugerprobung) benötigt sind.
-
Ein zusätzlicher Vorteil des Fußgängererzeugungsmoduls ist, dass das Fußgängererzeugungsmodul garantiert, dass die von ihm erzeugten virtuellen Fußgänger sich realistisch verhalten (gemessen an realen Unfallberichten), und sich sowohl zu Herstellerteststandards und internationalen Teststandards konform verhalten. Dies beruht darauf, dass die Pfadspezifikation und die Verhaltensspezifikation durch das Fußgängererzeugungsmodul unter Verwendung von digitalen Daten erzeugt sind, die Unfallberichte, Industrieteststandards und Herstellerteststandards beschreiben. Keine andere existierende Lösung, ob auf einer automatischen oder auf einer manuellen Erzeugung von virtuellen Fußgängern basierend, kann eine ähnliche Garantie von sowohl einer Realitätsnähe als auch einer Konformität mit sowohl Industrie- als auch Herstellerteststandards garantieren.
-
Die vorliegend beschriebenen Ausführungsbeispiele umfassen ein System, ein Verfahren und ein Computerprogrammprodukt zum automatischen Generieren eines virtuellen Fußgängers für ein Einbinden in eine digitale Simulation, die dazu eingerichtet ist, eine Leistungsfähigkeit eines virtuellen ADAS-Systems zu testen, das dazu entworfen ist, virtuelle Fußgänger zu schützen, während sie eine Straßenkreuzung überqueren. Die digitale Simulation wird zur Bestimmung verwendet, ob der Entwurf des ADAS-Systems aufgrund seiner Leistungsfähigkeit verändert werden wird, die daran gemessen wird, wie gut das virtuelle ADAS-System den virtuellen Fußgänger während einer Überquerung einer in der digitalen Simulation umfassten Kreuzung schützt.
-
Ein System eines oder mehrerer Computer kann dazu eingerichtet sein, bestimmte Vorgänge oder Schritte aufgrund einer Software, einer Firmware, einer Hardware oder einer Kombination dieser durchzuführen, die bei Ausführung bewirkt oder bewirken, dass das System die Schritte durchführt. Eines oder mehrere Computerprogramme können dazu eingerichtet sein, bestimmte Vorgänge oder Schritte durchzuführen, indem sie Anweisungen umfassen, die bei Ausführung durch ein Datenverarbeitungsgerät das Gerät dazu veranlassen, die Schritte durchzuführen.
-
Eine allgemeine Ausgestaltung umfasst ein Verfahren mit: einem automatischen Erzeugen eines virtuellen Fußgängers auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation; Ausführen einer digitalen Simulation, die den virtuellen Fußgänger, der eine Kreuzung überquert, und ein virtuelles Fahrzeug umfasst, das auf den die Kreuzung überquerenden virtuellen Fußgänger reagiert, wobei die digitale Simulation zur Messung einer Leistungsfähigkeit eines virtuellen ADAS-Systems, das in dem virtuellen Fahrzeug zum Schutz des virtuellen Fußgängers umfasst ist, beim Reagieren auf den die Kreuzung überquerenden virtuellen Fußgänger betreibbar ist; und Anzeigen einer Gruppe von Visualisierungen auf einer Anzeige, wobei die Gruppe der Visualisierungen auf der Anzeige die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz des virtuellen Fußgängers beim Reagieren auf das Überqueren der Kreuzung durch den virtuellen Fußgänger visuell beschreiben. Andere Ausführungsbeispiele dieser Ausgestaltung umfassen entsprechende Computersysteme, Geräte und Computerprogramme, die auf einem oder mehreren Computerspeichervorrichtungen gespeichert sind, wobei jede zur Durchführung der Schritte des Verfahrens eingerichtet sind.
-
Realisierungen können eines oder mehrere der nachstehenden Merkmale umfassen. Das Verfahren, wobei die Pfadspezifikation eine Pfadrandbedingung des virtuellen Fußgängers innerhalb der digitalen Simulation beschreibt. Das Verfahren, wobei die Pfadspezifikation eines oder mehrere der folgenden beschreibt: wie oft der virtuelle Fußgänger während einer Überquerung der Kreuzung seine Richtung ändert; ein Abstand, der von dem virtuellen Fußgänger zwischen zwei aufeinanderfolgenden Richtungsänderungen durchlaufen wird, während er die Kreuzung überquert; ein Startgebiet für den virtuellen Fußgänger zum Beginnen seines Überquerens der Kreuzung, und ein Endgebiet für den virtuellen Fußgänger zum Beenden seines Überquerens der Kreuzung; und ein Übergangsareal an der Kreuzung, wo der virtuelle Fußgänger die Kreuzung überquert, wobei das Fußgängerübergangsareal einen Übergang und ein zu dem Übergang benachbartes Areal umfasst, in dem der virtuelle Fußgänger die Kreuzung überquert, um ein rechtswidriges Verhalten zu modellieren. Das Verfahren, wobei die Pfadspezifikation keine Serie von geografischen Koordinaten umfasst, die der Fußgänger beim Überqueren der Kreuzung durchläuft. Das Verfahren, wobei die Verhaltensspezifikation beschreibt, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation reagiert. Das Verfahren, wobei die Verhaltensspezifikation einen oder mehrere zeitgesteuerte Automaten umfasst, die beschreiben, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation mit einer zeitlichen Änderung innerhalb der digitalen Simulation reagiert. Das Verfahren, wobei die Verhaltensspezifikation einen oder mehrere der folgenden beschreibt: wie lange der virtuelle Fußgänger auf ein Überqueren der Kreuzung warten wird, sobald eine Ampel von Rot nach Grün umschaltet; und wie der virtuelle Fußgänger seine Gehgeschwindigkeit ändert, sobald die Ampel im Begriff ist, von Grün nach Rot umzuschalten. Das Verfahren, wobei die Pfadspezifikation und die Verhaltensspezifikation zu einer Entwurfszeit unter Verwendung von digitalen Daten bestimmt sind, die einen oder mehrere reale Unfallberichte beschreiben, die einen Laufweg und ein Verhalten eines oder mehrerer realer Fußgänger beschreiben, die durch Fahrzeuge an einer oder mehreren realen Straßenkreuzungen verletzt wurden. Das Verfahren, wobei eine automatische Erzeugung des virtuellen Fußgängers eine Vielzahl von virtuellen Fußgängern umfasst, die, ohne dass ein Benutzer für jeden der Vielzahl von virtuellen Fußgängern spezifische Eingaben bereitstellt, automatisch derart erzeugt werden, dass eine Arbeitslast des Benutzers hinsichtlich der Verpflichtung zur Bereitstellung von spezifischen Eingaben für jeden der Vielzahl von virtuellen Fußgängern verringert wird. Umsetzungen der vorstehend beschriebenen Techniken können eine Hardware, ein Verfahren oder einen Vorgang, oder eine Computersoftware auf einem Computerlesbaren Medium umfassen.
-
Eine allgemeine Ausgestaltung umfasst ein Computerprogrammprodukt mit einem nichtflüchtigen Speicher, der computerausführbare Codeelemente speichert, die bei Ausführung durch eine Verarbeitungseinrichtung die Verarbeitungseinrichtung zu den Schritten veranlassen: automatisches Erzeugen eines virtuellen Fußgängers auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation; Ausführen einer digitalen Simulation, die den virtuellen Fußgänger, der eine Kreuzung überquert, und ein virtuelles Fahrzeug umfasst, das auf den die Kreuzung überquerenden virtuellen Fußgänger reagiert, wobei die digitale Simulation zur Messung einer Leistungsfähigkeit eines virtuellen fortschrittlichen Fahrerassistenzsystems (virtuelles ADAS-System) betreibbar ist, das in dem virtuellen Fahrzeug zum Schutz des virtuellen Fußgängers bei einer Antwort auf das Überqueren der Kreuzung durch den virtuellen Fußgänger umfasst ist; und Anzeigen einer Gruppe von Visualisierungen auf einer Anzeige, wobei die Gruppe von Visualisierungen auf der Anzeige die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz des virtuellen Fußgängers bei einer Antwort auf ein Überqueren der Kreuzung durch den virtuellen Fußgänger visuell beschreiben. Andere Ausführungsbeispiele dieser Ausgestaltung umfassen entsprechenden Computersysteme, Geräte und Computerprogramme, die auf einem oder mehreren Speichervorrichtungen aufgezeichnet sind, die jeweils dazu eingerichtet sind, die Schritte des Verfahrens durchzuführen.
-
Realisierungen können eines oder mehrere der nachstehenden Merkmale umfassen. Das
Das Computerprogrammprodukt, wobei die Pfadspezifikation eine Pfadrandbedingung des virtuellen Fußgängers innerhalb der digitalen Simulation beschreibt. Das Computerprogrammprodukt, wobei die Pfadspezifikation eines oder mehrere der folgenden beschreibt: wie oft der virtuelle Fußgänger während einer Überquerung der Kreuzung seine Richtung ändert; ein Abstand, der von dem virtuellen Fußgänger zwischen zwei aufeinanderfolgenden Richtungsänderungen durchlaufen wird, während er die Kreuzung überquert; ein Startgebiet für den virtuellen Fußgänger zum Beginnen seines Überquerens der Kreuzung, und ein Endgebiet für den virtuellen Fußgänger zum Beenden seines Überquerens der Kreuzung; und ein Übergangsareal an der Kreuzung, wo der virtuelle Fußgänger die Kreuzung überquert, wobei das Fußgängerübergangsareal einen Übergang und ein zu dem Übergang benachbartes Areal umfasst, in dem der virtuelle Fußgänger die Kreuzung überquert, um ein rechtswidriges Verhalten zu modellieren. Das Computerprogrammprodukt, wobei die Pfadspezifikation keine Serie von geografischen Koordinaten umfasst, die der Fußgänger beim Überqueren der Kreuzung durchläuft. Das Computerprogrammprodukt, wobei die Verhaltensspezifikation beschreibt, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation reagiert. Das Computerprogrammprodukt, wobei die Verhaltensspezifikation einen oder mehrere zeitgesteuerte Automaten umfasst, die beschreiben, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation mit einer zeitlichen Änderung innerhalb der digitalen Simulation reagiert. Das Computerprogrammprodukt, wobei die Verhaltensspezifikation einen oder mehrere der folgenden beschreibt: wie lange der virtuelle Fußgänger auf ein Überqueren der Kreuzung warten wird, sobald eine Ampel von Rot nach Grün umschaltet; und wie der virtuelle Fußgänger seine Gehgeschwindigkeit ändert, sobald die Ampel im Begriff ist, von Grün nach Rot umzuschalten. Das Computerprogrammprodukt, wobei die Pfadspezifikation und die Verhaltensspezifikation zu einer Entwurfszeit unter Verwendung von digitalen Daten bestimmt sind, die einen oder mehrere reale Unfallberichte beschreiben, die einen Laufweg und ein Verhalten eines oder mehrerer realer Fußgänger beschreiben, die durch Fahrzeuge an einer oder mehreren realen Straßenkreuzungen verletzt wurden. Das Computerprogrammprodukt, wobei eine automatische Erzeugung des virtuellen Fußgängers eine Vielzahl von virtuellen Fußgängern umfasst, die, ohne dass ein Benutzer für jeden der Vielzahl von virtuellen Fußgängern spezifische Eingaben bereitstellt, automatisch derart erzeugt werden, dass eine Arbeitslast des Benutzers hinsichtlich der Verpflichtung zur Bereitstellung von spezifischen Eingaben für jeden der Vielzahl von virtuellen Fußgängern verringert wird. Umsetzungen der vorstehend beschriebenen Techniken können eine Hardware, ein Verfahren oder einen Vorgang, oder eine Computersoftware auf einem Computer-lesbaren Medium umfassen.
-
Eine allgemeine Ausgestaltung umfasst ein System mit: einer Verarbeitungseinrichtung, die kommunikativ zu einer Anzeige und einem nichtflüchtigen Speicher gekoppelt ist, wobei die Verarbeitungseinrichtung zur Ausführung von in dem nichtflüchtigen Speicher gespeicherten Computercodeelementen betreibbar ist, und die Computercodeelemente bei Ausführung durch die Verarbeitungseinrichtung dazu betreibbar sind, die Verarbeitungseinrichtung zu den Schritten zu veranlassen: automatisches Erzeugen eines virtuellen Fußgängers auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation; Ausführen einer digitalen Simulation, die den virtuellen Fußgänger, der eine Kreuzung überquert, und ein virtuelles Fahrzeug umfasst, das auf den die Kreuzung überquerenden virtuellen Fußgänger reagiert, wobei die digitale Simulation zur Messung einer Leistungsfähigkeit eines virtuellen ADAS-Systems, das in dem virtuellen Fahrzeug zum Schutz des virtuellen Fußgängers umfasst ist, beim Reagieren auf den die Kreuzung überquerenden virtuellen Fußgänger betreibbar ist; und Anzeigen einer Gruppe von Visualisierungen auf einer Anzeige, wobei die Gruppe der Visualisierungen auf der Anzeige die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz des virtuellen Fußgängers beim Reagieren auf das Überqueren der Kreuzung durch den virtuellen Fußgänger visuell beschreiben. Andere Ausführungsbeispiele dieser Ausgestaltung umfassen entsprechende Computersysteme, Geräte und Computerprogramme, die auf einem oder mehreren Computerspeichervorrichtungen gespeichert sind, wobei jede zur Durchführung der Schritte des Verfahrens eingerichtet sind.
-
Figurenliste
-
Die Offenbarung ist als Beispiel und nicht als Begrenzung in den Figuren der beiliegenden Zeichnung dargestellt, bei der gleiche Bezugszeichen verwendet sind, um gleiche Bauelemente zu bezeichnen.
- 1A zeigt ein Blockdiagramm, das eine Bedienumgebung für ein Fußgängererzeugungsmodul gemäß einigen Ausführungsbeispielen veranschaulicht.
- 1B zeigt ein Blockdiagramm, das ein Verfahrensablaufdiagramm veranschaulicht, das durch das Fußgängererzeugungsmodul zur Entwurfszeit gemäß einigen Ausführungsbeispielen durchgeführt wird.
- 1C zeigt ein Blockdiagramm, das ein Verfahrensablaufdiagramm veranschaulicht, das durch das Fußgängererzeugungsmodul zu einer Laufzeit gemäß einigen Ausführungsbeispielen ausführt.
- 2 zeigt ein Blockdiagramm, das ein Beispielcomputersystem mit einem Fußgängererzeugungsmodul gemäß einigen Ausführungsbeispielen veranschaulicht.
- 3A-3C zeigen Ablaufdiagramme eines Beispielverfahrens zur automatischen Erzeugung einer Gruppe von virtuellen Fußgängern für eine digitale Simulation zum Testen einer Leistungsfähigkeit eines ADAS-Systems zum Schutz der virtuellen Fußgänger an einer Kreuzung gemäß einigen Ausführungsbeispielen.
- 4A zeigt ein Blockdiagramm, das ein Beispiel einer Pfadspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
- 4B zeigt ein Blockdiagramm, das ein Beispiel einer Kreuzung in einer digitalen Simulation und Variablen für die Pfadspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
- 4C zeigt ein Blockdiagramm, das ein Beispiel von Pfadspezifikationsdaten veranschaulicht, die definierte Variablen für die Pfadspezifikation gemäß einigen Ausführungsbeispielen umfasst.
- 5A zeigt ein Blockdiagramm, das eine Verhaltensspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
- 5B zeigt ein Blockdiagramm, das ein Beispiel einer Kreuzung in einer digitalen Simulation und die Verhaltensspezifikation für einen virtuellen Fußgänger veranschaulicht, der die Kreuzung gemäß einigen Ausführungsbeispielen überquert.
- 6 zeigt ein Blockdiagramm, das eine Eingabevisualisierung zum Eingeben von Variablen für eine Pfadspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
- 7 zeigt ein Blockdiagramm, das eine Eingabevisualisierung zum Eingeben von Variablen für eine Verhaltensspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
- 8 zeigt ein Blockdiagramm, das eine erste Visualisierung gemäß einigen Ausführungsbeispielen veranschaulicht.
- 9 zeigt ein Blockdiagramm, das eine zweite Visualisierung gemäß einigen Ausführungsbeispielen veranschaulicht.
- 10 zeigt ein Blockdiagramm, das einen Verfahrensablauf zum Erzeugen einer digitalen Simulation veranschaulicht, die mit Spezifikationsdaten und Systemanforderungsdaten gemäß einigen Ausführungsbeispielen veranschaulicht.
- Die 11A-11C zeigen Blockdarstellungen, die Beispiele und Abdeckungskriterien gemäß einigen Ausführungsbeispielen veranschaulichen.
- 12 zeigt ein Blockdiagramm, das eine Vielzahl von Laufwegen gemäß einigen Ausführungsbeispielen veranschaulicht.
-
BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
-
Fußgängersicherheit ist ein wichtiger Aspekt beim Entwerfen eines ADAS-Systems für ein Fahrzeug. Ein Areal von besonderer Bedeutung ist eine Fußgängersicherheit an Kreuzungen. Dies ist wahr, da sie mit mehr als 20% aller durch Fahrzeugunfälle verursachten Tode von Fußgängern korreliert sind, obwohl Fußgängerübergänge einen kleinen Anteil der U.S.-Straßeninfrastruktur ausmachen.
-
ADAS-Systeme, die an Straßenkreuzungen anwesende Fußgänger schützen werden zunehmend beliebter. Beispiele solcher ADAS-Systeme umfassen (1) ein Vor-Kollisionssystem und (2) ein Rechtsabbiege-Kollisions-Verhinderungssystem. Gegenwärtig werden ADAS-Systeme, die an Straßenkreuzungen anwesende Fußgänger schützen, unter Verwendung von realen Tests rigoros erprobt, die dazu entworfen worden sind, zu bestätigen, dass deren Funktionalität mit ihrem Entwurf, wie auch mit Industrie- und Herstellerstandards übereinstimmt. Jedoch ist eine reale Erprobung unvorteilhaft, da diese teuer, zeitaufwändig und daher schwierig zu skalieren ist.
-
Fahrzeughersteller möchten dazu in der Lage sein, solche ADAS-Systeme unter Verwendung von Simulationswerkzeugen, wie etwa CarSim oder Prescan zu testen, anstatt sich auf reale Straßenerprobungen zu verlassen (d.h., virtuelles Testen anstelle einer realen Erprobung). Dieser virtualisierte Ansatz ist zu bevorzugen, da er ermöglichen würde, dass mehr Tests (d.h., 100x oder sogar 1000x mehr Tests) in geringerer Zeit und zu geringeren Kosten im Vergleich zu einer realen Erprobung abgeschlossen werden. Als ein Ergebnis der reduzierten Kosten und geringerer Zeit ist ein virtuelles Testen im Vergleich zu einer realen Erprobung leicht zu skalieren.
-
Ein wichtiges Hindernis bei der Verwendung von Simulationswerkzeugen zum Testen der Leistungsfähigkeit von ADAS-Systemen zum Schutz von Fußgängern an Kreuzungen ist die von Entwurfsingenieuren benötigte Menge an Zeit zum manuellen Programmieren des Simulationswerkzeuges zur Erzeugung von duzenden oder hunderten von einzigartigen und realistischen virtuellen Fußgängern zum Einbinden in das virtuelle Testen. Gegenwärtig wird dies in einer Ad-hoc-Weise durchgeführt, und ist sehr zeitaufwändig.
-
Ein zweites wichtiges Hindernis ist, dass, aufgrund unserer Erfahrung, wir wissen, dass eine solche manuelle ad hoc-Erzeugung von virtuellen Fußgängern wenig wahrscheinlich realistische virtuelle Fußgänger erzeugt, oder mit Teststandards konform ist, die durch Hersteller (z.B. Toyota) und internationale Standards (z.B. IEEE) definiert sind. Falls die virtuellen Fußgänger nicht realistisch sind, oder nicht mit Teststandards konform sind, ist nachfolgend das virtuelle Testen hinfällig und von wenig Nutzen.
-
Vorliegend sind Ausführungsbeispiele eines Fußgängererzeugungssystems beschrieben, die diese Probleme durch eine automatische Erzeugung von virtuellen Fußgängern zur Einbindung in das virtuelle Testen der Leistungsfähigkeit von ADAS-Systemen zum Schutz von Fußgängern an Kreuzungen unter Verwendung einer oder mehrerer digitaler Simulationen löst. Bei Initialisierung des Fußgängererzeugungsmoduls durch Benutzer (z.B. Entwurfsingenieure) mit geeigneten Variablen, die aus anwendbaren Industrie- oder Herstellerteststandards ausgewählt sind, ist es gemäß einigen Ausführungsbeispielen garantiert, dass die durch das Fußgängererzeugungsmodul erzeugten virtuellen Fußgänger realistisch sind, und konform mit Industrie- und Herstellerteststandards sind.
-
Gemäß einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul ein eigenständiges Simulationswerkzeug. Gemäß einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul ein Zusatzmodul (Plug-In) für ein existierendes Simulationswerkzeug wie etwa CarSim oder Prescan.
-
Es gibt keine existierende Lösung, die virtuelle Fußgänger zur Einbindung in virtualisierte Tests automatisch erzeugt, die die Leistungsfähigkeit von ADAS-Systemen bei dem Versuch, Fußgänger an Kreuzungen zu schützen, messen. Ein Vorteil des Fußgängererzeugungsmoduls und eine Verbesserung hinsichtlich existierender Lösungen ist die Fähigkeit des Fußgängererzeugungsmoduls, Beschreibungen von Fußgängerlaufwegen und Fußgängerverhalten auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation realistisch zu erzeugen. Die Pfadspezifikation (siehe z.B. 4A-4C, 10 und 11A-11C) und die Verhaltensspezifikation (siehe z.B. 5A, 5B und 10) sind durch das Fußgängererzeugungsmodul zu einer Entwurfszeit (siehe z.B. 1B) unter Verwendung von digitalen Daten erzeugt, die Unfallberichte, Industrieteststandards und Herstellerteststandards beschreiben. Diese Beschreibungen von Fußgängerlaufwegen und einem Fußgängerverhalten erlauben unserer Erfindung automatisch viele verschiedene einzigartige und realistische virtuelle Fußgänger zu erzeugen, von denen jeder sein eigenes einzigartiges Verhalten aufweist, wodurch die Zeit und Kosten, die für Entwurfsingenieure oder andere Benutzer zum manuellen Erzeugen von virtuellen Fußgängern in einer Ad-hoc-Weise benötigt sind, oder die Zeit und Kosten verringert sind, die für reale Tests (z.B. eine Straßenerprobung) benötigt sind.
-
Ein zusätzlicher Vorteil des Fußgängererzeugungsmoduls ist, dass das Fußgängererzeugungsmodul garantiert, dass sich die erzeugten virtuellen Fußgänger realistisch verhalten (gemessen an realen Unfallberichten), und sowohl zu Herstellerteststandards, als auch zu internationalen Teststandards konform sind. Dies beruht darauf, dass die Pfadspezifikation und die Verhaltensspezifikation, die durch das Fußgängererzeugungsmodul unter Verwendung von digitalen Daten erzeugt sind, die Unfallberichte, Industrieteststandards und Herstellerteststandards beschreiben. Keine andere existierende Lösung, sei es auf der Grundlage eines automatischen oder eines manuellen Erzeugens von virtuellen Fußgängern, kann eine ähnliche Garantie von sowohl einer Realitätsnähe als auch einer Konformität sowohl mit Industrie- als auch mit Herstellerteststandards bereitstellen.
-
Exemplarische Ausführungsbeispiele von digitalen Simulationen für virtuelles Testen eines Fahrzeugentwurfes sind in der
U.S. Patentanmeldung Nr. 15/053,945 beschrieben, die am 25. Februar 2016 eingereicht wurde und „Graphical User Interface System for Displaying a Parametric Modification of a Vehicle Model“ benannt ist, deren gesamte Inhalte hierdurch durch Inbezugnahme in die vorliegende Anmeldung einbezogen sind.
-
Bei einigen Ausführungsbeispielen kann das Fußgängererzeugungsmodul eines oder mehrere Modelica-basierte Modellierungswerkzeuge umfassen oder ein Element davon sein. Bei einigen Ausführungsbeispielen können die Modellierungswerkzeuge ein parametrisches Untersuchungswerkzeug (sog. „parametric exploration tool“, „PET“) und ein Entwurfsraumuntersuchungswerkzeug (sog. „design space exploration tool“, „DSE“-Tool) umfassen. Zum Beispiel können Modellierungswerkzeuge eines oder mehrere der nachstehenden Modellierungswerkzeuge umfassen: Dymola, entwickelt von Dassault Systemes AB in Sweden; OpenMETA, entwickelt von der Vanderbilt Universität; Simulink, entwickelt von MathWorks in Natick, Massachusetts; und ADAMS, entwickelt von MSC Software Corp. in Newport Beach, Kalifornien. Das Fußgängererzeugungsmodul kann eines oder mehrere dieser Modellierungswerkzeuge zum Erzeugen eines digitalen Modells verwenden, das ein bestimmtes Fahrzeugmodell repräsentiert, das ein ADAS-System umfasst.
-
Bei einigen Ausführungsbeispielen kann das Fußgängerzeugungsmodul ebenso eine Spielmaschine (sog. „game engine“), wie etwa die Unity™-Spielmaschine, die durch Unity Technologies in San Francisco, Kalifornien, entwickelt ist, oder irgendeine andere Spielmaschine umfassen. Das Fußgängerzeugungsmodul kann die Spielmaschine dazu verwenden, eine oder mehrere Simulationen zum Messen der Leistungsfähigkeit des ADAS-Systems durchzuführen, das durch das digitale Modell repräsentiert ist, das durch das eine oder mehrere Modellierungswerkzeuge erzeugt ist.
-
Bei einigen Ausführungsbeispielen kann das Fußgängerzeugungsmodul eines oder mehrere Modellierungswerkzeuge und die Spielmaschine verwenden, um eine erste Visualisierung und eine zweite Visualisierung zu bestimmen, von denen Beispiele jeweils in den 8 und 9 dargestellt sind.
-
Unter Bezugnahme auf 1A ist ein Blockdiagramm abgebildet, das eine Betriebsumgebung 100 für ein Fußgängerzeugungsmodul gemäß einigen Ausführungsbeispielen zeigt. Die Betriebsumgebung 100 umfasst: ein Simulationssystem 101; und ein Datensystem 103. Diese Elemente können kommunikativ an ein Netzwerk 105 gekoppelt sein.
-
Das Netzwerk 105 kann von einer herkömmlichen Art, drahtgebunden oder drahtlos sein, und kann zahlreiche verschiedene Konfigurationen einschließlich einer Sternkonfiguration, einer Token-Ring-Konfiguration oder einer anderen Konfiguration aufweisen. Darüber hinaus kann das Netzwerk 105 ein lokales Netzwerk (LAN), ein Weitbereichsnetzwerk (WAN) (z.B. das Internet) oder andere miteinander verbundene Datenpfade umfassen, über die mehrere Vorrichtungen und/oder Entitäten kommunizieren können. Bei einigen Ausführungsbeispielen kann das Netzwerk 105 ein Peer-to-Peer-Netzwerk umfassen. Das Netzwerk 105 kann ebenso an Abschnitte eines Telekommunikationsnetzwerks zum Senden von Daten mit einer Vielzahl von verschiedenen Kommunikationsprotokollen gekoppelt sein, oder kann diese umfassen. Bei einigen Ausführungsbeispielen umfasst das Netzwerk 105 Bluetooth-Kommunikationsnetzwerke oder ein Mobilfunk-Kommunikationsnetzwerk zum Senden und Empfangen von Daten, einschließlich einer Übermittlung mittels eines Kurznachrichtendienstes (SMS), eines Multimedia-Nachrichtendienstes (MMS), eines Hypertext-Übertragungsprotokolls (HTTP), einer direkten Datenverbindung, eines drahtlosen Anwendungsprotokolls (WAP), E-Mail, usw. Das Netzwerk 105 kann auch ein Mobildatennetzwerk umfassen, das ein Mobildatennetzwerk einer dritten Generation (3G), einer vierten Generation (4G), einer langfristigen Entwicklung (LTE), Voice-over-LTE („VoLTE“), einer fünften Generation (5G) oder jeder anderen Art, oder eine Kombination von mobilen Datennetzwerken oder deren Abwandlungen umfassen kann. Darüber hinaus kann das Netzwerk 105 eines oder mehrere IEEE 802.11-Drahtlosnetzwerke umfassen.
-
Das Simulationssystem 101 ist eine prozessorbasierte Berechnungsvorrichtung. Das Simulationssystem 101 umfasst eines oder mehrere der nachstehenden Elemente: eine Kommunikationseinheit 145A; einen Prozessor 125A (Verarbeitungseinrichtung); einen Arbeitsspeicher 127A; eine Eingabevorrichtung 146; eine Anzeige 192; einen Simulationswerkzeugsatz 114 und ein Fußgängererzeugungsmodul 199. Diese Elemente können kommunikativ zueinander über einen Bus 120A gekoppelt sein.
-
Das Datensystem 103 ist eine prozessorbasierte Berechnungsvorrichtung. Das Datensystem 103 umfasst eines oder mehrere der nachstehenden Elemente: eine Kommunikationseinheit 145B; einen Prozessor 125B; und einen Arbeitsspeicher 127B. Diese Elemente können kommunikativ zueinander über einen Bus 120B gekoppelt sein.
-
Die Kommunikationseinheit 145A des Simulationssystems 101 und die Kommunikationseinheit 145B des Datensystems 103 umfassen eine ähnliche Funktionalität, und sind hierin nachstehend kollektiv oder einzeln als die „Kommunikationseinheit 145“ bezeichnet. Der Prozessor 125A des Simulationssystems 101 und der Prozessor 125B des Datensystems 103 umfassen eine ähnliche Funktionalität, und sind hierin nachstehend kollektiv oder einzeln als der „Prozessor 125“ bezeichnet. Der Arbeitsspeicher 127A des Simulationssystems 101 und der Arbeitsspeicher 127B des Datensystems 103 umfassen eine ähnliche Funktionalität und sind hierin nachstehend gemeinsam oder einzeln als der „Arbeitsspeicher 127“ bezeichnet.
-
Die Kommunikationseinheit 145 kann eine Hardware umfassen, die Daten an das Netzwerk 105 übermittelt oder von ihm empfängt. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 145 einen Anschluss für eine direkte physikalische Verbindung zu dem Netzwerk 105 oder zu einem anderen Kommunikationskanal. Beispielsweise umfasst die Kommunikationseinheit 145 einen USB-, SD-, CAT-5-, oder einen ähnlichen Anschluss für eine drahtgebundene Kommunikation mit dem Netzwerk 105. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 145 einen drahtlosen Transceiver (Sendeempfänger) zum Austauschen von Daten mit dem Netzwerk 105 oder anderen Kommunikationskanälen unter Verwendung eines oder mehrerer drahtloser Kommunikationsverfahren, einschließlich IEEE 802.11, IEEE 802.16, Bluetooth, oder eines anderen geeigneten drahtlosen Kommunikationsverfahrenes.
-
Bei einigen Ausführungsbeispielen kann die Kommunikationseinheit
145 ein Vollduplexkoordinationssystem umfassen, wie es in der am 28.08.2014 eingereichten
U.S. Patentanmeldung 14/471,387 beschrieben ist, und die „Full Duplex Coordination System“ benannt ist.
-
Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 145 einen Mobilfunkkommunikationstransceiver zum Senden und Empfangen von Daten über ein Mobilfunkkommunikationsnetzwerk, einschließlich eines Kurznachrichtendienstes (SMS), eines Multimedia-Nachrichtendienstes (MMS), eines Hypertext-Übertragungsprotokolls (HTTP), einer direkten Datenverbindung, WAP, E-Mail oder einer anderen geeigneten Art einer elektronischen Kommunikation. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 145 einen drahtgebundenen Anschluss oder einen drahtlosen Transceiver. Die Kommunikationseinheit 145 stellt ebenso andere herkömmliche Verbindungen zu dem Netzwerk 105 zur Verteilung von Dateien oder Medienobjekten unter Verwendung von Standardnetzwerkprotokollen, einschließlich TCP/IP, HTTP, HTTPS und SMTP, usw. bereit.
-
Der Prozessor 125 beinhaltet eine arithmetische Logikeinheit, einen Mikroprozessor, eine Universalsteuerung oder eine andere Prozessoranordnung, um Berechnungen durchzuführen und elektronische Anzeigesignale an eine Anzeigevorrichtung bereitzustellen. Der Prozessor 125 verarbeitet Datensignale und kann verschiedene Rechnerarchitekturen beinhalten, einschließlich einer CISC-Architektur (sog. „complex instruction set computer architecture“), einer RISC-Architektur (sog. „reduced instruction set computer architecture“) oder eine Architektur, die eine Kombination von Befehlsätzen implementiert. Obwohl die 1A einen einzelnen Prozessor 125 umfasst, können mehrere Prozessoren umfasst sein. Der Prozessor 125 kann eine grafische Verarbeitungseinheit umfassen. Andere Prozessoren, Betriebssysteme, Sensoren, Anzeigen und physikalische Konfigurationen können möglich sein.
-
Der Arbeitsspeicher 127 speichert Anweisungen oder Daten, die durch den Prozessor 125 ausgeführt werden können. Die Anweisungen oder Daten können Codeelemente zum Durchführen der hierin beschriebenen Techniken umfassen. Der Arbeitsspeicher 127 kann eine dynamische Speichervorrichtung mit wahlfreiem Zugriff (DRAM), eine statische Speichervorrichtung mit wahlfreiem Zugriff (SRAM), ein Flash-Speicher oder irgendeine andere Speichervorrichtung sein. Bei einigen Ausführungsbeispielen umfasst der Arbeitsspeicher 127 ebenso einen nichtflüchtigen Speicher oder eine ähnliche permanente Speichervorrichtung und Medien, einschließlich eines Festplattenlaufwerks, eines Diskettenlaufwerts, einer CD-ROM-Vorrichtung, einer DVD-ROM-Vorrichtung, einer DVD-RAM-Vorrichtung, einer DVD-RW-Vorrichtung, einer Flash-Speichervorrichtung oder irgendeiner anderen Massenspeichervorrichtung zum Speichern von Informationen auf einer dauerhafteren Grundlage.
-
Wie in 1 dargestellt, speichert der Arbeitsspeicher 127 des Simulationssystems 101 eine oder mehrere der nachstehenden Arten von Digitaldaten: Pfadspezifikationsdaten 194; Verhaltensspezifikationsdaten 195; ADAS-Modelldaten 196 und Variablendaten 197.
-
Die Pfadspezifikationsdaten 194 sind digitale Daten, die eine Pfadrandbedingung eines virtuellen Fußgängers innerhalb einer digitalen Simulation beschreiben. Die digitale Simulation wird durch den Simulationswerkzeugsatz 114 erzeugt. Die digitale Simulation umfasst ein virtuelles Fahrzeug und eine virtualisierte Straßenumgebung. Die virtualisierte Straßenumgebung umfasst eine Kreuzung. Die Kreuzung kann einen Übergang umfassen, der beispielsweise durch den virtuellen Fußgänger verwendbar ist, um die Kreuzung von einer Seite einer virtualisierten Straße zu der anderen Seite der virtualisierten Straße zu überqueren. Das virtuelle Fahrzeug umfasst ein virtuelles ADAS-System. Das virtuelle ADAS-System ist dazu entworfen, den virtuellen Fußgänger zu schützen. Beispielsweise ist das virtuelle ADAS-System dazu entworfen: (1) eine Anwesenheit des virtuellen Fußgängers während eines Kreuzens des Übergangs zu erfassen; und (2) auf eine Erfassung der Anwesenheit des virtuellen Fußgängers, der den Übergang überquert reagierend, den Betrieb des virtuellen Fahrzeugs derart zu steuern, dass das virtuelle Fahrzeug den virtuellen Fußgänger beim Überqueren der Kreuzung durch den virtuellen Fußgänger oder das Areal nahe zu dem virtuellen Fußgänger nicht trifft oder beeinträchtigt. Die digitale Simulation ist zum Messen einer Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz des virtuellen Fußgängers beim Reagieren auf die Anwesenheit des die Kreuzung überquerenden virtuellen Fußgängers betreibbar. Die Pfadspezifikationsdaten 194 beschreiben den Laufweg, den der virtuelle Fußgänger nimmt, während er die Kreuzung überquert.
-
Bei einigen Ausführungsbeispielen ist der Laufweg, den der virtuelle Fußgänger beim Überqueren der Kreuzung nimmt, nicht gerade. Beispielsweise ändert der virtuelle Fußgänger seine Laufrichtung ein- oder mehrmals während des Überquerens der Kreuzung. Dies kann beispielsweise umfassen, dass der virtuelle Fußgänger über eine erste Distanz entlang eines ersten Vektors läuft, und nachfolgend über eine zweite Distanz entlang eines verschiedenen Vektors läuft, und nachfolgend über eine dritte Distanz entlang eines dritten Vektors läuft usw., bis der virtuelle Fußgänger die andere Seite der Kreuzung erreicht. Bei diesem Beispiel beginnt der Fußgänger in einem Startgebiet in einem ersten Seitenstreifen auf einer ersten Seite der Kreuzung, und endet in einem Endgebiet in einem zweiten Seitenstreifen auf der zweiten Seite der Kreuzung. Siehe beispielsweise 4B für ein Beispiel eines Startgebietes und eines Endgebietes. Die Linien mit Punkten repräsentieren den Laufweg für verschiedene virtuelle Fußgänger. Insbesondere ändern sich die Richtungen der Laufwege während des Überquerens der Kreuzung. Bei einigen Ausführungsbeispielen beschreiben die Pfadspezifikationsdaten 194 diese Laufwege.
-
Bei einigen Ausführungsbeispielen beschreiben die Pfadspezifikationsdaten 194 nicht einen Laufweg eines virtuellen Fußgängers als eine Serie von geografischen Koordinaten [d.h., Positionen (x1, y1), (x2, y2), ... (xn, yn)], während des Überquerens einer Kreuzung. Anstelle dessen umfassen die Pfadspezifikationsdaten 194 den Laufweg des virtuellen Fußgängers als eine höherrangige Pfadrandbedingung über ein bestimmtes geografisches Gebiet. Beispielsweise beschreiben die Pfadspezifikationsdaten 194 eine oder mehrere der nachstehenden Pfadrandbedingungen: (1) wie oft der virtuelle Fußgänger während des Überquerens der Kreuzung seine Richtung ändert; (2) eine von dem virtuellen Fußgänger durchlaufene Distanz zwischen zwei aufeinanderfolgenden Richtungsänderungen während des Überquerens der Kreuzung; (3) ein Startgebiet für den virtuellen Fußgänger, um sein Überqueren der Kreuzung zu beginnen, und ein Endgebiet für den virtuellen Fußgänger zum Beenden seines Überquerens der Kreuzung; und (4) ein Übergangsareal bei der Kreuzung, bei dem der virtuelle Fußgänger die Kreuzung überquert, wobei das Übergangsareal einen Übergang und ein zu dem Übergang benachbartes Areal umfasst, bei dem der virtuelle Fußgänger die Kreuzung überquert, um ein rechtswidriges Verhalten zu modellieren (z.B. ein Gehen außerhalb des Übergangs). Bei einigen Ausführungsbeispielen können diese Pfadrandbedingungen komplexe Pfadmuster mit einer Formel, wie etwa einer Erfüllbarkeitsmodultheorieformel (sog. „Satisfiability Modula Theory Formula“, SMT-Formel) ausdrücken, während sie es dem Fußgängererzeugungsmodul 199 ermöglichen, automatisch viele verschiedene Pfade für virtuelle Fußgänger zu erzeugen.
-
Bei einigen Ausführungsbeispielen sind die in den Pfadspezifikationsdaten 194 umfassten Digitaldaten hierin als eine „Pfadspezifikation“ bezeichnet.
-
Bei einigen Ausführungsbeispielen umfasst die Pfadspezifikation eine oder mehrere Variablen. Die Variablen der Pfadspezifikation werden durch das Fußgängererzeugungsmodul 199 unter Verwendung von Digitaldaten initialisiert, die von Datenquellen bezogen sind, die eines oder mehrere der nachstehenden umfassen: die Unfallberichtsdaten 184; die Industrieteststandarddaten 185 und die Herstellerteststandarddaten 186. Die Pfadspezifikation ist beispielsweise dazu betreibbar, verschiedene Variablen, die von diesen Datenquellen bezogen sind, anzunehmen. Siehe beispielsweise 1B. Die Pfadspezifikation ist nachstehend unter Bezugnahme auf die 1B, 1C, 4A, 4B und 4C ausführlicher beschrieben.
-
Die Verhaltensspezifikationsdaten 195 sind Digitaldaten, die beschreiben, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation reagiert. Beispielsweise beschreiben die Verhaltensspezifikationsdaten 195, wie der virtuelle Fußgänger seine Gehgeschwindigkeit mit einem näher zu null kommenden Übergangszeitgeber erhöht, oder wie der virtuelle Fußgänger seine Geschwindigkeit oder Gehrichtung als Reaktion auf ein virtuelles Fahrzeug ändert, das auf ihn zukommt (z.B. eine Erhöhung seiner Gehgeschwindigkeit, während er in eine Richtung flitzt, die von dem näherkommenden virtuellen Fahrzeug weg zeigt).
-
Bei einigen Ausführungsbeispielen beschreiben die Verhaltensspezifikationsdaten 195 unter Verwendung eines oder mehrerer zeitgesteuerter Automaten, wie der virtuelle Fußgänger auf Ereignisse reagiert. Dieser eine oder mehrere zeitgesteuerte Automaten beschreiben, wie der virtuelle Fußgänger auf ein Ereignis innerhalb der digitalen Simulation mit einer zeitlichen Änderung innerhalb der digitalen Simulation reagiert. Beispiele von geeigneten zeitgesteuerten Automaten sind durch die Verhaltensspezifikationsdaten 195 gemäß einigen Ausführungsbeispielen beschrieben, die in 5A abgebildet sind.
-
Bei einigen Ausführungsbeispielen beschreiben die Verhaltensspezifikationsdaten 195 eines oder mehrere der nachstehenden Ereignisse: wie lange der virtuelle Fußgänger auf ein Überqueren der Kreuzung warten wird, sobald eine Ampel von Rot nach Grün wechselt; und wie der virtuelle Fußgänger seine Gehgeschwindigkeit abändert, sobald die Ampel in Begriff ist, von Grün nach Rot zu wechseln. Andere Beispiele sind möglich.
-
Bei einigen Ausführungsbeispielen sind die in den Verhaltensspezifikationsdaten 195 umfassten Digitaldaten hierin als „Verhaltensspezifikation“ bezeichnet.
-
Bei einigen Ausführungsbeispielen umfasst die Verhaltensspezifikation eine oder mehrere Variablen. Die Variablen der Verhaltensspezifikation werden durch das Fußgängererzeugungsmodul 199 unter Verwendung von Digitaldaten initialisiert, die von Datenquellen bezogen sind, die eines oder mehrere der nachstehenden umfassen: die Unfallberichtsdaten 184; die Industrieteststandarddaten 185; und die Herstellerteststandarddaten 186. Beispielsweise ist die Verhaltensspezifikation dazu betreibbar, Variablen anzunehmen, die von diesen Datenquellen bezogen sind. Siehe z.B. 1B. Die Verhaltensspezifikation ist ausführlicher nachstehend unter Bezugnahme auf die 1B, 1C, 5A und 5B beschrieben.
-
Die ADAS-Modelldaten 196 sind Digitaldaten, die einen Entwurf eines realen ADAS-Systems beschreiben, das dazu beabsichtigt ist, Fußgänger zu schützen, die eine Kreuzung überqueren. Die digitale Simulation ist zum Testen der Leistungsfähigkeit dieses Entwurfs zum Schutz von virtuellen Fußgängern betreibbar, die eine Kreuzung einer virtuellen Straßenumgebung innerhalb der digitalen Simulation überqueren. Die virtuelle Straßenumgebung umfasst ebenso ein virtuelles Fahrzeug. Bei einigen Ausführungsbeispielen speichert der Arbeitsspeicher ebenso Fahrzeugmodelldaten, die den Entwurf des virtuellen Fahrzeugs beschreiben. Bei einigen Ausführungsbeispielen sind die ADAS-Modelldaten 196 ein Element der Fahrzeugmodelldaten.
-
Bei einigen Ausführungsbeispielen umfassen die ADAS-Modelldaten 196 (und wahlweise die Fahrzeugmodelldaten) irgendwelche digitalen Daten und Informationen, die für den Simulationswerkzeugsatz 114 zum Erzeugen einer digitalen Simulation notwendig sind, die ein virtuelles Fahrzeug umfasst, dessen Entwurf eine virtualisierte Version des ADAS-Systems umfasst, das durch die ADAS-Modelldaten 196 beschrieben ist. In dieser Weise beschreiben die ADAS-Modelldaten 196 eine virtualisierte Version des ADAS-Systems, dessen Entwurf durch die ADAS-Modelldaten 196 beschrieben ist (d.h., ein „virtuelles ADAS-System“). Innerhalb der digitalen Simulation wird der Betrieb des virtuellen Fahrzeugs zumindest teilweise durch das virtuelle ADAS-System gesteuert, falls das virtuelle Fahrzeug eine Anwesenheit eines virtuellen Fußgängers erfasst, der eine Kreuzung in der virtuellen Straßenumgebung überquert. Beispielsweise betätigt das virtuelle ADAS-System automatisch das Bremssystem des virtuellen Fahrzeugs, sodass das virtuelle Fahrzeug nicht mit dem virtuellen Fußgänger kollidiert oder das zu dem virtuellen Fußgänger benachbarte Areal beeinträchtigt. Bei einem weiteren Beispiel umfasst das virtuelle ADAS-System eine Benachrichtigung an einen virtualisierten Fahrer des virtuellen Fahrzeugs, die dazu beabsichtigt ist, zu bewirken, dass der Fahrer das Bremssystem des virtuellen Fahrzeugs betätigt. Bei noch einem weiteren Beispiel bewirkt das virtuelle ADAS-System automatisch, dass das virtuelle Fahrzeug in eine Richtung weg von dem virtuellen Fußgänger oder weg von der Trajektorie des virtuellen Fußgängers lenkt. In dieser Weise reagiert das virtuelle ADAS-System, das durch die ADAS-Modelldaten 196 beschrieben ist, auf den die Kreuzung überquerenden virtuellen Fußgänger. Bei einigen Ausführungsbeispielen überwacht das virtuelle Fußgängererzeugungsmodul 199 diese Antwort, nimmt Bilder der Antwort auf (siehe beispielsweise 8), und bewertet die Qualität der Reaktion (siehe beispielsweise 9). Bei einigen Ausführungsbeispielen wird die Qualität der Antwort des virtuellen ADAS-Systems relativ zu einer Spezifikation des Entwurfs des ADAS-Systems bewertet.
-
Die Variablendaten 197 sind Digitaldaten, die eine oder mehrere Variablen beschreiben, die durch einen Benutzer des Simulationssystems 101 eingegeben sind. Die Variablendaten 197 werden unter Verwendung der Eingabevorrichtung 146 und einer oder mehrerer Eingabevisulisierungen (beispielsweise einer oder mehrerer grafischer Benutzeroberflächen), die auf der Anzeige 192 angezeigt sind, eingegeben. Beispiele der Eingabevisulisierungen sind in den 6 und 7 abgebildet. 6 bildet Eingabefelder für die Pfadspezifikation ab, sodass der Benutzer Eingabevariablen eingeben kann, die nachfolgend in dem Arbeitsspeicher 127 als Variablendaten 197 gespeichert werden, und in die Pfadspezifikation aufgenommen werden. 7 bildet Eingabefelder für die Verhaltensspezifikation ab, sodass der Benutzer Variablen eingeben kann, die nachfolgend in dem Arbeitsspeicher 127 als Variablendaten 197 gespeichert werden, und in die Verhaltensspezifikation aufgenommen werden. Bei einigen Ausführungsbeispielen werden die Eingabevisualisierungen der 6 und 7 kombiniert, um eine einzelne Eingabevisualisierung derart auszubilden, dass Variablen für die Pfadspezifikation und die Verhaltensspezifikation in eine einzelne Eingabevisulisierung eingegeben werden.
-
Bei einigen Ausführungsbeispielen umfassen die durch die Variablendaten 197 beschriebenen Variablen für die Pfadspezifikation eine oder mehrere der nachstehenden: welche Pfadspezifikation während eines Satzes von Digitalsimulationen zu verwenden ist (jede Pfadspezifikation wird aus einer oder mehreren Datenquellen extrahiert, einschließlich solcher wie den Unfallberichtsdaten 184, den Industrieteststandarddaten 185 und den Herstellerteststandarddaten 186); eine Anzahl von durch den virtuellen Fußgänger durchzuführenden Richtungsänderungen während des Überquerens der Kreuzung; die Distanz zwischen zwei benachbarten Richtungsänderungen (dies kann als eine minimale Distanz oder eine maximale Distanz derart definiert sein, dass ein bestimmter virtueller Fußgänger verschiedene Distanzen zwischen verschiedenen Richtungsänderungen durchläuft); die Randgröße; und die Anzahl der Pfade. Siehe beispielsweise 6.
-
Bei einigen Ausführungsbeispielen umfassen die durch die Variablendaten 197 beschriebenen Variablen für die Verhaltensspezifikation eine oder mehrere der nachstehenden: welche Verhaltensspezifikation während eines Satzes von Digitalsimulationen zu verwenden ist (jede Verhaltensspezifikation wird aus einer oder mehreren Datenquellen extrahiert, einschließlich solcher wie den Unfallberichtsdaten 184, den Industrieteststandarddaten 185 und den Herstellerteststandarddaten 186); ob der virtuelle Fußgänger eine ein Überqueren einer Kreuzung betreffende Rechtsvorschrift brechen wird (z.B. bei Rot über die Ampel gehen, außerhalb des Übergangs gehen, usw.); die minimale Wartezeit vor Beginn der Überquerung der Kreuzung nachdem ein Ampelsignal anzeigt, dass es erlaubt ist, die Kreuzung zu überqueren; die maximale Wartezeit vor Beginn der Überquerung der Kreuzung nachdem ein Ampelsignal anzeigt, dass es erlaubt ist, die Kreuzung zu überqueren; und ob ein bestimmter virtueller Fußgänger ein Überqueren der Kreuzung beenden wird, bevor ein Ampelsignal anzeigt, dass es nicht länger erlaubt ist, die Kreuzung zu überqueren. Siehe beispielsweise 7.
-
Exemplarische Ausführungsbeispiele der Variablendaten 197 sind ausführlicher nachstehend unter Bezugnahme auf die 10 und 11A-11C beschrieben. Beispielsweise umfassen die nachstehend unter Bezugnahme auf die 11A-11C beschriebenen Abdeckungskriterien Variablen, die durch die Variablendaten 197 definiert sind.
-
Bei einigen Ausführungsbeispielen speichert der Arbeitsspeicher 127 des Simulationssystems 101 die nachstehenden Digitaldatenquellen: die Unfallberichtsdaten 184; die Industrieteststandarddaten 185; und die Herstellerteststandarddaten 186. Wahlweise bewirkt das Fußgängererzeugungsmodul 199, dass die Kommunikationseinheit 145 des Simulationssystems 101 diese Digitaldatenquellen von einem oder mehreren Datensystemen 103 über das Netzwerk 105 gemäß einigen Ausführungsbeispielen abruft. Bei einigen Ausführungsbeispielen sind diese Datenquellen in dem Arbeitsspeicher 127 des Simulationssystems 101 derart gespeichert, dass das Datensystem 103 nicht benötigt ist.
-
Die Eingabevorrichtung 146 umfasst irgendein digitales Eingabeperipheriegerät für eine Berechnungsvorrichtung wie etwa das Simulationssystem 101. Beispielsweise umfasst die Eingabevorrichtung 146 eine Tastatur, eine Maus, ein Mikrophon, einen Touchscreen, eine Kamera oder irgendein anderes digitales Eingabeperipheriegerät.
-
Die Anzeige 192 umfasst eine elektronische Anzeigevorrichtung. Beispielsweise umfasst die Anzeige 192 einen Monitor oder ein elektronisches Anzeigepaneel.
-
Der Simulationswerkzeugsatz 114 umfasst ein oder mehrere der nachstehenden: ein Simulationswerkzeug; und eine Spielmaschine. Beispiele geeigneter Simulationswerkzeuge, die gemäß einigen Ausführungsbeispielen in dem Simulationswerkzeugsatz 114 umfasst sein können, sind (die vorstehend beschriebenen) CarSim, Prescan oder ein Modelica-basiertes Modellierungswerkzeug. Die Unity-Spielmaschine ist eine geeignete Spielmaschine, die gemäß einigen Ausführungsbeispielen in dem Simulationswerkzeugsatz 114 umfasst sein kann.
-
Bei einigen Ausführungsbeispielen können eines oder mehrere der Modelica-basierten Modellierungswerkzeuge, die in dem Simulationswerkzeugsatz 114 umfasst sind, eines oder mehrere parametrische Untersuchungswerkzeuge umfassen („PET“ in der Einzahl, oder „PETs“ in der Mehrzahl).
-
Bei einigen Ausführungsbeispielen können eines oder mehrere der Modelica-basierten Modellierungswerkzeuge, die in dem Simulationswerkzeugsatz 114 umfasst sind, eines oder mehrere Entwurfsraumuntersuchungswerkzeuge („DSE“-Werkzeuge) umfassen.
-
Exemplarische Ausführungsbeispiele zum Erzeugen einer digitalen Simulation sind in der am 2. Februar 2016 eingereichten
U.S. Patentanmeldung Nr. 15/013,936 beschrieben, die „Realistic Roadway Virtualization System“ bezeichnet ist, deren gesamte Inhalte hierdurch durch Inbezugnahme in die vorliegende Anmeldung einbezogen sind.
-
Zusätzliche exemplarische Ausführungsbeispiele zum Erzeugen einer Digitalsimulation zum Testen einer Leistungsfähigkeit eines virtuellen ADAS-Systems sind in der am 19. Mai 2016 eingereichten
U.S. Patentanmeldung Nr. 15/159,233 beschrieben, die „User Profile-Based Automatic Parameter Tuning System for Connected Vehicles“ bezeichnet ist, deren gesamte Inhalte hierdurch durch Inbezugnahme in die vorliegende Anmeldung einbezogen sind.
-
Bei einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul 199 ein Element des Simulationswerkzeugsatzes 114. Beispielsweise ist das Fußgängererzeugungsmodul 199 ein Zusatzmodul eines Simulationswerkzeugs, das in dem Simulationswerkzeugsatz 114 umfasst ist. Dementsprechend ist das Fußgängererzeugungsmodul 199 mit einer gestrichelten Linie in 1A innerhalb des Simulationswerkzeugsatzes 114 abgebildet, um anzuzeigen, dass bei einigen Ausführungsbeispielen das Fußgängererzeugungsmodul 199 ein Zusatzmodul des Simulationswerkzeuges ist, das in dem Simulationswerkzeugsatz 114 umfasst ist.
-
Das Fußgängererzeugungsmodul 199 umfasst Codeelemente und Routinen, die bei Ausführung durch den Prozessor 125 des Simulationssystems 101 betreibbar sind, um den Prozessor 125 zur Ausführung eines oder mehrerer der Schritte des Verfahrens 300 zu veranlassen, das in den 3A-3C abgebildet ist. Das Fußgängererzeugungsmodul 199 umfasst Codeelemente und Routinen, die bei Ausführung durch den Prozessor 125 des Simulationssystems 101 zur Erzeugung eines oder mehrerer virtueller Fußgänger auf der Grundlage der Pfadspezifikation und der Verhaltensspezifikation betreibbar sind. Das Fußgängererzeugungsmodul 199 ist nachstehend unter Bezugnahme auf die 1B, 1C, 2 und 3A-3C ausführlicher beschrieben.
-
Bei einigen Ausführungsbeispielen umfasst das Fußgängererzeugungsmodul 199 einen Thin Client (sog. „schlankes, dienstanforderndes Gerät“), das durch den Prozessor 125 des Simulationssystems 101 ausgeführt wird.
-
Bei einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul 199 unter Verwendung einer Hardware realisiert, die ein FPGA (sog. „fieldprogrammable gate array“) oder einen anwendungsspezifischen integrierten Schaltkreis („ASIC“) umfasst. In einigen anderen Ausführungsbeispielen ist das Fußgängererzeugungsmodul 199 unter Verwendung einer Kombination von Hardware und Software realisiert. Bei einigen Ausführungsbeispielen ist das Fußgängererzeugungsmodul 199 in einer Kombination der Vorrichtungen (z.B. Servern oder anderen Geräten), oder in einem von diesen Geräten gespeichert.
-
Bei einigen Ausführungsbeispielen kann das Fußgängererzeugungsmodul 199 unter Verwendung einer Hardware einschließlich eines FPGA oder eines ASIC realisiert sein. In einigen anderen Ausführungsbeispielen kann das Fußgängererzeugungsmodul 199 unter Verwendung einer Kombination von Hardware und Software realisiert sein. Das Fußgängererzeugungsmodul 199 kann in einer Kombination dieser Vorrichtungen (z.B. Servern oder anderen Vorrichtungen) oder in einer dieser Vorrichtungen gespeichert sein.
-
Wie dargestellt, umfasst das Datensystem 103 die folgenden Elemente: die Kommunikationseinheit 145; den Prozessor 125; und den Arbeitsspeicher 127. Diese Elemente des Datensystems 103 umfassen ähnliche Merkmale und Funktionalitäten wie die Kommunikationseinheit 145, der Prozessor 125 und der Arbeitsspeicher 127 des Simulationssystems 101, und daher werden diese Beschreibungen hier nicht wiederholt.
-
Wie dargestellt speichert der Arbeitsspeicher 127 des Datensystems 103 die nachstehenden Digitaldaten: Unfallberichtsdaten 184; Industrieteststandarddaten 185; und Herstellerteststandarddaten 186.
-
Die Unfallberichtdaten 184 sind Digitaldaten, die einen oder mehrere reale Unfallberichte beschreiben, die einen Laufweg und ein Verhalten von einem oder mehreren realen Fußgängern beschreiben, die durch Fahrzeuge bei einer oder mehreren realen Straßenkreuzungen verletzt wurden.
-
Die Industrieteststandarddaten 185 sind Digitaldaten, die Industrieteststandards beschreiben, die in Verbindung stehen mit: Testen der Leistungsfähigkeit von ADAS-Systemen; und Entwerfen von Straßenkreuzungen. Beispiele solcher Industrieteststandards umfassen die nachstehenden: das europäische Neuwagenbewertungsprogramm (Euro-NCAP) Fußgängertestprotokoll; Kapitel 6 der Ausgabe 2006 des Massachusetts Design Handbuchs, bezeichnet „Kreuzungen“; und die 2015er Ausgabe des Florida Kreuzungs-Gestaltungsleitfadens.
-
Die Herstellerteststandarddaten 186 sind Digitaldaten, die Standards beschreiben, die durch einen oder mehrere Automobilhersteller zum Testen der Leistungsfähigkeit von ADAS-Systemen zum Schutz von Fußgängern an Straßenkreuzungen etabliert wurden.
-
Unter Bezugnahme auf 1B ist ein Blockdiagramm abgebildet, das ein Verfahrensablaufdiagramm 130 veranschaulicht, das durch das Fußgängererzeugungsmodul 199 zu einer Entwurfszeit gemäß einigen Ausführungsbeispielen ausgeführt wird. Das Fußgängererzeugungsmodul 199 empfängt Datenquellen 181 als eine Eingabe. Die Datenquellen 181 umfassen eine oder mehrere der nachstehenden: die Unfallberichtsdaten 184; die Industrieteststandarddaten 185; und die Herstellerteststandarddaten 186. Das Fußgängererzeugungsmodul 199 analysiert die Datenquellen 181 und extrahiert eine oder mehrere Pfadspezifikationen und eine oder mehrere Verhaltensspezifikationen aus den Datenquellen 181. Das Fußgängererzeugungsmodul 199 gibt die Pfadspezifikationsdaten 194 und die Verhaltensspezifikationsdaten 195 aus. Die Pfadspezifikationsdaten 194 beschreiben die eine oder mehrere Pfadspezifikationen. Die Verhaltensspezifikationsdaten 195 beschreiben die eine oder mehrere Verhaltensspezifikationen.
-
Bei einigen Ausführungsbeispielen umfasst eine Pfadspezifikation eine Vielzahl von Variablen. Siehe beispielsweise 4A. Diese Variablen der Pfadspezifikation werden unter Verwendung von Informationen initialisiert, die durch das Fußgängererzeugungsmodul 199 aus den Datenquellen 181 extrahiert sind. Die Verhaltensspezifikation umfasst ferner eine Vielzahl von Variablen. Siehe beispielsweise 5A. Diese Variablen der Verhaltensspezifikation werden unter Verwendung von Informationen initialisiert, die durch das Fußgängererzeugungsmodul 199 aus den Datenquellen 181 extrahiert sind. Sowohl die Pfadspezifikation als auch die Verhaltensspezifikation werden nicht aus Design-Richtlinien oder wissenschaftlichen Artikeln genommen. Anstelle dessen werden die Pfadspezifikation und die Verhaltensspezifikation aus den Datenquellen 181 extrahiert.
-
Unter Bezugnahme auf 1C ist ein Blockdiagramm gezeigt, das ein Verfahrensablaufdiagramm 140 veranschaulicht, das durch das Fußgängererzeugungsmodul 199 zu einer Laufzeit gemäß einigen Ausführungsbeispielen ausgeführt wird.
-
Das Fußgängererzeugungsmodul 199 des Simulationswerkzeugsatzes 114 empfängt die folgenden Eingaben: (1) die Pfadspezifikationsdaten 194; (2) die Verhaltensspezifikationsdaten 195; und (3) die Variablendaten 197. Die Pfadspezifikationsdaten 194 und die Verhaltensspezifikationsdaten 195 wurden durch das Fußgängererzeugungsmodul 199 zu einer Entwurfszeit bestimmt. Zu einer Laufzeit stellt das Fußgängerzeugungsmodul 199 grafische Daten an die Anzeige 192 bereit, die bewirkt, dass die Anzeige 192 eine oder mehrere Eingabevisualisierungen erzeugt, die von dem Benutzer 106 zur Eingabe der Variablen 160 verwendet wird. Die Variablen 160 sind durch die Variablendaten 197 beschrieben. Beispiele der Eingabevisualisierungen (d.h., grafische Benutzeroberflächen) sind in den 6 und 7 abgebildet. Bei einigen Ausführungsbeispielen werden die Eingabevisualisierungen der 6 und 7 derart kombiniert, dass nur eine Eingabevisualisierung für das Fußgängererzeugungsmodul 199 zum Empfangen der Variablendaten 197 von dem Benutzer 106 benötigt ist.
-
Das Fußgängererzeugungsmodul 199 erzeugt automatisch die Daten der virtuellen Fußgänger 198 auf der Grundlage der Eingaben, die vorstehend beschrieben sind. Die Daten der virtuellen Fußgänger 198 beschreiben einen oder mehrere virtuelle Fußgänger, die durch das Fußgängererzeugungsmodul 199 auf der Grundlage der Pfadspezifikationsdaten 194, der Verhaltensspezifikationsdaten 195 und der Variablendaten 197 erzeugt sind. Jeder der virtuellen Fußgänger kann unter Verwendung einer verschiedenen Kombination von Daten erzeugt sein (z.B. einer verschiedenen Kombination einer Pfadspezifikation, einer Verhaltensspezifikation und Variablendaten 197), sodass relativ zu den anderen virtuellen Fußgängern jeder einzigartig ist. Siehe beispielsweise die 6 und 7. Die Daten der virtuellen Fußgänger 198 werden auf dem Arbeitsspeicher 127 des Simulationssystems 101 gespeichert.
-
Nach einer Erzeugung der Daten der virtuellen Fußgänger 198 führt der Simulationswerkzeugsatz 114 eine oder mehrere digitale Simulationen durch, die dazu entworfen sind, die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz der virtuellen Fußgänger bei einer Antwort auf die Kreuzungen überquerenden virtuellen Fußgänger zu testen, die in der eine oder mehreren digitalen Simulationen umfasst sind.
-
Die Simulationsdaten 171 sind Digitaldaten, die zum Bewirken des Simulationswerkzeugsatzes 114 zur Erzeugung einer oder mehrerer digitaler Simulationen betreibbar sind, die dazu entworfen sind, die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz der virtuellen Fußgänger bei einer Antwort auf ein Überqueren der Kreuzungen durch die virtuellen Fußgänger zu testen, die in der einen oder mehreren Digitalsimulationen umfasst sind. Die Simulationsdaten 171 umfassen irgendwelche Daten oder Informationen, die dazu notwendig sind, das Simulationswerkzeug dazu zu veranlassen, die digitale Simulation zu erzeugen. Beispielsweise umfassen die Simulationsdaten 171 die Daten der virtuellen Fußgänger 198 zur Erzeugung eines Satzes von virtuellen Fußgängern und Straßenmodelldaten, die digitale Daten sind, die eine virtuelle Straße mit einer Kreuzung beschreiben und andere solche Merkmale, wie etwa eine Ampel, einen Übergang und andere herkömmliche Straßenmerkmale, wie etwa jene, die in den digitalen Simulationsszenerien der 4B, 5B und 8 abgebildet sind.
-
Nach Erzeugen der Daten der virtuellen Fußgänger 198 und Ausführen der einen oder mehreren digitalen Simulationen, stellt der Simulationswerkzeugsatz 114 grafische Daten an die Anzeige 192 bereit, um zu bewirken, dass die Anzeige 192 eine erste Visualisierung 161 darstellt, die visuell die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz der virtuellen Fußgänger bei einer Antwort auf die die Kreuzungen überquerenden virtuellen Fußgänger beschreibt, die in der einen oder mehreren digitalen Simulationen umfasst sind. Ein Beispiel einer ersten Visualisierung 161 ist in 8 gemäß einigen Ausführungsbeispielen abgebildet.
-
Der Arbeitsspeicher 127 des Simulationssystems 101 speichert digitale Daten, die die Entwurfsspezifikation für das virtuelle ADAS-System beschreiben. Das Fußgängererzeugungsmodul 199 analysiert die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz der virtuellen Fußgänger bei einer Antwort auf die Kreuzungen überquerenden virtuellen Fußgänger, die in der einen oder mehreren digitalen Simulationen umfasst sind. Beispielsweise bewertet das Fußgängererzeugungsmodul 199, wie schnell das virtuelle Fahrzeug sein Bremssystem betätigt, und andere Variablen, die anzeigen, ob das virtuelle ADAS-System die virtuellen Fußgänger auf der Grundlage der Entwurfsspezifikation für das durch das virtuelle ADAS-System repräsentierte ADAS-System adäquat geschützt hat. In dieser Weise analysiert das Fußgängererzeugungsmodul 199 die eine oder mehreren digitalen Simulationen um zu bestimmen, ob das virtuelle ADAS-System unter Einhaltung seiner Entwurfsspezifikation gearbeitet hat. Falls das Fußgängererzeugungsmodul 199 bestimmt, dass das virtuelle ADAS-System nicht unter Einhaltung seiner Entwurfsspezifikation gearbeitet hat, bestimmt nachfolgend das Fußgängererzeugungsmodul 199 Empfehlungen zu Abwandelung des Entwurfs des virtuellen ADAS-Systems (z.B. der ADAS-Modelldaten 196) derart, dass das virtuelle ADAS-System in einer Weise arbeiten wird, die seine Entwurfsspezifikation einhält.
-
Bei einigen Ausführungsbeispielen gibt das Fußgängererzeugungsmodul 199 grafische Daten an die Anzeige 192 aus, um zu bewirken, dass die Anzeige 192 eine zweite Visualisierung 162 abbildet, die visuell beschreibt: (1) Datenstrukturen, die die Leistungsfähigkeit des virtuellen ADAS-Systems beschreiben; und (2) Empfehlungen zur Abwandlung des Entwurfs des virtuellen ADAS-Systems. Ein Beispiel der zweiten Visulisierung 162 ist in 9 gemäß einigen Ausführungsbeispielen abgebildet, die keine visuelle Abbildung von Empfehlungen zum Abwandeln des Entwurfs des virtuellen ADAS-Systems umfassen.
-
Unter Bezugnahme auf 2 ist eine Blockdarstellung dargestellt, die ein Beispielcomputersystem 200 mit einem Fußgängererzeugungsmodul 199 gemäß einigen Ausführungsbeispielen veranschaulicht.
-
Bei einigen Ausführungsbeispielen kann das Computersystem 200 ein Computersystem für spezielle Zwecke umfassen, das dazu programmiert ist, einen oder mehrere Schritte eines Verfahrens 300, das nachstehend unter Bezugnahme auf 3A-3C beschrieben ist, durchzuführen.
-
Bei einigen Ausführungsbeispielen kann das Computersystem 200 das Simulationssystem 101 umfassen.
-
Das Computersystem 200 kann eines oder mehrere der nachstehenden Elemente gemäß einigen Beispielen umfassen: das Fußgängererzeugungsmodul 199; einen Prozessor 225; eine Kommunikationseinheit 245; einen Speicher 241; ein Simulationswerkzeugsatz 114; und einen Arbeitsspeicher 227. Die Komponenten des Computersystems 200 sind durch einen Bus 220 kommunikativ gekoppelt.
-
Bei dem veranschaulichten Ausführungsbeispiel ist der Prozessor 225 kommunikativ an den Bus 220 über eine Signalleitung 238 gekoppelt. Die Kommunikationseinheit 245 ist kommunikativ an den Bus 220 über eine Signalleitung 246 gekoppelt. Der Simulationswerkzeugsatz 114 ist kommunikativ an den Bus 220 über eine Signalleitung 247 gekoppelt. Der Speicher 241 ist kommunikativ an den Bus 220 über eine Signalleitung 242 gekoppelt. Der Arbeitsspeicher 227 ist kommunikativ an den Bus 220 über eine Signalleitung 244 gekoppelt.
-
Der Simulationswerkzeugsatz 114 wurde vorstehend unter Bezugnahme auf 1A beschrieben, und daher ist diese Beschreibung hier nicht wiederholt.
-
Der Prozessor 225 umfasst eine arithmetische Logikeinheit, einen Mikroprozessor, eine Mehrzwecksteuerung oder irgendeine andere Prozessoranordnung, um Berechnungen durchzuführen und elektronische Anzeigesignale an eine Anzeigevorrichtung bereitzustellen. Der Prozessor 225 verarbeitet Datensignale und kann verschiedene Berechnungsarchitekturen einschließlich einer CISC-Architektur (sog. „complex instruction set computer architecture“), einer RISC-Architektur (sog. „reduced instructions set computer architecture“) oder eine Architektur umfassen, die eine Kombination von Anweisungssätzen umfasst. Obwohl 2 einen einzelnen Prozessor 225 umfasst, können viele Prozessoren umfasst sein. Der Prozessor 225 kann eine grafische Verarbeitungseinheit umfassen. Andere Prozessoren, Betriebssysteme, Sensoren, Anzeigen und physikalische Konfigurationen können möglich sein.
-
Der Arbeitsspeicher 227 speichert Anweisungen oder Daten, die durch den Prozessor 225 ausgeführt werden können. Die Anweisungen oder Daten können Codeelemente zur Durchführung der hierin beschriebenen Techniken umfassen. Der Arbeitsspeicher 227 kann eine DRAM-Vorrichtung, eine SRAM-Vorrichtung, ein Flash-Speicher oder irgendeine andere Speichervorrichtung sein. Bei einigen Ausführungsbeispielen umfasst der Arbeitsspeicher 227 ebenso einen nichtflüchtigen Speicher oder eine ähnliche Speichervorrichtung und Medien, einschließlich eines Festplattenlaufwerks, eines Diskettenlaufwerks, einer CD-ROM-Vorrichtung, einer DVD-ROM-Vorrichtung, einer DVD-RAM-Vorrichtung, einer DVD-RW-Vorrichtung, einer Flash-Speicher-Vorrichtung oder irgendeiner anderen Massenspeichervorrichtung zum Speichern von Informationen auf einer dauerhafteren Basis.
-
Der Arbeitsspeicher 227 speichert jede der vorliegend beschriebenen digitalen Daten. Bei einigen Ausführungsbeispielen speichert der Arbeitsspeicher 227 jede digitale Daten und Informationen, die für das Fußgängererzeugungsmodul 199 und den Simulationswerkzeugsatz 114 zum Bereitstellen ihrer Funktionalität notwendig sind.
-
Die Kommunikationseinheit 245 kann eine Hardware umfassen, die Daten an das Netzwerk 105 übermittelt und von ihm empfängt. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen Anschluss für eine direkte physikalische Verbindung mit dem Netzwerk 105 oder mit einem anderen Kommunikationskanal. Beispielsweise umfasst die Kommunikationseinheit 245 einen USB-, SD-, CAT-5- oder ähnlichen Anschluss für eine drahtgebundene Kommunikation mit dem Netzwerk 105. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen drahtlosen Transceiver zum Austauschen von Daten mit dem Netzwerk 105 oder anderen Kommunikationskanälen unter Verwendung eines oder mehrerer drahtloser Kommunikationsverfahren, einschließlich IEEE 802.11, IEEE 802.16, Bluetooth oder eines anderen geeigneten drahtlosen Kommunikationsverfahrens.
-
Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen Anschluss für eine direkte physikalische Verbindung mit dem Netzwerk 105 oder mit einem anderen Kommunikationskanal. Beispielsweise umfasst die Kommunikationseinheit 245 einen USB-, SD-, CAT-5- oder ähnlichen Anschluss für eine drahtgebundene Kommunikation mit dem Netzwerk 105.
-
Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen drahtlosen Transceiver zum Austauschen von Daten mit dem Netzwerk 105 oder anderen Kommunikationskanälen unter Verwendung eines oder mehrerer drahtloser Kommunikationsverfahren, einschließlich: IEEE 802.11; IEEE 802.16, Bluetooth; oder eines anderen geeigneten drahtlosen Kommunikationsverfahrens.
-
Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen Mobilfunkkommunikationstransceiver zum Senden und Empfangen von Daten über ein Mobilfunkkommunikationsnetzwerk, einschließlich eines Kurznachrichtendienstes (SMS), eines Multimedia-Nachrichtendienstes (MMS), eines Hypertext-Übertragungsprotokolls (HTTP), einer direkten Datenverbindung, WAP, E-Mail oder einer anderen geeigneten Art einer elektronischen Kommunikation. Bei einigen Ausführungsbeispielen umfasst die Kommunikationseinheit 245 einen drahtgebundenen Anschluss oder einen drahtlosen Transceiver. Die Kommunikationseinheit 245 stellt ebenso andere herkömmliche Verbindungen zu dem Netzwerk 105 für eine Verteilung von Dateien oder Mediaobjekten unter Verwendung von Standardnetzwerkprotokollen, einschließlich TCP/IP, HTTP, HTTPS und SMTP, usw. bereit.
-
Der Speicher 241 kann ein nichtflüchtiges Speichermedium sein, das Daten zur Bereitstellung der vorliegend beschriebenen Funktionalität speichert. Der Speicher 241 kann eine DRAM-Vorrichtung, eine SRAM-Vorrichtung, ein Flash-Speicher oder irgendwelche anderen Speichervorrichtungen sein. Bei einigen Ausführungsbeispielen umfasst der Speicher 241 ebenso einen nichtflüchtigen Speicher oder ähnliche dauerhafte Speichervorrichtungen und Medien, einschließlich eines Festplattenlaufwerks, eines Diskettenlaufwerks, einer CD-ROM-Vorrichtung, einer DVD-ROM-Vorrichtung, einer DVD-RAM-Vorrichtung, einer DVD-RW-Vorrichtung, einer Flash-Speicher-Vorrichtung oder irgendeiner anderen Massenspeichervorrichtung zum Speichern von Informationen auf einer dauerhafteren Basis. Bei einigen Ausführungsbeispielen arbeitet der Speicher 241 als ein Puffer oder ein Kurzzeitspeicher.
-
In dem gemäß 2 veranschaulichten Ausführungsbeispiel umfasst das Fußgängererzeugungsmodul 199 ein Kommunikationsmodul 202 und ein Bestimmungsmodul 204. Diese Bestandteile des Fußgängererzeugungsmoduls 199 sind kommunikativ zueinander über den Bus 220 gekoppelt. Bei einigen Ausführungsbeispielen können Bestandteile des Fußgängererzeugungsmoduls 199 in einem einzelnen Server oder Vorrichtung gespeichert sein. In einigen anderen Ausführungsbeispielen können Bestandteile des Fußgängererzeugungsmoduls 199 verteilt und über viele Server oder Vorrichtungen gespeichert sein.
-
Das Kommunikationsmodul 202 kann eine Software mit Routinen zur Handhabung von Mitteilungen zwischen dem Fußgängererzeugungsmodul 199 und anderen Bestandteilen des Computersystems 200 sein. Bei einigen Ausführungsbeispielen kann das Kommunikationsmodul 202 eine Gruppe von Anweisungen sein, die durch den Prozessor 225 ausführbar sind, um die nachstehend beschriebene Funktionalität zur Handhabung von Mitteilungen zwischen dem Fußgängererzeugungsmodul 199 und anderen Bestandteilen des Computersystems 200 bereitzustellen. Bei einigen Ausführungsbeispielen kann das Kommunikationsmodul 202 in dem Arbeitsspeicher 227 des Computersystems 200 gespeichert sein, und kann durch den Prozessor 225 zugänglich und ausführbar sein. Das Kommunikationsmodul 202 kann für eine Zusammenarbeit und eine Kommunikation mit dem Prozessor 225 und anderen Bestandteilen des Computersystems 200 über eine Signalleitung 222 eingerichtet sein.
-
Das Kommunikationsmodul 202 sendet und empfängt Daten über die Kommunikationseinheit 245 an und von einem oder mehreren Elementen des Computersystems 200 oder dem Netzwerk 105. Beispielsweise empfängt das Kommunikationsmodul 202 mittels der Kommunikationseinheit 245 eines oder mehrere der nachstehenden: die Unfallberichtdaten 184; die Industrieteststandarddaten 185; und die Herstellerteststandarddaten 186.
-
Bei einigen Ausführungsbeispielen empfängt das Kommunikationsmodul 202 Daten von Bestandteilen des Fußgängererzeugungsmoduls 199, und speichert die Daten in einem oder mehreren des Speichers 241 und des Arbeitsspeichers 227. Beispielsweise empfängt das Kommunikationsmodul 202 die Pfadspezifikationsdaten 194 und die Verhaltensspezifikationsdaten 195 von dem Bestimmungsmodul 204, und speichert die Pfadspezifikationsdaten 194 und die Verhaltensspezifikationsdaten 195 in den Arbeitsspeicher 227.
-
Bei einigen Ausführungsbeispielen kann das Kommunikationsmodul 202 Mitteilungen zwischen Bestandteilen des Fußgängererzeugungsmoduls 199 oder des Computersystems 200 handhaben.
-
Bei einigen Ausführungsbeispielen kann das Kommunikationsmodul 202 in dem Arbeitsspeicher 227 des Computersystems 200 gespeichert sein, und kann durch den Prozessor 225 zugänglich und ausführbar sein.
-
Das Bestimmungsmodul 204 kann eine Software sein, die Routinen zum Ausführen eines oder mehrerer Schritte des Verfahrens 300 gemäß den 3A-3C umfasst. Bei einigen Ausführungsbeispielen kann das Bestimmungsmodul 204 Codeelemente und Routinen umfassen, die bei Ausführung durch den Prozessor 225 zur Ausführung eines oder mehrerer Schritte des in 1B dargestellten Prozessablaufdiagramms 130 und des in 1C dargestellten Prozessablaufdiagramms 140 betreibbar sein.
-
Bei einigen Ausführungsbeispielen kann das Bestimmungsmodul 204 in dem Arbeitsspeicher 227 des Computersystems 200 gespeichert sein, und kann durch den Prozessor 225 zugänglich und ausführbar sein. Das Bestimmungsmodul 204 kann für eine Zusammenarbeit und eine Kommunikation mit dem Prozessor 225 und anderen Bestandteilen des Computersystems 200 über eine Signalleitung 224 eingerichtet sein.
-
Unter Bezugnahme auf die 3A-3C ist ein Ablaufdiagramm eines Beispielverfahrens 300 gemäß einigen Ausführungsbeispielen für eine automatische Erzeugung eines Satzes von virtuellen Fußgänger für eine Digitalsimulation zum Testen einer Leistungsfähigkeit eines ADAS-Systems zum Schutz von virtuellen Fußgängern an einer Kreuzung abgebildet.
-
Bei Schritt 302 werden Datenquellen empfangen. Diese Datenquellen umfassen eines oder mehrere der nachstehenden: Unfallberichtsdaten; Industrieteststandarddaten; und Herstellerteststandarddaten.
-
Bei Schritt 303 werden die Pfadspezifikationsdaten erzeugt. Beispielsweise werden die Datenquellen analysiert, um eine oder mehrere Pfadrandbedingungen aus den Unfallberichtdaten zu erzeugen, die mit den Industrieteststandards und den Herstellerteststandarddaten konform sind.
-
Bei Schritt 304 werden die Verhaltensspezifikationsdaten erzeugt. Beispielsweise werden die Datenquellen analysiert, um das Verhalten der Fußgänger und wie sie auf durch die Unfallberichtdaten beschriebene Ereignisse reagieren, zu extrahieren. Die extrahierten Verhaltensweisen werden nachfolgend auf der Grundlage der Industrieteststandarddaten und der Herstellerteststandarddaten gefiltert, um sicherzustellen, dass die durch die Verhaltensspezifikationsdaten beschriebenen Verhaltensspezifikationen mit den Industrieteststandards und den Herstellerteststandards konform sind.
-
Bei Schritt 305 werden die ADAS-Modelldaten bezogen.
-
Bei Schritt 306 werden eine oder mehrere Eingabevisualisierungen angezeigt.
-
Bei Schritt 307 werden Variablendaten von einer oder mehreren Eingabevariablen empfangen. Die Variablendaten können in die Pfadspezifikation und die Verhaltensspezifikation eingegeben sein.
-
Unter Bezugnahme auf 3B werden bei Schritt 308 virtuelle Fußgängerdaten automatisch erzeugt. Die Daten der virtuellen Fußgänger beschreiben eine Gruppe von virtuellen Fußgängern für eine Simulation auf der Grundlage der Variablendaten, der Pfadspezifikationsdaten und der Verhaltensdaten. Die virtuellen Fußgänger, die in der Gruppe der virtuellen Fußgänger umfasst sind, sind dazu eingerichtet, sich innerhalb einer digitalen Simulation in einer Weise zu verhalten, die relativ dazu, wie Fußgänger sich in der realen Welt verhalten, realistisch ist, da die Pfadspezifikationsdaten und die Verhaltensspezifikationsdaten zumindest teilweise auf der Grundlage der Unfallberichtdaten erzeugt sind.
-
Bei Schritt 309 wird eine digitale Simulation zum Testen einer Leistungsfähigkeit eines virtuellen ADAS-System erzeugt. Die digitale Simulation kann durch Simulationsdaten beschrieben sein. Die Simulationsdaten sind digitale Daten, die eine digitale Straßenumgebung beschreiben, die eine Kreuzung und ein virtuelles Fahrzeug umfassen, das das durch die ADAS-Modelldaten beschriebene virtuelle ADAS-System umfasst. Die Simulationsdaten werden in dem Arbeitsspeicher des Simulationssystems gespeichert.
-
Bei Schritt 310 wird die digitale Simulation ausgeführt. Die Leistungsfähigkeit des virtuellen ADAS-System wird überwacht, während die digitale Simulation ausgeführt wird. Bei einigen Ausführungsbeispielen wird eine Vielzahl von digitalen Simulationen ausgeführt, und die Leistungsfähigkeit des virtuellen ADAS-Systems wird für jede ausgeführte digitale Simulation überwacht.
-
Bei Schritt 311 werden Leistungsfähigkeitsdaten aufgezeichnet. Die Leistungsfähigkeitsdaten sind digitale Daten, die grafische Bilder beschreiben, die visuell die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz der virtuellen Fußgänger beim Überqueren einer Kreuzung während der digitalen Simulation abbilden.
-
Unter Bezugnahme auf 3C werden bei Schritt 312 erste grafische Daten für eine erste Visualisierung erzeugt. Die ersten grafischen Daten sind digitale Daten, die dazu verwendbar sind, die Anzeige dazu zu verlassen, die erste Visualisierung abzubilden, die die Informationen abbildet, die durch die Leistungsfähigkeitsdaten beschrieben sind.
-
Bei Schritt 313 wird eine erste Visualisierung auf einer Anzeige angezeigt.
-
Bei Schritt 314 wird eine Leistungsfähigkeit des virtuellen ADAS-Systems während der digitalen Simulation auf Grundlage der Leistungsfähigkeitsdaten analysiert.
-
Bei Schritt 315 werden eine oder mehrere Datenstrukturen auf der Grundlage der Analyse der Leistungsfähigkeit des virtuellen ADAS-Systems erzeugt. Die Datenstrukturen umfassen digitale Daten, die die Leistungsfähigkeit des virtuellen ADAS-Systems beschreiben. Beispielsweise sind die Datenstrukturen eine Tabelle, die die digitalen Daten umfasst, die die Leistungsfähigkeit des virtuellen ADAS-Systems während einer oder mehrerer digitaler Simulationen beschreiben.
-
Bei Schritt 316 werden Empfehlungsdaten auf der Grundlage der Analyse der Leistungsfähigkeit des virtuellen ADAS-Systems erzeugt. Die Empfehlungsdaten beschreiben eine oder mehrere Empfehlungen zur Verbesserung der Leistungsfähigkeit des virtuellen ADAS-Systems.
-
Bei Schritt 317 werden zweite grafische Daten erzeugt. Die zweiten grafischen Daten sind digitale Daten, die dazu betreibbar sind, zu bewirken, dass die Anzeige eine zweite Visualisierung abbildet, die die Datenstrukturen und die durch die Empfehlungsdaten beschriebenen Informationen abbildet.
-
Bei Schritt 318 wird die zweite Visualisierung auf der Anzeige angezeigt.
-
Unter Bezugnahme auf 4A ist ein Blockdiagramm abgebildet, das ein Beispiel einer Pfadspezifikation 400 gemäß einigen Ausführungsbeispielen veranschaulicht. In dem Beispiel der Pfadspezifikation 400 ist eine Pfadrandbedingung für eine X-Achse auf einer Kreuzung und eine Pfadrandbedingung für eine Y-Achse der Kreuzung umfasst. Die 4B und 4C helfen, die 4A gemäß einigen Ausführungsbeispielen zu erklären. Beispielsweise umfasst 4B ein Bild einer Kreuzung, die in einer digitalen Simulation umfasst ist, genauso wie eine Vielzahl von Laufwegen, die durch virtuelle Fußgänger während der digitalen Simulation beim Überqueren der Kreuzung durchlaufen werden. 4C bildet ab, wie die Pfadrandbedingungen der 4A die Laufwege beeinträchtigen, die durch die virtuellen Fußgänger beim Überqueren der Kreuzung durchlaufen werden.
-
Unter Bezugnahme auf 4B ist ein Blockdiagramm abgebildet, das ein Beispiel 401 einer Kreuzung in einer digitalen Simulation und Variablen für die Pfadspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht.
-
Unter Bezugnahme auf 4C ist ein Blockdiagramm abgebildet, das ein Beispiel der Pfadspezifikationsdaten 402 veranschaulicht, die definierte Variablen für die Pfadspezifikation gemäß einigen Ausführungsbeispielen umfassen. 4C zeigt, wie die Pfadspezifikation 401 von 4A auf das Beispiel 401 gemäß 4B Anwendung findet.
-
Unter Bezugnahme auf 5A ist ein Blockdiagramm abgebildet, das eine Verhaltensspezifikation 500 gemäß einigen Ausführungsbeispielen veranschaulicht. Bei dem abgebildeten Ausführungsbeispiel umfasst die Verhaltensspezifikation ein Paar von zeitgesteuerten Automaten: (a) einen zeitgesteuerten Fußgängerautomaten; und (b) einen zeitgesteuerten Ampelautomaten. Zusammen definieren diese Automaten, wie sich virtuelle Fußgänger als Reaktion auf Ampelsignale und Ereignisse innerhalb der digitalen Simulation verhalten. Zum Beispiel: (1) laufen einige virtuelle Fußgänger sofort los, wenn ein Ampelsignal grün wird; (2) sind einige virtuelle Fußgänger vorsichtiger, und laufen nach einigen Momenten los, die dazu verwendet werden, zu schauen und zu überprüfen, dass es sicher ist, die Straße zu überqueren; und (3) laufen einige virtuelle Fußgänger tatsächlich los, bevor das Ampelsignal grün wird [z.B. bei Rot über die Ampel gehen, das ein Beispiel eines rechtswidrigen Verhaltens ist, an dem sich ein durch das Fußgängererzeugungsmodul erzeugter Fußgänger beteiligen kann]. In dieser Weise ist die Verhaltensspezifikation für eine Erzeugung von virtuellen Fußgängern nützlich, deren Verhalten auf der Grundlage von einer oder mehreren Variablen realistisch ist, die aus den Unfallberichtsdaten 184, genauso wie aus anderen Datenquellen 181 bezogen sind.
-
Unter Bezugnahme auf 5B ist ein Blockdiagramm abgebildet, das ein Beispiel 501 einer Kreuzung in einer digitalen Simulation und die Verhaltensspezifikation für einen virtuellen Fußgänger veranschaulicht, der die Kreuzung einer digitalen Simulation gemäß einigen Ausführungsbeispielen überquert.
-
Die 6 und 7 sind nachstehend zusammen beschrieben. 6 bildet ein Blockdiagramm ab, das eine Eingabevisualisierung 600 zum Eingeben von Variablen für eine Pfadspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht. 7 bildet ein Blockdiagramm ab, das eine Eingabevisualisierung 700 zum Eingeben von Variablen für eine Verhaltensspezifikation gemäß einigen Ausführungsbeispielen veranschaulicht. Bei einigen Ausführungsbeispielen sind die Eingabevisualisierung 600 gemäß 6 und die Eingabevisualisierung 700 gemäß 7 kombiniert, um eine einzelne Eingabevisualisierung für sowohl die Verhaltensspezifikation als auch die Pfadspezifikation auszubilden.
-
Ein Ausführungsbeispiel des Fußgängererzeugungsmoduls 199 ist nachstehend unter Bezugnahme auf die Eingabevisualisierungen 600, 700 beschrieben. Betrachtet sind n Pfadspezifikationen und m Verhaltensspezifikationen, wobei n und m Variablen sind, die irgendeine positive ganze Zahl repräsentieren. Ein Benutzer 106 entscheidet eine Anzahl von zu erzeugenden virtuellen Fußgängern. Der Benutzer 106 gibt diese Anzahl in das Fußgängererzeugungsmodul 199 ein, um eine Anzahl von Zeilen der Eingabevisualisierung 600 zu befüllen, die der Anzahl von zu erzeugenden virtuellen Fußgängern entspricht. Falls beispielsweise die Zahl fünf ist, gibt der Benutzer 106 in fünf Zeilen der Eingabevisualisierung 600 Variablen ein. Laufwege für diese virtuellen Fußgänger werden automatisch durch das Fußgängererzeugungsmodul 199 aus all diesen Pfadspezifikationen erzeugt, die durch die Pfadspezifikationsdaten 194 beschrieben sind (oder durch zufällig aus den Pfadspezifikationsdaten 194 ausgewählte Pfadspezifikationen). Die Zeitablaufparameter (z.B. wie lange ein Fußgänger nach der Signaländerung mit dem Überqueren wartet) des Verhaltensmodells für jeden virtuellen Fußgänger werden durch das Fußgängererzeugungsmodul 199 unter Verwendung der Verhaltensspezifikationsdaten 195 zufällig (oder aus einer vorliegenden Wahrscheinlichkeitsverteilung) zum Erzeugen von Verhalten für diese virtuellen Fußgänger entschieden. Bei einigen Ausführungsbeispielen werden diese Zeitablaufparameter zumindest teilweise auf der Grundlage der durch den Benutzer 106 in die Eingabevisualisierung 700 eingegebenen Variablen erzeugt. Bei einigen Ausführungsbeispielen kann die Erzeugung der Zeitablaufparameter (z.B. die Verhaltensspezifikation für einen bestimmten virtuellen Fußgänger) für jeden virtuellen Fußgänger derart wiederholt werden, dass jeder virtuelle Fußgänger sein eigenes Verhaltensmodell aufweist, das sein einzigartiges Verhalten relativ zu den anderen virtuellen Fußgängern repräsentiert. Die erzeugten Laufwege und Verhalten (d.h., Zeitablaufparameter) werden durch das Fußgängererzeugungsmodul 199 für jeden einzelnen virtuellen Fußgänger als ein Paar zusammengesetzt, und virtuelle Fußgängerdaten 198, die diese zusammengesetzten Paare beschreiben (die Daten der virtuellen Fußgänger 198 beschreiben ein zusammengesetztes Paar für jeden virtuellen Fußgänger), werden an das Simulationswerkzeug weitergegeben. Das Simulationswerkzeug verwendet nachfolgend die Daten der virtuellen Fußgänger 198, um eine Gruppe von virtuellen Fußgängern zu visualisieren, die mit der Pfadspezifikation und der Verhaltensspezifikation konform sind.
-
Unter Bezugnahme auf 6 sind Variablendaten für sechs beispielhafte Pfadspezifikationen abgebildet, die durch das Fußgängererzeugungsmodul 199 zu erzeugen sind. Die sechs Pfadspezifikationen definieren Laufwege für sechs virtuelle Fußgänger in einer digitalen Simulation unter Verwendung einer oder mehrere der nachstehenden Variablen: eine Anzahl von Richtungsänderungen (z.B. definiert Pfadspezifikation #1, dass jeder Laufweg drei Richtungsänderungen auf dem Übergang aufweist); ein Abstand zwischen aufeinanderfolgenden Richtungsänderungen (z.B. definiert die Pfadspezifikation #1, dass ein Abstand zwischen zwei aufeinanderfolgenden Richtungsänderungen auf zwischen einem Meter und fünf Meter bestimmt ist); das Areal, in dem es dem Fußgänger erlaubt ist, zu gehen (z.B. die Randgröße für Pfadspezifikation #3 definiert, dass jeder virtuelle Fußgänger nicht mehr als drei Meter außerhalb des Übergangs laufen darf); und die Anzahl der Laufwege, die für jede Pfadspezifikation zu erzeugen sind (z.B. Pfadspezifikation #1 bis #6 definieren jeweils, dass zwanzig Laufwege zu erzeugen sind).
-
Unter Bezugnahme auf 7 sind Variablendaten für vier beispielhafte Verhaltensspezifikationen abgebildet, die durch das Fußgängererzeugungsmodul 199 zu erzeugen sind. Die Verhaltensspezifikationen definieren, wie virtuelle Fußgänger ihre Interaktionsarten mit der in der digitalen Simulation umfassten virtuellen Straßenumgebung ändern. Bei einigen Ausführungsbeispielen definieren die Verhaltensspezifikationen, wie virtuelle Fußgänger, ihre Interaktionsarten mit der virtuellen Straßenumgebung derart ändern, dass sich die virtuellen Fußgänger in Übereinstimmung mit der Semantik eines oder mehrerer zeitgesteuerte Automaten verhalten (siehe beispielsweise die 5A und 5B für Beispiele von zeitgesteuerten Automaten). Beispielsweise ändert sich ein Ampelsignal von Grün nach Rot und von Rot nach Grün. Es wird erwartet, dass der virtuelle Fußgänger eine Kreuzung bei grünem Licht, jedoch nicht bei rotem Licht überquert (jedoch kann dies beispielsweise nicht auftreten, falls ein Verhaltensmodul für den virtuellen Fußgänger in mancherlei Hinsicht eine rechtswidrige Aktivität definiert).
-
Eine Verhaltensspezifikation #1 wie in 7 gemäß einigen Ausführungsbeispielen definiert, erfordert, dass ein virtueller Fußgänger unmittelbar nach der Signaländerung anfängt, die Kreuzung zu überqueren, da die minimale und maximale Wartezeit jeweils als null definiert sind. Die Verhaltensspezifikation Nr. 1 erfordert ferner, dass der virtuelle Fußgänger das Überqueren der Kreuzung erfolgreich beendet, bevor das Signal sich von Grün nach Rot ändert.
-
Eine Verhaltensspezifikation #2 gemäß 7 erfordert gemäß einigen Ausführungsbeispielen, dass ein virtueller Fußgänger ein Überqueren zwischen zwei und fünf Sekunden nach der Signaländerung beginnen kann. Die Verhaltensspezifikation Nr. 2 erfordert ferner, dass der virtuelle Fußgänger ein Überqueren der Kreuzung erfolgreich beendet, bevor sich das Signal von Grün nach Rot ändert.
-
Eine Verhaltensspezifikation #3 gemäß 7 erfordert gemäß einigen Ausführungsbeispielen, dass ein virtueller Fußgänger zwei Sekunden vor der Signaländerung damit beginnt, die Kreuzung zu überqueren, das ein Beispiel einer Verhaltensspezifikation ist, die erfordert, dass ein virtueller Fußgänger ein rechtswidriges Verhalten modelliert, sodass die digitale Simulation bestimmt, ob das virtuelle ADAS-System einen virtuellen Fußgänger schützen kann, der sich rechtswidrig und unerwartet verhält. Die Verhaltensspezifikation Nr. 3 erfordert ferner, dass der virtuelle Fußgänger das Überqueren der Kreuzung vor der Signaländerung von Grün nach Rot erfolgreich beendet.
-
Eine Verhaltensspezifikation #4 gemäß 7 erfordert gemäß einigen Ausführungsbeispielen, dass ein virtueller Fußgänger zwischen zwei Sekunden und fünf Sekunden vor der Signaländerung anfängt, die Kreuzung zu überqueren, das ein weiteres Beispiel einer Verhaltensspezifikation ist, die erfordert, dass ein virtueller Fußgänger ein rechtswidriges Verhalten modelliert, sodass die digitale Simulation bestimmt, ob das virtuelle ADAS-System einen virtuellen Fußgänger schützen kann, der sich rechtswidrig und unerwartet verhält. Die Verhaltensspezifikation #4 erfordert ebenso, dass der virtuelle Fußgänger das Überqueren der Kreuzung nicht beendet, bevor sich das Signal von Grün nach Rot ändert, das ein anderes Beispiel eines rechtswidrigen und unerwarteten Verhaltens ist, auf das durch die digitale Simulation getestet wird.
-
Unter gemeinsamen Bezug auf die 6 und 7 umfasst der Simulationswerkzeugsatz eine Spielmaschine (zum Beispiel eine Unity 3D oder irgendeine andere Spielmaschine). 12 bildet ein Beispiel eines oder mehrerer digitaler Simulationen ab, die auf der Grundlage der Pfadspezifikationen und Verhaltensspezifikationen gemäß der vorstehenden Beschreibung bezüglich der 6 und 7 erzeugt sind. 12 zeigt die Visualisierung der erzeugten Laufwege, die aus den sechs Pfadspezifikationen erzeugt sind, die vorstehend unter Bezugnahme auf 6 beschrieben sind. Zwanzig virtuelle Fußgänger werden erzeugt, und jedem durch die sechs Pfadspezifikationen gemäß 6 spezifizierten Laufweg zugeordnet. Zusätzlich dazu wird jeder virtuelle Fußgänger mit einer Logik in Verbindung gebracht, die die Semantik des Verhaltens implementiert, das durch jede der Verhaltensspezifikation gemäß 7 definiert ist. Infolgedessen bewegt sich jeder Fußgänger entlang des zugewiesenen Pfads, der aus der Pfadspezifikation gemäß 6 erzeugt ist, und verhält sich in Übereinstimmung mit dem Verhaltensmodell, das aus den Verhaltensspezifikationen gemäß 7 erzeugt ist.
-
Unter Bezugnahme auf 8 ist ein Blockdiagramm abgebildet, das eine erste Visualisierung 800 gemäß einigen Ausführungsbeispielen veranschaulicht. Die erste Visualisierung 800 bildet visuell sechs verschiedene Laufwege aus einer Serie von digitalen Simulationen ab. Die sechs verschiedenen Laufwege, die in 8 dargestellt sind, sind dafür relevant, ob der Entwurf des virtuellen ADAS-Systems, wie es in den ADAS-Modelldaten 196 verkörpert ist, modifiziert werden sollte, um die virtuellen Fußgänger besser zu schützen. Die sechs verschiedenen Laufwege, die in der ersten Visualisierung 800 abgebildet sind, entsprechen den Pfadspezifikationen, die in der Eingabevisualisierung 600 definiert sind, die vorstehend unter Bezugnahme auf 6 beschrieben ist. Die virtuellen Fußgänger, die in der ersten Visualisierung 800 abgebildet sind, verhalten sich in Übereinstimmung mit der Verhaltensspezifikation, die in der Eingabevisualisierung 700 definiert ist, die vorstehend unter Bezugnahme auf 7 beschrieben ist.
-
Unter Bezugnahme auf 9 ist ein Blockdiagramm abgebildet, das eine zweite Visualisierung 900 gemäß einigen Ausführungsbeispielen veranschaulicht. Die zweite Visualisierung 900 beschreibt die Leistungsfähigkeit des virtuellen ADAS-Systems, das auf die sechs Pfadspezifikationen getestet wird, die vorstehend für 6 beschrieben sind, und die drei Verhaltensspezifikationen, die vorstehend für 7 beschrieben sind.
-
Unter Bezugnahme auf 10 ist ein Blockdiagramm abgebildet, das einen Verfahrensablauf 1000 zum Erzeugen einer digitalen Simulation veranschaulicht, die mit Spezifikationsdaten 1011 und Datenquellen 181 gemäß einigen Ausführungsbeispielen konform ist.
-
Unter Bezugnahme auf die linke Seite von 10 und „Konformität #1“, ist ein untergeordneter Vorgang zum Erzeugen einer virtuellen Straßenumgebung 1004 abgebildet, die eine Gruppe von virtuellen Fußgängern 1007 umfasst, die mit den in den Spezifikationsdaten 1011 umfassten Pfadspezifikationsdaten 194 und Verhaltensspezifikationsdaten 195 konform ist. Der Simulationswerkzeugsatz 114 umfasst das Fußgängererzeugungsmodul 199. Die Spezifikationsdaten 1011 und die Variablendaten 197 werden empfangen. Als Antwort auf diese Eingaben erzeugt der Simulationswerkzeugsatz 114 die Simulationsdaten 117, und das Fußgängererzeugungsmodul erzeugt die Daten der virtuellen Fußgänger 198. Die Daten der virtuellen Fußgänger 198 können in den Simulationsdaten 171 beinhaltet sein. Der Simulationswerkzeugsatz 114 erzeugt nachfolgend eine digitale Simulation 1003. Die digitale Simulation umfasst eine virtuelle Straßenumgebung 1004, die eine Gruppe von virtuellen Fußgängern 1007 umfasst. Die Gruppe von virtuellen Fußgängern 1007 ist mit den Pfadspezifikationen und den Verhaltensspezifikationen konform, die durch die Spezifikationsdaten 1011 beschrieben sind. Diese Konformität ist das, was durch die Bezeichnung „Konformität #1“ gemeint ist, die in 10 abgebildet ist.
-
Bei einigen Ausführungsbeispielen beschreiben die Variablendaten 197 eines oder mehrere Abdeckungskriterien 1014. Die vorstehend bei den 6 und 7 beschriebenen Variablen sind Beispiele der Abdeckungskriterien 1014. Zusätzliche Beispiele von Abdeckungskriterien 1014 sind nachstehend unter Bezugnahme auf die 11A bis 11C beschrieben.
-
Unter Bezugnahme auf die rechte Seite von 10 und „Konformität #2“, ist ein untergeordneter Vorgang zum Erzeugen eines virtuellen Fahrzeugs 1005 abgebildet, das ein mit Systemanforderungsdaten 1015 konformes virtuelles ADAS-System 1006 umfasst. Die Systemanforderungsdaten 1015 sind Digitaldaten, die die ADAS-Modelldaten 196 und die Fahrzeugmodelldaten 1012 umfassen.
-
Fahrzeugmodelldaten 1012 sind digitale Daten, die einen Entwurf eines virtuellen Fahrzeugs 1005 beschreiben. Die Fahrzeugmodelldaten 1012 umfassen jede digitalen Daten und Informationen, die dazu notwendig sind, den Simulationswerkzeugsatz 114 zur Erzeugung des virtuellen Fahrzeugs 1005 zur Einbindung in die digitale Simulation 1003 zu veranlassen. Die ADAS-Modelldaten 196 können in den Fahrzeugmodelldaten 1012 umfasst sein. Der Simulationswerkzeugsatz 114 umfasst ein Simulationswerkzeug und eine Spielmaschine. Das Simulationswerkzeug erzeugt Simulationsdaten 171 auf der Grundlage der Systemanforderungsdaten 1015. Die Simulationsdaten 171 sind digitale Daten, die eine digitale Simulation 1003 beschreiben, die die durch die Daten der virtuellen Fußgänger 198 beschriebene Gruppe der virtuellen Fußgänger und ein virtuelles Fahrzeug 1013 mit dem virtuellen ADAS-System 1006 umfasst. In dieser Weise umfassen bei einigen Ausführungsbeispielen die Simulationsdaten 171 die Daten der virtuellen Fußgänger 198 und Digitaldaten, die das virtuelle ADAS-System 1006 und das virtuelle Fahrzeug 1013 beschreiben. Die Spielmaschine erzeugt die digitale Simulation 1003 auf der Grundlage der Simulationsdaten 171. Die digitale Simulation 1003 kann auf der Anzeige 192 angezeigt werden. Das virtuelle Fahrzeug 1013, das das virtuelle ADAS-System 1006 umfasst, ist mit den Systemanforderungsdaten 1015 konform. Diese Konformität ist, was durch die Bezeichnung „Konformität #2“ gemeint ist, die in 10 abgebildet ist.
-
Die virtuelle Straßenumgebung 1004 ist eine Testeingabe 1099 für das virtuelle ADAS-System 1006, da das virtuelle ADAS-System 1006 auf die Gruppe der virtuellen Fußgänger 1007 reagieren muss. Die Gruppe der virtuellen Fußgänger 1007 umfasst einen oder mehrere virtuelle Fußgänger, die mit der Pfadspezifikation und der Verhaltensspezifikation konform sind, die jeweils durch die Pfadspezifikationsdaten 194 und die Verhaltensspezifikationsdaten beschrieben sind. Das virtuelle ADAS-System 1006 steuert den Betrieb des virtuellen Fahrzeugs 1013, einschließlich eines Lenkens des virtuellen Fahrzeugs 1013 und eines Bremsens des virtuellen Fahrzeugs 1013 als Reaktion auf das Vorhandensein der Gruppe der virtuellen Fußgänger 1007 in der virtuellen Straßenumgebung 1004. Das virtuelle Fahrzeug 1013 ist selbst in der virtuellen Straßenumgebung 1004 vorhanden, und reagiert auf das Vorhandensein der Gruppe der virtuellen Fußgänger 1007 bei deren Überqueren einer in der virtuellen Straßenumgebung 1004 umfassten Kreuzung. Dieses Reagieren auf das Vorhandensein der Gruppe von virtuellen Fußgängern 1007 ist eine Testausgabe 1098, die in der virtuellen Straßenumgebung 1004 umfasst ist. Das Fußgängererzeugungsmodul 199 überwacht diese Testausgabe 1098 und zeichnet Digitaldaten auf, die diese Testausgabe 1098 beschreiben. Diese Digitaldaten sind in der in 12 abgebildeten Visulisierung umfasst, die die Messungen der Leistungsfähigkeit des virtuellen ADAS-Systems 1006 zum Schutz der Gruppe der virtuellen Fußgänger 1007 abbildet.
-
Unter Bezugnahme auf die 11A-11C sind Blockdiagramme dargestellt, die beispielhafte Abdeckungskriterien gemäß einigen Ausführungsbeispielen veranschaulichen.
-
Unter Bezugnahme auf 11A sind abgebildet: (1) ein Abdeckungskriterium 1101, das eine Anzahl von Wegpunkten definiert, die für eine Pfadspezifikation verwendet werden; und (2) ein Abdeckungskriterium 1102, das ein Startgebiet und ein Endgebiet für eine Pfadspezifikation definiert.
-
Das Abdeckungskriterium 1101 umfasst die Randbedingung „n“. Ein Laufweg für einen virtuellen Fußgänger umfasst null oder mehr Richtungsänderungen, wenn der virtuelle Fußgänger eine Kreuzung überquert. Ein Punkt, an dem der virtuelle Fußgänger seine Richtung ändert, ist als ein Wegpunkt bezeichnet. Die Randbedingung „n“ definiert die Anzahl der Wegpunkte für einen Laufweg, der aufgrund einer bestimmten Pfadspezifikation erzeugt ist. Die Randbedingung „n“ ist unter Verwendung der Grenzparameter „nmin“ und „nmax“ definiert. Dementsprechend definiert ein Benutzer 106 der Eingabevisualisierung 600 einen minimalen und einen maximalen Wert für „n“. Siehe beispielsweise die in 6 abgebildete mittlere Spalte, die minimale und maximale Werte für den Abstand zwischen zwei aufeinanderfolgenden Richtungsänderungen für eine Vielzahl von Pfadspezifikationen umfasst. Dementsprechend ist die Randbedingung „n“ eine Variable der Pfadspezifikation, die durch den Benutzer unter Verwendung einer durch das Fußgängererzeugungsmodul 199 bereitgestellten Eingabevisualisierung konfigurierbar ist.
-
Nachstehend ist auf das Abdeckungskriterium 1102 Bezug genommen. Der Index für einen ersten Wegpunkt (zum Beispiel, „x1, y1“) und einen letzten Wegpunkt (zum Beispiel, „xn, yn“) bei einem bestimmten Laufweg sind durch die Abdeckungskriterien 1101 bestimmbar. Der obere Abschnitt des Abdeckungskriteriums 1102 betrifft den ersten Wegpunkt für einen auf der Grundlage einer Pfadspezifikation aufgebauten Laufweg und den letzten Wegpunkt für diesen Laufweg. Das Abdeckungskriterium 1102 definiert ein rechteckiges Areal für sowohl ein Startgebiet (d.h., ein rechteckiges Areal „As“) und ein Endgebiet (d.h., ein rechteckiges Areal „Ad“) für einen Laufweg. Das Abdeckungskriterium 1102 ist spezifiziert durch: die bekannten Grenzparameter des rechteckigen Areals für das Startgebiet (d.h., xsmin, xsmax, ysmin, ysmax), und des rechteckigen Areals für das Endgebiet (d.h., xdmin, xdmax, ydmin, ydmax); und die unbekannten Koordinaten des ersten Wegpunktes (zum Beispiel „x1, y1“) und des letzten Wegpunkts (zum Beispiel, „xn, yn“).
-
Unter Bezugnahme auf 11B ist ein Abdeckungskriterium 1103 abgebildet, das einen Grad der Richtungsänderung durch einen virtuellen Fußgänger beim Überqueren einer Kreuzung definieren. Der Grad der Richtungsänderung ist durch das Abdeckungskriterium 1103 unter Verwendung von irgendwelchen drei aufeinanderfolgenden Wegpunkten auf einem Laufweg charakterisiert. Beispielsweise ist der Grad der drei Richtungsänderungen Θ1, Θ2 und Θ3, die in dem Beispiel 401 gemäß 4B umfasst sind, hinsichtlich der nachstehenden drei Gruppen von Koordinaten charakterisiert: {(4,0), (3,5), (4,10)}, {(3,5), (4,10), (1,15)} und {(4,10), (1,15), (0,35)}. Das Abdeckungskriterium 1103 ist als ein Einstellen dieser Koordinaten als unbekannte Variablen ausgedrückt, während bei dem Abdeckungskriterium 1103 die minimalen und maximalen Grenzen der Richtungsänderungen als bekannte Variablen eingestellt sind.
-
Das Abdeckungskriterium 1103 ist mit den bekannten Grenzparametern (d.h., Θmin und Θmax) und den unbekannten drei aufeinanderfolgenden Koordinaten (z.B. xi, xi+1, xi+2) spezifiziert. Der Grad ist charakterisiert als eine Differenz zwischen zwei aufeinanderfolgenden Neigungen. Dieser Unterschied ist begrenzt zwischen den minimalen und maximalen Grenzparametern (d.h., Θmin und Θmax). Infolgedessen beeinflusst das Abdeckungskriterium 1103 die Pfadspezifikation durch ein Sicherstellen, dass der Grad der Richtungsänderung zwischen Wegpunkten immer oberhalb des minimalen Grenzparameters Θmin und unterhalb des maximalen Grenzparameters Θmax ist.
-
Unter Bezugnahme auf 11C sind Abdeckungskriterien 1104A und 1104B abgebildet, die zusammen einen Abstand zwischen aufeinanderfolgenden Richtungsänderungen definieren. Eine Richtungsänderung tritt bei jedem Wegpunkt eines Laufweges auf. Daher ist ein Abstand zwischen aufeinanderfolgenden Richtungsänderungen hinsichtlich zweier Koordinaten der Wegpunkte charakterisiert. Es gibt einige Wege, diesen Abstand zu charakterisieren. Die Abdeckungskriterien 1104A und 1104B sind unter Verwendung eines euklidischen Abstands charakterisiert, jedoch können andere Arten einer Charakterisierung des Abstands verwendet werden.
-
Die Abdeckungskriterien 1104A, 1104B umfassen die unbekannten Parameter, die die x-, y- und z-Koordinaten sind (xi, xi+1, yi, yi+1, zi, zi+1). Die Abdeckungskriterien 1104A und 1104B umfassen die Grenzparameter (d.h., dmin und dmax) als die bekannten Parameter.
-
Unter Bezugnahme auf 12 ist ein Blockdiagramm abgebildet, das eine Visualisierung 1200 mit einer Vielzahl von Laufwegen gemäß einigen Ausführungsbeispielen veranschaulicht.
-
Die in der Visualisierung 1200 abgebildeten Laufwege sind auf der Grundlage der Pfadspezifikationen, die vorstehend unter Bezugnahme auf 6 beschrieben sind, und der Verhaltensspezifikationen erzeugt, die vorstehend unter Bezugnahme auf 7 beschrieben sind. Element A der Visualisierung umfasst sechs grafische Darstellungen, bei denen die x-Achse und y-Achse die Position eines Laufweges hinsichtlich der Position der Kreuzung angeben. Die Elemente B und C zeigen, wie die aus der Pfadspezifikation #1 und der Pfadspezifikation #4 erzeugten Laufwege in der Spielmaschine visualisiert sind. Es werden zwanzig virtuelle Fußgänger erzeugt und jedem Laufweg zugeordnet. Zusätzlich dazu ist jeder virtuelle Fußgänger mit einer Logik in Verbindung gebracht, die die Semantik des Verhaltensmodels umsetzt, dass aus jeder Verhaltensspezifikation erzeugt ist. Als ein Ergebnis bewegt sich jeder virtuelle Fußgänger entlang seines zugewiesenen Laufweges (erzeugt aus der Pfadspezifikation) gemäß dem Verhalten (erzeugt aus der Verhaltensspezifikation).
-
In der vorstehenden Beschreibung sind für Erklärungszwecke zahlreiche bestimmte Einzelheiten dargelegt, um ein vollständiges Verständnis der Spezifikation bereitzustellen. Es ist jedoch offensichtlich, dass für einen Fachmann die Erfindung ohne diese bestimmten Einzelheiten ausgeführt werden kann. In einigen Fällen sind Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt, um die Beschreibung nicht zu beeinträchtigen. So können beispielsweise die vorliegenden Ausführungsbeispiele vor allem in Bezug auf Benutzeroberflächen und bestimmte Hardware beschrieben werden. Die vorliegenden Ausführungsbeispiele können jedoch für jede Art von Computersystem gelten, das Daten und Befehle empfangen kann, so wie für alle Peripherievorrichtungen, die Dienstleistungen erbringen.
-
In der vorstehenden Beschreibung werden zum Zwecke der Erklärung zahlreiche bestimmte Einzelheiten aufgeführt, um ein vollständiges Verständnis der Spezifikation zu ermöglichen. Für einen Fachmann ist jedoch ersichtlich, dass die Erfindung ohne diese bestimmten Einzelheiten ausgeführt werden kann. In einigen Fällen werden Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt, um die Beschreibung nicht zu beeinträchtigen. So können beispielsweise die vorliegenden Ausführungsbeispiele vor allem in Bezug auf Benutzeroberflächen und bestimmte Hardware beschrieben werden. Die vorliegenden Ausführungsbeispiele können jedoch für jede Art von Computersystem gelten, das Daten und Befehle empfangen kann, sowie für alle Peripheriegeräte, die Dienste bereitstellen.
-
Der Verweis in der Spezifikation auf „einige Ausführungsbeispiele“ oder „einige Einzelfälle“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit den Ausführungsbeispielen oder Einzelfällen beschrieben ist, in mindestens ein Ausführungsbeispiel der Beschreibung aufgenommen werden kann. Die Erscheinungsformen des Ausdrucks „in einigen Ausführungsbeispielen“ an verschiedenen Stellen in der Spezifikation beziehen sich nicht notwendigerweise alle auf die gleichen Ausführungsbeispiele.
-
Einige Teile der folgenden ausführlichen Beschreibungen sind in Form von Algorithmen und symbolischen Darstellungen von Operationen auf Datenbits in einem Computerspeicher dargestellt. Diese algorithmischen Beschreibungen und Darstellungen sind das Mittel, mit dem ein Fachmann der Datenverarbeitungstechnik den Gegenstand seiner Arbeit am effektivsten an einen anderen Fachmann weitergeben kann. Ein Algorithmus ist hier und im Allgemeinen als eine selbstkonsistente Abfolge von Schritten konzipiert, die zu einem gewünschten Ergebnis führen. Die Schritte sind diejenigen, die physikalische Manipulationen physikalischer Größen erfordern. In der Regel, wenn auch nicht unbedingt, werden diese Größen in Form von elektrischen oder magnetischen Signalen dargestellt, die gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert werden können. Es hat sich als sinnvoll erwiesen, diese Signale, vor allem aus Gründen der allgemeinen Verwendung, als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder dergleichen zu bezeichnen.
-
Es ist jedoch zu beachten, dass alle diese und ähnliche Begriffe mit den entsprechenden physikalischen Größen zu verknüpfen sind, und lediglich praktische Bezeichnungen für diese Größen sind. Sofern aus der folgenden Diskussion nicht ausdrücklich etwas anderes hervorgeht, wird anerkannt, dass sich Diskussionen, die Begriffe wie „Verarbeitung“ oder „Rechnen“ oder „Berechnen“ oder „Bestimmen“ oder „Anzeigen“ oder dergleichen verwenden, während der gesamten Beschreibung auf die Handlungen und Prozesse eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten, die als physische (elektronische) Größen innerhalb der Register und Speicher des Computersystems dargestellt werden, manipuliert und in andere Daten umwandelt, die ähnlich als physische Größen innerhalb des Computersystems dargestellt werden, oder Register oder andere solche Informationsspeicher-, Übertragungs- oder Anzeigevorrichtungen.
-
Die vorliegenden Ausführungsbeispiele der Spezifikation können sich auch auf eine Vorrichtung zur Durchführung der vorliegend beschriebenen Vorgänge beziehen. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein, oder sie kann einen universellen Computer beinhalten, der selektiv durch ein im Computer gespeichertes Computerprogramm aktiviert oder umgestaltet wird. Ein solches Computerprogramm kann auf einem computerlesbaren Speichermedium gespeichert werden, einschließlich, aber nicht beschränkt auf, jede Art von Diskette, einschließlich Disketten, optische Disketten, CD-ROMs und Magnetplatten, Nur-Lese-Speicher (ROMs), Direktzugriffsspeicher (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten, Flash-Speicher, einschließlich USB-Sticks mit nichtflüchtigem Speicher, oder jede Art von Medien, die zum Speichern elektronischer Anweisungen geeignet sind, die jeweils mit einem Computersystem-Bus gekoppelt sind.
-
Die Spezifikation kann in Form von einigen vollständigen Hardwareausführungsbeispielen, einigen vollständigen Softwareausführungsbeispielen oder einigen Ausführungsbeispielen erfolgen, die sowohl Hardware- als auch Softwareelemente enthalten. In einigen bevorzugten Ausführungsbeispielen ist die Spezifikation in Software umgesetzt, die unter anderem eine Firmware, residente Software, Mikrocode usw. umfasst.
-
Darüber hinaus kann die Beschreibung in der Form eines Computerprogrammprodukts erfolgen, das von einem computerverwendbaren oder computerlesbaren Medium aus zugänglich ist und Programmcodeelemente zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen Befehlsverarbeitungssystem bereitstellt. Für die Zwecke dieser Beschreibung kann ein computerverwendbares oder computerlesbares Medium jede Vorrichtung sein, die das Programm zur Verwendung durch oder in Verbindung mit dem Befehlsausführungssystem, dem Gerät oder der Vorrichtung enthalten, speichern, kommunizieren, verbreiten oder transportieren kann.
-
Ein Datenverarbeitungssystem, das zum Speichern oder Ausführen von Programmcodeelementen geeignet ist, umfasst mindestens einen Prozessor, der direkt oder indirekt über einen Systembus mit Speicherelementen gekoppelt ist. Die Speicherelemente können lokalen Speicher umfassen, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, Massenspeicher und Cache-Speicher, die eine Zwischenspeicherung von mindestens einigen Programmcodeelementen bereitstellen, um die Anzahl der Abfragen von Codeelementen aus dem Massenspeicher während der Ausführung zu reduzieren.
-
Ein-/Ausgabe- oder E/A-Vorrichtungen (einschließlich, aber nicht beschränkt auf Tastaturen, Anzeigen, Zeigevorrichtungen usw.) können entweder direkt oder über dazwischenliegende E/A-Steuerungen mit dem System gekoppelt werden.
-
Netzwerkadapter können auch mit dem System gekoppelt werden, damit das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder entfernten Druckern oder Speichervorrichtungen über private oder öffentliche Netzwerke gekoppelt werden kann. Modems, Kabelmodem und Ethernet-Karten sind nur einige der derzeit verfügbaren Arten von Netzwerkadaptern.
-
Schließlich sind die hierin vorgestellten Algorithmen und Anzeigen nicht von Natur aus mit einem bestimmten Computer oder einer anderen Vorrichtung verbunden. Verschiedene Mehrzwecksysteme können mit Programmen in Übereinstimmung mit den hierin enthaltenen Lehren verwendet werden, oder es kann sich als zweckmäßig erweisen, spezialisiertere Geräte zu bauen, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielzahl dieser Systeme ergibt sich aus der folgenden Beschreibung. Darüber hinaus wird die Spezifikation nicht mit Bezug auf eine bestimmte Programmiersprache beschrieben. Es ist zu beachten, dass eine Vielzahl von Programmiersprachen verwendet werden können, um die Lehren der Spezifikation, wie hierin beschrieben, umzusetzen.
-
Die vorstehende Beschreibung der Ausführungsbeispiele der Spezifikation wurde zur Veranschaulichung und Beschreibung vorgelegt. Es ist nicht beabsichtigt, dass diese erschöpfend oder die Spezifikation auf die genaue Form der Offenbarung beschränkend ist. Viele Abwandlungen und Abweichungen sind hinsichtlich der vorstehenden Lehre möglich. Es ist beabsichtigt, dass der Umfang der Offenbarung nicht durch diese detaillierte Beschreibung, sondern durch die Ansprüche dieser Anmeldung eingeschränkt wird. Wie für einen Fachmann ersichtlich ist, kann die Spezifikation in anderen bestimmten Formen verkörpert werden, ohne vom Geist oder ihren wesentlichen Merkmalen abzuweichen. Ebenso ist die besondere Benennung und Aufteilung der Module, Routinen, Merkmale, Attribute, Methoden und anderen Aspekte nicht zwingend oder signifikant, und die Mechanismen, die die Spezifikation oder ihre Merkmale umsetzen, können verschiedene Namen, Unterteilungen oder Formate aufweisen. Darüber hinaus können die Module, Routinen, Merkmale, Attribute, Methoden und andere Aspekte der Offenbarung als Software, Hardware, Firmware oder einer beliebigen Kombination der drei implementiert werden, wie für einen betreffenden Fachmann ersichtlich ist. Auch überall dort, wo ein Bestandteil, dessen eines Beispiel ein Modul ist, der Spezifikation als eine Software umgesetzt ist, kann die Komponente als eigenständiges Programm, als Teil eines größeren Programms, als eine Vielzahl von getrennten Programmen, als eine statisch oder dynamisch verknüpfte Bibliothek, als ein kernel-ladbares Modul, als Gerätetreiber oder in jeder anderen Weise, die jetzt oder in Zukunft einem Fachmann der Computerprogrammierung bekannt ist, realisiert werden. Darüber hinaus ist die Offenbarung in keiner Weise auf das Ausführungsbeispiel in einer bestimmten Programmiersprache oder für ein bestimmtes Betriebssystem oder eine bestimmte Umgebung beschränkt. Dementsprechend soll die Offenbarung den Umfang der Spezifikation, die in den nachstehenden Ansprüchen dargelegt ist, veranschaulichen, aber nicht einschränken.
-
Die Offenbarung umfasst Ausführungsbeispiele zum automatischen Generieren eines virtuellen Fußgängers für die Einbindung in eine digitale Simulation. Einige Ausführungsbeispiele eines Verfahrens können ein automatisches Erzeugen eines virtuellen Fußgängers auf der Grundlage einer Pfadspezifikation und einer Verhaltensspezifikation umfassen. Das Verfahren kann das Ausführen einer digitalen Simulation umfassen, die den eine Kreuzung überquerenden virtuellen Fußgänger und ein virtuelles Fahrzeug umfasst, das auf den die Kreuzung überquerenden virtuellen Fußgänger antwortet, wobei die digitale Simulation zur Messung einer Leistungsfähigkeit eines virtuellen fortschrittlichen Fahrerassistenzsystems (virtualisiertes „ADAS-System“) betreibbar ist, das in dem virtuellen Fahrzeug zum Schutz des virtuellen Fußgängers beim Antworten auf das Überqueren der Kreuzung durch den virtuellen Fußgänger umfasst ist. Das Verfahren kann ein Anzeigen einer Gruppe von Visualisierungen auf einer Anzeige umfassen, wobei die Gruppe von Visualisierungen auf der Anzeige visuell die Leistungsfähigkeit des virtuellen ADAS-Systems zum Schutz des virtuellen Fußgängers umfassen, beim Antworten auf das Überqueren der Kreuzung durch den virtuellen Fußgänger.
-
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
-
- US 15053945 [0027]
- US 14471387 [0037]
- US 15/013936 [0064]
- US 15159233 [0065]