DE102021120968A1 - Fahrzeugsensorbetrieb - Google Patents

Fahrzeugsensorbetrieb Download PDF

Info

Publication number
DE102021120968A1
DE102021120968A1 DE102021120968.4A DE102021120968A DE102021120968A1 DE 102021120968 A1 DE102021120968 A1 DE 102021120968A1 DE 102021120968 A DE102021120968 A DE 102021120968A DE 102021120968 A1 DE102021120968 A1 DE 102021120968A1
Authority
DE
Germany
Prior art keywords
data
vehicle
camera
vehicle camera
computer
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
DE102021120968.4A
Other languages
English (en)
Inventor
David Michael Herman
Aaron Lesky
Ronald Beras
Ashwin Arunmozhi
Venkatesh Krishnan
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 DE102021120968A1 publication Critical patent/DE102021120968A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L1/00Measuring force or stress, in general
    • G01L1/20Measuring force or stress, in general by measuring variations in ohmic resistance of solid materials or of electrically-conductive fluids; by making use of electrokinetic cells, i.e. liquid-containing cells wherein an electrical potential is produced or varied upon the application of stress
    • G01L1/22Measuring force or stress, in general by measuring variations in ohmic resistance of solid materials or of electrically-conductive fluids; by making use of electrokinetic cells, i.e. liquid-containing cells wherein an electrical potential is produced or varied upon the application of stress using resistance strain gauges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

