DE102022100549A1 - Mit einem rang versehene fehlerzustände - Google Patents

Mit einem rang versehene fehlerzustände Download PDF

Info

Publication number
DE102022100549A1
DE102022100549A1 DE102022100549.6A DE102022100549A DE102022100549A1 DE 102022100549 A1 DE102022100549 A1 DE 102022100549A1 DE 102022100549 A DE102022100549 A DE 102022100549A DE 102022100549 A1 DE102022100549 A1 DE 102022100549A1
Authority
DE
Germany
Prior art keywords
vehicle
fault conditions
computer
conditions
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022100549.6A
Other languages
English (en)
Inventor
Dhanunjay Vejalla
David A. Symanow
Ray Siciak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102022100549A1 publication Critical patent/DE102022100549A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0816Indicating performance data, e.g. occurrence of a malfunction
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3691Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Environmental Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)

Abstract

Eine Vielzahl von Fehlerzuständen wird auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs erfasst. Die erfassten Fehlerzustände, eine Fehlerzustandswichtigkeit, Umgebungszustände und ein Fahrzeugbetriebsmodus werden in ein neuronales Netzwerk eingegeben, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt. Das neuronale Netzwerk wird durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erkannten Fehlerzustände mit einem Rang versieht, trainiert. Das Fahrzeug wird auf Grundlage der Rangordnungen der Fehlerzustände betrieben.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugdiagnosesysteme und insbesondere das Erfassen und mit einem Rang versehen von Fehlerzuständen in einem Fahrzeug.
  • ALLGEMEINER STAND DER TECHNIK
  • Ein Fahrzeug kann mit elektronischen und elektromechanischen Komponenten ausgestattet sein, z. B. Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen usw. Ein Fahrzeugcomputer kann Daten bezüglich der Umgebung des Fahrzeugs aufnehmen und kann das Fahrzeug oder zumindest einige Komponenten davon auf Grundlage der aufgenommenen Daten betreiben. Fahrzeugsensoren können Daten hinsichtlich zurückzulegender Routen und zu umfahrender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Aufnehmen genauer und aktueller Daten bezüglich Objekten in der Umgebung eines Fahrzeugs während des Betriebs des Fahrzeugs stützen.
  • KURZDARSTELLUNG
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei auf dem Speicher Anweisungen gespeichert sind, die durch den Prozessor ausgeführt werden können, um auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs eine Vielzahl von Fehlerzuständen zu erfassen. Die Anweisungen beinhalten ferner Anweisungen, um die erfassten Fehlerzustände, eine Fehlerzustandswichtigkeit, Umgebungszustände und einen Fahrzeugbetriebsmodus in ein neuronales Netzwerk einzugeben, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt. Das neuronale Netzwerk wird durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erkannten Fehlerzustände mit einem Rang versieht, trainiert. Die Anweisungen beinhalten ferner Anweisungen, um das Fahrzeug auf Grundlage der Rangordnungen der Fehlerzustände zu betreiben.
  • Umgebungszustände können mindestens eines von Straßendaten oder Wetterdaten beinhalten. Die Fehlerzustandswichtigkeit kann auf Grundlage einer Zeitdauer bestimmt werden, für die das Fahrzeug nach dem Erfassen von entsprechenden Fehlerzuständen betrieben werden darf. Das neuronale Netzwerk kann erste verborgene Schichten beinhalten, die latente Variablen an zweite verborgene Schichten ausgeben, die Rangordnungen für die erfassten Fehlerzustände ausgeben.
  • Die ersten verborgenen Schichten können Verzerrungsneuronen beinhalten.
  • Das neuronale Netzwerk kann Parameter der Verlustfunktion durch das Anwenden eines Gradientenabstiegs auf die Verlustfunktion optimieren.
  • Die Anweisungen können ferner Anweisungen beinhalten, um das Fahrzeug auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands als eines von dauerhaft oder vorübergehend zu betreiben.
  • Die Anweisungen können ferner Anweisungen beinhalten, um bei Bestimmen, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk größer oder gleich einer vorbestimmten Zeit ist, das Kommunikationsnetzwerk an Bord des Fahrzeugs auf aktualisierte Fehlerzustände hin zu überwachen und den Betrieb des Fahrzeugs beizubehalten.
  • Die Anweisungen können ferner Anweisungen beinhalten, um bei Erfassen aktualisierter Fehlerzustände die aktualisierten Fehlerzustände in das neuronale Netzwerk einzugeben, das eine Rangordnung für den aktualisierten Fehlerzustand ausgibt.
  • Die Anweisungen können ferner Anweisungen beinhalten, um das Fahrzeug ferner auf Grundlage des Bestimmens, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als eine vorbestimmte Zeit ist, zu betreiben.
  • Die Anweisungen können ferner Anweisungen beinhalten, um den Fahrzeugbetriebsmodus auf Grundlage von Fahrzeugsensordaten zu bestimmen.
  • Die Anweisungen können ferner Anweisungen beinhalten, um die Umgebungszustände auf Grundlage von Fahrzeugsensordaten zu bestimmen.
  • Die Anweisungen können ferner Anweisungen beinhalten, um auf eine Lookup-Tabelle zuzugreifen, um die Fehlerzustandswichtigkeit zu bestimmen.
  • Die Anweisungen können ferner Anweisungen beinhalten, um auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands eines von Beibehalten des Betriebs des Fahrzeugs oder Durchführens eines Minimalrisikomanövers durchzuführen.
  • Ein Verfahren beinhaltet das Erfassen einer Vielzahl von Fehlerzuständen auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs. Das Verfahren beinhaltet ferner das Eingeben der erfassten Fehlerzustände, einer Fehlerzustandswichtigkeit, von Umgebungszuständen und eines Fahrzeugbetriebsmodus in ein neuronales Netzwerk, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt. Das neuronale Netzwerk wird durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erkannten Fehlerzustände mit einem Rang versieht, trainiert. Das Verfahren beinhaltet ferner das Betreiben des Fahrzeugs auf Grundlage der Rangordnungen der Fehlerzustände.
  • Das neuronale Netzwerk kann Parameter der Verlustfunktion durch das Anwenden eines Gradientenabstiegs auf die Verlustfunktion optimieren.
  • Das Verfahren kann ferner das Betreiben des Fahrzeugs ferner auf Grundlage des Bestimmens, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als eine vorbestimmte Zeit ist, beinhalten.
  • Das Verfahren kann ferner auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands eines von Beibehalten des Betriebs des Fahrzeugs oder Durchführen eines Minimalrisikomanövers beinhalten.
  • Das Verfahren kann ferner das Betreiben des Fahrzeugs ferner auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands als eines von dauerhaft oder vorübergehend beinhalten.
  • Die Fehlerzustandswichtigkeit kann auf Grundlage einer Zeitdauer bestimmt werden, für die das Fahrzeug nach dem Erfassen von entsprechenden Fehlerzuständen betrieben werden darf. Ferner ist in dieser Schrift eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Darüber hinaus ist in dieser Schrift ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium beinhaltet, auf dem durch einen Computerprozessor ausführbare Anweisungen gespeichert sind, um beliebige der vorstehenden Verfahrensschritte auszuführen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes Fahrzeugsteuersystem für ein Fahrzeug veranschaulicht.
    • 2 ist ein beispielhaftes Diagramm eines tiefen neuronalen Netzwerks.
    • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben des Fahrzeugs.
  • DETAILLIERTE BESCHREIBUNG
  • Ein Fahrzeugcomputer kann eine Vielzahl von Fehlerzuständen erfassen, die einer oder mehreren Fahrzeugkomponenten zugeordnet sind. Die Fehlerzustände können unterschiedliche Schweregrade aufweisen. Zum Beispiel können einige Fehlerzustände darauf hinweisen, dass der Betrieb der Fahrzeugkomponente beeinträchtigt ist, und andere Fehlerzustände können darauf hinweisen, dass eine Wartung erforderlich ist. Die Schwere jedes Fehlerzustands kann jedoch von einem oder mehreren Faktoren abhängen, einschließlich Umgebungszuständen, einem Fahrzeugbetriebsmodus usw. Zum Beispiel kann ein Fehlerzustand, der einer Bremskomponente zugeordnet ist, einen niedrigeren Schweregrad aufweisen, wenn sich das Fahrzeug in einem Zündung-Ein-Modus befindet, verglichen damit, wenn sich das Fahrzeug in einem autonomen Fahrmodus befindet. Dem Fahrzeugcomputer können zum Beispiel Rechenressourcen fehlen, um erfasste Fehlerzustände innerhalb einer Zeitdauer zu priorisieren, um das Fahrzeug zu betreiben, sodass der Fahrzeugcomputer das Fahrzeug auf Grundlage einer Reihenfolge betreiben kann, in der Fehlerzustände erfasst werden. Als ein anderes Beispiel können dem Fahrzeugcomputer Rechenressourcen fehlen, um das Fahrzeug auf Grundlage der erfassten Fehlerzustände zu betreiben, wenn eine Anzahl von erfassten Fehlerzuständen einen Schwellenwert überschreitet. Vorteilhafterweise kann der Fahrzeugcomputer die erfassten Fehlerzustände und zusätzliche Faktoren, einschließlich Umgebungszuständen, eines Fahrzeugbetriebsmodus usw., in ein neuronales Netzwerk eingeben, das dazu trainiert ist, die erfassten Fehlerzustände mit einem Rang zu versehen. Das Erhalten der Rangordnungen der erfassten Fehlerzustände vom neuronalen Netz kann Rechenzeit und Ressourcen reduzieren, was es dem Fahrzeugcomputer ermöglichen kann, das Fahrzeug auf Grundlage der Rangordnungen der Fehlerzustände zu betreiben.
  • Unter Bezugnahme auf die Figuren beinhaltet ein beispielhaftes Fahrzeugsteuersystem 100 ein Fahrzeug 105. Ein Fahrzeugcomputer 110 im Fahrzeug 105 empfängt Daten von Sensoren 115. Der Fahrzeugcomputer 110 ist dazu programmiert, eine Vielzahl von Fehlerzuständen auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs zu erfassen. Der Fahrzeugcomputer 110 ist ferner dazu programmiert, die erfassten Fehlerzustände, eine Fehlerzustandswichtigkeit, Umgebungszustände und einen Fahrzeugbetriebsmodus in ein neuronales Netzwerk einzugeben, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt. Das neuronale Netzwerk wird durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erkannten Fehlerzustände mit einem Rang versieht, trainiert. Der Fahrzeugcomputer 110 ist ferner dazu programmiert, das Fahrzeug auf Grundlage der Rangordnungen der Fehlerzustände zu betreiben.
  • Nun unter Bezugnahme auf 1 beinhaltet das Fahrzeug 105 den Fahrzeugcomputer 110, Sensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Das Kommunikationsmodul 130 ermöglicht es dem Fahrzeugcomputer 110, mit einem Remote-Servercomputer 140, einer Benutzervorrichtung 145 und/oder anderen Fahrzeugen zu kommunizieren, z. B. über ein Nachrichten- oder Rundfunkprotokoll, wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC), Mobilfunk, und/oder ein anderes Protokoll, das die Kommunikation von Fahrzeug zu Fahrzeug, von Fahrzeug zu Infrastruktur, von Fahrzeug zu Cloud oder dergleichen unterstützen kann, und/oder über ein Paketnetzwerk 135.
  • Der Fahrzeugcomputer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und darauf sind durch den Fahrzeugcomputer 110 ausführbare Anweisungen zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, gespeichert. Der Fahrzeugcomputer 110 kann ferner zwei oder mehr Rechenvorrichtungen beinhalten, die zusammenarbeiten, um Vorgänge des Fahrzeugs 105, einschließlich der in dieser Schrift beschriebenen, auszuführen. Ferner kann der Fahrzeugcomputer 110 ein Universalcomputer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder kann eine dedizierte elektronische Schaltung beinhalten, einschließlich einer ASIC, die für einen bestimmten Vorgang hergestellt ist, z. B. eine ASIC zum Verarbeiten von Sensordaten und/oder Kommunizieren der Sensordaten. In einem anderen Beispiel kann der Fahrzeugcomputer 110 ein FPGA (feldprogrammierbares Gate-Array) beinhalten, bei dem es sich um eine integrierte Schaltung handelt, die so hergestellt ist, dass sie durch einen Benutzer konfigurierbar ist. In der Regel wird eine Hardware-Beschreibungssprache, wie etwa VHDL (Very High Speed Integrated Circuit Hardware Description Language - Hardware-Beschreibungssprache für integrierte Schaltungen mit sehr hoher Geschwindigkeit), in der elektronischen Ausgestaltungsautomatisierung verwendet, um digitale und Mischsignal-Systeme, wie etwa FPGA und ASIC, zu beschreiben. Beispielsweise wird eine ASIC auf Grundlage von VHDL-Programmierung hergestellt, die vor der Herstellung bereitgestellt wird, wohingegen logische Komponenten innerhalb einer FPGA auf Grundlage von VHDL-Programmierung konfiguriert sein können, z. B. auf einem Speicher gespeichert, der elektrisch mit der FPGA-Schaltung verbunden ist. In einigen Beispielen kann eine Kombination aus Prozessor(en), ASIC(s) und/oder FPGA-Schaltungen im Fahrzeugcomputer 110 eingeschlossen sein.
  • Der Fahrzeugcomputer 110 kann das Fahrzeug 105 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen (oder manuellen) Modus betreiben und/oder überwachen, d. h. kann den Betrieb des Fahrzeugs 105 steuern und/oder überwachen, einschließlich des Steuerns und/oder Überwachens von Komponenten 125. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Fahrzeugcomputer 110 gesteuert wird; in einem teilautonomen Modus steuert der Fahrzeugcomputer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105. Der Fahrzeugcomputer 110 kann eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs 105 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Getriebe, Steuerung der Klimaanlage, Innen- und/oder Außenbeleuchtung, Hupe, Türen usw. des Fahrzeugs 105 zu betreiben sowie um zu bestimmen, ob und wann der Fahrzeugcomputer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll.
  • Der Fahrzeugcomputer 110 kann mehr als einen Prozessor beinhalten, z. B. in elektronischen Steuereinheiten (electronic control units - ECUs) oder dergleichen enthalten, die im Fahrzeug 105 enthalten sind, um verschiedene Fahrzeugkomponenten 125 zu überwachen und/oder zu steuern, z. B. eine Getriebesteuerung, eine Bremssteuerung, eine Lenksteuerung usw., oder kommunikativ mit diesen gekoppelt sein, z. B. über ein Kommunikationsnetzwerk des Fahrzeugs, wie etwa einen Kommunikationsbus, wie nachstehend näher beschrieben. Der Fahrzeugcomputer 110 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk, das einen Bus im Fahrzeug 105 beinhalten kann, wie etwa ein Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen eingerichtet.
  • Der Fahrzeugcomputer 110 kann über das Netzwerk des Fahrzeugs 105 Nachrichten an verschiedene Vorrichtungen im Fahrzeug 105 übertragen und/oder Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z. B. Sensoren 115, einem Aktor 120, ECUs usw., empfangen. Alternativ oder zusätzlich dazu kann das Fahrzeugkommunikationsnetz in Fällen, in denen der Fahrzeugcomputer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Fahrzeugcomputer 110 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 115 dem Fahrzeugcomputer 110 Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
  • Die Sensoren 115 des Fahrzeugs 105 können eine Vielfalt an Vorrichtungen einschließen, die bekanntlich Daten an den Fahrzeugcomputer 110 bereitstellen. Beispielsweise können die Sensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. einschließen, der/die auf einem Verdeck des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und relative Standorte, Größen und Formen von Objekten bereitstellt/bereitstellen, die das Fahrzeug 105 umgeben. Als ein anderes Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um Standorte der Objekte, von zweiten Fahrzeugen usw. bezogen auf den Standort des Fahrzeugs 105 bereitzustellen. Die Sensoren 115 können ferner alternativ oder zusätzlich zum Beispiel (einen) Kamerasensor(en) 115 beinhalten, z. B. eine Frontkamera, Seitenkamera usw., der/die Bilder von einem das Fahrzeug 105 umgebenden Bereich bereitstellt/bereitstellen. Im Zusammenhang mit dieser Offenbarung ist ein Objekt ein physischer, d. h. materieller, Gegenstand, der eine Masse aufweist und der durch physikalische Phänomene (z. B. Licht oder andere elektromagnetische Wellen oder Schall usw.), die durch Sensoren 115 erkennbar sind, dargestellt werden kann. Somit fallen das Fahrzeug 105 sowie weitere Gegenstände, einschließlich der nachstehend erörterten, unter die Definition von „Objekt“ in dieser Schrift. Der Fahrzeugcomputer 110 ist programmiert, um Daten von einem oder mehreren Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder auf Anweisung durch einen Remote-Servercomputer 140 usw. zu empfangen. Die Daten können zum Beispiel einen Standort des Fahrzeugs 105 beinhalten. Standortdaten geben einen Punkt oder Punkte auf einer Bodenfläche an und können in einer bekannten Form vorliegen, z. B. Geokoordinaten, wie etwa Längengrad- und Breitengradkoordinaten, die über ein Navigationssystem erlangt wurden, wie bekannt, welches das globale Positionierungsbestimmungssystem (GPS) verwendet. Zusätzlich oder alternativ können die Daten einen Standort eines Objekts, z. B. eines Fahrzeugs, eines Schildes, eines Baums usw., relativ zu dem Fahrzeug 105 beinhalten. Als ein Beispiel können die Daten Bilddaten der Umgebung um das Fahrzeugs 105 herum sein. In einem solchen Beispiel können die Bilddaten ein oder mehrere Objekte und/oder Markierungen, z. B. Spurmarkierungen, auf oder entlang einer Straße beinhalten. Mit Bilddaten sind in dieser Schrift digitale Bilddaten gemeint, die z. B. Pixel mit Intensitäts- und Farbwerten umfassen, die durch Kamerasensoren 115 aufgenommen werden können. Die Sensoren 115 können an einer beliebigen geeigneten Stelle in oder an dem Fahrzeug 105 montiert sein, z. B. an einem Stoßfänger des Fahrzeugs 105, an einem Dach des Fahrzeugs 105 usw., um Bilder der Umgebung um das Fahrzeugs 105 herum zu erfassen.
  • Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß zweckmäßigen Steuersignalen betätigen können, wie es bekannt ist. Die Aktoren 120 können verwendet werden, um Steuerkomponenten 125 zu steuern, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105.
  • Im Zusammenhang mit der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa das Fahrzeug 105 zu bewegen, das Fahrzeug 105 abzubremsen oder anzuhalten, das Fahrzeug 105 zu lenken usw. Zu nicht einschränkenden Beispielen für Komponenten 125 gehören eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Aufhängungskomponente 125 (die z. B. eines oder mehrere von einem Dämpfer, z. B. einem Stoßdämpfer oder einer Strebe, einer Muffe, einer Feder, einem Querlenker, einem Kugelgelenk, einem Gestänge usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zum adaptiven Lenken, ein oder mehrere passive Rückhaltesysteme (z. B. Airbags), ein beweglicher Sitz usw.
  • Des Weiteren kann der Fahrzeugcomputer 110 dazu konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul 130 oder eine Schnittstelle mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über eine drahtlose Kommunikation von Fahrzeug zu Fahrzeug (Vehicle-to-Vehicle - V2V) oder von Fahrzeug zu Infrastruktur (Vehicle-to-Infrastructure - V2X) (Mobilfunk und/oder DSRC usw.), mit einem anderen Fahrzeug und/oder mit einem Remote-Servercomputer 140 (typischerweise über direkte Hochfrequenzkommunikation) zu kommunizieren. Das Kommunikationsmodul 130 könnte einen oder mehrere Mechanismen, wie etwa einen Sendeempfänger, beinhalten, durch welche die Computer von Fahrzeugen kommunizieren können, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen Kommunikationsmechanismen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowellen und Hochfrequenz) und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Kommunikationsmodul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth, IEEE 802.11, dedizierte Nahbereichskommunikation (DSRC) und/oder Weitbereichsnetzwerke (Wide Area Networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Das Netzwerk 135 stellt einen oder mehrere Mechanismen dar, durch die ein Fahrzeugcomputer 110 mit Remote-Rechenvorrichtungen, z. B. dem Remote-Servercomputer 140, einem anderen Fahrzeugcomputer usw., kommunizieren kann. Demnach kann es sich bei dem Netzwerk 135 um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. zellular, drahtlos, Satellit, Mikrowellen und Funkfrequenz) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder - topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (vehicle-to-vehicle - V2V), wie etwa dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitbereichsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Der Remote-Servercomputer 140 kann eine herkömmliche Rechenvorrichtung sein, d. h. einen oder mehrere Prozessoren und einen oder mehrere Speicher beinhalten, die dazu programmiert sind, Vorgänge bereitzustellen, wie etwa in dieser Schrift offenbart. Ferner kann auf den Remote-Servercomputer 140 über das Netzwerk 135, z. B. das Internet, ein Mobilfunknetzwerk und/oder ein anderes Weitbereichsnetzwerk, zugegriffen werden.
  • Der Fahrzeugcomputer 110 kann dazu programmiert sein, Umgebungszustände um das Fahrzeug 105 herum zu erlangen. Umgebungszustände sind eine Teilmenge von Daten, insbesondere Daten, die Messungen von Phänomenen außerhalb eines Fahrzeugs, d. h. in einer Umgebung um das Fahrzeug herum, bereitstellen, die über den Betrieb eines oder mehrerer Teilsysteme und/oder einer oder mehrerer Komponenten 125 des Fahrzeugs 105 gesammelt werden; Fahrzeugumgebungsdaten können Objektdaten, Straßendaten und Wetterdaten einschließen.
  • Der Fahrzeugcomputer 110 kann Daten der Sensoren 115, z. B. Bilddaten, der Umgebung um das Fahrzeug 105 herum empfangen. Die Bilddaten können ein oder mehrere Objekte um das Fahrzeug 105 herum beinhalten. Zum Beispiel können Objektklassifizierungs- oder Identifizierungstechniken verwendet werden, z. B. im Fahrzeugcomputer 110, auf Grundlage von Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. ein Fahrzeug, ein Fahrrad, eine Drohne, einen Fußgänger usw., sowie physische Merkmale von Objekten zu identifizieren.
  • Verschiedene Techniken, wie sie bekannt sind, können dazu verwendet werden, Daten der Sensoren 115 zu interpretieren und/oder Objekte auf Grundlage der Daten der Sensoren 115 zu klassifizieren. Zum Beispiel können Kamera- und/oder LIDAR-Bilddaten an einen Klassifikator bereitgestellt werden, der eine Programmierung zur Nutzung einer oder mehrerer herkömmlicher Bildklassifizierungstechniken umfasst. Zum Beispiel kann der Klassifikator eine Technik des maschinellen Lernens verwenden, bei der Daten, die bekanntermaßen verschiedene Objekte darstellen, einem Programm des maschinellen Lernens zum Trainieren des Klassifikators bereitgestellt werden. Sobald der Klassifikator trainiert wurde, kann dieser Daten des Fahrzeugsensors 115, z. B. ein Bild, als Eingabe annehmen und dann für jede von einer oder mehreren jeweiligen Regionen von Interesse im Bild eine Identifizierung und/oder eine Klassifizierung (d. h. beweglich oder unbeweglich) von einem oder mehreren Objekten oder eine Angabe, dass in der jeweiligen Region von Interesse kein Objekt vorhanden ist, als Ausgabe bereitstellen. Ferner kann ein Koordinatensystem (z. B. ein polares oder kartesisches), das auf ein Gebiet in der Nähe des Fahrzeugs 105 angewendet wird, verwendet werden, um Standorte und/oder Gebiete (z. B. gemäß dem Koordinatensystem des Fahrzeugs 105, umgewandelt in globale Breiten- und Längengrad-Geokoordinaten usw.) von Objekten, die anhand der Daten der Sensoren 115 identifiziert wurden, anzugeben. Darüber hinaus könnte der Fahrzeugcomputer 110 verschiedene Techniken zum Verbinden (d. h. Integrieren in ein gemeinsames Koordinatensystem oder einen gemeinsamen Referenzrahmen) von Daten von unterschiedlichen Sensoren 115 und/oder Arten von Sensoren 115 verwenden, z. B. LIDAR-, RADAR- und/oder optische Kameradaten.
  • Der Fahrzeugcomputer 110 kann zum Beispiel eine gegenwärtige Straße zum Betrieb des Fahrzeugs 105 auf Grundlage von Kartendaten identifizieren. Eine Straße ist im vorliegenden Zusammenhang ein Bereich der Bodenoberfläche, der eine beliebige Oberfläche einschließt, die für den Landfahrzeugverkehr bereitgestellt ist. Eine Straße ist mit Grenzen definiert, z. B. durch Geofencing. Der Fahrzeugcomputer 110 kann die Kartendaten vom Remote-Servercomputer 140, z. B. über das Netzwerk 135, empfangen. In einem derartigen Beispiel spezifiziert der Geofence einen Umfang der Straße gemäß Geokoordinaten, wie sie z. B. im globalen Positionsbestimmungssystem (GPS) verwendet werden und die Linien spezifizieren, die Grenzen, d. h. den Umfang, der Straße definieren. Der Fahrzeugcomputer 110 kann dann auf Grundlage der Standortdaten des Fahrzeugs 105, die angeben, dass sich das Fahrzeug 105 innerhalb des Geofence befindet, bestimmen, dass sich das Fahrzeug 105 auf der Straße befindet.
  • Bei Identifizieren der gegenwärtigen Straße zum Betrieb des Fahrzeugs 105 kann der Fahrzeugcomputer 110 eine oder mehrere Eigenschaften der gegenwärtigen Straße bestimmen, d. h. physikalische Größen, welche die Abmessungen und/oder Einschränkungen der Straße beschreiben. Zum Beispiel können die Straßeneigenschaften eine Krümmung, eine Neigung, eine Geschwindigkeitsbegrenzung, eine Anzahl der Fahrstreifen usw. beinhalten. Der Fahrzeugcomputer 110 kann zum Beispiel die Straßeneigenschaften auf Grundlage der Kartendaten bestimmen. Der Fahrzeugcomputer 110 kann dann eine Art der gegenwärtigen Straße auf Grundlage der Eigenschaften der gegenwärtigen Straße bestimmen. Eine Straßenart ist eine Klassifizierung der Straße, welche die erwartete Fahrzeugnutzung der Straße beschreibt. Jede Straßenart ist ferner durch eine Vielzahl vordefinierter Eigenschaften definiert. Eine Straßenart kann durch eine Kennung identifiziert sein, welche die Straßenart beschreibt.
  • Zu nicht einschränkenden Beispiele für Straßenarten gehören: Schnellstraßen, Fernstraßen, Autobahnen, Zufahrtsstraßen, Nebenstraßen, Ausfahrten, Auffahrten. Die Vielzahl vordefinierter Eigenschaften für jede Straßenart kann z. B. durch behördliche Vorschriften spezifiziert sein.
  • Der Fahrzeugcomputer 110 kann die Wetterdaten für den Standort des Fahrzeugs 105 auf Grundlage von Daten der Sensoren 115 bestimmen. Zum Beispiel kann der Fahrzeugcomputer 110 Bilddaten analysieren, z.B. unter Verwendung von Bildverarbeitungstechniken, um die Wetterdaten für den Standort des Fahrzeugs 105 zu bestimmen, z. B. ein Vorhandensein oder Nichtvorhandensein und/oder eine Art von Niederschlag, z. B. Regen, Schnee, Nebel usw. Als weiteres Beispiel kann der Fahrzeugcomputer 110 Daten von z.B. einem Niederschlagssensor 115, einem Umgebungstemperatursensor 115, einem Feuchtigkeitssensor 115 usw. empfangen, die Wetterdaten für den Standort des Fahrzeugs 105 angeben. Ein Niederschlagsensor 115 kann ein beliebiger Sensor sein, der zum Erfassen von Niederschlag geeignet ist. Zum Beispiel kann der Niederschlagssensor 115 eine LED-Lampe, einen Lichtsensor und eventuell ein Prisma aufweisen, das Licht von der LED-Lampe zum Lichtsensor reflektiert; durch das Vorhandensein von Wasser wird ein Teil des Lichts gestreut, wodurch das durch den Lichtsensor empfangene Licht um eine bekannte Menge reduziert wird. Als noch ein weiteres Beispiel kann der Fahrzeugcomputer 110 Wetterdaten von einem externen Server empfangen, z B. von einer Wetterstation, dem Remote-Servercomputer 140, usw. Die Wetterdaten beinhalten typischerweise herkömmliche Messungen, z. B. Umgebungslufttemperatur, Umgebungsluftfeuchtigkeit, Niederschlagsdaten, Vorhersagen, Windgeschwindigkeit usw. Das heißt, die Wetterdaten können eine Windgeschwindigkeit und eine Windrichtung zusätzlich zu einem anderen physikalischen Phänomen in einer Umgebung spezifizieren, z. B. eine Lufttemperatur, eine Menge an Umgebungslicht, ein Vorhandensein oder Nichtvorhandensein von Niederschlag, eine Art von Niederschlag (z. B. Schnee, Regen usw.), eine Menge an Niederschlag (z. B. ein Volumen oder eine Tiefe des Niederschlags, der pro Zeiteinheit empfangen wird, z. B. eine Menge an Regen pro Minute oder Stunde), ein Vorhandensein oder Nichtvorhandensein von atmosphärischen Verdeckungen, welche die Sicht beeinträchtigen können, z. B. Nebel, Rauch, Staub, Smog, ein Grad an Sichtbarkeit (z. B. auf einer Skala von 0 bis 1, wobei 0 keine Sichtbarkeit bedeutet und 1 eine unverdeckte Sichtbarkeit bedeutet) usw.
  • Der Fahrzeugcomputer 110 ist dazu programmiert, das Host-Fahrzeug 105 auf Grundlage eines Betriebsmodus zu betreiben. Das heißt, der erste Computer 110 kann eine oder mehrere Host-Fahrzeug-Komponenten 125 auf Grundlage des Betriebsmodus betätigen. Ein Betriebsmodus ist ein Satz von spezifizierten Betriebsparametern, d. h. ein messbarer Satz von physikalischen Parametern, für eine oder mehrere Fahrzeugkomponenten 125, wie etwa Bremsen, Lenken, Antrieb usw. Zum Beispiel kann der Betriebsmodus ein Aufhängungsbetriebsmodus sein. Im Aufhängungsbetriebsmodus ist der Fahrzeugcomputer 110 dazu programmiert, eine oder mehrere Aufhängungskomponenten 125 nach Aufhängungsbetriebsparametern, z. B. einen Sturzwinkel, eine Steifigkeit, eine Bodenfreiheit usw., zu betätigen, die dem Aufhängungsbetriebsmodus zugeordnet sind. Andere nicht einschränkende Beispiele von Betriebsmodi beinhalten „Sportmodus“, „Streckenmodus“, „Öko-Modus“, „Komfortmodus“, „Aero-Modus“, „Parkmodus“ usw. Der Fahrzeugcomputer 110 kann zum Beispiel eine Benutzereingabe, z. B. über eine Mensch-Maschine-Schnittstelle, wie etwa einen Touchscreen, eine Taste, einen Hebel, einen Drehknopf usw., empfangen, die einen Betriebsmodus spezifiziert. Das heißt, ein Benutzer des Fahrzeugs 105 kann dazu in der Lage sein, den Betriebsmodus auszuwählen, um z. B. einen oder mehrere Parameter des Fahrzeugs 105 einzustellen. Der Fahrzeugcomputer 110 kann dazu programmiert sein, einen zukünftigen Betriebsmodus des Fahrzeugs 105 vorherzusagen. Ein zukünftiger Betriebsmodus ist ein Betriebsmodus, von dem erwartet wird, dass das Fahrzeug 105 zu einem zukünftigen Zeitpunkt in ihm betrieben wird. Zum Beispiel kann der Fahrzeugcomputer 110 z. B. in einem Speicher des Fahrzeugcomputers 110 vorherige Benutzereingaben speichern, die entsprechende Fahrzeugbetriebsmodi an verschiedenen Standorten des Fahrzeugs 105 auswählen. Der Fahrzeugcomputer 110 kann dann einen geplanten Weg des Fahrzeugs 105 analysieren und den zukünftigen Fahrzeugbetriebsmodus auf Grundlage der vorherigen Benutzereingaben vorhersagen. Zum Beispiel kann der Fahrzeugcomputer 110 den geplanten Weg mit einer Karte vergleichen, um zu bestimmen, ob der geplante Weg einen von verschiedenen Standorten schneidet, die, z. B. als Geokoordinaten, in der Karte angegeben sind. Bei Bestimmen aus der Karte, dass ein geplanter Weg einen Standort schneidet, kann der Fahrzeugcomputer 110 einen zukünftigen Fahrzeugbetriebsmodus für den Standort auf Grundlage des Bestimmens einer vorherigen Benutzereingabe, die einen entsprechenden Fahrzeugbetriebsmodus für den Standort auswählt, vorhersagen.
  • Ein geplanter Weg ist ein Satz von Punkten, der z. B. als Geokoordinaten spezifiziert sein kann, zu deren Bestimmung der Fahrzeugcomputer 110 mit einem herkömmlichen Navigations- und/oder Wegplanungsalgorithmus programmiert ist. Ein Pfad kann gemäß einem oder mehreren Pfadpolynomen spezifiziert sein. Ein Pfadpolynom ist eine Polynomfunktion dritten Grades oder geringer, welche die Bewegung eines Fahrzeugs auf einer Bodenfläche beschreibt.
  • Die Bewegung eines Fahrzeugs auf einer Fahrbahn wird durch einen mehrdimensionalen Zustandsvektor beschrieben, der den Standort, die Ausrichtung, die Geschwindigkeit und die Beschleunigung des Fahrzeugs beinhaltet. Der Bewegungsvektor des Fahrzeugs kann konkret Positionen in x, y, z, Gieren, Nicken, Rollen, Gierrate, Nickrate, Rollrate, Drehwinkel und Drehbeschleunigung beinhalten, die bestimmt werden können, indem eine Polynomfunktion an aufeinanderfolgende 2D-Standorte angepasst wird, die im Fahrzeugbewegungsvektor beinhaltet sind, und zwar zum Beispiel in Bezug auf die Bodenfläche.
  • Ferner ist das Pfadpolynom p(x) zum Beispiel ein Modell, das den Pfad als eine durch eine Polynomgleichung nachverfolgte Linie vorhersagt. Das Pfadpolynom p(x) sagt den Pfad für eine vorbestimmte bevorstehende Entfernung x vorher, indem es eine laterale Koordinate p bestimmt, die z. B. in Metern gemessen wird: p ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 2
    Figure DE102022100549A1_0001
    wobei a0 ein Versatz, d. h. eine laterale Entfernung zwischen dem Weg und einer Mittellinie des Host-Fahrzeugs 105 bei der bevorstehenden Entfernung x ist, a1 ein Kurswinkel des Weges ist, a2 die Krümmung des Weges ist und a3 die Krümmungsrate des Weges ist.
  • Der Fahrzeugcomputer 110 ist dazu programmiert, das Fahrzeugnetzwerk zu überwachen, um einen Fehlerzustand zu erfassen, wie nachstehend erörtert. Bei Erfassen des Fehlerzustands kann der Fahrzeugcomputer 110 den erfassten Fehlerzustand speichern, z. B. im Speicher des Fahrzeugcomputers 110. In diesem Zusammenhang ist ein Fehlerzustand ein Zustand einer Fahrzeugkomponente 125, der den Betrieb beeinträchtigt und/oder Reparatur- und/oder Wartungsbedarf hervorruft. Ein Fehlerzustand kann einen Defekt oder eine Verschlechterung der Fahrzeugkomponente 125 beinhalten. Das bedeutet, der Fehlerzustand gibt eine Erfassung an, dass die Komponente 125 nicht innerhalb einer oder mehrerer spezifizierter Parameter betrieben wird. Ein Fehlerzustand kann gemäß einem Diagnosefehlercode (Diagnostic Trouble Code - DTC), einem OBD-II-Fehlercode oder dergleichen spezifiziert sein.
  • Zum Beispiel kann der Fahrzeugcomputer 110 über das Fahrzeugnetzwerk eine oder mehrere Fehlerzustände von einer oder mehreren elektronischen Steuereinheiten (ECUs) empfangen. Eine ECU ist eine Vorrichtung, die einen Prozessor und einen Speicher beinhaltet, der eine Programmierung zum Steuern einer oder mehrerer Fahrzeugkomponenten 125 beinhaltet. Die ECU kann mit dem Fahrzeugcomputer 110 und anderen ECUs über das Fahrzeugnetzwerk kommunizieren.
  • Im Allgemeinen kann/können die ECU(s) einen herkömmlichen Selbstdiagnosetest durchführen, um Fehlerzustände in den Fahrzeugkomponenten 125 zu erfassen und/oder zu bestätigen, dass die Fahrzeugkomponenten 125 innerhalb der spezifizierten Parameter betrieben werden. Um einen Diagnosetest durchzuführen, empfängt die ECU typischerweise Diagnosedaten von einem oder mehreren Sensoren 115, die die Fahrzeugkomponenten 125 überwachen. Die ECU bestimmt dann auf Grundlage eines Vergleichs der Diagnosedaten mit den vorgegebenen Parametern, ob die Komponente 125 betriebsfähig ist. Falls die Diagnosedaten außerhalb der spezifizierten Parameter liegen, bestimmt die ECU einen Fehlerzustand und gibt diesen aus. Das heißt, falls die ECU einen Fehlerzustand in der/den Fahrzeugkomponente(n) 125 bestimmt, geben die Diagnosedaten an, dass die Fahrzeugkomponente(n) 125 eine Reparatur oder einen Austausch erfordern. Die ECU kann dann den Fehlerzustand an den Fahrzeugcomputer 110 bereitstellen, z.B. über das Fahrzeugnetzwerk.
  • Bei Erfassen eines Fehlerzustands kann der Fahrzeugcomputer 110 den Fehlerzustand als eines von dauerhaft oder vorübergehend identifizieren. Ein dauerhafter Fehlerzustand ist ein Fehlerzustand, der nicht behoben werden kann, wenn Leistung zu der zugeordneten Fahrzeugkomponente 125 und/oder ECU aus- und wieder eingeschaltet wird, z. B. durch Ausschalten des Fahrzeugs 105 und erneutes Einschalten des Fahrzeugs 105. Ein vorübergehender Fehlerzustand ist ein Fehlerzustand, der behoben werden kann, wenn Leistung zu der zugeordneten Fahrzeugkomponente 125 und/oder ECU aus- und wieder eingeschaltet wird. Den Fehlerzustand zu beheben bedeutet, dass der Zustand, der den Fehlerzustand ausgelöst hat, nicht mehr besteht. Falls zum Beispiel eine Tür geöffnet wird, wenn das Fahrzeug 105 die Leistung aus- und wieder einschaltet, kann der Fahrzeugcomputer 110 einen Fehlerzustand bestimmen, dass die Tür angelehnt ist. Der Fehlerzustand kann behoben werden, indem die Tür geschlossen wird, während das Fahrzeug 105 ausgeschaltet ist, und dann das Fahrzeug 105 wieder eingeschaltet wird. In einem derartigen Beispiel kann die jeweilige ECU keine Fehlerzustände für die Tür bestimmen, wenn das Fahrzeug 105 eingeschaltet ist, z. B. über einen nachfolgenden Diagnosetest. Als ein anderes Beispiel kann ein vorübergehender Fehlerzustand behoben werden, bei Bestimmen, dass eine Zeit, die seit dem Erfassen des Fehlerzustands verstrichen ist, einen Zeitraum überschreitet.
  • Der Fahrzeugcomputer 110 kann den Fehlerzustand auf Grundlage einer Lookup-Tabelle oder dergleichen, die z.B. in einem Speicher des Fahrzeugcomputers 110 gespeichert ist, als vorübergehend oder dauerhaft identifizieren. Die Lookup-Tabelle kann verschiedene Fehlerzustände entweder dauerhaften oder vorübergehenden Fehlerzuständen zuordnen. Der Fahrzeugcomputer 110 kann zum Beispiel auf die Lookup-Tabelle zugreifen und auf Grundlage eines gespeicherten Fehlerzustands, der mit dem erfassten Fehlerzustand übereinstimmt, bestimmen, dass der erkannte Fehlerzustand ein dauerhafter oder vorübergehender Fehlerzustand ist. Bei Identifizieren des Fehlerzustands kann der Fahrzeugcomputer 110 den Fehlerzustand speichern, z.B. im Speicher des Fahrzeugcomputers 110.
  • Der Fahrzeugcomputer 110 kann eine erste Datenbank vom Remote-Servercomputer 140, z. B. über das Netzwerk 135, empfangen. Die erste Datenbank kann verschiedene Fehlerzustände einer entsprechenden Fehlerzustandswichtigkeit zuordnen. Eine Fehlerzustandswichtigkeit spezifiziert eine Bedeutung einer Beeinträchtigung für den Betrieb des Fahrzeugs 105, die durch den Fehlerzustand angegeben wird. Eine Fehlerzustandswichtigkeit ist als eine Zahl verkörpert, typischerweise eine ganze Zahl, z. B. auf einer Skala von 1 bis einschließlich 10, die der Bedeutung der Beeinträchtigung für den Betrieb des Fahrzeugs 105 entspricht. Zum Beispiel kann eine Fehlerzustandswichtigkeit von 10 eine höhere Bedeutung der Beeinträchtigung angeben als eine Fehlerzustandswichtigkeit von 1. Die Fehlerzustandswichtigkeit kann von einem Fahrzeug- und/oder Komponentenhersteller spezifiziert werden, z. B. auf Grundlage der Fahrzeugkomponenten 125 und/oder Vorgängen, die den erkannten Fehlerzuständen zugeordnet sind. Die Fehlerzustandswichtigkeit kann zum Beispiel auf Grundlage einer Zeitdauer bestimmt werden, für die das Fahrzeug 105 nach dem Erfassen von entsprechenden Fehlerzuständen betrieben werden darf. Die Fehlerzustandswichtigkeit kann in einem solchen Beispiel in umgekehrtem Zusammenhang mit der Zeitdauer stehen, für die das Fahrzeug 105 nach dem Erfassen des entsprechenden Fehlerzustands betrieben werden darf. Das heißt, eine relativ höhrere Fehlerzustandswichtigkeit entspricht einer relativ niedrigeren Zeitdauer, für die das Fahrzeug 105 nach dem Erfassen des entsprechenden Fehlerzustands betrieben werden darf. Zum Beispiel kann dem Fahrzeug 105 erlaubt werden, für eine größere Zeitdauer betrieben zu werden, wenn ein Fehlerzustand in der Umgebungsbeleuchtung innerhalb einer Fahrgastkabine erfasst wird, verglichen mit dem Erfassen eines Fehlerzustands in einer Bremskomponente 125. In einem derartigen Beispiel kann die Fehlerzustandswichtigkeit, z. B. 10, des Fehlerzustands in der Bremskomponente 125 eine relativ höhere Bedeutung der Beeinträchtigung spezifizieren als die Fehlerzustandswichtigkeit, z. B. 1, des Fehlerzustands in der Umgebungsbeleuchtung.
  • Bei Identifizieren der Fehlerzustände und Bestimmen der Fehlerzustandswichtigkeit für die erfassten Fehlerzustände kann der Fahrzeugcomputer 110 eine zweite Datenbank erzeugen. Die zweite Datenbank beinhaltet die erfassten Fehlerzustände, die Fehlerzustandswichtigkeit und die Identifizierung der erfassten Fehlerzustände. Der Fahrzeugcomputer 110 kann die zweite Datenbank speichern, z.B. in einem Speicher des Fahrzeugcomputers 110. Der Fahrzeugcomputer 110 kann einen oder mehrere erfasste Fehlerzustände aus der zweiten Datenbank entfernen, auf Grundlage von z. B. dem Bestimmen, dass eine Zeit, die seit dem Erfassen des Fehlerzustands verstrichen ist, einen Zeitraum überschreitet, oder dem Empfangen einer Benutzereingabe, die spezifiziert, den erfassten Fehlerzustand zu entfernen. Der Fahrzeugcomputer 110 gibt dann die zweite Datenbank sowie die Fahrzeugumgebungszustände und den Fahrzeugbetriebsmodus, einschließlich des vorhergesagten zukünftigen Betriebsmodus, in ein neuronales Netzwerk ein, wie etwa ein tiefes neuronales Netzwerk (Deep Neural Network - DNN) (siehe 2), das trainiert werden kann, um erkannte Fehlerzustände, Umgebungszustände und einen Fahrzeugbetriebsmodus als Eingabe zu akzeptieren und eine Ausgabe zu erzeugen, die Rangordnungen für die erkannten Fehlerzustände identifiziert. Der Fahrzeugcomputer 110 kann die zweite Datenbank aktualisieren, damit sie die Rangordnungen der erfassten Fehlerzustände beinhaltet. Zusätzlich kann der Fahrzeugcomputer 110 die zweite Datenbank, einschließlich Rangordnungen der erfassten Fehlerzustände, dem Remote-Servercomputer 140 bereitstellen, z. B. über das Netzwerk 135. Die Rangordnungen sind ganze Zahlen, z. B. 1, 2, 3 usw., die eine Priorisierung der Fehlerzustände relativ zueinander darstellen. Zum Beispiel kann eine erste Rangordnung, die einen kleineren numerischen Wert als eine zweite Rangordnung aufweist, in Bezug auf die zweite Rangordnung priorisiert sein.
  • Zusätzlich ist der Fahrzeugcomputer 110 bei Erfassen der Fehlerzustände dazu programmiert, einen Zeitgeber zu initiieren. Die Dauer des Zeitgebers kann eine vorbestimmte Zeit sein, die z. B. durch einen Fahrzeug- und/oder Komponentenhersteller spezifiziert ist. Die vorbestimmte Zeit kann derart spezifiziert sein, dass der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage der Rangordnungen der erfassten Fehlerzustände betreiben kann, bevor der Fahrzeugcomputer 110 aktualisierte Fehlerzustände über das Fahrzeugnetzwerk erfasst. Das heißt, die vorbestimmte Zeit ist kürzer als eine Zeitdauer für die ECUs, um aktualisierte Fehlerzustände über nachfolgende Diagnoseprüfungen zu erfassen und die aktualisierten Fehlerzustände dem Fahrzeugcomputer 110 bereitzustellen. Falls der Fahrzeugcomputer 110 die Rangordnungen vom neuronalen Netzwerk vor Ablauf des Zeitgebers empfängt, betreibt der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage der Rangordnungen, wie unten weiter erörtert.
  • Falls der Fahrzeugcomputer 110 die Rangordnungen vom neuronalen Netzwerk empfängt, nachdem der Zeitgeber abgelaufen ist, ist der Fahrzeugcomputer 110 dazu programmiert, das Fahrzeugnetzwerk dann zu überwachen, um aktualisierte Fehlerzustände zu erfassen. Zum Beispiel kann/können die ECU(s) einen aktualisierten Fehlerzustand über einen zweiten Diagnosetest bestimmen und den aktualisierten Fehlerzustand an den Fahrzeugcomputer 110 ausgeben, z. B. über das Fahrzeugnetzwerk, im Wesentlichen auf die gleiche Weise wie vorstehend erörtert. Der Fahrzeugcomputer 110 kann dann den aktualisierten Fehlerzustand im Wesentlichen auf die gleiche Weise wie vorstehend erörtert identifizieren. Zusätzlich kann der Fahrzeugcomputer 110 die Fehlerzustandswichtigkeit, die dem aktualisierten Fehlerzustand entspricht, im Wesentlichen auf die gleiche Weise wie vorstehend erörtert identifizieren. Der Fahrzeugcomputer 110 kann dann die zweite Datenbank aktualisieren, damit sie die aktualisierten Fehlerzustände beinhaltet. Bei Aktualisieren der zweiten Datenbank kann der Fahrzeugcomputer 110 die zweite Datenbank, die Fahrzeugumgebungszustände und den Fahrzeugbetriebsmodus in das neuronale Netzwerk eingeben, um Rangordnungen der aktualisierten Fehlerzustände zu empfangen.
  • Der Fahrzeugcomputer 110 ist dazu programmiert, das Fahrzeug 105 auf Grundlage der Rangordnungen der Fehlerzustände zu betreiben. Wie vorstehend dargelegt, erzeugt das neuronale Netzwerk die Rangordnungen der Fehlerzustände als Ausgabe auf Grundlage des Empfangens der erfassten Fehlerzustände, der Identifizierung der erfassten Fehlerzustände, der Fehlerzustandswichtigkeit der erfassten Fehlerzustände, von Umgebungszuständen und eines Fahrzeugbetriebsmodus als Eingabe. Das heißt, dass der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen kann, um das Fahrzeug 105 auf Grundlage der Rangordnungen der Fehlerzustände zu betreiben. Der Fahrzeugcomputer 110 kann das Fahrzeug 105 auf Grundlage eines ranghöchsten Fehlerzustands betreiben. Zum Beispiel kann ein ranghöchster Fehlerzustand auf Grundlage dessen ranghöher sein als andere Fehlerzustände, dass die anderen Fehlerzustände durch das Vorhandensein des ranghöchsten Fehlerzustands ausgelöst werden. Bei Beheben des ranghöchsten Fehlerzustands kann der Fahrzeugcomputer 110 den ranghöchsten Fehlerzustand aus der zweiten Datenbank entfernen, während er die nachrangigen Fehlerzustände in der zweiten Datenbank beibehält. Der Fahrzeugcomputer 110 kann dann das Fahrzeug 105 auf Grundlage der nachrangigen Fehlerzustände betreiben. In diesem Zusammenhang ist ein ranghöchster Fehlerzustand ein Fehlerzustand, der Priorität in Bezug auf die anderen mit Rang versehenen Fehlerzustände genießt. Zum Beispiel kann der Fahrzeugcomputer 110 das Fahrzeug 105 betreiben, um den Betrieb des Fahrzeugs 105 auf Grundlage des Identifizierens des ranghöchsten Fehlerzustands als einen vorübergehenden Fehlerzustand beizubehalten. Zusätzlich kann der Fahrzeugcomputer 110 das Fahrzeug 105 betreiben, um ein Minimalrisikomanöver auf Grundlage des Identifizierens des ranghöchsten Fehlerzustands als einen dauerhaften Fehlerzustand durchzuführen. In einem derartigen Beispiel kann der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen, um das Minimalrisikomanöver durchzuführen. Zum Beispiel kann der Fahrzeugcomputer 110 einer oder mehreren ECUs, die Fahrzeugkomponenten 125 steuern, die dem Minimalrisikomanöver zugeordnet sind, den ranghöchsten Fehlerzustand bereitstellen.
  • Als ein anderes Beispiel kann der Fahrzeugcomputer 110 auf eine Lookup-Tabelle zugreifen, die verschiedene Fehlerzustände entweder mit dem Beibehalten des Betriebs des Fahrzeugs 105 oder dem Durchführen eines Minimalrisikomanövers in Entsprechung setzt. In einem derartigen Beispiel kann der Fahrzeugcomputer 110 den Fahrzeugbetrieb 105 auf Grundlage davon beibehalten, dass der ranghöchste Fehlerzustand mit einem in der Lookup-Tabelle gespeicherten Fehlerzustand übereinstimmt, der dem Beibehalten des Betriebs des Fahrzeugs 105 entspricht. Zusätzlich kann der Fahrzeugcomputer 110 ein Minimalrisikomanöver auf Grundlage davon durchführen, dass der ranghöchste Fehlerzustand mit einem in der Lookup-Tabelle gespeicherten Fehlerzustand übereinstimmt, der dem Minimalrisikomanöver entspricht. Die Lookup-Tabelle kann z. B. in einem Speicher des Fahrzeugcomputers 110 gespeichert sein.
  • Ein Minimalrisikomanöver ist ein Satz von autonomen Vorgängen, der das Fahrzeug 105 in einen Minimalrisikozustand versetzt. Für die Zwecke dieser Offenbarung hat „Minimalrisikozustand“ die Bedeutung, die von der National Highway Traffic Safety Administration (NHTSA) und der Society of Automotive Engineers (SAE) festgelegt wurde: „,Minimalrisikozustand‘ bedeutet ein Betriebszustand mit geringem Risiko, auf den ein automatisiertes Fahrsystem automatisch zurückgreift, wenn ein System ausfällt oder wenn der menschliche Fahrer nicht angemessen auf eine Anforderung reagiert, die dynamische Fahraufgabe zu übernehmen.“ (U.S. Dept. of Transportation & NHTSA, Automated Driving Systems 2.0: A Vision for Safety, 26 (unter Bezugnahme auf SAE International J3016, International Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles (J3016:Sept2016)).) Zum Beispiel kann das Minimalrisikomanöver eine Übergabe an den menschlichen Fahrer oder das autonome Fahren des Fahrzeugs 105 bis zum Stillstand an einem Straßenrand auslösen, d. h. das Anhalten des Fahrzeugs 105 außerhalb aktiver Fahrspuren. Der Fahrzeugcomputer 110 kann den Minimalrisikozustand durch das Verwenden bekannter Algorithmen für einen autonomen Betrieb durchführen, um die Fahrzeugkomponenten 125, z. B. eine Antriebskomponente, eine Bremskomponente, eine Lenkkomponente usw., anzuweisen.
  • 2 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks (DNN) 200, das trainiert werden kann, um Rangordnungen für erkannte Fehlerzustände auf Grundlage der erkannten Fehlerzustände, Umgebungszustände und eines Fahrzeugbetriebsmodus auszugeben. Bei dem DNN 200 kann es sich beispielsweise um ein Softwareprogramm handeln, das in den Speicher geladen und durch einen Prozessor, der in einem Computer beinhaltet ist, ausgeführt werden kann. In einer beispielhaften Umsetzung kann das DNN 200 unter anderem ein neuronales Faltungsnetzwerk (convolutional neural network - CNN), R-CNN (regionenbasiertes CNN), Fast-R-CNN und Faster-R-CNN beinhalten. Das DNN beinhaltet mehrere Knoten und die Knoten sind so angeordnet, dass das DNN 200 eine Eingangsschicht, eine oder mehrere verborgene Schichten und eine Ausgangsschicht beinhaltet. Jede Schicht des DNN 200 kann eine Vielzahl von Knoten 205 beinhalten. Während 2 zwei verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 200 zusätzliche oder weniger verborgene Schichten beinhalten kann. Zusätzlich können Verzerrungsneuronen (wie nachstehend erörtert) in mindestens einigen der verborgenen Schichten beinhaltet sein. Die Eingangs- und die Ausgangsschicht können auch mehr als einen Knoten 205 beinhalten.
  • Die Knoten 205 werden manchmal als künstliche Neuronen 205 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen zu emulieren. Ein Satz von Eingaben (dargestellt durch die Pfeile) für jedes Neuron 205 wird jeweils mit jeweiligen Gewichten multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um, möglicherweise durch eine Verzerrung angepasst, eine Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann einer Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 205 eine Ausgabe bereitstellt. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt von geeigneten Funktionen handeln, die üblicherweise auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 2 veranschaulicht, können die Ausgaben des Neurons 205 dann zur Aufnahme in einen Satz von Eingaben für ein oder mehrere Neuronen 205 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 200 beinhaltet erste verborgene Schichten und zweite verborgene Schichten. Die ersten verborgenen Schichten verarbeiten die Eingabedaten, d. h. die erkannten Fehlerzustände, die Umgebungszustände und den Fahrzeugbetriebsmodus, um latente Variablen auszugeben. Die ersten verborgenen Schichten können Verzerrungsneuronen 210 beinhalten. Verzerrungsneuronen 210 stellen die Eingabefunktion der Knoten 205 in den ersten verborgenen Schichten ein, indem sie eine spezifizierte Verzerrung auf die Eingabefunktion anwenden, die die Nettoeingabe verschiebt. Die Nettoeingabe kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 205 die latenten Variablen bereitstellt. Die latenten Variablen werden dann in die zweiten verborgenen Schichten eingegeben.
  • Die zweiten verborgenen Schichten verarbeiten die latenten Variablen, um die Rangordnungen der erfassten Fehlerzustände auszugeben. Die zweiten verborgenen Schichten können Verzerrungsneuronen 210 beinhalten, die die Eingabefunktion der Knoten 205 in den zweiten verborgenen Schichten einstellen, indem sie eine spezifizierte Verzerrung auf die Eingabefunktion anwenden, die die Nettoeingabe verschiebt. Die Nettoeingabe kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 205 die Rangordnungen des erfassten Fehlerzustands bereitstellt.
  • Das DNN 200 kann trainiert werden, indem ein Datensatz verarbeitet wird, der eine Vielzahl von Fehlerzuständen und eine Vielzahl von Bewertungen in einer Vielzahl von Umgebungszuständen und Fahrzeugbetriebsmodi beinhaltet. Die Bewertungen sind typischerweise ganze Zahlen, z. B. 1, 5, 10 usw., die eine Schwere des erkannten Fehlerzustands auf Grundlage der Umgebungszustände und des Fahrzeugbetriebsmodus darstellen. Jeder Fehlerzustand im Datensatz weist eine entsprechende Ground Truth auf, die eine Bewertung des erfassten Fehlerzustands in den entsprechenden Umgebungszuständen und dem entsprechenden Fahrzeugbetriebsmodus spezifiziert. Bei der Ground Truth handelt es sich um Daten bezüglich eines Trainingsdatensatzes, die durch einen Prozess bestimmt werden, der vom tiefen neuronalen Netzwerk unabhängig ist. Die Ground Truth wird als Maß für die reale Welt angesehen. Zum Beispiel kann eine Ground-Truth-Rangordnung durch die manuelle Erzeugung einer Datenbank spezifiziert werden, die die Bewertung beinhaltet, die einem Fehlerzustand bei jeweiligen Umgebungszuständen und einem jeweiligen Fahrzeugbetriebsmodus entspricht. Durch die Rückpropagierung kann eine Verlustfunktion auf Grundlage der Bewertung und der entsprechenden Ground Truth berechnet werden. Eine Verlustfunktion ist eine mathematische Funktion, die einen Wert, wie etwa eine Bewertung, in eine reelle Zahl abbildet, die mit der eingegebenen Ground Truth verglichen werden kann, um Kosten während des Trainings zu bestimmen. In diesem Beispiel können die Kosten als die Differenz zwischen der bestimmten Bewertung und der Bewertung in der entsprechenden Ground Truth bestimmt werden. Durch die Verlustfunktion wird bestimmt, wie genau die Bewertung mit der Ground Truth übereinstimmt, und diese wird verwendet, um die Parameter oder Gewichtungen einzustellen, die das DNN steuern. Die Verlustfunktion wird auf Grundlage eines Maximum-Likelihood-Prinzips bestimmt, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erfassten Fehlerzustände bewertet. Eine Wahrscheinlichkeitsverteilung ist eine mathematische Funktion, die die Wahrscheinlichkeiten des Auftretens unterschiedlicher möglicher Bewertungen für die erfassten Fehlerzustände ergibt. Das Maximum-Likelihood-Prinzip ist eine Technik zum Schätzen von Parametern der Wahrscheinlichkeitsverteilung, um die Parameter zu bestimmen, die den wahrscheinlichsten Bewertungen der erfassten Fehlerzustände entsprechen. Das heißt, das Maximum-Likelihood-Prinzip ist eine Technik zum Erhalten der optimalen Parameter für die Verlustfunktion. Parameter, welche die Verarbeitung des DNN 200 steuern, werden variiert, bis die ausgegebenen Rangordnungen mit der Ground Truth für jeden aus der Vielzahl von Trainingsfehlerzuständen im Trainingsdatensatz übereinstimmen. Die Parameter oder Gewichtungen schließen Koeffizienten ein, die von linearen und/oder nicht linearen Gleichungen verwendet werden, die in vollständig verbundenen Schichten beinhaltet sind. Vollständig verbundene Schichten verarbeiten die latenten Variablen, die von anderen verborgenen Schichten ausgegeben werden. Das DNN 200 kann Parameter der Verlustfunktion durch das Anwenden eines Gradientenabstiegs auf die Verlustfunktion optimieren. Der Gradientenabstieg berechnet einen Gradienten der Verlustfunktion in Bezug auf die gegenwärtigen Parameter. Der Gradient gibt eine Richtung und Größe an, um sich entlang der Verlustfunktion zu bewegen, um einen neuen Satz von Parametern zu bestimmen. Das heißt, das DNN 200 kann einen neuen Satz von Parametern auf Grundlage des Gradienten und der Verlustfunktion bestimmen. Das DNN 200 kann anschließend einen neuen Satz von Parametern im Wesentlichen auf die gleiche Weise bestimmen, bis das DNN 200 ein lokales Minimum der Verlustfunktion identifiziert. Mit anderen Worten kann das DNN 200 kontinuierlich den Gradientenabstieg auf die Verlustfunktion anwenden, bis das DNN 200 die Parameter bestimmt, die ein Ergebnis erzielen, das mit der Ground Truth übereinstimmt, z. B. einem Gradienten von null in Bezug auf die Parameter entspricht.
  • Das Trainieren eines DNN beinhaltet typischerweise das systematische Variieren dieser Parameter oder Gewichtungen und das Vergleichen der ausgegebenen Ergebnisse mit einem gewünschten Ergebnis, das der Ground Truth entspricht. Als ein Ergebnis des Variierens der Parameter oder Gewichtungen über eine Vielzahl von Versuchen über eine Vielzahl von Eingabefehlerzuständen hinweg kann ein Satz von Parametern oder Gewichtungen bestimmt werden, die ein Ergebnis erzielen, das der Ground Truth entspricht. Das Anwenden des Gradientenabstiegs reduziert eine Trainingszeitdauer durch Verwenden der Verlustfunktion, um spezifische Einstellungen der Parameter zu identifizieren, anstatt neue Parameter zufällig auszuwählen.
  • Bei Bestimmen der Verlustfunktion versieht das DNN 200 dann, z. B. unter Verwendung von Techniken, durch die es lernt, Ränge zu vergeben, die erfassten Fehlerzustände auf Grundlage einer Bewertungsfunktion mit einem Rang. Das heißt, das DNN 200 ist ein Rangordnungs-DNN. Die Bewertungsfunktion ist eine mathematische Funktion, die die Wahrscheinlichkeit bestimmt, dass ein erkannter Fehlerzustand höherrangiger als ein anderer erkannter Fehlerzustand ist. Die Bewertungsfunktion wird als eine Funktion einer Differenz zwischen den Bewertungen der erfassten Fehlerzustände bestimmt. Die Bewertungsfunktion kann durch manuelle Eingabe spezifiziert werden. Die Bewertungsfunktion bestimmt eine Gewichtung für die Differenz zwischen den Bewertungen, die angibt, wie eng die Fehlerzustände im Rang relativ zueinander sind. Das DNN 200 kann die Gewichtung verwenden, um die Rangordnungen der Fehlerzustände einzustellen. Zum Beispiel kann das DNN 200 einen ersten erfassten Fehlerzustand in den Rangordnungen höher als einen zweiten erfassten Fehlerzustand verschieben, auf Grundlage davon, dass die Gewichtung für den ersten erfassten Fehlerzustand relativ zu einem dritten erfassten Fehlerzustand größer als eine Gewichtung für den zweiten erfassten Fehlerzustand relativ zum dritten erfassten Fehlerzustand ist.
  • Während des Betriebs kann der Fahrzeugcomputer 110 eine Vielzahl von Fehlerzuständen erfassen und Daten des Sensors 115 erhalten, einschließlich Umgebungszustände und eines Fahrzeugbetriebsmodus (wie vorstehend erörtert), und stellt dem DNN 200 die erfassten Fehlerzustände und die Daten des Sensors 115 bereit. Das DNN 200 gibt eine Vorhersage auf Grundlage der empfangenen Eingabe aus. Die Ausgabe des DNN 200 sind vorhergesagte Rangordnungen der erfassten Fehlerzustände.
  • 3 ist ein Diagramm eines beispielhaften Prozesses 300 zum Betreiben des Fahrzeugs 105 auf Grundlage von Rangordnungen von erfassten Fehlerzuständen. Der Prozess 300 beginnt in einem Block 305. Der Prozess 300 kann durch einen im Fahrzeug 105 beinhalteten Fahrzeugcomputer 110 ausgeführt werden, der in einem Speicher davon gespeicherte Programmanweisungen ausführt.
  • Im Block 305 empfängt der Fahrzeugcomputer 110 Daten von einem oder mehreren Sensoren 115 und/oder von einem Remote-Servercomputer 140. Zum Beispiel kann der Fahrzeugcomputer 110 Standortdaten des Fahrzeugs 105 von z. B. einem Sensor 115, einem Navigationssystem usw. empfangen. Des Weiteren kann der Fahrzeugcomputer 110 Bilddaten z. B. von einem oder mehreren Bildsensoren 115, empfangen. Die Bilddaten können Daten über die Umgebung um das Fahrzeug 105 herum beinhalten, z. B. über ein oder mehrere Objekte, ein anderes Fahrzeug, Fußgänger usw. Der Prozess 300 wird in einem Block 310 fortgesetzt.
  • Im Block 310 kann der Fahrzeugcomputer 110 die Umgebungszustände um das Fahrzeug 105 herum auf Grundlage von Daten des Sensors 115 und/oder Daten, die vom Remote-Servercomputer 140 empfangen werden, bestimmen. Zum Beispiel kann der Fahrzeugcomputer 110 eine gegenwärtige Straße des Betriebs des Fahrzeugs 105 auf Grundlage des Standorts des Fahrzeugs 105 identifizieren, wie oben erörtert. Bei Identifizieren der gegenwärtigen Straße kann der Fahrzeugcomputer 110 Straßeneigenschaften der gegenwärtigen Straße auf Grundlage von Kartendaten bestimmen, die z. B. vom Remote-Servercomputer 140 empfangen werden, wie vorstehend erörtert. Zusätzlich kann der Fahrzeugcomputer 110 Wetterdaten für die Umgebung um das Fahrzeug 105 herum bestimmen. Zum Beispiel kann der Fahrzeugcomputer 110 Bilddaten analysieren, z. B. unter Verwendung von Bildverarbeitungstechniken, um die Wetterdaten zu bestimmen, wie vorstehend erörtert. Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 Wetterdaten für den Standort vom Remote-Servercomputer 140 empfangen, z. B. über das Netzwerk 135. Der Prozess 300 geht zu einem Block 315 über.
  • Im Block 315 bestimmt der Fahrzeugcomputer 110 einen Fahrzeugbetriebsmodus. Zum Beispiel kann der Fahrzeugcomputer 110 eine Benutzereingabe empfangen, z. B. über eine Mensch-Maschine-Schnittstelle (human machine interface - HMI), die den Fahrzeugbetriebsmodus auswählt. Als ein anderes Beispiel kann der Fahrzeugcomputer 110 einen zukünftigen Fahrzeugbetriebsmodus für das Fahrzeug 105 auf Grundlage des Analysierens eines geplanten Weges des Fahrzeugs 105 vorhersagen, wie vorstehend erörtert. Der Prozess 300 wird in einem Block 320 fortgesetzt.
  • Im Block 320 überwacht der Fahrzeugcomputer 110 das Fahrzeugnetzwerk, um einen Fehlerzustand zu erfassen. Zum Beispiel kann der Fahrzeugcomputer 110, über das Fahrzeugnetzwerk, einen oder mehrere Fehlerzustände von einer oder mehreren ECUs empfangen. Die ECUs können zum Beispiel einen Fehlerzustand über einen Diagnosetest bestimmen, wie vorstehend erörtert. Nach Abschließen des Diagnosetests kann die ECU einen Fehlerzustand auf Grundlage des Bestimmens, dass Diagnosedaten außerhalb spezifizierter Parameter liegen, oder keine Fehlerzustände auf Grundlage des Bestimmens, dass die Diagnosedaten innerhalb der spezifizierten Parameter liegen, ausgeben. Die ECU kann dann eine Nachricht an den Fahrzeugcomputer 110 übertragen, z. B. über das Fahrzeugnetzwerk, die auf einen Fehlerzustand oder keine Fehlerzustände hinweist. Der Prozess 300 wird in einem Block 330 fortgesetzt.
  • Im Block 325 bestimmt der Fahrzeugcomputer 110, ob ein Fehlerzustand erfasst wurde. Bei Empfangen eines Fehlerzustands von der ECU, z. B. über das Fahrzeugnetzwerk, kann der Fahrzeugcomputer 110 den Fehlerzustand als eines von dauerhaft oder vorübergehend identifizieren, wie vorstehend erörtert. Der Fahrzeugcomputer 110 kann zum Beispiel auf eine Lookup-Tabelle zugreifen, die z. B. in einem Speicher des Fahrzeugcomputers 110 gespeichert ist. Die Lookup-Tabelle kann verschiedene Fehlerzustände entweder dauerhaften oder vorübergehenden Fehlerzuständen zuordnen. Der Fahrzeugcomputer 110 kann zum Beispiel den Fehlerzustand auf Grundlage eines in der Lookup-Tabelle gespeicherten Fehlerzustands identifizieren, der mit dem erfassten Fehlerzustand übereinstimmt.
  • Zusätzlich kann der Fahrzeugcomputer 110 die Fehlerzustandswichtigkeit des erfassten Fehlerzustands bestimmen. Der Fahrzeugcomputer 110 kann zum Beispiel auf eine erste Datenbank zugreifen, die z. B. in einem Speicher des Fahrzeugcomputers 110 gespeichert ist. Die erste Datenbank kann verschiedene Fehlerzustände einer Fehlerzustandswichtigkeit zuordnen, wie oben erörtert. Der Fahrzeugcomputer 110 kann die Fehlerzustandswichtigkeit auf Grundlage eines in der ersten Datenbank gespeicherten Fehlerzustands identifizieren, der mit dem erfassten Fehlerzustand übereinstimmt. Der Fahrzeugcomputer 110 kann dann eine zweite Datenbank erzeugen, die die erfassten Fehlerzustände, eine Fehlerzustandswichtigkeit der erfassten Fehlerzustände, und eine Identifizierung der erfassten Fehlerzustände beinhaltet. Falls der Fahrzeugcomputer 110 einen Fehlerzustand empfängt, wird der Prozess 300 in einem Block 330 fortgesetzt. Andernfalls kehrt der Prozess 300 zum Block 320 zurück.
  • Im Block 330 bestimmt der Fahrzeugcomputer 110 Rangordnungen für die erfassten Fehlerzustände. Zum Beispiel kann der Fahrzeugcomputer 110 die zweite Datenbank, die Umgebungszustände und den Fahrzeugbetriebsmodus in ein DNN 200 eingeben. Das DNN 200 kann dann die Rangordnungen für die erfassten Fehlerzustände ausgeben, wie vorstehend erörtert. Der Prozess 300 wird in einem Block 335 fortgesetzt.
  • Im Block 335 bestimmt der Fahrzeugcomputer 110, ob vor dem Empfangen der Rangordnungen für die erfassten Fehlerzustände vom DNN 200 ein Zeitgeber abgelaufen ist. Zusätzlich kann der Fahrzeugcomputer 110 bei Erfassen der Fehlerzustände einen Zeitgeber initiieren. Eine Dauer des Zeitgebers ist eine vorbestimmte Zeit, die z. B. derart spezifiziert ist, dass der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage der Rangordnungen der erfassten Fehlerzustände betreiben kann, bevor der Fahrzeugcomputer 110 aktualisierte Fehlerzustände über das Fahrzeugnetzwerk erfasst. Falls der Fahrzeugcomputer 110 die Rangordnungen für die erfassten Fehlerzustände empfängt, nachdem der Zeitgeber abgelaufen ist, kehrt der Prozess 300 zum Block 320 zurück. Falls der Fahrzeugcomputer 110 die Rangordnungen für die erfassten Fehlerzustände empfängt, bevor der Zeitgeber abgelaufen ist, wird der Prozess 300 in einem Block 340 fortgesetzt.
  • Im Block 340 betreibt der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage der Rangordnungen für die erfassten Fehlerzustände. Zum Beispiel kann der Fahrzeugcomputer 110 bestimmen, den Betrieb des Fahrzeugs 105 auf Grundlage eines ranghöchsten Fehlerzustands, der z. B. ein vorübergehender Fehlerzustand ist, beizubehalten. Zusätzlich kann der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage des ranghöchsten Fehlerzustands, der z. B. ein dauerhafter Fehlerzustand ist, wie vorstehend erörtert, betreiben, um ein Minimalrisikomanöver durchzuführen, z. B. das Fahrzeug 105 bis zu einem Stillstand zu betreiben, das Fahrzeug 105 unter einem Geschwindigkeitsschwellenwert zu betreiben usw. Zum Beispiel kann der Fahrzeugcomputer 110 einer oder mehreren ECUs, die die Fahrzeugkomponente(n) 125 steuern, die dem Minimalrisikomanöver zugeordnet ist/sind, den ranghöchsten Fehlerzustand bereitstellen.
  • Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 auf Grundlage davon bestimmen, den Betrieb des Fahrzeugs 105 beizubehalten oder ein Minimalrisikomanöver durchzuführen, dass der ranghöchste Fehlerzustand mit einem gespeicherten Fehlerzustand in einer Lookup-Tabelle übereinstimmt, die verschiedene Fehlerzustände entweder mit dem Beibehalten des Betriebs des Fahrzeugs 105 oder dem Durchführen eines Minimalrisikozustands in Entsprechung setzt, wie vorstehend erörtert. Nach dem Betreiben des Fahrzeugs 105 auf Grundlage des höchstrangigen Fehlerzustands kann der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage von nachrangigen Fehlerzuständen betreiben. Nach dem Block 340 endet der Prozess 300.
  • Im in dieser Schrift verwendeten Sinne bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einem bzw. einer genauen beschriebenen Geometrie, Abstand, Messwert, Menge, Zeit usw. abweichen kann.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder QNX@ CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen schließen unter anderem einen ersten Bordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung ein.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorangehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hierin beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übermitteln werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Der Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) einschließen, das ein beliebiges nicht transitorisches (z. B. greifbares) Medium einschließt, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Zu nichtflüchtigen Medien können zum Beispiel Bild- und Magnetplatten und anderer dauerhafter Speicher gehören. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (direct random access memory - DRAM) einschließen, der in der Regel einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein Übertragungsmedium oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der mit einem Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
  • Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (Relational Database Management System - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf diesen zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben wurden, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt, dienen die Beschreibungen von Prozessen hierin dem Zwecke der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann bei Lesen der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Patentansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Patentansprüche berechtigen. Es ist davon auszugehen und beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche eingeschränkt ist.
  • Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausführbar sind zum: Erfassen einer Vielzahl von Fehlerzuständen auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs; Eingeben der erfassten Fehlerzustände, einer Fehlerzustandswichtigkeit, von Umgebungszuständen und eines Fahrzeugbetriebsmodus in ein neuronales Netzwerk, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt, wobei das neuronale Netzwerk durch ein Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erfassten Fehlerzustände mit einem Rang versieht, trainiert wird; und Betreiben des Fahrzeugs auf Grundlage der Rangordnungen der Fehlerzustände.
  • Gemäß einer Ausführungsform können die Umgebungszustände mindestens eines von Straßendaten oder Wetterdaten beinhalten.
  • Gemäß einer Ausführungsform wird die Fehlerzustandswichtigkeit auf Grundlage einer Zeitdauer bestimmt, für die das Fahrzeug nach dem Erfassen von entsprechenden Fehlerzuständen betrieben werden darf.
  • Gemäß einer Ausführungsform beinhaltet das neuronale Netzwerk erste verborgene Schichten, die latente Variablen an zweite verborgene Schichten ausgeben, die Rangordnungen für die erfassten Fehlerzustände ausgeben.
  • Gemäß einer Ausführungsform beinhalten die ersten verborgenen Schichten Verzerrungsneuronen.
  • Gemäß einer Ausführungsform optimiert das neuronale Netzwerk Parameter der Verlustfunktion durch das Anwenden eines Gradientenabstiegs auf die Verlustfunktion. Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um das Fahrzeug ferner auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands als eines von dauerhaft oder vorübergehend zu betreiben.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um bei Bestimmen, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk größer oder gleich einem Schwellenwert ist, das Kommunikationsnetzwerk an Bord des Fahrzeugs auf aktualisierte Fehlerzustände zu überwachen und den Betrieb des Fahrzeugs beizubehalten.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um bei Erfassen aktualisierter Fehlerzustände die aktualisierten Fehlerzustände in das neuronale Netzwerk einzugeben, das eine Rangordnung für den aktualisierten Fehlerzustand ausgibt. Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um das Fahrzeug ferner auf Grundlage des Bestimmens, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als ein Schwellenwert ist, zu betreiben.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um den Fahrzeugbetriebsmodus auf Grundlage von Fahrzeugsensordaten zu bestimmen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um die Umweltzustände auf Grundlage von Fahrzeugsensordaten zu bestimmen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um auf eine Lookup-Tabelle zuzugreifen, um die Fehlerzustandswichtigkeit zu bestimmen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands eines von Beibehalten des Betriebs des Fahrzeugs oder Durchführen eines Minimalrisikomanövers durchzuführen. Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren das Folgende: Erfassen einer Vielzahl von Fehlerzuständen auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs; Eingeben der erfassten Fehlerzustände, einer Fehlerzustandswichtigkeit, von Umgebungszuständen und eines Fahrzeugbetriebsmodus in ein neuronales Netzwerk, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt, wobei das neuronale Netzwerk durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erfassten Fehlerzustände mit einem Rang versieht, trainiert wird; und Betreiben des Fahrzeugs auf Grundlage der Rangordnungen der Fehlerzustände.
  • In einem Aspekt der Erfindung optimiert das neuronale Netzwerk Parameter der Verlustfunktion durch Anwenden eines Gradientenabstiegs auf die Verlustfunktion.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren das Betreiben des Fahrzeugs ferner auf Grundlage des Bestimmens, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als ein Schwellenwert ist.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands eines von Beibehalten des Betriebs des Fahrzeugs oder Durchführen eines Minimalrisikomanövers.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren ferner das Betreiben des Fahrzeugs ferner auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands als eines von dauerhaft oder vorübergehend.
  • In einem Aspekt der Erfindung wird die Fehlerzustandswichtigkeit auf Grundlage einer Zeitdauer bestimmt, für die das Fahrzeug nach Erfassen von entsprechenden Fehlerzuständen betrieben werden darf.

Claims (15)

  1. Verfahren, umfassend: Erfassen einer Vielzahl von Fehlerzuständen auf einem Kommunikationsnetzwerk an Bord eines Fahrzeugs; Eingeben der erfassten Fehlerzustände, einer Fehlerzustandswichtigkeit, von Umgebungszuständen und eines Fahrzeugbetriebsmodus in ein neuronales Netzwerk, das Rangordnungen für jeweilige erfasste Fehlerzustände ausgibt, wobei das neuronale Netzwerk durch das Bestimmen einer Verlustfunktion auf Grundlage eines Maximum-Likelihood-Prinzips, das eine Wahrscheinlichkeitsverteilung bestimmt, die die erfassten Fehlerzustände bewertet, trainiert wird; und Betreiben des Fahrzeugs auf Grundlage der Rangordnungen der Fehlerzustände.
  2. Verfahren nach Anspruch 1, wobei die Umgebungszustände mindestens eines von Straßeneigenschaften oder Wetterdaten beinhalten.
  3. Verfahren nach Anspruch 1, wobei die Fehlerzustandswichtigkeit auf Grundlage einer Zeitdauer bestimmt wird, für die das Fahrzeug nach dem Erfassen von entsprechenden Fehlerzuständen betrieben werden darf.
  4. Verfahren nach Anspruch 1, wobei das neuronale Netzwerk erste verborgene Schichten beinhaltet, die latente Variablen an zweite verborgene Schichten ausgeben, die eine Rangordnung für einen eingegebenen Fehlerzustand ausgeben.
  5. Verfahren nach Anspruch 4, wobei die ersten verborgenen Schichten Verzerrungsneuronen beinhalten.
  6. Verfahren nach Anspruch 1, wobei das neuronale Netzwerk Parameter der Verlustfunktion durch das Anwenden eines Gradientenabstiegs auf die Verlustfunktion optimiert.
  7. Verfahren nach Anspruch 1, ferner umfassend das Betreiben des Fahrzeugs ferner auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands als eines von dauerhaft oder vorübergehend.
  8. Verfahren nach Anspruch 1, ferner umfassend, bei Bestimmen, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als ein Schwellenwert ist größer oder gleich einem Schwellenwert ist, das Überwachen des Kommunikationsnetzwerks an Bord des Fahrzeugs auf aktualisierte Fehlerzustände und das Beibehalten des Betriebs des Fahrzeugs.
  9. Verfahren nach Anspruch 8, ferner umfassend, bei Erfassen aktualisierter Fehlerzustände, das Eingeben der aktualisierten Fehlerzustände in das neuronale Netzwerk, das eine Rangordnung für den aktualisierten Fehlerzustand ausgibt.
  10. Verfahren nach Anspruch 1, ferner umfassend das Betreiben des Fahrzeugs ferner auf Grundlage des Bestimmens, dass eine Zeitdauer zwischen dem Erfassen der Fehlerzustände und dem Empfangen der Ausgabe vom neuronalen Netzwerk geringer als ein Schwellenwert ist.
  11. Verfahren nach Anspruch 1, ferner umfassend das Zugreifen auf eine Lookup-Tabelle, um die Fehlerzustandswichtigkeit zu bestimmen.
  12. Verfahren nach Anspruch 1, ferner umfassend, auf Grundlage des Identifizierens eines ranghöchsten Fehlerzustands, eines von Beibehalten des Betriebs des Fahrzeugs oder Durchführen eines Minimalrisikomanövers.
  13. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-12 auszuführen.
  14. Computerprogrammprodukt, das Anweisungen zum Ausführen des Verfahrens nach einem der Ansprüche 1-12 umfasst.
  15. Fahrzeug, das einen Computer umfasst, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-12 auszuführen.
DE102022100549.6A 2021-01-12 2022-01-11 Mit einem rang versehene fehlerzustände Pending DE102022100549A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/146714 2021-01-12
US17/146,714 US11715338B2 (en) 2021-01-12 2021-01-12 Ranking fault conditions

Publications (1)

Publication Number Publication Date
DE102022100549A1 true DE102022100549A1 (de) 2022-07-14

Family

ID=82116429

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022100549.6A Pending DE102022100549A1 (de) 2021-01-12 2022-01-11 Mit einem rang versehene fehlerzustände

Country Status (3)

Country Link
US (1) US11715338B2 (de)
CN (1) CN114763150A (de)
DE (1) DE102022100549A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230071833A1 (en) * 2021-09-08 2023-03-09 Gm Cruise Holdings Llc Automated work ticketing and triage
US11938966B1 (en) * 2021-12-03 2024-03-26 Zoox, Inc. Vehicle perception system validation
US11945456B2 (en) * 2022-01-31 2024-04-02 Ford Global Technologies, Llc Vehicle control for optimized operation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277823B2 (en) * 2005-09-26 2007-10-02 Lockheed Martin Corporation Method and system of monitoring and prognostics
US8370018B2 (en) * 2007-06-28 2013-02-05 Innova Electronics, Inc. Automotive diagnostic process
SE536393C2 (sv) 2012-01-13 2013-10-08 Scania Cv Ab System och metod för tillhandahållande av diagnostisk felinformation på basis av ett flertal felkoder
DE102012013208B4 (de) 2012-05-07 2019-07-25 Adient Luxembourg Holding S.À R.L. Sitzteil eines Fahrzeugsitzes
US9626811B2 (en) * 2014-06-19 2017-04-18 Atieva, Inc. Vehicle fault early warning system
DE112017005163T5 (de) * 2016-10-12 2019-07-25 Harman International Industries, Incorporated Systeme und verfahren zur vorausschauenden ausfalldetektion in fahrzeugen
CN107918382B (zh) 2017-12-08 2020-01-03 深圳市道通科技股份有限公司 一种汽车故障诊断方法、汽车故障诊断装置及电子设备
US10977503B2 (en) * 2019-08-15 2021-04-13 GM Global Technology Operations LLC Fault isolation for perception systems in autonomous/active safety vehicles
WO2021084381A1 (en) * 2019-10-28 2021-05-06 3M Innovative Properties Company Automated vehicle repair system
CN111414477B (zh) 2020-03-11 2024-02-13 科大讯飞股份有限公司 车辆故障自动诊断方法、装置以及设备
US20220084335A1 (en) * 2020-09-11 2022-03-17 Nec Laboratories America, Inc. Vehicle intelligence tool for early warning with fault signature
DE102020212277A1 (de) * 2020-09-29 2022-03-31 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Bestimmen einer Restnutzungsdauer basierend auf einer prädiktiven Diagnose von Komponenten eines elektrischen Antriebssystems mithilfe Verfahren künstlicher Intelligenz
DE102022117475A1 (de) * 2021-07-30 2023-02-02 Nvidia Corporation Übermitteln von fehlern an einen isolierten sicherheitsbereich eines systems auf einem chip

Also Published As

Publication number Publication date
US11715338B2 (en) 2023-08-01
CN114763150A (zh) 2022-07-19
US20220222983A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
DE102022100549A1 (de) Mit einem rang versehene fehlerzustände
DE112018000973T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsverfahren, Programm und Aufzeichnungsmedium
DE112018000975T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsverfahren und Aufzeichnungsmedium
DE102020103522A1 (de) Fahrzeugsteuerung durch fahrbahnreibung
DE102021125166A1 (de) Bestimmung von seitenwindrisiken
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102019114595B4 (de) Verfahren zum Steuern des Betriebs eines Kraftfahrzeugs und zum Ableiten von Straßenabschnittsgeschwindigkeitsgrenzwerten
DE102022109164A1 (de) Verbessserter fahrzeugbetrieb
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge
DE102021111144A1 (de) Spurenbasierte fahrzeugsteuerung
DE102022101233A1 (de) Verkehrssimulation und strassennetzmodellierung für autonome fahrzeuge
DE102021123721A1 (de) Fahrzeugbetrieb unter verwendung eines verhaltensregelmodells
DE102021131991A1 (de) Fahrzeugsensorreinigung und -kühlung
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102021104184A1 (de) Fahrzeugsteuersystem
DE102022120968A1 (de) Vernetzte fahrzeuggestützte ermittlung der strassenoberflächenqualität
DE102019116962A1 (de) Transportinfrastrukturkommunikation und -steuerung
DE102021104323A1 (de) Vorfahrtsgewährungentscheidung eines fahrzeugs
DE102020130519A1 (de) Fahrzeugbetriebsparameter
DE102021104763A1 (de) Fahrzeugsteuersystem
DE102020127885A1 (de) Fahrzeugaufpralldetektion
DE102020120084A1 (de) Fahrzeugfenstersteuerung
DE102023104651A1 (de) Eisdickenschätzung für betrieb eines mobilen objekts
DE102023101585A1 (de) Fahrzeugwegverifizierung
DE102023101951A1 (de) Fahrzeugsteuerung für optimierten betrieb

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: LORENZ SEIDLER GOSSEL RECHTSANWAELTE PATENTANW, DE