-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonom fahrende Fahrzeuge und insbesondere auf Systeme und Verfahren zum Lokalisieren eines autonomen Fahrzeug innerhalb eines Raums.
-
Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringfügiger oder gar keiner Benutzereingabe zu navigieren. Ein autonomes Fahrzeug erfasst seine Umgebung unter Verwendung von Sensorvorrichtungen, wie beispielsweise Radar-, Lidar-, Bildsensoren und dergleichen. Das autonome Fahrzeugsystem nutzt weiterhin Informationen von globalen Positioniersystemen (GPS), Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder drahtgesteuerten Systemen, um das Fahrzeug zu navigieren.
-
Während autonome Fahrzeuge und halbautonome Fahrzeuge viele potenzielle Vorteile gegenüber herkömmlichen Fahrzeugen bieten, kann es unter bestimmten Umständen wünschenswert sein, den Betrieb der Fahrzeuge zu verbessern. So bestimmen beispielsweise autonome Fahrzeuge ihre Position, beispielsweise innerhalb von Fahrspurbegrenzungen (nachfolgend Lokalisierung genannt), und nutzen diese Position zum Navigieren des Fahrzeugs. In einigen Fällen kann es schwierig sein, das Fahrzeug innerhalb der Fahrspurbegrenzung zu lokalisieren. So können beispielsweise bei rauen Umgebungsbedingungen wie Schnee oder starkem Regen die Fahrspurbegrenzungen nicht erkennbar sein, sodass die Fahrzeugposition innerhalb der Fahrspur undefinierbar sein kann.
-
Dementsprechend ist es wünschenswert, Systeme und Verfahren zum Lokalisieren eines autonomen Fahrzeugs vorzusehen. Es ist ferner wünschenswert, verbesserte Systeme und Verfahren zum Lokalisieren des Fahrzeugs basierend auf Sensordaten von Sensoren vorzusehen, die bereits in einem autonomen Fahrzeug vorhanden sind. Ferner werden weitere wünschenswerte Funktionen und Merkmale der vorliegenden Offenbarung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen, sowie dem vorangehenden technischen Gebiet und Hintergrund ersichtlich.
-
KURZDARSTELLUNG
-
Systeme und Verfahren zum Lokalisieren eines Fahrzeugs sind vorgesehen. In einer Ausführungsform beinhaltet ein Verfahren: das Empfangen von Sensordaten von einem Sensor des Fahrzeugs durch einen Prozessor; Filtern der Sensordaten für Daten, die statischen Elementen der Umgebung zugeordnet sind; Bestimmen von Echtzeit-Höhenwerten, die den statischen Elementen zugeordnet sind, durch den Prozessor; Korrelieren der Echtzeit-Höhenwerte mit definierten Höhenwerten, die einer Karte der Umgebung zugeordnet sind, durch den Prozessor; Lokalisieren des Fahrzeugs auf der Karte durch den Prozessor, basierend auf den korrelierten Echtzeit-Höhenwerten und den definierten Höhenwerten; und Steuern des Fahrzeugs durch den Prozessor, basierend auf der Lokalisierung.
-
In verschiedenen Ausführungsformen beinhaltet das Verfahren das Filtern eines Bandes von Pixeldaten aus den Sensordaten, worin das Band durch einen Höhenbereich einen Radiusbereich von einer Position des Fahrzeugs definiert ist. In verschiedenen Ausführungsformen beinhaltet das Verfahren das Bestimmen der Echtzeit-Höhenwerte basierend auf einem maximalen Höhenwert für jedes Pixel in den Pixeldaten. In verschiedenen Ausführungsformen sind die Sensordaten Bilddaten von einer Vielzahl von Bildsensoren, die die Umgebung des Fahrzeugs erfassen. In verschiedenen Ausführungsformen umfassen die statischen Elemente die Elemente, die an einem Boden der Umgebung befestigt sind. In verschiedenen Ausführungsformen umfassen die Echtzeit-Höhenwerte maximale Höhenwerte der statischen Elemente in der Umgebung.
-
In verschiedenen Ausführungsformen beinhaltet das Verfahren das Durchführen einer nullmittelwertigen normierten Kreuzkorrelation zwischen den Echtzeit-Höhenwerten und den definierten Höhenwerten. In verschiedenen Ausführungsformen beinhaltet das Verfahren das Berechnen einer Summe von quadrierten Abständen zwischen den Echtzeit-Höhenwerten und den definierten Höhenwerten. In verschiedenen Ausführungsformen beinhaltet das Verfahren das Anwenden eines Merkmalsdetektors auf die Echtzeit-Höhenwerte, um ein Merkmal zu erhalten, und das Projizieren des Merkmals auf mindestens eine Zelle, in der sich das Merkmal befindet.
-
In einer anderen Ausführungsform ist ein System zum Lokalisieren eines Fahrzeugs vorgesehen. Das System beinhaltet: mindestens einen Sensor, der Sensordaten erzeugt, die einer Umgebung des Fahrzeugs zugeordnet sind; und eine Steuerung, die konfiguriert ist, um durch einen Prozessor die Sensordaten für Daten zu filtern, die statischen Elementen der Umgebung zugeordnet sind, Echtzeit-Höhenwerte zu bestimmen, die den statischen Elementen zugeordnet sind, die Echtzeit-Höhenwerte mit definierten Höhenwerten zu korrelieren, die einer Karte der Umgebung zugeordnet sind, das Fahrzeug auf der Karte basierend auf den korrelierten Echtzeit-Höhenwerten und den definierten Höhenwerten zu lokalisieren und das Fahrzeug basierend auf der Lokalisierung zu steuern.
-
In verschiedenen Ausführungsformen filtert die Steuerung die Sensordaten durch Filtern eines Pixel-Datenbandes aus den Sensordaten, worin das Band durch einen Höhenbereich und einen Radiusbereich von einer Position des Fahrzeugs definiert ist.
-
In verschiedenen Ausführungsformen bestimmt die Steuerung die Echtzeit-Höhenwerte basierend auf einem maximalen Höhenwert für jedes Pixel in den Pixeldaten. In verschiedenen Ausführungsformen sind die Sensordaten Bilddaten von einer Vielzahl von Bildsensoren, die die Umgebung des Fahrzeugs erfassen. In verschiedenen Ausführungsformen umfassen die statischen Elemente die Elemente, die an einem Boden der Umgebung befestigt sind. In verschiedenen Ausführungsformen umfassen die Echtzeit-Höhenwerte maximale Höhenwerte der statischen Elemente in der Umgebung.
-
In verschiedenen Ausführungsformen korreliert die Steuerung durch eine nullmittelwertige normierte Kreuzkorrelation zwischen den Echtzeit-Höhenwerten und den definierten Höhenwerten. In verschiedenen Ausführungsformen korreliert die Steuerung durch das Berechnen einer Summe von quadrierten Abständen zwischen den Echtzeit-Höhenwerten und den definierten Höhenwerten. In verschiedenen Ausführungsformen korreliert die Steuerung durch das Anwenden eines Merkmalsdetektors auf die Echtzeit-Höhenwerte, um ein Merkmal zu erhalten, und das Projizieren des Merkmals auf mindestens eine Zelle, in der sich das Merkmal befindet.
-
In noch einer anderen Ausführungsform ist ein System zum Lokalisieren eines Fahrzeugs vorgesehen. Das System beinhaltet: ein erstes nicht-flüchtiges Modul, das durch einen Prozessor Sensordaten empfängt, die einer äußeren Umgebung des Fahrzeugs zugeordnet sind, und das die Sensordaten nach Daten filtert, die statischen Elementen der Umgebung zugeordnet sind; ein zweites nicht-flüchtiges Modul, das durch einen Prozessor Echtzeit-Höhenwerte bestimmt, die den statischen Elementen zugeordnet sind; ein viertes nicht-flüchtiges Modul, das durch einen Prozessor die Echtzeit-Höhenwerte mit definierten Höhenwerten korreliert, die einer Karte der Umgebung zugeordnet sind; und ein fünftes nicht-flüchtiges Modul, das durch einen Prozessor das Fahrzeug auf der Karte basierend auf den korrelierten Echtzeit-Höhenwerten und den definierten Höhenwerten lokalisiert und das Fahrzeug basierend auf der Lokalisierung steuert.
-
In verschiedenen Ausführungsformen filtert das erste nicht-flüchtige Modul die Sensordaten durch Filtern eines Pixel-Datenbandes aus den Sensordaten, worin das Band durch einen Höhenbereich und einen Radiusbereich von einer Position des Fahrzeugs definiert ist.
-
Figurenliste
-
Die exemplarischen Ausführungsformen werden nachfolgend in Verbindung mit den folgenden Zeichnungen beschrieben, worin gleiche Bezugszeichen gleiche Elemente bezeichnen, und worin gilt:
- 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug mit einem Ortungssystem gemäß verschiedenen Ausführungsformen veranschaulicht;
- 2 ist ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen aus 1 gemäß verschiedenen Ausführungsformen darstellt;
- Die 3 und 4 sind Datenflussdiagramme, die ein autonomes Fahrsystem veranschaulichen, welches das Ortungssystem des autonomen Fahrzeugs gemäß verschiedenen Ausführungsformen beinhaltet; und
- 5 ist ein Flussdiagramm, das ein Steuerverfahren zum Steuern des autonomen Fahrzeugs gemäß verschiedenen Ausführungsformen veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Bereich, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, auf die Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in Kombinationen, unter anderem umfassend, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bieten. Ausführungsformen der vorliegenden Offenbarung können hierin als funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass die exemplarischen Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
-
Der Kürze halber sind konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienelementen der Systeme) hierin ggf. nicht im Detail beschrieben. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
-
Unter Bezugnahme auf 1 ist ein bei 100 allgemein dargestelltes Ortungssystem mit einem Fahrzeug 10 gemäß verschiedenen Ausführungsformen assoziiert. Im Allgemeinen verarbeitet das Ortungssystem 100 Daten von Bildsensoren, die um das Fahrzeug 10 herum angeordnet sind (wie im Folgenden näher erläutert wird), um eine Höhe bestimmter statischer Merkmale in der Umgebung zu bestimmen. Das Ortungssystem 100 erstellt eine Echtzeit-Höhenkarte der Umgebung und korreliert die Echtzeit-Höhenkarte mit einer definierten Höhenkarte der Umgebung. Das Ortungssystem 100 bestimmt die Fahrzeugposition basierend auf der Korrelation zwischen der Echtzeit-Höhenkarte und der definierten Höhenkarte der Umgebung. Das Fahrzeug 10 steuert dann intelligent das Fahrzeug 10 basierend auf der ermittelten Position.
-
Wie in 1 dargestellt, beinhaltet das Fahrzeug 10 im Allgemeinen ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umhüllt im Wesentlichen die anderen Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Chassis 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar verbunden.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das Ortungssystem 100 ist in das autonome Fahrzeug 10 (nachfolgend als das autonome Fahrzeug 10 bezeichnet) integriert. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können. In einer exemplarischen Ausführungsform ist das autonome Fahrzeug 10 ein sogenanntes Level-Vier oder Level-Fünf Automatisierungssystem. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ unter Bezugnahme auf die Fahrmodus-spezifische Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Anforderung einzugreifen, reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können. Wie zu erkennen ist, kann das Fahrzeug 10 in verschiedenen Ausführungsformen alle beliebigen Automatisierungsgrade annehmen.
-
Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Stellantriebsystem 30, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Getriebesystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 zu den Fahrzeugrädern 16-18 gemäß den wählbaren Drehzahlverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16-18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine und/oder andere geeignete Bremssysteme beinhalten. Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16-18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad dargestellt, kann das Lenksystem 24 kein Lenkrad beinhalten.
-
Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Sensoren 40a-40n können Radargeräte, Lidare, globale Positionierungssysteme, optische Kameras, Wärmebildkameras, Ultraschallsensoren, Trägheitsmesseinheiten und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt. In verschiedenen Ausführungsformen beinhalten die Abtastvorrichtungen 40a-40n einen oder mehrere Bildsensoren, die Bildsensordaten erzeugen, die vom Ortungssystem 100 verwendet werden.
-
Das Stellgliedsystem 30 beinhaltet ein oder mehrere Stellgliedvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugeigenschaften, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26, steuern, sind aber nicht darauf beschränkt. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale ferner Innen- und/oder Außenfahrzeugmerkmale, wie beispielsweise Türen, einen Kofferraum und Innenraummerkmale, wie z. B. Luft, Musik, Beleuchtung usw. (nicht nummeriert) beinhalten, sind jedoch nicht auf diese beschränkt.
-
Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Vorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das drahtlose Kommunikationssystem 36 dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards, über Bluetooth oder mittels einer mobilen Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations-(DSRC)-Kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 definierte Karten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Karten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Karten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. In verschiedenen Ausführungsformen beinhalten die definierten Karten Höhenkarten der Umgebung, die vom Ortungssystem 100 verwendet werden. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
-
Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU) unter mehreren Prozessoren verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes), ein Makroprozessor, eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können flüchtige und nicht-flüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nicht-flüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebige andere elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jede eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen umfasst. Die Anweisungen empfangen und verarbeiten, wenn diese vom Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale an das Stellgliedsystem 30, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl an Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logiken, Berechnungen, Verfahren und/oder Algorithmen durchzuführen, und Steuersignale zu erzeugen, um die Funktionen des autonomen Fahrzeugs 10 automatisch zu steuern.
-
In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen der Steuerung 34 im Ortungssystem 100 verkörpert und verarbeiten, wenn sie durch den Prozessor 44 ausgeführt werden, Daten von den Bildsensoren, um eine Höhe bestimmter statischer Merkmale in der Umgebung zu bestimmen; und bestimmen die Fahrzeugposition basierend auf einer Korrelation zwischen der bestimmten Echtzeithöhe der Merkmale und einer definierten Höhe der statischen Merkmale in der Umgebung.
-
Mit weiterem Bezug auf 2 in verschiedenen Ausführungsformen kann das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Unternehmens in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
-
Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein drahtloses Trägersystem 60 beinhalten, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des drahtlosen Trägersystems 60 mit dem Festnetz erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 60 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
-
Abgesehen vom Verwenden des Drahtlosträgersystems 60 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 10a-10n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
-
Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Drahtlosträgersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 ein Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem Drahtlosträgersystem 60, kommunizieren kann.
-
Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann das Benutzergerät 54 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: einen Desktop-Computer; einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer); einem Smartphone; einem Videospielgerät; einem digitalen Media-Player; einem Bestandteil eines Heimunterhaltungsgeräts; einer Digitalkamera oder Videokamera; einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung); oder dergleichen. Jede von der Betriebsumgebung 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
-
Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme, die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater oder einer Kombination aus beidem besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmerauthentifizierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende T eilnehmerinformati onen.
-
Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Transportsystems 52 über die Benutzervorrichtung 54 eine Fahrtanforderung erstellen. Die Fahrtanforderung gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Passagierziel identifizieren kann) und eine Abholzeit an. Das entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das entfernte Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
-
Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder Basislinien autonomes Fahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
-
Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 34 ein autonomes Antriebssystem (ADS) 70, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. der Prozessor 44 und die computerlesbare Speichervorrichtung 46) verwendet werden, um ein autonomes Antriebssystem 70 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Antriebssystem 70 je nach Funktion, Modul oder System gegliedert sein. Das autonome Antriebssystem 70 kann beispielsweise, wie in 3 dargestellt, ein Computer-Sichtsystem 74, ein Positionierungssystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Computer-Sichtsystem 74 Sensordaten und prognostiziert Anwesenheit, Standort, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungsformen kann das Computer-Sichtsystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale zum Steuern des Fahrzeugs 10 entsprechend der ermittelten Strecke.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalserkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
-
Wie vorstehend kurz erwähnt, ist das Ortungssystem 100 von 1 beispielsweise im ADS 70 als Teil des Positionierungssystems 76 integriert. So stellt beispielsweise das Ortungssystem 100 dem Positionierungssystem 76 Daten zur Verfügung, die eine genaue Position des Fahrzeugs 10 in Bezug auf die Umgebung anzeigen.
-
Wie beispielsweise mit Bezug auf 4 und unter fortgesetzter Bezugnahme auf 3 näher dargestellt, beinhaltet das Ortungssystem 100 ein Datenfiltermodul 90, ein Höhendatenkonstruktionsmodul 92, ein Korrelationsmodul 94, ein Ortungsmodul 96 und einen Höhenkartendatenspeicher 98.
-
Der Höhenkartendatenspeicher 98 speichert Karten der navigierbaren Umgebung. Der Höhenkartendatenspeicher speichert Höhendaten für statische Elemente in der Umgebung. Die statischen Elemente sind Elemente, die am Boden befestigt sind oder sich in der Umgebung nicht bewegen oder verändern. Die Höhendaten werden basierend auf einer Position der statischen Elemente in Bezug auf die Karte gespeichert. Die Höhendaten und die Positionen der statischen Elemente können vorgegeben und im Datenspeicher 98 basierend auf einer oder mehreren Höhenkartierungstechniken gespeichert werden und sind nicht auf ein einzelnes Verfahren beschränkt.
-
Das Datenfiltermodul 90 empfängt Bilddaten 101 von den Bildsensoren. Das Datenfiltermodul 90 verarbeitet die Bilddaten 101 unter Verwendung einer oder mehrerer Filtertechniken, um gefilterte Daten 102 bereitzustellen, die statische Elemente beinhalten. Die statischen Elemente können Merkmale beinhalten, die in der Umgebung befestigt sind, wie beispielsweise, aber nicht beschränkt auf, Stoppschilder oder andere Schilder, Gebäudefassaden, Bordsteine, Strommasten, usw.
-
In verschiedenen Ausführungsformen filtert das Datenfiltermodul 90 die Bilddaten 101, indem es Daten (X, Y, Z-Koordinaten) extrahiert, die in ein definiertes Band um das Fahrzeug 10 fallen (d. h. das Fahrzeug 10 ist der Mittelpunkt des Bandes). Das Band kann beispielsweise durch einen Höhenbereich (eine minimale Höhe und eine maximale Höhe) und einen Radiusbereich (ein minimaler Radius und ein maximaler Radius) definiert werden. So kann beispielsweise der Höhenbereich Werte beinhalten, bei denen typischerweise statische Elemente auftreten können (z. B. zwischen knapp über dem Fahrgestell bis etwa 2,5 Meter über dem Boden, oder andere Werte). In einem weiteren Beispiel kann der Radiusbereich ebenfalls Werte beinhalten, bei denen die statischen Elemente typischerweise auftreten können (z. B. zwischen 20 Metern vom Fahrzeug und 80 Metern vom Fahrzeug entfernt, oder andere Werte). Wie zu erkennen ist, können andere Verfahren oder Werte durchgeführt werden, um statische Elemente in verschiedenen Ausführungsformen herauszufiltern.
-
Das Höhendatenkonstruktionsmodul 92 empfängt als Eingabe die gefilterten Daten 102. Das Höhendatenkonstruktionsmodul 92 bestimmt Echtzeit-Höhendaten 104 aus den gefilterten Daten 102. So wertet beispielsweise das Höhendaten-Konstruktionsmodul 92 das Datenband aus, um einen einzelnen Höhenwert (z. B. einen maximalen Z-Wert im X-, Y-, Z-Koordinatensystem, den mittleren Z-Wert für eine Zelle) für jedes X-, Y-Pixel innerhalb der gefilterten Daten 102 zu bestimmen. Der Höhenwert wird dann mit der dem Pixel zugeordneten X,Y-Koordinate korreliert und als Echtzeit-Höhendaten 104 bereitgestellt.
-
Das Korrelationsmodul 94 empfängt als Eingabe die Echtzeit-Höhendaten 104 und die definierten Höhendaten 106. Die definierten Höhendaten 106 können basierend auf einer aktuellen Position des Fahrzeugs 10 aus dem Datenspeicher 98 abgerufen werden. So können beispielsweise die definierten Höhendaten 106, die sich in der Karte an geografischen Koordinaten in einem bestimmten Abstand von einer geografischen Koordinate des Fahrzeugs 10 und/oder entlang eines aktuellen Weges des Fahrzeugs 10 befinden, aus dem Datenspeicher 98 abgerufen werden.
-
Das Korrelationsmodul 94 korreliert dann das Band der Höhenwerte aus den Echtzeit-Höhendaten 104 mit den Höhenwerten in den definierten Höhendaten 106. So kann beispielsweise das Korrelationsmodul 94 eine nullmittelwertige normierte Kreuzkorrelation durchführen, die einen Korrelationswert zwischen -1 (hohe negative Korrelation) und +1 (hohe positive Korrelation) zurückgibt, wobei Werte um 0 auf niedrige Korrelationsebenen hinweisen. In einem anderen Beispiel kann das Korrelationsmodul 94 eine Summe von quadrierten Abständen zwischen den abgebildeten Höhenwerten und den beobachteten Höhenwerten aus der aktuellen Umgebung um das Fahrzeug herum berechnen, wobei das Ziel bei Verwendung dieser Methodik darin besteht, die Gesamtpunktzahl für einen gegebenen X,Y-Bereich von Kandidatenpositionen zu minimieren. In einem weiteren Beispiel kann das Korrelationsmodul 94 Merkmalsdetektoren auf die Rohhöhendaten anwenden (z. B. Bordsteinmerkmale, Mastenmerkmale, planare Gebäudefassadenmerkmale usw.) und die Merkmalsausgaben auf die X,Y-Zelle projizieren, wobei sich die Merkmale dort befinden, wo sie später in den Korrelationsroutinen verwendet werden können, die lokale Merkmale mit der Karte abgleichen. Wie zu erkennen ist, können verschiedene Korrelationsverfahren in verschiedenen Ausführungsformen durchgeführt werden, da das Korrelationsmodul 94 nicht auf ein Verfahren beschränkt ist. Das Korrelationsmodul 94 stellt Korrelationsdaten 108 (die Abstände zwischen den Werten) basierend auf der Korrelation zwischen den Werten zur Verfügung.
-
Das Lokalisierungsmodul 96 empfängt als Eingabe die Korrelationsdaten 108. Das Lokalisierungsmodul 96 bestimmt die Position des Fahrzeugs 10 in Bezug auf die definierte Karte basierend auf den Korrelationsdaten 108. So wendet beispielsweise das Lokalisierungsmodul 96 einen Kalman-Filter auf die Korrelationsdaten 108 an, um eine Endposition des Bandes in Bezug auf die Karte zu bestimmen. Das Lokalisierungsmodul 96 bestimmt dann die Position des Fahrzeugs 10 auf der Karte (die Mitte des Bandes) basierend auf der Position des Bandes auf der Karte. Das Lokalisierungsmodul 96 stellt dann Lokalisierungsdaten 110 bereit, die zum Steuern und Navigation des Fahrzeugs 10 verwendet werden können.
-
Unter jetziger Bezugnahme auf 5 und fortgesetzter Bezugnahme auf die 1-4, veranschaulicht ein Steuerungsverfahren 400, das durch das Ortungssystem 100 von 1 gemäß der vorliegenden Offenbarung ausgeführt werden kann. Wie aus der Offenbarung ersichtlich, ist die Abfolge der Vorgänge innerhalb der Verfahren nicht, wie in 5 veranschaulicht, auf die sequenzielle Abarbeitung beschränkt, sondern kann, soweit zutreffend, in einer oder mehreren unterschiedlichen Reihenfolgen gemäß der vorliegenden Offenbarung ausgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 400 basierend auf einem oder mehreren vordefinierten Ereignissen zur Ausführung geplant werden und/oder kontinuierlich während des Betriebs des autonomen Fahrzeugs 10 ausgeführt werden.
-
In einer Ausführungsform kann das Verfahren bei 200 beginnen. Die Bilddaten 101 werden vom Sensorsystem 28 bei 210 abgerufen. Die Bilddaten 101 werden beispielsweise für statische Elemente in der Umgebung gefiltert, wie zuvor bei 220 erläutert. Die gefilterten Daten 102 werden verarbeitet, um Echtzeit-Höhendaten 104 der statischen Elemente zu bestimmen, wie beispielsweise zuvor bei 230 erläutert. Die definierten Höhendaten 106 werden dann abgerufen und mit den Echtzeit-Höhendaten 104 korreliert, wie beispielsweise zuvor bei 240 erläutert. Ein Kalman-Filter (oder andere Filterverfahren - z. B. Partikelfilter) wird auf die Korrelationsdaten 108 angewendet, um eine endgültige Fahrzeugposition bei 250 zu bestimmen. Danach kann das Verfahren bei 270 enden.
-
Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Variationen gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform bzw. der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.