-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren und insbesondere eine Fahrzeugsensorfusion.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Daten zu der Umgebung des Fahrzeugs zu erfassen und das Fahrzeug auf Grundlage der Daten zu betreiben. Fahrzeugsensoren können Daten über zurückzulegende Routen und zu umfahrende Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Erfassen genauer und aktueller Daten zu Objekten in der Umgebung eines Fahrzeugs während des Betriebs des Fahrzeugs auf einer Fahrbahn stützen.
-
KURZDARSTELLUNG
-
Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Unter einem halb- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug teilweise oder vollständig von einer Rechenvorrichtung als Teil eines Systems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt sein, wobei das Fahrzeug in beiden Fällen teilweise oder vollständig ohne Unterstützung eines Insassen gesteuert werden kann. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem jedes von Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert wird; in einem halbautonomen Modus steuert/steuern der/die Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nichtautonomen Fahrzeug wird keines von diesen durch einen Computer gesteuert.
-
Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten zu der Außenumgebung eines Fahrzeugs zu erfassen und die Daten dazu zu verwenden, einen Fahrzeugweg zu bestimmen, auf dem ein Fahrzeug in einem autonomen oder halbautonomen Modus betrieben werden soll. Ein Fahrzeug kann auf Grundlage eines Fahrzeugwegs auf einer Fahrbahn fahren, indem Befehle bestimmt werden, die Antriebsstrang-, Brems- und Lenkungskomponenten zum Betreiben des Fahrzeugs zu steuern, sodass das Fahrzeug den Weg entlang fährt. Die Daten hinsichtlich der Außenumgebung können den Standort eines oder mehrerer sich bewegender Objekte, wie etwa Fahrzeuge und Fußgänger usw., in einer Umgebung um ein Fahrzeug beinhalten und können durch eine Rechenvorrichtung in dem Fahrzeug dazu verwendet werden, das Fahrzeug zu betreiben.
-
Eine Rechenvorrichtung in einem Fahrzeug kann sich auf Daten stützen, die von einer Vielzahl von Sensoren erfasst werden, die einer Vielzahl von unterschiedlichen Sensormodalitäten entspricht. Eine Sensormodalität ist als das Medium und die Art der durch den Sensor erfassten Daten definiert. Zum Beispiel sind Kameras, die Bilddaten erfassen, eine Modalität, sind Lidarsensoren, die Bereichsdaten auf Grundlage von Infrarotlicht erfassen, eine zweite Modalität, sind Radarsensoren, die Bereichsdaten auf Grundlage von Mikrowellenstrahlung erfassen, eine dritte Modalität und sind Ultraschallsensoren, die Bereichsdaten auf Grundlage von Ultraschallschallwellen erfassen, eine vierte Modalität. Sensordaten von jeder dieser Modalitäten können durch Rechenvorrichtungen verarbeitet werden, um ähnliche Arten von Daten zu bestimmen, zum Beispiel Standorte von Objekten in einer Umgebung um ein Fahrzeug. Eine Rechenvorrichtung kann Ausgangsdaten von einer Vielzahl von Fahrzeugdatenquellen kombinieren, die einer Vielzahl von Fahrzeugsensoren, einschließlich einer Vielzahl von Sensormodalitäten, entspricht. Zum Beispiel kann ein Fahrzeug mehrere Kameras und mehrere Radarsensoren beinhalten, wobei jeder Sensor Daten erfassen kann, die verarbeitet werden können, um einen Standort eines Objekts in einer Umgebung um ein Fahrzeug zu bestimmen.
-
In einem Fahrzeug, das eine Vielzahl von Sensoren aufweist, die einer Vielzahl von Modalitäten entspricht, geben nicht alle der als Fahrzeugdatenquellen verwendeten Sensor-/Prozessorkombinationen Daten aus, die die gleiche Auflösung und Genauigkeit aufweisen. Für ein gegebenes Objekt und eine gegebene Entfernung von einem Fahrzeug weisen unterschiedliche Modalitäten beispielsweise unterschiedliche Auflösungen und Genauigkeiten unter verschiedenen Umgebungsbedingungen auf. Zum Beispiel können Radarsensoren bei einigen schlechten Wetterbedingungen Daten bezüglich anderer Fahrzeuge auf einer Fahrbahn genauer erfassen als ein Lidarsensor, der von der Übertragung von Infrarotlicht abhängig ist. In anderen Beispielen kann ein Ultraschallsensor eine Entfernung zu einem in der Nähe geparkten Fahrzeug beim Parken genauer bestimmen als ein Radarsensor, der Entfernungen unter fünf bis zehn Metern nicht genau bestimmen kann. Hierin beschriebene Techniken überwachen das Leistungsverhalten von Fahrzeugdatenquellen in Bezug auf das Fahrzeugleistungsverhalten bei einer Vielzahl von Fahrzeug- und Umgebungsbedingungen und trainieren ein tiefes neuronales Netz, um optimale Kombinationen von Fahrzeugdatenquellen zu bestimmen. Das Kombinieren mehrerer Fahrzeugdatenquellen auf Grundlage von Fahrzeugleistungsverhalten, Sensorleistungsverhalten und Umgebungsbedingungen wird hierin als adaptive Sensorfusion bezeichnet.
-
Hierin wird ein Verfahren offenbart, das Bestimmen des Leistungsverhaltens einer Vielzahl von Fahrzeugdatenquellen, die zum Betreiben eines Fahrzeugs verwendet wird, durch Auswerten der Ausgangsdaten jeder Fahrzeugdatenquelle und Trainieren eines tiefen neuronalen Netzes, um die Zuverlässigkeit für jede der Fahrzeugdatenquellen auf Grundlage des Leistungsverhaltens unter Verwendung von verstärkendem Lernen (Reinforcement Learning) zu bestimmen, beinhaltet. Ausgangsdaten von den Fahrzeugdatenquellen können unter Verwendung des tiefen neuronalen Netzes kombiniert werden, um Ausgangsdaten von einer oder mehreren Fahrzeugdatenquellen mit dem Leistungsverhalten zu korrelieren, um zu bestimmen, wie genau die Ausgangsdaten von jeder Fahrzeugdatenquelle dem Fahrzeugleistungsverhalten entsprechen; und das Fahrzeug kann auf Grundlage der kombinierten Ausgangsdaten betrieben werden. Welche Datenquellen in das Fahrzeug einzubeziehen sind, kann auf Grundlage der Zuverlässigkeit kombiniert werden. Welche Datenquellen ordnungsgemäß funktionieren, kann auf Grundlage der Zuverlässigkeit bestimmt werden. Das Leistungsverhalten jeder Fahrzeugdatenquelle kann auf Messgrößen des Fahrzeugbetriebs beruhen, einschließlich mindestens eines von Kollisionswahrscheinlichkeit, Kraftstoffverbrauch oder Fahrzeit. Jede der Fahrzeugdatenquellen kann einen Fahrzeugsensor und eine Rechenvorrichtung zum Verarbeiten von Sensordaten beinhalten.
-
Die Fahrzeugsensoren können eine/n oder mehrere von einer Kamera, einem Lidarsensor, einem Ultraschallsensor und einem Radarsensor beinhalten. Die Ausgangsdaten von den Fahrzeugdatenquellen können kombiniert werden, indem Gewichtungen bestimmt werden, die bestimmen, wie Ausgangsdaten kombiniert werden. Das Leistungsverhalten kann fehlende Daten und Sensorrauschpegel beinhalten. Die Ausgangsdaten von den Fahrzeugdatenquellen können einen Standort eines Objekts in einer Umgebung um das Fahrzeug beinhalten. Das Betreiben des Fahrzeugs kann Bestimmen eines Fahrzeugwegs auf Grundlage des Standorts des Objekts in der Umgebung um das Fahrzeug beinhalten. Das Fahrzeug kann durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs entlang des Fahrzeugwegs betrieben werden. Reinforcement Learning kann das Trainieren des tiefen neuronalen Netzes beinhalten, wenn Paare von Eingaben und Ground Truth vor dem Betrieb des Systems nicht verfügbar sind. Eine Belohnungsfunktion, die Fusionsgewichtungen entspricht, kann für mehrere Zeitschritte bestimmt werden. Die Ground Truth, die zum Trainieren des tiefen neuronalen Netzes verwendet wird, kann einen Fahrzeugleistungsverhaltensindex beinhalten.
-
Ferner wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte gespeichert sind. Ferner ist ein Computer offenbart, der programmiert ist, um einige oder alle der oben genannten Schritte auszuführen, der eine Computervorrichtung beinhaltet, die programmiert ist, um das Leistungsverhalten einer Vielzahl von Fahrzeugdatenquellen, die zum Betreiben eines Fahrzeugs verwendet wird, durch Auswerten der Ausgangsdaten jeder Fahrzeugdatenquelle zu bestimmen und ein tiefes neuronales Netz zu trainieren, um die Zuverlässigkeit für jede der Fahrzeugdatenquellen auf Grundlage des Leistungsverhaltens unter Verwendung von verstärkendem Lernen (Reinforcement Learning) zu bestimmen, beinhaltet. Ausgangsdaten von den Fahrzeugdatenquellen können unter Verwendung des tiefen neuronalen Netzes kombiniert werden, um Ausgangsdaten von einer oder mehreren Fahrzeugdatenquellen mit dem Leistungsverhalten zu korrelieren, um zu bestimmen, wie genau die Ausgangsdaten von jeder Fahrzeugdatenquelle dem Fahrzeugleistungsverhalten entsprechen; und das Fahrzeug kann auf Grundlage der kombinierten Ausgangsdaten betrieben werden. Welche Datenquellen in das Fahrzeug einzubeziehen sind, kann auf Grundlage der Zuverlässigkeit kombiniert werden. Welche Datenquellen ordnungsgemäß funktionieren, kann auf Grundlage der Zuverlässigkeit bestimmt werden. Das Leistungsverhalten jeder Fahrzeugdatenquelle kann auf Messgrößen des Fahrzeugbetriebs beruhen, einschließlich mindestens eines von Kollisionswahrscheinlichkeit, Kraftstoffverbrauch oder Fahrzeit. Jede der Fahrzeugdatenquellen kann einen Fahrzeugsensor und eine Rechenvorrichtung zum Verarbeiten von Sensordaten beinhalten.
-
Der Computer kann ferner programmiert sein, um Fahrzeugsensoren zu beinhalten, die eine/n oder mehrere von einer Kamera, einem Lidarsensor, einem Ultraschallsensor und einem Radarsensor beinhalten. Die Ausgangsdaten von den Fahrzeugdatenquellen können kombiniert werden, indem Gewichtungen bestimmt werden, die bestimmen, wie Ausgangsdaten kombiniert werden. Das Leistungsverhalten kann fehlende Daten und Sensorrauschpegel beinhalten. Die Ausgangsdaten von den Fahrzeugdatenquellen können einen Standort eines Objekts in einer Umgebung um das Fahrzeug beinhalten. Das Betreiben des Fahrzeugs kann Bestimmen eines Fahrzeugwegs auf Grundlage des Standorts des Objekts in der Umgebung um das Fahrzeug beinhalten. Das Fahrzeug kann durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs entlang des Fahrzeugweges betrieben werden. Reinforcement Learning kann das Trainieren des tiefen neuronalen Netzes beinhalten, wenn Paare von Eingaben und Ground Truth vor dem Betrieb des Systems nicht verfügbar sind. Eine Belohnungsfunktion, die Fusionsgewichtungen entspricht, kann für mehrere Zeitschritte bestimmt werden. Die Ground Truth, die zum Trainieren des tiefen neuronalen Netzes verwendet wird, kann einen Fahrzeugleistungsverhaltensindex beinhalten.
-
Figurenliste
-
- 1 ist eine Darstellung eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist eine Darstellung eines beispielhaften Fahrzeugs mit einer Vielzahl von Sensoren.
- 3 ist eine Darstellung eines beispielhaften Systems zum Durchführen der Fahrzeugsensorfusion.
- 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs unter Verwendung eines tiefen neuronalen Netzes, um die Sensorfusion durchzuführen.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Diagramm eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 beinhaltet, das in einem autonomen („autonom“ für sich bedeutet in dieser Offenbarung „vollautonom“), einem halbautonomen und einem insassengesteuerten (auch als nichtautonom bezeichneten) Modus betrieben werden kann. Eine oder mehrere Rechenvorrichtungen 115 des Fahrzeugs 110 können von Sensoren 116 Daten bezüglich des Betriebs des Fahrzeugs 110 empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen Modus betreiben.
-
Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Zudem beinhaltet der Speicher eine oder mehrere Arten computerlesbarer Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich der hierin offenbarten. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrer derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z.B. über einen Fahrzeugkommunikationsbus, wie ferner nachstehend beschrieben, kommunikativ mit dieser (diesen) gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Steuerungen, Betätigungselemente, Sensoren usw. einschließlich der Sensoren 116. Alternativ oder zusätzlich kann in Fällen, bei denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, der Rechenvorrichtung 115 Daten über das Fahrzeugkommunikationsnetz bereitstellen.
-
Zusätzlich kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, über ein Netzwerk 130, wie etwa drahtloses Internet (WIFI®) oder Mobilfunknetze, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-Infrastruktur-Schnittstelle (C-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, zu kommunizieren. Die C-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann zum Kommunizieren mit anderen Fahrzeugen 110 über die C-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-(C-C-)Netzwerken z. B. gemäß dedizierter Nahbereichskommunikation (dedicated short range communications - DSRC) und/oder dergleichen ausgelegt sein, die z. B. ad hoc zwischen Fahrzeugen 110 in der Nähe gebildet werden oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem einen nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur(C-I)-Schnittstelle 111 an einen Servercomputer 120 oder eine mobile Vorrichtung 160 eines Benutzers in nichtflüchtigem Speicher speichert.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners enthalten. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung zum Regeln des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenken usw., und des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die in der Regel ein sicheres und effizientes Abfahren einer Route erreichen soll), wie etwa einer Entfernung zwischen Fahrzeugen und/oder einer Zeit zwischen Fahrzeugen, Spurwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Wegquerung bei Linksabbiegung, der Zeit bis zur Ankunft an einem bestimmten Standort und der Mindestzeit bis zum Überqueren der Kreuzung an einer Kreuzung (ohne Ampel).
-
Im hierin verwendeten Sinne beinhaltet der Ausdruck Steuerungen Rechenvorrichtungen, die in der Regel zum Überwachen und/oder Steuern eines konkreten Fahrzeugteilsystems programmiert sind. Zu Beispielen gehören eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (Electronic Control Unit - ECU) sein, wie sie bekannt ist, und möglicherweise eine zusätzliche Programmierung wie in dieser Schrift beschrieben beinhalten. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
-
Die eine oder die mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, die als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 beinhalten. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie zum Beispiel einem Controller-Area-Network(CAN)-Bus oder einem Local-Interconnect-Network(LIN)-Bus, um Anweisungen von der Rechenvorrichtung 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
-
Die Sensoren 116 können vielfältige Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, eine Entfernung von dem Fahrzeug 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor für ein globales Positionsbestimmungssystem (global positioning system - GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Die durch das RADAR und/oder die anderen Sensoren 116 bereitgestellte(n) Entfernung(en) und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 beispielsweise autonom oder teilautonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das zu autonomem und/oder teilautonomem Betrieb fähig ist und das drei oder mehr Räder aufweist, z. B. ein PKW, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die C-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielhaft und nicht einschränkend können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren wie etwa Schalter usw. beinhalten. Die Sensoren 116 können verwendet werden, um die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird, z. B. können die Sensoren 116 Phänomene wie etwa Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, den Standort einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten wie etwa Nachbarfahrzeugen 110 erfassen. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, des auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewandten Leistungspegels, Konnektivität zwischen Komponenten und einer genauen und rechtzeitigen Leistung von Komponenten des Fahrzeugs 110, zu erheben.
-
2 ist eine Darstellung eines Fahrzeugs 110, das eine Vielzahl von Fahrzeugsensoren 116 beinhaltet, die einer Vielzahl von Sensormodalitäten entspricht. An dem Dach des Fahrzeugs 110 ist ein Sensorgehäuse 202 angebracht. Das Sensorgehäuse 202 nimmt einen Lidarsensor 206 und fünf Farbkameras 204a, 204b, 204c, 204d, 204e (zusammen Kameras 204) auf. An der Vorderseite des Fahrzeugs 110 sind zwei Radarsensoren 208a, 208b (zusammen Radarsensoren 208) und ein Ultraschallsensor 210 beinhaltet. Jeder Sensor 204, 206, 208, 210 kann mit einer oder mehreren Rechenvorrichtungen 115 verbunden sein, die von den Sensoren 204, 206, 208, 210 ausgegebene Daten erfassen und die Daten verarbeiten, um Daten bezüglich verschiedener Abschnitte einer Umgebung um das Fahrzeug 110 zu bestimmen.
-
Zum Beispiel können die Sensoren 204, 206, 208, 210 mit Rechenvorrichtungen 115 verbunden sein, die Softwareprozesse ausführen, die Daten von den Sensoren 204, 206, 208, 210 erfassen und die erfassten Daten verarbeiten, um Objekte in einer Umgebung um ein Fahrzeug 110 zu lokalisieren. Die Objekte können zum Beispiel Fahrbahnen, Fahrbahnmarkierungen, andere Fahrzeuge und Fußgänger beinhalten. Jede Kombination aus Sensor 204, 206, 208, 210 und Rechenvorrichtung 115 kann eine Datenquelle sein, die Ausgangsdaten bezüglich Objektstandorten an eine Rechenvorrichtung 115 bereitstellt. Eine Rechenvorrichtung kann Ausgangsdaten von einer Vielzahl von Datenquellen empfangen und die Ausgangsdaten kombinieren, um einen Standort für ein Objekt in einer Umgebung um ein Fahrzeug 110 zu bestimmen. Die Rechenvorrichtung 115 kann den Objektstandort verwenden, um das Fahrzeug 110 zu betreiben. Beispielsweise kann eine Rechenvorrichtung 115 einen Objektstandort verwenden, um einen Fahrzeugweg zu bestimmen, bei dem Kontakt mit einem Objekt vermieden wird.
-
Ein „Fahrzeug“ kann andere Plattformen (d. h. Vorrichtungen oder Systeme von Vorrichtungen, einschließlich Hardware und Software) als ein Fahrzeug 110 beinhalten und kann mehrere Sensoren beinhalten, die mehrere Modalitätsdaten erfassen. Zum Beispiel kann ein Fahrzeug mobile und stationäre Roboter beinhalten, die Ausgangsdaten von einer Vielfalt von Datenquellen erfassen, um einen Roboterendeffektor zu leiten, um eine Aufgabe auszuführen. Ein Roboterendeffektor ist ein Werkzeug, das an einem Roboter befestigt ist und eine Aufgabe erfüllt. Beispiele für Roboterendeffektoren beinhalten Greifer, die an einem Werkstück befestigt und von diesem gelöst werden, um das Werkstück zu halten oder zu bewegen, Sprühvorrichtungen, die Beschichtungen und Klebstoffe abscheiden, und verschiedene Werkzeuge, einschließlich Schraubendreher, Meißel, Hämmer usw., die Werkstücke montieren oder demontieren. Roboter können Ausgangsdaten in Bezug auf Wege und Werkstücke von Datenquellen erlangen, die an dem Roboter selbst installiert sind, oder von Sensoren, die an dem Arbeitsplatz installiert sind, an dem der Roboter betrieben wird. Jede Datenquelle kann einen Sensor und eine Rechenvorrichtung beinhalten, die Daten bezüglich des Standorts und der Ausrichtung eines Roboters, des Standorts und der Ausrichtung eines oder mehrerer Endeffektoren und des Standorts und der Ausrichtung eines oder mehrerer Werkstücke bestimmt.
-
Ein weiteres Beispiel für ein Fahrzeug, das mehrere Sensormodalitäten verwendet, die auf eine automatisierte Aufgabe angewendet werden, ist die Spracherkennung. Bei der Spracherkennung können mehrere Datenquellen, einschließlich Mikrofone, Funkgeräte, Breitbandnetzwerke und Mobiltelefone, verwendet werden, um Audiodaten zu erfassen. Jede Audiodatenquelle kann unter Verwendung einer Vielzahl unterschiedlicher Verarbeitungsschemata verarbeitet werden, um Merkmale aus den Audiodaten zur weiteren Verarbeitung zu extrahieren. Zum Beispiel sind Mel-Cepstrum-Merkmale und Energie pro Kanal zwei unterschiedliche Vorverarbeitungstechniken zum Extrahieren von Merkmalen aus Audiodaten. Unterschiedliche Vorverarbeitungstechniken können Merkmale aus Audiodaten mit unterschiedlicher Genauigkeit und Zuverlässigkeit in Abhängigkeit von der Signalstärke und dem Signal-Rausch-Verhältnis der Eingangsaudiodaten extrahieren. Aus Audiodaten extrahierte Merkmale können an ein neuronales Spracherkennungsnetz weitergeleitet werden, um Spracherkennungsaufgaben durchzuführen. Die optimale Spracherkennung kann von der Genauigkeit und Zuverlässigkeit der Merkmalsextraktion abhängen. Das Bestimmen der Genauigkeit und Zuverlässigkeit von eingegebenen Merkmalen kann die Art und Weise verbessern, auf die eingegebene Audiomerkmale kombiniert werden, um in ein Spracherkennungssystem eingegeben zu werden, und dadurch die Qualität der durchgeführten Sprachtranskription verbessern.
-
Hierin offenbarte Techniken verbessern automatisierte Aufgaben einschließlich Fahrzeugbetrieb, Roboterführung und Spracherkennung durch Bereitstellen eines adaptiven Schemas auf Grundlage von Reinforcement Learning, das den Grad der Konfidenz, der verschiedenen Datenquellen zugewiesen ist, automatisch abstimmen kann, um die Fusion mehrerer Datenquellen zur Eingabe in eine automatisierte Aufgabe zu führen. Zusätzlich zu dem Fahrzeugbetrieb, der Roboterführung und der Spracherkennung kann jedes System, das mehrere Datenquellen beinhaltet, einschließlich einer oder mehrerer Sensormodalitäten und Verarbeitungsschemata, von der hierin beschriebenen adaptiven Sensorfusion profitieren.
-
3 ist eine Darstellung eines adaptiven Sensorfusionssystems 300. Das adaptive Sensorfusionssystem 300 ist ein auf Reinforcement Learning (REINFORCEMENT LEARNING) 310 basierendes System, das Konfidenzniveaus bestimmt, die auf eine Vielzahl von Fahrzeugsensoren 116 unter Verwendung von Fusionsgewichtungen 312, die verschiedenen Datenquellen (SENSORDATEN) 306 für Sensorfusion (SENSORFUSION) 314 zugewiesen sind, angewendet werden. Ein adaptives Sensorfusionssystem 300 wird verwendet, um die Art und Weise zu ändern oder anzupassen, in der Daten von mehreren Sensoren in einem Multisensor-, Multimodalitätssystem kombiniert werden, wenn sich die gemessene Zuverlässigkeit oder Genauigkeit der Sensoren im Laufe der Zeit ändert. Ein adaptives Sensorfusionssystem 300 kann Sensordaten für den Betrieb des Fahrzeugs 110 mit mehreren Sensoren, mobile oder stationäre Roboterführung mit mehreren Sensoren, Spracherkennung und im Allgemeinen jedes komplexe System, das sich auf mehrere Datenquellen stützt, um eine Aufgabe zu erfüllen, zusammenführen. Das adaptive Sensorfusionssystem 300 verwendet Reinforcement Learning 310, um die in die Sensorfusion 314 eingegebenen Fusionsgewichtungen 312 zu bestimmen, die bestimmen, wie Multimodalitätsdatenquellen 306 durch die Sensorfusion 314 kombiniert oder zusammengeführt werden, um als Ausgangsdaten 316 ausgegeben zu werden. Reinforcement Learning 310 gibt eine Leistungsverhaltensauswertung (AUSWERTUNG LEISTUNGSVERHALTEN) 308 von Multimodalitätsdatenquellen 306 ein, um zu lernen, welche der verschiedenen Datenquellen 306, die in dem Fahrzeug 110 beinhaltet sind, die zuverlässigsten Daten bereitstellen.
-
Das adaptive Sensorfusionssystem 300 beginnt mit dem Eingeben von Fahrzeugdaten (FAHRZEUGDATEN) 302, Umgebungsdaten (UMGEBUNGSDATEN) 304 und Datenquellen (SENSORDATEN) 306 in die Leistungsverhaltensauswertung 308. Die Fahrzeugdaten 302 beinhalten Daten bezüglich des Betriebs eines Fahrzeugs, die von den Fahrzeugsensoren 116 erfasst und durch eine Rechenvorrichtung 115 verarbeitet werden, die eine Trägheitsmesseinheit (IMU), ein globales Positionsbestimmungssystem (GPS) und Raddrehungssensoren beinhaltet. Daten von den Fahrzeugsensoren 116 können verwendet werden, um Fahrzeugstandort, -ausrichtung und -daten in Bezug auf Quer- und Längsbeschleunigungen zu messen, und können in Kombination mit Daten bezüglich Antriebsstrang, Lenkung und Bremsen zum Beispiel Reifenschlupf und Schleudern des Fahrzeugs bestimmen. Fahrzeugdaten 302 von Fahrzeugsensoren 116 können verwendet werden, um zum Beispiel Kollisionswahrscheinlichkeit, Kraftstoffverbrauch oder Fahrzeit zu bestimmen. Die Fahrzeugdaten 302 können auch Unterschiede zwischen dem beabsichtigten Betrieb eines Fahrzeugs 110, der Befehlen, die an die Antriebsstrang-, Lenk- und Bremssteuerung 112, 113, 114 gesendet werden, entspricht, und dem tatsächlichen Betrieb des Fahrzeugs 110, wie durch Fahrzeugsensoren 116 gemessen, beinhalten.
-
Außerdem werden Umgebungsdaten 304 in die Leistungsverhaltensauswertung 308 eingegeben. Die Umgebungsdaten 304 beinhalten beispielsweise Daten bezüglich Außentemperatur, Atmosphärendruck und Niederschlag. Die Umgebungsdaten 304 können mögliche Quellen für Sensorbeeinträchtigung wie Regen und Eis, das sich auf den Fahrzeugsensoren 116 bildet, und mögliche Quellen für einen beeinträchtigten Betrieb des Fahrzeugs 110, wie etwa Schnee und Eis auf der Fahrbahn, angeben.
-
Die Datenquellen 306 beinhalten Ausgangsdaten von mehreren Sensoren und eine Rechenvorrichtung zum Verarbeiten von Sensordaten. Sensordaten können verarbeitet werden, um zum Beispiel Daten zu bestimmen, die zum Betreiben eines Fahrzeugs 110 verwendet werden. Beispiele für Datenquellen 306 beinhalten Daten, die von Kameras erfasst und unter Verwendung einer Rechenvorrichtung verarbeitet werden, um Objekte in einer Umgebung um ein Fahrzeug zu lokalisieren. Kameradaten können zum Beispiel mit einem tiefen neuronalen Faltungsnetz verarbeitet werden, um andere Fahrzeuge und Fußgänger um ein Fahrzeug 110 zu lokalisieren. Lidarsensordaten können unter Verwendung der Bayesschen Statistik verarbeitet werden, um Objekte in einer Umgebung um ein Fahrzeug 110 zu lokalisieren, wobei die Bayessche Statistik eine Wahrscheinlichkeit bestimmt, dass ein Datenpunkt in Punktwolkendaten, die durch einen Lidarsensor erfassten Bereichsdaten entsprechen, zu einem Objekt in einer Umgebung gehört, von einer zuvor bestimmten Wahrscheinlichkeit abhängt, dass sich ein Objekt in der Umgebung befindet. Gleichermaßen können durch einen Radarsensor erfasste Daten und durch einen Sonarsensor erfasste Daten verarbeitet werden, um das Vorhandensein oder Nichtvorhandensein eines Objekts in einer Umgebung um ein Fahrzeug 110 zu bestimmen. Objektstandortdaten, die auf Grundlage von Video-, Lidar-, Radar- und Sonarsensordaten erfasst und bestimmt werden, können zusammen mit Fahrzeugdaten 302 und Umgebungsdaten 304 an die Leistungsverhaltensauswertung 308 ausgegeben werden.
-
Die Leistungsverhaltensauswertung 308 gibt im Wesentlichen kontinuierlich Fahrzeugdaten 302, Umgebungsdaten 304 und Datenquellen 306 ein und verwendet die Eingangsdaten, um einen Belohnungs-/Kostenwert zu aktualisieren, der das Leistungsverhalten des Fahrzeugs 110 auswertet. Wenn zum Beispiel die Fahrzeugdaten 302 angeben, dass das Fahrzeug 110 ein Objekt berührt hat, zum Beispiel ein anderes Fahrzeug, oder die Räder des Fahrzeugs 110 rutschen, würde die Leistungsverhaltensauswertung 308 einen negativen Belohnungs-/Kostenwert bestimmen, der als Leistungsverhaltensindex bezeichnet wird, um diesen an das Reinforcement Learning 310 auszugeben. Die Leistungsverhaltensauswertung kann einen negativen Wert ausgeben, der einem reduzierten Fahrzeugleistungsverhalten entspricht, das durch fehlende Daten oder einen erhöhten Sensorrauschpegel verursacht wird. Fehlende Daten oder ein erhöhter Sensorrauschpegel können durch einen Sensorausfall oder einen aufgrund von Wetter oder Verschmutzung verdeckten Sensor verursacht werden. Im Allgemeinen bestimmt der Betrieb des Fahrzeugs 110, der auf Grundlage der Datenquellen 306 dem erwarteten Leistungsverhalten entspricht, einen positiven Belohnungs-/Kostenwert, und der Betrieb des Fahrzeugs 110, der nicht dem erwarteten Verhalten entspricht, führt zu einer Ausgabe eines negativen Belohnungs-/Kostenwerts für das Reinforcement Learning. Wenn das Fahrzeug 110 auf eine gewünschtere Weise arbeitet, gibt die Leistungsverhaltensauswertung 308 einen höheren Leistungsverhaltensindex aus, und wenn das Fahrzeug 110 auf eine weniger wünschenswerte Weise arbeitet, gibt die Leistungsverhaltensauswertung 308 einen niedrigeren Leistungsverhaltensindex aus. Das Reinforcement Learning 310 verwendet den Leistungsverhaltensindex, um zu lernen, welche Datenquellen 306 dem gewünschten Betrieb des Fahrzeugs 110 entsprechen und welche Datenquellen 306 einem weniger wünschenswerten Betrieb des Fahrzeugs 110 entsprechen.
-
Reinforcement Learning ist ein tiefes neuronales Netz, das Fahrzeugdaten 302, Umgebungsdaten 304 und Datenquellen 306 eingibt und Fusionsgewichtungen 312 ausgibt. Reinforcement Learning ist eine Technik zum Trainieren eines tiefen neuronalen Netzes, bei dem Paare von Eingaben und Ground-Truth-Werten nicht verfügbar sind. Ground Truth bezieht sich auf Daten bezüglich gewünschter Ausgabeergebnisse von einem tiefen neuronalen Netz, die unabhängig von dem tiefen neuronalen Netz bestimmt werden. Reinforcement Learning ist eine Technik zum Trainieren von tiefen neuronalen Netzen, wenn Paare von Eingaben und Ground Truth vor dem Betrieb des Systems nicht verfügbar sind, zum Beispiel, wenn die Belohnungs-Verlustfunktion zum Trainieren des tiefen neuronalen Netzes das Ergebnis eines mehrstufigen Prozesses ist, wobei der Belohnungs-/Verlustwert eine Funktion ist, die mehrere Zeitschritte von den durch das tiefe neuronale Netz ausgegebenen unmittelbaren Ergebnissen entfernt ist. Zum Beispiel könnte der Belohnungs-/Verlustwert, der mit Fusionsgewichtungen 312 verknüpft ist, die von dem tiefen neuronalen Netz ausgegeben werden, das in Reinforcement Learning 310 beinhaltet ist, für mehrere Zeitschritte nach dem Zeitpunkt, zu dem die Datenquellen 306 für den Betrieb des Fahrzeugs 110 verwendet werden, möglicherweise nicht bestimmt werden. Das Reinforcement Learning 310 beginnt damit, dass ein Wert für die Fusionsgewichtungen 312 angenommen wird und das tiefe neuronale Netz trainiert wird, um die Fusionsgewichtungen 312 in zukünftigen Zeitschritten zu modifizieren, wenn die Leistungsverhaltensauswertung 308 Daten empfängt, die eine Berechnung von Belohnungs-/Verlustfunktionen ermöglichen. Auf diese Weise trainiert das Reinforcement Learning 310 das beinhaltete tiefe neuronale Netz, wenn Ergebnisse aus dem Betrieb des Fahrzeugs 110 verfügbar sind, wobei das Reinforcement Training optimale Fusionsgewichtungen 312 im Laufe der Zeit bestimmt, wenn das adaptive Sensorfusionssystem 300 mit Daten aus der Umgebung interagiert, die über die Sensoren 116 des Fahrzeugs 110 bestimmt werden.
-
Das Reinforcement Learning
310 beinhaltet mehrere tiefe neuronale Netze, die mehrere Fusionsgewichtungen
312 ausgeben, zum Beispiel w
L , w
R , w
S und w
C, die Abstandsmessungen D
L, D
R, D
S bzw. D
C entsprechen, die jeweils durch Datenquellen
306 ausgegeben werden, die Objektstandorten für Lidar, Radar, Sonar bzw. Videokamera entsprechen. Die Sensorfusion (SENSORFUSION)
314 gibt die Fusionsgewichtungen
312 und Datenquellen
306 ein und erzeugt Ausgangsdaten
316 D, die einem einzelnen Entfernungsmaß zu einem Objekt entsprechen, gemäß der Gleichung:
wobei D dem fusionierten Entfernungsmaß entspricht.
-
Die Fusionsgewichtungen 312 werden außerdem an eine Systemzustandsüberwachung (ZUSTANDSÜBERWACHUNG) 318 weitergeleitet, die die Fusionsgewichtungen 312 mit zuvor erfassten Fusionsgewichtungen 312 vergleicht, um Änderungen in den Datenquellen 306 zu bestimmen, wobei eine Verringerung einer Gewichtung, die einem konkreten Sensor entspricht, angeben kann, dass der Sensor nicht mehr zuverlässig arbeitet. In einem Beispiel kann jede Fusionsgewichtung w mit voreingestellten Schwellenwerten T verglichen werden. Wenn der Gewichtungswert, der einem Sensor entspricht, unter einen Schwellenwert fällt, d. h. w < T, kann bestimmt werden, dass das Sensorleistungsverhalten unter dem erwarteten Niveau liegt, und eine Warnung 320 erzeugt werden, die durch das Zustandsüberwachungssystem ausgegeben wird. Wenn zum Beispiel eine Kamera durch Schmutz oder Eis verdeckt ist und keine zuverlässigen Daten mehr erzeugt, würde das Reinforcement Learning 310 Fusionsgewichtungen 312 ausgeben, die die geringere Zuverlässigkeit der Kamera widerspiegeln. Die Zustandsüberwachung 318 würde eine Warnung 320 an die Rechenvorrichtung 115 des Fahrzeugs 110 ausgeben, um beispielsweise eine Reinigung einzuleiten oder eine Wartung anzufordern.
-
Eine Optimierung der Gestaltung (GESTALTUNGSOPTIMIERUNG) 322 protokolliert Fusionsgewichtungen 312 im Zeitverlauf und gibt die Protokolldaten 324 an einen Prozess aus, der das Leistungsverhalten des Systems über lange Zeiträume bestimmt. Zuverlässigkeitsniveaus werden durch das Reinforcement Learning 310 erlernt und jedem Sensor zugeordnet und werden durch Gestaltungsoptimierung gespeichert, um bei der Gestaltung nachfolgender Systeme zu helfen. Wenn zum Beispiel Videokameras, die an bestimmten Stellen an einem Fahrzeug 110 platziert sind, ständig durch Schlamm oder Schnee verdeckt werden, spiegelt sich dies in Daten mit reduzierter Zuverlässigkeit in Protokolldaten 324 wider, die durch die Gestaltungsoptimierung 322 ausgegeben werden. Zukünftige Fahrzeuge 110 können Ausrüstung zum Reinigen von Linsenabdeckungen an diesen konkreten Sensoren beinhalten oder die Sensoren können versetzt werden, um unzuverlässige oder fehlende Daten zu reduzieren. Wenn sich einige Sensoren aufgrund von mechanischen oder elektronischen Ausfällen als unzuverlässig erweisen, können die Sensoren ersetzt oder neu gestaltet werden, um die Zuverlässigkeit auf Grundlage der Protokolldaten 324, die durch die Gestaltungsoptimierung 322 ausgegeben werden, zu verbessern. Wenn die Protokolldaten 324 zeigen, dass ein konkreter Sensor redundant ist und zur Zuverlässigkeit des Fahrzeugs 110 kaum oder gar nicht beiträgt, kann der Sensor in zukünftigen Modellen entfernt werden.
-
4 ist eine Darstellung eines Ablaufdiagramms eines Prozesses 400, beschrieben in Bezug auf die 1-4, zum Betreiben eines Fahrzeugs auf Grundlage einer Ausgabe von dem adaptiven Sensorfusionssystem 300. Der Prozess 400 kann durch einen Prozessor der Rechenvorrichtung umgesetzt werden, der zum Beispiel Informationen von Sensoren als Eingabe heranzieht und Befehle ausführt und Objektinformationen ausgibt. Der Prozess 400 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 400 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann die Blöcke in anderer Reihenfolge ausgeführt beinhalten.
-
Der Prozess 400 beginnt bei Block 402, in dem das Leistungsverhalten der in einem Fahrzeug 110 beinhalteten Fahrzeugsensoren 116 ausgewertet wird. Das Leistungsverhalten der Fahrzeugsensoren 116 wird durch Eingeben von Fahrzeugdaten 302, Umgebungsdaten 304 und Datenquellen 306 durchgeführt. Die Datenquellen beinhalten Fahrzeugsensordaten 116, die durch Rechenvorrichtungen verarbeitet werden, um beispielsweise Daten bezüglich Objekten in einer Umgebung um ein Fahrzeug 110 zu ergeben. Die Datenquellen können Daten des Fahrzeugsensors 116 von einer Vielfalt von Sensormodalitäten beinhalten, einschließlich zum Beispiel Lidar-, Radar-, Sonar- und Videodaten. In Beispielen für adaptive Sensorfusion können Datenquellen in einem oder mehreren von einem stationären oder mobilen Roboter und einem Spracherkennungssystem beinhaltet sein. Das Leistungsverhalten der Fahrzeugsensoren 116 kann als Leistungsverhaltensindex ausgegeben werden, der in ein tiefes neuronales Netz mit Reinforcement Learning 310 eingegeben werden soll. Das Leistungsverhalten der Fahrzeugsensoren 116 kann auch durch ein Teilsystem 400 des Reinforcement Learning bestimmt werden.
-
Bei Block 404 trainiert der Prozess 400 ein tiefes neuronales Netz mit Reinforcement Learning 310 oder ein Teilsystem 400 des Reinforcement Learning auf Grundlage des Leistungsverhaltensindex aus Block 402. Wie vorstehend in Bezug auf 4 erörtert, bewirkt der Trainingsprozess, dass sich das adaptive Sensorfusionssystem 300 einem stabilen Satz von Fusionsgewichtungen 312 annähert, um diesen an die Sensorfusion 314 auszugeben. Das adaptive Sensorfusionssystem 300 bestimmt, wie genau die Ausgangsdaten von jeder Datenquelle 306 dem Leistungsverhalten des Fahrzeugs 110 entsprechen, und bestimmt Fusionsgewichtungen 312, die die Datenquellen 306 gemäß der bestimmten Sensorgenauigkeit kombinieren.
-
Bei Block 406 kombiniert das adaptive Sensorfusionssystem 300 die Datenquellen 306 durch Sensorfusion 314, die einen einzelnen Wert gemäß Gleichung (1) berechnet, der einem Messwert für die Vielzahl von Fahrzeugsensoren 116 und Datenquellen 306 entspricht, in diesem Beispiel einer Entfernung D von einem Fahrzeug 110 zu einem Objekt in einer Umgebung um ein Fahrzeug. Die einzelne Entfernungsmessung D kann als Ausgangsdaten 316 von der Sensorfusion 314 an eine Rechenvorrichtung 115, die in einem Fahrzeug 110 beinhaltet ist, ausgegeben werden.
-
Bei Block 408 werden die Ausgangsdaten 316, die einer Entfernung D zu einem Objekt in einer Umgebung um ein Fahrzeug 110 entsprechen, von dem adaptiven Sensorfusionssystem 300 ausgegeben und durch eine Rechenvorrichtung 115 empfangen. Die Rechenvorrichtung 115 kann die Ausgangsdaten 316 dazu verwenden, einen Fahrzeugweg zu bestimmen und den Antriebsstrang, die Lenkung und die Bremsen des Fahrzeugs steuern, um das Fahrzeug 110 zu veranlassen, entlang des Fahrzeugwegs zu fahren, wie vorstehend beschrieben, um einen Kontakt mit dem Objekt zu vermeiden. Die Rechenvorrichtung 115 kann auch in einem stationären oder mobilen Roboter beinhaltet sein und die Ausgangsdaten 316 verwenden, um den Roboter oder die Endeffektoren zu führen. In anderen Beispielen kann die Rechenvorrichtung 115 die Ausgangsdaten 316 verwenden, um einen Spracherkennungsprozess zu führen, um auszuwählen, welche Datenquelle 306 als Sprache interpretiert werden soll. Im Anschluss an Block 408 endet der Prozess 400.
-
Rechenvorrichtungen, wie etwa die hierin erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Die vorstehend erörterten Prozessblöcke können beispielsweise als computerausführbare Befehle ausgeführt sein.
-
Computerausführbare Befehle können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch er ein oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung vielfältiger computerlesbarer Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
-
Ein computerlesbares Medium beinhaltet jedes beliebige Medium, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und andere Dauerspeicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige 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 von einem Computer ausgelesen werden kann.
-
Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern hierin nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Der Begriff „beispielhaft“ wird hierin in dem Sinne verwendet, dass er ein Beispiel angibt, z. B. sollte ein Verweis auf ein „beispielhaftes Gerät“ einfach als Bezugnahme auf ein Beispiel für ein Gerät gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Bestimmung, eine Berechnung usw. von einer bzw. einem genau beschriebenen Geometrie, Abstand, Messwert, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
In den Zeichnungen geben die gleichen Bezugszeichen die gleichen Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der hierin beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt werden die vorliegenden Beschreibungen von Prozessen zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung wird ein Computer bereitgestellt, der Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor ausführbar sind, um das Leistungsverhalten einer Vielzahl von Fahrzeugdatenquellen, die zum Betreiben eines Fahrzeugs verwendet wird, durch Auswerten der Ausgangsdaten jeder Fahrzeugdatenquelle zu bestimmen; ein tiefes neuronales Netz zu trainieren, um die Zuverlässigkeit für jede der Fahrzeugdatenquellen auf Grundlage des Leistungsverhaltens unter Verwendung von Reinforcement Learning zu bestimmen; Ausgangsdaten von den Fahrzeugdatenquellen auf Grundlage der Zuverlässigkeit, einschließlich Verwenden des tiefen neuronalen Netzes, zu kombinieren, um Ausgangsdaten von einer oder mehreren Fahrzeugdatenquellen mit dem Leistungsverhalten zu korrelieren, um zu bestimmen, wie genau die Ausgangsdaten von jeder Fahrzeugdatenquelle dem Fahrzeugleistungverhalten entsprechen; und das Fahrzeug auf Grundlage der kombinierten Ausgangsdaten zu betreiben.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Bestimmen, welche Datenquellen in das Fahrzeug einzubeziehen sind, auf Grundlage der Zuverlässigkeit.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Bestimmen, welche Datenquellen ordnungsgemäß funktionieren, auf Grundlage der Zuverlässigkeit.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Bestimmen des Leistungsverhaltens jeder Fahrzeugdatenquelle auf Grundlage von Messgrößen des Fahrzeugbetriebs, einschließlich mindestens eines von Kollisionswahrscheinlichkeit, Kraftstoffverbrauch oder Fahrzeit.
-
Gemäß einer Ausführungsform beinhaltet jede der einen oder mehreren Fahrzeugdatenquellen einen Fahrzeugsensor und eine Rechenvorrichtung zum Verarbeiten von Sensordaten.
-
Gemäß einer Ausführungsform beinhalten die Fahrzeugsensoren eine/n oder mehrere von einer Kamera, einem Lidarsensor, einem Ultraschallsensor und einem Radarsensor.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen Anweisungen zum Kombinieren der Ausgangsdaten von den Fahrzeugdatenquellen, indem Gewichtungen bestimmt werden, die bestimmen, wie Ausgangsdaten kombiniert werden.
-
Gemäß einer Ausführungsform beinhaltet das Leistungsverhalten fehlende Daten und Sensorrauschpegel.
-
Gemäß einer Ausführungsform beinhalten die Ausgangsdaten von den Fahrzeugdatenquellen einen Standort eines Objekts in einer Umgebung um das Fahrzeug.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben des Fahrzeugs Bestimmen eines Fahrzeugwegs auf Grundlage des Standorts des Objekts in der Umgebung um das Fahrzeug.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Bestimmen eines Leistungsverhaltens einer Vielzahl von Fahrzeugdatenquellen, die zum Betreiben eines Fahrzeugs verwendet wird, durch Auswerten der Ausgangsdaten jeder Fahrzeugdatenquelle; Trainieren eines tiefen neuronalen Netzes, um die Zuverlässigkeit für jede der Fahrzeugdatenquellen auf Grundlage des Leistungsverhaltens unter Verwendung von Reinforcement Learning zu bestimmen; Kombinieren der Ausgangsdaten von den Fahrzeugdatenquellen, einschließlich Verwenden des tiefen neuronalen Netzes, um Ausgangsdaten von einer oder mehreren Fahrzeugdatenquellen mit dem Leistungsverhalten zu korrelieren, um zu bestimmen, wie genau die Ausgangsdaten von jeder Fahrzeugdatenquelle dem Fahrzeugleistungverhalten entsprechen; und Betreiben des Fahrzeugs auf Grundlage der kombinierten Ausgangsdaten.
-
Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch Bestimmen, welche Datenquellen in das Fahrzeug einzubeziehen sind, auf Grundlage der Zuverlässigkeit.
-
Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch Bestimmen, welche Datenquellen ordnungsgemäß funktionieren, auf Grundlage der Zuverlässigkeit.
-
Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch Bestimmen des Leistungsverhaltens jeder Fahrzeugdatenquelle auf Grundlage von Messgrößen des Fahrzeugbetriebs, einschließlich mindestens eines von Kollisionswahrscheinlichkeit, Kraftstoffverbrauch oder Fahrzeit.
-
Gemäß einer Ausführungsform beinhaltet jede der Fahrzeugdatenquellen einen Fahrzeugsensor und eine Rechenvorrichtung zum Verarbeiten von Sensordaten.
-
Gemäß einer Ausführungsform beinhalten die Fahrzeugsensoren eine/n oder mehrere von einer Kamera, einem Lidarsensor, einem Ultraschallsensor und einem Radarsensor.
-
Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch Kombinieren der Ausgangsdaten von den Fahrzeugdatenquellen, indem Gewichtungen bestimmt werden, die bestimmen, wie Ausgangsdaten kombiniert werden.
-
Gemäß einer Ausführungsform beinhaltet das Leistungsverhalten fehlende Daten und Sensorrauschpegel.
-
Gemäß einer Ausführungsform beinhalten die Ausgangsdaten von den Fahrzeugdatenquellen einen Standort eines Objekts in einer Umgebung um das Fahrzeug.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben des Fahrzeugs Bestimmen eines Fahrzeugwegs auf Grundlage des Standorts des Objekts in der Umgebung um das Fahrzeug.