-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren und im Besonderen F ahrzeugspurkartierung.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können mit Rechenvorrichtungen, Netzen, Sensoren und Steuerungen ausgestattet sein, um Daten hinsichtlich der Umgebung des Fahrzeugs zu erfassen und das Fahrzeug auf Grundlage der Daten zu betreiben. Fahrzeugsensoren können Daten im Hinblick auf Merkmale von zurückzulegenden Routen und zu umfahrenden Objekten in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann auf das Erfassen genauer und aktueller Daten hinsichtlich Objekten in der Umgebung eines Fahrzeugs angewiesen sein, während das Fahrzeug auf einer Fahrbahn betrieben wird.
-
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 wir einen Betriebsmodus, in dem ein Fahrzeug teilweise oder gänzlich durch eine Rechenvorrichtung als Teil eines Systems, das Sensoren und Steuerungen aufweist, gesteuert werden kann. 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 der bzw. steuern 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 hinsichtlich 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 betrieben werden, indem Befehle bestimmt werden, um die Antriebsstrang-, Brems- und Lenkkomponenten des Fahrzeugs anzuleiten, das Fahrzeug so zu betreiben, dass es entlang des Wegs 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.
-
In dieser Schrift ist ein Verfahren offenbart, das Erzeugen einer ersten Karte eines Freiraums auf einer Fahrbahn auf Grundlage von Fahrzeugsensordaten, in dem ein erstes Fahrzeug betrieben werden kann, ohne Fahrbahnkanten und nichtstationäre Objekte auf der Fahrbahn zu berühren, beinhaltet, wobei die erste Karte Fahrbahnspurmarkierungen in einer Umgebung um das erste Fahrzeug beinhaltet, wobei die nichtstationären Objekte ein oder mehrere zweite Fahrzeuge beinhalten. Eine zweite Karte von Freiraum in der Umgebung um das erste Fahrzeug kann durch Bestimmen von B-Splines, die ersten Fahrbahnspuren entsprechen, auf Grundlage der Fahrbahnspurmarkierungen und der Fahrbahnkanten, die in der ersten Karte enthalten sind, bestimmt werden, zweite Fahrbahnspuren können auf Grundlage des Bestimmens von Standorten der nichtstationären Objekte bestimmt werden, kombinierte Fahrbahnspuren können auf Grundlage der ersten Fahrbahnspuren und der zweiten Fahrbahnspuren bestimmt werden und das erste Fahrzeug kann auf Grundlage der kombinierten Fahrbahnspuren betrieben werden. Die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren können auf Grundlage eines Standorts des ersten Fahrzeugs als eine oder mehrere von einer linken Spur, einer rechten Spur, einer Host-Spur und einer nicht relevanten Spur klassifiziert werden. Die Fahrzeugsensordaten können eines oder mehrere von Videodaten, Lidardaten und Radardaten beinhalten.
-
Die B-Splines können auf Grundlage von Knoten und kontrollierten Punkten bestimmt werden, wobei die Knoten Punkte auf den B-Splines sind und die kontrollierten Punkte eine Form der B-Splines zwischen den Knoten auf Grundlage von Polynomfunktionen dritten Grades bestimmen. Objektverfolgungen können auf Grundlage des Bestimmens einer Vielzahl von Standorten der nichtstationären Objekte in Daten bestimmt werden, die durch Fahrzeugsensoren in aufeinanderfolgenden Zeitschritten erfasst werden. Die Vielzahl von Standorten kann unter Verwendung von B-Splines kombiniert werden. Die B-Splines, die den zweiten Fahrbahnspuren entsprechen, können auf den Objektverfolgungen beruhen. Die kombinierten Fahrbahnspuren können auf Grundlage des Kombinierens der B-Splines, die den ersten Fahrbahnspuren entsprechen, mit den B-Splines, die den zweiten Fahrbahnspuren entsprechen, bestimmt werden. Die B-Splines, die den zweiten Fahrbahnspuren entsprechen, können in die kombinierten Fahrbahnspuren eingeschlossen werden, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren nicht übereinstimmen. Die B-Splines, die den ersten Fahrbahnspuren entsprechen, können in die kombinierten Fahrbahnspuren eingeschlossen werden, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren übereinstimmen. Das erste Fahrzeug kann auf Grundlage des Bestimmens eines Polynoms eines lenkbaren Wegs auf Grundlage der kombinierten Fahrbahnspuren betrieben werden. Das Polynom des lenkbaren Wegs kann auf B-Splines beruhen. Bestimmen des Polynoms des lenkbaren Wegs kann Bestimmen von B-Splines an einem lateralen Mittelpunkt zwischen den B-Splines, die in den kombinierten Fahrbahnspuren enthalten sind, beinhalten. Das erste Fahrzeug kann durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs auf dem Polynom des lenkbaren Wegs betrieben werden.
-
Ferner ist ein computerlesbares Medium offenbart, das Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte speichert. Ferner ist ein Computer offenbart, der zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte programmiert ist und eine Computereinrichtung beinhaltet, die programmiert ist zum Erzeugen einer ersten Karte eines Freiraums auf einer Fahrbahn auf Grundlage von Fahrzeugsensordaten, in dem ein erstes Fahrzeug betrieben werden kann, ohne Fahrbahnkanten und nichtstationäre Objekte auf der Fahrbahn zu berühren, wobei die erste Karte Fahrbahnspurmarkierungen in einer Umgebung um das erste Fahrzeug beinhaltet, wobei die nichtstationären Objekte ein oder mehrere zweite Fahrzeuge beinhalten. Eine zweite Karte von Freiraum in der Umgebung um das erste Fahrzeug kann durch Bestimmen von B-Splines, die ersten Fahrbahnspuren entsprechen, auf Grundlage der Fahrbahnspurmarkierungen und der Fahrbahnkanten, die in der ersten Karte enthalten sind, bestimmt werden, zweite Fahrbahnspuren können auf Grundlage des Bestimmens von Standorten der nichtstationären Objekte bestimmt werden, kombinierte Fahrbahnspuren können auf Grundlage der ersten Fahrbahnspuren und der zweiten Fahrbahnspuren bestimmt werden und das erste Fahrzeug kann auf Grundlage der kombinierten Fahrbahnspuren betrieben werden. Die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren können auf Grundlage eines Standorts des ersten Fahrzeugs als eine oder mehrere von einer linken Spur, einer rechten Spur, einer Host-Spur und einer nicht relevanten Spur klassifiziert werden. Die Fahrzeugsensordaten können eines oder mehrere von Videodaten, Lidardaten und Radardaten beinhalten.
-
Der Computer kann ferner programmiert sein zum Bestimmen von B-Splines auf Grundlage von Knoten und kontrollierten Punkten, wobei die Knoten Punkte auf den B-Splines sind und die kontrollierten Punkte eine Form der B-Splines zwischen den Knoten auf Grundlage von Polynomfunktionen dritten Grades bestimmen. Objektverfolgungen können auf Grundlage des Bestimmens einer Vielzahl von Standorten der nichtstationären Objekte in Daten bestimmt werden, die durch Fahrzeugsensoren in aufeinanderfolgenden Zeitschritten erfasst werden. Die Vielzahl von Standorten kann unter Verwendung von B-Splines kombiniert werden. Die B-Splines, die den zweiten Fahrbahnspuren entsprechen, können auf den Objektverfolgungen beruhen. Die kombinierten Fahrbahnspuren können auf Grundlage des Kombinierens der B-Splines, die den ersten Fahrbahnspuren entsprechen, mit den B-Splines, die den zweiten Fahrbahnspuren entsprechen, bestimmt werden. Die B-Splines, die den zweiten Fahrbahnspuren entsprechen, können in die kombinierten Fahrbahnspuren eingeschlossen werden, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren nicht übereinstimmen. Die B-Splines, die den ersten Fahrbahnspuren entsprechen, können in die kombinierten Fahrbahnspuren eingeschlossen werden, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren übereinstimmen. Das erste Fahrzeug kann auf Grundlage des Bestimmens eines Polynoms eines lenkbaren Wegs auf Grundlage der kombinierten Fahrbahnspuren betrieben werden. Das Polynom des lenkbaren Wegs kann auf B-Splines beruhen. Bestimmen des Polynoms des lenkbaren Wegs kann Bestimmen von B-Splines an einem lateralen Mittelpunkt zwischen den B-Splines, die in den kombinierten Fahrbahnspuren enthalten sind, beinhalten. Das erste Fahrzeug kann durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs auf dem Polynom des lenkbaren Wegs betrieben werden.
-
Figurenliste
-
- 1 ist eine Darstellung eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist eine Darstellung eines beispielhaften Fahrzeugs, das Fahrzeugsensoren beinhaltet.
- 3 ist eine Darstellung eines beispielhaften B-Splines.
- 4 ist eine Darstellung eines anderen beispielhaften B-Splines.
- 5 ist eine Darstellung von beispielhaften Fahrzeugsensordaten.
- 6 ist eine Darstellung einer beispielhaften Karte von Freiraum einer Fahrbahn.
- 7 ist eine Darstellung von beispielhaften Fahrbahnspurmarkierungen.
- 8 ist eine Darstellung von beispielhaften Fahrbahnspuren.
- 9 ist eine Darstellung einer beispielhaften Verkehrsszene, die Fahrzeuge auf einer Fahrbahn beinhaltet.
- 10 ist eine Darstellung von beispielhaften Fahrbahnspuren auf Grundlage von Fahrzeugverfolgungen.
- 11 ist eine Darstellung einer beispielhaften Verkehrsszene, die Fahrzeuge auf einer Fahrbahn beinhaltet.
- 12 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs unter Verwendung von Fahrbahnspuren.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine Darstellung 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 Daten hinsichtlich des Betriebs des Fahrzeugs 110 von Sensoren 116 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. Ferner beinhaltet der Speicher eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich der in dieser Schrift offenbarten. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimasteuerung, 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 enthalten sind, z. B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie nachstehend ausführlicher beschrieben, kommunikativ daran gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetz angeordnet, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netz des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen beinhalten, wie sie bekannt sind, z. B. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetz kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Steuerungen, Aktoren, Sensoren usw. einschließlich der Sensoren 116. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetz zur Kommunikation 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 Netz 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, über ein Netz 130, wie etwa drahtloses Internet (WI-FI®) oder Mobilfunknetze, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-zu-Infrastruktur-Schnittstelle (vehicle-to-infrastructure interface - V-to-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, zu kommunizieren. Die V-to-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netztechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetze. Die Rechenvorrichtung 115 kann dazu konfiguriert sein, mit anderen Fahrzeugen 110 durch die V-to-I-Schnittstelle 111 unter Verwendung von Fahrzeug-zu-Fahrzeug-Netzen (V-to-V networks - V-to-V-Netzen) zu kommunizieren, z.B. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen, die z. B. auf einer Ad-hoc-Grundlage unter nahegelegenen Fahrzeugen 110 oder durch infrastrukturbasierte Netze gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Daten protokollieren, indem sie die Daten zum späteren Abruf und zur späteren Übertragung über das Fahrzeugkommunikationsnetz und eine Fahrzeug-zu-Infrastruktur-(V-to-I-)Schnittstelle 111 an einen Servercomputer 120 oder eine Benutzermobilvorrichtung 160 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 Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z.B. Bremsung, 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. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa Geschwindigkeit, Beschleunigung, Verzögerung, Lenkung usw., sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die typischerweise ein sicheres und effizientes Abfahren einer Route erreichen soll), wie etwa eines Abstands zwischen Fahrzeugen und/oder eines Zeitraums zwischen Fahrzeugen, Spurwechseln, der Mindestlücke zwischen Fahrzeugen, der Mindestzeit zur Wegquerung bei Linksabbiegung, der Zeit bis zur Ankunft an einem bestimmten Standort und der Mindestzeit bis zur Ankunft an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung, beinhalten.
-
Im in dieser Schrift verwendeten Sinne beinhaltet der Ausdruck Steuerungen Rechenvorrichtungen, die typischerweise 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 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 etwa 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, von denen bekannt ist, dass sie Daten über den Fahrzeugkommunikationsbus bereitstellen. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, einen Abstand 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. Der bzw. die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Abstand bzw. Abstände und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 zum Beispiel dazu verwendet werden, das Fahrzeug 110 autonom oder teilautonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das zum autonomen und/oder halbautonomen Betrieb fähig ist und drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die V-to-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten sammeln, die sich auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, beziehen. Als Beispiel und ohne Einschränkung können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hall-Sensoren, 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, Außenumgebungstemperatur usw.), die Neigung einer Straße, die Lage einer Straße (z. B. unter Verwendung von Straßenkanten, Spurmarkierungen usw.) oder Standorte von Zielobjekten wie etwa benachbarten Fahrzeugen 110 detektieren. 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, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewendeten Leistungspegel, Konnektivität zwischen Komponenten und eine genaue und rechtzeitige Leistung von Komponenten des Fahrzeugs 110, zu erfassen.
-
2 ist eine Darstellung eines beispielhaften Fahrzeugs 110, die Sensoren 116, darunter einen vorderen Radarsensor 202, einen linken vorderen Radarsensor 204, einen rechten vorderen Radarsensor 206, einen linken hinteren Radarsensor 208, einen rechten hinteren Radarsensor 210 (zusammen Radarsensoren 230), einen Lidarsensor 212 und einen Videosensor 214, und ihre jeweiligen Sichtfelder 216, 218, 220, 222, 224 (gepunktete Linien) und 226, 228 (gestrichelte Linien) beinhaltet. Ein Sichtfeld 216, 218, 220, 222, 224, 226, 228 ist eine 2D-Ansicht eines 3D-Raumvolumens, innerhalb dessen ein Sensor 116 Daten erfassen kann. Radarsensoren 230 arbeiten durch Übertragen von Impulsen auf Mikrowellenfrequenzen und Messen der Mikrowellenenergie, die durch Flächen in der Umgebung reflektiert wird, um Bereich und Dopplerbewegung zu bestimmen. Die Rechenvorrichtung 115 kann dazu programmiert sein, stationäre Objekte und nichtstationäre Objekte in Daten der Radarsensoren 230 zu bestimmen. Stationäre Objekte beinhalten Fahrbahnen, Bordsteine, Säulen, Pfeiler, Barrieren, Verkehrszeichen usw. und nichtstationäre Objekte beinhalten andere Fahrzeuge und Fußgänger usw. Die Detektion von Objekten in einem Sichtfeld 216, 218, 220, 222, 224 wird nachstehend in Bezug auf 6 und 7 erörtert. Das Verarbeiten detektierter stationärer Objekte und nichtstationärer Objekte, um eine Karte von Freiraum mit B-Splines zu bestimmen, wird nachstehend in Bezug auf 8-13 erörtert. Ein Lidarsensor 212 emittiert Impulse von Infrarotlicht (IR-Licht) und misst die reflektierte IR-Energie, die durch Flächen in der Umgebung in einem Sichtfeld 226 reflektiert wird, um einen Bereich zu bestimmen. Die Rechenvorrichtung 115 kann dazu programmiert sein, stationäre und nichtstationäre Objekte in Lidarsensordaten zu bestimmen. Ein Videosensor 214 kann Videodaten von Umgebungslicht erfassen, das durch die Umgebung des Fahrzeugs innerhalb eines Sichtfelds 228 reflektiert wird. Ein Videosensor 214 kann einen Prozessor und Speicher beinhalten, die dazu programmiert sind, stationäre und nichtstationäre Objekte in dem Sichtfeld zu detektieren.
-
3 ist eine Darstellung eines beispielhaften B-Splines
300. Ein B-Spline
300 ist eine Polynomfunktion, die eine Kurve
302 approximieren kann. Ein B-Spline
300 ist ein Satz von verbundenen Polynomfunktionen, die eine Kurve
302 approximieren, die durch eine beliebige Funktion definiert ist, indem zum Beispiel eine Abstandsmetrik, zum Beispiel euklidischer Abstand im 2D-Raum, zwischen Knoten des B-Splines
300, die durch mit τ
1 ... τ
10 markierte X dargestellt sind, die sich auf den Polynomfunktionen befinden und an kontrollierten Punkten
verbunden sind, und einem Punkt auf der Kurve
302 minimiert wird. Ein B-Spline kann mehrdimensional sein, mit begleitenden Erhöhungen der Rechenanforderungen. Ein Knoten kann ein mehrdimensionaler Fahrzeugzustandsvektor sein, der Standort, Pose und Beschleunigungen beinhaltet, und die Abstandsmetrik kann durch Lösen von Sätzen von linearen Gleichungen auf Grundlage der Fahrzeugzustandsvektoren bestimmt werden. Ein B-Spline ist durch kontrollierte Punkte definiert, wobei die kontrollierten Punkte
auf Grundlage davon lokalisiert werden, dass sie eine vorbestimmte Anzahl an Knoten (X), zum Beispiel 2 oder 3, zwischen jedem Paar von kontrollierten Punkten
aufweisen, die durch eine Polynomfunktion verbunden sind.
-
Die Auswahl von kontrollierten Punkten
beruht auf dem Unterteilen der Knoten eines B-Splines
300 in Polynomsegmente mit etwa der gleichen Anzahl an Knoten pro Segment, zum Beispiel zwei oder drei Knoten. Der erste kontrollierte Punkt
ist derart ausgewählt, dass er im Ursprung der Kurve
302 liegt. Der zweite kontrollierte Punkt
ist derart ausgewählt, dass er zwei oder drei Knoten in eine Richtung, die den Abstand zwischen den Knoten und der Kurve
302 minimiert, entfernt ist. Der nächste kontrollierte Punkt
ist derart ausgewählt, dass er zwei oder drei Knoten von dem zweiten kontrollierten Punkt
in eine Richtung, die den Abstand zwischen der Kurve
302 und den Knoten minimiert, entfernt ist, und so weiter, bis der letzte kontrollierte Punkt
derart ausgewählt ist, dass er mit dem Ende der Kurve
302 übereinstimmt. Die Auswahl der Anzahl und Lage von Knoten an Polynomfunktionen kann zum Beispiel auf einer vom Benutzer eingegebenen Anzahl an Abtastungen pro Sekunde und der Geschwindigkeit des Fahrzeugs
110 beruhen, wobei eine Fahrzeuggeschwindigkeit dividiert durch die Abtastrate den Abstand zwischen benachbarten Knoten an der Polynomfunktion ergibt. In dem beispielhaften B-Spline
300 handelt es sich um Polynomfunktionen ersten Grades (gerade Linien). Polynomfunktionen höherer Ordnung können auch zweiten Grades (parabolisch), dritten Grades (kubisch) oder mehr sein.
-
Die Bewegung eines beliebigen kontrollierten Punkts
wirkt sich auf den B-Spline aus und die Wirkung kann für den gesamten B-Spline (globale Wirkung) oder in einem bestimmten Teil des B-Splines (lokale Wirkung) gelten. Ein Vorteil des Verwendens eines B-Splines ist seine lokale Kontrollierbarkeit. Jedes Segment der Kurve zwischen den kontrollierten Punkten
ist durch die Knoten in kleinere Segmente unterteilt. Die Gesamtanzahl an Knoten ist immer größer als die Gesamtanzahl an kontrollierten Punkten
Das Hinzufügen oder Entfernen von Knoten unter Verwendung einer angemessenen Bewegung von kontrollierten Punkten kann die Kurve
302 genauer replizieren, was zum Umsetzen von Filteralgorithmen unter Verwendung von Splines geeignet ist. Zudem neigt ein B-Spline
300 höherer Ordnung (3 oder mehr) dazu, gleichmäßig zu sein, und er erhält die Kontinuität der Kurve aufrecht, wobei die Ordnung eines B-Splines
300 die Ordnung der Polynomfunktion ist, z. B. linear, parabolisch oder kubisch oder zum Beispiel 1., 2. oder 3. Ordnung.
-
4 ist eine Darstellung eines B-Splines
400 (doppelte Linie). Ein B-Spline
400 kann eine Kurve
402 genauer approximieren als der B-Spline
300, indem mehr kontrollierte Punkte
und Knoten hinzugefügt werden, was an den B-Spline-Segmenten zwischen kontrollierten Punkten
mit „X“ markiert ist. Mit zunehmender Anzahl an Knoten konvergiert der B-Spline
400 zu der Kurve
402. Eine B-Spline-Kurve C(x) p-ter Ordnung einer Variablen x (z. B. Mehrzielzustand) ist folgendermaßen definiert:
wobei ℙ
i der i-te kontrollierte Punkt ist und n
s die Gesamtanzahl an kontrollierten Punkten ist.
-
Die B-Spline-Mischfunktionen oder -Basisfunktionen sind mit B
i,p,t(x) bezeichnet. Mischfunktionen sind Polynome des Grades p - 1. Die Ordnung p kann aus 2 bis n
s gewählt werden und die Kontinuität der Kurve kann beibehalten werden, indem p ≥ 3 ausgewählt wird. Der mit t bezeichnete Knoten ist ein Vektor
1 × τ und t ist eine nicht abnehmende Folge von reellen Zahlen, wobei t = {t
1, ... , t
τ}, d. h. t
i ≤ t
i+1, i = 1, ... , τ. Der Knotenvektor setzt den Parameter x mit den kontrollierten Punkten in Beziehung. Die Form einer beliebigen Kurve kann durch Anpassen der Lagen der kontrollierten Punkte gesteuert werden. Die i-te Basisfunktion kann folgendermaßen definiert werden:
wobei t
i ≤ x ≤ t
i+p und
wobei die Variablen t
i in (2) einen Knotenvektor bezeichnen. Die Basisfunktion B
i,p,t (x) ist in dem Intervall [t
i, t
i+p] nicht null. Die Basisfunktion B
i,p kann die Form
aufweisen und
annehmen. Für einen beliebigen Wert des Parameters x beträgt die Summe der Basisfunktionen eins, d. h.
-
Eindimensionale Splines können durch die Verwendung einer Tensorprodukt-Spline-Konstruktion zu mehrdimensionalen erweitert werden.
-
Für eine gegebene Basisfolge von B-Splines
und eine stetig zunehmende Folge von Datenreihen
kann die B-Spline-Interpolationsfunktion ĉ(x) folgendermaßen ausgedrückt werden:
wobei ĉ(x) mit der Funktion c(x) bei allen x
j dann und nur dann kongruiert, falls
-
Gleichung (6) ist ein lineares System von n
s Gleichungen mit n
s unbekannten Werten von ℙ
i und die i-te Zeile und die j-te Spalte der Koeffizientenmatrix ist gleich B
i,p,t(x
j), was bedeutet, dass die Spline-Interpolationsfunktion gefunden werden kann, indem ein Satz von linearen Systemgleichungen gelöst wird. Die Koeffizientenmatrix kann unter Verwendung des Satzes von Schoenberg und Whitney hinsichtlich der Umkehrbarkeit geprüft werden. Der Satz von Schoenberg und Whitney kann folgendermaßen beschrieben werden: t sei ein Knotenvektor, p und n seien ganze Zahlen, sodass n > p > 0, und es werde angenommen, dass x mit n + 1 Elementen stetig zunimmt. Die Matrix
aus (6) ist dann und nur dann umkehrbar, falls
i = 0, ..., n,, d. h. dann und nur dann, falls t
i < x
i < t
i+p+1 für alle i gilt.
-
Die B-Spline-Transformation kann auf einzelne und mehrdimensionale statistische Funktionen angewendet werden, z. B. eine Wahrscheinlichkeitsdichtefunktion und eine Wahrscheinlichkeitshypothesendichtefunktion, ohne jegliche Annahme zur Berücksichtigung von Rauschen. Die B-Spline-Transformation kann unter Verwendung der Technik der Spline-Approximationskurve (spline approximation curve - SAC) oder der Spline-Interpolationskurve (spline interpolation curve - SIC) abgeleitet werden. Der Unterschied zwischen diesen zwei Spline-Transformationen besteht darin, dass die SAC nicht notwendigerweise durch alle kontrollierte Punkte verlaufen muss, aber durch den ersten und den letzten verlaufen muss. Im Gegensatz dazu muss die SIC durch alle kontrollierten Punkte verlaufen. Die in dieser Schrift erörterte beispielhafte B-Spline-Transformation verwendet die SIC-Umsetzung. B-Splinebasierte Zielverfolgung kann einen kontinuierlichen Zustandsraum handhaben, stellt keine besondere Annahme zu Signalrauschen an und ist dazu in der Lage, die willkürlichen Wahrscheinlichkeitsdichte- oder Wahrscheinlichkeitshypothesendichteflächen genau zu approximieren. In den meisten Verfolgungsalgorithmen werden während der Aktualisierungsstufe die Zustände aktualisiert, doch bei B-Spline-basierter Zielverfolgung werden nur die Knoten aktualisiert.
-
5 ist eine Darstellung einer Verkehrsszene 500, die Fahrzeugsensordatenpunkte 512 (Kreise) beinhaltet, die durch Sensoren erfasst werden, die in einem Fahrzeug 110 enthalten sind, während es auf einer Fahrbahn fährt. Die Fahrtrichtung für das Fahrzeug 110 ist durch den Pfeil bezeichnet, der an dem Symbol angebracht ist, das dem Fahrzeug 110 entspricht. Fahrzeugsensordatenpunkte 512 entsprechen einem oder mehreren von Lidarsensorbereichsdaten oder Radarsensorreflexionen. Fahrzeugsensordatenpunkte 512 sind Lidar- oder Radardatenpunkte, die durch Objekte zurückgegeben werden, die sich außerhalb einer Region der Fahrbahn 514 in der Verkehrsszene 500 befinden. Die Fahrbahn 513 entspricht einer Region, die keine Lidar- oder Radarreflexionsdaten zurückgibt, da die Fahrbahn keine Flächen beinhaltet, die im Wesentlichen senkrecht zu Lidarstrahlen (Infrarotstrahlen) oder Radarstrahlen (Mikrowellenstrahlen) elektromagnetischer Energie sind, die die elektromagnetische Energie zurück zu Empfängern an dem Fahrzeug 110 reflektieren, damit sie als Datenpunkte 512 erfasst werden. Die Verkehrsszene 500 beinhaltet zudem Datenpunkte, die durch eine in dem Fahrzeug 110 enthaltene Rechenvorrichtung 115 als Fahrzeuge 504, 506, 508, 510 (Dreiecke) identifiziert werden. Die Fahrzeuge 504, 506, 508, 510 können zum Beispiel durch die Stärke der Rückgabe für Radardaten und durch die Form der zurückgegebenen Daten für Lidardaten identifiziert werden.
-
Fahrzeugsensordatenpunkte 512 können verwendet werden, um eine Karte von Freiraum zu bestimmen, die einer Fahrbahn entspricht, indem Linien von dem Fahrzeug 110 radial nach außen verlängert werden, bis sie auf einen Fahrzeugdatenpunkt 512 treffen. Die Fahrzeugdatenpunkte 512 können gefiltert werden, um alle Fahrzeugdatenpunkte 512 mit Ausnahme des ersten Fahrzeugdatenpunkts 512 zu entfernen, der eine radiale Linie berührt, die sich von dem Fahrzeug 110 erstreckt. Der Teilsatz von Fahrzeugdatenpunkten 512, der das Kriterium erfüllt, dass er der erste Punkt ist, der entlang einer radialen Linie von dem Fahrzeug 110 berührt wird, kann durch B-Splines verbunden werden, wie vorstehend in Bezug auf 3 und 4 beschrieben. B-Splines, die durch Verbinden des Teilsatzes von Fahrzeugdatenpunkten 512 gebildet werden, die der ersten Berührung mit radialen Linien von einem Fahrzeug 110 entsprechen, können die Kanten einer Fahrbahn bilden.
-
6 ist eine Darstellung einer Verkehrsszene 600, die eine Karte des Freiraums 616 der Fahrbahn (schraffiert) beinhaltet. Der Freiraum 616 der Fahrbahn ist durch B-Splines 612, 614 definiert, die durch Verbinden von Teilsätzen von Fahrzeugdatenpunkten 512 gebildet werden, die durch Berührung mit radialen Linien gebildet sind, die sich von dem Fahrzeug 110 erstrecken, wie vorstehend in Bezug auf die vorstehende 5 erörtert. Die Karte des Freiraums 616 der Fahrbahn beinhaltet Symbole, die Fahrzeugen 604, 606, 608, 610 entsprechen, die in Fahrzeugsensordaten identifiziert werden. Die Fahrzeuge 604, 606, 608, 610 entsprechen nichtstationären Objekten, die in der Karte des Freiraums 616 der Fahrbahn identifiziert sind.
-
Nichtstationäre Objekte können durch Doppler-Radarrückgaben identifiziert werden, wobei die Geschwindigkeit eines nichtstationären Objekts in Bezug auf eine Fahrbahn bestimmt werden kann, indem die Doppler-Verschiebung einer Radarrückgabe von einem Objekt gemessen und mit der Doppler-Verschiebung von Hintergrundobjekten, die der Geschwindigkeit des Fahrzeugs 110 entsprechen, verglichen wird. Nichtstationäre Objekte können zudem durch Verarbeiten einer Folge von Lidardatenpunkten in ähnlichen radialen Richtungen von dem Fahrzeug 110 bestimmt werden, die in aufeinanderfolgenden Zeitschritten erfasst werden. Die Änderung der Lage der Lidardatenpunkte in Bezug auf Zeitschritte bestimmt die Geschwindigkeit der Datenpunkte in Bezug auf ein Fahrzeug 110, wobei bestimmt wird, dass Hintergrunddatenpunkte eine Geschwindigkeit aufweisen, die zum Beispiel proportional zum Kosinus des radialen Winkels in Bezug auf die Bewegungsrichtung des Fahrzeugs 110 mal der Geschwindigkeit des Fahrzeugs 110 ist. Es kann bestimmt werden, dass Lidardatenpunkte, die keine Geschwindigkeit aufweisen, die proportional zum Kosinus des radialen Winkels der Datenpunkte mal der Geschwindigkeit des Fahrzeugs ist, nichtstationären Objekten entsprechen.
-
Eine Rechenvorrichtung 115 in einem Fahrzeug 110 kann eine Karte von Freiraum der Fahrbahn, einschließlich nichtstationärer Objekte, die dem Fahrzeug 604, 606, 608, 610 entsprechen, dazu verwenden, ein Fahrzeugwegpolynom zu bestimmen, entlang dessen das Fahrzeug 110 betrieben werden soll. Ein Fahrzeugwegpolynom kann eine Polynomfunktion sein, die eine Reihe von n verbundenen Punkten in der X-Y-Ebene beinhaltet, die vorhergesagte Trajektorien des Fahrzeugs 110 in n zukünftigen Zeitschritten beinhaltet. Die n verbundenen Punkte werden durch eine Polynomfunktion in der X-Y-Ebene bestimmt, wobei die X-Y-Achsen durch die Richtung des Fahrzeugs 110 bestimmt werden, wobei zum Beispiel die X-Richtung parallel zur Fahrtrichtung ist und die Y-Richtung senkrecht zur Fahrtrichtung ist. In diesem Beispiel können n zukünftige Zeitschritte, wobei n eine große Zahl sein kann, zum Beispiel größer als 100, durch ein Polynom k-ten Grades dargestellt werden, wobei in diesem Fall k eine Zahl sein kann, die kleiner oder gleich 3 ist. Die n verbundenen Punkte in einem Fahrzeugwegpolynom können durch eine Polynomfunktion in X und Y k-ten Grades oder weniger dargestellt werden.
-
Eine Polynomfunktion in X und Y k-ten Grades oder weniger, die das Polynom des Fahrzeugs darstellt, kann einen oder mehrere B-Splines beinhalten. Wie vorstehend in Zusammenhang mit 3 und 4 erörtert, sind B-Splines Polynomfunktionen k-ten Grades oder weniger, die jeweils einen disjunkten Teilsatz der n Punkte darstellen und die zusammen den gesamten Satz von n Punkten darstellen. B-Splines können darauf beschränkt sein, dass sie kontinuierlich differenzierbar sind, und Einschränkungen oder Grenzen für die zulässigen Ableitungen aufweisen, z. B. Grenzen für die Änderungsraten ohne Diskontinuitäten. B-Splines können zudem darauf beschränkt sein, dass sie mit Ableitungen bei anderen B-Splines an Grenzen übereinstimmen, wodurch glatte Übergänge zwischen Teilsätzen bereitgestellt werden. Einschränkungen bei B-Splines können ein Fahrzeugwegpolynom zu einem Polynom eines lenkbaren Wegs machen, indem die Raten von Längs- und Querbeschleunigungen begrenzt werden, die erforderlich sind, um ein Fahrzeug entlang des Fahrzeugwegpolynoms zu steuern, wobei Bremsmoment und Antriebsstrangdrehmoment als positive und negative Längsbeschleunigung angewendet werden und Lenkdrehmoment im Uhrzeigersinn und gegen den Uhrzeigersinn als linke und rechte Querbeschleunigung angewendet werden. Durch Bestimmen von Quer- und Längsbeschleunigungen, um vorbestimmte Zielwerte innerhalb vorbestimmter Einschränkungen innerhalb vorbestimmter Anzahlen an Zeiträumen zu erreichen, kann das Fahrzeugwegpolynom darauf beschränkt sein, dass es bereitstellt, dass das Fahrzeug 110 auf einem Fahrzeugweg betrieben werden kann, ohne die Grenzen der Quer- und Längsbeschleunigungen zu überschreiten, während zum Beispiel eine Berührung mit einem Objekt vermieden wird.
-
7 ist eine Darstellung eines Fahrzeugkoordinatensystemgraphen 700, der Fahrbahnspurmarkierungen 702, 704, 706, 708, zusammen Fahrbahnspurmarkierungen 712, und ein Fahrzeugwegpolynom 710 beinhaltet. Der Fahrzeugkoordinatensystemgraph 700 ist ein Graph, der eine Fahrbahn um ein Fahrzeug 110 bei den Koordinaten 0,0 auf dem Fahrzeugkoordinatensystemgraphen 700 veranschaulicht. Die X-Achse misst laterale Abstände in Metern von der Mitte des Fahrzeugs 110 bei den Koordinaten 0,0 und die Y-Achse misst die Längsabstände in Metern von der Mitte des Fahrzeugs 110 bei den Koordinaten 0,0. Das Fahrzeugwegpolynom 710 veranschaulicht gemessene Standorte des Fahrzeugs 110 (negative Koordinaten) und vorhergesagte zukünftige Standorte des Fahrzeugs 110 (positive Koordinaten).
-
Fahrbahnspurmarkierungen 712 beruhen auf Fahrzeugsensordaten, die durch das Fahrzeug 110 erlangt werden, wenn es auf einer Fahrbahn fährt. Die Fahrzeugsensordaten können Videodaten beinhalten, die durch Videosensoren erfasst werden, die so angeordnet sind, dass sie die Fahrbahn vor, seitlich von und hinter dem Fahrzeug 110 betrachten. In Beispielen, in denen nur nach vorn gerichtete Videosensoren verfügbar sind, können Abschnitte von Spurmarkierungen 712, die Standorten hinter dem Fahrzeug 110 (negativen Koordinaten) entsprechen, auf Grundlage von zuvor erfassten und in der Rechenvorrichtung 115 gespeicherten Videos bestimmt werden. Die Fahrbahnspurmarkierungen 712 können bestimmt werden, indem Fahrbahnspurmarkierungen in Videodaten unter Verwendung von Techniken zum maschinellen Sehen identifiziert und lokalisiert werden, um die erfassten Videodaten zu verarbeiten.
-
Fahrbahnspurmarkierungen können in Videodaten als kontrastierende Linien sichtbar sein, typischerweise in weißer oder gelber Farbe, die vor einem typischerweise schwarzen Fahrbahnhintergrund sichtbar sind. Fahrbahnspurmarkierungen können unter Verwendung von Hough-Transformationen bestimmt werden, um zum Beispiel gerade Linien zu identifizieren und zu lokalisieren, die den Fahrbahnspurmarkierungen entsprechen, wobei die Fahrbahnspurmarkierungen kontinuierlich oder in Segmente zergliedert sein können. Die Ausgabe aus einer Hough-Transformation kann Gleichungen für gerade Liniensegmente im Achsenabschnitt- und Steigungsformat entsprechen, wobei gerade Liniensegmente verbunden werden können, um kontinuierliche Linien zu bilden, indem gemeinsame Steigungen und Achsenabschnitte innerhalb einer vom Benutzer bestimmten Toleranz erkannt werden. Durch eine Hough-Transformation bestimmte gerade Linien können von einem Sichtfeld eines Videosensors in eine Draufsicht wie den Fahrzeugkoordinatensystemgraphen 700 transformiert werden, indem eine Ebene im dreidimensionalen Raum, die der Fahrbahn entspricht, auf Grundlage der bestimmten geraden Linien und Videosensorparameter, zu denen eine dreidimensionale Ausrichtung des Sichtfelds des Videosensors einschließlich der Vergrößerung einer in dem Videosensor enthaltenen Linse gehören, bestimmt wird. Gerade Linien, die Fahrbahnspurmarkierungen entsprechen, können von einer Ebene, von der angenommen wird, dass sie parallel zu der Fahrbahn ist, auf Grundlage des Unterschieds zwischen dem dreidimensionalen Winkel der optischen Achse des Videosensors, von der angenommen wird, dass es sich um die Mitte der Linse und die Mitte des Videosensors handelt, und einer Linie senkrecht zu der Draufsicht, die durch den Punkt verläuft, an dem die optische Achse die Ebene parallel zu der Fahrbahn schneidet, in eine Draufsicht auf die Umgebung um das Fahrzeug 110 transformiert werden.
-
Die transformierten Fahrbahnspurmarkierungen können gefiltert werden, um Fehlalarme abzuweisen, indem bestimmt wird, wo auf Grundlage der Karte des Freiraums 616 der Fahrbahn erwartet werden kann, dass Fahrbahnspurmarkierungen auftreten, wobei erwartet werden kann, dass Fahrbahnspurmarkierungen 712 in der Nähe der B-Splines 612, 614 und an Stellen in Intervallen von etwa 4 Metern parallel zu den B-Splines 612, 614 auftreten können. Fahrbahnspurmarkierungen 712 können durch Auswählen von Datenpunkten, die in den transformierten Fahrbahnspurmarkierungen enthalten sind, auf Grundlage von erfassten Videodaten gebildet werden, die unter Verwendung von Hough-Transformationen verarbeitet und in eine Draufsicht eines Fahrzeugkoordinatensystemgraphen 700 transformiert werden. Die ausgewählten Datenpunkte können entlang von Längsrichtungen unter Verwendung von B-Splines verbunden werden, wie vorstehend in Bezug auf die vorstehende 3 und 4 beschrieben, um Fahrbahnspurmarkierungen 712 zu bilden.
-
In Beispielen für Rechenvorrichtungen 115, die zum Bestimmen von Fahrbahnspurmarkierungen 712 verwendet werden, können Datenpunkte, die Fahrbahnspurmarkierungen in erfassten Videodaten entsprechen, durch ein Mobileye-Kollisionsvermeidungssystem (Mobileye, an Intel Company, 1350 Broadway, Suite 1600, New York, NY 10038) bestimmt werden. Ein Mobileye-Kollisionsvermeidungssystem beinhaltet eine oder mehrere Videokameras und Rechenhardware und -software, die erfasste Videodaten verarbeiten, um Fahrbahnspuren, Objekte einschließlich anderer Fahrzeuge, Fahrräder und Fußgänger zu bestimmen. Ein Mobileye-Kollisionsvermeidungssystem kann Wahrscheinlichkeiten einer Kollision mit Objekten einschließlich Fahrzeugen, Fahrrädern und Fußgängern bestimmen, vor dem Verlassen der Spur warnen, Warnungen bezüglich des Abstands zu einem vorausfahrenden Fahrzeug im Verkehr bereitstellen und warnen, wenn Geschwindigkeitsbegrenzungen überschritten werden. Ein Mobileye-System kann zudem einen Fahrzeugkoordinatensystemgraphen 700 ausgeben, der Datenpunkte beinhaltet, die Fahrbahnspurmarkierungen, Kanten von Fahrbahnen, stationären Objekten und nichtstationären Objekten auf einer Fahrbahn in einer Umgebung um ein Fahrzeug 110 entsprechen.
-
8 ist eine Darstellung eines Fahrzeugkoordinatensystemgraphen 800, der eine linke Fahrbahnspur 802 (linke Diagonalschraffur), eine Host-Fahrbahnspur 804 (Gitterschraffur) und eine rechte Fahrbahnspur 806 (rechte Diagonalschraffur), zusammen Fahrbahnspuren 808, auf Grundlage von Fahrbahnspurmarkierungen 712 beinhaltet. Die Fahrbahnspuren 802, 804, 806 beruhen auf dem Bilden von Polygonen zwischen den Fahrbahnspurmarkierungen 712 in Richtungen lateral zu der Fahrbahn. Polygone, die zwischen den Fahrbahnspurmarkierungen 712 gebildet sind, können kombiniert werden, um Fahrbahnspuren 808 zu bilden, die Regionen zwischen den Fahrbahnspurmarkierungen 712 füllen. Die Fahrbahnspuren 808 können auf Grundlage der Lage eines Fahrzeugwegpolynoms 710, das dem Standort eines Host-Fahrzeugs 110 entspricht, als eine linke Fahrbahnspur 802, eine Host-Fahrbahnspur 804, eine rechte Fahrbahnspur 804 oder eine nicht relevante Fahrbahnspur klassifiziert werden. Eine Rechenvorrichtung 115 kann die Fahrbahnspuren 808 klassifizieren, indem sie die Lage der Fahrbahnspuren in Bezug auf die Fahrbahnspur bestimmt, die das Fahrzeugwegpolynom 710 beinhaltet, das der Fahrbahnspur entspricht, auf der das Fahrzeug 110 fährt. Nicht relevante Spuren sind Fahrbahnspuren, die nicht zu einer Host-Fahrbahnspur 804 benachbart sind.
-
In dieser Schrift beschriebene Techniken verbessern den Betrieb eines Fahrzeugs 110 auf einer Fahrbahn durch Bestimmen einer Host-Fahrbahnspur 804, einer linken Fahrbahnspur 802, einer rechten Fahrbahnspur 804 und nicht relevanter Fahrbahnspuren auf Grundlage des Bestimmens von Fahrbahnspurmarkierungen 712 und eines Fahrzeugwegpolynoms 710. Die Rechenvorrichtung 115 kann die Fahrbahnspuren 802, 804, 806 dazu verwenden, ein Fahrzeugwegpolynom 710 zu bestimmen, das in einer Host-Fahrbahnspur 804 bleibt und das Überqueren in eine benachbarte linke Fahrbahnspur 802 und rechte Fahrbahnspur 806 vermeidet und dadurch das Berühren von Fahrzeugen oder Objekten, die auf einer Fahrbahn fahren, vermeidet.
-
9 ist eine Darstellung einer beispielhaften Verkehrsszene 900, die Fahrzeuge 110, 910, 912, 914, 916, 918, 920, 922, 924, 926, 928, zusammen Fahrzeuge 930, beinhaltet, die auf einer linken Spur 906, einer Host-Spur 904 und einer rechten Spur 908, zusammen Fahrbahnspuren 902, fahren, wobei die Spuren in Bezug auf das Host-Fahrzeug 110 bezeichnet sind, wie vorstehend in Bezug auf 8 erörtert. Die Verkehrsszene 900 beinhaltet Fahrzeuge 916, 918, 920, die auf einer linken Fahrbahnspur 906 fahren, Fahrzeuge 912, 910, die vor bzw. hinter einem Host-Fahrzeug 110 auf einer Host-Fahrzeugspur 906 fahren, und Fahrzeuge 922, 924, 926, 928, die auf einer rechten Fahrbahnspur 908 fahren. Eine Rechenvorrichtung 115 kann die Klassifizierung von Fahrbahnspuren 902 verbessern, indem sie Fahrzeuge 930 verfolgt, um Fahrzeugwegpolynome zu bilden, und jedes Fahrzeugwegpolynom auf Grundlage der Lage des Fahrzeugwegpolynoms einer Fahrbahnspur 902 zuweist. Das Verfolgen von Fahrzeugen 930 kann das Bestimmen aufeinanderfolgender Standorte für ein oder mehrere Fahrzeuge 930 in Fahrzeugsensordaten und das Bilden von Fahrzeugwegpolynomen, wie vorstehend in Bezug auf 7 erörtert, auf Grundlage der aufeinanderfolgenden Fahrzeugstandorte beinhalten. Die Standorte der Fahrzeuge 930 können unter Verwendung von Techniken zum maschinellen Sehen bestimmt werden, die tiefe neuronale Netze beinhalten, um nichtstationäre Objekte in Fahrzeugsensordaten zu lokalisieren, einschließlich Videosensoren, Lidarsensor und Radarsensoren.
-
Das Lokalisieren eines oder mehrerer Fahrzeuge 930 in Fahrzeugsensordaten kann rechenintensiv sein, was bedeutet, dass eine Rechenvorrichtung 115 nur eine begrenzte Anzahl an Fahrzeugen lokalisieren und verfolgen kann, während ein Fahrzeug 110 auf einer Straße fährt. Um es der Rechenvorrichtung 115 zu ermöglichen, Fahrzeugstandort- und - verfolgungsaufgaben rechtzeitig abzuschließen, um Daten für den Betrieb eines Fahrzeugs 110 bereitzustellen, können Fahrzeuge 930 vorausgewählt werden. Vorauswählen ist der Prozess, bei dem die Anzahl an Fahrzeugen 930, die lokalisiert und verfolgt werden sollen, reduziert wird. Vorauswählen kann durch Auswählen eines Teilsatzes von Fahrzeugen 930 auf Grundlage der Nähe zu einem Host-Fahrzeug 110 erreicht werden. Beim Vorauswählen kann ein Teilsatz von Fahrzeugen 930 ausgewählt werden, indem nur die dem Host-Fahrzeug 110 am nächsten gelegenen Fahrzeuge 930 ausgewählt werden. Zum Beispiel können die Fahrzeuge 916, 918 auf der linken Fahrbahnspur 906 und die Fahrzeuge 926, 924 auf der rechten Fahrbahnspur auf Grundlage des Auswählens eines Fahrzeugs 916 von der linken Fahrbahnspur 906 und eines Fahrzeugs 924 von der rechten Fahrbahnspur 908 vor dem Host-Fahrzeug 110 und eines Fahrzeugs 918 von der linken Fahrbahnspur 906 und eines Fahrzeugs 926 von der rechten Fahrbahnspur 908 hinter dem Host-Fahrzeug 110 vorausgewählt werden. Zusätzlich können ein Fahrzeug 912 vor dem Host-Fahrzeug 110 auf der Host-Fahrbahnspur 906 und ein Fahrzeug 910 hinter dem Host-Fahrzeug 110 vorausgewählt werden.
-
Vorauswählen des Satzes aller Fahrzeuge 930 auf diese Weise führt zu einem Satz von vorausgewählten Fahrzeugen 910, 912, 916, 918, 926, 924, gemeinsam vorausgewählten Fahrzeugen 932, was die Rechenlast an der Rechenvorrichtung 115 reduziert, was ermöglicht, dass die Rechenvorrichtung 115 Verfolgungsdaten für die vorausgewählten Fahrzeuge 932 bestimmt, während das Host-Fahrzeug 110 auf der Fahrbahn fährt, wodurch es der Rechenvorrichtung 115 ermöglicht wird, die Verfolgungsdaten dazu zu verwenden, Fahrzeugwegpolynome für die vorausgewählten Fahrzeuge 932 zu bestimmen. In dieser Schrift erörterte Techniken können den Betrieb eines Host-Fahrzeugs 110 verbessern, indem Fahrzeugwegpolynome auf Grundlage der vorausgewählten Fahrzeuge 932 mit Daten der Fahrbahnspuren 808 kombiniert werden und die kombinierten Fahrbahnspurdaten dazu verwendet werden, ein Fahrzeugwegpolynom 710 zu bestimmen, auf dem das Host-Fahrzeug 110 betrieben werden soll.
-
10 ist eine Darstellung eines Fahrzeugkoordinatensystemgraphen 1000, der Fahrzeugwegpolynome 1002, 1004, 1006 beinhaltet, die auf Grundlage von vorausgewählten Fahrzeugen 932 und Fahrbahnspurmarkierungen 712 bestimmt werden, die wie vorstehend in Bezug auf 7 erörtert bestimmt werden. Fahrzeugwegpolynome 1002, 1004, 1006 werden auf Grundlage von Standorten von vorausgewählten Fahrzeugen 932 bestimmt, wie in Bezug auf 9 erörtert. Jedes vorausgewählte Fahrzeug 932 kann durch eine Rechenvorrichtung 115 verfolgt werden, die in einem Host-Fahrzeug 110 enthalten ist, wobei das Verfolgen als Bestimmen eines Standorts für jedes vorausgewählte Fahrzeug 932 in einer Folge von Fahrzeugsensordatensätzen definiert ist, die in aufeinanderfolgenden Zeitschritten erfasst werden, während das Host-Fahrzeug 110 auf einer Fahrbahn fährt. Fahrzeugsensordatensätze können zum Beispiel Videobilder, Lidarpunktwolkendaten oder Radarrückgabedaten sein. Eine Rechenvorrichtung 115 kann die Fahrzeugsensordatensätze verarbeiten, um Standorte für jedes vorausgewählte Fahrzeug 932 in einer Abfolge von Fahrzeugsensordatensätzen zu bestimmen. Die resultierenden Standorte können auf einem Fahrzeugkoordinatensystemgraphen 1000 kartiert werden und die kartierten Standorte auf Grundlage der Fahrbahnspurmarkierungen 712 in Gruppen unterteilt werden, wobei die Standorte, die in dem Raum zwischen den Fahrbahnspurmarkierungen 712 auftreten, in einer Gruppe enthalten sind. Jede Gruppe von Standorten kann dann unter Verwendung von B-Splines, wie vorstehend in Bezug auf 3 und 4 erörtert, miteinander verbunden werden, um Fahrzeugwegpolynome 1002, 1004, 1006 zu bilden.
-
Zweite Fahrbahnspuren können auf Grundlage der Fahrzeugwegpolynome 1002, 1004, 1006 bestimmt werden, die auf Grundlage der vorausgewählten Fahrzeuge 932 bestimmt werden, indem angenommen wird, dass jedes der Fahrzeugwegpolynome in der lateralen Mitte einer Fahrbahnspur auftritt und die Fahrbahnspur eine Breite aufweist, die gleich der durchschnittlichen Breite der Fahrbahnspuren 808 ist, die auf Grundlage von Fahrbahnspurmarkierungen 712 bestimmt wird. Die bestimmten zweiten Fahrbahnspuren können eingestellt werden, um Überlappungen und Lücken in der lateralen Richtung in Bezug auf die Fahrbahn zu beseitigen. Die zweiten Fahrbahnspuren können mit den ersten Fahrbahnspuren 808 kombiniert werden, um kombinierte Fahrbahnspuren zu erzeugen. Techniken zum Kombinieren von zweiten Fahrbahnspuren mit ersten Fahrbahnspuren 808 können das Verwenden der zweiten Fahrbahnspuren beinhalten, um die Konfidenz der ersten Fahrbahnspuren 808 in Abschnitten der kombinierten Fahrbahnspuren zu erhöhen, wo die ersten Fahrbahnspuren 808 und die zweiten Fahrbahnspuren zusammenfallen. In Abschnitten der kombinierten Fahrbahnspuren, wo die ersten Fahrbahnspuren 808 und die zweiten Fahrbahnspuren nicht zusammenfallen, können die ersten Fahrbahnspuren 808 gelöscht und die zweiten Fahrbahnspuren beibehalten werden. Dies führt dazu, dass die kombinierten Fahrbahnspuren auf Fahrzeugwegpolynomen 1002, 1004, 1006 auf Grundlage der vorausgewählten Fahrzeuge 932 beruhen.
-
Das Bestimmen der Fahrzeugwegpolynome 1002, 1004, 1006 auf Grundlage der vorausgewählten Fahrzeuge 932 kann die Klassifizierung der ersten Fahrbahnspuren 808 verbessern, indem die ersten Fahrbahnspuren 808, die auf Grundlage von Fahrbahnspurmarkierungen 712 bestimmt werden, mit den zweiten Fahrbahnspuren verglichen werden, die auf Grundlage der Fahrzeugwegpolynome 1002, 1004, 1006 bestimmt werden, die auf Grundlage der vorausgewählten Fahrzeuge 932 bestimmt werden. Jede zweite Fahrbahnspur sollte mit ihrer jeweiligen ersten Fahrbahnspur 808 übereinstimmen, wobei die Mitte jeder zweiten Fahrbahnspur von der Mitte ihrer übereinstimmenden Fahrbahnspur 808 nicht um mehr als eine Hälfte der Spurbreite, was gleich mehr als plus oder minus einen Meter entlang ihrer Längslänge ist, abweichen sollte. Falls sich eine zweite Fahrbahnspur auf Grundlage der vorausgewählten Fahrzeuge 932 von ihrer entsprechenden ersten Fahrbahnspur 808 um mehr als plus oder minus einen Meter unterscheidet, kann angenommen werden, dass beim Bestimmen der ersten Fahrbahnspur 808 ein Fehler gemacht worden ist. Die Rechenvorrichtung 115 kann ein Fahrzeugwegpolynom 710 zum Betreiben des Host-Fahrzeugs 110 auf Grundlage der kombinierten Fahrbahnspuren bestimmen, wobei die kombinierten Fahrbahnspuren Abschnitte auf Grundlage der zweiten Fahrbahnspuren beinhalten, wo sich die ersten Fahrbahnspuren 808 von den zweiten Fahrbahnspuren unterscheiden, da das Vermeiden von vorausgewählten Fahrzeugen 932 eine Aufgabe mit hoher Priorität ist und die zweiten Fahrbahnspuren auf gemessenen Standorten von vorausgewählten Fahrzeugen 932 beruhen.
-
11 ist eine Darstellung einer beispielhaften Verkehrsszene 1100, die Fahrzeuge 110, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128 (zusammen Fahrzeuge 1130) beinhaltet, die auf einer linken Spur 1106, einer Host-Spur 1104 und einer rechten Spur 1108, zusammen Fahrbahnspuren 1102, fahren, wobei die Spuren in Bezug auf das Host-Fahrzeug 110 bezeichnet sind, wie vorstehend in Bezug auf 8 erörtert. In der Verkehrsszene 1100 können Fahrzeuge 1130 durch eine Rechenvorrichtung 115 in einem Host-Fahrzeug 110 vorausgewählt werden, um einen Satz von vorausgewählten Fahrzeugen 1110, 1112, 1116, 1118, 1124, 1126, gemeinsam vorausgewählten Fahrzeugen 1132, gemäß vorstehend in Bezug auf 10 erörterten Kriterien zu bilden, wobei die Fahrzeuge 1130, die einem Host-Fahrzeug 110 vor und hinter dem Host-Fahrzeug 110 auf einer Host-Fahrbahnspur 1104 und einer linken und rechten Fahrbahnspur 1106, 1108 benachbart zu der Host-Fahrbahnspur 1104 am nächsten gelegen sind, vorausgewählt werden können, um einen Satz von vorausgewählten Fahrzeugen 1132 zu bilden.
-
Die Verkehrsszene 1100 veranschaulicht ein Beispiel, in dem Abweichungen des Fahrzeugwegpolynoms 1002, 1004, 1006 auf Abweichungen bei Standorten der vorausgewählten Fahrzeuge 1132 zurückgehen können. In diesem Beispiel können Abweichungen bei den zweiten Fahrbahnspuren auf Grundlage der vorausgewählten Fahrzeuge 1132 dadurch verursacht werden, dass ein oder mehrere vorausgewählte Fahrzeuge 1132 am falschen Platz sind oder von der Mitte ihrer jeweiligen Fahrbahnspur 1102 abweichen. Abweichungen zwischen den ersten Fahrbahnspuren 808 und den zweiten Fahrbahnspuren auf Grundlage von vorausgewählten Fahrzeugen 1132 können bestimmt werden, indem jedes vorausgewählte Fahrzeug 1132 aus der Fahrzeugwegpolynomberechnung entfernt wird, um zu bestimmen, ob sich der Vergleich zwischen dem Fahrzeugwegpolynom und seiner jeweiligen Fahrbahnspur 808 verbessert. Eine Technik zum Bestimmen, dass eines oder mehrere der vorausgewählten Fahrzeuge 1132 von einer ersten Fahrbahnspur 808 abweichen, besteht darin, die Breite des Fahrzeugwegpolynoms zu bestimmen, wie es auf Grundlage der vorausgewählten Fahrzeuge 1132 bestimmt wird. In Beispielen, in denen ein oder mehrere vorausgewählte Fahrzeuge 1132, zum Beispiel die Fahrzeuge 1118, 1124, von der Mitte einer ersten Fahrbahnspur 808 abweichen, weichen die für die abweichenden Fahrzeuge 1118, 1124 bestimmten Fahrzeugwegpolynome von für die anderen vorausgewählten Fahrzeuge 1132 auf der gleichen Fahrbahnspur bestimmten Fahrzeugwegpolynomen ab. In Beispielen, in denen eine Abweichung oder Fehlausrichtung eines Fahrzeugwegpolynoms größer als plus oder minus einen halben Meter vorliegt, kann bestimmt werden, dass eines oder mehrere der vorausgewählten Fahrzeuge 1132 von der Mitte einer Fahrbahnspur 808 abweichen. Wenn dies auftritt, können zusätzliche Fahrzeuge 1130 aus dem Satz von Fahrzeugen 1130 in einer Umgebung um ein Fahrzeug vorausgewählt werden, um zu bestimmen, ob das eine oder die mehreren vorausgewählten Fahrzeuge 1132 von der Mitte einer Fahrbahnspur 808 abweichen. Falls die zusätzlichen Fahrzeuge 1130, die zu dem Satz von vorausgewählten Fahrzeugen 1132 hinzugefügt werden, Fahrzeugwegpolynome erzeugen, die mit den Fahrzeugwegpolynomen kongruieren, die durch andere vorausgewählte Fahrzeuge 1132 erzeugt werden, bestätigt dies, dass die Fahrzeuge 1118, 1124 von der Mitte einer Fahrbahnspur 808 abweichen und aus der Berechnung der zweiten Fahrbahnspuren beseitigt werden können. Auf diese Weise können vorausgewählte Fahrzeuge 1132, die die Spur wechseln oder sich anderweitig aus einer Fahrbahnspur 808 herausbewegen, bei der Bestimmung der zweiten Fahrbahnspuren ignoriert werden.
-
12 ist eine Darstellung eines Ablaufdiagramms, das in Bezug auf 1-11 beschrieben ist, eines Prozesses 1200 zum Betreiben eines Fahrzeugs auf Grundlage von bestimmten Fahrbahnspuren. Der Prozess 1200 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 1200 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 1200 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann die Blöcke in anderer Reihenfolge ausgeführt beinhalten.
-
Der Prozess 1200 beginnt bei Block 1202, wo eine Rechenvorrichtung 115 in einem Host-Fahrzeug 110 eine erste Karte eines Freiraums 616 einer Fahrbahn auf Grundlage von Fahrzeugsensordaten bestimmt, wie vorstehend in Bezug auf 5 und 6 erörtert. Freiraum 616 der Fahrbahn ist eine Region in einer Umgebung um ein Host-Fahrzeug 110, in der das Host-Fahrzeug 110 betrieben werden kann, ohne eine Fahrbahn zu verlassen. Die Karte des Freiraums 616 der Fahrbahn kann zudem Objekte einschließlich anderer Fahrzeuge 604, 606, 608, 610 beinhalten.
-
Bei Block 1204 bestimmt eine Rechenvorrichtung 115 eine zweite Karte, die Fahrbahnspuren beinhaltet. Die zweite Karte ist ein Fahrzeugkoordinatensystemgraph 700, der Fahrbahnspurmarkierungen 712 beinhaltet. Diese zweite Karte kann durch Verarbeiten von Fahrzeugsensordaten erzeugt werden, um Fahrbahnspurmarkierungen 712 zu bestimmen, wie vorstehend in Bezug auf 7 erörtert. Die Rechenvorrichtung kann B-Splines verarbeiten, die Fahrbahnspurmarkierungen 712 entsprechen, um Fahrbahnspuren 808 zu bilden. Die Fahrbahnspuren können als eine Host-Fahrbahnspur 804, eine linke Fahrbahnspur 802, eine rechte Fahrbahnspur 806 oder eine nicht relevante Fahrbahnspur identifiziert werden, je nachdem, ob die Fahrbahnspur 808 ein Host-Fahrzeug 110 beinhaltet, links oder rechts zu einer Host-Fahrbahnspur 804 benachbart ist oder nicht zu einer Host-Fahrbahnspur 804 benachbart ist.
-
Bei Block 1206 kann eine Rechenvorrichtung 115 zweite Fahrbahnspuren auf Grundlage von Fahrzeugwegpolynomen auf Grundlage von vorausgewählten Fahrzeugen bestimmen, wie vorstehend in Bezug auf 9 und 10 erörtert. Die zweiten Fahrbahnspuren können verarbeitet werden, um zu bestimmen, ob eines oder mehrere der vorausgewählten Fahrzeuge von der Mitte einer Fahrbahnspur abweichen und infolgedessen in dem Satz von vorausgewählten Fahrzeugen ersetzt werden können, indem die B-Splines, die durch Standorte der vorausgewählten Fahrzeuge gebildet werden, mit anderen B-Splines, die durch vorausgewählte Fahrzeuge gebildet werden, verglichen werden, wie vorstehend in Bezug auf 11 erörtert.
-
Bei Block 1208 kann eine Rechenvorrichtung 115 die ersten Fahrbahnspuren 808 mit den zweiten Fahrbahnspuren auf Grundlage von Fahrzeugwegpolynomen auf Grundlage von vorausgewählten Fahrzeugen kombinieren. Falls sich die erste und die zweite Fahrbahnspur in einer Lateralen um mehr als plus oder minus einen halben Meter unterscheiden, kann die zweite Fahrbahnspur anstelle der ersten Fahrbahnspur 808 verwendet werden, da die zweiten Fahrbahnspuren auf bestimmten Standorten von Fahrzeugen 930 beruhen, die auf einer Fahrbahn in einer Umgebung um ein Host-Fahrzeug 110 fahren.
-
Bei Block 1210 kann eine Rechenvorrichtung 115 das Host-Fahrzeug 110 betreiben, indem sie ein Wegpolynom 710 bestimmt, entlang dessen das Host-Fahrzeug 110 betrieben werden soll. Die Rechenvorrichtung kann das Fahrzeug 110 entlang des Wegpolynoms betreiben, indem sie über die Fahrzeugsteuerungen 112, 113, 114 den Antriebsstrang, die Lenkung und die Bremsen des Fahrzeugs steuert. Im Anschluss an Block 1210 endet der Prozess 1200.
-
Rechenvorrichtungen, wie etwa die in dieser Schrift 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 zum Beispiel als computerausführbare Befehle ausgeführt sein.
-
Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung von vielfältigen Programmiersprachen und/oder - technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, JavaScript, 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 einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift 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 Platten oder Magnetplatten und andere Dauerspeicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise 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 durch Computer ausgelesen werden kann.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll ihre eindeutige und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift keine ausdrückliche Angabe des Gegenteils erfolgt. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
-
Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel angibt, z. B. sollte eine Bezugnahme 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, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. von einer bzw. einem genau beschriebenen Geometrie, Abstand, Messung, 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 in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. 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 in dieser Schrift 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. Mit anderen Worten sind die Beschreibungen von Prozessen in dieser Schrift zum Zwecke der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung ist ein Computer bereitgestellt, der Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher durch den Prozessor ausführbare Anweisungen zu Folgendem beinhaltet: Erzeugen einer ersten Karte eines Freiraums auf einer Fahrbahn auf Grundlage von Fahrzeugsensordaten, in dem ein erstes Fahrzeug betrieben werden kann, ohne Fahrbahnkanten und nichtstationäre Objekte auf der Fahrbahn zu berühren, wobei die erste Karte Fahrbahnspurmarkierungen in einer Umgebung um das erste Fahrzeug beinhaltet, wobei die nichtstationären Objekte ein oder mehrere zweite Fahrzeuge beinhalten; Erzeugen einer zweiten Karte von Freiraum in der Umgebung um das erste Fahrzeug durch Bestimmen von B-Splines, die ersten Fahrbahnspuren entsprechen, auf Grundlage der Fahrbahnspurmarkierungen und der Fahrbahnkanten, die in der ersten Karte enthalten sind; Bestimmen von zweiten Fahrbahnspuren auf Grundlage des Bestimmens von Standorten der nichtstationären Objekte; Bestimmen von kombinierten Fahrbahnspuren auf Grundlage der ersten Fahrbahnspuren und der zweiten Fahrbahnspuren; und Betreiben des ersten Fahrzeugs auf Grundlage der kombinierten Fahrbahnspuren.
-
Gemäß einer Ausführungsform werden die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren auf Grundlage eines Standorts des ersten Fahrzeugs als eine oder mehrere von einer linken Spur, einer rechten Spur, einer Host-Spur und einer nicht relevanten Spur klassifiziert.
-
Gemäß einer Ausführungsform beinhalten die Fahrzeugsensordaten eines oder mehrere von Videodaten, Lidardaten und Radardaten.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Bestimmen der B-Splines auf Grundlage von Knoten und kontrollierten Punkten, wobei die Knoten Punkte auf den B-Splines sind und die kontrollierten Punkte eine Form der B-Splines zwischen den Knoten auf Grundlage von Polynomfunktionen dritten Grades bestimmen.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Bestimmen von Objektverfolgungen auf Grundlage des Bestimmens einer Vielzahl von Standorten der nichtstationären Objekte in Daten, die durch Fahrzeugsensoren in aufeinanderfolgenden Zeitschritten erfasst werden.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Bestimmen von B-Splines, die den zweiten Fahrbahnspuren entsprechen, auf Grundlage der Obj ektverfolgungen.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Bestimmen der kombinierten Fahrbahnspuren auf Grundlage des Kombinierens der B-Splines, die den ersten Fahrbahnspuren entsprechen, mit den B-Splines, die den zweiten Fahrbahnspuren entsprechen.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Einschließen der B-Splines, die den zweiten Fahrbahnspuren entsprechen, in die kombinierten Fahrbahnspuren, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren nicht übereinstimmen.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Betreiben des ersten Fahrzeugs auf Grundlage des Bestimmens eines Polynoms eines lenkbaren Wegs auf Grundlage der kombinierten Fahrbahnspuren.
-
Gemäß der vorliegenden Erfindung beinhalten die Anweisungen weitere Anweisungen zum Betreiben des ersten Fahrzeugs auf dem Polynom des lenkbaren Wegs durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Erzeugen einer ersten Karte eines Freiraums auf einer Fahrbahn auf Grundlage von Fahrzeugsensordaten, in dem ein erstes Fahrzeug betrieben werden kann, ohne Fahrbahnkanten und nichtstationäre Objekte auf der Fahrbahn zu berühren, wobei die erste Karte Fahrbahnspurmarkierungen in einer Umgebung um das erste Fahrzeug beinhaltet, wobei die nichtstationären Objekte ein oder mehrere zweite Fahrzeuge beinhalten; Erzeugen einer zweiten Karte von Freiraum in der Umgebung um das erste Fahrzeug durch Bestimmen von B-Splines, die ersten Fahrbahnspuren entsprechen, auf Grundlage der Fahrbahnspurmarkierungen und der Fahrbahnkanten, die in der ersten Karte enthalten sind; Bestimmen von zweiten Fahrbahnspuren auf Grundlage des Bestimmens von Standorten der nichtstationären Objekte; Bestimmen von kombinierten Fahrbahnspuren auf Grundlage der ersten Fahrbahnspuren und der zweiten Fahrbahnspuren; und Betreiben des ersten Fahrzeugs auf Grundlage der kombinierten Fahrbahnspuren.
-
In einem Aspekt der Erfindung werden die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren auf Grundlage eines Standorts des ersten Fahrzeugs als eine oder mehrere von einer linken Spur, einer rechten Spur, einer Host-Spur und einer nicht relevanten Spur klassifiziert.
-
In einem Aspekt der Erfindung beinhalten die Fahrzeugsensordaten eines oder mehrere von Videodaten, Lidardaten und Radardaten.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen der B-Splines auf Grundlage von Knoten und kontrollierten Punkten, wobei die Knoten Punkte auf den B-Splines sind und die kontrollierten Punkte eine Form der B-Splines zwischen den Knoten auf Grundlage von Polynomfunktionen dritten Grades bestimmen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen von Objektverfolgungen auf Grundlage des Bestimmens einer Vielzahl von Standorten der nichtstationären Objekte in Daten, die durch Fahrzeugsensoren in aufeinanderfolgenden Zeitschritten erfasst werden.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen von B-Splines, die den zweiten Fahrbahnspuren entsprechen, auf Grundlage der Objektverfolgungen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen der kombinierten Fahrbahnspuren auf Grundlage des Kombinierens der B-Splines, die den ersten Fahrbahnspuren entsprechen, mit den B-Splines, die den zweiten Fahrbahnspuren entsprechen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Einschließen der B-Splines, die den zweiten Fahrbahnspuren entsprechen, in die kombinierten Fahrbahnspuren, wenn die ersten Fahrbahnspuren und die zweiten Fahrbahnspuren nicht übereinstimmen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Betreiben des ersten Fahrzeugs auf Grundlage des Bestimmens eines Polynoms eines lenkbaren Wegs auf Grundlage der kombinierten Fahrbahnspuren.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Betreiben des ersten Fahrzeugs auf dem Polynom des lenkbaren Wegs durch Steuern des Antriebsstrangs, der Lenkung und der Bremsen des Fahrzeugs.