-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonome Fahrzeuge und insbesondere auf Systeme und Verfahren zum Ermitteln der Position eines autonomen Fahrzeugs in Bezug auf seine Umgebung.
-
HINTERGRUND
-
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. Dies geschieht durch den Einsatz von Sensoren, wie beispielsweise Radar, Lidar, Bildsensoren und dergleichen. Autonome Fahrzeuge nutzen weiterhin Informationen von globalen Positioniersystemen (GPS), Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder drahtgesteuerten Systemen, um das Fahrzeug zu navigieren.
-
Während in den letzten Jahren signifikante Fortschritte bei autonomen Fahrzeugen erzielt wurden, könnten diese Fahrzeuge in einer Reihe von Aspekten noch verbessert werden. Beispielsweise erfolgt die Lokalisierung - d. h. das Ermitteln der geografischen Position eines Fahrzeugs - häufig über eine Kombination aus Daten des globalen Positionierungssystems (GPS) und der direkten Beobachtung von Strukturen und Objekten in der Umgebung des Fahrzeugs mittels optischer, Radar- und Lidarsensordaten. Eine derartige Lokalisierung kann in bestimmten Situationen schwierig sein, z. B. bei Witterungsbedingungen, wodurch die Wirksamkeit der für die Lokalisierung verwendeten Sensoren beeinträchtigt wird.
-
Dementsprechend ist es wünschenswert, Systeme und Verfahren zur Lokalisierung in autonomen Fahrzeugen bereitzustellen. Ferner werden andere wünschenswerte Funktionen und Merkmale der vorliegenden Erfindung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen, in Verbindung mit den beigefügten Zeichnungen, sowie mit dem vorangehenden technischen Gebiet und Hintergrund ersichtlich offensichtlich.
-
KURZDARSTELLUNG
-
Es werden Systeme und Verfahren zur Steuerung eines ersten Fahrzeugs vorgesehen. In einer Ausführungsform beinhaltet ein Lokalisierungsverfahren das Empfangen von Sensordaten, die sich auf eine Umgebung eines Fahrzeugs beziehen, wobei die Sensordaten eine Vielzahl von Sensorrückgaben beinhalten, die Objekten in der Umgebung zugeordnet sind, wobei jede der Sensorrückgaben eine Vielzahl von entsprechenden Attributen aufweist, und das Konstruieren einer ersten Vielzahl von Sensordatengruppen, die jeweils eine selbstkonsistente Teilmenge der Vielzahl von Sensorrückgaben basierend auf ihren entsprechenden Attributen beinhalten. Das Verfahren beinhaltet ferner das Festlegen eines ersten Satzes von Merkmalen für jede der ersten Vielzahl von Sensordatengruppen, wobei jedes Merkmal auf mindestens einem der entsprechenden Attribute basiert und jeweils eine zugehörige Merkmalstelle aufweist, und das Ermitteln einer Merkmalskorrelation zwischen dem ersten Satz von Merkmalen und einem zweiten, zuvor bestimmten Satz von Merkmalen mit einem Prozessor.
-
In einer Ausführungsform beinhaltet die Vielzahl der entsprechenden Attribute mindestens eine Dopplerverschiebung, Rückgabeleistung und Nachbarschaftsähnlichkeit.
-
In einer Ausführungsform beinhalten die Sensordaten Radardaten.
-
In einer Ausführungsform beinhaltet der erste Satz von Merkmalen ein Histogramm eines der entsprechenden Attribute.
-
In einer Ausführungsform ist der erste Satz von Merkmalen eine konvexe Hülle des Histogramms.
-
In einer Ausführungsform beinhaltet der erste Satz von Merkmalen eine zusammenfassende Statistik eines der entsprechenden Attribute.
-
In einer Ausführungsform beinhaltet das Ermitteln der Merkmalskorrelation das Durchführen eines Verfahrens zur Beseitigung von Ausreißern in Bezug auf den ersten und zweiten Satz von Merkmalen.
-
In einer Ausführungsform ist das Verfahren zur Beseitigung von Ausreißern ein Verfahren der Übereinstimmung mit einer zufälligen Stichprobe (RANSAC-Random-Sample-Consensus).
-
In einer Ausführungsform wird jede der Sensordatengruppen als einem dynamischen Objekt, einem statisch beweglichen Objekt oder einem statisch nicht beweglichen Objekt zugeordnet und die Merkmalskorrelation nur basierend auf den Sensordatengruppen, die statisch nicht beweglichen Objekten zugeordnet sind, ermittelt.
-
Ein System zum Steuern eines Fahrzeugs gemäß einer Ausführungsform beinhaltet ein Merkmalbestimmungsmodul und ein Merkmalkorrelationsmodul. Das Merkmalbestimmungsmodul einschließlich eines Prozessors ist wie folgt ausgelegt: zum Empfangen von Sensordaten, die sich auf eine Umgebung eines Fahrzeugs beziehen, wobei die Sensordaten eine Vielzahl von Sensorrückgaben beinhalten, die Objekten in der Umgebung zugeordnet sind, wobei jede der Sensorrückgaben eine Vielzahl von entsprechenden Attributen aufweist; zum Erstellen einer ersten Vielzahl von Sensordatengruppen, die jeweils eine selbstkonsistente Teilmenge der Vielzahl von Sensorrückgaben basierend auf ihren entsprechenden Attributen beinhalten; und zum Festlegen einer ersten Vielzahl von Sensordatengruppen eines ersten Satzes von Merkmalen, worin jedes Merkmal auf mindestens einem der entsprechenden Attribute aufbaut und jeweils eine zugehörige Merkmalsposition aufweist. Das Merkmalskorrelationsmodul ist so ausgelegt, dass es mit einem Prozessor eine Merkmalskorrelation zwischen dem ersten Satz von Merkmalen und einem zweiten, zuvor festgelegten Satz von Merkmalen ermittelt.
-
In einer Ausführungsform beinhaltet die Vielzahl der entsprechenden Attribute mindestens eine Dopplerverschiebung, Rückgabeleistung und Nachbarschaftsähnlichkeit; wobei die Sensordaten mindestens die Radardaten und Lidardaten sind.
-
In einer Ausführungsform beinhaltet der erste Satz von Merkmalen ein Histogramm eines der entsprechenden Attribute.
-
In einer Ausführungsform beinhaltet der erste Satz von Merkmalen eine zusammenfassende Statistik eines der entsprechenden Attribute.
-
In einer Ausführungsform führt das Merkmalkorrelationsmodul ein Verfahren zur Beseitigung von Ausreißern in Bezug auf den ersten und zweiten Satz von Merkmalen durch.
-
In einer Ausführungsform ist das Verfahren zur Beseitigung von Ausreißern ein Verfahren der Übereinstimmung mit einer zufälligen Stichprobe (RANSAC-Random-Sample-Consensus).
-
In einer Ausführungsform klassifiziert das Merkmalbestimmungsmodul jede der Sensordatengruppen als einem dynamischen Objekt, einem statisch beweglichen Objekt oder einem statisch nicht beweglichen Objekt zugeordnet, und das Merkmalkorrelationsmodul ermittelt die Merkmalskorrelation nur basierend auf den Sensordatengruppen, die statisch nicht beweglichen Objekten zugeordnet sind.
-
Ein autonomes Fahrzeug gemäß einer Ausführungsform beinhaltet mindestens einen Sensor, der Sensordaten in Bezug auf eine Umgebung des autonomen Fahrzeugs bereitstellt, wobei die Sensordaten eine Vielzahl von den Objekten in der Umgebung zugeordneten Sensorrückgaben beinhalten, wobei die jeweiligen Sensorrückgaben eine Vielzahl von entsprechenden Attributen aufweisen. Das autonome Fahrzeug beinhaltet ferner eine Steuerung, die durch einen Prozessor: die Sensordaten empfängt; eine erste Vielzahl von Sensordatengruppen erstellt, die jeweils eine selbstkonsistente Teilmenge der Vielzahl von Sensordatenrückgaben basierend auf ihren entsprechenden Attributen beinhalten; für jede der ersten Vielzahl von Sensordatengruppen einen ersten Satz von Merkmalen festlegt, wobei jedes Merkmal auf mindestens einem der entsprechenden Attribute basiert und jeweils eine zugeordnete Merkmalsposition aufweist; Ermitteln einer Merkmalskorrelation mit einem Prozessor zwischen dem ersten Satz von Merkmalen und einem zweiten zuvor bestimmten Satz von Merkmalen; und Schätzen einer Position des Fahrzeugs basierend auf der Merkmalskorrelation.
-
In einer Ausführungsform führt die Steuerung die Beseitigung von Ausreißern über ein Verfahren der Übereinstimmung mit einer zufälligen Stichprobe (RANSAC-Random-Sample-Consensus) durch.
-
In einer Ausführungsform beinhaltet die Vielzahl der entsprechenden Attribute mindestens eine Dopplerverschiebung, Rückgabeleistung und Nachbarschaftsähnlichkeit; wobei die Sensordaten mindestens die Radardaten und Lidardaten sind.
-
In einer Ausführungsform beinhaltet der erste Satz von Merkmalen eines von einem Histogramm oder eine zusammenfassende Statistik eines der entsprechenden Attribute.
-
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 veranschaulicht;
- 3 ist ein Funktionsblockdiagramm, das ein autonomes Antriebssystem (ADS) in Verbindung mit einem autonomen Fahrzeug gemäß verschiedenen Ausführungsformen veranschaulicht;
- 4 ist eine konzeptionelle Draufsicht auf eine exemplarische Sensorkonfiguration für ein autonomes Fahrzeug gemäß verschiedenen Ausführungsformen;
- 5 veranschaulicht ein autonomes Fahrzeug, das gemäß einer exemplarischen Ausführungsform entlang einer Fahrbahn fährt;
- 6 ist eine Draufsicht auf exemplarische Sensorrückgaben im Zusammenhang mit dem Szenario von 5;
- Die 7 und 8 zeigen ausgewählte Sensorrückgaben von 6 aufgeteilt in verschiedene Netzkonfigurationen;
- 9 ist ein Datenflussdiagramm, das ein Ortungssystem eines autonomen Fahrzeugs gemäß verschiedenen Ausführungsformen veranschaulicht;
- 10 ist ein Datenflussdiagramm, das einen Klassifikator gemäß verschiedenen Ausführungsformen veranschaulicht;
- 11 veranschaulicht exemplarische Sensorrückgaben, die von einem autonomen Fahrzeug während der Fahrt entlang einer exemplarischen Fahrbahn gemäß verschiedenen Ausführungsformen erfasst wurden.
- 12 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 detaillierten 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, Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in allen Kombinationen, unter anderem beinhaltend, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppenprozessor) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, welche 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 können konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung, Maschinenlernmodelle, Radar, Lidar, Bildanalyse und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienkomponenten der Systeme) hierin nicht im Detail beschrieben werden. 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 ermöglicht das Ortungssystem (oder einfach „System“) 100 ein Ortungsverfahren, bei welchem Sensordatengruppen unter Verwendung selbstkonsistenter Teilmengen von Sensorrückgaben basierend auf deren entsprechenden Attributen (wie Rücklaufleistung, Dopplerverschiebung, Nachbarschaftsähnlichkeit und dergleichen) erstellt werden. Merkmale werden für die entsprechenden Attribute festgelegt und weisen jeweils eine zugehörige Merkmalsposition auf und ermitteln mit einem Prozessor eine Merkmalskorrelation zwischen dem ersten Satz von Merkmalen und einem zweiten zuvor festgelegten Satz von Merkmalen.
-
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 Fahrgestell 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 entspricht das autonome Fahrzeug 10 einem Automatisierungssystem des Levels vier oder Levels fünf gemäß der Standardtaxonomie automatisierter Fahrlevels der Society of Automotive Engineers (SAE) „J3016“. Mit dieser Terminologie bezeichnet ein Level-Vier-System eine „hohe Automatisierung“ unter Bezugnahme auf einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe übernimmt, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein Level-Fünf-System hingegen zeigt eine „Vollautomatisierung“ und bezeichnet einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umweltbedingungen erfüllt, die ein menschlicher Fahrer bewältigen kann. Es versteht sich, dass die Ausführungsformen gemäß der vorliegenden Thematik nicht auf eine bestimmte Taxonomie oder Rubrik der Automatisierungskategorien beschränkt sind. Darüber hinaus können Systeme gemäß der vorliegenden Ausführungsform in Verbindung mit jedem Fahrzeug verwendet werden, in dem der vorliegende Gegenstand umgesetzt werden kann, unabhängig von seiner Autonomie.
-
Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Übertragungssystem 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 Übertragungssystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 gemäß den wählbaren Übersetzungsverhä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 und 18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Bake-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 und/oder 18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad 25 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 (zum Beispiel den Zustand eines oder mehrerer Insassen) erfassen können. Die Sensorvorrichtungen 40a-40n können, sind jedoch nicht beschränkt auf, Radare (z. B. Langstrecken-, Mittelstrecken-Kurzbereich), Lidare, globale Positionierungssysteme, optische Kameras (z. B. nach vorne gerichtet, 360-Grad, nach hinten gerichtet, seitlich gerichtet, Stereo, usw.), Wärmebildkameras (z. B. Infrarot), Ultraschallsensoren, Geschwindigkeitsmesssensoren (z. B. Encoder), eine Trägheitsmesseinheit (IMU) (IMUs) und/oder andere Sensoren, die in Verbindung mit Systemen und Verfahren gemäß dem vorliegenden Gegenstand verwendet werden können, beinhalten.
-
Das Stellantriebssystem 30 beinhaltet ein oder mehrere Stellantriebsvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugeigenschaften, wie zum Beispiel das Antriebssystem 20, das Übertragungssystem 22, das Lenksystem 24 und das Bremssystem 26, steuern, sind aber nicht darauf beschränkt. In verschiedenen Ausführungsformen kann das autonome Fahrzeug 10 auch Fahrzeug-Innen- und/oder Außenausstattungen beinhalten, die nicht in 1 dargestellt sind, wie beispielsweise verschiedene Türen, Kofferraum- und Kabinenausstattungen, wie Luft, Musik, Beleuchtung, Touchscreen-Display-Komponenten (wie sie in Verbindung mit Navigationssystemen verwendet werden) und dergleichen.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Landkarten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Routeninformationen können auch in der Datenspeichervorrichtung 32 gespeichert werden - d. h. in einer Reihe von Straßenabschnitten (die geografisch mit einer oder mehreren der definierten Karten verknüpft sind), die zusammen eine Route definieren, die der Benutzer von einem Startort (z. B. dem aktuellen Standort des Benutzers) zu einem Zielort zurücklegen kann. 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), eine anwendungsspezifische integrierte Schaltung (ASIC) (z.B. ein ASIC zur Implementierung eines neuronalen Netzwerks), ein feldprogrammierbares Gate-Array (FPGA), ein Hilfsprozessor unter mehreren Prozessoren, verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes) 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. In verschiedenen Ausführungsformen ist die Steuerung 34 konfiguriert, um das im Folgenden ausführlich erläuterte Ortungssystem 100 zu implementieren.
-
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 beinhaltet. 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, die an das Stellgliedsystem 30 übertragen werden, 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.
-
Das Kommunikationssystem 36 ist konfiguriert, um Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), Netzwerke („V2N“-Kommunikation), Fußgänger („V2P“-Kommunikation), entfernte Transportsysteme und/oder Benutzervorrichtungen zu übermitteln (näher beschrieben in Bezug auf 2). 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.
-
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 entferntes Transportsystem (oder einfach „entferntes 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 (die ganz oder teilweise den in 1 dargestellten Einheiten 48 entsprechen können) 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 Mobilfunkanbietersystem 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 drahtlosen Trägersystems 60 kann ein zweites drahtloses Trä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 Mobilfunkanbietersystems 60 verwendet werden.
-
Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trä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 drahtlosen Trä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 die Benutzervorrichtung 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; eine Komponente 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, nicht dargestellt), 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, einem System der künstlichen Intelligenz oder einer Kombination davon 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 Teilnehmer-Authentisierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, biometrische Daten, Verhaltensmuster und andere entsprechende Teilnehmerinformationen.
-
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 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äß verschiedener Ausführungsformen realisiert 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 das computerlesbare Speichermedium 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 Antriebssystems 70 je nach Funktion 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-Vision-System 74 Informationen von mehreren Sensoren (z. B. dem Sensorsystem 28) beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidars, Radars und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positionierungssystem 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, usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu „lokalisieren“, wie nachfolgend weiter ausgeführt wird. Wie zu erkennen ist, können verschiedene Techniken eingesetzt werden, um eine Lokalisierung durchzuführen, beispielsweise simultane Lokalisierung und Kartierung (SLAM), Partikelfilter, Kalman-Filter, Bayes'sche Filter und dergleichen.
-
Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu bestimmen, 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. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
-
Im Vorfeld können die hierin offenbarten Ausführungsformen unter Verwendung einer Vielzahl von Sensortypen innerhalb des Sensorsystems 28 implementiert werden. Unter kurzzeitiger Bezugnahme auf 4 kann das AV 10 beispielsweise eine Anzahl an Richtungssensoren 410 beinhalten, die um das gesamte AV 10 herum verteilt sind (z. B. eine vordere Gruppe von Sensoren 411-415 und eine hintere Gruppe von Sensoren 416-418), die jeweils ein entsprechendes Sichtfeld wie dargestellt aufweisen und jeweils zum Erzeugen von Sensordaten eines Typs ausgelegt sind. In einer bestimmten Ausführungsform entsprechen die Sensoren 410 Radarsensoren eines Typs mit besonderer Wirksamkeit bei schlechten Wetterbedingungen (z. B. bei Regen- und Schneestürmen), und die „Rückgaben“ (oder „Sensorrückgaben“) empfangen, die den Rücklaufradarsignalen entsprechen, die durch eine Position innerhalb des Raums (in Bezug auf das AV 10) gekennzeichnet sind. Diese Sensorrückgaben, wie im Folgenden näher erläutert wird, können auch durch ihre entsprechenden Attribute, wie beispielsweise Rücklaufleistung, Nachbarschaftsähnlichkeit, Dopplerverschiebung und dergleichen, gekennzeichnet sein. Obwohl nachfolgend die Sensorrückgaben und -attribute in Verbindung mit verschiedenen Beispielen erörtert werden, ist der Umfang der Ausführungsformen nicht darauf beschränkt.
-
Wie eingangs kurz erwähnt, ist das Ortungssystem 100 von 1 darauf ausgelegt, aus selbstkonsistenten Gruppen von Sensorrückgaben (z. B. Radarrückgaben) einen Satz von „Merkmalen“ zu erstellen und anschließend die Position dieser Merkmale in den folgenden Zeitschritten nachzuverfolgen.
-
Zur Veranschaulichung zeigt 5 in einer perspektivischen Ansicht ein AV 10, das sich entlang einer Strecke 502 in Richtung einer Reihe von Objekten in der Umgebung bewegt, und zwar ein Verkehrszeichen 530, stationäre Masten 511 und 512, ein geparktes Fahrzeug 531 und fahrende Fahrzeuge 521 und 522 (die sich in die gleiche Richtung wie das AV 10 bewegen). 6 veranschaulicht die entsprechenden Sensordaten in Form von Sensorrückgaben 600, die vom AV 10 empfangen werden können (entsprechend dem Symbol 610 in 6). Es wird darauf hingewiesen, dass die Sensorrückgaben 600 zwar konzeptionell als Punkte an den Oberflächen von Objekten dargestellt werden, die von den entsprechenden Sensoren abgetastet werden, diese Sensorrückgaben jedoch tatsächlich den am AV 10 empfangenen Sensordaten entsprechen und Informationen über die Position der Rückgaben (z. B. Abstand zum AV 10) sowie verschiedene vom Sensorsystem 28 bestimmte Attribute des Rücklaufsignals beinhalten.
-
Mit weiterem Bezug auf 6 in Verbindung mit 5 entsprechen die Sensorrückgaben 621 den Rückgaben von der Rückseite des fahrenden Fahrzeugs 521, die Sensorrückgaben 631 den Rückgaben des geparkten Fahrzeugs 531, die Sensorrückgaben 630 den Rückgaben der Verkehrszeichenstruktur 530, die Sensorrückgaben 622 den Rückgaben von der Rückseite des fahrenden Fahrzeugs 522 und die Sensorrückgaben 611 und 612 den stationären Objekten 511 bzw. 512.
-
Neben der räumlichen Position jeder Sensorrückgabe 600 verfügt das AV 10 auch (über das Sensorsystem 28) über einen Satz von Attributwerten für jede Rückgabe, die typischerweise je nach Art der Rückgabe und des Sensortyps, der zum Erzeugen der Sensordaten verwendet wird, variieren können. In einer Ausführungsform sind beispielsweise Sensorrückgaben 600 Rückgaben der Radarsensoren gekennzeichnet durch die Attribute Rücklaufleistung, Dopplerverschiebung (welche die relative Geschwindigkeit des Objekts in Bezug auf das AV 10 anzeigt) und Nachbarschaftsähnlichkeit (z. B. wie ähnlich jede Rückgabe dem oder den nächsten Nachbar(n) ist). So werden beispielsweise die Rückgaben 600 in 6 durch unterschiedliche Schattierungsstufen veranschaulicht, die unterschiedlichen Werten der Dopplerverschiebung entsprechen. Somit ergeben sich für das fahrende Fahrzeug 521 und 522 Rückgaben 621 und 622, die sich von den Rückgaben 611, 612, 630 und 631 der stationären Objekte 511, 512, 530 und 531 unterscheiden.
-
Dementsprechend können eine oder mehrere „Sensordatengruppen“ basierend auf selbstkonsistenten Attributen der Sensorrückgaben 600 erstellt werden. Unter Berücksichtigung des Attributs der Dopplerverschiebung können beispielsweise die Sensorrückgaben 621 in 6 Elemente einer Sensordatengruppe, die Sensorrückgaben 630 Elemente einer anderen Sensordatengruppe usw. sein. Wie hierin verwendet, bezieht sich der Begriff „selbstkonsistent“ in Bezug auf die Attribute der Sensorrückgabe auf einen bestimmten Grad der Ähnlichkeit. So können beispielsweise die Sensordatengruppen basierend auf einem maschinellen Lernverfahren ermittelt werden.
-
In verschiedenen Ausführungsformen sind die Rückgaben 600 in ein geometrisches „Raster“ unterteilt, um die Verarbeitung der Sensordaten wie nachfolgend näher beschrieben zu erleichtern. Unter Bezugnahme auf 7 kann beispielsweise ein quadratisches Raster 700 mit beliebiger Seitenlänge (z. B. 1,0 m) festgelegt werden, um die Sensorrückgaben (in dieser Darstellung die Rückgaben 630 und 612) in eine Matrix aus Zellen 710 aufzuteilen. So werden beispielsweise die Rückgaben 612 als Elemente einer Zelle 702 dargestellt, während die Rückgaben 630 als mehrere Zellen 710 überspannend dargestellt werden.
-
Wie in 8 weiter veranschaulicht, können die Sensorrückgaben innerhalb einzelner Zellen des Rasters 700 verarbeitet werden, um „Merkmale“ dieser Sensorrückgaben festzulegen. Diese Merkmale können als einzelne Ebenen (z. B. Ebenen 801-804) parallel zum Raster 700 dargestellt werden, wobei jede Ebene einem separaten Merkmal entspricht. Somit kann ein Vektor von Merkmalen für eine bestimmte Zelle als Spalte visualisiert werden, wie beispielsweise Spalte 820 in 8.
-
Wie hierin verwendet, bezieht sich der Begriff „Merkmal“ in Bezug auf die Attribute einer Teilmenge von Sensorrückgaben auf eine mathematische Funktion, die auf diese Attribute angewendet wird, um einen vereinfachten Wert abzuleiten, der diese Teilmenge von Merkmalen in irgendeiner Weise charakterisiert. Abhängig von der Ausführungsform können beliebig viele Merkmale ermittelt werden und jedes Merkmal kann eine Funktion eines oder mehrerer der entsprechenden Attribute sein.
-
In einigen Ausführungsformen beinhalten die Merkmale eine oder mehrere zusammenfassende Statistiken, wie beispielsweise den Mittelwert, die Standardabweichung, die Schiefe, den Bereich und dergleichen. Im Falle von Radarsensorrückgaben können dies beispielsweise die mittlere Rückgabeleistung, der Dopplerverschiebungsbereich, die durchschnittliche Ähnlichkeit oder dergleichen sein. In weiteren Ausführungsformen ist das Merkmal ein Histogramm eines Attributs, wie beispielsweise ein Histogramm der Dopplerverschiebung, ein Histogramm der Rückgabeleistung, ein Histogramm der Rückgabeähnlichkeit, usw. In einigen Ausführungsformen wird das Histogramm normalisiert - z. B. zum Enthalten von Frequenzen innerhalb des Bereichs (0,0, 1,0). In einigen Ausführungsformen kann ein Histogrammmerkmal durch die Scheitelpunkte seiner konvexen Hülle charakterisiert werden (d. h. das konvexe Polygon bildet eine konvexe Hülle, die das Histogramm begrenzt).
-
Unabhängig von der Anzahl und Art der Merkmale, die für jede der Sensordatengruppen festgelegt sind (die in einigen Ausführungsformen weiter in einzelne Rasterzellen 700 unterteilt sind), ist das Ortungssystem 100, wie nachfolgend näher beschrieben wird, so ausgelegt, dass es diese Merkmale in aufeinanderfolgenden Zeitschritten korreliert, wenn das AV 10 entlang der Fahrbahn 502 fährt und somit Informationen zur Verfügung stellt, die zur Ermittlung der Position des AV 10 verwendet werden können (z. B. durch das Positionierungssystem 76 von 3).
-
Unter Bezugnahme auf 9 beinhaltet ein exemplarisches Ortungssystem im Allgemeinen ein Merkmalbestimmungsmodul 930 und ein Merkmalskorrelationsmodul 940. Das Merkmalbestimmungsmodul ist im Allgemeinen zum Empfangen von Sensordaten 901 ausgelegt, die in verschiedenen Ausführungen Sensorrückgaben (z. B. Radar- und/oder Lidarsensorrückgaben) beinhalten, die mit Objekten in der Umgebung verbunden sind (wie in den 5 und 6 dargestellt). Das Merkmalbestimmungsmodul 930 ist ferner zum Erstellen einer Sensordatengruppe (wie beispielsweise die Gruppen 630 und 621 in 6) ausgelegt, die jeweils eine selbstkonsistente Teilmenge der Vielzahl von Sensorrückgaben basierend auf ihren entsprechenden Attributen beinhaltet. Das Merkmalbestimmungsmodul 930 bestimmt dann für jede der Sensordatengruppen eine Reihe von Merkmalen basierend auf den Attributen der Sensorrückgaben.
-
Der Ausgang 931 des Merkmalbestimmungsmoduls 930 ist somit ein Satz von „platzierten“ Merkmalen, d. h. Merkmalen, die eine entsprechende geometrische Position in der Umgebung in Bezug auf das AV 10 aufweisen. Diese geometrische Position kann beispielsweise der Position der Gitterzelle entsprechen, die diese Merkmale enthält (wie in 8 dargestellt). In weiteren Ausführungsformen ist die geometrische Position des Merkmals eine Funktion der Positionen der Sensorrückgaben in der entsprechenden Sensordatengruppe (z. B. Massenschwerpunkt der Sensorrückgaben oder dergleichen).
-
Das Merkmalkorrelationsmodul 940 ist so ausgelegt, dass es platzierte Merkmale 931 empfängt und eine Merkmalskorrelation zwischen diesen platzierten Merkmalen und einem zuvor festgelegten Satz platzierter Merkmale ermittelt. Das heißt, bei jedem Zeitschritt (der z. B. zwischen 0,1 s und 1,0 s liegen kann) versucht das Merkmalkorrelationsmodul, die beste Zuordnung (z. B. Homographie) der Ausgänge 931 zu finden. Anders ausgedrückt, versucht das Modul 940, eine Eins-zu-Eins-Korrespondenz zwischen den platzierten Merkmalen über aufeinanderfolgende Zeitschritte zu finden, um die vom AV 10 während dieses Zeitschritts zurückgelegte Strecke und Richtung abzuschätzen.
-
Betrachtet man zum Beispiel das in 11 dargestellte Beispiel, in dem das AV 10 zweimal auf einer Fahrbahn fährt: t0 (links) und t1 (rechts). Das AV 10 nähert sich zwei Objekten: dem Verkehrsschild 530 und dem fahrenden Fahrzeug 521. Bei t0 beobachtet das AV 10 die Sensordatengruppe 1141 und die Sensordatengruppe 1121. Wie vorstehend beschrieben, können diese Sensordatengruppen basierend auf der Ähnlichkeit ihrer mittleren Leistungserträge erstellt werden, die in 11 als jeweilige Histogrammmerkmale 1131 und 1122 dargestellt sind.
-
Bei t1 weist das AV 10 eine gewisse Entfernung entlang seiner Fahrspur auf, wodurch es näher an das Verkehrsschild 530 herankommt sowie an das fahrende Fahrzeug 521, das wie dargestellt die Fahrspur gewechselt hat. An dieser Stelle beobachtet das AV 10 die Sensordatengruppe 1142 (mit einem entsprechenden Histogrammmerkmal 1132) und die Sensordatengruppe 1152 (mit einem entsprechenden Histogrammmerkmal 1122). Obwohl die Positionen und Formen der Histogrammmerkmale 1122 und 1132 nicht mit den entsprechenden Histogrammmerkmalen 1122 und 1131 identisch sind, so sind sie doch so ähnlich, dass das Merkmalkorrelationsmodul 940 (durch ein geeignetes Merkmalskorrelationsverfahren) ableiten kann, dass sie den gleichen Objekten (d. h. 521 bzw. 530) entsprechen. Der Ausgang 941 des Merkmalkorrelationsmodul 940 kann dann an das Positionierungssystem 76 von 3 bereitgestellt werden, um die Lokalisierung des AV 10 weiter zu unterstützen.
-
In diesem Zusammenhang ist zu verstehen, dass stationäre Objekte das beste Maß für die Wegstrecke zwischen den Zeitschritten darstellen können. In diesem Zusammenhang entfernt das Merkmalkorrelationsmodul (oder das Merkmalbestimmungsmodul 930) in einigen Ausführungsformen zunächst Sensordatengruppen, die denjenigen entsprechen, die als bewegte Objekte klassifiziert werden könnten. So kann beispielsweise unter Bezugnahme auf 10 ein maschinell lernender Klassifikator 1020 (z. B. ein zufälliger Forest-Klassifikator) trainiert werden, um einen Eingang 1001 zu erhalten, der den Attributen eines bestimmten Satzes von Sensorrückgaben entspricht, und eine Klassifizierungsausgabe zu erzeugen, die einen Vektor der Wahrscheinlichkeit beinhaltet, dass die Sensorrückgaben von einem dynamischen (1021), statisch-beweglichen (1022) oder statisch-nichtbeweglichen (1023) Objekt empfangen wurden. Unter Bezugnahme auf 5 können beispielsweise die Objekte 511, 512 und 530 als statisch nicht bewegliche Objekte, die Fahrzeuge 521 und 522 als dynamische Objekte und das geparkte Fahrzeug 531 als statisch bewegliche Objekte klassifiziert werden.
-
Das Modul 940 kann seine Korrelation durch den Einsatz einer Ausreißererkennung weiter verfeinern. Gemäß verschiedenen Ausführungsformen wird eine Technik der Übereinstimmung mit einer zufälligen Stichprobe (RANSAC-Random-Sample-Consensus) durch das Modul 940 angewandt. Im Allgemeinen schätzt das RANSAC-Verfahren iterativ Parameter eines mathematischen Modells aus einem Satz von beobachteten Daten -- z. B. Zuordnungen von vermeintlichen Merkmalspaaren, wie den Histogrammmerkmalen 1131 und 1132 in 11, wenn diese Zuordnungen Ausreißer beinhalten, die als Datenpunkte angenommen werden, die außerhalb des Modells selbst liegen, was beispielsweise auf fehlerhafte Messungen, extreme Geräuschwerte oder dergleichen zurückzuführen ist.
-
Das Modul 940 verwendet in verschiedenen Ausführungsformen das RANSAC-Verfahren, um die beobachteten Daten (z. B. Merkmalskorrelationen) stichprobenartig zu erfassen und mit einem „Voting-Schema“ das optimale Anpassungsergebnis zu finden. Datenpunkte stimmen effektiv für ein oder mehrere Modelle und setzen voraus, dass verrauschte Merkmale nicht konsequent für ein bestimmtes Modell stimmen. Eine Teilmenge mit Merkmalszuordnungen wird zufällig aus dem Eingabedatensatz ausgewählt, und ein erstes mathematisches Modell wird dann unter Verwendung dieser Teilmenge von Datenpunkten ermittelt. Anschließend wird ermittelt, welche Elemente des gesamten Datensatzes mit dem ersten mathematischen Modell (d. h. dem „Konsensus-Satz“) konsistent sind. Ein Datenpunkt gilt als Ausreißer, wenn er nicht in das erste Modell innerhalb eines Fehlerschwellenwerts passt, der beispielsweise der maximalen Abweichung entspricht, die auf die Auswirkung von Rauschen zurückgeführt werden kann. Das Vorstehende wird iterativ wiederholt, bis der Konsensus-Satz bestimmte Kriterien erfüllt, wie beispielsweise eine Mindestanzahl von Konsensus-Datenpunkten.
-
Es ist zu verstehen, dass verschiedene Ausführungsformen des Ortungssystems 100 gemäß der vorliegenden Offenbarung eine beliebige Anzahl an in die Steuerung 34 eingebetteten Teilmodule beinhalten, die mit den hierin beschriebenen Systemen und Verfahren kombiniert und/oder weiter untergliedert werden können. Weiterhin können Eingaben in das Ortungssystem 100 vom Sensorsystem 28 empfangen werden, die von anderen Steuermodulen (nicht dargestellt) empfangen werden, die dem autonomen Fahrzeug 10 zugeordnet sind, die vom Kommunikationssystem 36 empfangen werden und/oder von anderen Untermodulen (nicht dargestellt), die innerhalb der Steuerung 34 von 1 ermittelt/modelliert werden. Weiterhin können die Eingaben auch einer Vorverarbeitung unterzogen werden, wie beispielsweise Teilabtastung, Rauschunterdrückung, Normalisierung, Merkmalsextraktion, fehlende Datenreduktion und dergleichen.
-
Des Weiteren können die verschiedenen vorstehend beschriebenen Module als ein oder mehrere maschinelle Lernmodelle implementiert werden, die einem überwachten, unbeaufsichtigten, teilüberwachten oder verstärkten Lernen unterzogen werden und Klassifizierungen (z. B. binäre oder mehrstufige Klassifizierungen), Regression, Clustering, Dimensionalitätsreduktion und/oder solche Aufgaben durchführen. Beispiele für diese Modelle sind künstliche neuronale Netze (ANN) (z. B. rekurrierende neuronale Netze (RNN) und faltungsneuronale Netze (CNN)), Entscheidungsbaummodelle (z. B. Klassifikations- und Regressionsbäume (CART)), Ensemble-Lernmodelle (z. B. Boosting, Bootstrapped Aggregation, Gradienten-Boost-Maschinen und Random Forest), Bayes'sche Netzwerkmodelle (z. B. naive Bayes), Hauptkomponentenanalyse (PCA), Unterstützungsvektormaschinen (SVM), Clustering-Modelle (wie K-Neighbor, K-Mittel, Erwartungsmaximierung, hierarchisches Clustering usw.) und dergleichen.
-
In einigen Ausführungsformen erfolgt das Lernen der Modelle (z. B. 930, 940 und/oder 1020) innerhalb eines vom Fahrzeug 10 entfernten Systems (z. B. das System 52 in 2) und wird anschließend für den normalen Betrieb des Fahrzeugs 10 auf das Fahrzeug 10 heruntergeladen. In weiteren Ausführungsformen erfolgt das Lernen zumindest teilweise innerhalb der Steuerung 34 des Fahrzeugs 10 selbst, und das Modell wird anschließend mit externen Systemen und/oder anderen Fahrzeugen einer Flotte geteilt (wie in 2 dargestellt). Trainingsdaten können in ähnlicher Weise vom Fahrzeug 10 erzeugt oder extern erfasst und vor dem Anlernen in Trainings-, Validierungs- und Testsätze aufgeteilt werden.
-
Unter jetziger Bezugnahme auf 12 und fortgesetzter Bezugnahme auf die 1-11, stellt das veranschaulichte Flussdiagramm ein Steuerverfahren 1200 zur Verfügung, das durch das Ortungssystem 100 gemäß der vorliegenden Offenbarung ausgeführt werden kann. Wie angesichts der Offenbarung zu erkennen ist, ist die Abfolge der Vorgänge innerhalb der Verfahrens nicht auf die sequenzielle Ausführung beschränkt, wie in der Figur dargestellt, sondern kann in einer oder mehreren variierenden anwendbaren Reihenfolgen gemäß der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 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 verschiedenen Ausführungsformen beginnt das Verfahren bei 1201, bei welchem das AV 10 Sensordaten in Form von beispielsweise Sensorrückgaben mit einer Reihe von entsprechenden Attributen empfängt (wie in 6 dargestellt). Wie vorstehend erwähnt, können die einzelnen Attribute je nach Art der Sensordaten variieren.
-
Anschließend werden bei 1202 Sensordatengruppen so konstruiert, dass sie selbstkonsistente Teilmengen der Sensorrückgaben (basierend auf ihren Attributen) enthalten. Diese Sensordatengruppen und ihre jeweiligen Sensorrückgaben können in ein räumliches Raster in der Nähe des AV 10, wie in 7 dargestellt, aufgeteilt werden.
-
Bei 1203 werden für jede Sensordatengruppe Merkmale bestimmt, wie in 8 dargestellt. Die Merkmale können beispielsweise einer zusammenfassenden Statistik von einem oder mehreren Attributen und/oder einem Histogramm oder einer anderen Visualisierung von einem oder mehreren Attributen entsprechen. Diese Merkmale werden effektiv an einer Stelle in Bezug auf das AV 10 „platziert“ (z. B. aufgrund der entsprechenden Rasterzelle, wie in 8 dargestellt).
-
Anschließend wird ab 1204 in den nachfolgenden Zeitschritten eine Korrelation zwischen den Merkmalen ermittelt. Das heißt, es wird eine Zuordnung zwischen dem aktuellen Satz der platzierten Merkmale und einem zuvor bestimmten Satz der platzierten Merkmale (z. B. ein Satz der platzierten Merkmale aus dem vorherigen Zeitschritt) hergestellt. Um diese Korrelation zu erleichtern, kann eine Technik zur Beseitigung von Ausreißern, wie zum Beispiel ein RANSAC-Verfahren, eingesetzt werden. In einigen Ausführungsformen werden beim Ermitteln dieses Zusammenhangs nur stationäre Merkmale (z. B. Verkehrszeichen, Masten, usw.) berücksichtigt.
-
Schließlich wird bei 1205 die Lokalisierung des AV 10 basierend auf der bei 1204 ermittelten Korrelation aktualisiert. Das heißt, die geschätzte Bewegung und Stellungsänderung des AV 10 während eines Zeitschrittes wird dem Positionierungssystem 76 (3) zur Verfügung gestellt, um das Ermitteln der absoluten Position des AV in seiner Umgebung zu unterstützen.
-
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 Varianten 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.