Die Offenbarung stellt einen Fahrzeugsensorbetrieb bereit. Ein Computer beinhaltet einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um Belastungsdaten, die eine mechanische Belastung an einer Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm einzugeben, das eine Verschiebung der Fahrzeugkamera von einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten ausgibt. Die Anweisungen beinhalten ferner Anweisungen zum Identifizieren einer Umwandlungsmatrix, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera umwandelt, um die Umwandlungsmatrix auf durch die Fahrzeugkamera gesammelte Daten anzuwenden, um umgewandelte Daten zu erzeugen, und um eine von der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten zu betätigen.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
  • 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 hinsichtlich zu fahrender Strecken und zu vermeidender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Erheben genauer und aktueller Daten bezüglich Objekten in der Umgebung eines Fahrzeugs stützen, während das Fahrzeug auf einer Fahrbahn betrieben wird. Fahrzeuge können Rechenvorrichtungen verwenden, die dazu konfiguriert sind, Objekte anhand von Bilddaten zu identifizieren, die durch die Fahrzeugsensoren aufgenommen werden.
  • KURZDARSTELLUNG
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um Belastungsdaten, die eine mechanische Belastung auf eine Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm einzugeben, das eine Verschiebung der Fahrzeugkamera aus einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten ausgibt, um auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera, eine Umwandlungsmatrix zu identifizieren, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung umwandelt, die Umwandlungsmatrix auf Daten anzuwenden, die von der Fahrzeugkamera gesammelt werden, um umgewandelte Daten zu erzeugen, und eine der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten zu betätigen.
  • Die Betriebsdaten können mindestens eines von einem Reifendruck, einem Federweg, einer Raddrehzahl oder einem Bremsdruck beinhalten.
  • Die Anweisungen können ferner Anweisungen beinhalten, um weitere Daten, die mindestens eines von einer Fahrzeuggeschwindigkeit oder einer Fahrzeugbeschleunigung beinhalten, in das Maschinenlernprogramm einzugeben, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Das Maschinenlernprogramm kann eines von einem tiefen neuronalen Netzwerk oder einem gradientenverstärkten Baum sein.
  • Die Fahrzeugkomponente kann eine von einer Vielzahl von Fahrzeugkomponenten sein und die Anweisungen können ferner Anweisungen beinhalten, um die Belastungsdaten und Betriebsdaten von der Vielzahl von Fahrzeugkomponenten in das Maschinenlernprogramm einzugeben, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Das System kann ferner einen Belastungssensor beinhalten, um die Belastungsdaten zu sammeln, wobei der Belastungssensor eines von einer Belastungsmesseinrichtung, einem Beschleunigungsmesser oder einem Belastungsbolzen ist.
  • Die Fahrzeugkamera kann mit dem Belastungsbolzen an einer Halterung befestigt sein.
  • Die Umwandlungsmatrix kann die Daten von der Fahrzeugkamera auf Grundlage einer Brennweite der Fahrzeugkamera umwandeln.
  • Die Verschiebung kann eine Seitenverschiebung, eine Längsverschiebung und eine Senkrechtverschiebung beinhalten.
  • Die Anweisungen können ferner Anweisungen beinhalten, um Belastungsdaten einer zweiten Fahrzeugkamera und die Betriebsdaten in das Maschinenlernprogramm einzugeben, um eine Verschiebung der zweiten Fahrzeugkamera auszugeben und um eine zweite Umwandlungsmatrix zu identifizieren, die Daten von der zweiten Fahrzeugkamera zu einem Koordinatensystem der zweiten Fahrzeugkamera in der neutralen Stellung umwandelt.
  • Die Anweisungen können ferner Anweisungen beinhalten, um die zweite Umwandlungsmatrix auf Daten von der zweiten Fahrzeugkamera anzuwenden, um zweite umgewandelte Daten zu erzeugen, und um ein dreidimensionales Bild auf Grundlage der umgewandelten Daten und der zweiten umgewandelten Daten zu erzeugen.
  • Die Anweisungen können ferner Anweisungen beinhalten, um ein Objekt in dem dreidimensionalen Bild zu identifizieren.
  • Die Anweisungen können ferner Anweisungen beinhalten, um eine Entfernung von der Fahrzeugkamera zu dem Objekt auf Grundlage des dreidimensionalen Bildes zu identifizieren.
  • Die Anweisungen können ferner Anweisungen beinhalten, um jeweilige Pixel der umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten zu kombinieren, um das dreidimensionale Bild zu erzeugen.
  • Ein Verfahren beinhaltet, das Eingeben von Belastungsdaten, die eine mechanische Belastung auf eine Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm, das eine Verschiebung der Fahrzeugkamera aus einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten ausgibt, auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera, das Identifizieren einer Umwandlungsmatrix, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung umwandelt, das Anwenden der Umwandlungsmatrix auf Daten, die von der Fahrzeugkamera gesammelt werden, um umgewandelte Daten zu erzeugen, und das Betätigen einer der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten.
  • Das Verfahren das Eingeben weiterer Daten, die mindestens eines von einer Fahrzeuggeschwindigkeit oder einer Fahrzeugbeschleunigung beinhalten, in das Maschinenlernprogramm beinhalten, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Die Fahrzeugkomponente kann eine von einer Vielzahl von Fahrzeugkomponenten sein und das Verfahren kann ferner das Eingeben der Belastungsdaten und Betriebsdaten von der Vielzahl von Fahrzeugkomponenten in das Maschinenlernprogramm beinhalten, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Das Verfahren kann ferner das Eingeben von Belastungsdaten einer zweiten Fahrzeugkamera und der Betriebsdaten in das Maschinenlernprogramm, das Ausgeben einer Verschiebung der zweiten Fahrzeugkamera und das Identifizieren einer zweiten Umwandlungsmatrix beinhalten, die Daten von der zweiten Fahrzeugkamera zu einem Koordinatensystem der zweiten Fahrzeugkamera in der neutralen Stellung umwandelt.
  • Das Verfahren kann ferner das Anwenden der zweiten Umwandlungsmatrix auf Daten von der zweiten Fahrzeugkamera, um zweite umgewandelte Daten zu erzeugen, und das Erzeugen eines dreidimensionalen Bildes auf Grundlage der umgewandelten Daten und der zweiten umgewandelten Daten beinhalten.
  • Das Verfahren kann ferner das Identifizieren eines Objektes in dem dreidimensionalen Bild beinhalten.
  • Das Verfahren kann ferner das Identifizieren einer Entfernung von der Fahrzeugkamera zu dem Objekt auf Grundlage des dreidimensionalen Bildes beinhalten.
  • Das Verfahren kann ferner das Kombinieren jeweiliger Pixel der umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten beinhalten, um das dreidimensionale Bild zu erzeugen.
  • Ferner wird eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Außerdem ist ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Weiterhin wird ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, das durch einen Computerprozessor ausführbare Anweisungen zum Ausführen beliebiger der vorstehenden Verfahrensschritte speichert.
  • Figurenliste
    • 1 ist ein Diagramm eines beispielhaften Systems zum Betreiben von Sensoren eines Fahrzeugs.
    • 2 eine perspektivische Ansicht des Fahrzeugs mit einer Sensorbaugruppe.
    • 3 ist eine Vorderansicht der Sensorbaugruppe.
    • 4 ist ein Diagramm eines beispielhaften Maschinenlernprogramms zum Verarbeiten von Daten von den Sensoren.
    • 5 ist ein Diagramm eines weiteren beispielhaften Maschinenlernprogramms zum Verarbeiten von Daten von den Sensoren.
    • 6 ist ein Diagramm eines beispielhaften Prozesses zum Betreiben der Sensoren des Fahrzeugs.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Stereokamerabaugruppe eines Fahrzeugs beinhaltet ein Paar von Kameras, die Bilddaten sammeln. Auf Grundlage der von beiden Kameras gesammelten Bilddaten kann ein Fahrzeugcomputer ein dreidimensionales Bild erzeugen, um Objekte in einer Umgebung um das Fahrzeug zu identifizieren. Wenn das Fahrzeug auf Störungen auf einer Fahrbahn stößt, z. B. Kies, Schlaglöcher, Rüttelstreifen usw., können sich Schwingungen durch das Fahrzeug zur Stereokamerabaugruppe bewegen. Die Schwingungen können die Kameras von einer neutralen Stellung wegbewegen, was Fehler in den gesammelten Bildern und dem dreidimensionalen Bild verursacht, das aus den gesammelten Bildern erzeugt wird.
  • Der Computer kann Daten von den Kameras und Daten über den Betrieb von Fahrzeugkomponenten sammeln, die Schwingungen verursachen könnten, und kann die Daten verwenden, um die Fehler in den Bildern auszugleichen, die durch die Schwingungen verursacht werden. Zum Beispiel kann der Computer Belastungsdaten sammeln, die eine mechanische Belastung auf die Kameras angeben, wobei die Belastung eine Bewegung der Kameras aus ihren jeweiligen neutralen Stellungen angibt. In einem weiteren Beispiel kann der Computer Daten zum Betrieb einer oder mehrerer Komponenten sammeln, z. B. Reifendruck, Drosselklappenstellung usw., die Schwingungen verursachen können. Der Computer kann die Betriebsdaten in ein Maschinenlernprogramm eingeben, z. B. ein neuronales Netzwerk, das trainiert ist, um eine Verschiebung der Kamera aus der neutralen Stellung zu bestimmen. Auf Grundlage der Verschiebung kann der Computer die von der Kamera gesammelten Bilder in ein Koordinatensystem der Kamera in der neutralen Stellung umwandeln, wodurch die Fehler in den Bildern und dem durch den Computer erzeugten dreidimensionalen Bild verringert werden. Das Verwenden der Betriebsdaten und Belastungsdaten, um die durch Schwingungen verursachte Verschiebung der Kameras zu berücksichtigen, verbessert die Bilddaten, die durch den Computer verwendet werden, um das dreidimensionale Bild zu erzeugen, wodurch die Erfassung von Objekten in dem dreidimensionalen Bild verbessert wird.
  • 1 veranschaulicht ein beispielhaftes System 100 zum Betreiben von Sensoren 110 eines Fahrzeugs 101. Ein Computer 105 in dem Fahrzeug 101 ist dazu programmiert, gesammelte Daten von einem oder mehreren Sensoren 110 zu empfangen. Zum Beispiel können Daten des Fahrzeugs 101 einen Standort des Fahrzeugs 101, Daten zu einer Umgebung um ein Fahrzeug herum, Daten zu einem Objekt außerhalb des Fahrzeugs, wie etwa ein anderes Fahrzeug usw. beinhalten. Ein Standort des Fahrzeugs 101 wird in der Regel in einer herkömmlichen Form bereitgestellt, z. B. als Geokoordinaten, wie etwa Breitengrad- und Längengradkoordinaten, die über ein Navigationssystem erhalten werden, welches das globale Positionsbestimmungssystem (GPS) verwendet. Weitere Beispiele für Daten können Messwerte von Systemen und Komponenten des Fahrzeugs 101 beinhalten, z. B. eine Geschwindigkeit des Fahrzeugs 101, eine Bewegungsbahn des Fahrzeugs 101 usw.
  • Der Computer 105 ist im Allgemeinen zur Kommunikationen über ein Netzwerk des Fahrzeugs 101 programmiert, das z. B. einen herkömmlichen Kommunikationsbus für das Fahrzeug 101, wie etwa einen CAN-Bus, einen LIN-Bus usw. und/oder andere drahtgebundene und/oder drahtlose Technologien, z.B. Ethernet, WLAN 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 101) kann der Computer 105 Mitteilungen an verschiedene Vorrichtungen in einem Fahrzeug 101, z. B. Steuerungen, Aktoren, Sensoren usw., welche die Sensoren 110 beinhalten, übermitteln und/oder Mitteilungen von diesen empfangen. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 105 dargestellt sind. Zum Beispiel kann der Computer 105 ein typischer Computer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder er kann eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, der 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 105 ein FPGA (Field-Programmable Gate Array - feldprogrammierbares Gate-Array) beinhalten, die eine integrierte Schaltung ist, die hergestellt ist, um von einem Benutzer konfiguriert zu werden. 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 in einem FPGA auf Grundlage von VHDL-Programmierung konfiguriert sein können, die z. B. in einem Speicher gespeichert ist, 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 105 beinhaltet sein.
  • Zusätzlich kann der Computer 105 zum Kommunizieren mit dem Netzwerk 120 programmiert sein, das, wie nachfolgend 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 110 gesendeten gesammelten Daten speichern. Der Speicher kann eine von dem Computer 105 getrennte Vorrichtung sein und der Computer 105 kann durch den Speicher gespeicherte Informationen über ein Netzwerk in dem Fahrzeug 101 abrufen, z. B. über einen CAN-Bus, ein drahtloses Netzwerk usw. Alternativ oder zusätzlich kann der Speicher Teil des Computers 105 sein, z. B. als ein Speicher des Computers 105.
  • Die Sensoren 110 können eine Reihe von Vorrichtungen beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug 101 als Sensoren 110 betrieben werden, um Daten über das Netzwerk oder den Bus des Fahrzeugs 101 bereitzustellen, z. B. Daten bezüglich der Geschwindigkeit, Beschleunigung und des Standorts des Fahrzeugs, des Status von Teilsystemen und/oder Komponenten usw. Ferner könnten andere Sensoren 110 Kameras, Bewegungsmelder usw. beinhalten, d.h. Sensoren 110, um Daten zum Beurteilen einer Position einer Komponente, zum Beurteilen einer Neigung einer Fahrbahn usw. bereitzustellen. Die Sensoren 110 könnten außerdem ohne Einschränkung Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler beinhalten.
  • Die gesammelten Daten können eine Reihe von Daten beinhalten, die in einem Fahrzeug 101 gesammelt werden. Beispiele für gesammelte Daten sind vorstehend bereitgestellt und darüber hinaus werden Daten im Allgemeinen unter Verwendung eines oder mehrerer Sensoren 110 gesammelt und können zusätzlich Daten beinhalten, die anhand dieser in dem Computer 105 und/oder auf dem Server 125 berechnet werden. Im Allgemeinen können die gesammelten Daten beliebige Daten beinhalten, die durch die Sensoren 110 zusammengetragen und/oder anhand derartiger Daten berechnet werden können.
  • Das Fahrzeug 101 kann eine Vielzahl von Fahrzeugkomponenten 115 beinhalten. In diesem Kontext beinhaltet jede Fahrzeugkomponente 115 eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa das Bewegen des Fahrzeugs 101, das Verlangsamen oder das Anhalten des Fahrzeugs 101, das Lenken des Fahrzeugs 101 usw. Nichteinschränkende Beispiele für die Komponenten 115 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 Lenkzahnstange usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfenkomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine Komponente für adaptives Lenken, einen beweglichen Sitz und dergleichen. Die Komponenten 115 können Rechenvorrichtungen beinhalten, z.B. elektronische Steuereinheiten (electric control unit - ECU) oder dergleichen und/oder Computervorrichtungen, wie sie vorstehend in Bezug auf den Computer 105 beschrieben wurden und die ebenfalls über ein Netzwerk des Fahrzeugs 101 kommunizieren.
  • Für die Zwecke dieser Offenbarung bezieht sich der Ausdruck „autonomes Fahrzeug“ auf ein Fahrzeug 101, das in einem vollautonomen Modus betrieben wird. Ein vollautonomer 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 101 durch den Computer 105 gesteuert wird. Ein halbautonomer Modus ist ein Modus, in dem mindestens eines von Antrieb (in der Regel über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), Bremsung und Lenkung des Fahrzeugs 101 zumindest teilweise durch den Computer 105 und nicht durch einen menschlichen Fahrzeugführer gesteuert wird. In einem nichtautonomen Modus, d. h. einem manuellen Modus, werden Antrieb, Bremsung und Lenkung des Fahrzeugs 101 durch den menschlichen Fahrzeugführer gesteuert.
  • Das System 100 kann ferner ein Netzwerk 120 beinhalten, das mit einem Server 125 verbunden ist. Der Computer 105 kann ferner dazu programmiert sein, mit einem oder mehreren entfernten Orten, wie etwa dem Server 125, über das Netzwerk 120 zu kommunizieren, wobei ein derartiger entfernter Ort möglicherweise einen Prozessor und einen Speicher beinhaltet. Das Netzwerk 120 stellt einen oder mehrere Mechanismen dar, über die ein Fahrzeugcomputer 105 mit einem Fernzugriffsserver 125 kommunizieren kann. Dementsprechend kann das Netzwerk 120 ein oder mehrere verschiedene drahtgebundene oder drahtlose 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 eine beliebige gewünschte Netztwerkopologie (oder Netzwerktopologien, 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-Fahrzeug (V2V), wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (wide area network -WAN), die das Internet beinhalten, die Datenkommunikationsdienste bereitstellen.
  • 2 ist eine Seitenansicht eines beispielhaften Fahrzeugs 101. Das Fahrzeug 101 beinhaltet eine Sensorbaugruppe 200 (die in dem Beispiel aus 2 an einem Dach des Fahrzeugs 101 montiert gezeigt ist, aber zusätzlich oder alternativ an anderer Stelle an dem Fahrzeug 101 montiert sein kann). Die Sensorbaugruppe 200 beinhaltet eine Vielzahl von Sensoren 110, um Daten einer Umgebung des Fahrzeugs 101 zu sammeln. Der Computer 105 kann die Sensoren 110 an der Sensorbaugruppe betätigen, um Daten zu sammeln, und kann eine oder mehrere Komponenten 115 auf Grundlage der gesammelten Daten betätigen. Die Sensorbaugruppe 200 beinhaltet eine Stereokamerabaugruppe 205, die zwei nachfolgend beschriebene Kameras 210, 215 beinhaltet.
  • Der Computer 105 kann Betriebsdaten einer oder mehrerer Fahrzeugkomponenten 115 sammeln. In diesem Zusammenhang sind „Betriebsdaten“ Daten, die mindestens eines von einer Ausgabe oder einem Zustand des Fahrzeugs 101 und/oder einer Fahrzeugkomponente 115 beschreiben. Zum Beispiel können die Betriebsdaten z.B. einen Reifendruck, einen Federweg, eine Radgeschwindigkeit, einen Bremsdruck, eine Geschwindigkeit des Fahrzeugs 101, eine Beschleunigung des Fahrzeugs 101 usw. beinhalten. Zusätzlich kann der Computer 105 Beschleunigungsdaten von einer Trägheitsmesseinheit (IMU) sammeln. Eine „Trägheitsmesseinheit“ ist ein Satz von Sensoren 110, die Linearbeschleunigung und Drehbeschleunigungen in einem Fahrzeugkoordinatensystem erfassen. Die IMU-Sensoren 110 können z. B. Beschleunigungsmesser, Gyroskope, Drucksensoren, Magnetometer usw. beinhalten. Der Computer 105 kann die Betriebsdaten und/oder die IMU-Daten in ein Maschinenlernprogramm eingeben, um Belastungen an einem oder mehreren Sensoren 110 zu bestimmen.
  • 3 eine perspektivische Ansicht der Stereokamerabaugruppe 205 der Sensorbaugruppe 200. Die Stereokamerabaugruppe sammelt Daten einer Umgebung des Fahrzeugs 101. Die Stereokamerabaugruppe beinhaltet eine erste Kamera 210 und eine zweite Kamera 215. Die Kameras 210, 215 sammeln jeweils „Bilder“, das heißt Daten von sichtbarem Licht, die in einem zweidimensionalen Array von Werten (wie etwa Rot-Grün-Blau- oder Schwarz-Weiß-Werte) gesammelt wurden. Da die Stereokamerabaugruppe zwei Kameras 210, 215 beinhaltet, kann der Computer 105 einen herkömmlichen Tiefenwahrnehmungsalgorithmus auf die von den Kameras 210, 215 gesammelten zweidimensionalen Bilder anwenden, um eine dreidimensionale Zuordnung der Umgebung zu erzeugen. Das heißt, während eine einzelne Kamera 210, 215 Daten als eine zweidimensionale Projektion einer dreidimensionalen Umgebung sammeln kann, kann der Computer 105 Bilder von beiden Kameras 210, 215 verwenden, um eine Entfernung von dem Fahrzeug 101 zu einem identifizierten Objekt in den Bildern zu bestimmen, d. h. eine „Tiefe“ des Objekts.
  • Jede Kamera 210, 215 definiert ein jeweiliges Koordinatensystem mit rechtwinkligen Achsen x, y, z, die einen Ursprung an der Kamera 210, 215 aufweisen, wie in 2 gezeigt. Jede Kamera 210, 215 sammelt Daten in ihrem jeweiligen Koordinatensystem, einem „Kamerakoordinatensystem“ für jede Kamera 210, 215. Jede Kamera 210, 215 definiert eine neutrale Stellung. In diesem Zusammenhang ist die „neutrale Stellung“ die Ausrichtung der Kamera 210, 215, wenn sich das Fahrzeug 101 nicht bewegt. Das heißt, die neutrale Stellung ist die Stellung der Kamera 210, 215 ohne Verschiebung, wie nachfolgend beschrieben. Das Koordinatensystem, das definiert ist, wenn sich die Kamera 210, 215 in der neutralen Stellung befindet, ist ein „neutrales Kamerakoordinatensystem“. Das neutrale Kamerakoordinatensystem definiert rechtwinklige Achsen x', y', z', die jeweilige Ursprünge an der Kamera 210, 215 aufweisen, wobei das Hochkomma das Koordinatensystem in der neutralen Stellung angibt. Das heißt, wenn jede Kamera 210, 215 Schwingungen empfängt, kann sich jede Kamera 210, 215 von der neutralen Stellung bewegen, und das Kamerakoordinatensystem x,y,z kann sich in Bezug auf das neutrale Kamerakoordinatensystem drehen x', y', z', wie in 3 gezeigt.
  • Das Fahrzeug 101 definiert ein Fahrzeugkoordinatensystem mit rechtwinkligen Achsen X, Y, Z und einem Ursprung an einem festgelegten Punkt in dem Fahrzeug 101, z. B. einem Mittelpunkt des Fahrzeugs 101. Somit bleibt das neutrale Kamerakoordinatensystem x', y', z' in Bezug auf das Fahrzeugkoordinatensystem X, Y, Zfeststehend und der Computer 105 kann eine lineare Umwandlung unter Verwendung herkömmlicher linearer Algebramethoden bestimmen, um Daten von dem neutralen Kamerakoordinatensystem x', y', z' in das Fahrzeugkoordinatensystem umzuwandeln X, Y, Z . Das Kamerakoordinatensystem x,y,z kann sich in dem neutralen Koordinatensystem relativ drehen x', y', z', und somit kann, wenn der Computer 105 Anwendungsdaten in dem Koordinatensystem der gedrehten Kamera verwendet x,y,z , die Drehung des Kamerakoordinatensystems x, y, z von dem neutralen Kamerakoordinatensystem x', y', z' Fehler in die Daten einführen, wenn diese in das Fahrzeugkoordinatensystem X, Y, Zumgewandelt werden .
  • Jede Kamera 210, 215 definiert eine jeweilige Brennweite f. Die „Brennweite“ ist eine Entfernung zwischen einer optischen Mitte der Linse der Kamera 210, 215 und dem Datensammler der Kamera 210, 215. Das heißt, die Brennweite definiert das Sichtfeld und die Vergrößerung der Kamera 210, 215. Eine Kamera 210, 215, die eine größere Brennweite f als eine andere Kamera 210, 215 aufweist, weist ein schmaleres Sichtfeld als das der anderen Kamera 210, 215 und eine höhere Vergrößerung als die der anderen Kamera 210, 215 auf. Das heißt, die Kamera 210, 215 mit der höheren Brennweite f kann Bilder von Objekten aufnehmen, die weiter von der Kamera 210, 215 entfernt sind, als die Kamera 210, 215 mit der kleineren Brennweite f. Die Brennweite f der Kamera 210, 215 kann z. B. 35 Millimeter (mm), 50 mm, 75 mm usw. betragen.
  • Die Kameras 210, 215 werden von einer Halterung 220 getragen. Die Halterung befestigt die Kameras an der Sensorbaugruppe 200. Die Kameras können an der Halterung 220 in einer festgelegten Basisentfernung B voneinander positioniert sein. Der Computer 105 verwendet die Basisentfernung B mit den durch die Kameras 210, 215 gesammelten Bildern, um die Tiefe von Objekten in den Bildern zu bestimmen. Die Basisentfernung B kann auf Grundlage einer festgelegten Mindesttiefe bestimmt werden, um Objekte zu erfassen. Das heißt, ein Hersteller kann eine festgelegte Mindesttiefe bestimmen, bei der die Kameras 210, 215 Objekte erfassen sollten, und der Hersteller kann die Kameras 210, 215 mit der Basisentfernung B gemäß der festgelegten Mindesttiefe installieren. Die Basisentfernung B kann unter Verwendung herkömmlicher Sichtalgorithmen bestimmt werden. Zum Beispiel kann die festgelegte Mindesttiefe 1 Meter betragen und die Basisentfernung kann B 0,66 Meter betragen.
  • Die Stereokamerabaugruppe 205 beinhaltet einen oder mehrere Belastungssensoren 225. Die Belastungssensoren 225 messen eine „mechanische Belastung“, d. h. eine durch mechanische Spannungen verursachte elastische Verformung. Wenn das Fahrzeug 101 auf einer Fahrbahn fährt, können Abweichungen auf der Fahrbahn (wie etwa Kies, Schlaglöcher usw.) bewirken, dass das Fahrzeug 101 schwingt. Die Schwingungen können eine oder mehrere mechanische Belastungen auf die Kameras 210, 215 hervorrufen, was gesammelte Bilder verzerrt. Die Belastungssensoren 225 messen die mechanische Belastung auf die Kameras 210, 215. Zum Beispiel kann der Belastungssensor 225 eine Belastungsmesseinrichtung sein, die einen Metalldraht beinhaltet, der sich elastisch verformt, wenn eine mechanische Belastung angewendet wird. Die elastische Verformung ändert den elektrischen Widerstand des Drahtes und der Computer 105 kann die Änderung des elektrischen Widerstands messen, um die mechanische Belastung zu bestimmen, die auf den Belastungssensor 225 angewendet wird. Alternativ oder zusätzlich kann der Belastungssensor 225 ein Beschleunigungsmesser sein, der eine Beschleunigung misst, wenn eine mechanische Belastung angewendet wird. Der Computer 105 kann auf Grundlage der gemessenen Beschleunigung die auf den Belastungssensor 225 angewendete Belastung bestimmen. Noch weiter alternativ oder zusätzlich kann der Belastungssensor 225 ein Belastungsbolzen sein, d. h. ein Befestigungselement, das eine metallische Belastungsmesseinrichtung beinhaltet, wie vorstehend beschrieben. Die Kameras 210, 215 können mit einem oder mehreren Belastungsbolzen als die Belastungssensoren 225 an der Halterung 220 befestigt sein. Noch weiter alternativ oder zusätzlich kann der Belastungssensor 225 eine optische Belastungsmesseinrichtung sein, die eine optische Faser beinhaltet, die eine Vielzahl von Aussparungen beinhaltet, die sich strecken, wenn die optische Faser durch mechanische Belastung verformt wird. Die gestreckten Aussparungen ändern die Geschwindigkeit und/oder die Wellenlänge des Lichts, das sich durch die optische Faser bewegt, und der Computer 105 kann auf Grundlage der Änderung der Geschwindigkeit und/oder Wellenlänge des durch die optische Faser empfangenen Lichts die mechanische Belastung bestimmen.
  • Auf Grundlage der Belastungsdaten und der Betriebsdaten kann der Computer 105 eine Verschiebung der Kamera 210, 215 identifizieren. Die „Verschiebung“ ist eine Bewegung der Kamera 210, 215 aus der neutralen Stellung in einem dreidimensionalen Koordinatensystem, z. B. dem neutralen Kamerakoordinatensystem x', y', z'. Das heißt, die Verschiebung beinhaltet eine Seitenverschiebung in der x -Richtung, eine Längsverschiebung in der y -Richtung und eine Senkrechtverschiebung in der z -Richtung. Zusätzlich kann die Verschiebung eine Drehung θ zwischen den Achsen x und x', eine Drehung ϕ zwischen der Achse y und y' und eine Drehung y zwischen den Achsen z und z' definieren. Die mechanische Belastung auf die Kamera 210, 215 kann die Kamera 210, 215 weg von der jeweiligen neutralen Stellung verschieben, um die Verschiebung herbeizuführen. Betriebsdaten können eine Verschiebung einer Kamera 210, 215 angeben. Zum Beispiel kann eine Änderung des Drucks in der Luft in einem Reifen eine Schwingung verursachen, welche die Kamera 210, 215 aus der jeweiligen neutralen Stellung verschiebt.
  • Der Computer 105 kann Bilder von den Kameras 210, 215 in ein Maschinenlernprogramm eingeben, das die Verschiebung der Fahrzeugkamera 210, 215 aus der neutralen Stellung ausgibt. Wie nachfolgend ausführlicher beschrieben, kann das Maschinenlernprogramm z. B. ein tiefes neuronales Netzwerk, ein gradientenverstärkter Baum usw. sein. Das Maschinenlernprogramm gibt die Verschiebung auf Grundlage der Belastungsdaten und der Betriebsdaten aus. Der Computer 105 kann die Belastungsdaten und Betriebsdaten von einer Vielzahl von Fahrzeugkomponenten 115 in das Maschinenlernprogramm eingeben, um die Verschiebung jeder Fahrzeugkamera 210, 215 auszugeben. Der Computer 105 gibt weitere Daten, die mindestens eines von einer Fahrzeuggeschwindigkeit oder einer Fahrzeugbeschleunigung beinhalten, in das Maschinenlernprogramm ein, um die Verschiebung jeder Fahrzeugkamera 210, 215 auszugeben. Das heißt, der Computer 105 kann Belastungsdaten der ersten Fahrzeugkamera 210 und die Betriebsdaten in das Maschinenlernprogramm eingeben, um eine Verschiebung der ersten Fahrzeugkamera 210 auszugeben, und der Computer 105 kann Belastungsdaten der zweiten Fahrzeugkamera 215 und die Betriebsdaten in das Maschinenlernprogramm eingeben, um eine Verschiebung der zweiten Fahrzeugkamera 215 auszugeben. Die Ausgabe des Maschinenlernprogramms kann mehr Verschiebungsdaten als eingegebene Belastungsdaten beinhalten. Das heißt, die Belastungsdaten können bei einer konkreten Frequenz gesammelt werden, d. h. mit einer bestimmten Rate von Messungen pro Sekunde. Das Maschinenlernprogramm kann die Verschiebungsdaten mit einer höheren Frequenz als die eingegebenen Belastungsdaten ausgeben, wodurch eine feinere Auflösung der Verschiebungsdaten als die Auflösung der Belastungsdaten bereitgestellt wird. Die höhere Auflösung der Verschiebungsdaten kann Intra-Bildeffekte zwischen aufeinanderfolgenden Bildern berücksichtigen, die von den Kameras 210, 215 gesammelt werden, z. B. Rolling-Shutter-Effekte, Unschärfeeffekte usw.
  • Auf Grundlage der Verschiebung kann der Computer 105 eine Umwandlungsmatrix identifizieren, die Daten von jeder Fahrzeugkamera 210, 215 in ihre jeweiligen neutralen Kamerakoordinatensysteme x', y', z' umwandelt. Das heißt, jede Kamera 210, 215 sammelt, wenn sie verschoben ist, Daten in ihrem jeweiligen Kamerakoordinatensystem x,y,z . Die Umwandlungsmatrix wandelt Daten von dem Kamerakoordinatensystem x,y,z in das neutrale Kamerakoordinatensystem x', y', z' jeder Fahrzeugkamera 210, 215 um. Die „Umwandlungsmatrix“ ist eine Matrix, die Daten in dem Kamerakoordinatensystem x, y, z dem neutralen Kamerakoordinatensystem x', y', z' auf der Grundlage der Drehungen 0, Φ, y zuordnet, die durch die Verschiebung und die Brennweite f jeder Fahrzeugkamera 210, 215 veranlasst werden. Der Computer 105 kann die Umwandlungsmatrix und die Umkehrung der Umwandlungsmatrix verwenden, um in dem Kamerakoordinatensystem x, y, z gesammelte Daten in das neutrale Kamerakoordinatensystem x', y', z' umzuwandeln. Da jede Kamera 210, 215 zweidimensionale Bilddaten sammelt, kann jede Kamera 210, 215 Daten lediglich in den x, y -Achsen des Kamerakoordinatensystems x, y, z sammeln. Zum Beispiel kann die Umwandlungsmatrix Folgendes sein: [ x ' y ' z ' ] = [ cos θ cos γ cos ϕ sin γ + sin ϕ sin θ cos γ ( sin ϕ sin γ + cos ϕ sin θ cos γ ) f cos θ sin γ cos ϕ cos γ + sin ϕ sin θ sin γ ( sin ϕ cos γ + cos ϕ sin θ sin γ ) f tan θ f cos ϕ tan ϕ f 1 ] [ x y 1 ]
    Figure DE102021120968A1_0001
    wobei 0, Φ, y die vorstehend beschriebenen und in 2 gezeigten Drehwinkel sind.
  • Der Computer 105 kann die Umwandlungsmatrix auf die von der Kamera 210, 215 gesammelten Daten anwenden, um umgewandelte Daten zu erzeugen. Die „umgewandelten Daten“ stellen ein Bild dar, das die Fahrzeugkamera 210, 215 in der neutralen Stellung aufgenommen hätte. Der Computer 105 kann eine erste Umwandlungsmatrix identifizieren, die Daten von der ersten Fahrzeugkamera 210 in das neutrale Kamerakoordinatensystem der ersten Fahrzeugkamera 210 umwandelt, d. h. „erste umgewandelte Daten“. Der Computer 105 kann die erste Umwandlungsmatrix auf Daten von der ersten Kamera 210 anwenden, um die ersten umgewandelte Daten zu erzeugen. Der Computer 105 kann eine zweite Umwandlungsmatrix identifizieren, die Daten von der zweiten Fahrzeugkamera 215 in das neutrale Kamerakoordinatensystem der zweiten Fahrzeugkamera 215 umwandelt, d. h. „zweite umgewandelte Daten“. Der Computer 105 kann die zweite Umwandlungsmatrix auf Daten von zweiten ersten Kamera 215 anwenden, um die zweiten umgewandelte Daten zu erzeugen.
  • Mit den ersten umgewandelten Daten und den zweiten umgewandelten Daten kann der Computer 105 ein dreidimensionales Bild erzeugen. Wie vorstehend beschrieben, kann der Computer 105 einen herkömmlichen dreidimensionalen Modellierungsalgorithmus verwenden, der jeweilige Pixel der ersten umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten kombiniert, um das dreidimensionale Bild zu erzeugen. Zum Beispiel kann der dreidimensionale Modellierungsalgorithmus z. B. ein Stereosicht-Disparitätskartenalgorithmus, eine Fusion von monokularen Stereosichtrekonstruktionsalgorithmen, ein affiner Rekonstruktionsalgorithmus, ein euklidischer Rekonstruktionsalgorithmus usw. sein.
  • Der Computer 105 kann ein oder mehrere Objekte auf Grundlage der umgewandelten Daten identifizieren. Zum Beispiel kann der Computer 105 ein anderes Fahrzeug 101 identifizieren. In einem weiteren Beispiel kann der Computer 105 Markierungen auf einer Fahrbahn identifizieren, die z. B. Spurgrenzen, Seitenstreifengrenzen usw. angeben. Der Computer 105 kann ein Objekt in dem dreidimensionalen Bild identifizieren. Der Computer 105 kann eine Entfernung von der Fahrzeugkamera zu dem Objekt auf Grundlage der Tiefendaten in dem dreidimensionalen Bild identifizieren. Das heißt, der Computer 105 kann einen herkömmlichen Tiefenbestimmungsalgorithmus mit den dreidimensionalen Daten aus dem dreidimensionalen Bild verwenden, um eine Entfernung von dem Fahrzeug 101 zu jedem Pixel in dem dreidimensionalen Bild zu bestimmen.
  • Der Computer 105 kann eine oder mehrere Komponenten 115 auf Grundlage der umgewandelten Daten betätigen. Das heißt, nach dem Identifizieren eines oder mehrerer Objekte in dem Bild kann der Computer 105 die Komponenten 115 auf Grundlage der identifizierten Objekte betätigen. Zum Beispiel kann der Computer 105 einen Antrieb, eine Lenkbaugruppe und/oder eine Bremse betätigen, um einem identifizierten Fahrzeug 101 auszuweichen. In einem weiteren Beispiel kann der Computer 105 die Lenkbaugruppe betätigen, um das Fahrzeug 101 zwischen Fahrbahnmarkierungen zu bewegen.
  • Das vorstehend beschriebene Beispiel verwendet Daten von zwei Kameras 210, 215, d. h. zwei Sensoren, die Bilddaten sammeln. Alternativ kann die Sensorbaugruppe 200 zwei andere Sensoren 110 beinhalten, z. B. Lidar, Radar usw., und der Computer 105 kann zweidimensionale Daten von den anderen Sensoren 110 eingeben, um umgewandelte Daten zu erzeugen und um die Objekte zu identifizieren. Zum Beispiel kann das Maschinenlernprogramm mit Lidar- und/oder Radardaten zusätzlich zu Bilddaten trainiert werden, um eine Verschiebung der Sensoren 110 auszugeben. Somit kann der Computer 105 dreidimensionale Bilder aus zweidimensionalen Daten von einem beliebigen von einer Kamera, einem Lidar und/oder einem Radar erzeugen.
  • 4 ist ein Diagramm eines beispielhaften Maschinenlernprogramms 400. Das Maschinenlernprogramm 400 kann ein tiefes neuronales Netzwerk (deep neural network - DNN) 400 sein, das trainiert werden könnte, um eine Verschiebung einer Fahrzeugkamera von einer neutralen Stelung zu identifizieren. Das DNN 400 kann zum Beispiel ein Softwareprogramm sein, das in den Speicher geladen werden kann und durch einen Prozessor, der in dem Server 130 beinhaltet ist, ausgeführt werden kann. Das DNN 400 kann n Eingabeknoten 405 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 400 kann m Ausgabeknoten (wobei m und n eine gleiche natürliche Zahl sein können, es üblicherweise jedoch nicht sind) beinhalten, um Sätze von Ausgaben o1 ... om bereitstellen. Das DNN 400 beinhaltet eine Vielzahl von Schichten, die eine Anzahl k von verdeckten Schichten beinhalten, wobei jede Schicht einen oder mehrere Knoten 405 beinhaltet. Die Knoten 405 werden manchmal als künstliche Neuronen 405 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen nachzubilden. Der Neuronenblock 410 veranschaulicht Eingaben in ein beispielhaftes künstliches Neuron 405i und eine Verarbeitung darin. Ein Satz von Eingaben X1 ... Xr in jedes Neuron 405 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 eingestellt, die Nettoeingabe ai bereitzustellen, die dann an der Aktivierungsfunktion f bereitgestellt wird, die wiederum die Ausgabe Yi des Neurons 405i bereitstellt. Bei der Aktivierungsfunktion f 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 4 veranschaulicht, können die Ausgaben des Neurons 405 dann in einer nächsten Schicht zur Aufnahme in einen Satz von Eingaben für ein oder mehrere Neuronen 405 bereitgestellt werden.
  • Das DNN 400 kann trainiert werden, um als Eingabedaten z.B. Referenzbilder von einer Kamera anzunehmen und um einen oder mehrere Parameter zum Identifizieren der Verschiebung auszugeben. Zum Beispiel könnte das DNN 400 trainiert werden, um eine Verschiebung der Kamera aus einer neutralen Stellung auszugeben.
  • Dies bedeutet, dass das DNN 400 mit Ground-Truth-Daten trainiert werden kann, d. h. mit Daten zu einer Bedingung oder einem 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 405 kann auf null gesetzt werden. Das Trainieren des DNN 400 kann das Aktualisieren von Gewichtungen und Verzerrungen über herkömmliche Methoden beinhalten, wie etwa Rückpropagierung mit Optimierungen.
  • Ein Satz von Gewichtungen w für einen Knoten 405 sind zusammen ein Gewichtungsvektor für den Knoten 405. Die Gewichtungsvektoren für entsprechende Knoten 405 in einer gleichen Schicht des DNN 400 können kombiniert werden, um eine Gewichtungsmatrix für die Schicht zu bilden. Die Verzerrungswerte b für entsprechende Knoten 405 in einer selben Schicht des DNN 400 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 400 verwendet werden.
  • Im vorliegenden Kontext könnten die Ground-Truth-Daten, die zum Trainieren des DNN 400 verwendet werden, Bilddaten beinhalten, die mit der jeweiligen Verschiebung der Fahrzeugkamera, die jedes Bild erzeugt hat, als Anmerkungen versehen sind. Zum Beispiel kann ein Sensor eine Vielzahl von Bildern bei konkreten Verschiebungswerten sammeln, und dann können die Bilder zum Trainieren des DNN 400 gekennzeichnet werden, d. h. es können Markierungen festgelegt werden, welche die Verschiebung in den Bildern identifizieren. Das DNN 400 kann dann trainiert werden, um Datenwerte auszugeben, die mit der Verschiebung in Beziehung stehen, und die ausgegebenen Datenwerte können mit den Anmerkungen verglichen werden, um einen Unterschied zu identifizieren, d. h. eine Kostenfunktion der ausgegebenen Datenwerte und der eingegebenen mit Anmerkungen versehenen Bildern. Die Gewichtungen w und die Verzerrungen b können angepasst werden, um die Ausgabe der Kostenfunktion zu verringern, d. h. um einen Unterschied zwischen den ausgegebenen Datenwerten und den eingegebenen mit Anmerkungen versehenen Bildern zu minimieren. Wenn die Kostenfunktion minimiert ist, kann der Server 125 bestimmen, dass das DNN 400 trainiert ist.
  • 5 ist ein Diagramm eines weiteren beispielhaften Maschinenlernprogramms 500. Das Maschinenlernprogramm 500 kann ein Algorithmus 500 mit gradientenverstärktem Baum (Gradient-Boosted-Baum - GBT) sein. Das DNN 500 kann zum Beispiel ein Softwareprogramm sein, das in den Speicher geladen werden und durch einen Prozessor, der in dem Server 130 beinhaltet ist, ausgeführt werden kann. Der GBT 500 kann Knoten 505 beinhalten, die in einem von n Bäumen 510 angeordnet sind. Jeder Baum 510 definiert eine Restfunktion hi(x), die einen negativen Gradienten für ein vorhergesagtes Modell F definiert. Das heißt, das Modell F ist eine Funktion, die angepasst wird, um Referenzeingabedaten X mit gewünschten Ausgaben Y in Verbindung zu setzen. Jeder Knoten 505 stellt eine Entscheidung in dem Baum 510 dar, bei der die Eingabe X mit einem konkreten Regressionswert verglichen wird. Die Eingabe X folgt einem Pfad entlang des Baums 510 auf Grundlage der konkreten Regressionswerte, um die Restfunktion hi(X) zu definieren. Die Restfunktionen hi(X) geben eine Gewichtung αi für jeden Baum 510 aus, und die Gewichtungen αi werden dann rekursiv auf die Restfunktionen hi(X) angewendet, um das Modell F zu aktualisieren. Wenn die Änderung der Gewichtungen αi unter einen Schwellenwert fällt (d. h. die Gewichtungen αi laufen zusammen), kann der Server 125 bestimmen, dass der GBT 500 trainiert ist.
  • Der GBT 500 kann anhand von Referenzbildern trainiert werden, die mit der Verschiebung der Fahrzeugkamera und den Betriebsdaten, als das Bild aufgenommen wurde, als Anmerkungen versehen sind. Zum Beispiel kann die Fahrzeugkamera eine Vielzahl von Bildern bei konkreten Verschiebungswerten und mit konkreten mechanischen Belastungen und Betriebsdaten sammeln, und dann können die Bilder zum Trainieren des GBT 500 gekennzeichnet werden, d. h. es können Markierungen festgelegt werden, welche die Verschiebung, die mechanische Belastung und die Betriebsdaten in den Bildern identifizieren. Jeder Knoten 505 kann ein Vergleich eines festgelegten Regressionswerts sein, z. B. eines Werts konkreter Betriebsdaten, eines Werts einer konkreten mechanischen Belastung, eines Werts einer konkreten Verschiebung usw. Der GBT 500 kann dann trainiert werden, um Datenwerte auszugeben, die mit der Verschiebung in Beziehung stehen, und die Ausgabewerte können mit den Anmerkungen verglichen werden, um einen Unterschied zu identifizieren. Der Unterschied kann verwendet werden, um die Gewichtungen αi zu identifizieren, die dann auf die Restfunktionen hi(X) angewendet werden.
  • Der Computer 105 kann den GBT 500 verwenden, um die Verschiebung der Fahrzeugkamera zu bestimmen. Der Computer 105 kann ein Bild in den GBT 500 eingeben, das jedem Baum 510 und seiner jeweiligen Restfunktion hi(X) folgt. Der GBT 500 kann einen Satz von Werten Y ausgeben, welche die Verschiebung beinhalten. Da der GBT 500 mit mechanischer Belastung und Betriebsdaten trainiert wird, stellen die Restfunktionen hi(X) eine Ausgabe bereit, welche die mechanische Belastung und die Betriebsdaten berücksichtigt.
  • 6 ist ein Diagramm eines beispielhaften Prozesses 600 zum Betreiben von Sensoren 110 eines Fahrzeugs 101. Der Prozess 600 beginnt in einem Block 605, in dem ein Computer 105 Belastungsdaten der Kameras 210, 215 einer Stereokamerabaugruppe 205 in einer Sensorbaugruppe 200 und Betriebsdaten einer oder mehrerer Komponenten 115 sammelt. Wie vorstehend beschrieben, kann der Computer 105 die Belastungsdaten von einem oder mehreren Belastungssensoren sammeln, z. B. Belastungsmesseinrichtungen (wie etwa optische Belastungsmesseinrichtungen, mechanische Belastungsmesseinrichtungen usw.), Belastungsbolzen, Beschleunigungsmesser usw. Der Computer 105 kann die Betriebsdaten von den Komponenten 115 sammeln, d. h. Daten, die mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente 115 beschreiben. Zum Beispiel können die Betriebsdaten z. B. einen Reifendruck, einen Federweg, eine Raddrehzahl, einen Bremsdruck usw. beinhalten. Zusätzlich kann der Computer 105 Beschleunigungsdaten von einem oder mehreren IMU-Sensoren sammeln, z. B. Beschleunigungsmessern, Gyroskopen, Drucksensoren, Magnetometer usw.
  • Als Nächstes gibt der Computer 105 in einem Block 610 die Belastungsdaten und die Komponentendaten in ein Maschinenlernprogramm ein, um eine Verschiebung für jede Kamera 210, 215 auszugeben. Das Maschinenlernprogramm kann ein tiefes neuronales Netzwerk 400 oder ein gradientenverstärkter Baum 500 sein. Das Maschinenlernprogramm kann trainiert werden, um die Verschiebung für die Kameras 210, 215 auf Grundlage der jeweiligen Belastungsdaten für jede Kamera 210, 215 und der Betriebsdaten auszugeben. Zum Beispiel kann das Maschinenlernprogramm trainiert werden, Reifendruckdaten als Eingabe zu empfangen und die Verschiebung auf Grundlage der Belastungsdaten und der Reifendruckdaten auszugeben.
  • Als Nächstes identifiziert der Computer 105 in einem Block 615 eine jeweilige Umwandlungsmatrix aus der Verschiebung jeder Kamera 210, 215. Wie vorstehend beschrieben, wandelt die Umwandlungsmatrix Daten, die in einem Koordinatensystem einer der Kameras 210, 215 gesammelt wurden, in ein Koordinatensystem des Fahrzeugs 101 um. Die Umwandlungsmatrix wandelt jedes Pixel von Bildern, die von den Kameras 210 gesammelt wurden, in das Koordinatensystem des Fahrzeugs 101 um, um umgewandelte Daten zu erzeugen.
  • Als Nächstes identifiziert der Computer 105 in einem Block 620 ein Objekt in den umgewandelten Daten. Wie vorstehend beschrieben, kann der Computer 105 mit umgewandelten Daten von beiden Kameras 210, 215 einen herkömmlichen Tiefenwahrnehmungsalgorithmus verwenden, um ein dreidimensionales Objekt zu identifizieren. Das heißt, der Computer 105 kann eine Tiefe von dem Fahrzeug 101 zu dem Objekt mit dem Tiefenwahrnehmungsalgorithmus und Daten von beiden Kameras 210, 215 bestimmen.
  • Als nächstes betätigt der Computer 105 in einem Block 625 eine oder mehrere Komponenten 115 auf Grundlage des identifizierten Objekts. Wie vorstehend beschrieben, kann der Computer 105 Komponenten 115 betätigen, um einen Zusammenstoß mit dem identifizierten Objekt zu vermeiden. Zum Beispiel kann der Computer 105 einen Antrieb, eine Lenkbaugruppe und/oder eine Bremse betätigen, um dem identifizierten Objekt auszuweichen. In einem weiteren Beispiel kann der Computer 105 die Lenkbaugruppe betätigen, um das Fahrzeug 101 zwischen Fahrbahnmarkierungen zu bewegen.
  • Als Nächstes bestimmt der Computer 105 bei einem Block 630, ob der Prozess 600 fortgesetzt werden soll. Zum Beispiel kann der Computer 105 bestimmen, den Prozess 600 fortzusetzen, wenn sich das identifizierte Objekt nicht mehr im Sichtfeld der Kameras 210, 215 befindet. Wenn der Computer 105 bestimmt, fortzufahren, kehrt der Prozess 600 zum Block 605 zurück. Andernfalls endet der Prozess 600.
  • In dieser Schrift erörterte Rechenvorrichtungen, die den Computers 105 beinhalten, beinhalten Prozessoren und Speicher, wobei die Speicher im Allgemeinen jeweils Anweisungen beinhalten, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, 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 Vielfalt von Programmiersprachen und/oder -technologien erstellt worden sind, die entweder allein oder in Kombination unter anderem Java™, C, C++, Visual Basic, Java Script, Python, Perl, HTML usw. beinhalten. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in dem Computer 105 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, ohne darauf beschränkt zu sein. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und anderen 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 vorangehende Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf Patentansprüche, die hierzu beigefügt sind und/oder in einer hierauf basierenden, nichtvorläufigen Patentanmeldung enthalten 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.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um: Belastungsdaten, die eine mechanische Belastung auf eine Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm einzugeben, das eine Verschiebung der Fahrzeugkamera aus einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera ausgibt; auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera eine Umwandlungsmatrix zu identifizieren, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung umwandelt; die Umwandlungsmatrix auf Daten anzuwenden, die von der Fahrzeugkamera gesammelt werden, um umgewandelte Daten zu erzeugen; und eine der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten zu betätigen.
  • Gemäß einer Ausführungsform beinhalten die Betriebsdaten mindestens eines von einem Reifendruck, einem Federweg, einer Raddrehzahl oder einem Bremsdruck.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um weitere Daten, die mindestens eines von einer Fahrzeuggeschwindigkeit oder einer Fahrzeugbeschleunigung beinhalten, in das Maschinenlernprogramm einzugeben, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Gemäß einer Ausführungsform ist das Maschinenlernprogramm eines von einem tiefen neuronalen Netzwerk oder einem gradientenverstärkten Baum.
  • Gemäß einer Ausführungsform ist die Fahrzeugkomponente eine von einer Vielzahl von Fahrzeugkomponenten und die Anweisungen beinhalten ferner Anweisungen, um die Belastungsdaten und Betriebsdaten von der Vielzahl von Fahrzeugkomponenten in das Maschinenlernprogramm einzugeben, um die Verschiebung der Fahrzeugkamera auszugeben.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: einen Belastungssensor, um die Belastungsdaten zu sammeln, wobei der Belastungssensor eines von einer Belastungsmesseinrichtung, einem Beschleunigungsmesser oder einem Belastungsbolzen ist.
  • Gemäß einer Ausführungsform ist die Fahrzeugkamera mit dem Belastungsbolzen an einer Halterung befestigt.
  • Gemäß einer Ausführungsform wandelt die Umwandlungsmatrix die Daten von der Fahrzeugkamera auf Grundlage einer Brennweite der Fahrzeugkamera um.
  • Gemäß einer Ausführungsform beinhaltet die Verschiebung eine Seitenverschiebung, eine Längsverschiebung und eine Senkrechtverschiebung.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um Belastungsdaten einer zweiten Fahrzeugkamera und die Betriebsdaten in das Maschinenlernprogramm einzugeben, um eine Verschiebung der zweiten Fahrzeugkamera auszugeben und um eine zweite Umwandlungsmatrix zu identifizieren, die Daten von der zweiten Fahrzeugkamera zu einem Koordinatensystem der zweiten Fahrzeugkamera in der neutralen Stellung umwandelt.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um die zweite Umwandlungsmatrix auf Daten von der zweiten Fahrzeugkamera anzuwenden, um zweite umgewandelte Daten zu erzeugen, und um ein dreidimensionales Bild auf Grundlage der umgewandelten Daten und der zweiten umgewandelten Daten zu erzeugen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um ein Objekt in dem dreidimensionalen Bild zu identifizieren.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um eine Entfernung von der Fahrzeugkamera zu dem Objekt auf Grundlage des dreidimensionalen Bildes zu identifizieren.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um jeweilige Pixel der umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten zu kombinieren, um das dreidimensionale Bild zu erzeugen.
  • Gemäß einer Ausführungsform beinhaltet ein Verfahren Folgendes: das Eingeben von Belastungsdaten, die eine mechanische Belastung auf eine Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm, das eine Verschiebung der Fahrzeugkamera aus einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten ausgibt; auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera, das Identifzizieren einer Umwandlungsmatrix, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung umwandelt; das Anwenden der Umwandlungsmatrix auf Daten, die von der Fahrzeugkamera gesammelt werden, um umgewandelte Daten zu erzeugen; und das Betätigen einer der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten.
  • Gemäß einer Ausführungsform beinhalten die Betriebsdaten mindestens eines von einem Reifendruck, einem Federweg, einer Raddrehzahl oder einem Bremsdruck.
  • Gemäß einer Ausführungsform ist das Maschinenlernprogramm eines von einem tiefen neuronalen Netzwerk oder einem gradientenverstärkten Baum.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: das Eingeben von Belastungsdaten einer zweiten Fahrzeugkamera und der Betriebsdaten in das Maschinenlernprogramm, das Ausgeben einer Verschiebung der zweiten Fahrzeugkamera und das Identifizieren einer zweiten Umwandlungsmatrix, die Daten von der zweiten Fahrzeugkamera zu einem Koordinatensystem der zweiten Fahrzeugkamera in der neutralen Stellung umwandelt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: das Anwenden der zweiten Umwandlungsmatrix auf Daten von der zweiten Fahrzeugkamera, um zweite umgewandelte Daten zu erzeugen, und das Erzeugen eines dreidimensionalen Bildes auf Grundlage der umgewandelten Daten und der zweiten umgewandelten Daten.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: das Kombinieren der jeweiligen Pixel der umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten, um das dreidimensionale Bild zu erzeugen.

Claims (15)

  1. Verfahren, umfassend: Eingeben von Belastungsdaten, die eine mechanische Belastung an einer Fahrzeugkamera messen, und Betriebsdaten einer Fahrzeugkomponente, wobei die Betriebsdaten mindestens eines von einer Ausgabe oder einem Zustand der Fahrzeugkomponente beschreiben, in ein Maschinenlernprogramm, das eine Verschiebung der Fahrzeugkamera von einer neutralen Stellung auf Grundlage der Belastungsdaten und der Betriebsdaten ausgibt; auf Grundlage der ausgegebenen Verschiebung der Fahrzeugkamera, Identifizieren einer Umwandlungsmatrix, die Daten von der Fahrzeugkamera in ein Koordinatensystem der Fahrzeugkamera in der neutralen Stellung umwandelt; Anwenden der Umwandlungsmatrix auf durch die Kamera gesammelte Daten, um umgewandelte Daten zu erzeugen; und Betätigen einer von der Fahrzeugkomponente oder einer zweiten Fahrzeugkomponente auf Grundlage der umgewandelten Daten.
  2. Verfahren nach Anspruch 1, ferner umfassend Sammeln der Belastungsdaten mit einem Belastungssensor, wobei der Belastungssensor eines von einer Belastungsmesseinrichtung, einem Beschleunigungsmesser oder einem Belastungsbolzen ist.
  3. Verfahren nach Anspruch 2, wobei die Fahrzeugkamera mit dem Belastungsbolzen an einer Halterung befestigt ist.
  4. Verfahren nach Anspruch 1, ferner umfassend Eingeben von Belastungsdaten einer zweiten Fahrzeugkamera und der Betriebsdaten in das Maschinenlernprogramm, Ausgeben einer Verschiebung der zweiten Fahrzeugkamera und Identifizieren einer zweiten Umwandlungsmatrix, die Daten von der zweiten Fahrzeugkamera in ein Koordinatensystem der zweiten Fahrzeugkamera in der neutralen Stellung umwandelt.
  5. Verfahren nach Anspruch 4, ferner umfassend Anwenden der zweiten Umwandlungsmatrix auf Daten von der zweiten Fahrzeugkamera, um zweite umgewandelte Daten zu erzeugen, und Erzeugen eines dreidimensionalen Bildes auf Grundlage der umgewandelten Daten und der zweiten umgewandelten Daten.
  6. Verfahren nach Anspruch 5, ferner umfassend Identifizieren eines Objektes in dem dreidimensionalen Bild.
  7. Verfahren nach Anspruch 6, ferner umfassend Identifizieren einer Entfernung von der Fahrzeugkamera zu dem Objekt auf Grundlage des dreidimensionalen Bildes.
  8. Verfahren nach Anspruch 5, ferner umfassend Kombinieren jeweiliger Pixel der umgewandelten Daten mit entsprechenden Pixeln der zweiten umgewandelten Daten, um das dreidimensionale Bild zu erzeugen.
  9. Verfahren nach einem der Ansprüche 1-8, wobei die Betriebsdaten mindestens eines von einem Reifendruck, einem Federweg, einer Raddrehzahl oder einem Bremsdruck beinhalten.
  10. Verfahren nach einem der Ansprüche 1-8, ferner umfassend Eingeben weiterer Daten, die mindestens eines von einer Fahrzeuggeschwindigkeit oder einer Fahrzeugbeschleunigung beinhalten, in das Maschinenlernprogramm, um die Verschiebung der Fahrzeugkamera auszugeben.
  11. Verfahren nach einem der Ansprüche 1-8, wobei das Maschinenlernprogramm eines von einem tiefen neuronalen Netz oder einem gradientenverstärkten Baum ist.
  12. Verfahren nach einem der Ansprüche 1-8, wobei die Fahrzeugkomponente eine von einer Vielzahl von Fahrzeugkomponenten ist und das Verfahren ferner Eingeben der Belastungsdaten und Betriebsdaten der Vielzahl von Fahrzeugkomponenten in das Maschinenlernprogramm umfasst, um die Verschiebung der Fahrzeugkamera auszugeben.
  13. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-8 durchzuführen.
  14. Fahrzeug, das den Computer nach Anspruch 13 umfasst.
  15. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, das Anweisungen speichert, die durch einen Computerprozessor ausgeführt werden können, um das Verfahren nach einem der Ansprüche 1-8 auszuführen.
DE102021120968.4A 2020-08-18 2021-08-11 Fahrzeugsensorbetrieb Pending DE102021120968A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/995,943 US11356617B2 (en) 2020-08-18 2020-08-18 Vehicle sensor operation
US16/995,943 2020-08-18

Publications (1)

Publication Number Publication Date
DE102021120968A1 true DE102021120968A1 (de) 2022-02-24

Family

ID=80112886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021120968.4A Pending DE102021120968A1 (de) 2020-08-18 2021-08-11 Fahrzeugsensorbetrieb

Country Status (3)

Country Link
US (1) US11356617B2 (de)
CN (1) CN114074618A (de)
DE (1) DE102021120968A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525191B1 (ko) * 2020-08-07 2023-04-26 한국전자통신연구원 자율주행 차량에서의 주행 경로 생성 및 제어 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3161045A (en) 1961-08-18 1964-12-15 Fairchild Camera Instr Co Strain gauge compensation
GB8918303D0 (en) * 1989-08-10 1989-09-20 Lucas Ind Plc Monitoring and predicting road vehicle/road surface conditions
US5600576A (en) 1994-03-11 1997-02-04 Northrop Grumman Corporation Time stress measurement device
US6609051B2 (en) 2001-09-10 2003-08-19 Daimlerchrysler Ag Method and system for condition monitoring of vehicles
JP4596978B2 (ja) 2005-03-09 2010-12-15 三洋電機株式会社 運転支援システム
US10294742B2 (en) 2013-11-15 2019-05-21 Halliburton Energy Services, Inc. Borehole pressure management methods and systems with adaptive learning
US9881428B2 (en) 2014-07-30 2018-01-30 Verizon Patent And Licensing Inc. Analysis of vehicle data to predict component failure
US9961339B2 (en) * 2015-06-04 2018-05-01 Cmr Naviscan Corporation Calibration rig and calibration method for dual-head gamma camera
US10110877B2 (en) * 2015-10-12 2018-10-23 Dell Products, Lp Method and apparatus for depth algorithm adjustment to images based on predictive analytics and sensor feedback in an information handling system
CN106970141A (zh) 2016-01-13 2017-07-21 中国石油天然气股份有限公司 一种利用磁记忆信号变化对拉应力进行预测的方法
US10867409B2 (en) * 2019-04-22 2020-12-15 Great Wall Motor Company Limited Methods and systems to compensate for vehicle calibration errors

Also Published As

Publication number Publication date
CN114074618A (zh) 2022-02-22
US20220060641A1 (en) 2022-02-24
US11356617B2 (en) 2022-06-07

Similar Documents

Publication Publication Date Title
DE102018120845B4 (de) Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs
DE102018120788B4 (de) Steuerungsarchitektur zur Überwachung des Zustands eines autonomen Fahrzeugs
DE112018006161B4 (de) System und Verfahren zum Steuern eines Fahrzeugs
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102021100101A1 (de) Fahrzeugsensorkalibrierung
DE102014108858A1 (de) Verfahren und Vorrichtung zum Abschätzen und Verfolgen von Form und Pose eines dreidimensionalen Objekts
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102017129501A1 (de) Autonome Kraftfahrzeug-Objekterkennung
DE102017108248A1 (de) Strassenmerkmalserkennung mit einem fahrzeugkamerasystem
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102020109787A1 (de) Bestimmen einer Winkellage einer Komponente eines Kraftfahrzeugs
DE102018112888A1 (de) Systeme und Verfahren zur Überprüfung von Strassenkrümmungskartendaten
DE102022114048A1 (de) Bildentzerrung
DE102020105619A1 (de) System und verfahren zur bestimmung der fahrzeugposition
DE102022108505A1 (de) Objekterfassung durch ein neuronales netz
DE102022108656A1 (de) Neuronales quantilnetz
DE102021120968A1 (de) Fahrzeugsensorbetrieb
DE102021123522A1 (de) Erfassung von fahrzeugen und reaktion darauf
DE102023101585A1 (de) Fahrzeugwegverifizierung
EP3739511A1 (de) Verfahren zum einbetten von lokalen sensordaten in eine karte
DE102017201796A1 (de) Steuervorrichtung zum Ermitteln einer Eigenbewegung eines Kraftfahrzeugs sowie Kraftfahrzeug und Verfahren zum Bereitstellen der Steuervorrichtung
DE102022100545A1 (de) Verbesserte objekterkennung
DE112022002791T5 (de) Systeme und verfahren zur partikelfilterverfolgung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE