DE102021128201A1 - Verbesserter Fahrzeugbetrieb - Google Patents

Verbesserter Fahrzeugbetrieb Download PDF

Info

Publication number
DE102021128201A1
DE102021128201A1 DE102021128201.2A DE102021128201A DE102021128201A1 DE 102021128201 A1 DE102021128201 A1 DE 102021128201A1 DE 102021128201 A DE102021128201 A DE 102021128201A DE 102021128201 A1 DE102021128201 A1 DE 102021128201A1
Authority
DE
Germany
Prior art keywords
vehicle
data
machine learning
computer
operational data
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
DE102021128201.2A
Other languages
English (en)
Inventor
Lijun Wang
Chen Zhang
Rebecca Kreucher
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 DE102021128201A1 publication Critical patent/DE102021128201A1/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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • 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
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/043Identity of occupants
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0666Engine torque
    • 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
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

Die vorliegende Offenbarung stellt einen verbesserten Fahrzeugbetrieb bereit. Ein Computer beinhaltet einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausführbar sind, um Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs zu sammeln, die gesammelten Betriebsdaten und zuvor gespeicherte Betriebsdaten in ein erstes Programm zum maschinellen Lernen einzugeben, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt, die Sollkraftstoffverbrauchsrate und die gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen einzugeben, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen, und die eine oder mehreren Komponenten zu betätigen, um die Vielzahl von Betriebseinstellungen zu erreichen.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen den Fahrzeugbetrieb und die Fahrzeugnavigation.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Daten bezüglich der Umgebung des Fahrzeugs zu erheben und das Fahrzeug auf Grundlage der Daten zu betreiben. Fahrzeugsensoren können Daten in Bezug auf Wege, die in der Umgebung des Fahrzeugs zurückgelegt werden müssen, und Kraftstoff, der zum Bewegen des Fahrzeugs entlang der Wege verbraucht wird, bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Erheben genauer und aktueller Daten bezüglich des Kraftstoffverbrauchs eines Fahrzeugs stützen, während das Fahrzeug auf einer Fahrbahn betrieben wird.
  • KURZDARSTELLUNG
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausführbar sind, um Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs zu sammeln, die gesammelten Betriebsdaten und zuvor gespeicherte Betriebsdaten in ein erstes Programm zum maschinellen Lernen einzugeben, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt, die Sollkraftstoffverbrauchsrate und die gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen einzugeben, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen, und die eine oder mehreren Komponenten zu betätigen, um die Vielzahl von Betriebseinstellungen zu erreichen.
  • Die Anweisungen können ferner Anweisungen zum Sammeln der Betriebsdaten aus einem vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Identifizieren eines Insassen des Fahrzeugs auf Grundlage der gesammelten Betriebsdaten beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Eingeben der Identifizierung eines Insassen des Fahrzeugs in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage der Identifizierung des Insassen beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Eingeben zuvor bestimmter Betriebsdaten des durch den identifizierten Insassen betriebenen Fahrzeugs in das erste Programm zum maschinellen Lernen beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Eingeben eines geplanten Wegs des Fahrzeugs in das erste Programm zum maschinellen Lernen zum Ausgeben der Sollkraftstoffverbrauchsrate beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Eingeben eines Fahrtvektors in das erste Programm zum maschinellen Lernen beinhalten, wobei der Fahrtvektor eine Wertemenge ist, die einen vorhergesagten Weg des Fahrzeugs und eine oder mehrere aktuelle Betriebseinstellungen für die Komponenten beinhaltet, und wobei das erste Programm zum maschinellen Lernen ein Clustering-Programm ist, das den Fahrtvektor einem von einer Vielzahl von Clustern zuweist, wobei jeder der Vielzahl von Clustern auf einem jeweiligen zuvor bestimmten Fahrtvektor basiert.
  • Jeder zuvor bestimmte Fahrtvektor, der die Vielzahl von Clustern definiert, kann einen Ausgangspunkt, ein Ziel und einen Weg zwischen dem Ausgangspunkt und dem Ziel beinhalten, und jeder zuvor bestimmte Fahrtvektor kann mindestens eines von einem Ziel oder einem Weg, das/der sich von jedem zuvor bestimmten Fahrtvektor unterscheidet, aufweisen. Die Anweisungen können ferner Anweisungen zum Eingeben der gesammelten Betriebsdaten und zuvor gespeicherten Betriebsdaten in ein drittes Programm zum maschinellen Lernen beinhalten, das dazu trainiert ist, den Fahrtvektor auszugeben.
  • Die Vielzahl von Betriebseinstellungen kann eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang beinhalten und die Anweisungen können ferner Anweisungen zum Betätigen des Antriebsstrangs beinhalten, um die vorgeschriebene Drehmomentausgabe zu erreichen.
  • Die Vielzahl von Betriebseinstellungen kann eine vorgeschriebene Höchstgeschwindigkeit beinhalten und die Anweisungen können ferner Anweisungen zum Betätigen von mindestens einem von einem Antriebsstrang, einem Antrieb oder einer Bremse beinhalten, um das Fahrzeug unter der vorgeschriebenen Höchstgeschwindigkeit zu betreiben.
  • Die Anweisungen können ferner Anweisungen zum Eingeben eines aktuellen Zeitstempels in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage des aktuellen Zeitstempels beinhalten.
  • Ein Verfahren beinhaltet ein Sammeln von Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs, ein Eingeben der gesammelten Betriebsdaten und zuvor gespeicherte Betriebsdaten in ein erstes Programm zum maschinellen Lernen, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt, ein Eingeben der Sollkraftstoffverbrauchsrate und der gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen, und ein Betätigen der einen oder mehreren Komponenten, um die Vielzahl von Betriebseinstellungen zu erreichen.
  • Das Verfahren kann ferner das Sammeln der Betriebsdaten aus einem vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs beinhalten.
  • Das Verfahren kann ferner das Identifizieren eines Insassen des Fahrzeugs auf Grundlage der gesammelten Betriebsdaten beinhalten.
  • Das Verfahren kann ferner das Eingeben der Identifizierung eines Insassen des Fahrzeugs in das erste Programm zum maschinellen Lernen und das Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage der Identifizierung des Insassen beinhalten.
  • Das Verfahren kann ferner das Eingeben zuvor bestimmter Betriebsdaten des durch den identifizierten Insassen betriebenen Fahrzeugs in das erste Programm zum maschinellen Lernen beinhalten.
  • Das Verfahren kann ferner das Eingeben eines geplanten Wegs des Fahrzeugs in das erste Programm zum maschinellen Lernen zum Ausgeben der Sollkraftstoffverbrauchsrate beinhalten.
  • Das Verfahren kann ferner das Eingeben eines Fahrtvektors in das erste Programm zum maschinellen Lernen beinhalten, wobei der Fahrtvektor eine Wertemenge ist, die einen vorhergesagten Weg des Fahrzeugs und eine oder mehrere aktuelle Betriebseinstellungen für die Komponenten beinhaltet, und wobei das erste Programm zum maschinellen Lernen ein Clustering-Programm ist, das den Fahrtvektor einem von einer Vielzahl von Clustern zuweist, wobei jeder der Vielzahl von Clustern auf einem jeweiligen zuvor bestimmten Fahrtvektor basiert.
  • Das Verfahren kann ferner das Eingeben der gesammelten Betriebsdaten und zuvor gespeicherten Betriebsdaten in ein drittes Programm zum maschinellen Lernen beinhalten, das dazu trainiert ist, den Fahrtvektor auszugeben.
  • Die Vielzahl von Betriebseinstellungen kann eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang beinhalten und das Verfahren kann ferner das Betätigen des Antriebsstrangs beinhalten, um die vorgeschriebene Drehmomentausgabe zu erreichen.
  • Die Vielzahl von Betriebseinstellungen kann eine vorgeschriebene Höchstgeschwindigkeit beinhalten und das Verfahren kann ferner das Betätigen von mindestens einem von einem Antriebsstrang, einem Antrieb oder einer Bremse beinhalten, um das Fahrzeug unter der vorgeschriebenen Höchstgeschwindigkeit zu betreiben.
  • Das Verfahren kann ferner das Eingeben eines aktuellen Zeitstempels in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage des aktuellen Zeitstempels beinhalten.
  • Ferner ist eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Außerdem ist ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Außerdem ist ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, das durch einen Computerprozessor ausführbare Anweisungen speichert, um beliebige der vorstehenden Verfahrensschritte auszuführen.
  • Figurenliste
    • 1 ist ein Schaubild eines beispielhaften Systems zum Betreiben eines Fahrzeugs.
    • 2 ist eine Ansicht einer beispielhaften von dem Fahrzeug durchgeführten Fahrt.
    • 3 ist ein Schaubild eines beispielhaften Programms zum maschinellen Lernen zum Identifizieren eines Fahrtvektors.
    • 4 ist ein Schaubild eines beispielhaften Programms zum maschinellen Lernen zum Identifizieren von Betriebseinstellungen für das Fahrzeug.
    • 5 ist ein Schaubild eines beispielhaften neuronalen Netzes.
    • 6 ist ein Schaubild eines beispielhaften Prozesses zum Programmieren eines Fahrzeugcomputers mit Programmen zum maschinellen Lernen.
    • 7 ist ein Schaubild eines beispielhaften Prozesses zum Betreiben des Fahrzeugs.
  • DETAILLIERTE BESCHREIBUNG
  • Der Betrieb von Fahrzeugkomponenten kann eine Kraftstoffverbrauchsrate eines Fahrzeugs beeinflussen. Das Angleichen von Kalibrierungseinstellungen der Fahrzeugkomponenten an zuvor bestimmte Kalibrierungseinstellungen kann den Kraftstoffverbrauch reduzieren, wenn das Fahrzeug einem Weg folgt, der einem zuvor gefahrenen Weg ähnlich ist. Das heißt, wenn ein Fahrzeug häufige Fahrten unternimmt, die ähnlichen Wegen folgen, kann das Bestimmen von Kalibrierungseinstellungen für Fahrzeugkomponenten, die den Kraftstoffverbrauch auf einer vorherigen Fahrt reduziert haben, den Kraftstoffverbrauch für zukünftige Fahrten reduzieren. Das Bestimmen, ob eine aktuelle Fahrt einer zuvor bestimmten Fahrt ähnlich ist, und das Anpassen der Kalibrierungseinstellungen an diejenigen der zuvor bestimmten Fahrt kann den Kraftstoffverbrauch für die aktuelle Fahrt reduzieren. Unter Verwendung von Daten aus einem vorbestimmten Zeitraum beim Beginnen der Fahrt und Identifizieren von Daten eines Fahrzeuginsassen kann ein Computer des Fahrzeugs bestimmen, dass das Fahrzeug einem Weg folgt, der einer vorherigen Fahrt ähnlich ist, und der Computer kann dann die Fahrzeugkomponenten gemäß Kalibrierungseinstellungen der vorherigen Fahrt betreiben, um den Kraftstoffverbrauch des Fahrzeugs zu reduzieren.
  • 1 veranschaulicht ein beispielhaftes System 100 zum Betreiben eines Fahrzeugs 105. Ein Computer 110 in dem Fahrzeug 105 ist dazu programmiert, gesammelte Daten von einem oder mehreren Sensoren 115 zu empfangen. Zum Beispiel können Daten des Fahrzeugs 105 einen Standort des Fahrzeugs 105, Daten über eine Umgebung um ein Fahrzeug herum, Daten über ein Objekt außerhalb des Fahrzeugs, wie etwa ein anderes Fahrzeug, usw. beinhalten. Ein Standort des Fahrzeugs 105 wird in der Regel in einer herkömmlichen Form bereitgestellt, z. B. als Geokoordinaten, wie etwa Breitengrad- und Längengradkoordinaten, die über ein Navigationssystem erlangt werden, welches das globale Positionsbestimmungssystem (GPS) verwendet. Weitere Beispiele für Daten können Messwerte von Systemen und Komponenten des Fahrzeugs 105 beinhalten, z. B. eine Geschwindigkeit des Fahrzeugs 105, eine Bewegungsbahn des Fahrzeugs 105 usw.
  • Der Computer 110 ist im Allgemeinen zur Kommunikationen über ein Netzwerk des Fahrzeugs 105 programmiert, das z. B. einen herkömmlichen Kommunikationsbus für das Fahrzeug 105, wie etwa einen CAN-Bus, einen LIN-Bus usw. und/oder andere drahtgebundene und/oder drahtlose Technologien, z. B. Ethernet, WIFI usw., beinhaltet. Über das Netzwerk, den Bus und/oder die anderen drahtgebundenen oder drahtlosen Mechanismen (z. B. ein drahtgebundenes oder drahtloses lokales Netzwerk in dem Fahrzeug 105) kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in einem Fahrzeug 105, z.B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 115, übertragen und/oder Nachrichten von diesen empfangen. Alternativ oder zusätzlich dazu kann in Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Zum Beispiel kann der Computer 110 ein generischer Computer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder kann er eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, 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 Computer 110 ein FPGA (Field-Programmable Gate Array - feldprogrammierbares Gate-Array) beinhalten, das eine integrierte Schaltung ist, die so hergestellt ist, dass sie durch einen Insassen konfiguriert werden kann. 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. Zum Beispiel 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. in 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 in dem Computer 110 beinhaltet sein. Des Weiteren kann der Computer 110 zum Kommunizieren mit dem Netzwerk 125 programmiert sein, das, wie nachstehend beschrieben, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien beinhalten kann, z. B. Mobilfunk, Bluetooth®, Bluetooth® Low Energy (BLE), drahtgebundene und/oder drahtlose Paketnetzwerke usw.
  • Der Speicher kann von beliebiger Art sein, z. B. Festplattenlaufwerke, Festkörperlaufwerke, Server oder beliebige flüchtige oder nichtflüchtige Medien. Der Speicher kann die von den Sensoren 115 gesendeten gesammelten Daten speichern. Der Speicher kann eine von dem Computer 110 getrennte Vorrichtung sein und der Computer 110 kann durch den Speicher gespeicherte Informationen über ein Netzwerk in dem Fahrzeug 105 abrufen, z. B. über einen CAN-Bus, ein drahtloses Netzwerk usw. Alternativ oder zusätzlich kann der Speicher Teil des Computers 110 sein, z. B. als ein Speicher des Computers 110.
  • Die Sensoren 115 können eine Vielfalt an Vorrichtungen beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug 105 als Sensoren 115 betrieben werden, um Daten über das Netzwerk oder den Bus des Fahrzeugs 105 bereitzustellen, z. B. Daten bezüglich der Geschwindigkeit, Beschleunigung und des Standortes des Fahrzeugs, des Status von Teilsystemen und/oder Komponenten usw. Ferner könnten andere Sensoren 115 Kameras, Bewegungsmelder usw. beinhalten, d.h. Sensoren 115 zum Bereitstellen von Daten zum Auswerten einer Position einer Komponente, Auswerten einer Neigung einer Fahrbahn usw. Die Sensoren 115 könnten zudem ohne Einschränkung Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler beinhalten.
  • Die gesammelten Daten können eine Vielfalt an Daten, die in einem Fahrzeug 105 gesammelt werden, beinhalten. Beispiele für gesammelte Daten sind vorstehend bereitgestellt und darüber hinaus werden Daten im Allgemeinen unter Verwendung von einem oder mehreren Sensoren 115 gesammelt und können zusätzlich Daten beinhalten, die aus diesen in dem Computer 110 und/oder auf dem Server 130 berechnet werden. Im Allgemeinen können die gesammelten Daten beliebige Daten beinhalten, die durch die Sensoren 115 zusammengetragen und/oder aus derartigen Daten berechnet werden können.
  • Das Fahrzeug 105 kann eine Vielzahl von Fahrzeugkomponenten 120 beinhalten. In diesem Zusammenhang beinhaltet jede Fahrzeugkomponente 120 eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa das Fahrzeug 105 zu bewegen, das Fahrzeug 105 abzubremsen oder anzuhalten, das Fahrzeug 105 zu lenken usw. Nicht einschränkende Beispiele für die Komponenten 120 beinhalten 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 Zahnstange usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine adaptive Lenkkomponente, einen bewegbaren Sitz und dergleichen. Die Komponenten 120 können Rechenvorrichtungen beinhalten, z. B. elektronische Steuereinheiten (Electronic Control Units - ECU) oder dergleichen und/oder Rechenvorrichtungen, wie sie etwa vorstehend in Bezug auf den Computer 110 beschrieben wurden und die ebenfalls über ein Netzwerk des Fahrzeugs 105 kommunizieren.
  • Ein Fahrzeug 105 kann in einem vollständig autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betrieben werden. Ein vollständig autonomer Modus ist als ein Modus definiert, in dem jedes von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird. Ein halbautonomer Modus ist ein Modus, in dem mindestens eines von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 105 zumindest teilweise durch den Computer 110 und nicht durch einen menschlichen Bediener gesteuert wird. In einem nicht autonomen Modus, d. h. einem manuellen Modus, werden der Antrieb, die Bremsung und die Lenkung des Fahrzeugs 105 durch den menschlichen Fahrzeugführer gesteuert.
  • Das System 100 kann ferner ein Netzwerk 125 beinhalten, das mit einem Server 130 verbunden ist. Der Computer 110 kann ferner dazu programmiert sein, mit einem oder mehreren entfernten Orten, wie etwa dem Server 130, über das Netzwerk 125 zu kommunizieren, wobei ein derartiger entfernter Ort möglicherweise einen Prozessor und einen Speicher beinhaltet.
  • Das Netzwerk 125 stellt einen oder mehrere Mechanismen dar, durch welche ein Fahrzeugcomputer 110 mit einem entfernten Server 130 kommunizieren kann. Dementsprechend kann das Netzwerk 125 eines oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, die eine beliebige gewünschte Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen genutzt werden) beinhalten. 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 (Dedicated Short Range Communications - DSRC) usw.), lokale Netzwerke (Local Area Network - LAN) und/oder Weitbereichsnetzwerke (Wide Area Network - WAN), die das Internet beinhalten, die Datenkommunikationsdienste bereitstellen. 2 ist eine Ansicht einer beispielhaften von einem Fahrzeug 105 durchgeführten Fahrt 200. In diesem Zusammenhang ist eine „Fahrt“ ein Zeitraum, der ab dem Verlassen eines Ausgangspunkts 205 bis zum Erreichen eines Ziels 210 durch das Fahrzeug 105 definiert ist. Der „Ausgangspunkt“ 205 ist in der Regel ein Standort, an dem das Fahrzeug 105 angeschaltet wurde. Das „Ziel“ 210 ist ein Standort, an dem das Fahrzeug 105 abgeschaltet werden soll, z. B. ein Standort, an den ein Insasse fahren möchte. Der Computer 110 kann die Standorte des Ausgangspunkts 205 und des Ziels 210 als Geokoordinaten von einem Server eines globalen Positionssystems (GPS) bestimmen. Daten, die auf der Fahrt 200 gesammelt werden, können Daten beinhalten, die von dem Zeitpunkt, an dem das Fahrzeug 105 den Ausgangspunkt 205 verlässt, bis das Fahrzeug 105 am Ziel 210 ankommt, gesammelt werden.
  • Die Fahrt 200 kann das Anschalten des Fahrzeugs 105, d. h. damit beginnen, bis zum Abschalten des Fahrzeugs 105 beinhalten. Das „Anschalten“ des Fahrzeugs 105 beginnt beim Empfangen einer Anweisung zum Ermöglichen der Mobilität des Fahrzeugs 105, z. B. von einem Schlüssel, einem Funkschlüssel, einer Anweisung von einer tragbaren Vorrichtung usw. Das heißt, die Fahrt 200 beinhaltet den Betrieb des Fahrzeugs 105 vom Anschalten bis zum Abschalten.
  • Die Fahrt 200 kann einen Weg 215 von dem Ausgangspunkt 205 zu dem Ziel 210 beinhalten. Der Weg 215 ist ein Satz von Geokoordinaten, dem das Fahrzeug 105 folgen kann, um sich vom Ausgangspunkt 205 zum Ziel 210 zu bewegen. Der Computer 110 kann den Weg 215 unter Verwendung eines Wegplanungsprogramms, z. B. eines Wegpolynoms, bestimmen. Bei dem Wegpolynom p(x) handelt es sich um ein Modell, das den Weg 215 als eine durch eine Polynomgleichung gezeichnete Linie vorhersagt. Das Wegpolynom p(x) prognostiziert den Weg 215 für eine vorbestimmte bevorstehende Strecke x, die z. B. in Metern gemessen wird: p ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3
    Figure DE102021128201A1_0001
    wobei a0 ein Versatz ist, d.h. ein lateraler Abstand zwischen dem Weg 215 und einer Mittellinie des Fahrzeugs 105 auf der bevorstehenden Strecke x, a1 ein Kurswinkel des Wegs 215 ist, a2 die Krümmung des Wegs 215 ist und a3 die Krümmungsrate des Wegs 215 ist. Im vorliegenden Zusammenhang ist die „bevorstehende Strecke“ x ein vorbestimmter Längsabstand vor dem Hostfahrzeug 101 von einem vorderen Stoßfänger des Fahrzeugs 105, an dem die Sensoren 115 Daten sammeln und der Wegplaner den Weg vorhersagt. Die bevorstehende Strecke x kann z. B. auf Grundlage einer aktuellen Geschwindigkeit des Fahrzeugs 105, eines vorbestimmten Zeitschwellenwerts, der auf Grundlage empirischer Simulationsdaten bestimmt wird, eines Erfassungsbereichs der Sensoren 115 usw. bestimmt werden. Der Zeitschwellenwert kann z. B. 1 Sekunde betragen. Das Wegpolynom kann eine oder mehrere Bezierkurven beinhalten, d. h. Polynomfunktionen, die jeweils eine disjunkte Teilmenge von Punkten darstellen, die den Weg darstellt, und die zusammengenommen die Gesamtmenge von Punkten darstellen, die den Weg darstellt. Bezierkurven können eingeschränkt werden, um durchgehend unterscheidbar zu sein und Einschränkungen oder Grenzen für die zulässigen Ableitungen, z. B. Grenzen für die Änderungsraten, ohne Unterbrechungen aufzuweisen. Bezierkurven können außerdem eingeschränkt werden, um mit Ableitungen mit anderen Bezierkurven an Grenzen übereinzustimmen, die fließende Übergänge zwischen Teilmengen bereitstellen. Beschränkungen bei Bezierkurven können ein Polynom des Fahrzeugwegs zu einem Polynom des lenkbaren Wegs durch das Begrenzen der Raten von Längs- und Querbeschleunigungen machen, die erforderlich sind, um ein Fahrzeug 105 entlang des Wegpolynoms zu führen, wobei Bremsmoment und Antriebsstrangdrehmoment als positive und negative Längsbeschleunigungen angewendet werden und Lenkdrehmoment im Uhrzeigersinn und gegen den Uhrzeigersinn als linke und rechte Querbeschleunigung angewendet werden.
  • Der Computer 110 kann Betriebsdaten einer oder mehrerer Komponenten 120 von einem oder mehreren Sensoren 115 während der Fahrt 200 sammeln. In diesem Zusammenhang sind „Betriebsdaten“ Daten, die den Betrieb der Komponenten 120 beschreiben. Die Betriebsdaten können z. B. Geschwindigkeitsdaten, Beschleunigungsdaten, Bremsdaten, Kraftstofffüllstandsdaten, Lenkwinkeldaten, Reifendruckdaten usw. beinhalten. Das heißt, wenn der Computer 110 im Verlauf der Fahrt 200 Komponenten 120 betätigt, beschreiben die Betriebsdaten wie das Fahrzeug 105 auf der Fahrt 200 betrieben wird.
  • 3 ist ein Schaubild, das ein Programm 300 zum maschinellen Lernen veranschaulicht, das zuvor bestimmte Fahrtdatensätze 305 und einen anfänglichen Fahrtdatensatz als Eingabe verwendet, um einen Fahrtvektor 310 vorherzusagen, der die aktuelle Fahrt 200 beschreibt, und um vorherige Fahrtvektoren 315 für vorherige Fahrten zu bestimmen. Ein „Fahrtdatensatz“ ist eine Liste oder ein Array von Betriebsdatensätzen, die eine Fahrt 200 beschreiben, wie etwa in dem nachstehenden Ausdruck (2) gezeigt. Ein zuvor bestimmter Fahrtdatensatz 305 ist eine Liste oder ein Array von Betriebsdaten, die eine vorherige Fahrt 200 beschreiben. Ein „anfänglicher“ Fahrtdatensatz 305 ist eine vorbestimmte Liste oder ein Array von Betriebsdaten, die durch einen Hersteller auf Grundlage von Daten einer Testfahrt 200 bestimmt werden, die während empirischer Tests von Testfahrzeugen 105 gesammelt wurden. Das heißt, wenn Fahrzeuge 105 Fahrten 200 zurücklegen, übertragen die Fahrzeuge 105 Betriebsdaten an einen Server 130, und der Server 130 erzeugt eine Vielzahl von anfänglichen Fahrtdatensätzen 305, die häufig zurückgelegte Fahrten 200 darstellen. T = [ l o l d t p ( x ) τ F C v W C A I D ]
    Figure DE102021128201A1_0002
    wobei T der Fahrtdatensatz 305 ist, l0 der Ausgangspunkt 205 ist, der als ein Paar von Geokoordinaten dargestellt ist, ld das Ziel 210 ist, das als ein Paar von Geokoordinaten dargestellt ist, t ein Array von Zeitstempeln ist, bei denen die Sensoren 115 Daten über die Fahrt 200 gesammelt haben, p(x) der Weg 215 ist, der als ein Satz von Geokoordinaten dargestellt ist, die bei jedem Zeitstempel t gesammelt werden, τ ein Array von Drehmomentausgaben eines Antriebsstrangs ist, die bei jedem Zeitstempel t gesammelt werden, FC eine Kraftstoffverbrauchsrate der Fahrt 200 ist, die eine in Millilitern pro Meter verbrauchte Kraftstoffmenge ist, v ein Array von Fahrzeuggeschwindigkeiten ist, die bei jedem Zeitstempel t gesammelt werden, W ein Wetterindikatorwert ist, wie nachstehend beschrieben, der Wetterdaten bei jedem Zeitschritt t kategorisiert, C ein Verkehrsstauindikatorwert ist, der Verkehrsdaten bei jedem Zeitschritt t kategorisiert, A ein Insassenaggressivitätsindikatorwert ist, der das Lenken und die Beschleunigung des Fahrzeugs 105 durch den Insassen bei jedem Zeitschritt t kategorisiert, und ID eine Identifizierung des Insassen ist, z. B. eine ID-Nummer des Insassen, die dem Fahrzeug 105 zugeordnet ist, ein Name des Insassen, eine Telefonnummer des Insassen usw. Der Fahrtdatensatz 305 kann zusätzliche Daten beinhalten, die in diesem Beispiel nicht gezeigt sind, wie mit den Ellipsen in dem vorstehenden Vektor T vermerkt. Zum Beispiel kann der Fahrtdatensatz 305 Straßenbedingungsdaten beinhalten, z. B. eine Straßensteigung, einen Straßenreibungskoeffizienten, das Vorhandensein von Schlaglöchern usw.
  • Wie vorstehend beschrieben, kann der Fahrtdatensatz 305 einen oder mehrere Indikatorwerte beinhalten, die Umwelt- und Insassendaten über die Fahrt 200 klassifizieren. In diesem Zusammenhang ist ein „Indikatorwert“ ein numerischer Wert, der eine spezifische Art von Umwelt- oder Insassendaten angibt. Zum Beispiel kann ein Wetterindikatorwert W eine von einer Vielzahl von ganzen Zahlen sein, wobei jede ganze Zahl eine spezifische Art von Wetterdaten darstellt, die durch den Computer 110 identifiziert werden, z.B. kann der Computer 110, wenn er keine Wolken oder Niederschläge (z. B. klares Wetter) bei einer Umgebungstemperatur über 0 °C und einem deaktivierten Antiblockierbremsenunterystem und Traktionssteueruntersystem erfasst, einen Wetterindikatorwert W von 0 zuweisen, wenn er Wolken, aber keinen Niederschlag erfasst, ein Wert von 1 zuweisen, wenn er Niederschlag in Form von Regen und eines von einem aktivierten Antiblockierbremsenuntersystem oder Traktionssteueruntersystem erfasst, ein Wert von 2 zuweisen, wenn er Niederschlag in Form von Schnee erfasst, ein Wert von 3 zuweisen usw. Für jeden Zeitschritt t kann der Computer 110 den Wetterindikatorwert W auf Grundlage von Daten zuweisen, die z. B. von einem Niederschlagsensor gesammelt werden. Alternativ kann der Wetterindikatorwert W ein Binärwert sein, z. B. kann der Computer 110 einen Wetterindikatorwert W von 0 zuweisen, wenn Daten von einem Niederschlagsensor angeben, dass ein Niederschlagsniveau unter einem durch empirische Tests und Daten aus vorherigen Fahrtdatensätzen 305 bestimmten vorbestimmten Schwellenwert liegt, und der Computer 110 kann einen Wetterindikatorwert W von 1 zuweisen, wenn Daten von dem Niederschlagssensor angeben, dass das Niederschlagsniveau über dem vorbestimmten Schwellenwert liegt.
  • In einem anderen Beispiel kann ein Verkehrsstauindikatorwert C eine von einer Vielzahl von ganzen Zahlen sein, wobei jede ganze Zahl eine bestimmte Art von Verkehr auf Grundlage einer aktuellen Geschwindigkeit des Fahrzeugs 105 und einer Anzahl anderer Fahrzeuge 105 in der Nähe des Fahrzeugs 105 darstellt. Zum Beispiel kann der Computer 110 einen Verkehrsstauindikatorwert C von 0 zuweisen, wenn die Geschwindigkeit des Fahrzeugs 105 mindestens eine ausgeschilderte Geschwindigkeitsbegrenzung ist, sich keine anderen Fahrzeuge 105 innerhalb eines Abstandsschwellenwerts von dem Fahrzeug 105 befinden (d. h. kein Verkehr), oder eine Anzahl von Fahrzeugen 105, die einen Infrastruktursensor über einen festgelegten Zeitraum passieren (d. h. eine Verkehrsrate), über einem Verkehrsschwellenwert liegt, einen Wert von 1 zuweisen, wenn die Geschwindigkeit des Fahrzeugs 105 mindestens die ausgeschilderte Geschwindigkeitsbegrenzung ist und sich mindestens ein Fahrzeug 105 innerhalb des Abstandsschwellenwerts des Fahrzeugs 105 befindet (d. h. geringer Verkehr) und einen Wert von 2 zuweisen, wenn die Geschwindigkeit des Fahrzeugs 105 unter der ausgeschilderten Geschwindigkeitsbegrenzung liegt und sich zwei oder mehr Fahrzeuge 105 innerhalb des Abstandsschwellenwerts des Fahrzeugs 105 befinden (d. h. starker Verkehr). Der Abstandsschwellenwert kann eine Länge eines typischen Fahrzeugs 105 sein, z. B. 10 Fuß. Der Computer 110 kann Daten von einem oder mehreren anderen Fahrzeugen 105 sammeln, z. B. Bilddaten, die mit einer Kamera gesammelt wurden, eine Datenpunktwolke, die mit einem Lidar gesammelt wurde, Funkwellendaten, die mit einem Radar gesammelt wurden usw. Nach dem Sammeln der Daten, kann der Computer 110 einen herkömmlichen Objekterkennungsalgorithmus verwenden, um die anderen Fahrzeuge 105 zu erfassen, z. B. Bildsegmentierung, Canny-Kantendetektion, ein Netz zum tiefen Lernen usw. Alternativ kann der Verkehrsstauindikatorwert C ein Binärwert sein, z. B. kann der Computer 110 Daten von einem Infrastruktursensor empfangen, der eine Anzahl von Fahrzeugen 105 ausgibt, die den Infrastruktursensor über einen festgelegten Zeitraum passieren, d. h. eine Verkehrsrate. Wenn die Verkehrsrate unter einem vorbestimmten Schwellenwert liegt, kann der Computer 110 einen Verkehrsstauindikatorwert C von 0 ausgeben, und wenn die Verkehrsrate über dem vorbestimmten Schwellenwert liegt, kann der Computer 110 einen Verkehrsstauindikatorwert C von 1 ausgeben. Der vorbestimmte Schwellenwert kann z. B. auf Grundlage von empirischen Tests von Fahrzeugen 105 und Daten von Infrastruktursensoren und Daten von zuvor bestimmten Fahrtdatensätzen 305 bestimmt werden.
  • In einem anderen Beispiel kann ein Insassenaggressivitätsindikatorwert A eine von einer Vielzahl von ganzen Zahlen sein, wobei jede ganze Zahl ein spezifisches Verhalten des Insassen darstellt, der das Fahrzeug 105 bedient. Zum Beispiel kann der Computer 110 einen Insassenaggressionsindikatorwert A von 0 zuweisen, wenn eine Veränderung eines Lenkradwinkels zwischen zwei aufeinanderfolgenden Zeitstempeln t unter einem vorbestimmten Schwellenwert liegt (was angibt, dass der Insasse keine Schlenker macht), wobei der bestimmte vorbestimmte Schwellenwert eine Veränderung eines Lenkradwinkels ist, die bewirken würde, dass sich das Fahrzeug 105 bei dem nächsten Zeitschritt t in eine benachbarte Fahrbahnspur bewegt, oder eine Veränderungsgeschwindigkeit einer Drossel unter einem vorbestimmten Schwellenwert liegt. Der Computer 110 kann einen Insassenaggressionsindikatorwert A von 1 zuweisen, wenn eine Veränderung des Lenkradwinkels zwischen zwei aufeinanderfolgenden Zeitstempeln t über dem Schwellenwert liegt oder die Veränderungsgeschwindigkeit der Drossel über dem Schwellenwert liegt. Die jeweiligen Schwellenwerte für die Veränderung des Lenkradwinkels und die Veränderungsgeschwindigkeit der Drossel können auf Grundlage vorheriger Fahrtdatensätze 305 bestimmt werden. Das heißt, der Computer 110 und/oder der Server 130 können die Veränderungen des Lenkradwinkels und die Veränderungsgeschwindigkeiten der Drossel für eine Vielzahl von vorherigen Fahrtdatensätzen 305 auflisten und können einen Wert bei einem spezifizierten Perzentil als den jeweiligen Schwellenwert identifizieren. Zum Beispiel kann der Insassenaggressivitätsindikatorwert A bei 0 beginnen und um 1 erhöht werden, wenn eine aktuelle Veränderung eines Lenkradwinkels jeweilige Werte des 10., 25., 50., 75. und 90. Perzentils der Lenkradwinkeldaten in den vorherigen Fahrtdatensätzen überschreitet. Zusätzlich oder alternativ kann der Insassenaggressivitätsindikatorwert A um 1 erhöht werden, wenn eine aktuelle Veränderung einer Veränderungsgeschwindigkeit einer Drossel entsprechende Werte des 10., 25., 50., 75. und 90. Perzentils der Veränderungsgeschwindigkeit der Drossel überschreitet. Das heißt, der Insassenaggressivitätsindikatorwert A kann ein ganzzahliger Wert zwischen 0 und 10 sein, der auf einer aktuellen Veränderung eines Lenkradwinkels, einer aktuellen Veränderungsgeschwindigkeit einer Drossel und den vorherigen Fahrtdatensätzen 305 basiert. Der Computer 110 und/oder der Server 130 können einen Fahrtvektor 310 für das Fahrzeug 105 auf einer aktuellen Fahrt 200 vorhersagen und können vorherige Fahrtvektoren 315 für vorherige Fahrten 200 ausgeben. Ein „Fahrtvektor“ ist eine Liste oder ein Array von numerischen Werten, die durch das Programm 300 zum maschinellen Lernen ausgegeben werden, wobei jeder Wert bestimmte Arten von Betriebsdaten darstellt. Das heißt, der vorhergesagte Fahrtvektor 310 ist ein Fahrtvektor für eine aktuelle Fahrt auf Grundlage der Betriebsdaten, und die vorherigen Fahrtvektoren 315 sind Fahrtvektoren für die vorherigen Fahrtdatensätze 305. Die Einträge in den Fahrtvektoren 310, 315 können jeweils ein einzelner Wert für eine spezifische Art von Betriebsdaten sein, z. B. ein Durchschnitt des Satzes von Betriebsdaten in dem Fahrtdatensatz 305. Zum Beispiel kann der Fahrtdatensatz 305 ein Array von Geschwindigkeitswerten v für eine vorherige Fahrt 200 beinhalten, und der vorherige Fahrtvektor 315 für diese Fahrt 200 kann einen einzelnen Wert für die Geschwindigkeit v beinhalten, der ein arithmetisches Mittel des Arrays von Geschwindigkeitswerten v in dem Fahrtdatensatz 305 ist. Jeder Eintrag in den Fahrtvektoren 310, 315 könnte auch ein Wert sein, der eine spezifische Kombination von mehr als einer Art von Daten der Fahrt 200 darstellt, wie durch das Programm 300 zum maschinellen Lernen bestimmt. Zum Beispiel kann ein Eintrag eines der Fahrtvektoren 310, 315 ein numerischer Wert sein, der Fahrzeuggeschwindigkeitsdaten mit Gesamtfahrtdauerdaten und Zeitdauerdaten, während denen die Fahrzeuggeschwindigkeit einen Schwellenwert überschritten hat, kombiniert, d. h. eine „Geschwindigkeitskurve“. Der numerische Wert, welcher der Geschwindigkeitskurve für den Fahrtvektor 310, 315 zugewiesen ist, kann angeben, dass eine der Fahrten 200 eine längere und höhere Fahrzeuggeschwindigkeitskurve aufweist als eine andere Fahrt 200. Zum Beispiel kann der Fahrtvektor 310, 315 einen Wert von 1,0 beinhalten, der eine Geschwindigkeitskurve darstellt, die angibt, dass das Fahrzeug 105 eine Fahrt 200 durchgeführt hat, bei der mehr als 30 Minuten vergangen sind, während der die Fahrzeuggeschwindigkeit 65 Meilen pro Stunde (mph) über mehr als 80 % der Fahrtdauer überschritten hat. In einem anderen Beispiel kann der Fahrtvektor 310, 315 einen Wert von 0,05 beinhalten, der eine Geschwindigkeitskurve darstellt, die angibt, dass das Fahrzeug 105 eine Fahrt 200 durchgeführt hat, bei der mehr als 30 Minuten vergangen sind, während der die Fahrzeuggeschwindigkeit über mehr als 80 % der Fahrtdauer unter 45 mph blieb. Der Computer 110 kann den vorhergesagten Fahrtvektor 310 verwenden, um Komponenten 120 gemäß spezifizierten Betriebseinstellungen zu betätigen, wie nachstehend beschrieben, um eine spezifizierte Kraftstoffverbrauchsrate beizubehalten. Das heißt, auf Grundlage von vorherigen Fahrtdatensätzen 305 für Fahrten 200, die der Insasse mit dem Fahrzeug 105 unternommen hat, kann der Computer 110 vorhersagen, dass sich das Fahrzeug 105 derzeit auf einer Fahrt 200 befindet, die einer der vorherigen Fahrten 200 ähnlich ist. Zum Beispiel kann die aktuelle Fahrt 200 denselben Ausgangspunkt 205 und dasselbe Ziel 210 wie eine vorherige Fahrt 200 aufweisen. Der Computer 110 kann Daten aus den Fahrtdatensätzen 305 der vorherigen Fahrt verwenden, um während der aktuellen Fahrt 200 Komponenten 120 zu betätigen. Zum Beispiel können die Daten aus den vorherigen Fahrtdatensätzen 305 eine spezifizierte Betätigung der Komponenten 120 angeben, um das Ziel 210 zu erreichen.
  • Der Computer 110 kann einen Insassen des Fahrzeugs 105 auf Grundlage der gesammelten Betriebsdaten identifizieren. Das heißt, jede Fahrt 200 und der entsprechende Fahrdatensatz 305 können eine Identifizierung des Insassen beinhalten, der die Fahrt 200 durchgeführt hat, und wenn die gesammelten Betriebsdaten angeben, dass sich das Fahrzeug 105 möglicherweise auf einer Fahrt 200 befindet, die von einem spezifischen Insassen durchgeführt wird, kann der Computer 110 den Insassen des Fahrzeugs 105 identifizieren. Wenn zum Beispiel das dem Computer 110 bereitgestellte Ziel 210 nur in Fahrtdatensätzen 305 eines einzelnen Insassen des Fahrzeugs 105 beinhaltet ist, kann der Computer 110 diesen einzelnen Insassen als den aktuellen Insassen des Fahrzeugs 105 identifizieren. In einem anderen Beispiel kann der Computer 110 einen aktuellen Standort des Fahrzeugs 105 bei einem aktuellen Zeitstempel mit entsprechenden Standorten des Fahrzeugs 105 bei ähnlichen Zeitstempeln vergleichen, und der Computer 110 kann Fahrdatensätze 305 identifizieren, in denen Standortdaten innerhalb eines Abstandsschwellenwerts von dem aktuellen Standort bei Zeitstempeln innerhalb eines Zeitschwellenwerts von dem aktuellen Zeitstempel liegen. Der Abstandsschwellenwert und der Zeitschwellenwert können vorbestimmte Werte auf Grundlage von gesammelten Fahrtdatensätzen 305 von einem einzelnen Fahrzeug 105 sein, z. B. Fahrtdatensätze 305 für tägliche oder wöchentliche Routinefahrten 200. Der Abstandsschwellenwert kann ein maximaler Abstand zwischen Standortdaten in den Fahrtdatensätzen 305 für Routinefahrten 200 mit demselben Ausgangspunkt 205 und demselben Ziel 210 sein, und der Zeitschwellenwert kann eine maximale Zeitdifferenz zwischen jeweiligen Zeitpunkten sein, an denen das Fahrzeug 105 den Ausgangspunkt 205 in jedem Fahrtdatensatz 305 verlässt. Somit kann der Computer 110 den Fahrtvektor 310 vorhersagen und die vorherigen Fahrtvektoren 315 auf Grundlage der vorherigen Fahrtdatensätze 305 des identifizierten Insassen bestimmen. Alternativ oder zusätzlich kann der Computer 110 den Insassen des Fahrzeugs 105 unter Verwendung eines anderen Mechanismus zur Identifizierung identifizieren, z. B. biometrische Daten, Bilddaten, Eingabe in eine Mensch-Maschine-Schnittstelle (HMI), Kommunikation mit einer tragbaren Vorrichtung des Insassen, usw. Der Computer 110 kann zum Beispiel ein Bild des Insassen sammeln, das Bild des Insassen mit gespeicherten Bildern von Insassen des Fahrzeugs 105 mit einer herkömmlichen Bildverarbeitungstechnik, wie etwa einer Canny-Kantendetektion, vergleichen und den Insassen identifizieren, wenn das gesammelte Bild mit einem der gespeicherten Bilder übereinstimmt.
  • Der Computer 110 kann Betriebsdaten für einen vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs 105 sammeln. Der vorbestimmte Zeitraum kann als eine Mindestzeitdauer zum Sammeln von Daten zum Identifizieren des vorherigen Fahrtvektors 305 und/oder des Insassen bestimmt werden. Das heißt, der vorbestimmte Zeitraum kann durch ein Durchführen von empirischen Tests bestimmt werden, das ein Vergleichen von Betriebsdaten, die während jedes einer Vielzahl von spezifizierten Zeiträumen einer Vielzahl von Fahrtvektoren 305 von jedem einer Vielzahl von Insassen gesammelt wurden, und der vorbestimmten Zeitraum kann der kleinste spezifizierte Zeitraum sein, in dem die gesammelten Betriebsdaten mit Fahrtvektoren 305 von nur einem Insassen übereinstimmen. Zum Beispiel kann der vorbestimmte Zeitraum 10 Sekunden betragen. Durch das Sammeln von Betriebsdaten für den vorbestimmten Zeitraum können der Computer 110 und/oder der Server 130 einen Fahrtvektor 310 für die aktuelle Fahrt 200 vorhersagen und Komponenten 120 gemäß dem vorhergesagten Fahrtvektor 310 betätigen.
  • Der Computer 110 und/oder der Server 130 können die Identifizierung des Insassen und die gesammelten Betriebsdaten in ein Programm 300 zum maschinellen Lernen eingeben, um den Fahrtvektor 310 für die aktuelle Fahrt 200 vorherzusagen und vorherige Fahrtvektoren 315 von vorherigen Fahrten 200 auszugeben. Das Programm 300 zum maschinellen Lernen kann z. B. ein tiefes neuronales Netz, ein neuronales Faltungsnetz usw. sein, wie etwa ein in 5 gezeigtes neuronales Netz. Das Programm 300 zum maschinellen Lernen kann als Eingabe die Insassenidentifizierung, die gesammelten Betriebsdaten und den vorstehend beschriebenen anfänglichen Fahrtdatensatz 305 empfangen und kann den vorhergesagten Fahrtvektor 310 und die vorherigen Fahrtvektoren 315 ausgeben. Das heißt, das Programm 300 zum maschinellen Lernen kann trainiert werden, um einen Fahrtvektor 310 für die aktuelle Fahrt 200 vorherzusagen, der den zuvor bestimmten Fahrtvektoren 315 für den identifizierten Insassen ähnlich ist.
  • 4 ist ein Schaubild, das ein Clustering-Programm 400 zum Bestimmen einer Sollkraftstoffverbrauchsrate und ein Programm 415 zum maschinellen Lernen zum Bestimmen von Betriebseinstellungen für Fahrzeugkomponenten 120 veranschaulicht. Nach dem Bestimmen des vorhergesagten Fahrtvektors 310 für die aktuelle Fahrt 200 kann der Computer 110 eine Sollkraftstoffverbrauchsrate 405 für die Fahrt 200 bestimmen. Wie vorstehend beschrieben, ist die „Kraftstoffverbrauchsrate“ eine Rate des Kraftstoffverbrauchs, d. h. die von dem Fahrzeug 105 verbrauchte Kraftstoffmenge geteilt durch die auf der Fahrt 200 zurückgelegte Strecke. Eine „Soll“-Kraftstoffverbrauchsrate ist eine spezifizierte Kraftstoffverbrauchsrate für die Fahrt 200, die der Fahrzeugcomputer 110 durch das Betätigen der Komponenten 120 zu erreichen versucht. Das heißt der Computer 110 betätigt die Komponenten 120 gemäß spezifizierten Betriebseinstellungen, wie nachstehend beschrieben, um Kraftstoff mit einer spezifizierten Kraftstoffverbrauchsrate zu verbrauchen, sodass die Sollkraftstoffverbrauchsrate 405 erreicht wird.
  • Der Computer 110 kann den vorhergesagten Fahrtvektor 310 in ein Clustering-Programm 400 eingeben, um die Sollkraftstoffverbrauchsrate 405 zu bestimmen. Ein „Clustering-Programm“ 400 ist ein Programm zum maschinellen Lernen, das eine Eingabe einem einer Vielzahl von „Clustern“ 410 auf Grundlage einer Differenz zwischen Werten in der Eingabe und Werten in jedem Cluster zuweist. Das heißt, ein „Cluster“ ist ein Datensatz, der Werte aufweist, die innerhalb eines spezifizierten Schwellenwerts voneinander liegen. Das Clustering-Programm 400 kann ein herkömmliches Programm sein, das eine Clustering-Technik verwendet, z. B. k-Means, agglomeratives hierarchisches Clustering (z. B. Ward, Single-Linkage, Complete Linkage usw.), dichtebasiertes Clustering (z. B. DBSCAN), usw. Jedes Clustering-Programm 400 identifiziert einen Abstand zwischen einer Eingabe und jedem Cluster 410. Der „Abstand“ ist eine Ausgabe einer Abstandsfunktion, z. B. einer euklidischen Abstandsfunktion, einer Mahalanobis-Abstandsfunktion usw. Das Clustering-Programm 400 bestimmt dann einen Cluster 410, dem die Eingabe zugewiesen werden soll. Zum Beispiel kann das Clustering-Programm 400 den Cluster 410 auf Grundlage dessen zuweisen, ob der kleinste Abstand zwischen der Eingabe und jedem Cluster 410 über einem Schwellenwert liegt. Wenn der kleinste Abstand über dem Schwellenwert liegt, identifiziert das Clustering-Programm 400 einen neuen Cluster 410 und weist die Eingabe dem neuen Cluster 410 zu. Wenn der kleinste Abstand unter dem Schwellenwert liegt, weist das Clustering-Programm 400 die Eingabe dem Cluster 410 zu, der den kleinsten Abstand zu der Eingabe aufweist.
  • In dem Beispiel aus 4 können die Werte in einem Cluster 410 Fahrtvektoren 315 sein, die einen gleichen Ausgangspunkt 205 und ein gleiches Ziel 210 aufweisen. 4 zeigt fünf Cluster 410a, 410b, 410c, 410d, 410e, denen das Clustering-Programm 400 eine Eingabe zuweisen kann, und das Clustering-Programm 400 kann eine andere Anzahl von Clustern 410 identifizieren, z. B. vier, sechs usw. Jeder der Cluster 410a-410e kann einen anderen Weg darstellen, den das Fahrzeug 110 auf vorherigen Fahrten 200 zurückgelegt hat. Das heißt, jeder Punkt in einem Cluster 410 stellt eine spezifische Fahrt 200 von einem spezifischen Ausgangspunkt 205 zu einem spezifischen Ziel 210 dar, und jeder Cluster 410 beinhaltet die Vielzahl von Fahrtvektoren 315, die einen gemeinsamen Ausgangspunkt 205 und ein gemeinsames Ziel 210 teilen. Das Clustering-Programm 400 kann trainiert werden, indem eine Vielzahl von Referenzfahrtvektoren 315, die mit einem spezifizierten Cluster 410 annotiert sind, eingegeben wird und eine euklidische Abstandsfunktion zwischen den eingegebenen Referenzfahrtvektoren 315 und dem Fahrtvektor 315, der den spezifizierten Cluster 410 definiert, reduziert wird.
  • Die Sollkraftstoffverbrauchsrate 405 basiert auf den jeweiligen Kraftstoffeinsparungen der vorherigen Fahrtvektoren 315 in jedem Cluster 410. Zum Beispiel kann der Computer 110 eine kumulative Verteilungsfunktion der Kraftstoffeinsparungen unter Verwendung herkömmlicher statistischer Verfahren erzeugen. Die kumulative Verteilungsfunktion empfängt als Eingabe einen spezifizierten Kraftstoffverbrauchsratenschwellenwert und gibt eine Wahrscheinlichkeit (d. h. einen Wert zwischen 0 und 1) aus, dass die Fahrtdatensätze 305 in dem Cluster 410 eine Kraftstoffverbrauchsrate 405 unter dem spezifizierten Kraftstoffverbrauchsratenschwellenwert aufweisen. Das heißt die kumulative Verteilungsfunktion gibt die Wahrscheinlichkeit an, dass die Fahrtdatensätze 305 in dem Cluster 410 eine Kraftstoffverbrauchsrate unter dem spezifizierten Kraftstoffverbrauchsratenschwellenwert aufweisen würden. Die Sollkraftstoffverbrauchsrate 405 kann der spezifizierte Kraftstoffverbrauchsratenschwellenwert sein, der eine spezifizierte Wahrscheinlichkeit ausgibt, z. B. 0,9, die von einem Hersteller spezifizierte Wahrscheinlichkeit, sodass ein eingegebener Fahrtvektor 310 durch das Clustering-Programm 400 nur einem von der Vielzahl von Clustern 410 zugewiesen würde.
  • Alternativ oder zusätzlich zu dem vorhergesagten Fahrtvektor 310 kann der Computer 110 Daten, die zum Erzeugen des vorhergesagten Fahrtvektors 310 verwendet werden, in das Clustering-Programm 400 eingeben, um die Sollkraftstoffverbrauchsrate 405 auszugeben. Das heißt, der Computer 110 kann z. B. einen geplanten Weg des Fahrzeugs, die gesammelten Betriebsdaten, die zuvor gespeicherten Betriebsdaten, einen aktuellen Zeitstempel, die Identifizierung des Insassen usw. in das Clustering-Programm 400 eingeben. Die Verwendung der Daten, die den vorhergesagten Fahrtvektor 310 erzeugt haben, zusätzlich zu dem vorhergesagten Fahrtvektor 310, kann bewirken, dass das Clustering-Programm 400 das Cluster 410 genauer zuweist, als durch die Verwendung des vorhergesagten Fahrtvektors 310 allein. Das heißt, wenn der vorhergesagte Fahrtvektor 310 einem der Cluster 410 zugewiesen werden könnte, kann das Clustering-Programm 400 die Eingabedaten verwenden, um zu bestimmen, welcher der Cluster 410 dem vorhergesagten Fahrtvektor 310 zuzuweisen ist. Der Computer 110 kann den vorhergesagten Fahrtvektor 310 und die Sollkraftstoffverbrauchsrate 405 in ein Programm 415 zum maschinellen Lernen eingeben, das eine Vielzahl von Betriebseinstellungen 420 ausgibt, um die Sollkraftstoffverbrauchsrate 405 zu erreichen. In diesem Zusammenhang sind „Betriebseinstellungen“ spezifizierte Einstellungen für jede einer Vielzahl von Komponenten 120. Das heißt, der Computer 110 betätigt jede Komponente 120 innerhalb von Wertebereichen, die durch die Betriebseinstellungen 420 spezifiziert sind. Die Betriebseinstellungen 420 können z. B. eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang, eine vorgeschriebene Höchstgeschwindigkeit, eine vorgeschriebene maximale Drosseleingabe, einen vorgeschriebenen zum Ziel 210 zurückzulegenden Weg usw. beinhalten, wie in der nachstehenden Tabelle 1 gezeigt: Tabelle 1: Betriebseinstellungen
    Satz Maximale Drehmomentausgabe Motordrehzahl Höchstgeschwindigkeit
    1 100 % 1200-2500 UpM 100 km/h
    2 80% 2000-4000 UpM 120 km/h
    3 70% <1500 UpM 70 km/h
    4 60% 1000-2000 UpM 60 km/h
    5 100 % entf. entf.
    Satz Maximale Drosseleingabe HybridmotorÜbergangszeit Hintere HLK/ beheizte Sitze/klimatisierte Sitze
    1 100% 15 Minuten Aktiviert
    2 100% entf. Aktiviert
    3 50% 20 Minuten Aktiviert
    4 50% 25 Minuten Aktiviert
    5 100% entf. Deaktiviert
  • Das heißt, ein erster Satz von Betriebseinstellungen 420 (vorstehend Satz 1) kann für Pendlerfahrten 200 zwischen dem Zuhause eines Insassen und dem Arbeitsplatz eines Insassen, einschließlich dem Fahren auf einer Autobahn, die eine höhere Höchstgeschwindigkeit als eine Fahrbahn in einer Stadt oder in Wohngebieten aufweisen kann, bestimmt sein. In dem ersten Satz von Betriebseinstellungen 420 kann die Höchstgeschwindigkeit bis zur Geschwindigkeitsbegrenzung der Autobahn ausgewählt werden und die Hybridmotorübergangszeit kann eine durchschnittliche Zeit sein, die das Fahrzeug 105 benötigt, um die Autobahn vom Ausgangspunkt 205 aus zu erreichen. Das heißt, auf der Autobahn kann der Computer 110 bestimmen, einen Hybridantrieb in einem Benzinmodus zu betreiben und den Batteriebetrieb des Hybridantriebs zu unterdrücken, und nachdem die Hybridmotorübergangszeit ab dem Beginn der Fahrt 200 verstrichen ist, kann der Computer 110 den Hybridantrieb in den Benzinmodus überführen, um das Fahrzeug 105 auf der Autobahn zu betreiben.
  • Jeder Satz von Betriebseinstellungen 420 kann für bestimmte Arten von Fahrten 200 bestimmt werden. Zum Beispiel kann Satz 2 Betriebseinstellungen 420 für Fahrten mit wenigen Stopps und geringen Steigungen spezifizieren, was ein kontinuierliches, schnelles Fahren des Fahrzeugs 105 relativ zu anderen Fahrten 200 ermöglicht. Satz 3 kann Betriebseinstellungen 420 für Fahrten mit langen Leerlaufereignissen, z. B. bei starkem Verkehr, spezifizieren, bei denen der Hybridantrieb länger in einem elektrischen Modus betrieben werden sollte als für andere Arten von Fahrten 200 und bei denen die typischerweise erreichte Höchstgeschwindigkeit niedriger als eine ausgeschilderte Geschwindigkeitsbegrenzung sein kann. Satz 4 kann Betriebseinstellungen 420 für Fahrten spezifizieren, die häufige Stopps beinhalten, z. B. auf Straßen in Innenstädten oder Wohngebieten mit mehr Stoppschildern und Ampeln als eine Autobahn, bei denen die maximale Drosseleingabe niedriger sein sollte als für andere Fahrten, um den Kraftstoffverbrauch zu reduzieren. Satz 5 kann Betriebseinstellungen 420 für ein Fahrzeug 105 ohne andere Insassen als einen Fahrer spezifizieren, und die Betriebseinstellungen 420 können das Deaktivieren von HLK-Lüftungsöffnungen und beheizten/klimatisierten Sitzen auf Rücksitzen beinhalten, da diese Merkmale, nicht von Insassen verwendet werden würden. Der Computer 110 kann die Komponenten 120 betätigen, sodass sie innerhalb der durch die Betriebseinstellungen 420 vorgeschriebenen Bereiche funktionieren, z. B. kann der Computer 110 einen Antrieb 120 betätigen, um eine Geschwindigkeit des Fahrzeugs 105 unter der vorgeschriebenen Höchstgeschwindigkeit zu halten, kann der Computer 110 eine Lenkung betätigen, um einen Standort des Fahrzeugs 105 innerhalb eines Abstandsschwellenwerts des vorgeschriebenen Wegs zu halten usw.
  • Da die Betriebseinstellungen 420 durch Eingeben des vorhergesagten Fahrtvektors 310 in das Programm 415 zum maschinellen Lernen bestimmt werden, berücksichtigen die Betriebseinstellungen 420 Daten, die in dem Fahrtvektor 310 beinhaltet sind. Zum Beispiel kann der vorhergesagte Fahrtvektor 310 vorhergesagte Wetterdatenwerte W beinhalten, wie vorstehend beschrieben, und die Betriebseinstellungen 420 können Einstellungen beinhalten, welche die Sollkraftstoffverbrauchsrate 405 bei den vorhergesagten Wetterdatenwerten W beibehalten würden, z. B. können die Betriebseinstellungen 420 eine vorgeschriebene Höchstgeschwindigkeit beinhalten, die ein Rutschen der Reifen relativ zur Fahrbahn verhindern kann. In einem anderen Beispiel kann der vorhergesagte Fahrtvektor 310 Straßenbedingungsdaten beinhalten (z. B. Binärdatenwerte, die angeben, ob eine Straße eine Schotterstraße ist oder nicht, gepflastert ist oder nicht, vereist ist oder nicht usw.), und die Betriebseinstellungen können eine vorgeschriebene Lenkeingabe beinhalten, um bestimmte Abschnitte der Fahrbahn zu vermeiden, z. B. einen Abschnitt einer Fahrbahn mit losem Schotter. Somit kann das Programm 415 zum maschinellen Lernen trainiert werden, um die Betriebseinstellungen 420 auf Grundlage der Daten in dem vorhergesagten Fahrtvektor 310 auszugeben.
  • Das Programm 415 zum maschinellen Lernen kann z. B. ein tiefes neuronales Netz sein, wie nachstehend in 5 beschrieben, ein neuronales Faltungsnetz usw. Das heißt, das Programm 415 zum maschinellen Lernen kann die Sollkraftstoffverbrauchsrate 405 und den vorhergesagten Fahrtvektor 310 als Eingabe empfangen und kann die Betriebseinstellungen 420 ausgeben, um die Sollkraftstoffverbrauchsrate 405 zu erreichen. Das Programm 415 zum maschinellen Lernen kann mit Referenzfahrtvektoren 305 trainiert werden, die mit einer Referenzkraftstoffverbrauchsrate 405 und spezifizierten Betriebseinstellungen 420 annotiert sind. Eine Kostenfunktion des Programms 415 zum maschinellen Lernen kann wie nachstehend beschrieben minimiert werden, sodass ein Fahrtvektor 305 ohne Annotationen und eine eingegebene Sollkraftstoffverbrauchsrate in das Programm 415 zum maschinellen Lernen eingegeben werden können und das Programm 415 zum maschinellen Lernen Kalibrierungseinstellungen 420 ausgeben kann, um die Sollkraftstoffverbrauchsrate 405, damit die Fahrzeugkomponenten 120 die Sollkraftstoffverbrauchsrate 405 erreichen.
  • 5 ist ein Schaubild eines beispielhaften tiefen neuronalen Netzes (Deep Neural Network - DNN) 500. Die vorstehend beschriebenen Programme 300, 415 zum maschinellen Lernen können tiefe neuronale Netze sein, wie etwa das DNN 500. Das heißt, die Programme 300, 415 zum maschinellen Lernen können gemäß den nachstehend beschriebenen herkömmlichen Techniken zum tiefen Lernen trainiert werden.
  • Das DNN 500 kann zum Beispiel ein Softwareprogramm sein, das in einen Speicher geladen werden kann und durch einen Prozessor, der in dem Server 130 beinhaltet ist, ausgeführt werden kann. Das DNN 500 kann n Eingabeknoten 505 beinhalten, von denen jeder einen Satz von Eingaben i akzeptiert (d. h. jeder Satz von Eingaben i kann eine oder mehrere Eingaben X beinhalten). Das DNN 500 kann m Ausgabeknoten beinhalten (wobei m und n dieselbe natürliche Zahl sein können, es in der Regel jedoch nicht sind), um Sätze von Ausgaben o1 ... om bereitstellen. Das DNN 500 beinhaltet eine Vielzahl von Schichten, einschließlich einer Anzahl k von verborgenen Schichten, wobei jede Schicht einen oder mehrere Knoten 505 beinhaltet. Die Knoten 505 werden gelegentlich als künstliche Neuronen 505 bezeichnet, da sie dazu ausgebildet sind, biologische, z. B. menschliche, Neuronen zu emulieren. Der Neuronenblock 510 veranschaulicht Eingaben in ein beispielhaftes künstliches Neuron 505i und eine Verarbeitung darin. Ein Satz von Eingaben X1 ... Xr in jedes Neuron 505 wird jeweils mit entsprechenden Gewichtungen wi1 ... wir multipliziert, wobei die gewichteten Eingaben dann in der Eingabefunktion Σ summiert werden, um, womöglich durch eine Verzerrung bi angepasst, die Nettoeingabe ai bereitzustellen, die dann der Aktivierungsfunktion ƒ bereitgestellt wird, die wiederum die Ausgabe Yi des Neurons 505i bereitstellt. Bei der Aktivierungsfunktion ƒ kann es sich um eine Vielfalt geeigneter Funktionen handeln, die in der Regel auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 5 veranschaulicht, können die Ausgaben des Neurons 505 dann zur Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 505 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 500 kann dazu trainiert werden, als Eingabedaten, z. B. Betriebsdaten von dem Fahrzeug 105 und eine Identifizierung eines Insassen, der das Fahrzeug 105 bedient, zu akzeptieren und den vorhergesagten Fahrtvektor 310 auszugeben. Dies bedeutet, dass das DNN 500 mit Ground-Truth-Daten trainiert werden kann, d. h. mit Daten über eine Bedingung oder einen Zustand in der realen Welt. Die Gewichtungen w können zum Beispiel unter Verwendung einer Gaußschen Verteilung initialisiert werden und eine Verzerrung b für jeden Knoten 505 kann auf null gesetzt werden. Das Trainieren des DNN 500 kann das Aktualisieren von Gewichtungen und Verzerrungen über herkömmliche Techniken, wie etwa Rückpropagierung mit Optimierungen, beinhalten.
  • Ein Satz von Gewichtungen w für einen Knoten 505 ist zusammen ein Gewichtungsvektor für den Knoten 505. Gewichtungsvektoren für entsprechende Knoten 505 in einer gleichen Schicht des DNN 500 können kombiniert werden, um eine Gewichtungsmatrix für die Schicht zu bilden. Die Verzerrungswerte b für jeweilige Knoten 505 in einer gleichen Schicht des DNN 500 können kombiniert werden, um einen Verzerrungsvektor für die Schicht zu bilden. Die Gewichtungsmatrix für jede Schicht und der Verzerrungsvektor für jede Schicht können dann in dem trainierten DNN 500 verwendet werden.
  • Im vorliegenden Zusammenhang könnten die zum Trainieren des DNN 500 verwendeten Ground-Truth-Daten vorherige Fahrtdatensätze 305 beinhalten. Zum Beispiel kann ein Computer 110 Daten aus einer Vielzahl von zuvor bestimmten Fahrtdatensätzen 305 verwenden, die zum Trainieren des DNN 500 gekennzeichnet werden können, d. h. der anfängliche Fahrtdatensatz 305 auf Grundlage der Route und des Verkehrs kann spezifiziert werden, wobei die Fahrtdatensätze 305 identifiziert werden, zu denen die Betriebsdaten gehören. Das DNN 500 kann dann trainiert werden, um sowohl einen realen Fahrtdatensatz 305 als auch einen anfänglichen Fahrtdatensatz 305 zum Transformieren zu verwenden, um den Datenfahrtvektor 310 auszugeben, und die ausgegebenen Datenwerte können mit den Annotationen verglichen werden, um eine Differenz zu identifizieren, d. h. eine Kostenfunktion des ausgegebenen Fahrtvektors 310 und eines anfänglichen Fahrtdatensatzes 305. Die Gewichtungen w und die Verzerrungen b können eingestellt werden, um die Ausgabe der Kostenfunktion zu verringern, d. h. um den Unterschied zwischen dem ausgegebenen Fahrtvektor 310 und einem anfänglichen Fahrtdatensatz 305 zu minimieren. Wenn die Kostenfunktion minimiert ist, kann der Server 130 bestimmen, dass das DNN 500 trainiert ist.
  • 6 ist ein Schaubild eines beispielhaften Prozesses 600 zum Trainieren von Programmen zum maschinellen Lernen und Clustering-Programmen, wie etwa den vorstehend beschriebenen, und zum Bereitstellen dieser an einen Computer 110 eines Fahrzeugs 105. Der Prozess 600 beginnt in einem Block 605, in dem ein Server 130 eine Vielzahl von Fahrtdatensätzen 305 sammelt. Wie vorstehend beschrieben, ist ein Fahrtdatensatz 305 eine Liste oder ein Array von Betriebsdaten, die eine Fahrt 200 beschreiben, die ein Fahrzeug 105 unternimmt. Der Server 130 kann die Fahrtdatensätze 305 von z. B. einer Vielzahl von Fahrzeugen 105 sammeln.
  • Als Nächstes annotiert der Server 130 in einem Block 610 die Fahrtdatensätze 305 zum Trainieren eines oder mehrerer Programme zum maschinellen Lernen. Wie vorstehend beschrieben, können die Fahrtvektoren 305 mit Ground-Truth-Daten, d. h. Daten einer realen Bedingung oder eines realen Zustands, annotiert werden. Zum Beispiel kann jeder Fahrtvektor 305 Annotationen beinhalten, die eine Kraftstoffverbrauchsrate 405 und einen Satz von Betriebseinstellungen 420 für Komponenten 120 des Fahrzeugs 105 auf der Fahrt 200 angeben.
  • Als Nächstes trainiert der Server 130 in einem Block 615 ein erstes Programm 300 zum maschinellen Lernen, um einen vorhergesagten Fahrtvektor 310 für einen Referenzfahrtdatensatz 305 und eine Vielzahl von Fahrtvektoren 315 von vorherigen Fahrtdatensätzen 305 auszugeben. Wie vorstehend beschrieben, kann das erste Programm 300 zum maschinellen Lernen ein neuronales Netz sein, wie etwa das DNN 500. Der Server 130 kann das erste Programm 300 zum maschinellen Lernen mit den annotierten Fahrtdatensätzen 305 und Referenzbetriebsdaten trainieren, um die Fahrtvektoren 310, 315 aus den eingegebenen Betriebsdaten auszugeben.
  • Als Nächstes trainiert der Server 130 in einem Block 620 ein Clustering-Programm 400, um eine Sollkraftstoffverbrauchsrate 405 auszugeben. Wie vorstehend beschrieben, kann der Server 130 die Fahrtvektoren 310, 315 in das Clustering-Programm 400 eingeben und das Clustering-Programm 400 kann jedem Fahrtvektor 310, 315 auf Grundlage eines euklidischen Abstands zwischen jedem Fahrtvektor 310, 315 einen Cluster 410 zuweisen. Wenn der euklidische Abstand zwischen zwei Fahrtvektoren 310, 315 über einem Abstandsschwellenwert liegt, kann das Clustering-Programm 400 jeden Fahrtvektor 310, 315 einem anderen Cluster 410 zuweisen. Das heißt, auf Grundlage des Abstandsschwellenwerts kann das Clustering-Programm 400 eine andere Anzahl von Clustern 410 für die eingegebenen Fahrtvektoren 310, 315 identifizieren. Der Abstandsschwellenwert kann als ein maximaler Abstand bestimmt werden, bei dem Fahrtvektoren 310, 315, die einen gemeinsamen Ausgangspunkt 205 und ein gemeinsames Ziel 210 teilen, einem gleichen Cluster 410 zugewiesen werden. Das Clustering-Programm 400 kann dann eine Sollkraftstoffverbrauchsrate 405 jedes Clusters 410 auf Grundlage von z. B. einer kumulativen Verteilungsfunktion der jeweiligen Kraftstoffverbrauchsraten jedes Fahrtvektors 310, 315 in dem Cluster 410 bestimmen. Das Clustering-Programm 400 kann somit eine Vielzahl von Clustern 410 identifizieren, wobei jedem Cluster 410 eine jeweilige Sollkraftstoffverbrauchsrate 405 zugewiesen ist.
  • Als Nächstes trainiert der Server 130 in einem Block 625 ein zweites Programm 415 zum maschinellen Lernen, um Betriebseinstellungen 420 für Fahrzeugkomponenten 120 auszugeben. Wie vorstehend beschrieben, kann das zweite Programm 415 zum maschinellen Lernen ein neuronales Netz sein, wie etwa das DNN 500. Der Server 130 kann das zweite Programm 415 zum maschinellen Lernen mit den annotierten vorhergesagten Fahrtvektoren 310 und Referenzkraftstoffverbrauchsraten 405 trainieren, um Betriebseinstellungen 420 auszugeben.
  • Als Nächstes überträgt der Server 130 in einem Block 630 das erste Programm 300 zum maschinellen Lernen, das Clustering-Programm 400 und das zweite Programm 415 zum maschinellen Lernen an einen Computer 110 eines Fahrzeugs. Nach dem Trainieren der Programme 300, 400, 415 kann der Server 130 über das Netzwerk 125 eine Nachricht mit den trainierten Programmen 300, 400, 415 an den Computer 110 senden. Der Computer 110 kann die trainierten Programme 300, 400, 415 in einem Speicher speichern. Im Anschluss an den Block 630 endet der Prozess 600.
  • 7 ist ein Schaubild eines beispielhaften Prozesses 700 zum Betreiben eines Fahrzeugs 105. Der Prozess 700 beginnt in einem Block 705, in dem ein Computer 110 Betriebsdaten des Fahrzeugs 105 auf einer Fahrt 200 sammelt. Wie vorstehend beschrieben, sind die Betriebsdaten Daten, die den Betrieb der Komponenten 120 beschreiben, z. B. Geschwindigkeitsdaten, Beschleunigungsdaten, Bremsdaten, Kraftstofffüllstandsdaten in einem Kraftstofftank, Kraftstoffverbrauchsdaten, Lenkwinkeldaten, Reifendruckdaten usw. Das heißt, wenn der Computer 110 im Verlauf der Fahrt 200 Komponenten 120 betätigt, beschreiben die Betriebsdaten wie das Fahrzeug 105 auf der Fahrt 200 betrieben wird. Der Computer 110 kann die Betriebsdaten mit einem oder mehreren Sensoren 115 sammeln.
  • Als Nächstes identifiziert der Computer 110 auf Grundlage der Betriebsdaten in einem Block 710 einen Insassen, der das Fahrzeug 105 bedient. Wie vorstehend beschrieben, kann der Computer 110 Betriebsdaten einer aktuellen Fahrt 200 (das heißt „aktuelle Betriebsdaten“) mit zuvor gesammelten Betriebs- und Insassenidentifizierungsdaten vergleichen. Der Computer 110 kann den Insassen identifizieren, wenn die aktuellen Betriebsdaten nur in Fahrtdatensätzen 305 eines einzelnen Insassen des Fahrzeugs 105 beinhaltet sind. Der Computer 110 kann den Insassen als diesen einzelnen Insassen identifizieren.
  • Als Nächstes gibt der Computer 110 und/oder ein Server 130 in einem Block 715 einen vorhergesagten Fahrtvektor 310 und eine Vielzahl von vorherigen Fahrtvektoren 315 auf Grundlage der Betriebsdaten und des identifizierten Insassen aus. Der Computer 110 kann die Betriebsdaten, den identifizierten Insassen und Datensätze 305 einer vorherigen Fahrt, die der identifizierte Insasse durchgeführt hat, in ein Programm 300 zum maschinellen Lernen eingeben, das dazu trainiert ist, einen vorhergesagten Fahrtvektor 310 für eine aktuelle Fahrt 200 und vorherige Fahrtvektoren 315 für die vorherigen Fahrtdatensätze 305 des Insassen auszugeben, wie vorstehend beschrieben. Das Programm 300 zum maschinellen Lernen kann z. B. ein tiefes neuronales Netz sein, das mit annotierten Betriebsdaten trainiert ist, um einen vorhergesagten Fahrtvektor 310 gemäß den Annotationen auszugeben. Alternativ kann der Computer 110 die Betriebsdaten und die Insassenidentifizierungsdaten an einen Server 130 übertragen, der den vorhergesagten Fahrtvektor 310 und die vorherigen Fahrtvektoren 315 aus dem Programm 300 zum maschinellen Lernen ausgibt.
  • Als Nächstes gibt der Computer 110 und/oder der Server 130 in einem Block 720 eine Sollkraftstoffverbrauchsrate 405 auf Grundlage des vorhergesagten Fahrtvektors 310 und der vorherigen Fahrtvektoren 315 aus. Der Computer 110 kann den vorhergesagten Fahrtvektor 310 und die vorherigen Fahrtvektoren 315 in ein Clustering-Programm 400 eingeben, das den vorhergesagten Fahrtvektor 310 einem einer Vielzahl von Clustern 410 zuweist, wobei jeder Cluster 410 durch eine Vielzahl von vorherigen Fahrtvektoren 315 definiert ist, die einen gemeinsamen Ausgangspunkt 205 und ein gemeinsames Ziel 210 teilen. Das Clustering-Programm 400 kann die Sollkraftstoffverbrauchsrate 405 als eine Ausgabe einer kumulativen Verteilungsfunktion ausgeben, wie vorstehend beschrieben, die eine Sollkraftstoffverbrauchsrate 405 ausgibt, die über den jeweiligen Kraftstoffeinsparungen 405 einer spezifizierten Anzahl der vorherigen Fahrtvektoren 315 in dem Cluster 410 liegt, z. B. eine Kraftstoffverbrauchsrate 405, welche die jeweiligen Werte der Kraftstoffverbrauchsrate 405 für 90 % der Fahrtdatensätze 305 in dem Cluster 410 unterschreiten.
  • Als Nächstes gibt der Computer 110 und/oder der Server 130 in einem Block 725 die Sollkraftstoffverbrauchsrate 405 und den vorhergesagten Fahrtvektor 310 in ein zweites Programm 415 zum maschinellen Lernen ein, um eine Vielzahl von Betriebseinstellungen 420 für Komponenten 120 des Fahrzeugs 105 auszugeben. Das heißt, die ausgegebenen Betriebseinstellungen 420 sind Einstellungen für die Komponenten 120, so dass, wenn der Computer 110 die Komponenten 120 gemäß den ausgegebenen Betriebseinstellungen 420 betätigt, das Fahrzeug 105 die Fahrt 200 abschließen und die Sollkraftstoffverbrauchsrate 405 wahrscheinlich erreichen würde. Wie vorstehend beschrieben, kann das zweite Programm 415 zum maschinellen Lernen ein tiefes neuronales Netz sein, das mit Referenzfahrtvektoren 305 trainiert wird, die mit einer Referenzkraftstoffverbrauchsrate 405 und spezifizierten Betriebseinstellungen 420 annotiert sind. Eine Kostenfunktion des Programms 415 zum maschinellen Lernen kann wie nachstehend beschrieben minimiert werden, sodass ein eingegebener Fahrtvektor 305 ohne Annotationen Kalibrierungseinstellungen 420 ausgeben kann, um die Sollkraftstoffverbrauchsrate 405 zu erreichen. Wie vorstehend beschrieben, berücksichtigen die Betriebseinstellungen 420 Daten in dem Fahrtvektor 310, z.B. Wetterdaten W, Bedieneraggressivitätsdaten A usw., um den Betrieb der Komponenten 120 zu spezifizieren. Wenn der Server 130 die Betriebseinstellungen 420 bestimmt, kann der Server 130 die Betriebseinstellungen 420 an den Computer 110 übertragen.
  • Als Nächstes betätigt der Computer 110 in einem Block 730 eine oder mehrere Fahrzeugkomponenten 120 gemäß den ausgegebenen Betriebseinstellungen 420. Der Computer 110 kann die Komponenten 120 anweisen, sodass sie gemäß den spezifizierten Betriebseinstellungen 420 betätigt werden. Zum Beispiel kann der Computer 110 einen Antrieb betätigen, um eine Fahrzeuggeschwindigkeit unter einer spezifizierten Fahrzeuggeschwindigkeit zu halten. In einem anderen Beispiel kann der Computer 110 einen Antriebsstrang betätigen, um eine Drehmomentausgabe innerhalb eines Schwellenwerts einer spezifizierten Drehmomentausgabe zu halten. In einem anderen Beispiel kann der Computer 110 eine Kraftstoffeinspritzvorrichtung betätigen, um einen Kraftstoffverbrauch innerhalb eines Schwellenwerts einer spezifizierten Kraftstoffverbrauchsrate zu halten. Nach dem Block 730 endet der Prozess 700.
  • In dieser Schrift erörterte Rechenvorrichtungen, einschließlich des Computers 110, beinhalten Prozessoren und Speicher, wobei die Speicher im Allgemeinen jeweils Anweisungen beinhalten, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen vorstehend beschriebener Blöcke oder Schritte von Prozessen ausführbar sind. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Reihe von Programmiersprachen und/oder -techniken erstellt wurden, die Folgende ohne Einschränkung, entweder allein oder in Kombination, beinhalten: Java™, C, C++, Visual Basic, Java Script, Python, Perl, HTML usw. 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, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Anweisungen und andere Daten können unter Verwendung einer Reihe von computerlesbaren Medien gespeichert und übermittelt werden. Eine Datei in dem Computer 110 ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert ist, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
  • Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die nichtflüchtige Medien, flüchtige Medien usw. beinhalten können, ohne darauf beschränkt zu sein. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Festplatten und andere Dauerspeicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise einen Hauptspeicher darstellt. Verbreitete Formen computerlesbarer Medien beinhalten zum Beispiel 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 ein Computer auslesen kann.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte derartiger Prozesse usw. als in einer bestimmten geordneten Abfolge erfolgend beschrieben worden sind, die beschriebenen Schritte bei der Ausführung derartiger Prozesse in einer Reihenfolge durchgeführt werden können, bei der es sich nicht um die in dieser Schrift beschriebene Reihenfolge handelt. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten oder dass bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. In dem Prozess 600 könnten zum Beispiel einer oder mehrere der Schritte weggelassen werden oder die Schritte könnten in einer anderen Reihenfolge als in 6 gezeigt ausgeführt werden. Mit anderen Worten sind die Beschreibungen von Systemen und/oder Prozessen in dieser Schrift zum Zweck der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie den offenbarten Gegenstand einschränken.
  • Dementsprechend versteht es sich, dass die vorliegende Offenbarung, welche die vorstehende Beschreibung und die beigefügten Figuren und nachfolgenden Patentansprüche beinhaltet, veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, die nicht die bereitgestellten Beispiele sind, werden dem Fachmann beim Lesen der vorangehenden Beschreibung ersichtlich. Der Schutzumfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf die Patentansprüche, die hier beigefügt sind und/oder in einer hierauf basierenden, nichtvorläufigen Patentanmeldung beinhaltet sind, gemeinsam mit dem vollständigen Schutzumfang von Äquivalenten, zu welchen derartige 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 der offenbarte Gegenstand modifiziert und variiert werden kann.
  • Der ein Substantiv modifizierende Artikel „ein(e)“ sollte dahingehend verstanden werden, dass er eine(n) oder mehrere bezeichnet, es sei denn, es ist etwas anderes angegeben oder der Zusammenhang erfordert etwas anderes. Der Ausdruck „auf Grundlage von“ schließt teilweise oder vollständig auf Grundlage von ein.
  • Ordinale Adjektive, wie etwa „erster“ und „zweiter“, werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung oder Reihenfolge andeuten.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor zu Folgendem ausführbar sind: Sammeln von Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs; Eingeben der gesammelten Betriebsdaten und zuvor gespeicherten Betriebsdaten in ein erstes Programm zum maschinellen Lernen, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt; Eingeben der Sollkraftstoffverbrauchsrate und der gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen; und Betätigen der einen oder mehreren Komponenten, um die Vielzahl von Betriebseinstellungen zu erreichen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Sammeln der Betriebsdaten aus einem vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Identifizieren eines Insassen des Fahrzeugs auf Grundlage der gesammelten Betriebsdaten.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben der Identifizierung eines Insassen des Fahrzeugs in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage der Identifizierung des Insassen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben zuvor bestimmter Betriebsdaten des durch den identifizierten Insassen betriebenen Fahrzeugs in das erste Programm zum maschinellen Lernen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben eines geplanten Wegs des Fahrzeugs in das erste Programm zum maschinellen Lernen zum Ausgeben der Sollkraftstoffverbrauchsrate.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben eines Fahrtvektors in das erste Programm zum maschinellen Lernen, wobei der Fahrtvektor eine Wertemenge ist, die einen vorhergesagten Weg des Fahrzeugs und eine oder mehrere aktuelle Betriebseinstellungen für die Komponenten beinhaltet, und wobei das erste Programm zum maschinellen Lernen ein Clustering-Programm ist, das den Fahrtvektor einem von einer Vielzahl von Clustern zuweist, wobei jeder der Vielzahl von Clustern auf einem jeweiligen zuvor bestimmten Fahrtvektor basiert.
  • Gemäß einer Ausführungsform beinhaltet jeder zuvor bestimmte Fahrtvektor, der die Vielzahl von Clustern definiert, einen Ausgangspunkt, ein Ziel und einen Weg zwischen dem Ausgangspunkt und dem Ziel, und jeder zuvor bestimmte Fahrtvektor weist mindestens eines von einem Ziel oder einem Weg auf, das/der sich von jedem zuvor bestimmten Fahrtvektor unterscheidet.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben der gesammelten Betriebsdaten und zuvor gespeicherten Betriebsdaten in ein drittes Programm zum maschinellen Lernen, das dazu trainiert ist, den Fahrtvektor auszugeben.
  • Gemäß einer Ausführungsform beinhaltet die Vielzahl von Betriebseinstellungen eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang und die Anweisungen beinhalten ferner Anweisungen zum Betätigen des Antriebsstrangs, um die vorgeschriebene Drehmomentausgabe zu erreichen.
  • Gemäß einer Ausführungsform beinhaltet die Vielzahl von Betriebseinstellungen eine vorgeschriebene Höchstgeschwindigkeit und die Anweisungen beinhalten ferner Anweisungen zum Betätigen von mindestens einem von einem Antriebsstrang, einem Antrieb oder einer Bremse, um das Fahrzeug unter der vorgeschriebenen Höchstgeschwindigkeit zu betreiben. Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben eines aktuellen Zeitstempels in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage des aktuellen Zeitstempels. Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: Sammeln von Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs; Eingeben der gesammelten Betriebsdaten und zuvor gespeicherte Betriebsdaten in ein erstes Programm zum maschinellen Lernen, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt; Eingeben der Sollkraftstoffverbrauchsrate und der gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen; und Betätigen der einen oder mehreren Komponenten, um die Vielzahl von Betriebseinstellungen zu erreichen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Sammeln der Betriebsdaten aus einem vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Identifizieren eines Insassen des Fahrzeugs auf Grundlage der gesammelten Betriebsdaten.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Eingeben der Identifizierung eines Insassen des Fahrzeugs in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage der Identifizierung des Insassen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Eingeben eines geplanten Wegs des Fahrzeugs in das erste Programm zum maschinellen Lernen zum Ausgeben der Sollkraftstoffverbrauchsrate.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Eingeben eines Fahrtvektors in das erste Programm zum maschinellen Lernen, wobei der Fahrtvektor eine Wertemenge ist, die einen vorhergesagten Weg des Fahrzeugs und eine oder mehrere aktuelle Betriebseinstellungen für die Komponenten beinhaltet, und wobei das erste Programm zum maschinellen Lernen ein Clustering-Programm ist, das den Fahrtvektor einem von einer Vielzahl von Clustern zuweist, wobei jeder der Vielzahl von Clustern auf einem jeweiligen zuvor bestimmten Fahrtvektor basiert.
  • Gemäß einer Ausführungsform beinhaltet jeder zuvor bestimmte Fahrtvektor, der die Vielzahl von Clustern definiert, einen Ausgangspunkt, ein Ziel und einen Weg zwischen dem Ausgangspunkt und dem Ziel, und jeder zuvor bestimmte Fahrtvektor weist mindestens eines von einem Ziel oder einem Weg auf, das/der sich von jedem zuvor bestimmten Fahrtvektor unterscheidet.
  • Gemäß einer Ausführungsform beinhaltet die Vielzahl von Betriebseinstellungen eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang und das Verfahren umfasst ferner das Betätigen des Antriebsstrangs, um die vorgeschriebene Drehmomentausgabe zu erreichen.

Claims (15)

  1. Verfahren, das Folgendes umfasst: Sammeln von Betriebsdaten einer oder mehrerer Komponenten eines Fahrzeugs; Eingeben der gesammelten Betriebsdaten und zuvor gespeicherte Betriebsdaten in ein erstes Programm zum maschinellen Lernen, das die gesammelten Betriebsdaten einem einer Vielzahl von zuvor bestimmten Wegen zuweist und eine Sollkraftstoffverbrauchsrate des Fahrzeugs auf Grundlage des zugewiesenen Wegs ausgibt; Eingeben der Sollkraftstoffverbrauchsrate und der gesammelten Betriebsdaten in ein zweites Programm zum maschinellen Lernen, das eine Vielzahl von Betriebseinstellungen der einen oder mehreren Komponenten ausgibt, um die Sollkraftstoffverbrauchsrate zu erreichen; und Betätigen der einen oder mehreren Komponenten, um die Vielzahl von Betriebseinstellungen zu erreichen.
  2. Verfahren nach Anspruch 1, das ferner das Sammeln der Betriebsdaten aus einem vorbestimmten Zeitraum ab dem Anschalten des Fahrzeugs umfasst.
  3. Verfahren nach Anspruch 1, das ferner das Identifizieren eines Insassen des Fahrzeugs auf Grundlage der gesammelten Betriebsdaten umfasst.
  4. Verfahren nach Anspruch 3, das ferner das Eingeben der Identifizierung eines Insassen des Fahrzeugs in das erste Programm zum maschinellen Lernen und das Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage der Identifizierung des Insassen umfasst.
  5. Verfahren nach Anspruch 4, das ferner das Eingeben zuvor bestimmter Betriebsdaten des durch den identifizierten Insassen betriebenen Fahrzeugs in das erste Programm zum maschinellen Lernen umfasst.
  6. Verfahren nach Anspruch 1, das ferner das Eingeben eines geplanten Wegs des Fahrzeugs in das erste Programm zum maschinellen Lernen zum Ausgeben der Sollkraftstoffverbrauchsrate umfasst.
  7. Verfahren nach Anspruch 1, das ferner das Eingeben eines Fahrtvektors in das erste Programm zum maschinellen Lernen umfasst, wobei der Fahrtvektor eine Wertemenge ist, die einen vorhergesagten Weg des Fahrzeugs und eine oder mehrere aktuelle Betriebseinstellungen für die Komponenten beinhaltet, und wobei das erste Programm zum maschinellen Lernen ein Clustering-Programm ist, das den Fahrtvektor einem von einer Vielzahl von Clustern zuweist, wobei jeder der Vielzahl von Clustern auf einem jeweiligen zuvor bestimmten Fahrtvektor basiert.
  8. Verfahren nach Anspruch 7, wobei jeder zuvor bestimmte Fahrtvektor, der die Vielzahl von Clustern definiert, einen Ausgangspunkt, ein Ziel und einen Weg zwischen dem Ausgangspunkt und dem Ziel beinhaltet, und jeder zuvor bestimmte Fahrtvektor mindestens eines von einem Ziel oder einem Weg aufweist, das/der sich von jedem zuvor bestimmten Fahrtvektor unterscheidet.
  9. Verfahren nach Anspruch 7, das ferner das Eingeben der gesammelten Betriebsdaten und zuvor gespeicherten Betriebsdaten in ein drittes Programm zum maschinellen Lernen umfasst, das dazu trainiert ist, den Fahrtvektor auszugeben.
  10. Verfahren nach einem der Ansprüche 1-9, wobei die Vielzahl von Betriebseinstellungen eine vorgeschriebene Drehmomentausgabe von einem Antriebsstrang beinhaltet und das Verfahren ferner das Betätigen des Antriebsstrangs beinhaltet, um die vorgeschriebene Drehmomentausgabe zu erreichen.
  11. Verfahren nach einem der Ansprüche 1-9, wobei die Vielzahl von Betriebseinstellungen eine vorgeschriebene Höchstgeschwindigkeit beinhaltet und das Verfahren ferner das Betätigen von mindestens einem von einem Antriebsstrang, einem Antrieb oder einer Bremse beinhaltet, um das Fahrzeug unter der vorgeschriebenen Höchstgeschwindigkeit zu betreiben.
  12. Verfahren nach einem der Ansprüche 1-9, das ferner das Eingeben eines aktuellen Zeitstempels in das erste Programm zum maschinellen Lernen und zum Ausgeben der Sollkraftstoffverbrauchsrate auf Grundlage des aktuellen Zeitstempels umfasst.
  13. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-9 durchzuführen.
  14. Fahrzeug, das den Computer nach Anspruch 13 umfasst.
  15. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um das Verfahren nach einem der Ansprüche 1-9 auszuführen.
