-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
-
ALLGEMEINER STAND DER TECHNIK
-
Ein Fahrzeug, wie etwa ein autonomes oder halbautonomes Fahrzeug, kann zur Unterstützung der Navigation Daten von einem oder mehreren Sensoren, wie etwa einem LIDAR-Sensor (Light Imaging Detection And Ranging sensor) verwenden. LIDAR-Sensoren können Daten bereitstellen, die Objekte beschreiben, z. B. eine Sammlung von Daten, die Punkte in drei Dimensionen beschreibt. Wenn die LIDAR-Daten jedoch inkorrekt oder unvollständig sind, kann ein sicherer Betrieb des Fahrzeugs beeinträchtigt oder verhindert werden.
-
KURZDARSTELLUNG
-
In dieser Schrift ist ein Computer offenbart, der einen Prozessor und einen Speicher beinhaltet. Auf dem Speicher sind Anweisungen gespeichert, die zu Folgendem durch den Prozessor ausgeführt werden können: Empfangen entsprechender Objektdaten, die einen Objektstandort beinhalten, von jedem von drei oder mehr Fahrzeugen und Durchführen einer Handlung auf Grundlage von Bestimmen einer Inkonsistenz der von einem ersten Fahrzeug empfangenen Objektdaten in Bezug auf entsprechende Objektdaten der anderen Fahrzeuge.
-
Die Objektdaten können zusätzlich zu dem Objektstandort ferner zumindest eines von einer Objektausrichtung, Objektabmessungen, einer Sensorkennung und einem Zeitstempel beinhalten.
-
Die Inkonsistenz kann ein Fehlschlagen eines Erfassens eines Objekts, dass eine Erfassung eines Objekts nicht in den Objektdaten der anderen Fahrzeuge eingeschlossen ist, oder eine falsche Objektklassifizierung beinhalten.
-
Die Objektdaten können ferner eine Objektklassifizierung beinhalten, die zumindest eines von einem Auto, einem Truck, einem Fußgänger und einem Fahrrad beinhaltet, und eine Inkonsistenz einer falschen Objektklassifizierung kann eine inkorrekte Objektklassifizierung beinhalten, die in den Objektdaten eingeschlossen ist.
-
Die Objektdaten können ferner einen Bewegungszustand beinhalten, der zumindest eines von einem sich bewegenden Objekt und einem stationären Objekt angibt.
-
Der Objektstandort in den Objektdaten des ersten Fahrzeugs kann ein Standort des ersten Fahrzeugs sein.
-
Die Anweisungen können ferner Anweisungen zu Folgendem beinhalten: Ignorieren des Objekts beim Bestimmen der Inkonsistenz der Objektdaten des ersten Fahrzeugs auf Grundlage von Bestimmen, dass ein zweites Objekt das Objekt aus einem Sichtfeld eines Sensors des ersten Fahrzeugs verdeckt.
-
Die Anweisungen können ferner Anweisungen zu Folgendem beinhalten: Bestimmen, dass das zweite Objekt das Objekt aus dem Sichtfeld des Sensors des ersten Fahrzeugs verdeckt, auf Grundlage von Objektdaten, die von einem zweiten Sensor empfangen wurden, wobei der zweite Sensor zumindest einer von einem Sensor eines zweiten Fahrzeugs und einem stationären Sensor ist, der an einer Infrastrukturkomponente montiert ist.
-
Die Anweisungen zum Durchführen der Handlung können ferner Betätigen eines zweiten Fahrzeugcomputers beinhalten, um zumindest eines von Folgenden auszuführen: (i) Ignorieren der von dem ersten Fahrzeug empfangen Objektdaten, (ii) Betätigen des ersten Fahrzeugs, um anzuhalten, und (iii) Ausgeben einer Nachricht in einem Bereich innerhalb einer vorbestimmten Entfernung von dem ersten Fahrzeug.
-
Die Anweisungen können ferner Anweisungen zu Folgendem beinhalten: Bestimmen der Inkonsistenz der Objektdaten des ersten Fahrzeugs ferner auf Grundlage von Bestimmen, dass sich das Objekt innerhalb einer Erfassungsreichweite des ersten Fahrzeugs befindet.
-
Ferner ist in dieser Schrift ein Verfahren offenbart, das Folgendes beinhaltet: Empfangen entsprechender Objektdaten, die einen Objektstandort beinhalten, von jedem von drei oder mehr Fahrzeugen und Durchführen einer Handlung auf Grundlage von Bestimmen einer Inkonsistenz der von einem ersten Fahrzeug empfangenen Objektdaten in Bezug auf entsprechende Objektdaten der anderen Fahrzeuge.
-
Die Objektdaten können zusätzlich zu dem Objektstandort ferner zumindest eines von einer Objektausrichtung, Objektabmessungen, einer Sensorkennung und einem Zeitstempel beinhalten.
-
Die Inkonsistenz kann ein Fehlschlagen eines Erfassens eines Objekts, dass eine Erfassung eines Objekts nicht in den Objektdaten der anderen Fahrzeuge eingeschlossen ist, oder eine falsche Objektklassifizierung beinhalten.
-
Die Objektdaten können ferner eine Objektklassifizierung beinhalten, die zumindest eines von einem Auto, einem Truck, einem Fußgänger und einem Fahrrad beinhaltet, und eine Inkonsistenz einer falschen Objektklassifizierung kann eine inkorrekte Objektklassifizierung beinhalten, die in den Objektdaten eingeschlossen ist.
-
Die Objektdaten können ferner einen Bewegungszustand beinhalten, der zumindest eines von einem sich bewegenden Objekt und einem stationären Objekt angibt.
-
Der Objektstandort in den Objektdaten des ersten Fahrzeugs kann ein Standort des ersten Fahrzeugs sein.
-
Das Verfahren kann ferner Folgendes beinhalten: Ignorieren des Objekts beim Bestimmen der Inkonsistenz der Objektdaten des ersten Fahrzeugs auf Grundlage von Bestimmen, dass ein zweites Objekt das Objekt aus einem Sichtfeld eines Sensors des ersten Fahrzeugs verdeckt.
-
Das Verfahren kann ferner Folgendes beinhalten: Bestimmen, dass das zweite Objekt das Objekt aus dem Sichtfeld des Sensors des ersten Fahrzeugs verdeckt, auf Grundlage von Objektdaten, die von einem zweiten Sensor empfangen wurden, wobei der zweite Sensor zumindest einer von einem Sensor eines zweiten Fahrzeugs und einem stationären Sensor ist, der an einer Infrastrukturkomponente montiert ist.
-
Das Durchführen der Handlung kann ferner ein Betätigen eines zweiten Fahrzeugcomputers beinhalten, um zumindest eines von Folgenden auszuführen: (i) Ignorieren der von dem ersten Fahrzeug empfangen Objektdaten, (ii) Betätigen des ersten Fahrzeugs, um anzuhalten, und (iii) Ausgeben einer Nachricht in einem Bereich innerhalb einer vorbestimmten Entfernung von dem ersten Fahrzeug.
-
Das Verfahren kann ferner Folgendes beinhalten: Bestimmen der Inkonsistenz der Objektdaten des ersten Fahrzeugs ferner auf Grundlage von Bestimmen, dass sich das Objekt innerhalb einer Erfassungsreichweite des ersten Fahrzeugs befindet.
-
Ferner ist eine Rechenvorrichtung offenbart, die programmiert ist, um beliebige der vorangehenden Verfahrensschritte auszuführen.
-
Noch ferner ist ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um beliebige der vorangehenden Verfahrensschritte auszuführen.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das einen beispielhaften Sensor zeigt, der einem beispielhaften Straßenabschnitt zugewandt ist.
- 2 ist eine perspektivische Ansicht eines Fahrzeugs mit beispielhaften Ausrichtungsvektoren, die dieses überlagern.
- 3 zeigt ein Objekt, das aus einem Sichtfeld eines Fahrzeugsensors verdeckt ist.
- 4A zeigt eine beispielhafte Belegungsgridkarte von Objekten innerhalb eines Bereichs.
- 4B zeigt die Gridkarte aus 4A in Bezug auf Objektdaten, die von einem ersten Fahrzeug empfangen wurden.
- 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Identifizieren einer Inkonsistenz von Objektdaten von Fahrzeugen.
- 6A-6B sind ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben des Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
Ein Computer und/oder Sensor eines Host-Fahrzeugs können/kann zum Ziel eines Cyber-Angriffs werden; z. B. kann ein eindringender Computer Fahrzeugsensordaten manipulieren oder verfälschen, wie etwa Standortdaten, Objektdaten usw. Das Fahrzeug plant folglich unter Umständen einen Weg, Kollisionsvermeidungshandlungen usw. auf Grundlage von inkorrekten und/oder unvollständigen Daten, wodurch ein Fahrzeugbetrieb beeinträchtigt wird. Ferner stellt das Host-Fahrzeug die durch den Cyber-Angriff veränderten Daten unter Umständen über Fahrzeug-zu-Fahrzeug-(V2V-)Kommunikation an einem oder mehreren anderen Fahrzeugen bereit, wodurch ein Betrieb des anderen Fahrzeugs/der anderen Fahrzeuge beeinträchtigt oder gefährdet wird. In dieser Schrift kann ein Computer, z. B. ein Infrastrukturcomputer, zu Folgendem programmiert sein, um das Problem der Cyber-Angriffe, die Fahrzeugsensordaten und/oder über V2V-Kommunikationen bereitgestellte Daten umfassen, anzugehen: Empfangen entsprechender Objektdaten, die einen Objektstandort beinhalten, von jedem von drei oder mehr Fahrzeugen, und Durchführen einer Handlung auf Grundlage von Bestimmen einer Inkonsistenz der von einem ersten Fahrzeug empfangenen Objektdaten in Bezug auf Objektdaten der anderen Fahrzeuge, z. B. Betätigen von einem anderen Fahrzeug/anderen Fahrzeugen, um die Objektdaten des ersten Fahrzeugs zu ignorieren, Ergreifen von Maßnahmen, um das erste Fahrzeug anzuhalten, usw. In dieser Offenbarung kann ein Fahrzeug mit inkonsistenten Objektdaten als ein abweichendes oder verdächtiges Fahrzeug bezeichnet werden.
-
1 veranschaulicht ein Draufsichtsbild eines beispielhaften geographischen Bereichs 180, der Fahrzeuge 100A, 100B, 100C beinhaltet, die innerhalb des Bereichs 180 betrieben werden, z. B. auf einer Straße 198. Ein stationärer Sensor 160 ist an einer Seite der Straße 198 montiert und schließt Objekte innerhalb des Bereichs 180 in seinem Sichtfeld ein, wie etwa Fußgänger 190 und sich nicht bewegende (oder stationäre) Objekte 195, z. B. ein Verkehrszeichen, ein Verkehrshütchen usw., und/oder sich bewegende Objekte, wie etwa die Fahrzeuge 100A, 100B, 100C. Ein geographischer Bereich 180 (oder Bereich 180) bezeichnet im vorliegenden Zusammenhang einen zweidimensionalen (2D-)Bereich auf der Oberfläche der Erde. Grenzen oder Ränder eines Bereichs 180 können durch Koordinaten eines globalen Positionierungssystems (GPS) definiert sein, z. B. als Scheitelpunkte eines dreieckigen oder rechteckigen Bereichs 180, ein Zentrum eines kreisförmigen Bereichs 180 usw. Ein Bereich 180 kann beliebige Abmessungen und/oder eine beliebige Form aufweisen, z. B. rechteckig, oval, kreisförmig, eine nicht geometrische Form usw. Wie nachfolgend erörtert, kann ein Bereich 180 einen Abschnitt einer Straße, eine Kreuzung usw. einschließen. Ein Bereich 180 kann auf Grundlage einer Erfassungsreichweite 175 des Sensors 160 definiert sein, d. h. auf Grundlage von Standorten innerhalb einer vorbestimmten Entfernung von dem stationären Sensor 160. In einem weiteren Beispiel kann ein Bereich 180 Standorte innerhalb einer Erfassungsreichweite eines Sensors 130 eines Fahrzeugs 100A beinhalten. Bei der Erfassungsreichweite 175 handelt es sich in dem vorliegenden Zusammenhang um eine Entfernung, z. B. 200 Meter, innerhalb eines Sichtfeldes des Sensors 130, 160.
-
Bei einem Fahrzeug 100A, 100B, 100C kann es sich um ein Landfahrzeug mit zwei oder mehr Rädern handeln, das üblicherweise durch eine Maschine angetrieben wird, z. B. mit einem Elektromotor und/oder einer Brennkraftmaschine. Das Fahrzeug 100A, 100B, 100C kann einen Computer 110, einen Aktor/Aktoren 120, einen Sensor/Sensoren 130 und/oder eine Mensch-Maschine-Schnittstelle (human machine interface - HMI) 140 beinhalten. Ein Fahrzeug 100A, 100B, 100C kann einen Bezugspunkt 150 beinhalten, z. B. einen Schnittpunkt der Längs- und Querachse eines Fahrzeugs 100 (die Achsen können eine entsprechende Längs- und Quermittellinie des Fahrzeugs 100 definieren, sodass der Bezugspunkt 150 als Mittelpunkt des Fahrzeugs 100 bezeichnet werden kann). In dem vorliegenden Zusammenhang bezieht sich ein Standort des Fahrzeugs 100 auf erfasste Objektkoordinaten des Bezugspunktes 150 des Fahrzeugs 100, wie in Bezug auf 4A-4B erörtert.
-
Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die durch den Computer 110 ausgeführt werden können, um verschiedene Vorgänge durchzuführen, einschließlich der hierin offenbarten.
-
Der Computer 110 kann das Fahrzeug 100A, 100B, 100C in einem autonomen, einem halbautonomen oder einem nicht autonomen Modus betreiben. Zum Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsen und Lenken des Fahrzeugs 100A, 100B, 100C durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsen und Lenken des Fahrzeugs 100A, 100B, 100C; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer Antrieb, Bremsen und Lenken des Fahrzeugs über die HMI 140.
-
Der Computer 110 kann eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs 100A, 100B, 100C durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenken, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs zu betreiben, sowie um zu bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Bedieners steuern soll.
-
Der Computer 110 kann mehr als einen Prozessor, z. B. Steuerungen oder dergleichen beinhalten, die in dem Fahrzeug zum Überwachen und/oder Steuern verschiedener Fahrzeugsteuerungen, z. B. einer Antriebsstrangsteuerung, einer Bremssteuerung, einer Lenkungssteuerung usw., eingeschlossen sind, beinhalten oder kommunikativ an diese gekoppelt sein, z. B. über einen Kommunikationsbus des Fahrzeugs, wie nachfolgend ausführlicher beschrieben. Der Computer 110 ist im Allgemeinen für Kommunikationen in einem Fahrzeugkommunikationsnetzwerk, wie etwa einem Bus in dem Fahrzeug, wie etwa einem Controller Area Network (CAN) oder dergleichen, angeordnet.
-
Über das Fahrzeugnetzwerk kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 100A, 100B, 100C übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. den LIDAR-Sensoren 130, den Aktoren 120 usw. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Außerdem können, wie nachfolgend erwähnt, verschiedene Steuerungen und/oder Sensoren 130 über das Kommunikationsnetzwerk des Fahrzeugs 100A, 100B, 100C Daten an dem Computer 110 bereitstellen.
-
Die Aktoren 120 des Fahrzeugs 100A, 100B, 100C können über Schaltungen, Chips oder andere elektronische Komponenten umgesetzt sein, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betreiben können. Die Aktoren 120 können verwendet werden, um Bremsen, Beschleunigen und Lenken des Fahrzeugs 100A, 100B, 100C zu steuern. Als ein Beispiel kann der Computer 110 des Fahrzeugs 100A, 100B, 100C Steueranweisungen ausgeben, um die Aktoren 120 zu steuern.
-
Das Fahrzeug 100A, 100B, 100C kann einen oder mehrere LIDAR-Sensoren 130 beinhalten, die Daten über zumindest einen Teil eines Außenbereichs des Fahrzeugs 100A, 100B, 100C bereitstellen. Der LIDAR-Sensor 130 kann einen Prozessor beinhalten, der programmiert ist, um LIDAR-Daten über das Netzwerk des Fahrzeugs 100A, 100B, 100C zu übertragen. Die LIDAR-Daten können durch den Computer 110 des Fahrzeugs 100A, 100B, 100C von LIDAR-Sensoren 130 auf eine herkömmliche Weise empfangen werden, z. B. über ein Netzwerk des Fahrzeugs 100A, 100B, 100C, wodurch die LIDAR-Daten in einem Speicher des Computers 110 gespeichert werden können. Die LIDAR-Daten können verarbeitet werden; z. B. kann eine Punktwolke auf eine herkömmliche Weise generiert und analysiert werden, um Daten bereitzustellen, die Koordinaten von Objekten beinhalten, z. B. gemäß einem kartesischen 3-dimensionalen (3D-)Koordinatensystem. Ein Fahrzeug 100A, 100B, 100C kann einen Standortsensor 130 beinhalten, wie etwa eine Vorrichtung eines globalen Positionierungssystems (GPS), der entsprechende Standortdaten jedes Fahrzeugs 100A, 100B, 100C bereitstellt, z. B. eine Breiten- und Längenkoordinate.
-
Tabelle 1 unten veranschaulicht einen Datensatz, den ein Sensor
130,
160 über ein Objekt bereitstellen kann.
Tabelle 1
Datum | Beschreibung |
Sensorkennung | Eine Kennung der Quelle von Objektdaten, z. B. ein spezifischer Sensor und/oder das Fahrzeug, das den Sensor beinhaltet. |
Erfasste Obj ektkoordinaten | 3D- oder 2D-Koordinaten eines Bezugspunktes in oder an dem Objekt, z. B. ein Fahrzeugbezugspunkt. |
Ausrichtung | Neigung, Gierung und/oder Rollen des Objekts. |
Geschwindigkeit | Geschwindigkeit des Objekts, einschließlich eines Geschwindigkeitswertes und/oder einer Bewegungsrichtung. |
Gi errate | Eine Änderungsrate einer Gierung des Objekts. |
Klassifizierung | Eine Art oder Kategorie des Objekts, z. B. Fußgänger, Auto, Truck, Fahrrad, Motorroller, Drohne, stationäre Komponenten, z. B. ein Verkehrszeichen. |
Bewegung | Binärer Wert, der eines von sich bewegend oder stationär angegibt. |
Zeitstempel | Ein Zeitpunkt, zu dem die Objektdaten erfasst wurden, üblicherweise synchronisiert mit einem globalen Zeitmesser. |
-
In dem vorliegenden Zusammenhang handelt es sich bei einem „Objekt“ um einen beliebigen physischen Gegenstand, der durch einen Fahrzeugsensor erfasst werden kann, einschließlich zum Beispiel (i) eines Fußgängers 190, (ii) eines sich nicht bewegenden Objekts 195, z. B. eines Verkehrszeichens, und/oder (iii) eines Fahrzeugs 100A, 100B, 100C. Wie in Tabelle 1 zu sehen, können „Objektdaten“, die von einem Sensor 130, 160, z. B. einem LIDAR-Sensor 130, empfangen werden, erfasste Objektkoordinaten von einem oder mehreren Objekten, z. B. 3D- oder 2D-Koordinaten, Abmessungen, eine Geschwindigkeit, eine Ausrichtung und/oder eine Kennung des Sensors 130 beinhalten.
-
In dem vorliegenden Zusammenhang werden die „erfassten Objektkoordinaten“, die in den Objektdaten eingeschlossen sind, von einem Objekterfassungssensor 130 empfangen, wohingegen „Geo-Koordinatendaten“, d. h. Paare aus einem geographischen Breiten- und Längengrad, von einem Standortsensor 130 empfangen werden, wie etwa einem GPS-Sensor 130. Beispielsweise kann der LIDAR-Sensor 130 des Fahrzeugs 100 das Fahrzeug 100B als ein Objekt innerhalb einer Erfassungsreichweite des LIDAR-Sensors 130 des Fahrzeugs 100A erfassen. Der Computer 110 des Fahrzeugs 100A kann die erfassten Objektkoordinaten des Fahrzeugs 100B bezogen auf das Fahrzeug 100A auf Grundlage von Daten des LIDAR-Sensors 130 bestimmen. Ferner kann das Fahrzeug 100A dessen Geo-Koordinaten auf Grundlage von Daten des GPS-Sensors 130 des Fahrzeugs 100A bestimmen und kann dieses die erfassten Objektkoordinaten des Fahrzeugs 100B bezogen auf ein globales Koordinatensystem, z. B. ein GPS-Koordinatensystem, auf Grundlage der erfassten Objektkoordinaten des Fahrzeugs 100B bezogen auf das Fahrzeug 100A und der Geo-Koordinatendaten bestimmen.
-
Ferner kann der Computer 110 des Fahrzeugs 100B die Geo-Koordinatendaten des Fahrzeugs 100B auf Grundlage von Daten bestimmen, die von einem Standortsensor 130 des Fahrzeugs 100B empfangen wurden. Der Computer 170 kann (i) die erfassten Objektkoordinaten des Fahrzeugs 100B auf Grundlage von Daten bestimmen, die von dem stationären Sensor 160 empfangen wurden, (ii) Geo-Koordinatendaten des Fahrzeugs 100B über ein drahtloses Kommunikationsnetzwerk empfangen und/oder (iii) Objektdaten von dem Fahrzeug 100A empfangen, die erfasste Objektkoordinaten des Fahrzeugs 100B beinhalten, das durch den Objekterfassungssensor 130 des Fahrzeugs 100A als ein Objekt erfasst wurde.
-
Ein stationärer Sensor 160 kann einen Radar, einen Kamerasensor und/oder eine LIDAR-Vorrichtung einschließen und Objektdaten von einem Bereich 180 bereitstellen, der durch eine Erfassungsreichtweite 175 des stationären Sensors 160 abgedeckt wird. Der stationäre Sensor 160 kann an einer Infrastrukturkomponente montiert sein, z. B. einem Gebäude, einem Pfosten usw. Der stationäre Sensor 160 kann einen Computer 170, der programmiert ist, um über ein Kommunikationsnetzwerk mit Fahrzeugen 100A, 100B, 100C, anderen stationären Sensoren 160, Remote-Computern usw. zu kommunizieren, beinhalten und/oder mit diesem montiert sein und kommunikativ an diesen gekoppelt sein. Der Computer 170 kann programmiert sein, um z. B. Objektdaten, Standortdaten, Routendaten usw. von den Fahrzeugen 100A, 100B, 100C zu empfangen und Daten, z. B. eine Anweisung zum Deaktivieren eines Antriebsstrangaktors 120 eines verdächtigen Fahrzeugs 100A, zu übertragen, und einen Remote-Computer über einen Cyber-Angriff an dem verdächtigen Fahrzeug 100A usw. zu benachrichtigen, wie nachfolgend in Bezug auf 4A-4B, 5 und 6A-6B erörtert.
-
Des Weiteren kann der Computer 110 programmiert sein, um über ein drahtloses Kommunikationsnetzwerk z. B. mit einem Remote-Computer zu kommunizieren. Das drahtlose Kommunikationsnetzwerk, zu dem Fahrzeug-zu-Fahrzeug-(V2V-) und/oder Fahrzeug-zu-Infrastruktur-(V2X-)Kommunikationen gehören können, beinhaltet eine oder mehrere Strukturen, anhand derer die Fahrzeuge 100A, 100B, 100C, der stationäre Sensor 160, der Remote-Computer usw. miteinander kommunizieren können, einschließlich einer beliebigen geeigneten Kombination aus drahtlosen (z. B. Mobilfunk-, drahtlosen, satellitengestützten, Mikrowellen- und Funkfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Zu beispielhaften V2V- oder F-zu-I-Kommunikationsnetzwerken gehören Mobilfunk-, Bluetooth-, IEEE 802.11-, dedizierte Nahbereichskommunikations-(Dedicated Short Range Communications - DSRC-) und/oder Weitverkehrsnetzwerke (Wide Area Networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Unter Bezugnahme auf 2 beinhaltet eine Ausrichtung eines Objekts, wie etwa Fahrzeuge 100A, 100B, 100C zu einer Bezugsebene, wie etwa einem Bodenniveau, einen skalaren dreidimensionalen Vektor mit einem angegebenen Ursprung, z. B. an dem Bezugspunkt 150 des Fahrzeugs 100, der eine Richtung des Fahrzeugs 100 bezogen auf ein 3D-Bezugskoordinatensystem anzeigt, z. B. ein kartesisches 3D-Koordinatensystem mit einem Ursprung an der Bodenfläche. Beispielsweise kann die Ausrichtung eine algebraische Summe, wie sie bekannt ist, von verschiedenen unabhängigen Vektoren beinhalten, wobei jeder eine Richtung des Fahrzeugs bezogen auf eine entsprechende Bezugsrichtung anzeigt, z. B. eine Neigung, eine Gierung und ein Rollen des Fahrzeugs 100A, 100B, 100C. Zusätzlich oder alternativ kann die Ausrichtung einen 3D-Vektor beinhalten, der longitudinale, laterale und vertikale Koordinaten in Bezug auf ein 3D-Koordinatensystem beinhaltet.
-
Ein Cyber-Angriff auf einen Sensor 130 und/oder einen Computer 110 usw. kann zu einem Verändern oder Löschen von Objektdaten führen, was einen Betrieb von einem oder mehreren Fahrzeugen 100A, 100B, 100C beeinträchtigen kann. Ein Computer 170 eines stationären Sensors 160 kann programmiert sein, um entsprechende Objektdaten z. B. von Fahrzeugen 100A, 100B, 100C, (einem) Fußgänger(n) 190, (einem) sich nicht bewegenen Objekt(en) 195 zu empfangen, die einen Objektstandort von jedem von drei oder mehr Fahrzeugen 100A, 100B, 100C beinhalten. Ferner kann der Computer 170 programmiert sein, um eine Handlung auf Grundlage von Bestimmen einer Inkonsistenz der von einem ersten Fahrzeug 100A empfangenen Objektdaten in Bezug auf entsprechende Objektdaten der anderen Fahrzeuge 100B, 100C durchzuführen.
-
Die Handlung kann zumindest eines von Folgenden einschließen: (i) Ignorieren der von dem ersten Fahrzeug empfangen Objektdaten, wobei z.B. ein Computer 110 des zweiten Fahrzeugs 100B Objektdaten des ersten Fahrzeugs beim Bestimmen eines Betriebs des Fahrzeugs 100B ignoriert, (ii) Betreiben des ersten Fahrzeugs 100A, um anzuhalten, wobei z. B. ein Bremsaktor 120 des ersten Fahrzeugs 100A betätigt wird, um das erste Fahrzeug 100A anzuhalten, und/oder (iii) Ausgeben einer Nachricht in einem Bereich 180 innerhalb einer vorbestimmten Entfernung von dem ersten Fahrzeug 100A, wobei z. B. eine Nachricht an ein Fahrzeug 100A, 100B, 100C und/oder einen Remote-Computer, mobile Vorrichtungen von Fußgängern 190 usw. übermittelt wird, die Daten (z. B. eine Farbe, ein Modell, ein Kennzeichen) beinhaltet, die in Zusammenhang mit dem ersten Fahrzeug 100A stehen.
-
In dem vorliegenden Zusammenhang handelt es sich bei einer „Inkonsistenz“ um zumindest eines von Folgenden: (i) ein Fehlschlagen eines Erfassens eines Objekts, das durch den stationären Sensor 160 und/oder ein anderes Fahrzeug/andere Fahrzeuge 100A, 100B, 100C erfasst wurde, durch ein Fahrzeug 100A, 100B, 100C, wenn z. B. ein Erfassen des Fahrzeugs 100B durch das erste Fahrzeug 100A fehlschlägt und der stationäre Sensor 160 das Fahrzeug 100B innerhalb der Erfassungsreichweite des Sensors 130 des Fahrzeugs 100A erfasst, (ii) eine Erfassung eines Objekts, das nicht in den Objektdaten der anderen Fahrzeuge eingeschlossen ist, wenn z. B. das erste Fahrzeug 100A ein nicht vorhandenes Objekts (ein Geisterobjekt) erfasst, und/oder (iii) eine Inkonsistenz einer falschen Objektklassifizierung. Eine „Inkonsistenz einer falschen Objektklassifizierung“ tritt auf, wenn eine Objektkennung, die in Objektdaten eingeschlossen ist, inkorrekt ist, z. B. für einen Fußgänger 190 eine Truck-Klassifizierung bereitgestellt wird. Zusätzlich oder alternativ kann eine Inkonsistenz Bestimmen von inkorrekten Abmessungen, eines inkorrekten Bewegungszustands, einer inkorrekten Geschwindigkeit usw. beinhalten.
-
Durch einen Computer 110 des Fahrzeugs 100A generierte Daten können Folgende einschließen: (i) Daten von den Sensoren 130 des Fahrzeugs 100A, z. B. Objektdaten, welche Fahrzeuge 100B, 100C, einen Fußgänger 190, einsich nicht bewegendes Objekt 195 auf Grundlage der Daten des Objekterfassungssensors 130 des Fahrzeugs 100A beschreiben, und (ii) was als „Ego-Objektdaten“ bezeichnet wird, d. h. Daten, die von einem Fahrzeug 100A über sich selbst bereitgestellt werden, z. B. Daten, die andere Fahrzeuge 100B, 100C und/oder Sensoren 160 erfassen könnten, wobei solche Daten Geo-Koordinaten von einem GPS-Sensor 130 des Fahrzeugs 100A und andere Daten, die dem Computer 110 in einem Netzwerk, wie etwa einem CAN-Bus, des Fahrzeugs 100A zur Verfügung stehen, z. B. eine Geschwindigkeit und Gierrate des Fahrzeugs 100A, sowie in dem Computer 110 gespeicherte Informationen, z. B. Abmessungen des Fahrzeugs 100A, beinhalten.
-
Wie vorangehend erörtert, weist ein Objektserfassungssensor 130 des Fahrzeugs 100A, 100B, 100C eine Erfassungsreichweite auf, z. B. 200 Meter von dem Sensor 130 des Fahrzeugs 100 innerhalb eines Sichtfeldes des Sensors 130. Ein Sensor 130 des Fahrzeugs 100 ist jedoch unter Umständen aufgrund einer Verdeckung nicht in der Lage, ein Objekt innerhalb der Erfassungsreichweite des Sensors 130 zu erfassen. In dem vorliegenden Zusammenhang tritt unter Bezugnahme auf 3 eine „Verdeckung“ ein, wenn ein zweites Objekt, z. B. ein Fahrzeug 100E, für einen Betrachter, z. B. einen Sensor 130 des Fahrzeugs 100A, nicht sichtbar ist, da ein erstes Objekt, z. B. ein Fahrzeug 100D, eine Sicht auf das zweite Objekt Fahrzeug 100E blockiert. Als ein weiteres Beispiel (nicht gezeigt) kann ein Objekt auf einer ersten Straße, die eine zweite Straße schneidet, auf der sich das Fahrzeug 100A befindet, für den Sensor 130 des Fahrzeugs 100A aufgrund eines Gebäudeobjekts 195 an einer Ecke der Kreuzung der ersten und zweiten Straße, welches das Objekt verdeckt, verdeckt sein, wenngleich es sich innerhalb der Erfassungsreichweite des Sensors 130 befindet.
-
Unter Bezugnahme auf 3 kann der Computer 170 programmiert sein, um beim Bestimmen der Inkonsistenz der Objektdaten des ersten Fahrzeugs 100A das Objekt 100E auf Grundlage von Bestimmen, dass ein zweites Objekt 100D das Objekt 100E aus einem Sichtfeld eines Sensors 130 des ersten Fahrzeugs 100A verdeckt, zu ignorieren. Anders ausgedrückt bestimmt der Computer 170, dass ein Fehlschlagen eines Erfassens des Objekts 100E durch den Sensor 130 des ersten Fahrzeugs 100A konsistent mit einem Bestimmen ist, dass das Objekt 100E verdeckt ist und nicht durch den Sensor 130 des ersten Fahrzeugs 100A erfasst werden kann.
-
In einem in 3 gezeigten Beispiel kann ein stationärer Sensor 160 auf einem Pfosten, Gebäude usw. montiert sein. Der Computer 170 kann programmiert sein, um auf Grundlage von Objektdaten, die von dem Sensor 160 empfangen wurden, zu bestimmen, dass das zweite Objekt 100D das Objekt 100E aus dem Sichtfeld des Sensors 130 des ersten Fahrzeugs 100A verdeckt. Zusätzlich oder alternativ kann ein Computer 110 eines Fahrzeugs (in 3 nicht gezeigt) mit einem Sichtfeld des Sensors 130, das die Fahrzeuge 100A, 100B, 100C beinhaltet, programmiert sein, um auf Grundlage der Daten des Sensors 130 zu bestimmen, dass das zweite Objekt 100D das Objekt 100E aus dem Sichtfeld des Sensors 130 des ersten Fahrzeugs 100A verdeckt.
-
In einem Beispiel kann der Computer 170 programmiert sein, um Umfangspunkte P3 , P4 des Objekts 100E zu bestimmen und um zu bestimmen, ob ein Punkt zwischen dem Umfangspunkt P3 , P4 für den Sensor 130 des ersten Fahrzeugs 100 sichtbar ist. In dem vorliegenden Zusammenhang sind „Umfangspunkte“ Punkte auf einem geometrischen Umfang eines Objekts 100E aus Sicht des Sensors 130 des ersten Fahrzeugs 100A. Anders ausgedrückt handelt es sich bei den Umfangspunkten P3 , P4 um Punkte auf einem Umfang einer Projektion des Objekts 100E auf einer Projektionsebene, z. B. senkrecht zu einer imaginären Linie L1 , L2 , die sich von dem Objekt 100E zu dem Sensor 130 erstreckt. Wie in 3 gezeigt, wird jeder Punkt des Objekts 100E zwischen den Umfangspunkten P3 , P4 durch einen Punkt des Objekts 100D zwischen den Projektionspunkten P1 , P2 verdeckt. Ein Projektionspunkt P1 , P2 ist ein Schnittpunkt (i) einer Außenfläche des Objekts 100D mit (ii) den imaginären Linien L1 , L2 . Der Computer 170 kann programmiert sein, um bei Bestimmen, dass sich eine Linie L1 , L2 durch einen beliebigen Umfangspunkt P3 , P4 des Objekts 100E mit einem Punkt P1 , P2 des Objekts 100D schneidet, zu bestimmen, dass das Objekt 100E verdeckt ist. Zusätzlich oder alternativ kann der Computer 170 programmiert sein, um andere Techniken zu verwenden, um zu bestimmen, dass ein Objekt 100E durch ein Objekt 100D aus dem Sichtfeld des Sensors 130 des ersten Fahrzeugs 100A verdeckt ist.
-
Der Computer 170 kann programmiert sein, um die Inkonsistenz der Objektdaten des ersten Fahrzeugs 100A zumindest teilweise auf Grundlage von Bestimmen, dass sich das Objekt innerhalb einer Erfassungsreichweite 175 des Sensors 130 des ersten Fahrzeugs 100Abefindet, z. B. in einem kreisförmigen Bereich 175 mit einem Durchmesser von 200 Metern, der an dem Bezugspunkt 150 des Fahrzeugs 100A zentriert ist.
-
Wie vorangehend erörtert, kann der Computer 170 programmiert sein, um eine Inkonsistenz der Daten, die z. B. von einem ersten Fahrzeug 100A empfangen wurden, in Bezug auf entsprechende Objektdaten der anderen Fahrzeuge 100B, 100C und/oder des stationären Sensors 160 zu bestimmen. Es können verschiedene Techniken genutzt werden, um eine Inkonsistenz in den Objektdaten zu erfassen. Unter Bezugnahme auf 4 ist eine beispielhafte Technik erörtert.
-
4A zeigt eine beispielhafte Belegungsgridkarte 400A von Objekten Obj1, ..., Obj7 innerhalb eines Bereichs 180. Bei einer Belegungskarte 400A handelt es sich in dem vorliegenden Zusammenhang um eine Karte, die einen Bereich 180 in einem 2D-Koordinatensystem darstellt, z. B. einen Bereich 180, der um den Standort des stationären Sensors 160 angegeben ist. Jede Zelle entspricht einem Standort, der in Bezug auf ein Koordinatensystem, z. B. ein kartesisches Koordinatensystem, wie etwa ein GPS-Geo-Koordinatensystem, angegeben ist. Eine Zelle kann mit einem Gridindex x, y in Bezug auf einen Ursprung der Gridkarte 400A, z.B. einen Mittelpunkt der Gridkarte 400A, einen globalen Ursprung eines GPS-Koordinatensystems usw., identifiziert werden. „Belegt“ bedeutet in dem vorliegenden Zusammenhang, dass zumindest ein Abschnitt eines Volumens über einem Bereich einer entsprechenden Zelle auf der Bodenfläche durch ein physisches Objekt Obj1, Obj7, z. B. ein Objekt 195, einen Fußgänger 190, ein Fahrzeug 100A, 100B, 100C, einen Pfosten des stationären Sensors 160 usw., belegt ist. Zellen einer Gridkarte 400A können angegebene Abmessungen aufweisen, z. B. 20 x 20 Zentimeter. In einem Beispiel zeigt die Gridkarte 400A eine belegte Zelle für ein Objekt an einem Bezugsstandort, z. B. einem Bezugspunkt 150 des Fahrzeugs 100A. Zusätzlich oder alternativ kann eine Belegungskarte 400A eine 3D-Belegungskarte 400A sein, die zusätzlich eine Erhebung des Objekts Obj1, ..., Obj7 von der Bodenfläche zeigt.
-
Der Computer
170 kann programmiert sein, um auf Grundlage von empfangenen Objektdaten von den Fahrzeugen
100A,
100B,
100C, dem stationären Sensor
160 usw. eine Gridkarte
400A für den Bereich
180 zu generieren, der durch die Gridkarte
400A abgedeckt ist. Der Computer
170 kann programmiert sein, um bei Bestimmen, dass zumindest ein Fahrzeug
100A,
100B,
100C, der stationäre Sensor
160 usw. das entsprechende Objekt identifiziert hat, ein Objekt
Obj1, ...,
Obj7 in der Gridkarte
400A zu identifizieren. Anders ausgedrückt alle Objektdaten von allen Sensoren
130,
160. Wie vorangehend erörtert, kann ein Fahrzeug
100A,
100B,
100C einen GPS-Sensor
130 beinhalten und kann Geo-Koordinatendaten über das drahtlose Kommunikationsnetzwerk übertragen. In einem Beispiel kann der Computer
170 programmiert sein, um die Fahrzeuge
100A,
100B,
100C in der Gridkarte
400A ferner auf Grundlage der Geo-Koordinatendaten eines Fahrzeugs
100A,
100B,
100C zu identifizieren. Die Gridkarte
400A kann in einem Speicher des Computers
170 in einer Tabelle oder dergleichen gespeichert sein, z. B. wie durch Tabelle 2 veranschaulicht. Die Daten für unbelegte Zellen können freigelassen (oder auf NULL eingestellt) werden. Tabelle 2 zeigt ein Beispiel für eine 3D-Gridkarte. Eine 2D-Gridkarte 400A lässt Höhen- oder Erhebungsdaten weg, d. h. in dem nachfolgenden Beispiel die Erhebung z.
Tabelle 2
Zelldatenelement | Beschreibung |
x | Longitudinale Koordinate in Bezug auf einen Ursprung, z. B. einen GPS-Bezugspunkt. |
y | Laterale Koordinate in Bezug auf einen Ursprung, z. B. einen GPS-Bezugspunkt. |
z | Erhebungskoordinate in Bezug auf einen Ursprung, z. B. einen GPS-Bezugspunkt. |
Klassifizierung | Mehrheitswahl für eine Klassifizierung. |
Abmessungen | Abmessungswerte auf Grundlage eines Durchschnitts von Mehrheitsobj ektdaten. |
Geschwindigkeit | Geschwindigkeit auf Grundlage eines Durchschnitts von Mehrheitsobj ektdaten. |
Ausrichtung | Ausrichtung auf Grundlage eines Durchschnitts von Mehrheitsobj ektdaten. |
-
Der Computer 170 kann dann programmiert sein, um eine Inkonsistenz in den Objektdaten eines Fahrzeugs 100A, 100B, 100C auf Grundlage eines Vergleichs der entsprechenden Daten des Fahrzeugs 100A, 100B, 100C zu bestimmen, was als eine Wahltechnik bezeichnet wird. In dem vorliegenden Zusammenhang bestimmt der Computer 170 bei der Wahltechnik eine Ground Truth, die Objektdaten beinhaltet, wie etwa einen Standort, eine Klassifizierung, Abmessungen usw., auf Grundlage einer Mehrheitswahltechnik; z. B. ist eine Objektklassifizierung in den Daten der Ground Truth das, was eine Mehrheit von entsprechenden Objektdaten angibt. Eine Inkonsistenz kann dann auch Grundlage von Abweichungen von der Ground Truth bestimmt werden. Zum Beispiel bei Bestimmen, dass Objektdaten von einer Mehrheit, z. B. 3, der Quellen, z. B. die Sensoren 130 der Fahrzeuge 100B, 100C und der stationäre Sensor 160, einen Fußgänger 190 an einem Zellen-Standort x, y identifiziert hat, und eine Minderheit, z. B. 1, der Quelle(n), z. B. der Sensor 130 des Fahrzeugs 100A, einen Truck an dem Gridindex x, y bestimmt hat, bestimmt der Computer 170, dass das Objekt Obj7 an dem Standort x, y eine Fußgänger-Klassifizierung aufweist, wobei es sich um die Ground Truth handelt. Bei Bestimmen, dass eine Mehrheit der Quellen kein Objekt an einem Gridindex x, y identifiziert hat, wohingegen eine Minderheit der Quellen ein Objekt an dem entsprechenden Gridindex bestimmt hat, kann der Computer 110 zusätzlich oder alternativ programmiert sein, um ein Geisterobjekt (nicht vorhandenes Objekt) an dem Gridindex x, y zu bestimmen.
-
In dem vorliegenden Zusammenhang kann eine „Mehrheit“ eine einfache Mehrheit, d. h. über 50%, sein, kann jedoch ein angegebener Schwellenwert sein, z. B. 60 %. Der Computer
110 kann programmiert sein, um den Schwellenwert auf Grundlage von verschiedenen Faktoren einzustellen, z. B. einer Wetterbedingung, einer Konfidenz der Quelle der Objektdaten usw. Beispielsweise kann ein Objekterfassungssensor
130,
160 zusätzlich zu den erfassten Objektkoordinaten usw. einen Konfidenzwert generieren. Der Computer
110 kann programmiert sein, um die Konfidenzwerte zu berücksichtigen, wenn er eine Mehrheitsschwelle bestimmt. Beispielsweise kann der Computer
170 in Bezug auf Gleichung (1) programmiert sein, um eine Gewichtung w
i, z.B. einen Parameter
Pi , wie etwa eine Geschwindigkeit, Abmessungen, eine Gierrate usw., auf Grundlage eines entsprechenden Konfidenzwertes der Objektdatenquelle auf die Objektdaten anzuwenden und die Mehrheit auf Grundlage der gewichteten Objektdaten P zu bestimmen. In einem Beispiel ist eine Gewichtung w1 eine Zahl zwischen 0 (Null) und 1, die einem Konfidenzwert entspricht, der durch die entsprechende Quelle, z. B. den Sensor
130 des Fahrzeugs
100A,
100B,
100C, bereitgestellt ist. Somit kann der Computer
170 programmiert sein, um zu bestimmen, dass der Wert der Ground Truth auf Grundlage von empfangenen Werten
Pi ...
Pn von n Sensoren
130 P ist.
-
Der Computer 170 kann programmiert sein, um eine Inkonsistenz auf Grundlage der generierten Gridkarte 400A und von Objektdaten zu bestimmen, die jedem der Fahrzeuge 100A, 100B, 100C und dem stationären Sensor 160 zugeordnet sind. Der Computer 170 kann programmiert sein, um eine Vielzahl von zweiten Gridkarten 400B zu generieren, wobei jede Gridkarte 400B zumindest einen Abschnitt der Gridkarte 400A beinhaltet, der sich innerhalb der Erfassungsreichweite von einem der Fahrzeuge 100A, 100B, 100C befindet. Unter Bezugnahme auf 4B kann der Computer 170 programmiert sein, um die zweite Gridkarte 400B für das Fahrzeug 100A zu generieren. Anders ausgedrückt veranschaulicht die Gridkarte 400B eine grafische Interpretation von Inkonsistenzen und/oder einem Mangel an Inkonsistenzen (d. h. übereinstimmende Daten) in den Objektdaten des Fahrzeugs 100A im Vergleich zu der Gridkarte 400A.
-
Wie in 4B gezeigt, kann der Computer 170 programmiert sein, um z. B. auf Grundlage von Geo-Koordinatendaten von dem GPS-Sensor 130 des Fahrzeugs 100A zu bestimmen, dass das Obj7 dasselbe ist wie das Fahrzeug 100A. Der Computer 170 kann programmiert sein, um wie vorangehend erörtert zu bestimmen, dass das Objekt Obj2 durch ein Objekt Obj5 verdeckt wird. Der Computer 170 kann programmiert sein, um zu bestimmen, dass das Fahrzeug 100A die Objekte Obj1, Obj3, Obj5 korrekt erfasst. In einem Beispiel kann der Computer 170 programmiert sein, um bei Bestimmen, dass die von dem Fahrzeug 100A empfangenen Objektdaten zumindest teilweise mit den Objektdaten der Mehrheitswahl für die entsprechende Zelle (siehe Tabelle 2) übereinstimmen, zu bestimmen, dass die Objekte Obj1, Obj3, Obj5 korrekt erfasst wurden. Beispielsweise kann der Computer 170 programmiert sein, um bei Bestimmen, dass die erfassten Objektkoordinaten von dem Obj1 auf Grundlage der Mehrheitswahl und die erfassten Objektkoordinaten auf Grundlage der von dem Fahrzeug 100A empfangenen Objektdaten übereinstimmen, zu bestimmen, dass das Objekt Obj1 durch das Fahrzeug 100A korrekt erfasst wurde. In dem vorliegenden Zusammenhang bedeutet „übereinstimmen“ einen selben Gridindex x, y aufweisen oder, dass eine Entfernung zwischen den Gridzellen unter einer vorbestimmten Entfernung, z. B. 2 Metern, liegt. Des Weiteren kann „übereinstimmen“ in Bezug auf Tabelle 2 bedeuten, dass zumindest eines von Abmessungen, einer Geschwindigkeit, einer Gierrate, einer Ausrichtung usw. von dem Obj1 auf Grundlage der Objektdaten von dem Fahrzeug 100A mit der Mehrheitswahl übereinstimmt. Beispielsweise kann der Computer 170 programmiert sein, um eine Inkonsistenz zu bestimmen, wenn sich eine bestimmte Ausrichtung eines Objekts um mehr als 10 % von der Ausrichtung unterscheidet, die als die Ground Truth bestimmt wurde, obwohl der Standort des Objekts korrekt erfasst wurde.
-
In noch einem weiteren Beispiel kann der Computer 170 programmiert sein, um bei Bestimmen, dass sich jedes der Objekte Obj1, Obj3, Obj5 innerhalb einer vorbestimmten Entfernungsschwelle, z. B. innerhalb von 2 Metern, von einem durch den stationären Sensor 160 erfassten Objekt befindet, zu bestimmen, dass die Objekte Obj1, Obj3, Obj5 durch das Fahrzeug 100A korrekt erfasst wurden. Des Weiteren kann der Computer 170 programmiert sein, um bei Bestimmen, dass zumindest eines von einer Klassifizierung, Abmessungen, einer Geschwindigkeit, einer Gierrate, einer Ausrichtung usw. von dem Obj1 auf Grundlage der Objektdaten von dem Fahrzeug 100A mit den Objektdaten übereinstimmt, die durch den stationären Sensor 160 für das entsprechende Objekts Obj1 generiert wurden, zu bestimmen, dass die Objekte Obj1, Obj3, Obj5 korrekt erfasst wurden. In dem vorliegenden Zusammenhang „stimmt“ ein Wert einer Geschwindigkeit, einer Ausrichtung usw. „überein“, wenn eine Abweichung von der Ground Truth, z. B. von dem stationären Sensor 160 oder der Gridkarte 400A, einen angegebenen Schwellenwert, z. B. 10 %, nicht überschreitet. In einem Beispiel kann der Schwellenwert/können die Schwellenwerte auf Grundlage einer Wirkung einer Abweichung von einer Kollisionswahrscheinlichkeit definiert sein. Beispielsweise kann eine Abweichung von Objektabmessungen weniger wahrscheinlich zu einer Kollision führen; eine Abweichung von einer bestimmten Gierrate von der Ground Truth kann jedoch wahrscheinlicher zu einer Kollision führen. Eine Gierrate bezieht sich auf einen Spurwechsel oder ein Wendemanöver. Somit kann in einem Beispiel „übereinstimmen“ für eine Gierrate bedeuten, eine Abweichung von weniger als 5 % aufzuweisen, wohingegen „übereinstimmen“ für Abmessungen bedeuten kann, eine Abweichung von weniger als 20 % aufzuweisen.
-
Der Computer 170 kann programmiert sein, um bei Bestimmen, dass der stationäre Sensor 160 ein Objekt Obj4 erfasst hat und/oder dass das Objekt Obj6 auf Grundlage einer Mehrheitswahl wie vorangehend erörtert das entsprechende Grid belegt, das Objekt Obj4 zu identifizieren, das das Fahrzeug 100A nicht erfassen konnte. Zusätzlich oder alternativ kann der Computer 170 programmiert sein, um bei Bestimmen, dass eine Klassifizierung des Objekts Obj6 und/oder andere Objektdaten, z. B. eine Geschwindigkeit usw., auf Grundlage der von dem Fahrzeug 100A empfangen Objektdaten, nicht mit den Daten der Gridkarte 400A für die entsprechende Zelle übereinstimmt/übereinstimmen, zu bestimmen, dass der Sensor 130 des Fahrzeugs 100A das Objekt Obj4 nicht erfassen konnte.
-
Wie vorangehend erörtert, handelt es sich bei der „Inkonsistenz“ um zumindest eines von Folgenden: (i) ein Fehlschlagen eines Erfassens eines Objekts, wenn z. B. ein Erfassen des Fahrzeugs
100B durch das erste Fahrzeug
100A fehlschlägt, (ii) eine Erfassung eines Objekts, das nicht in den Objektdaten der anderen Fahrzeuge eingeschlossen ist, wenn z. B. das erste Fahrzeug
100A ein nicht vorhandenes Objekt (ein Geisterobjekt) erfasst, und/oder (iii) eine falsche Objektklassifizierung. Tabelle 3 zeigt einen Beispielsatz von Parametern, die durch den Computer
170 bestimmt werden, um zu bestimmen, ob die Objektdaten eine Inkonsistenz beinhalten, wie nachfolgend in Bezug auf Gleichung (2)-(3) erörtert.
Tabelle 3
Parameter | Beschreibung |
Ni | Gesamtanzahl an Objekten innerhalb einer Erfassungsreichweite des iten Fahrzeugs, z. B. des ersten Fahrzeugs 100A. |
Nv(i) | Gesamtanzahl an Objekten innerhalb einer Erfassungsreichweite des iten Fahrzeugs, die für das ite Fahrzeug sichtbar sind. |
Noc(i) | Gesamtanzahl an Objekten innerhalb einer Erfassungsreichweite des iten Fahrzeugs, die für das ite Fahrzeug verdeckt sind. |
Ngh (i) | Gesamtanzahl an Geisterobjekten, die durch das ite Fahrzeug erfasst wurde. |
Nc(i) | Gesamtanzahl an Objekten, die durch das ite Fahrzeug korrekt erfasst wurde. |
W | Inkonsistenzengewichtungsschwelle, z. B. 0,5. |
S | Zustand des iten Fahrzeugs, binärer Wert, der „konsistent“ oder „inkonsistent“ angibt. |
-
In einem Beispiel kann der Computer
170 programmiert sein, um eine Inkonsistenz der Objektdaten, z. B. von dem Fahrzeug
100A, auf Grundlage der Gleichung (2)-(3) und Tabelle 3 zu bestimmen. Der Computer
170 kann programmiert sein, um einen Zustand S eines i
ten Fahrzeugs auf Grundlage einer Anzahl an Objekten N
c(i) zu bestimmen, die korrekt erfasst wurde, wobei die Anzahl an Objekten N
v(i) für das Fahrzeug sichtbar ist. Der Computer
170 kann programmiert sein, um die Anzahl an Objekten, die durch das i
te Fahrzeug korrekt erfasst wurde, auf Grundlage der Anzahl von Objekten aus der Gridkarte
400A, die mit den Objektdaten übereinstimmt, die von dem i
ten Fahrzeug empfangen wurden, zu bestimmen, z. B. 3 für
Obj1,
Obj3,
Obj5.
-
Zusätzlich oder alternativ kann der Computer 170 programmiert sein, um eine Inkonsistenz (d. h., dass ein Zustand S „inkonsistent“ ist) ferner auf Grundlage einer Anzahl an nicht vorhandenen Geisterobjekten Nog zu bestimmen. In einem Beispiel kann der Computer 170 programmiert sein, um eine Anzahl an Objekten Nc(i), die durch das ite Fahrzeug korrekt erfasst wurde, durch Subtrahieren der Anzahl an Geisterobjekten Nog von der Anzahl an Objekten, die durch das ite Fahrzeug erfasst wurde, zu bestimmen, die mit der Gridkarte 400A übereinstimmt. Beispielsweise kann der Computer 170 in Bezug auf die Gridkarte 400B programmiert sein, um 3 korrekt erfasste Objekte Obj1, Obj3, Obj5 und ein Geisterobjekt Obj6 zu bestimmen. Somit kann der Computer 170 bestimmen, dass Nc(i) für das Fahrzeug 100A 2 ist.
-
Ein Betrieb eines Sensors 130, 160 kann von einer kurzfristigen Funktionsbeeinträchtigung abhängig sein, die zu einer Inkonsistenz des Betriebs des Sensors 130 führt. Der Computer 170 kann programmiert sein, um bei Bestimmen, dass ein Zustand S der Objektdaten von einem Sensor 130 für einen Zeitraum, der einen angegebenen Schwellenwert überschreitet, z. B. 2 Sekunden, inkonsistent ist. Anders ausgedrückt kann der Computer 170 programmiert sein, um eine Inkonsistenz der Objektdaten des Sensors 130 zu ignorieren, wenn eine Dauer des Empfangens von inkonsistenten Objektdaten von dem Sensor 130 unter der Zeitschwelle liegt, und um lediglich eine Handlung als Reaktion auf die Inkonsistenz durchzuführen, wenn eine Zeitdauer der Inkonsistenz eine Zeitschwelle überschreitet.
-
5 zeigt einen beispielhaften Prozess 500 zum Identifizieren eines verdächtigen Fahrzeugs 100A, 100B, 100C. Der Computer 170 kann zum Beispiel programmiert sein, um Blöcke des Prozesses 500 auszuführen. Zusätzlich oder alternativ kann ein Computer 110 des Fahrzeugs 100A, 100B, 100C programmiert sein, um die Blöcke des Prozesses 500 auszuführen.
-
Der Prozess 500 beginnt bei einem Block 510, bei dem der Computer 170 entsprechende Objektdaten von den Fahrzeugen 100A, 100B, 100C empfängt. Der Computer 110 kann programmiert sein, um die Objektdaten, z. B. wie in Tabelle 1 veranschaulicht, über ein drahtloses Kommunikationsnetzwerk zu empfangen.
-
Als Nächstes empfängt der Computer 170 bei einem Block 520 Objektdaten von dem stationären Sensor 160 z. B. über einen Kommunikationsbus oder dergleichen und/oder ein drahtgebundenes und/oder drahtloses Kommunikationsnetzwerk.
-
Als Nächstes generiert der Computer 170 bei einem Block 530 eine Gridkarte 400A eines Bereichs 180, der einen Standort des Sensors 160 beinhaltet. Die Gridkarte 400A kann einen Standort (Gridindex x, y) von Objektbezugspunkten, z.B. eines Bezugspunktes 150, einer Klassifizierung, einer Geschwindigkeit, einer Gierrate usw. des Fahrzeugs 100A, 100B, 100C (siehe Tabelle 2) beinhalten. Die Gridkarte 400A kann in 2D oder 3D sein. Der Computer 170 kann programmiert sein, um die Daten der Gridkarte 400A z. B. auf Grundlage einer Mehrheitswahltechnik wie vorangehend erörtert zu generieren.
-
Als Nächstes bestimmt der Computer 170 bei einem Entscheidungsblock 540, ob eine Inkonsistenz in den Objektdaten des Fahrzeugs 100A, 100B, 100C vorliegt. In einem Beispiel kann der Computer 170 programmiert sein, um auf Grundlage von Gleichung (2)-(3) zu bestimmen, dass Objektdaten des Fahrzeugs 100A, 100B, 100C eine Inkonsistenz aufweisen (z. B. ein Zustand S „inkonsistent“ ist). Wenn der Computer 170 eine Inkonsistenz in Objektdaten des Fahrzeugs 100A, 100B, 100C bestimmt (d. h. das Fahrzeug 100A, 100B, 100C verdächtig ist), geht der Prozess 500 zu einem Block 550 über; andernfalls endet der Prozess 500 oder kehrt alternativ zu dem Block 510 zurück, wenngleich dies in 5 nicht gezeigt ist.
-
Bei dem Block 550 führt der Computer 170 eine Handlung durch. Der Computer 170 kann programmiert sein, um eine Nachricht, die eine Kennung, Standortkoordinaten, eine Klassifizierung, eine Ausrichtung usw. des verdächtigen Fahrzeugs 100A, 100B, 100B beinhaltet, an einen Remote-Computer zu senden, z. B. an die Polizei oder andere Behörden. Zusätzlich oder alternativ kann der Computer 110 programmiert sein, um andere (nicht verdächtige) Fahrzeuge 100A, 100B, 100C) anzuweisen, ein verdächtiges Fahrzeug 100A, 100B, 100C z. B. durch Aktualisieren der Route, um eine Mindestentfernung von dem verdächtigen Fahrzeug 100A, 100B, 100C zu halten, zu vermeiden.
-
Nach dem Block 550 endet der Prozess 500 oder kehrt alternativ zu dem Block 510 zurück, wenngleich dies in 5 nicht gezeigt ist.
-
6 zeigt einen beispielhaften Prozess 600 zum Betreiben eines Fahrzeugs 100A, 100B, 100C. Ein Computer 110 des Fahrzeugs 100A, 100B, 100C kann programmiert sein, um die Blöcke des Prozesses 600 auszuführen.
-
Unter Bezugnahme auf 6A beginnt der Prozess 600 bei einem Block 610, bei dem der Computer 110 Daten von einem Objekterfassungssensor/Objekterfassungssensoren 130 empfängt. Der Computer 110 kann programmiert sein, um Daten von einem oder mehreren LIDAR-Sensoren 130, einem Radarsensor 130, einem Kamerasensor 130, einem GPS-Sensor 130 usw. zu empfangen und um Objektdaten zu generieren, wie im Beispiel in Tabelle 1 gezeigt. Die Objektdaten können außerdem die Ego-Objektdaten des Fahrzeugs 100A, 100B, 100C auf Grundlage einer bekannten Geo-Koordinate, Geschwindigkeit, Gierrate usw. beinhalten.
-
Als Nächstes überträgt der Computer 110 bei Block 620 die generieren Objektdaten. Beispielsweise kann der Computer 110 programmiert sein, um die generierten Objektdaten über ein drahtloses Kommunikationsnetzwerk zu übertragen.
-
Als Nächstes bestimmt der Computer 110 bei einem Entscheidungsblock 630, ob Objektdaten von anderen Fahrzeugen 100A, 100B, 100C empfangen wurden. Der Computer 110 kann programmiert sein, um Objektdaten über ein drahtloses Kommunikationsnetzwerk zu empfangen. Wenn der Computer 110 Objektdaten von anderen Fahrezugen 100A, 100B, 100C empfängt, geht der Prozess 600 zu einem Block 640 über; andernfalls geht der Prozess 600 zu einem Entscheidungsblock 650 über.
-
Bei dem Block 640 speichert der Computer 110 die empfangenen Objektdaten der anderen Fahrzeuge 100A, 100B, 100C. Wie nachfolgend erörtert, kann der Computer 110 das Fahrzeug 100A, 100B, 100C teilweise auf Grundlage der Objektdaten der anderen Fahrzeuge 100A, 100B, 100C navigieren.
-
Bei dem Entscheidungsblock 650 bestimmt der Computer 110, ob er darüber benachrichtigt wird, dass er ein verdächtiges Fahrzeug 100A, 100B, 100C ist. Beispielsweise kann der Computer 110 programmiert sein, um eine Benachrichtigung eines verdächtigen Fahrzeugs 100A, 100B, 100C zu empfangen. Wenn der Computer 110 darüber benachrichtigt wird, dass das Ego-Fahrzeug 100A, 100B, 100C verdächtig ist, geht der Prozess 600 zu einem Block 660 über; andernfalls geht der Prozess 600 zu einem Entscheidungsblock 670 über (siehe 6B).
-
Bei dem Block 660 deaktiviert der Computer 110 einen oder mehrere Aktoren 120 des Fahrzeugs 100A, 100B, 100C. Beispielsweise kann der Computer 110 programmiert sein, um auf Grundlage der empfangenen Benachrichtigung einen Antriebsstrangaktor 120 zu deaktivieren. Zusätzlich oder alternativ kann der Computer 110 programmiert sein, um einen Bremsaktor 120 zu aktivieren, um das Fahrzeug 100A, 100B, 100C anzuhalten und/oder eine Straße zu verlassen, z. B. durch Anhalten an einer Schulter der Straße. Nach dem Block 660 endet der Prozess 600 oder kehrt alternativ zu dem Block 610 zurück, wenngleich dies in 6A nicht gezeigt ist.
-
Nun unter Bezugnahme auf 6B bestimmt der Computer 110 bei dem Entscheidungsblock 670, ob er über andere verdächtige Fahrzeuge 100A, 100B, 100C benachrichtigt wurde. Der Computer 110 kann programmiert sein, um Daten zu empfangen, die erfasste Objektkoordinaten, eine Klassifikation, eine Geschwindigkeit usw. des verdächtigen Fahrzeugs 100A, 100B, 100C beinhalten. Des Weiteren kann der Computer 110 programmiert sein, um Anweisungen über eine erwartete Reaktion (z. B. neue Route, Verlassen der Straße usw.) auf das verdächtige Fahrzeug 100A, 100B, 100C zu empfangen. Wenn der Computer 110 eine Benachrichtigung über ein anderes verdächtigtes Fahrzeug 100A, 100B, 100C empfängt, geht der Prozess 600 zu einem Block 680 über; andernfalls geht der Prozess 600 zu einem Block 690 über.
-
Bei dem Block 680 betreibt der Computer 110 das Fahrzeug 100A, 100B, 100C auf Grundlage der empfangenen Benachrichtigung. In einem Beispiel kann der Computer 110 programmiert sein, um eine Route des Fahrzeugs 100A, 100B, 100C auf Grundlage der empfangenen erfassten Objektkoordinaten, Geschwindigkeit, Ausrichtung usw. des verdächtigen Fahrzeugs 100A, 100B, 100C zu aktualisieren. Zusätzlich oder alternativ kann der Computer 110 programmiert sein, um das Fahrzeug 100A, 100B, 100C auf Grundlage von empfangenen Anweisungen zu betreiben, z. B. Anweisungen zum Anhalten, zum Verlassen der Straße, zum Navigieren auf Grundlage einer empfangenen Route. Nach dem Block 680 endet der Prozess 600 oder kehrt alternativ zu dem Block 610 zurück, wenngleich dies in 6B nicht gezeigt ist.
-
Bei dem Block 690 betreibt der Computer 110 das Fahrzeug 100A, 100B, 100C auf Grundlage von Daten, die er von seinen eigenen Objekterfassungssensoren 130 empfangen hat, der gespeicherten Objektdaten (die von den anderen Fahrzeugen 100A, 100B, 100C empfangen wurden) und des Ziels des Fahrzeugs 100A, 100B, 100C, das z. B. über die HMI 140 eingegeben wurde. Der Computer 110 kann programmiert sein, um die Ego-Objektdaten und die gespeicherten Objektdaten unter Verwendung von Sensorfusionstechniken, z. B. Kalman-Filter, Bayes'sche Netze, zu verschmelzen und das Fahrzeug 100A, 100B, 100C auf Grundlage der Ergebnisse der Sensorfusion und von Fahrzeugroutendaten zu betreiben. Nach dem Block 690 endet der Prozess 600 oder kehrt alternativ zu dem Block 610 zurück, wenngleich dies in 6B nicht gezeigt ist.
-
Rechenvorrichtungen, wie sie in dieser Schrift erörtert sind, beinhalten im Allgemeinen jeweils Anweisungen, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorangehend identifizierten, und zum Ausführen von Blöcken oder Schritten vorangehend beschriebener Prozesse ausführbar sind. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt worden sind, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, zu denen einer oder mehrere der hierin beschriebenen Prozesse gehören. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielzahl von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in der 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 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, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Zu nichtflüchtigen Medien gehören beispielsweise optische Platten oder Magnetplatten und andere dauerhafte Speicher. Zu flüchtigen Medien gehört ein dynamischer Direktzugriffsspeicher (dynamic random access memory - DRAM), der üblicherweise einen Hauptspeicher darstellt. Zu gängigen Formen computerlesbarer Medien gehören 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, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein beliebiger anderer Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
-
Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass die Schritte 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 hierin beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt sind die Beschreibungen von Systemen und/oder Prozessen in der vorliegenden Schrift zum Zwecke 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, einschließlich der vorangehenden Beschreibung und der beigefügten Figuren und nachfolgenden Patentansprüche, veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorangehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorangehende Beschreibung, sondern stattdessen unter Bezugnahme auf die Patentansprüche, die dieser beigefügt und/oder in einer nicht vorläufigen Patentanmeldung auf Grundlage von dieser eingeschlossen sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu denen derartige Patentansprüche berechtigt sind, bestimmt werden. Es wird erwartet und ist beabsichtigt, dass es hinsichtlich der hierin erörterten Fachgebiete künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass der offenbarte Erfindungsgegenstand modifiziert und variiert werden kann.