-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft das Gebiet von Fahrzeugsensoren.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können ausgestattet sein, um sowohl in einem autonomen als auch in einem von einem Insassen gesteuerten Modus betrieben zu werden. Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Informationen bezüglich der Umgebung des Fahrzeugs zu erlangen und das Fahrzeug auf Grundlage der Informationen zu betreiben. Der sichere und komfortable Betrieb des Fahrzeugs kann vom Erlangen genauer und rechtzeitiger Informationen bezüglich der Umgebung des Fahrzeugs abhängen. Fahrzeugsensoren können Daten hinsichtlich zu fahrenden Strecken und Objekten bereitstellen, denen in der Umgebung des Fahrzeugs auszuweichen ist. Der sichere und effiziente Betrieb des Fahrzeugs kann vom Erlangen genauer und rechtzeitiger Informationen bezüglich Strecken und Objekten in einer Umgebung des Fahrzeugs abhängig sein, während das Fahrzeug auf einer Fahrbahn betrieben wird.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Fahrzeuge können ausgestattet sein, um sowohl in einem autonomen als auch in einem von einem Insassen gesteuerten Modus betrieben zu werden. Mit einem halbautonomen oder vollautonomen Modus ist ein Betriebsmodus gemeint, bei dem ein Fahrzeug durch eine Rechenvorrichtung als Teil eines Fahrzeuginformationssystems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt sein, jedoch kann das Fahrzeug in beiden Fällen ohne die Unterstützung eines Insassen gesteuert werden. Im Rahmen dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung eines Fahrzeugs jeweils durch einen oder mehrere Fahrzeugcomputer gesteuert werden; in einem halbautonomen Modus steuert der bzw. steuern die Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. Bei einem nicht autonomen Fahrzeug wird nichts davon durch einen Computer gesteuert.
-
Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten bezüglich der äußeren Umgebung eines Fahrzeugs zu erlangen und die Daten zu verwenden, um ein Pfadpolynom zu bestimmen, das zu verwenden ist, um ein Fahrzeug in einem autonomen oder halbautonomen Modus zu betreiben, wobei zum Beispiel die Rechenvorrichtung Informationen an Steuerungen bereitstellen kann, um das Fahrzeug auf einer Fahrbahn in Verkehr, an dem andere Fahrzeuge beteiligt sind, zu betreiben. Basierend auf Sensordaten kann eine Rechenvorrichtung eine Freiraumkarte bestimmen, um einem Fahrzeug zu ermöglichen, ein Pfadpolynom zu bestimmen, um ein Fahrzeug zu betreiben, um in der Gegenwart von anderen Fahrzeugen und Fußgängern ein Ziel auf einer Fahrbahn zu erreichen, wobei ein Pfadpolynom als eine Polynomfunktion definiert ist, die aufeinanderfolgende Standorte eines Fahrzeugs verbindet, wenn es sich von einem ersten Standort auf einer Fahrbahn zu einem zweiten Standort auf einer Fahrbahn bewegt, und eine Freiraumkarte als eine Fahrzeug-zentrische Karte definiert ist, die stationäre Objekte, einschließlich Fahrbahnen, und nicht stationäre Objekte, einschließlich beispielsweise anderer Fahrzeuge und Fußgänger, beinhaltet.
-
Hierin offenbart ist ein Verfahren, beinhaltend Bestimmen einer Freiraumkarte einer Umgebung um ein Fahrzeug durch Kombinieren von Videosensordaten und Radarsensordaten, Bestimmen eines Pfadpolynoms durch Kombinieren der Freiraumkarte und von Lidarsensordaten und Betreiben des Fahrzeugs mit dem Pfadpolynom. Das Kombinieren der Videosensordaten und der Radarsensordaten kann Projizieren von Videosensordatenpunkten und Radarsensordatenpunkten auf die Freiraumkarte basierend auf dem Bestimmen eines Abstands und einer Richtung von einem Videosensor bzw. Radarsensor der Videosensordatenpunkte und der Radarsensordatenpunkte beinhalten. Die Freiraumkarte ist eine abwärtsgerichtete Karte einer Umgebung um das Fahrzeug, die eine Fahrbahn und ein oder mehrere andere Fahrzeuge beinhaltet, die durch stationäre bzw. nicht stationäre Datenpunkte dargestellt werden.
-
Das Bestimmen der Freiraumkarte kann ferner Bestimmen von stationären Datenpunkten und nicht stationären Datenpunkten basierend auf Videosensordatenpunkten und Radarsensordatenpunkten beinhalten. Das Bestimmen der Freiraumkarte kann ferner Anbringen von B-Splines an einen Teilsatz von stationären Datenpunkten beinhalten. Das Bestimmen des Pfadpolynoms kann ferner Bestimmen eines vorhergesagten Standorts in Bezug auf die Fahrbahn basierend auf der Freiraumkarte, einschließlich nicht stationärer Datenpunkte und Lidarsensordaten, beinhalten. Das Bestimmen des Pfadpolynoms kann ferner Anwenden von oberen und unteren Grenzen auf Quer- und Längsbeschleunigungen beinhalten. Das Betreiben des Fahrzeugs mit dem Pfadpolynom innerhalb der Freiraumkarte, während nicht stationären Datenpunkten ausgewichen wird, kann Betreiben des Fahrzeugs auf einer Fahrbahn und Ausweichen von anderen Fahrzeugen beinhalten. Videosensordaten können durch einen Farbvideosensor erlangt und mit einem Videodatenprozessor verarbeitet werden. Radarsensordaten können Fehlalarmdaten beinhalten und das Kombinieren von Videosensordaten mit Radarsensordaten kann Detektieren von Fehlalarmdaten beinhalten. Das Kombinieren der Freiraumkarte und Lidarsensordaten kann Detektieren von Fehlalarmdaten beinhalten. Das Kombinieren der Freiraumkarte und Lidarsensordaten kann Kartendaten beinhalten. Das Fahrzeug kann durch Steuern von Lenken, Bremsen und Antriebsstrang des Fahrzeugs betrieben werden.
-
Ferner wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte gespeichert sind. Ferner offenbart wird ein Computer, der zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte programmiert ist, beinhalten eine Computervorrichtung, die zum Bestimmen einer Freiraumkarte einer Umgebung um ein Fahrzeug durch Kombinieren von Videosensordaten und Radarsensordaten, Bestimmen eines Pfadpolynoms durch Kombinieren der Freiraumkarte und von Lidarsensordaten und Betreiben des Fahrzeugs mit dem Pfadpolynom programmiert ist. Das Kombinieren der Videosensordaten und der Radarsensordaten kann Projizieren von Videosensordatenpunkten und Radarsensordatenpunkten auf die Freiraumkarte basierend auf dem Bestimmen eines Abstands und einer Richtung von einem Videosensor bzw. Radarsensor der Videosensordatenpunkte und der Radarsensordatenpunkte beinhalten. Die Freiraumkarte ist eine abwärtsgerichtete Karte einer Umgebung um das Fahrzeug, die eine Fahrbahn und ein oder mehrere andere Fahrzeuge beinhaltet, die durch stationäre bzw. nicht stationäre Datenpunkte dargestellt werden.
-
Die Computervorrichtung kann ferner zum Bestimmen der Freiraumkarte, einschließlich Bestimmen von stationären Datenpunkten und nicht stationären Datenpunkten basierend auf Videosensordatenpunkten und Radarsensordatenpunkten, programmiert sein. Das Bestimmen der Freiraumkarte kann ferner Anbringen von B-Splines an einen Teilsatz von stationären Datenpunkten beinhalten. Das Bestimmen des Pfadpolynoms kann ferner Bestimmen eines vorhergesagten Standorts in Bezug auf die Fahrbahn basierend auf der Freiraumkarte, einschließlich nicht stationärer Datenpunkte und Lidarsensordaten, beinhalten. Das Bestimmen des Pfadpolynoms kann ferner Anwenden von oberen und unteren Grenzen auf Quer- und Längsbeschleunigungen beinhalten. Das Betreiben des Fahrzeugs mit dem Pfadpolynom innerhalb der Freiraumkarte, während nicht stationären Datenpunkten ausgewichen wird, kann Betreiben des Fahrzeugs auf einer Fahrbahn und Ausweichen von anderen Fahrzeugen beinhalten. Videosensordaten können durch einen Farbvideosensor erlangt und mit einem Videodatenprozessor verarbeitet werden. Radarsensordaten können Fehlalarmdaten beinhalten und das Kombinieren von Videosensordaten mit Radarsensordaten kann Detektieren von Fehlalarmdaten beinhalten. Das Kombinieren der Freiraumkarte und Lidarsensordaten kann Detektieren von Fehlalarmdaten beinhalten. Das Kombinieren der Freiraumkarte und Lidarsensordaten kann Kartendaten beinhalten. Das Fahrzeug kann durch Steuern von Lenken, Bremsen und Antriebsstrang des Fahrzeugs betrieben werden.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugs.
- 2 ist eine Darstellung eines beispielhaften Fahrzeugs, einschließlich Sensoren.
- 3 ist eine Darstellung eines beispielhaften B-Splines.
- 4 ist eine Darstellung eines beispielhaften B-Splines.
- 5 ist eine Darstellung eines beispielhaften Sensorblickfeldes.
- 6 ist eine Darstellung eines beispielhaften Sensorblickfeldes, einschließlich stationärer Objekte.
- 7 ist eine Darstellung eines beispielhaften Sensorblickfeldes, einschließlich stationärer Objekte und nicht stationärer Objekte.
- 8 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich stationärer Objekte und nicht stationärer Objekte.
- 9 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich stationärer Objekte und nicht stationärer Objekte.
- 10 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich B-Splines.
- 11 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich einer Freiraumkarte.
- 12 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich einer Freiraumkarte.
- 13 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich einer Freiraumkarte.
- 14 ist eine Darstellung einer beispielhaften Fahrzeugkarte, einschließlich einer Freiraumkarte.
- 15 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs mit einer Freiraumkarte.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine Darstellung eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 beinhaltet, das in einem autonomen („autonom“ bedeutet in dieser Offenbarung alleinstehend „vollständig autonom“) und einem von einem Insassen gesteuerten (auch als nichtautonom bezeichneten) Modus betrieben werden kann. Das Fahrzeug 110 beinhaltet außerdem eine oder mehrere Rechenvorrichtungen 115 zum Durchführen von Berechnungen zum Steuern des Fahrzeug 110 während des autonomen Betriebs. Die Rechenvorrichtungen 115 können Informationen hinsichtlich des Betriebs des Fahrzeugs von Sensoren 116 empfangen. Der Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betreiben. Zum Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, in dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 110 durch die Rechenvorrichtung gesteuert wird; in einem halbautonomen Modus steuert die Rechenvorrichtung 115 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 110; in einem nicht autonomen Modus steuert ein menschlicher Bediener den Antrieb, die Bremsung und die Lenkung des Fahrzeugs.
-
Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie diese bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Arten von computerlesbaren Medien und hat Anweisungen gespeichert, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, zu denen die hierin offenbarten gehören. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung beinhalten, um eines oder mehrere von Bremsung, Antrieb (z. B. Steuerung 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 Fahrzeugführer derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung beinhalten, z.B. Steuerungen oder dergleichen, die zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten in dem Fahrzeug 110 eingeschlossen sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., oder z. B. über einen Fahrzeugkommunikationsbus, wie nachfolgend genauer beschrieben, kommunikativ mit diesen verbunden sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation über ein Fahrzeugkommunikationsnetzwerk ausgelegt, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen beinhalten, wie sie bekannt sind, z. B. Ethernet oder andere Kommunikati onsprotokolle.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Steuerungen, 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 Fahrzeugkommunikationsnetzwerk 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, Daten für die Rechenvorrichtung 115 über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Außerdem kann die Rechenvorrichtung 115 zur Kommunikation durch eine Fahrzeug-Infrastruktur-Schnittstelle (F-I-Schnittstelle) 111 mit einem Remote-Servercomputer 120, z. B. einem Cloud-Server, über ein Netzwerk 130 konfiguriert sein, die, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, mit einem Remote-Servercomputer 120 über ein Netzwerk 130, wie z. B. drahtlose Internet- (Wi-Fi-) oder Mobilfunknetzwerke, zu kommunizieren. Die F-I-Schnittstelle 111 kann demnach Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechniken, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke, zu nutzen. Die Rechenvorrichtung 115 kann zum Kommunizieren mit anderen Fahrzeugen 110 über die F-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-Netzwerken (F-F-Netzwerken) z. B. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen konfiguriert sein, die z. B. ad hoc zwischen Fahrzeugen 110 in der Nähe gebildet werden oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet außerdem nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur-(F-I-)Schnittstelle 111 an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 in nichtflüchtigem Speicher speichert.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert sind und durch den Prozessor der Rechenvorrichtung 115 ausgeführt werden können, im Allgemeinen Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Fahrzeugführers eingeschlossen. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie z. B. Geschwindigkeit, Beschleunigung, Bremsung, Lenkung usw., sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens typischerweise auf eine Weise, mit der eine sichere und effiziente Zurücklegung einer Strecke erreicht werden soll), wie z. B. einem Abstand zwischen Fahrzeugen und/oder einer Zeitdauer zwischen Fahrzeugen, Fahrstreifenwechsel, eines Mindestabstands zwischen Fahrzeugen, eines minimalen Linksabbiegewegs, einer Zeit bis zur Ankunft an einem bestimmten Standort und eine minimale Zeit bis zur Ankunft an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung, beinhalten.
-
Steuerungen schließen im hierin verwendeten Sinne Rechenvorrichtungen ein, die üblicherweise zum 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, die möglicherweise zusätzliche Programmierung, wie hierin beschrieben, beinhaltet. 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 mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (electronic control units - ECUs) oder dergleichen einschließen, zu denen als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 gehören. Jede der Steuerungen 112, 113, 114 kann entsprechende 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 Local-Interconnect-Network-(LIN-)Bus, um Anweisungen von dem Computer 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
-
Zu den Sensoren 116 können eine Vielzahl von Vorrichtungen gehören, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Beispielsweise kann ein Radar, das an einem vorderen Stoßfänger (nicht dargestellt) des Fahrzeugs 110 befestigt ist, einen Abstand des Fahrzeugs 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor des globalen Positionsbestimmungssystems (GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Der/die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Abstand/Abstände und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 autonom oder halbautonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein landbasiertes Fahrzeug 110, das zu einem autonomen und/oder halbautonomen Betrieb in der Lage ist und drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Leicht-LKW usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die F-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten bezüglich des Fahrzeugs 110 und der Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielsweise können zu den Sensoren 116 u.a. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hall-Effekt-Sensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren wie etwa Schalter usw. gehören. Die Sensoren 116 können dazu verwendet werden, die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird; z. B. können die Sensoren 116 Phänomene wie etwa Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Position einer Straße (z. B. anhand von Straßenrändern, Fahrstreifenmarkierungen usw.) oder Positionen von Zielobjekten, wie z.B. benachbarten Fahrzeugen 110, erfassen. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf den Betrieb des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 im Fahrzeug 110 angewandten Leistungspegel, Konnektivität zwischen Komponenten und genaue und rechtzeitige Durchführung der Komponenten des Fahrzeugs 110, zu sammeln.
-
2 ist eine Darstellung eines beispielhaften Fahrzeugs 110, das Sensoren 116 beinhaltet, 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 Blickfelder 216, 218, 220, 222, 224 (gepunktete Linien) und 226, 228 (gestrichelte Linien). Ein Blickfeld 216, 218, 220, 222, 224, 226, 228 ist eine 2D-Ansicht eines 3D-Raumvolumens, in dem ein Sensor 116 Daten erlangen kann. Radarsensoren 230 arbeiten durch Übertragen von Impulsen bei Mikrowellenfrequenzen und Messen der Mikrowellenenergie, die durch Oberflächen in der Umgebung reflektiert wird, um Bereich und Dopplerbewegung zu bestimmen. Die Rechenvorrichtung 115 kann dazu programmiert sein, stationäre Objekte und nicht stationäre Objekte in Daten von dem Radarsensor 230 zu bestimmen. Stationäre Objekte beinhalten Fahrbahnen, Bordsteine, Säulen, Begrenzungen, Barrieren, Verkehrszeichen usw. und nicht stationäre Objekte beinhalten andere Fahrzeuge und Fußgänger usw. Die Detektion von Objekten in einem Blickfeld 216, 218, 220, 222, 224 wird nachfolgend in Bezug auf die 6 und 7 erörtert. Das Verarbeiten von detektierten stationären Objekten und nicht stationären Objekten zum Bestimmen einer Freiraumkarte mit B-Splines wird nachfolgend in Bezug auf die 8-13 erörtert. Ein Lidarsensor 212 emittiert Impulse von Infrarotlicht (IR-Licht) und misst die reflektierte IR-Energie, die von Oberflächen in der Umgebung in einem Blickfeld 226 reflektiert wird, um einen Bereich zu bestimmen. Die Rechenvorrichtung 115 kann dazu programmiert sein, stationäre und nicht stationäre Objekte in Lidarsensordaten zu bestimmen. Ein Videosensor 214 kann Videodaten von Umgebungslicht, das von der Umgebung des Fahrzeugs innerhalb eines Blickfeldes 228 reflektiert wird, erlangen. Ein Videosensor 214 kann einen Prozessor und Speicher beinhalten, die dazu programmiert sind, stationäre und nicht stationäre Objekte im Blickfeld 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, definiert durch eine beliebige Funktion, durch Minimieren einer Abstandsmetrik, zum Beispiel euklidischer Abstand im 2D-Raum, zwischen Knoten des B-Splines
300, dargestellt durch Xe, die als τ
1 ... τ
10 gekennzeichnet sind und sich an den Polynomfunktionen befinden, die an Kontrollpunkten
und beispielsweise einem Punkt auf der Kurve
302 verbunden sind. Ein B-Spline kann mehrdimensional sein, mit begleitenden Erhöhungen der Rechenanforderungen. Ein Knoten kann ein mehrdimensionaler Fahrzeugzustandsvektor sein, einschließlich Standort, Pose und Beschleunigungen, und die Abstandsmetrik kann durch Lösen von Sätzen von linearen Gleichungen auf Grundlage der Fahrzeugzustandsvektoren bestimmt werden. Ein B-Spline ist durch Kontrollpunkte definiert, wobei sich die Kontrollpunkte
derart befinden, dass sie eine vorbestimmte Anzahl an Knoten (Xe), zum Beispiel 2 oder 3, zwischen jedem Paar von Kontrollpunkten
die durch eine Polynomfunktion verbunden sind, aufweisen.
-
Die Auswahl von Kontrollpunkten
basiert auf dem Teilen der Knoten eines B-Splines
300 in Polynomsegmente mit etwa dergleichen Anzahl an Knoten pro Segment, zum Beispiel zwei oder drei Knoten. Der erste Kontrollpunkt
ist derart ausgewählt, dass er der Ursprung der Kurve
302 ist. Der zweite Kontrollpunkt
ist derart ausgewählt, dass er zwei oder drei Knoten in eine Richtung entfernt ist, die den Abstand zwischen den Knoten und der Kurve
302 minimiert. Der nächste Kontrollpunkt
ist derart ausgewählt, dass er zwei oder drei Knoten von dem zweiten Kontrollpunkt
in eine Richtung entfernt ist, die den Abstand zwischen der Kurve
302 und den Knoten minimiert, und so weiter, bis der letzte Kontrollpunkt
derart ausgewählt ist, dass er dem Ende der Kurve
302 entspricht. Die Auswahl der Anzahl und Positionen von Knoten in Polynomfunktionen kann beispielsweise auf einer vom Benutzer eingegebenen Anzahl an Proben pro Sekunde und der Geschwindigkeit des Fahrzeugs
110 basieren, wobei eine Fahrzeuggeschwindigkeit geteilt durch die Probenrate den Abstand zwischen benachbarten Knoten in der Polynomfunktion ergibt. In dem beispielhaften B-Spline
300 sind die Polynomfunktionen vom ersten Grad (gerade Linien). Polynomfunktionen höherer Ordnung können auch vom zweiten Grad (parabolisch), dritten Grad (kubisch) oder mehr sein.
-
Die Bewegung von jedem Kontrollpunkt
beeinflusst das B-Spline und der Effekt kann sich auf das gesamte B-Spline (globaler Effekt) oder in einem bestimmten Teil des B-Splines (lokaler Effekt) auswirken. Ein Vorteil für das Verwenden eines B-Splines ist die lokale Kontrollierbarkeit. Jedes Segment der Kurve zwischen den Kontrollpunkten
ist durch die Knoten in kleinere Segmente unterteilt. Die Gesamtanzahl an Knoten ist immer größer als die Gesamtanzahl an Kontrollpunkten
Das Hinzufügen oder Entfernen von Knoten unter Verwendung einer angemessenen Kontrollpunktbewegung kann die Kurve
302 enger replizieren, was zum Umsetzen von Filteralgorithmen unter Verwendung von Splines geeignet ist. Außerdem neigt ein B-Spline
300 höherer Ordnung (
3 oder mehr) dazu, gleichmäßig zu sein und die Kontinuität der Kurve beizubehalten, wobei die Ordnung eines B-Splines
300 die Ordnung der Polynomfunktion ist, z. B. linear, parabolisch, kubisch oder 1., 2. oder 3. Ordnung.
-
4 ist eine Darstellung eines B-Splines
400 (doppelte Linie). Ein B-Spline
400 kann eine Kurve
402 näher als das B-Spline
300 approximieren, indem mehr Kontrollpunkte
und Knoten hinzugefügt werden, was an den B-Spline-Segmenten zwischen den Kontrollpunkten
als „X“ markiert ist. Mit zunehmender Anzahl an Knoten konvergiert das B-Spline
400 zur Kurve
402. Eine p-te Ordnung der B-Spline-Kurve C(x) einer Variable x (z. B. Mehrzielzustand) ist folgendermaßen definiert:
wobei ℙ
i der i-te Kontrollpunkt ist und n
s die Gesamtanzahl an Kontrollpunkten ist. Die B-Spline-Mischfunktionen oder -Basisfunktionen sind durch B
i,p,t(x) bezeichnet. Die Mischfunktionen sind Polynome des Grades p-1. Die Ordnung p kann ausgewählt werden aus 2
bis n
s und die Kontinuität der Kurve kann durch Auswählen von p ≥ 3 beibehalten werden.
-
Der durch t bezeichnete Knoten ist ein Vektor 1 × τ und t ist eine nicht abnehmende Sequenz von reellen Zahlen, wobei t = {t
1, ... , t
τ} , d. h. t
i ≤ t
i+1, i = 1, ... , τ. Der Knotenvektor betrifft den Parameter x für die Kontrollpunkte. Die Form einer beliebigen Kurve kann durch Anpassen der Positionen der Kontrollpunkte gesteuert werden. Die i-te Basisfunktion kann folgendermaßen definiert werden:
wobei die Variablen t
i in (2) einen Knotenvektor bezeichnen. Die Basisfunktion B
i,p,t(x) ist im Intervall [t
i, t
i+p] nicht null. Die Basisfunktion B
i,p kann die Form
aufweisen und
annehmen. Für jeden beliebigen Wert des Parameters, x, ist die Summe der Basisfunktionen eins, d. h.
-
Unidimensionale Splines können durch die Verwendung einer Tensorprodukt-Spline-Konstruktion zu mehrdimensionalen erweitert werden.
-
Für eine bestimmte grundlegende Sequenz von B-Splines
und eine stetig ansteigende Sequenz von Datenreihen
kann die B-Spline-Interpolationsfunktion ĉ(x) folgendermaßen ausgedrückt werden
wobei ĉ(x) mit der Funktion c(x) bei allen x
j übereinstimmt, wenn und nur wenn
-
Gleichung (6) ist ein lineares System von n
s Gleichungen mit n
s unbekannten Werten von ℙ
i und die i-te Reihe und die j-te Spalte der Koeffizientenmatrix gleicht B
i,p,t(x
j), was bedeutet, dass die Spline-Interpolationsfunktion einen Satz von linearen Systemgleichungen löst. Die Koeffizientenmatrix kann hinsichtlich der Umkehrbarkeit unter Verwendung der Schoenberg-Whitney-Theorie verifiziert werden. Die Schoenberg-Whitney-Theorie kann folgendermaßen beschrieben werden: Wenn t ein Knotenvektor ist, p und n ganze Zahlen sind, sodass n > p > 0 und wenn x stetig zunehmend mit n + 1 Elementen ist. Die Matrix
von (6) ist umkehrbar, wenn und nur wenn
d. h., wenn und nur wenn t
i< x
i< t
i+p+1, für alle i.
-
Die B-Spline-Transformation kann auf einzelne und mehrdimensionale statistische Funktionen angewandt werden, z. B. eine Wahrscheinlichkeitsdichtefunktion und eine Wahrscheinlichkeitshypothesendichtefunktion, ohne die 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 ist, dass die SAC nicht notwendigerweise durch alle Kontrollpunkte verlaufen muss, sondern durch den ersten und den letzten verlaufen muss. Im Gegensatz dazu muss die SIC durch alle Kontrollpunkte verlaufen. Die vorliegend erörterte beispielhafte B-Spline-Transformation verwendet die SIC-Umsetzung. B-Spline-basierte Zielverfolgung kann einen Raum mit kontinuierlichem Zustand handhaben, stellt keine spezielle Annahme zum Signalrauschen an und ist in der Lage, die willkürlichen Wahrscheinlichkeitsdichte- oder Wahrscheinlichkeitshypothesendichteflächen genau zu approximieren. In den meisten Verfolgungsalgorithmen während der Aktualisierungsphase werden die Zustände aktualisiert, jedoch werden bei B-Spline-basierter Zielverfolgung nur die Knoten aktualisiert.
-
5 ist eine Darstellung einer beispielhaften Belegungsgitterkarte 500. Die Belegungsgitterkarte 500 misst Abstände von einem Fahrzeugsensor 116 an Position 0,0 auf der Belegungsgitterkarte 500, gemessen in Metern in x- und y-Richtungen von dem Sensor 116. Die Belegungsgitterkarte 500 misst die Abstände von einem Punkt vor dem Fahrzeug 110, bei dem angenommen wird, dass er sich an Position 0,0 auf der Belegungsgitterkarte 500 befindet, in Metern in x- und y-Richtungen in Gitterzellen 502 vom Sensor 116. Die Belegungsgitterkarte 500 ist eine Abbildungstechnik zum Durchführen einer Freiraumanalyse (free space analysis - FSA). FSA ist ein Prozess zum Bestimmen von Positionen, an denen es für ein Fahrzeug 110 möglich ist, sich innerhalb einer lokalen Umgebung zu bewegen, ohne dass es zu einer Kollision oder Beinahekollision mit einem Fahrzeug oder Fußgänger kommt. Eine Belegungsgitterkarte 500 ist eine zweidimensionale Anordnung von Gitterzellen 502, die einen Belegungsnachweis (d. h. Daten, die Objekte und/oder Umweltmerkmale zeigen) der Umgebung um das Fahrzeug modelliert. Die Auflösung der Belegungsgitterkarte 500 hängt von den Abmessungen der Gitterzelle 502 ab. Ein Nachteil für eine Karte mit höherer Auflösung ist die Vergrößerung der Komplexität, da die Gitterzellen in zwei Dimensionen erhöht werden müssen. Jede Belegungswahrscheinlichkeit einer Zelle wird während des Beobachtungsaktualisierungsprozesses aktualisiert.
-
Die Belegungsgitterkarte 500 nimmt an, dass ein Fahrzeug 110 in der x-Richtung fährt und einen Sensor 116 beinhaltet. Ein Blickfeld 504 für einen Sensor 116, zum Beispiel einen Radarsensor 230, veranschaulicht das 3D-Volumen, in dem der Radarsensor 230 Bereichsdaten 506 von einer lokal an einem Fahrzeug 110 gelegenen Umgebung erlangen kann, die auf eine 2D-Ebene parallel zu einer Fahrbahn projiziert werden, auf der das Fahrzeug 110 fährt.
-
Bereichsdaten 506 beinhalten einen Bereich oder Abstand d bei einem Winkel θ von einem Sensor 116 an Punkt 0,0 zu einem Datenpunkt, der durch einen offenen Kreis angegeben ist, aufweisend eine Detektionswahrscheinlichkeit P, wobei die Detektionswahrscheinlichkeit P eine Wahrscheinlichkeit ist, mit der ein Radarsensor 230 ein stationäres Objekt korrekt detektiert, wobei ein stationäres Objekt eine detektierte Fläche ist, die sich in Bezug auf die lokale Bewegung nicht bewegt und auf dem Bereich d des Datenpunkts vom Sensor 116 basiert.
-
Die Detektionswahrscheinlichkeit P kann empirisch durch Detektieren einer Vielzahl von Flächen mit gemessenen Abständen vom Sensor 116 eine Vielzahl von Malen und Verarbeiten der Ergebnisse zum Bestimmen der Wahrscheinlichkeitsverteilungen bestimmt werden. Die Detektionswahrscheinlichkeit P kann auch empirisch durch Vergleichen einer Vielzahl von Messungen mit Grundwahrheit bestimmt werden, beinhaltend Lidarsensordaten. Die Grundwahrheit ist eine Referenzmessung eines Sensordatenwerts, der unabhängig von dem Sensor bestimmt wird. Zum Beispiel können kalibrierte Lidarsensordaten als Grundwahrheit verwendet werden, um Radarsensordaten zu kalibrieren. Kalibrierte Lidarsensordaten meinen Lidarsensordaten, die mit physikalischen Messungen der gleichen Flächen verglichen wurden. Die Belegungsgitterkarte 500 kann die Wahrscheinlichkeit P der Gitterzelle 502 zuordnen, die durch den offenen Kreis belegt ist, und zwar als eine Wahrscheinlichkeit, dass die Gitterzelle 502 belegt ist.
-
6 ist eine Darstellung einer weiteren beispielhaften Belegungsgitterkarte 500. Der Radarsensor 230 kann stationäre Objekte 614 (offene Kreise) mit einer vom Abstand d abhängigen Wahrscheinlichkeit Pd
n (n=1, ..., N) detektieren, wobei N eine Anzahl an äquidistanten Bereichslinien 606, 608, 610, 612 (gepunktete Linien) ist. Die Wahrscheinlichkeit Pd
n ist der die vom Abstand d abhängige, empirisch bestimmte Detektionswahrscheinlichkeit für stationäre Objekte 614 in einem Blickfeld 504. Die Belegungsgitterkarte 600 beinhaltet äquidistante Bereichslinien 606, 608, 610, 612, die jeweils einen konstanten Bereich vom Radarsensor 230 an Position 0,0 angeben. Pd
n nimmt mit zunehmendem Bereich d von Position 0,0 ab, bleibt jedoch über eine kleine Reichweite unabhängig vom Winkel θ gleich. Die stationären Objekte 614 können verbunden werden, um das Blickfeld 604 in freie Gitterzellen 616 (nicht schattiert) und unbekannte Gitterzellen 618 (schattiert) zu unterteilen, indem jedes stationäre Objekt 614 mit dem nächsten stationären Objekt 618 in Bezug auf die Position 0,0 verbunden wird, wobei unten begonnen und sich gegen den Uhrzeigersinn bewegt wird.
-
7 ist eine Darstellung von noch einer weiteren beispielhaften Belegungsgitterkarte 500, einschließlich nicht stationärer Objekte 720, 722. Nicht stationäre Objekte 720 können durch einen Radarsensor 230 beispielsweise basierend auf Doppler-Rückgaben bestimmt werden. Da sich das Fahrzeug 110 bewegen kann, kann die Rechenvorrichtung 115 die Geschwindigkeit des Fahrzeugs von Doppler-Radar-Rückgabedaten Subtrahieren, um Flächen zu bestimmen, die sich in Bezug auf einen Hintergrund bewegen, und dadurch nicht stationäre Objekte 720, 722 bestimmen. Nicht stationäre Objekte können beispielsweise Fahrzeuge und Fußgänger beinhalten. Die Detektion von nicht stationären Objekten 720, 722 kann als Eingabe für nicht lineare Filter verwendet werden, um Bahnen zu bilden, um Hindernisse rechtzeitig zu verfolgen.
-
Bahnen sind aufeinanderfolgende Positionen für ein nicht stationäres Objekt 720, 722, die in aufeinanderfolgenden Zeitabständen detektiert und identifiziert und miteinander verbunden wurden, um einen Polynompfad zu bilden. Der nicht lineare Filter schätzt einen Zustand, einschließlich Schätzungen von Position, Richtung und Geschwindigkeit für ein nicht stationäres Objekt, basierend auf dem Polynompfad, der Kovarianzen für Unsicherheit bei Position, Richtung und Geschwindigkeit beinhalten kann. Wenngleich nicht stationäre Objekte 720, 722 ohne diese Unsicherheiten bestimmt werden, können sie in der Belegungsgitterkarte 700 enthalten sein, indem unbekannter Raum 724, 726 um jedes nicht stationäre Objekt 720, 722 bestimmt wird. Unter Verwendung von empirisch bestimmten Standardabweichungen von Kovarianzen σx und σy der Unsicherheit von x- und y-Dimensionen von nicht stationären Objekten 720, 722 können wir einen unbekannten Raum 724, 726 (schattiert) um jedes nicht stationäre Objekt 720, 722 proportional zu den Standardabweichungen der Kovarianzen σx und σy bilden. Standardabweichungen von Kovarianzen σx und σy können durch Messen einer Vielzahl von nicht stationären Objekten 720, 722 zusammen mit dem Erlangen der Grundwahrheit bezüglich der nicht stationären Objekte und Verarbeiten der Daten zum Bestimmen von Standardabweichungen von Kovarianzen σx und σy von Unsicherheiten in x- und y-Dimensionen von nicht stationären Objekten 720, 722 empirisch bestimmt werden. Die Grundwahrheit kann beispielsweise mit Lidarsensoren erlangt werden.
-
8 ist eine Darstellung einer beispielhaften Freiraumkarte 800, beinhalten ein Fahrzeugsymbol 802, das die Position, Größe und Richtung eines Fahrzeugs 110 in der Freiraumkarte 800 angibt. Eine Freiraumkarte 800 ist ein Modell der Umgebung um das Fahrzeug, wobei sich die Position des Fahrzeugsymbols 802 an der Position 0,0 im Koordinatensystem der Freiraumkarte 800 befindet. Das Erzeugen einer Belegungsgitterkarte 500 ist ein Verfahren zum Erzeugen des Umgebungsmodells, jedoch wird hierin eine Technik offenbart, die ein Modell der Umgebung um ein Fahrzeug 110 mit B-Splines erzeugt. Das B-Spline-Umgebungsmodell wird verwendet, um eine ausgegebene Freiraumregion 1416 (siehe 14) in der Freiraumkarte 800 zu erzeugen. Um eine Kontinuität bei der ausgegebenen Freiraumregion 1416 aufrechtzuerhalten, wird ein B-Spline dritter Ordnung verwendet. Die Freiraumkarte 800 nimmt ein Fahrzeug 110 mit Radarsensoren 230 an, die in einer Längsrichtung in Bezug auf das Fahrzeug ausgerichtet sind, wie in Bezug auf 1 erörtert.
-
Die Messungen werden in Bezug auf ein Koordinatensystem basierend auf dem Fahrzeug, einem Fahrzeug-Koordinatensystem (vehicle coordinate system - VCS), beobachtet. Das VCS ist ein rechts ausgerichtetes Koordinatensystem, wobei die x-Achse (längs), die y-Achse (quer) und die z-Achse (vertikal) imaginäre Linien darstellen, die vor das Fahrzeug 110, zur rechten Seite des Fahrzeugs 110 bzw. vom Fahrzeug 110 nach unten zeigen. Der Abstand zwischen der vorderen Mitte des Fahrzeugs 110 und einem stationären Objekt 812 oder nicht stationärem Objekt 804, 806, 808, 810 ist der Bereich. Unter Verwendung von rechts ausgerichteten Regeln und einer Rotation um die z-Achse können wir einen Kurswinkel berechnen, der als VCS-Kurs bezeichnet wird. Die Abweichungen im Uhrzeigersinn von der x-Achse sind positive VCS-Kurswinkel. Die Freiraumkarte 800 beinhaltet ein Fahrzeugsymbol 802, das einen Pfeil mit einer Länge proportional zur Fahrzeuggeschwindigkeit und -richtung gleich einem VCS-Kurs beinhaltet. Die Freiraumkarte 800 beinhaltet nicht stationäre Objekte 804, 806, 808, 810 (Dreiecke) und stationäre Objekte 812 (offene Kreise). Die stationären Objekte 812 beinhalten Fehlalarme, die falsche Radarsensordatenpunkte sind, d. h., die nicht einem physikalischen Objekt in der Umgebung entsprechen.
-
9 ist eine Darstellung einer beispielhaften Freiraumkarte 800. Die beobachteten stationären Objekte 812 werden unter und über dem vom Benutzer eingegebenen Bereich abgelehnt, z. B. Datenpunkte, die sich zu nah oder zu weit weg befinden, um zuverlässig gemessen zu werden, werden gelöscht. Stationäre Objekte 812 (offene Kreise) werden von nicht stationären Objekten isoliert und werden verwendet, um eine untere Grenze eines freien Raums zu erzeugen. Eine Technik, wie in 9 gezeigt, wird verwendet, um im Uhrzeigersinn zu verlaufen, wie durch den Kreis 904 veranschaulicht, und zwar in Bezug auf den VCS-Kurs des Fahrzeugsymbols 802, beginnend an der Oberseite der Freiraumkarte 800, und das stationäre Objekt 812 mit dem kürzesten Bereich für einen spezifischen Winkel auszuwählen, wie durch die gepunkteten Linien 906 veranschaulicht. Diese Auswahlen des stationären Objekts 812 wird für eine Vielzahl von Winkeln über 360 Grad wiederholt, um ausgewählte stationäre Objekte 914 (ausgefüllte Kreise) zu bestimmen.
-
10 ist eine Darstellung einer Freiraumkarte 800, beinhaltend ausgewählte stationäre Objekte 914 (gefüllte Kreise). Ausgewählte stationäre Objekte 914 werden als Kontrollpunkte in einen Prozess eingegeben, der linkes B-Spline 1002 und rechtes B-Spline 1004 auf Grundlage der vorstehenden Gleichungen (1)-(6) bestimmt. Der Prozess beginnt durch Scannen der Freiraumkarte 800, um nicht verarbeitete ausgewählte stationäre Objekte 914 zu finden. Die Freiraumkarte 800 kann in jeder beliebigen Reihenfolge gescannt werden, solange der Scan die gesamte Freiraumkarte 800 abdeckt, zum Beispiel in der Reihenfolge eines Rasterscans, bei dem die Reihen bevor den Spalten gescannt werden. Wenn ein nicht verarbeitetes ausgewähltes stationäres Objekt 914 gefunden wird, wird es durch Verbinden des gefundenen ausgewählten stationären Objekts 914 mit dem am nächsten gelegenen nicht verarbeiteten ausgewählten stationären Objekt 914 verbunden wie bei dem euklidischen Abstand in der Freiraumkarte 900 gemessen. Das gefundene ausgewählte stationäre Objekt 914 und das am nächsten gelegene nicht verarbeitete ausgewählte stationäre Objekt 914 können verbunden werden, wobei angenommen wird, dass es sich bei jedem um einen Kontrollpunkt ℙi eines B-Splines mit Knoten handelt, die entlang von Linien verteilt sind, die die Kontrollpunkte ℙi verbinden, und wobei die B-Spline-Interpolationsfunktionen für B-Splines dritter Ordnung gemäß der Gleichung (6) oben berechnet werden, um linke und rechte B-Splines 1002, 1004 basierend auf den ausgewählten stationären Objekten 914 als Kontrollpunkte ℙi zu bestimmen. Da jedes ausgewählte stationäre Objekt 914 verarbeitet wird, um das nächste am nächsten gelegene nicht verarbeitete stationäre Objekt 914 hinzuzufügen, werden linke und rechte B-Splines 1002, 1004 gebildet. Bei Anwendungen mit Echtzeitabbildung, wie etwa Bestimmen von freiem Raum für ein Fahrzeug 110, kann die Rechenkomplexität zu einem Problem werden. Belegungsgitter 600 erfordern viel Zeit zur Aktualisierung jeder Zellwahrscheinlichkeit und auch für die Segmentierung zwischen freien und nicht freien Räumen. Um die Rechenkomplexität zu reduzieren, können linke und rechte B-Splines 1002, 1004 basierend auf ausgewählten stationären Objekten 914 bestimmt werden.
-
11 ist eine Darstellung einer Freiraumkarte 800, die ausgewählte stationäre Objekte 914 (gefüllte Kreise), linke und rechte B-Splines 1002, 1004, ein Fahrzeugsymbol 802 und Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 beinhaltet. Die Rechenvorrichtung 115 kann Daten von nicht stationären Objekten 806, 808, 810, 802 im Zeitverlauf verarbeiten, um Bahnen in einer Freiraumkarte 800 zu erzeugen, um eine Position, Geschwindigkeit und Richtung für jede zu bestimmen. Basierend auf der Position, Geschwindigkeit und Richtung kann die Rechenvorrichtung 115 die Bahnen als Fahrzeuge identifizieren und Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 den bestimmten Position in der Freiraumkarte 800 zuweisen. Die Rechenvorrichtung 115 kann auch eine erste Freiraumregion 1112 (rechts-diagonal schattiert) bestimmen, indem eine minimale eingeschlossene Region bestimmt wird, die linke und rechte B-Splines 1002, 1004 beinhaltet, indem konvexe Schließvorgänge bei Teilsätzen von ausgewählten stationären Objekten 914 durchgeführt werden, um minimal einschließende Polygone zu bestimmen, und die daraus resultierenden einschließenden Polygone kombiniert werden. Die erste Freiraumregion 1112 ist eine erste Schätzung einer Freiraumregion zum sicheren und zuverlässigen Betreiben eines Fahrzeugs 110, wobei der sichere und zuverlässige Betrieb Betreiben eines Fahrzeugs 110 beinhaltet, zu einer bestimmten Position zu fahren, ohne dass es zu einer Kollision oder Beinahekollision mit einem anderen Fahrzeug oder Fußgänger kommt.
-
12 ist eine Darstellung einer beispielhaften Freiraumkarte 800, die stationäre Objekte 914, linkes B-Spline 1002, rechtes B-Spline 1004, Fahrzeugsymbol 802, Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 und eine bildbasierte Freiraumregion 1212 (linksdiagonale Schattierung) beinhaltet. Eine bildbasierte Freiraumregion 1214 ist eine Region, die durch B-Splines begrenzt ist, und zwar auf Grundlage einer Ausgabe von einem videobasierten Prozessor, der Farbvideodaten erlangt und die Farbvideodaten verarbeitet, um Fahrbahnen und Hindernisse zu bestimmen und einen Pfad für ein Fahrzeug 110 zu planen, auf dem es fahren soll. Zum Beispiel ist Advanced Driver Assistance System (ADAS) (Mobileye, Jerusalem, Israel) ein Videosensor und Prozessor, die an einer ähnlichen Position wie ein Rückspiegel an einem Fahrzeug 110 befestigt werden und Informationen bezüglich Positionen von Fahrbahnen und stationären und nicht stationären Objekten an eine Rechenvorrichtung 115 im Fahrzeug 110 kommunizieren können. Die Rechenvorrichtung 115 kann Techniken anwenden, wie vorstehend in Bezug auf 11 beschrieben, um eine bildbasierte Freiraumregion 1214 basierend auf der Ausgabe von Positionen von stationären und nicht stationären Objekten von einem videobasierten Prozessor wie ADAS zu bestimmen.
-
13 ist eine Darstellung einer beispielhaften Freiraumkarte 800, die stationäre Objekte 914, linkes B-Spline 1002, rechtes B-Spline 1004, Fahrzeugsymbol 802, Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110, bildbasierte Freiraumregion 1214 (linksdiagonale Schattierung) und erste Freiraumregion 1112 (rechts-diagonale Schattierung) beinhaltet. Die Freiraumkarte 800 beinhaltet Fehlalarmobjekte 1320 (offene Kreise). Fehlalarmobjekte 1320 sind ausgewählte stationäre Objekte 914, die der Bestimmung nach Fehlalarme sind, wobei die Wahrscheinlichkeit, dass sich ein Objekt an der Position befindet, die von dem ausgewählten stationären Objekt 914 angegeben ist, der Bestimmung nach gering ist, d. h. unter einem vorbestimmten Schwellenwert, und zwar basierend auf widersprüchlichen Informationen von der bildbasierten Freiraumregion 1214. In diesem Beispiel gibt die erste Freiraumregion 1112 an, dass Fehlalarmobjekte 1320 ausgewählte stationäre Objekte 914 sind, während die bildbasierte Freiraumregion 1214 angibt, dass der Bereich der lokalen Umgebung, der von den Fehlalarmobjekten 1320 belegt ist, freier Raum ist. Da die bildbasierte Freiraumregion 1214 Informationen bezüglich der Wahrscheinlichkeit, dass ein Bereich der lokalen Umgebung freier Raum ist, ausgeben kann und die Rechenvorrichtung 115 Kovarianzen für die erste Freiraumregion 1112 berechnet hat, wie vorstehend in Bezug auf 7 erörtert, und zwar auf Grundlage von Wahrscheinlichkeiten, kann die Rechenvorrichtung 115 Informationen bestimmen, anhand derer die Freiraumregion 1112, 1214 zu verwenden ist.
-
14 ist eine Darstellung einer beispielhaften Freiraumkarte 800, die stationäre Objekte 914, linkes B-Spline 1002, rechtes B-Spline 1004, Fahrzeugsymbol 802, Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 und eine ausgegebene Freiraumregion 1416 (Kreuzschraffur) beinhaltet. Die ausgegebene Freiraumregion 1416 wird durch Kombinieren der bildbasierten Freiraumregion 1214, der ersten Freiraumregion 1112 und Verifizieren der Kombination mit Lidardaten gebildet. Die ausgegebene Freiraumregion 1416 kann durch Vergleichen der ausgegebenen Freiraumregion 1416 mit Lidarsensordaten verifiziert werden. Da es sich bei den Lidarsensordaten um Bereichsdaten handelt, die unabhängig von Radar- und Bildsensordaten erlangt werden, handelt es sich bei den Lidarsensordaten um Grundwahrheit in Bezug auf die ausgegebene Freiraumregion 1416. Lidarsensordaten können verwendet werden, um die Segmentierung der Freiraumkarte 800 zu bestätigen, indem die Bereichsausgabe von einem Lidarsensor mit Bereichen, die für Kanten der ausgegebenen Freiraumregion 1416 bestimmt wurden, und Bereichen vom Fahrzeug 110 zu Symbolen von nicht stationären Objekten 1104, 1106, 1108, 1110 verglichen wird, wobei die Bereiche in Bezug auf die Vorderseite des Fahrzeugs 110 bestimmt werden. Der Lidarsensorbereich sollte größer als oder gleich dem Bereich sein, der von den Kanten der ausgegebenen Freiraumregion 1416 oder Symbolen der nicht stationären Objekte 1104, 1106, 1108, 1110 bestimmt wurde.
-
Wenn der von dem Lidarsensor gemeldete Bereich für einen Punkt in der Freiraumkarte 800 größer ist als der Bereich, der durch die Grenze der ausgegebenen Freiraumkarte 1416 bestimmt wurde, kann die Rechenvorrichtung 115 den Lidardatenpunktbereich auswählen.
-
Die ausgegebene Freiraumregion 1416 kann auch durch Vergleich der ausgegebenen Freiraumkarte 1416 für Kartendaten verbessert werden, beispielsweise GOOGLE™ Maps, die im Speicher der Rechenvorrichtung 115 gespeichert oder von einem Servercomputer 120 über eine F-I-Schnittstelle 111 heruntergeladen werden. Kartendaten können die Fahrbahn beschreiben und mit Informationen von Sensoren 116 kombiniert werden, einschließlich GPS-Sensoren und Beschleunigungsmesser-basierten Trägheitssensoren, und zwar bezüglich der Position, Richtung und Geschwindigkeit des Fahrzeugs 110, und können die Beschreibung des freien Raums, der in der ausgegebenen Freiraumregion 1416 enthalten ist, verbessern. Die kombinierte bildbasierte Freiraumregion 1214, die erste Freiraumregion 1112 und die Lidardaten können durch die Rechenvorrichtung verarbeitet werden, um die Freiraumkarte 800 in freien Raum, der durch die ausgegebene Freiraumregion 1416 veranschaulicht wird, belegten Raum, der durch das Fahrzeugsymbol 802 und die Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 veranschaulicht wird, und unbekannten Raum, der durch einen weißen Bereich, der die ausgegebene Freiraumregion 1214 umgibt, und einen weißen „schattierten“ Bereich, der von den Sensoren 116 des Fahrzeugs 110 durch Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 veranschaulicht wird, zu segmentieren.
-
Die Freiraumkarte 800 kann von der Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zu betreiben, indem ein Pfadpolynom bestimmt wird, auf dem das Fahrzeug 110 zu betrieben ist, um innerhalb der ausgegebenen Freiraumregion 1416 von einer aktuellen Position zu einer Zielposition zu fahren, wobei das Fahrzeug 110 innerhalb der ausgegebenen Freiraumregion 1416 bleibt, während die Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 vermieden werden. Ein Pfadpolynom ist eine Polynomfunktion Grad drei oder weniger, die die Bewegung eines Fahrzeugs 110 auf einer Fahrbahn beschreibt. Die Bewegung eines Fahrzeugs auf einer Fahrbahn wird durch einen mehrdimensionalen Zustandsvektor beschrieben, der Fahrzeugposition, -ausrichtung, -geschwindigkeit und -beschleunigung, einschließlich der Positionen in x, y, z, Gieren, Nicken Rollen, Gierrate, Nickrate, Rollrate, Drehwinkel und Drehbeschleunigung beinhaltet, die bestimmt werden können, indem eine Polynomfunktion an aufeinanderfolgende 2D-Positionen angebracht wird, die im Fahrzeugbewegungsvektor enthalten sind, und zwar beispielsweise in Bezug auf eine Fahrbahnoberfläche. Die Polynomfunktion kann von der Rechenvorrichtung 115 bestimmt werden, indem nächste Positionen für das Fahrzeug 110 basierend auf dem aktuellen Fahrzeugzustandsvektor vorhergesagt werden, indem gefordert wird, dass das Fahrzeug 110 innerhalb der oberen und unteren Grenze der Quer- und Längsbeschleunigung bleibt, während es entlang des Pfadpolynoms zu einer Zielposition innerhalb der ausgegebenen Freiraumregion 1416 fährt. Die Rechenvorrichtung 115 kann ein Pfadpolynom bestimmen, das innerhalb einer ausgegebenen Freiraumregion 1416 bleibt, Kollisionen und Beinahekollisionen mit Fahrzeugen und Fußfängern verhindert, indem ein vom Benutzer eingegebener Mindestabstand von den Symbolen von nicht stationären Objekten 1104, 1106, 1108, 1110 beibehalten wird, und eine Zielposition mit einem Fahrzeugzustandsvektor in einem gewünschten Zustand erreicht.
-
Die Rechenvorrichtung 115 betreibt das Fahrzeug 110 auf dem Pfadpolynom durch Bestimmen von Befehlen, die an die Steuerungen 112, 113, 114 zu senden sind, um Antriebsstrang, Lenken und Bremsen des Fahrzeugs 110 zu steuern, um das Fahrzeug 110 zu veranlassen, entlang des Pfadpolynoms zu fahren. Die Rechenvorrichtung 115 kann Befehle bestimmen, die an die Steuerungen 112, 113, 114 zu senden sind, indem die Befehle bestimmt werden, die eine Bewegung des Fahrzeugs 110 veranlassen, die den im Pfadpolynom enthaltenen vorhergesagten Fahrzeugzustandsvektoren entspricht. Die Rechenvorrichtung 115 kann Wahrscheinlichkeiten bestimmen, die mit vorhergesagten Positionen der Symbole von nicht stationären Objekten 1104, 1106, 1108, 1110 assoziiert sind, und zwar auf Grundlage von vom Benutzer eingegebenen Parametern, und die Informationen auf der Freiraumkarte 800 abbilden. Das Bestimmen der Freiraumkarte 800, einschließlich der ausgegebenen Freiraumregion 1416, basierend auf B-Splines, wie vorstehend in Bezug auf die 8-14 beschrieben, verbessert den Betrieb des Fahrzeugs 110 basierend auf einem Pfadpolynom, indem eine ausgegebene Freiraumregion 1416 mit weniger Fehlalarmen, höherer Genauigkeit und weniger Rechenleistung als Techniken, die auf einer Belegungsgitterkarte 500 basieren, bestimmt wird.
-
15 ist eine Darstellung eines Ablaufdiagramms, das in Bezug auf die 1-14 beschrieben ist, eines Prozesses 1500 zum Betreiben eines Fahrzeugs basierend auf einer Freiraumkarte 800. Der Prozess 1500 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt werden, indem z. B. Informationen von den Sensoren 116 als Eingabe herangezogen und Befehle ausgeführt und Steuersignale über die Steuerungen 112, 113, 114 gesendet werden. Der Prozess 1500 beinhaltet mehrere Blöcke in der veranschaulichten Reihenfolge. Der Prozess 1500 beinhaltet auch Umsetzungen, die weniger Blöcke und/oder Blöcke in anderen Reihenfolge beinhalten.
-
Der Prozess 1500 beginnt bei Block 1502, in dem eine Rechenvorrichtung 115, die in einem Fahrzeug 110 enthalten ist, eine Freiraumkarte 800 bestimmen kann, die eine ausgegebene Freiraumregion 1416 beinhaltet, indem Daten von Radarsensoren 230 und videobasierten Bildsensoren kombiniert werden. Die Daten von den Radarsensoren 230 sind in stationäre Objekte 812 und nicht stationäre Objekte 804, 806, 808, 810 unterteilt. Die stationären Objekte 812 werden durch die Rechenvorrichtung 115 verarbeitet, um ausgewählte stationäre Objekte 914 zu werden, die dann in B-Splines umgewandelt und verbunden werden, um zu einer ersten Freiraumregion 1112 zu werden. Die erste Freiraumregion 1112 wird mit der bildbasierten Freiraumregion 1214, die durch das Verarbeiten von Videodaten erzeugt wurde, und Kartendaten kombiniert, um eine ausgegebene Freiraumregion 1416 zu erzeugen, die in einer Freiraumkarte 800 enthalten ist.
-
Bei Block 1504 kombiniert die Rechenvorrichtung 115 die Freiraumkarte 800, die die ausgegebene Freiraumregion 1416 beinhaltet, mit Bodenwahrheits-Lidardaten. Lidardaten beinhalten Bereichsdaten für Flächen, die Infrarotstrahlung reflektieren, die von einem Lidarsensor in der lokalen Umgebung um ein Fahrzeug 110 ausgegeben wird. Lidardaten können mit der ausgegebenen Freiraumregion 1416 verglichen werden, um zu bestimmen, ob Objekte, wie durch die Lidardaten angegeben, in der Freiraumregion 1416 enthalten sind. Eine Nichtübereinstimmung zwischen Lidardaten und der ausgegebenen Freiraumregion 1416 könnte eine Fehlfunktion des Systems angeben, die unzuverlässige Daten angibt. Wenn die Rechenvorrichtung 115 von unzuverlässigen Daten erfährt, kann die Rechenvorrichtung 115 reagieren, indem beispielsweise dem Fahrzeug 110 befohlen wird, bis zum Stillstand zu abzubremsen und einzuparken.
-
Bei Block 1506 kann die Rechenvorrichtung ein Pfadpolynom basierend auf der kombinierten ausgegebenen Freiraumregion 1416 und den Lidardaten bestimmen. Das Kombinieren von Lidar-Grundwahrheitsdaten mit einer ausgegebenen Freiraumregion 1416 kann die Genauigkeit der ausgegebenen Freiraumregion 1416 verbessern, indem Fehlalarme bestimmt werden und dadurch die ausgegebene Freiraumregion 1416 stärker mit den Kartendaten übereinstimmt. Das Pfadpolynom kann von der Rechenvorrichtung auf Grundlage der kombinierten Freiraumregion 1416 und den Lidardaten bestimmt werden, wie vorstehend in Bezug auf 14 erörtert, um dem Fahrzeug 110 zu ermöglichen, von einer aktuellen Position in der ausgegebenen Freiraumregion 1416 zu einer Zielposition in der ausgegebenen Freiraumregion 1416 betrieben zu werden, während die Quer- und Längsbeschleunigung des Fahrzeugs 110 innerhalb der oberen und unteren Grenze gehalten werden und Kollisionen oder Beinahekollisionen mit nicht stationären Objekten 804, 806, 808, 810 vermieden werden.
-
Bei Block 1508 gibt die Rechenvorrichtung Befehle an die Steuerungen 112, 113, 114 aus, um Antriebsstrang, Lenken und Bremsen des Fahrzeugs 110 zu steuern, um das Fahrzeug 110 entlang des Pfadpolynoms zu betreiben. Das Fahrzeug 110 kann zu Beginn des Pfadpolynoms mit einer hohen Geschwindigkeit auf einer Fahrbahn fahren und mit einer hohen Geschwindigkeit fahren, wenn es die Zielposition erreicht. Da das Bestimmen der Pfadpolynome effizient unter Verwendung von B-Splines durchgeführt werden kann, hat die Rechenvorrichtung 115 ein neues Pfadpolynom bestimmt, bevor das Fahrzeug 110 die Zielposition erreicht, wodurch dem Fahrzeug 110 ermöglicht wird, gleichmäßig von Pfadpolynom zu Pfadpolynom zu fahren, ohne die Geschwindigkeit oder Richtung abrupt zu ändern. Nach Block 1506 endet der Prozess 1500.
-
Rechenvorrichtungen, wie etwa die hier erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa den vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Verfahren ausführbar sind. Beispielsweise können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle verwirklicht sein.
-
Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -techniken, einschließlich unter anderem entweder allein oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw., erstellt worden sind. 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, einschließlich eines oder mehrerer der hier beschriebenen Prozesse, durchführt. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt an computerlesbaren 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 schließt ein jedes Medium ein, das an der Bereitstellung von Daten (z. B. Befehlen) beteiligt ist, die von einem Computer gelesen 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 zum Beispiel 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.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern nicht ausdrücklich etwas anderes angegeben ist. 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 wird bzw. werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.
-
Der Ausdruck „beispielhaft“ wird hierin in dem Sinne verwendet, dass er ein Beispiel angibt; z. B. sollte ein Verweis auf eine „beispielhafte Vorrichtung“ einfach als Bezugnahme auf ein Beispiel für eine Vorrichtung 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/einem genau beschriebenen Geometrie, Abstand, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Bearbeitungszeit, 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 die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der 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. Anders ausgedrückt, dienen die Beschreibungen von Prozessen in dieser Schrift der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: Bestimmen einer Freiraumkarte einer Umgebung um ein Fahrzeug durch Kombinieren von Videosensordaten und Radarsensordaten, Bestimmen eines Pfadpolynoms durch Kombinieren der Freiraumkarte und von Lidarsensordaten und Betreiben des Fahrzeugs mit dem Pfadpolynom.
-
Gemäß einer Ausführungsform beinhaltet das Kombinieren der Videosensordaten und der Radarsensordaten Projizieren von Videosensordatenpunkten und Radarsensordatenpunkten auf die Freiraumkarte basierend auf dem Bestimmen eines Abstands und einer Richtung von einem Videosensor bzw. Radarsensor der Videosensordatenpunkte und der Radarsensordatenpunkte.
-
Gemäß einer Ausführungsform ist die Freiraumkarte eine abwärtsgerichtete Karte einer Umgebung um das Fahrzeug, die eine Fahrbahn und ein oder mehrere andere Fahrzeuge beinhaltet, die durch stationäre bzw. nicht stationäre Datenpunkte dargestellt werden.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen der Freiraumkarte ferner Bestimmen von stationären Datenpunkten und nicht stationären Datenpunkten basierend auf Videosensordatenpunkten und Radarsensordatenpunkten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen der Freiraumkarte ferner Anbringen von B-Splines an einen Teilsatz von stationären Datenpunkten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen des Pfadpolynoms ferner Bestimmen eines vorhergesagten Standorts in Bezug auf die Fahrbahn basierend auf der Freiraumkarte, einschließlich nicht stationärer Datenpunkte und Lidarsensordaten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen des Pfadpolynoms ferner Anwenden von oberen und unteren Grenzen auf Quer- und Längsbeschleunigungen.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben des Fahrzeugs mit dem Pfadpolynom innerhalb der Freiraumkarte, während nicht stationären Datenpunkten ausgewichen wird, Betreiben des Fahrzeugs auf einer Fahrbahn und Ausweichen von anderen Fahrzeugen.
-
Gemäß einer Ausführungsform basieren Videosensordaten auf dem Verarbeiten von Videosensordaten mit einem Videodatenprozessor.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, aufweisend einen Prozessor und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die von dem Prozessor auszuführen sind, um: eine Freiraumkarte einer Umgebung um ein Fahrzeug durch Kombinieren von Videosensordaten und Radarsensordaten zu bestimmen; ein Pfadpolynom durch Kombinieren der Freiraumkarte und von Lidarsensordaten zu bestimmen; und das Fahrzeug mit dem Pfadpolynom zu betreiben.
-
Gemäß einer Ausführungsform beinhaltet das Kombinieren der Videosensordaten und der Radarsensordaten Projizieren von Videosensordatenpunkten und Radarsensordatenpunkten auf die Freiraumkarte basierend auf dem Bestimmen eines Abstands und einer Richtung von einem Videosensor bzw. Radarsensor der Videosensordatenpunkte und der Radarsensordatenpunkte.
-
Gemäß einer Ausführungsform ist die Freiraumkarte eine abwärtsgerichtete Karte einer Umgebung um das Fahrzeug, die eine Fahrbahn und ein oder mehrere andere Fahrzeuge beinhaltet, die durch stationäre bzw. nicht stationäre Datenpunkte dargestellt werden.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen der Freiraumkarte ferner Bestimmen von stationären Datenpunkten und nicht stationären Datenpunkten basierend auf Videosensordatenpunkten und Radarsensordatenpunkten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen der Freiraumkarte ferner Anbringen von B-Splines an einen Teilsatz von stationären Datenpunkten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen des Pfadpolynoms ferner Bestimmen eines vorhergesagten Standorts in Bezug auf die Fahrbahn basierend auf der Freiraumkarte, einschließlich nicht stationärer Datenpunkte und Lidarsensordaten.
-
Gemäß einer Ausführungsform beinhaltet das Bestimmen des Pfadpolynoms ferner Anwenden von oberen und unteren Grenzen auf Quer- und Längsbeschleunigungen.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben des Fahrzeugs mit dem Pfadpolynom innerhalb der Freiraumkarte, während nicht stationären Datenpunkten ausgewichen wird, Betreiben des Fahrzeugs auf einer Fahrbahn und Ausweichen von anderen Fahrzeugen.
-
Gemäß einer Ausführungsform basieren Videosensordaten auf dem Verarbeiten von Videosensordaten mit einem Videodatenprozessor.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: Mittel zum Steuern des Lenkens, Bremsens und Antriebsstrangs des Fahrzeugs; Computermittel für Folgendes: Bestimmen einer Freiraumkarte einer Umgebung um ein Fahrzeug durch Kombinieren von Videosensordaten und Radarsensordaten; Bestimmen eines Pfadpolynoms durch Kombinieren der Freiraumkarte und von Lidarsensordaten; und Betreiben des Fahrzeugs mit dem Pfadpolynom und Mittel zum Steuern des Lenkens, Bremsens und Antriebsstrangs des Fahrzeugs.
-
Gemäß einer Ausführungsform beinhaltet das Kombinieren der Videosensordaten und der Radarsensordaten Projizieren von Videosensordatenpunkten und Radarsensordatenpunkten auf die Freiraumkarte basierend auf dem Bestimmen eines Abstands und einer Richtung von einem Videosensor bzw. Radarsensor der Videosensordatenpunkte und der Radarsensordatenpunkte.