DE102021128201.2A 2020-10-28 2021-10-28 Verbesserter Fahrzeugbetrieb Pending DE102021128201A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/082507 2020-10-28
US17/082,507 US11801836B2 (en) 2020-10-28 2020-10-28 Enhanced vehicle operation

Publications (1)

Publication Number Publication Date
DE102021128201A1 true DE102021128201A1 (de) 2022-04-28

Family

ID=81077178

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021128201.2A Pending DE102021128201A1 (de) 2020-10-28 2021-10-28 Verbesserter Fahrzeugbetrieb

Country Status (3)

Country Link
US (1) US11801836B2 (de)
CN (1) CN114475627A (de)
DE (1) DE102021128201A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11801836B2 (en) * 2020-10-28 2023-10-31 Ford Global Technologies, Llc Enhanced vehicle operation
US11619944B2 (en) * 2020-12-01 2023-04-04 Waymo Llc Fuel-economy optimization for autonomous driving systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715961B1 (en) * 2004-04-28 2010-05-11 Agnik, Llc Onboard driver, vehicle and fleet data mining
GB0420095D0 (en) * 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of predicting a future behaviour of an object
US8050856B2 (en) 2007-04-18 2011-11-01 Chrysler Group Llc Methods and systems for powertrain optimization and improved fuel economy
US8224519B2 (en) 2009-07-24 2012-07-17 Harley-Davidson Motor Company Group, LLC Vehicle calibration using data collected during normal operating conditions
US8190319B2 (en) 2010-06-08 2012-05-29 Ford Global Technologies, Llc Adaptive real-time driver advisory control for a hybrid electric vehicle to achieve fuel economy improvement
EP2595848A1 (de) * 2010-07-21 2013-05-29 Eaton Corporation System und verfahren zur optimierung einer kraftstoffökonomie mithilfe einer prädiktiven umgebung und informationen über ein fahrerverhalten
US9650934B2 (en) 2011-11-04 2017-05-16 Honeywell spol.s.r.o. Engine and aftertreatment optimization system
US9328674B2 (en) 2014-02-07 2016-05-03 Cummins Inc. Controls for performance optimization of internal combustion engine systems
US9970780B2 (en) * 2015-11-19 2018-05-15 GM Global Technology Operations LLC Method and apparatus for fuel consumption prediction and cost estimation via crowd sensing in vehicle navigation system
DE102015015923A1 (de) * 2015-12-09 2017-06-14 Wabco Gmbh Verfahren zum adaptiven Regeln einer Fahrzeuggeschwindigkeit in einem Fahrzeug sowie Geschwindigkeitsregelanlage zum Durchführen des Verfahrens
US10895467B2 (en) * 2017-07-14 2021-01-19 Allstate Insurance Company Distributed data processing systems for processing remotely captured sensor data
EP3483801A1 (de) * 2017-11-10 2019-05-15 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtungen zur vorhersage des kraftstoffverbrauchs
US20190205813A1 (en) * 2017-12-29 2019-07-04 ANI Technologies Private Limited Method and system for transportation service routing
US10414410B2 (en) 2018-01-31 2019-09-17 International Engine Intellectual Property Company, Llc Predictive engine calibration based on location and environmental conditions to improve fuel economy
JP2020066390A (ja) * 2018-10-26 2020-04-30 日立オートモティブシステムズ株式会社 運転支援装置
WO2021050152A1 (en) * 2019-09-11 2021-03-18 BlueOwl, LLC Systems and methods for predicting fuel consumption efficiency
US11383640B2 (en) * 2020-09-24 2022-07-12 Harman International Industries, Incorporated Techniques for automatically reducing annoyance levels of drivers when using driver monitoring systems
US11801836B2 (en) * 2020-10-28 2023-10-31 Ford Global Technologies, Llc Enhanced vehicle operation

Also Published As

Publication number Publication date
CN114475627A (zh) 2022-05-13
US11801836B2 (en) 2023-10-31
US20220126826A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102017103972A1 (de) Autonome Fahrzeugsteuerung unter Berücksichtigung eines Wahrscheinlichkeitsfaktors
DE112018000973T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsverfahren, Programm und Aufzeichnungsmedium
DE102017103970A1 (de) Übergang zwischen autonomen Fahrzeugsteuerungsleveln
DE102009034096A1 (de) Adaptives Fahrzeugsteuerungssystem mit Fahrstilerkennung
DE102019114595B4 (de) Verfahren zum Steuern des Betriebs eines Kraftfahrzeugs und zum Ableiten von Straßenabschnittsgeschwindigkeitsgrenzwerten
DE102019214628A1 (de) Validierung von Umfelderfassung mittels Satelitenbildern und SAR-Radardaten
DE102021128201A1 (de) Verbesserter Fahrzeugbetrieb
DE112018000975T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsverfahren und Aufzeichnungsmedium
DE102020103522A1 (de) Fahrzeugsteuerung durch fahrbahnreibung
DE102021101426A1 (de) Erkennung von fahrzeugbetriebsbedingungen
DE102020131949A1 (de) System und verfahren zum erlernen einer fahrerpräferenz und zum anpassen einer spurzentrierungssteuerung an ein fahrerverhalten
DE102021125166A1 (de) Bestimmung von seitenwindrisiken
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102022101233A1 (de) Verkehrssimulation und strassennetzmodellierung für autonome fahrzeuge
DE102022100549A1 (de) Mit einem rang versehene fehlerzustände
DE102022109164A1 (de) Verbessserter fahrzeugbetrieb
DE102021105159A1 (de) Erfassung von fahrzeugen und reaktion darauf
DE102018132408A1 (de) Verbesserte dienstqualität für ein plug-and-play-fahrzeug-eco-system
EP3724041A1 (de) Verfahren zum bestimmen eines reibwerts für einen kontakt zwischen einem reifen eines fahrzeugs und einer fahrbahn und verfahren zum steuern einer fahrzeugfunktion eines fahrzeugs
DE102021119285A1 (de) Vorrichtung und verfahren zum steuern eines fahrzeugs
DE102021123522A1 (de) Erfassung von fahrzeugen und reaktion darauf
DE102020124331A1 (de) Fahrzeugspurkartierung
DE102020129802A1 (de) Fahrzeugbetriebskennzeichnung

Legal Events

Date Code Title Description
R082 Change of representative

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