-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich auf ein Kraftfahrzeuge, das durch automatisierte Antriebssysteme gesteuert wird, insbesondere jene, die konfiguriert sind, die Fahrzeuglenkung, den Antrieb und das Bremsen während eines Antriebszyklus ohne menschliches Eingreifen automatisch zu steuern. Ein Fahrzeug, das durch ein automatisiertes Antriebssystem gesteuert wird, geht beispielsweise aus der
DE 10 2017 126 925 A1 hervor.
-
EINLEITUNG
-
Der Betrieb von modernen Fahrzeugen wird zunehmend automatisierter, d. h. Fahrzeuge übernehmen die Fahrsteuerung mit geringerem Eingreifen durch den Fahrer. Die Fahrzeugautomatisierung wurde in nummerische Ebenen eingeteilt, von Null, entsprechend keiner Automatisierung mit voller menschlicher Kontrolle, bis Fünf, entsprechend der vollen Automatisierung ohne menschliche Kontrolle. Verschiedene automatisierte Fahrerassistenzsysteme, wie beispielsweise Geschwindigkeitsregelung, adaptive Geschwindigkeitsregelung und Parkassistenzsysteme, entsprechen niedrigeren Automatisierungsebenen, während echte „fahrerlose“ Fahrzeuge höheren Automatisierungsebenen entsprechen.
-
KURZDARSTELLUNG
-
Ein Kraftfahrzeug gemäß der vorliegenden Erfindung beinhaltet mindestens einen Sensor, der konfiguriert ist, Merkmale in einem Bereich an der Außenseite des Fahrzeugs zu erfassen. Das Fahrzeug beinhaltet mindestens ein Stellglied, das zur Steuerung der Fahrzeuglenkung, des Antriebs, der Schaltung oder der Bremsen konfiguriert ist. Das Fahrzeug beinhaltet zusätzlich ein automatisiertes Antriebssystem, das selektiv in einem nominalen Modus und in einem degradierten Modus betreibbar ist. Das automatisierte Antriebssystem ist konfiguriert, ein Stellgliedsteuersignal für das mindestens eine Stellglied als Reaktion auf Sensorsignale von dem mindestens einen Sensor zu erzeugen. Das automatisierte Antriebssystem beinhaltet einen Rechnerbeschleunigungsprozessor. Das Fahrzeug beinhaltet ferner einen Überwachungsprozessor in Verbindung mit dem automatisierten Antriebssystem. Der Überwachungsprozessor ist konfiguriert, eine Testeingabe zur Verarbeitung durch den Rechnerbeschleunigungsprozessor bereitzustellen, eine Testausgabe von dem Rechnerbeschleunigungsprozessor zu empfangen und in Reaktion darauf, dass der Testausgang kein Validierungskriterium erfüllt, das automatisierte Antriebssystem im degradierten Modus zu steuern.
-
In einer exemplarischen Ausführungsform umfasst der Rechnerbeschleunigungsprozessor eine Vielzahl von parallelen Verarbeitungskernen, und der Testeingang ist konfiguriert, eine Schwellenanzahl der Vielzahl von parallelen Verarbeitungskernen zu verwenden.
-
In einer exemplarischen Ausführungsform umfasst die Testeingabe einen Bildrahmen, ein Videosegment oder eine LiDAR-Punktwolke.
-
In einer exemplarischen Ausführungsform ist der Überwachungsprozessor ferner konfiguriert, die Testeingabe als Reaktion auf ein erfülltes Ressourcennutzungskriterium bereitzustellen. In solchen Ausführungsformen kann das Ressourcennutzungskriterium erfüllt werden, wenn das Fahrzeug in die PARKSTELLUNG geschaltet wird.
-
In einer exemplarischen Ausführungsform definiert der Überwachungsprozessor eine CPU des automatisierten Antriebssystems.
-
In einer exemplarischen Ausführungsform umfasst das automatisierte Antriebssystem einen primären Steuerungsprozessor, wobei sich der primäre Steuerungsprozessor vom Überwachungsprozessor unterscheidet.
-
Ferner wird ein Verfahren zum Validieren eines Rechnerbeschleunigungsprozessors beschrieben, das das Definieren eines Referenzsatzes von Komponenten zur Validierung umfasst. Der Referenzsatz von Komponenten beinhaltet einen Referenz-Rechnerbeschleunigungsprozessor mit einer Vielzahl von parallelen Verarbeitungskernen. Das Verfahren beinhaltet auch das Definieren eines Testmusters. Das Verfahren beinhaltet zusätzlich das Verarbeiten des Testmusters über den Referenzsatz von Komponenten, um eine Referenzausgabe zu erhalten. Das Verfahren beinhaltet ferner das Messen einer Anzahl der Vielzahl von parallelen Verarbeitungskernen, die bei der Verarbeitung des Testmusters verwendet werden. Das Verfahren beinhaltet zusätzlich, als Reaktion auf die Anzahl der Vielzahl von parallelen Verarbeitungskernen, die bei der Verarbeitung des Testmusters verwendet werden, das einen vordefinierten Schwellenwert erfüllt, das Speichern des Testmusters und eines Validierungskriteriums, das mit der Referenzausgabe in einem nichtflüchtigen Datenspeicher verbunden ist. Der nichtflüchtige Datenspeicher steht mit einem Überwachungsprozessor in Verbindung. Der Überwachungsprozessor steht mit einem Zielsatz von Komponenten in Verbindung, einschließlich eines Ziel-Rechnerbeschleunigungsprozessors. Der Zielsatz von Komponenten ist selektiv in einem nominalen Modus und in einem degradierten Modus betreibbar. Das Verfahren beinhaltet ferner das Bereitstellen des Testmusters über den Überwachungsprozessor an den Zielsatz von Komponenten. Das Verfahren beinhaltet zusätzlich das Verarbeiten des Testmusters über den Zielsatz von Komponenten, um eine Testausgabe zu erhalten. Das Verfahren beinhaltet ferner, als Reaktion auf die Testausgabe, die das Validierungskriterium nicht erfüllt, das automatische Steuern des Zielsatzes von Komponenten im degradierten Modus.
-
In einer exemplarischen Ausführungsform definiert der Zielsatz von Komponenten mindestens einen Teil eines automatisierten Antriebssystems eines Kraftfahrzeugs.
-
In einer exemplarischen Ausführungsform beinhaltet das Testmuster einen Bildrahmen, ein Videosegment oder eine LiDAR-Punktwolke.
-
In einer exemplarischen Ausführungsform erfolgt das Bereitstellen des Testmusters an den Zielsatz von Komponenten in Reaktion darauf, dass ein Ressourcennutzungskriterium erfüllt ist. In derartigen Ausführungsformen kann der Zielsatz von Komponenten mindestens einen Teil eines automatisierten Antriebssystems eines Kraftfahrzeugs definieren, und das Ressourcennutzungskriterium kann in Reaktion darauf erfüllt werden, dass das Fahrzeug in die PARKSTELLUNG geschaltet wird.
-
In einer exemplarischen Ausführungsform beinhaltet das Verfahren zusätzlich als Reaktion auf die Anzahl der Vielzahl von parallelen Verarbeitungskernen, die durch die Verarbeitung des Testmusters verwendet werden, das den vordefinierten Schwellenwert nicht erfüllt, das Neudefinieren des Testmusters.
-
In einer exemplarischen Ausführungsform entspricht der vordefinierte Schwellenwert im Wesentlichen allen aus der Vielzahl von parallelen Verarbeitungskernen.
-
In einer exemplarischen Ausführungsform beinhaltet das Validierungskriterium eine Ausführungszeit oder eine Durchlaufzeit.
-
Ausführungsformen gemäß der vorliegenden Erfindung bieten eine Reihe von Vorteilen. So stellt beispielsweise die vorliegende Erfindung ein System und ein Verfahren zum Testen von Hardware in einem Kraftfahrzeug bereit, einschließlich massiver Parallelprozessoren, für die die bekannten Diagnoseverfahren ungeeignet sind.
-
Die vorstehenden und andere Vorteile und Merkmale der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung der bevorzugten Ausführungsformen in Verbindung mit den zugehörigen Zeichnungen ersichtlich.
-
Figurenliste
-
- 1 ist ein schematisches Diagramm eines Kommunikationssystems, das ein autonom gesteuertes Fahrzeug gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet;
- 2 ist ein schematisches Blockdiagramm eines automatisierten Antriebssystems (ADS) für ein Fahrzeug gemäß einer Ausführungsform der vorliegenden Erfindung;
- 3 ist eine schematische Darstellung eines Steuerungssystems gemäß einer Ausführungsform der vorliegenden Erfindung;
- 4 ist ein Flussdiagramm, das ein Verfahren zur Steuerung eines Fahrzeugs gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
- 5 ist ein Flussdiagramm, das ein Verfahren zur Definition von Testmustern gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 veranschaulicht schematisch eine Betriebsumgebung, die ein mobiles Fahrzeugkommunikations- und Steuerungssystem 10 für ein Kraftfahrzeug 12 umfasst. Das Kommunikations- und Steuerungssystem 10 für das Fahrzeug 12 beinhaltet im Allgemeinen ein oder mehrere Mobilfunkanbietersysteme 60, ein Festnetz 62, einen Computer 64, eine mobile Vorrichtung 57, wie beispielsweise ein Smartphone, und eine Fernzugriffszentrale 78.
-
Das in 1 schematisch dargestellte Fahrzeug 12 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können. Das Fahrzeug 12 beinhaltet ein Antriebssystem 13, das in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem beinhalten kann.
-
Das Fahrzeug 12 beinhaltet zudem ein Getriebe 14, das so konfiguriert ist, dass es Leistung vom Antriebssystem 13 auf eine Vielzahl von Fahrzeugrädern 15 gemäß wählbaren Drehzahlverhältnissen überträgt. Gemäß verschiedenen Ausführungsformen kann das Getriebe 14 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Fahrzeug 12 beinhaltet zusätzlich Radbremsen 17, die so konfiguriert sind, dass sie ein Bremsmoment an die Fahrzeugräder 15 liefern. Die Radbremsen 17 können in verschiedenen Ausführungsformen Reibungsbremsen, ein regeneratives Bremssystem, wie z. B. eine Elektromaschine und/oder andere geeignete Bremssysteme, beinhalten.
-
Das Fahrzeug 12 beinhaltet zudem ein Lenksystem 16. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Erfindung zur Veranschaulichung als ein Lenkrad dargestellt, muss das Lenksystem 16 nicht unbedingt ein Lenkrad beinhalten.
-
Das Fahrzeug 12 beinhaltet ein drahtloses Kommunikationssystem 28, das konfiguriert ist, drahtlos mit anderen Fahrzeugen („V2V“) und/oder Infrastruktur („V2I“) zu kommunizieren. In einer exemplarischen Ausführungsform ist das drahtlose Kommunikationssystem 28 konfiguriert, über einen dedizierten Kurzstreckenkommunikationskanal (DSRC) zu kommunizieren. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden. Drahtlose Kommunikationssysteme, die für die Kommunikation über zusätzliche oder alternative drahtlose Kommunikationsstandards wie IEEE 802.11 und zellulare Datenkommunikation konfiguriert sind, werden jedoch ebenfalls im Rahmen der vorliegenden Erfindung berücksichtigt.
-
Das Antriebssystem 13, das Getriebe 14, das Lenksystem 16 und die Radbremsen 17 stehen in Verbindung mit oder unter Kontrolle eines Steuerungssystems 22. Während es hier als eine einzige Einheit zu Veranschaulichungszwecken dargestellt ist, kann das Steuerungssystem 22 eine Vielzahl von diskreten Steuerungen beinhalten. Das Steuerungssystem 22 kann einen Mikroprozessor oder eine zentrale Verarbeitungseinheit (CPU) beinhalten, die mit verschiedenen Arten von computerlesbaren Speichergeräten oder -medien in Verbindung steht. Computerlesbare Speichergeräte oder Medien können beispielsweise flüchtige und nichtflüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Direktzugriffsspeicher (RAM) und einem Aufrechterhaltungsspeicher („Keep-Alive-Memory, KAM“) beinhalten. KAM ist ein persistenter oder nichtflüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während die CPU ausgeschaltet ist. Computerlesbare Speichergeräte oder Medien können unter Verwendung einer beliebigen Anzahl an bekannten Speichergeräten, wie beispielsweise PROMs (programmierbare Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbare PROMs), Flash-Speicher oder beliebigen anderen elektrischen, magnetischen, optischen oder kombinierten Speichergeräten implementiert sein, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die vom Steuerungssystem 22 beim Steuern des Fahrzeugs verwendet werden.
-
Das Steuerungssystem 22 beinhaltet ein automatisiertes Fahrsystem (ADS) 24 zum automatischen Steuern verschiedener Stellglieder im Fahrzeug. In einer exemplarischen Ausführungsform ist das ADS 24 ein sogenanntes Level-Vier- oder Level-Fünf-Automatisierungssystem. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ unter Bezugnahme auf die Fahrmodus-spezifische Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Anforderung einzugreifen, reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können. In einer exemplarischen Ausführungsform ist das ADS 24 so konfiguriert, dass es das Antriebssystem 13, das Getriebe 14, das Lenksystem 16 und die Radbremsen 17 steuert, um die Fahrzeugbeschleunigung, das Lenken bzw. das Bremsen ohne menschliches Eingreifen über eine Vielzahl von Stellgliedern 30 in Reaktion auf Eingaben von einer Vielzahl von Sensoren 26, wie z. B. GPS, RADAR, LIDAR, optischen Kameras, thermischen Kameras, Ultraschallsensoren und/oder zusätzlichen Sensoren, zu steuern.
-
1 veranschaulicht mehrere vernetzte Geräte, die mit dem drahtlosen Kommunikationssystem 28 des Fahrzeugs 12 kommunizieren können. Eine der vernetzten Vorrichtungen, die über das drahtlose Kommunikationssystem 28 mit dem Fahrzeug 12 kommunizieren können, ist die mobile Vorrichtung 57. Die mobile Vorrichtung 57 kann eine Computerverarbeitungsfähigkeit, einen Sender-Empfänger, der mit einem drahtlosen Nahbereichsprotokoll kommunizieren kann, und eine visuelle Smartphone-Anzeige 59 beinhalten. Die Computerverarbeitungsfähigkeit beinhaltet einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Befehle beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die mobile Vorrichtung 57 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die mobile Vorrichtung 57 eine Mobilfunk-Kommunikationsfunktionalität, wodurch die mobile Vorrichtung 57, wie hierin erläutert, Sprach- und/oder Datenkommunikationen über das Mobilfunkanbietersystem 60 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt. Die visuelle Smartphone-Anzeige 59 kann zudem einen Berührungsbildschirm als grafische Benutzeroberfläche beinhalten.
-
Das Mobilfunkanbietersystem 60 ist vorzugsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen 70 (nur einer dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) 72, sowie alle anderen Netzwerkkomponenten beinhaltet, die zum Verbinden des Mobilfunkanbietersystems 60 mit dem Festnetz 62 erforderlich sind. Jeder Mobilfunkturm 70 beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen von unterschiedlichen Mobilfunktürmen mit der MSC 72 entweder direkt oder über zwischengeschaltete Geräte, wie z. B. eine Basisstationssteuereinheit, verbunden sind. Das Mobilfunkanbietersystems 60 kann jede geeignete Kommunikationstechnologie, darunter auch beispielsweise analoge Technologien, wie z. B. AMPS, oder digitale Technologien, wie z. B. CDMA (z. B. CDMA2000) oder GSM/GPRS, implementieren. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
-
Abgesehen vom Verwenden des Mobilfunkanbietersystems 60 kann ein unterschiedliches Mobilfunkanbietersystem in der Form von Satellitenkommunikation verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem Fahrzeug 12 bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten 66 und einer Uplink-Sendestation 67 erfolgen. Bei der unidirektionalen Kommunikation kann es sich beispielsweise um Satellitenradiodienste handeln, worin die Programmierinhalte (Nachrichten, Musik usw.) von der Sendestation 67 empfangen, für das Hochladen gepackt und anschließend an den Satelliten 66 gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Bei der bidirektionalen Kommunikation kann es sich beispielsweise um Satellitentelefondienste handeln, die den Satelliten 66 verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 12 und der Station 67 weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
-
Das Festnetz 62 kann ein herkömmliches landgebundenes Telekommunikationsnetzwerk sein, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Mobilfunkanbietersystem 60 mit der Fernzugriffszentrale 78 verbindet. So kann beispielsweise das Festnetz 62 ein öffentliches Telekommunikationsnetz (PSTN) beinhalten, wie es beispielsweise verwendet wird, um fest verdrahtete Telefonie, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetzes 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie z. B. drahtlosen lokalen Netzwerken (WLANs) oder Netzwerken, die drahtlosen Breitbandzugang (BWA) bereitstellen oder einer Kombination derselben implementiert sein. Weiterhin muss die Fernzugriffszentrale 78 nicht über das Festnetz 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem Mobilfunkanbietersystem 60, kommunizieren kann.
-
Obgleich in 1 als ein einziges Gerät dargestellt, kann der Computer 64 eine Anzahl von Computern beinhalten, die über ein privates oder öffentliches Netzwerk, wie z. B. das Internet, zugänglich sind. Jeder Computer 64 kann für einen oder mehrere Zwecke verwendet werden. In einer exemplarischen Ausführungsform kann der Computer 64 als ein Webserver konfiguriert sein, der durch das Fahrzeug 12 über das drahtlose Kommunikationssystem 28 und den Mobilfunkanbieter 60 zugänglich ist. Zu anderen derart zugänglichen Computern 64 können beispielsweise gehören: ein Computer in einer Reparaturwerkstatt, der Diagnoseinformationen und andere Fahrzeugdaten vom Fahrzeug über das drahtlose Kommunikationssystem 28 oder einen Speicherort eines Drittanbieters hochgeladen werden können oder aus welchem Fahrzeugdaten oder sonstige Informationen, entweder durch Kommunikation mit dem Fahrzeug 12, der Fernzugriffszentrale 78, der mobilen Vorrichtung 57 oder einer Kombination aus diesen bereitgestellt werden. Der Computer 64 kann eine durchsuchbare Datenbank und ein Datenbankverwaltungssystem instandhalten, das die Eingabe, Löschung und Änderung von Daten, sowie den Empfang von Anfragen ermöglicht, um Daten innerhalb der Datenbank zu lokalisieren. Der Computer 64 kann zudem für die Bereitstellung von Internetverbindungen, wie z. B. DNS-Diensten, oder als Netzwerkadressenserver verwendet werden, der DHCP oder ein anderes geeignetes Protokoll verwendet, um dem Fahrzeug 12 eine IP-Adresse zuzuweisen. Der Computer 64 kann mit mindestens einem zusätzlichen Fahrzeug zusätzlich zum Fahrzeug 12 kommunizieren. Das Fahrzeug 12 und alle zusätzlichen Fahrzeuge können gemeinsam als Flotte bezeichnet werden.
-
Wie in 2 dargestellt, beinhaltet das ADS 24 mehrere verschiedene Steuermodule, einschließlich mindestens eines Wahrnehmungssystems 32 zum Feststellen des Vorhandenseins, der Position, der Klassifizierung und der Bahn der erkannten Eigenschaften oder Objekte in der Nähe des Fahrzeugs. Das Wahrnehmungssystem 32 ist so konfiguriert, dass es Eingaben, wie beispielsweise in 1 veranschaulicht, von einer Vielzahl von Sensoren 26 empfängt und Sensoreingaben synthetisiert und verarbeitet, um Parameter zu erzeugen, die als Eingaben für andere Steueralgorithmen des ADS 24 verwendet werden.
-
Das Wahrnehmungssystem 32 umfasst ein Sensorfusions- und Vorverarbeitungsmodul 34, das die Sensordaten 27 aus der Vielzahl der Sensoren 26 verarbeitet und synthetisiert. Das Sensorfusions- und Vorverarbeitungsmodul 34 führt eine Kalibrierung der Sensordaten 27 durch, einschließlich, aber nicht beschränkt darauf, LIDAR-zu-LIDAR-Kalibrierung, Kamera-zu-LIDAR-Kalibrierung, LIDAR-zu-Chassis-Kalibrierung und LIDAR-Strahlintensitätskalibrierung. Das Sensorfusions- und Vorverarbeitungsmodul 34 gibt vorverarbeitete Sensorausgaben 35 aus.
-
Ein Klassifizierungs- und Segmentierungsmodul 36 empfängt die vorverarbeitete Sensorausgabe 35 und führt Objektklassifizierung, Bildklassifizierung, Ampelklassifizierung, Objektsegmentierung, Bodensegmentierung und Objektverfolgungsprozesse durch. Die Objektklassifizierung beinhaltet, ist aber nicht beschränkt darauf, die Identifizierung und Klassifizierung von Objekten in der Umgebung, einschließlich Identifizierung und Klassifizierung von Verkehrssignalen und - zeichen, RADAR-Fusion und -verfolgung, um die Platzierung und das Sichtfeld (FoV) des Sensors und die falsche positive Ablehnung über die LIDAR-Fusion zu berücksichtigen, um die vielen falschen Positiven zu beseitigen, die in einer städtischen Umgebung existieren, wie zum Beispiel Schachtabdeckungen, Brücken, in die Fahrbahn ragende Bäume oder Lichtmasten und andere Hindernisse mit einem hohen RADAR-Querschnitt, die aber nicht die Fähigkeit des Fahrzeugs beeinflussen, entlang seines Kurses zu fahren. Zusätzliche Objektklassifizierungs- und Verfolgungsprozesse, die durch das Klassifizierungs- und Segmentierungsmodell 36 durchgeführt werden, beinhalten, sind aber nicht beschränkt darauf, Freespace-Erkennung und High-Level-Tracking, die Daten von RADAR-Spuren, LIDAR-Segmentierung, LIDAR-Klassifizierung, Bildklassifizierung, Objektform-Passmodellen, semantischen Informationen, Bewegungsvorhersage, Rasterkarten, statischen Hinderniskarten und andere Quellen verschmelzen, um qualitativ hochwertige Objektspuren zu erzeugen. Das Klassifizierungs- und Segmentierungsmodul 36 führt zusätzlich eine Verkehrssteuerungs-Klassifizierungs- und Verkehrssteuerungsvorrichtungsverschmelzung mit Spurassoziations- und Verkehrssteuerungsvorrichtungsverhaltensmodellen durch. Das Klassifizierungs- und Segmentierungsmodul 36 erzeugt eine Objektklassifizierungs- und Segmentierungsausgabe 37, die eine Objektidentifikationsinformation enthält.
-
Ein Lokalisierungs- und Abbildungsmodul 40 verwendet die Objektklassifizierungs- und Segmentierungsausgabe 37, um Parameter zu berechnen, einschließlich, aber nicht beschränkt darauf, Schätzungen der Position und Ausrichtung des Fahrzeugs 12 in sowohl typischen als auch anspruchsvollen Fahrszenarien. Zu diesen anspruchsvollen Fahrszenarien gehören unter anderem dynamische Umgebungen mit vielen Autos (z. B. dichter Verkehr), Umgebungen mit großflächigen Obstruktionen (z. B. Fahrbahnbaustellen oder Baustellen), Hügel, mehrspurige Straßen, einspurige Straßen, eine Vielzahl von Straßenmarkierungen und Gebäuden oder deren Fehlen (z. B. Wohn- und Geschäftsbezirke) und Brücken und Überführungen (sowohl oberhalb als auch unterhalb eines aktuellen Straßensegments des Fahrzeugs).
-
Das Lokalisierungs- und Abbildungsmodul 40 enthält auch neue Daten, die als Ergebnis von erweiterten Kartenbereichen erfasst werden, die durch fahrzeugeigene Abbildungsfunktionen erhalten werden, die von Fahrzeug 12 während des Betriebs ausgeführt werden, und Zuordnungsdaten, die über das drahtlose Kommunikationssystem 28 zu Fahrzeug 12 „geschoben“ werden. Das Lokalisierungs- und Abbildungsmodul 40 aktualisiert die vorherigen Kartendaten mit den neuen Informationen (z. B. neue Spurmarkierungen, neue Gebäudestrukturen, Hinzufügen oder Entfernen von Baustellenzonen usw.), während unbeeinflusste Kartenbereiche unverändert bleiben. Beispiele von Kartendaten, die erzeugt oder aktualisiert werden können, beinhalten, sind aber nicht beschränkt darauf, die Ausweichspurkategorisierung, die Spurgrenzerzeugung, die Spurverbindung, die Klassifizierung von Neben- und Hauptstraßen, die Klassifizierung der Links- und Rechtskurven und die Kreuzungsspurerstellung. Das Lokalisierungs- und Abbildungsmodul 40 erzeugt eine Lokalisierungs- und Abbildungsausgabe 41, welche die Position und Ausrichtung des Fahrzeugs 12 in Bezug auf erkannte Hindernisse und Stra-ßenmerkmale umfasst.
-
Ein Fahrzeug-Odometrie-Modul 46 empfängt Daten 27 von den Fahrzeugsensoren 26 und erzeugt eine Fahrzeug-Odometrie-Ausgabe 47, die beispielsweise Fahrzeugkurs- und Geschwindigkeitsinformationen beinhaltet. Ein absolutes Positionierungsmodul 42 empfängt die Lokalisierungs- und Abbildungsausgabe 41 und die Fahrzeug-Odometrieinformation 47 und erzeugt eine Fahrzeugpositionsausgabe 43, die in getrennten Berechnungen, wie unten erörtert, verwendet wird.
-
Ein Objektvorhersagemodul 38 verwendet die Objektklassifizierungs- und Segmentierungsausgabe 37, um Parameter zu erzeugen, einschließlich, aber nicht beschränkt darauf, eine Position eines erkannten Hindernisses relativ zum Fahrzeug, einen vorhergesagten Weg des erkannten Hindernisses relativ zum Fahrzeug und eine Position und Ausrichtung der Fahrbahnen relativ zum Fahrzeug. Daten über den vorhergesagten Weg von Objekten (einschließlich Fußgänger, umliegende Fahrzeuge und andere bewegte Objekte) werden als Objektvorhersageausgabe 39 ausgegeben und in getrennten Berechnungen, wie unten erörtert, verwendet.
-
Das ADS 24 enthält auch ein Beobachtungsmodul 44 und ein Interpretationsmodul 48. Das Beobachtungsmodul 44 erzeugt eine Beobachtungsausgabe 45, die vom Interpretationsmodul 48 empfangen wird. Das Beobachtungsmodul 44 und das Interpretationsmodul 48 erlauben den Zugriff durch die Fernzugriffszentrale 78. Das Interpretationsmodul 48 erzeugt eine interpretierte Ausgabe 49, die eine zusätzliche Eingabe enthält, die von der Fernzugriffszentrale 78 bereitgestellt wird, sofern vorhanden.
-
Ein Wegplanungsmodul 50 verarbeitet und synthetisiert die Objektvorhersageausgabe 39, die interpretierte Ausgabe 49 und zusätzliche Kursinformationen 79, die von einer Online-Datenbank oder der Fernzugriffszentrale 78 empfangen werden, um einen Fahrzeugweg zu bestimmen, der verfolgt werden soll, um das Fahrzeug unter Beachtung der Verkehrsgesetze und Vermeidung von erkannten Hindernissen auf dem gewünschten Kurs zu halten. Das Wegplanungsmodul 50 verwendet Algorithmen, die konfiguriert sind, um beliebige erkannte Hindernisse in der Nähe des Fahrzeugs zu vermeiden, das Fahrzeug in einer gegenwärtigen Fahrspur zu halten und das Fahrzeug auf dem gewünschten Kurs zu halten. Das Wegplanungsmodul 50 gibt die Fahrzeugweginformationen als Wegplanungsausgabe 51 aus. Die Wegplanungsausgabe 51 beinhaltet eine vorgegebene Fahrzeugroute auf der Grundlage der Route, eine Fahrzeugposition relativ zu der Route, Position und Ausrichtung der Fahrspuren und das Vorhandensein und den Weg erfasster Hindernisse.
-
Ein erstes Steuermodul 52 verarbeitet und synthetisiert die Wegplanungsausgabe 51 und die Fahrzeugpositionsausgabe 43 zum Erzeugen einer ersten Steuerausgabe 53. Das erste Steuermodul 52 enthält auch die Kursinformation 79, die von der Fernzugriffszentrale 78 im Falle einer Fernübernahmebetriebsart des Fahrzeugs bereitgestellt wird.
-
Ein Fahrzeugsteuermodul 54 empfängt die erste Steuerausgabe 53 sowie die Geschwindigkeits- und Richtungsinformation 47, die von der Fahrzeug-Odometrie 46 empfangen wird, und erzeugt eine Fahrzeugsteuerausgabe 55. Die Fahrzeugsteuerausgabe 55 beinhaltet einen Satz Stellgliedbefehle, um den befohlenen Weg vom Fahrzeugsteuermodul 54 zu erreichen, einschließlich, jedoch nicht beschränkt darauf, einen Lenkbefehl, einen Schaltbefehl, einen Drosselbefehl und einen Bremsbefehl.
-
Die Fahrzeugsteuerausgabe 55 wird an die Stellglieder 30 übermittelt. In einer exemplarischen Ausführungsform beinhalten die Stellglieder 30 eine Lenksteuerung, eine Schaltsteuerung, eine Drosselsteuerung und eine Bremssteuerung. Die Lenksteuerung kann beispielsweise ein Lenksystem 16 steuern, wie in 1 veranschaulicht. Die Gangschaltsteuerung kann beispielsweise ein Getriebe 14 steuern, wie in 1 veranschaulicht. Die Drosselklappensteuerung kann beispielsweise ein Antriebssystem 13 steuern, wie in 1 veranschaulicht. Die Bremssteuerung kann beispielsweise die Radbremsen 17 steuern, wie in 1 veranschaulicht.
-
Nun unter Bezugnahme auf 3 ist ein Aspekt des Steuerungssystems 22 ausführlicher dargestellt. In dieser Ausführungsform beinhaltet das automatisierte Fahrsystem 24 eine CPU 80 in Verbindung mit einem Rechnerbeschleunigungsprozessor 82, der alternativ als Beschleuniger bezeichnet werden kann. Während nur eine CPU 80 und ein Beschleuniger 82 zu Veranschaulichungszwecken erörtert werden, kann das ADS 24, wie dargestellt, zusätzliche CPUs 80 und/oder Beschleuniger 82 beinhalten, um Redundanz bereitzustellen.
-
Ein Rechnerbeschleunigungsprozessor bezieht sich auf die Kategorie von Prozessoren, die für massive Parallelberechnungen konfiguriert sind, wie beispielsweise grafische Verarbeitungseinheiten (GPUs), Vektorprozessoren oder feldprogrammierbare Gate-Arrays (FPGAs). Während herkömmliche CPUs mit einer relativ kleinen Anzahl von Prozessorkernen bereitgestellt werden, die für die sequenzielle serielle Verarbeitung optimiert sind, beinhalten Rechnerbeschleunigungsprozessoren eine viel größere Anzahl von kleineren, effizienteren Kernen, die zur Ausführung mehrerer einfacher paralleler Berechnungen optimiert sind. Rechnerbeschleunigungsprozessoren können daher gut geeignet sein, um komplexe statistische Berechnungen des Typs, der bei der Bilderkennung verwendet wird, durchzuführen.
-
In der veranschaulichten Ausführungsform ist der Beschleuniger 82 konfiguriert, eine oder mehrere Funktionen des Wahrnehmungssystems 32 unter der Steuerung der CPU 80 auszuführen. Der Beschleuniger 82 empfängt Daten von den Sensoren 26 und von der CPU 80, ermittelt Attribute von Objekten, die von den Sensoren 26 erfasst werden, und übermittelt die Objektattribute an die CPU 80 zur nachfolgenden Verarbeitung, z. B. zur Objektidentifikation.
-
Aufgrund der massiv parallelen Natur von Rechnerbeschleunigungsprozessoren werden komplexe Berechnungen im Allgemeinen in viele diskrete einfache Berechnungen aufgeteilt, die dann nach der Ressourcenverfügbarkeit separat Prozessorkernen oder Pipes zugeordnet werden. Rechnerbeschleunigungsprozessoren können daher schwarzen Kästchen ähneln, da es schwierig sein kann, die Ergebnisse eines einzelnen Berechnungsschritts zwischen dem Eingang zum Beschleuniger und dessen Ausgang zu verfolgen. Konventionelle Hardware-Verifizierungsverfahren eignen sich daher nicht gut zur Bewertung der Leistung von Rechnerbeschleunigungsprozessoren.
-
Das Steuerungssystem 22 ist mit einem Überwachungsprozessor 84 versehen. In der veranschaulichten Ausführungsform ist der Überwachungsprozessor 84 als individuelle Hardwareeinheit bereitgestellt, die nicht zu ADS 24 gehört, z. B. als ein Mikroprozessor oder eine CPU, die von der CPU 80 und dem Beschleuniger 82 getrennt ist. In einer exemplarischen Ausführungsform ist der Überwachungsprozessor 84 ein Prozessor mit hoher Integrität mit Selbstdiagnosefähigkeit, z. B. im Allgemeinen ähnlich den herkömmlichen elektronischen Steuereinheiten für Kraftfahrzeuge. Der Überwachungsprozessor 84 steht mit der CPU 80 und mit einem ersten computerlesbaren Speichergerät 86 in Verbindung. Der Beschleuniger 82 steht mit einem zweiten computerlesbaren Speichergerät 88 in Verbindung. In anderen Ausführungsformen können die Funktionen des unten beschriebenen Überwachungsprozessors 84 von der CPU 80 oder einem anderen Prozessor des automatisierten Fahrsystems 24 ausgeführt werden, sodass kein diskreter Prozessor vorgesehen ist.
-
Die zweite computerlesbare Speichervorrichtung 88 ist mit einer Vielzahl von Testmustern versehen. Jedes entsprechende Testmuster ist repräsentativ für Rohdaten, wie sie von den Sensoren 26 erfasst werden können, z. B. einem Bildrahmen, einem Videosegment, das eine Vielzahl von Bildern, eine LiDAR-Punktwolke oder andere repräsentative Daten umfasst. Ein Verfahren zum Definieren von Testmustern wird nachstehend mit Bezug auf 5 erörtert. Die Daten in jedem Testmuster zeigen das Vorhandensein eines oder mehrerer Objekte eines Typs an, den das ADS 24 in der Lage ist, zu klassifizieren, wie beispielsweise ein Auto, ein Fußgänger, ein Fahrrad oder ein Gegenstand der Straßeneinrichtungen. Darüber hinaus ist das computerlesbare Speichergerät mit einer Referenznummer versehen, die dem jeweiligen Testmuster zugeordnet ist. Das erste computerlesbare Speichergerät 86 ist ebenfalls mit den Referenznummern der Testmuster und ferner mit einem Identifikations-Tag für jedes Testmuster versehen. Die Identifikations-Tags zeigen an, welcher Objekttyp in jedem Testmuster vorhanden ist.
-
Nun unter Bezugnahme auf 4 wird ein Verfahren gemäß der vorliegenden Erfindung in Form eines Flussdiagramms dargestellt. Das Verfahren beginnt bei Block 100, z. B. zu Beginn eines Fahrzyklus mit dem ADS 24 in einem nominalen Betriebsmodus. Der nominale Modus bezieht sich auf einen Betriebsmodus, bei dem keine Diagnosebedingungen, wie beispielsweise ein unerwünschtes Hardware- oder Softwareverhalten, erkannt werden. In der veranschaulichten Ausführungsform umfasst das Verfahren einen ersten Abschnitt 102, der durch den Überwachungsprozessor 84 ausgeführt wird, einen zweiten Abschnitt 104, der von der CPU 80 ausgeführt wird, und einen dritten Abschnitt 106, der von dem Beschleuniger 82 ausgeführt wird. In anderen Ausführungsformen können jedoch Aspekte des Verfahrens entsprechend einer Vielzahl von Prozessoren auf unterschiedliche Weise verteilt werden.
-
Es wird bestimmt, ob ein Testinitiierungskriterium erfüllt ist, wie in Operation 108 dargestellt. Das Testkriterium entspricht im Allgemeinen einem ausreichenden Niveau von Systemressourcen, um die Diagnose durchzuführen. In einer exemplarischen Ausführungsform kann das Testinitiierungskriterium erfüllt sein, wenn das Getriebe des Hostfahrzeugs in die PARKSTELLUNG geschaltet wird. In anderen Ausführungsformen können jedoch alternative Kriterien verwendet werden. Als Beispiel kann das Testkriterium als Reaktion auf einen Systemressourcenmonitor erfüllt sein, wenn dieser anzeigt, dass die Nutzung der CPU 80 und des Beschleunigers 82 unter einem Schwellenwert liegt. In anderen alternativen Ausführungsformen kann die Verarbeitung des Beschleunigers so konfiguriert sein, dass das Testmuster zusammen mit der normalen Datenverarbeitung an den Beschleuniger 82 weitergegeben werden kann. In solchen Ausführungsformen können die Testmusterdaten markiert werden, um eine Differenzierung zwischen dem Testmuster und den Live-Sensordaten zu ermöglichen.
-
Wenn die Bestimmung der Operation 108 negativ ist, d. h. das Testinitiierungskriterium nicht erfüllt ist, bleibt die Steuerung bei Operation 108. Der Algorithmus wird dann nicht fortgesetzt, bis ein Testinitiierungskriterium erfüllt ist.
-
Wenn die Bestimmung der Operation 108 positiv ist, d. h. das Testinitiierungskriterium erfüllt ist, wird der Test initiiert, wie bei Block 110 dargestellt.
-
Eine Testmusterkennung wird ausgewählt und an die CPU 80 übermittelt, wie bei Block 112 dargestellt. Die Testmusterkennung kann beispielsweise eine der im ersten computerlesbaren Speichergerät 86 gespeicherten Referenznummern beinhalten. In einer exemplarischen Ausführungsform wird die Testmusterkennung über einen Zufallsgenerator ausgewählt. In anderen Ausführungsformen kann die Testmusterkennung jedoch in anderer Weise ausgewählt werden, z. B. in sequenzieller Reihenfolge.
-
Die Testanforderung und die Testmusterkennung werden von der CPU 80 an den Beschleuniger 82 übermittelt, wie bei Block 114 dargestellt.
-
Der Beschleuniger 82 erhält das Testmuster entsprechend der Testmusterkennung, z. B. über das zweite computerlesbare Speichergerät 88, verarbeitet die Daten in dem Testmuster und übermittelt beliebige resultierende Objektdaten an die CPU 80, wie bei Block 116 dargestellt.
-
Die CPU 80 verarbeitet die Objektdaten, erzeugt eine Liste von Objekten in den Objektdaten und sendet die Ergebnisse an den Überwachungsprozessor 84, wie bei Block 118 dargestellt.
-
Der Überwachungsprozessor wertet aus, ob die Testergebnisse erfolgreiche Testabschlusskriterien erfüllen, wie bei Operation 120 veranschaulicht. Diese Bestimmung kann mindestens teilweise über Daten erfolgen, die im ersten computerlesbaren Speichergerät 86 gespeichert sind. In einer exemplarischen Ausführungsform umfassen die erfolgreichen Testabschlusskriterien das Erkennen eines Objekts in dem Testmuster, das Klassifizieren des Objekts, das Identifizieren korrekter Attribute des Objekts und das vollständige Verarbeiten des Testmusters innerhalb eines vordefinierten Zeitraums. Selbstverständlich können in anderen Ausführungsformen andere Kriterien und/oder zusätzliche Kriterien verwendet werden.
-
Wenn die Bestimmung der Operation 120 positiv ist, d. h. die Testergebnisse die erfolgreichen Testabschlusskriterien erfüllen, kehrt die Steuerung zu Operation 108 zurück. Das Hostfahrzeug arbeitet dadurch weiterhin gemäß nominalem Betriebsmodus, solange die Testergebnisse anzeigen, dass der Beschleuniger 82 und die CPU 80 wie erwartet arbeiten.
-
Wenn die Bestimmung der Operation 120 negativ ist, d. h. die Testergebnisse die erfolgreichen Testabschlusskriterien nicht erfüllen, wird ein Diagnosezähler inkrementiert, wie bei Block 122 dargestellt. Der Diagnosezähler zeigt eine Anzahl aufgetretener Diagnosebedingungen an und kann Ergebnisse von anderen Diagnoseprotokollen beinhalten.
-
Es wird bestimmt, ob eine Diagnosezähler einen vordefinierten Schwellenwert überschreitet, wie bei Operation 124 veranschaulicht. Der Schwellenwert ist eine positive ganze Zahl und kann gemäß einer Anzahl diagnostischer Bedingungen ausgewählt werden, die zulässig sind, um eine hohe Sicherheit beizubehalten, dass das ADS 24 wie gewünscht ausgeführt wird.
-
Wenn die Bestimmung der Operation 124 negativ ist, d. h. der Diagnosezähler den Schwellenwert nicht überschreitet, kehrt die Steuerung zu Operation 108 zurück. Das Hostfahrzeug arbeitet dadurch weiterhin gemäß dem nominalen Betriebsmodus, solange der Diagnosezähler den Schwellenwert nicht überschreitet.
-
Wenn die Bestimmung der Operation 124 positiv ist, d. h. der Diagnosezähler den Schwellenwert überschreitet, wird ein degradierter Betriebsmodus aktiviert, wie bei Block 126 veranschaulicht. In der in 3 veranschaulichten exemplarischen Ausführungsform kann der degradierte Betriebsmodus das Isolieren der CPU 80 und des Beschleunigers 82 und das Verwenden einer redundanten CPU und eines Beschleunigers oder das Isolieren nur des Beschleunigers und das Verwenden eines redundanten Beschleunigers umfassen. In alternativen Ausführungsformen, z. B. bei autonomen Fahrzeugen auf niedriger Stufe, in denen keine redundante CPU und/oder Beschleuniger vorgesehen sind, kann der degradierte Betriebsmodus das Beenden der autonomen Steuerung des Hostfahrzeugs und die Rückübertragung der Steuerung auf den menschlichen Bediener umfassen.
-
Nun unter Bezugnahme auf 5 wird ein Verfahren zur Definition von Testmustern gemäß der vorliegenden Erfindung in Form eines Flussdiagramms dargestellt. In einer exemplarischen Ausführungsform kann dieses Verfahren Offline durchgeführt werden, z. B. auf einer Referenzhardware, die der vorstehend in Bezug auf 3 beschriebenen ähnlich ist, und die daraus erhaltenen Testmuster können anschließend auf eine Vielzahl von Hostfahrzeugen für die Hardware-Validierung angewendet werden, wie vorstehend mit Bezug auf 4 erörtert wurde.
-
Eine Liste von Komponenten zur Auswertung wird definiert, wie bei Block 200 veranschaulicht. In einer exemplarischen Ausführungsform beinhalten die Komponenten einen Beschleuniger und einen zugehörigen Datenspeicher, z. B. den Beschleuniger 82 und das zweite computerlesbare Speichermedium 88.
-
Ein Testmuster mit komplexen Eigenschaften wird definiert, wie bei Block 202 veranschaulicht. In einer exemplarischen Ausführungsform umfasst das Testmuster einen Bildrahmen, ein Videosegment oder eine LiDAR-Punktwolke, die für typische Sensordaten repräsentativ ist. Das Testmuster enthält ein oder mehrere Merkmale, die unter Verwendung der Komponenten zur Auswertung identifiziert werden können.
-
Eine Anzahl von Threads zur Abdeckung der Verarbeitung über alle Parallelrohre wird bestimmt, wie bei Block 204 veranschaulicht. Wie oben erörtert, beziehen sich Beschleuniger auf massive Parallelprozessoren, und als solches kann eine relativ große Anzahl von Threads erforderlich sein, um sicherzustellen, dass alle Kerne aktiviert werden.
-
Das Testmuster wird dann, wie bei Block 206 veranschaulicht, durch den Beschleuniger und andere Komponenten zur Auswertung verarbeitet.
-
Es wird bestimmt, ob eine ausreichende Anzahl von Kernen verwendet wird und eine ausreichende Anzahl von parallelen Schaltkreisen verwendet wird, wie bei Operation 208 dargestellt. Diese Bestimmung kann unter Verwendung eines Hardware-Profilers oder eines anderen geeigneten Diagnosewerkzeugs erfolgen. In einer exemplarischen Ausführungsform ist diese Bestimmung in Reaktion auf alle Kerne und Parallelschaltungen des verwendeten Beschleunigers erfüllt. In einigen Ausführungsformen kann jedoch eine kleinere Menge verwendet werden, wenn sie für eine gegebene Anwendung geeignet ist.
-
Wenn die Bestimmung der Operation 208 negativ ist, kehrt die Steuerung zu Block 204 zurück und die Anzahl der erforderlichen Threads kann erneut ausgewertet werden.
-
Wenn die Bestimmung der Operation 208 positiv ist, dann wird bestimmt, ob eine geeignete Speichermenge verwendet wird, wie bei Operation 210 veranschaulicht. Diese Bestimmung kann unter Verwendung eines Hardware-Profilers oder eines anderen geeigneten Diagnosewerkzeugs erfolgen. In einer exemplarischen Ausführungsform ist diese Bestimmung, in Reaktion auf alle verwendeten Speicher des Beschleunigers, erfüllt. In einigen Ausführungsformen kann jedoch eine kleinere Menge verwendet werden, wenn sie für eine gegebene Anwendung geeignet ist.
-
Wenn die Bestimmung der Operation 210 negativ ist, kehrt die Steuerung zu Block 202 zurück und ein neues Testmuster kann definiert werden. In einer exemplarischen Ausführungsform ist das neue Testmuster komplexer als das vorherige Testmuster und/oder umfasst eine größere Datenmenge, z. B. zusätzliche Bildrahmen.
-
Wenn die Bestimmung der Operation 210 positiv ist, wird das Testmuster mehrfach verarbeitet, um eine durchschnittliche Ausführung und eine durchschnittliche Durchsatzzeit zu berechnen, wie bei Block 212 veranschaulicht.
-
Die Bilder, die erwartete Ausgabe und andere Validierungskriterien, wie die durchschnittliche Ausführungs- und Durchlaufzeit, werden dann zur Verwendung mit einem Zielsatz von Hardwarekomponenten gespeichert, z. B. in dem ersten computerlesbaren Speichermedium 86 und dem zweiten computerlesbaren Speichermedium 88 eines Hostfahrzeugs, wie vorstehend erläutert.
-
Wie ersichtlich ist, stellt die vorliegende Erfindung ein System und ein Verfahren zum Testen von Hardware in einem Kraftfahrzeug bereit, einschließlich massiver Parallelprozessoren, für die die bekannten Diagnoseverfahren ungeeignet sind.