-
TECHNIKBEREICH
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Ausrichtsysteme und im Besonderen auf Systeme und Verfahren zur Lidar-Kamera-Ausrichtung in einem Fahrzeug.
-
Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit wenigen oder keinen Benutzereingaben zu navigieren. Ein autonomes Fahrzeug erfasst seine Umgebung mithilfe von Erfassungsgeräten wie Radar, Lidar, Bildsensoren und dergleichen. Das autonome Fahrzeugsystem verwendet darüber hinaus Informationen aus der GPS-Technologie (Global Positioning Systems), Navigationssystemen, Fahrzeug-zu-Fahrzeug-Kommunikation, Fahrzeug-zu-Infrastruktur-Technologie und/oder Drive-by-Wire-Systemen, um das Fahrzeug zu navigieren.
-
Während autonome Fahrzeuge und teilautonome 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. Beispielsweise sind autonome Fahrzeugfunktionen darauf angewiesen, dass Sensordaten für die Datenzuordnung und Sensorfusion genau und präzise in Koordinaten der realen Welt umgewandelt werden. Viele Systeme kombinieren Daten von verschiedenen Sensoren für genauere Vorhersagen. Um die Daten von verschiedenen Sensoren zu kombinieren, müssen die Sensoren durch Kalibrierungsparameter, sogenannte extrinsische Parameter, ausgerichtet werden.
-
Dementsprechend ist es wünschenswert, verbesserte Systeme und Verfahren zum Ausrichten von Sensoren eines Fahrzeugs unter Verwendung geschätzter extrinsischer Parameter bereitzustellen. Darüber hinaus werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen ersichtlich, die in Verbindung mit den begleitenden Figuren und dem vorangehenden technischen Gebiet und Hintergrund genommen werden.
-
BESCHREIBUNG
-
Es werden Systeme und Verfahren zum Steuern eines Fahrzeugs bereitgestellt. In einer Ausführungsform umfasst ein Verfahren: Empfangen von Lidar-Daten von der Lidar-Vorrichtung durch eine Steuereinheit an Bord des Fahrzeugs; Empfangen von Bilddaten von der Kamera-Vorrichtung durch die Steuereinheit; Berechnen einer Kantenkarte basierend auf den Lidar-Daten durch die Steuereinheit; Berechnen einer IDT-Kantenkarte (inverse distance transformation) basierend auf den Bilddaten durch die Steuereinheit; Ausrichten von Punkten der IDT-Kantenkarte mit Punkten der Lidar-Kantenkarte durch die Steuerung, um extrinsische Parameter zu bestimmen; Speichern von extrinsischen Parametern durch die Steuerung als Kalibrierungen in einer Datenspeichervorrichtung; und Steuern des Fahrzeugs durch die Steuerung auf der Grundlage der gespeicherten Kalibrierungen.
-
In verschiedenen Ausführungsformen enthält die IDT-Kantenkarte eine Betonung der in den Bilddaten definierten Fahrzeugkonturen.
-
In verschiedenen Ausführungsformen beinhaltet das Verfahren das Bestimmen einer Qualität eines Paares von Punkten in der IDT-Kantenkarte und der Lidar-Kantenkarte, und wobei das Ausrichten auf der Qualität des Paares basiert.
-
In verschiedenen Ausführungsformen umfasst das Verfahren das Bestimmen der Qualität des Paares auf der Grundlage eines Klassifikators zur Schätzung der Datenqualität.
-
In verschiedenen Ausführungsformen beinhaltet das Verfahren das Bestimmen der Qualität des Paares auf der Grundlage einer berechneten Ego-Bewegung eines Fahrzeugs.
-
In verschiedenen Ausführungsformen beinhaltet das Verfahren das Bestimmen der Qualität des Paares auf der Grundlage eines Segmentierungs-Faltungsneuronalnetzes.
-
In verschiedenen Ausführungsformen basiert das Ausrichten auf einer Suchmethode, die sechs Freiheitsgrade von Objekten in der IDT-Kantenabbildung berechnet.
-
In verschiedenen Ausführungsformen umfasst das Suchverfahren ein zweistufiges Suchverfahren, wobei die erste Stufe eine grobe Verfeinerungsstufe und die zweite Stufe eine feine Verfeinerungsstufe umfasst.
-
In verschiedenen Ausführungsformen wird das Ausrichten iterativ durchgeführt, bis eine Konfidenzabschätzung einen vordefinierten Prozentsatz erreicht.
-
In verschiedenen Ausführungsformen wird das Ausrichten iterativ durchgeführt, bis eine Anzahl von Iterationen einen vordefinierten Wert erreicht.
-
In einer anderen Ausführungsform umfasst ein Fahrzeugsystem: eine Lidar-Vorrichtung; eine Kamera-Vorrichtung; und eine Steuerung. Die Steuerung ist so konfiguriert, dass sie durch einen Prozessor Lidar-Daten von der Lidar-Vorrichtung empfängt, Bilddaten von der Kamera-Vorrichtung empfängt, eine Kantenkarte basierend auf den Lidar-Daten berechnet, eine IDT-Kantenkarte (inverse Distanztransformation) basierend auf den Bilddaten berechnet, Punkte der IDT-Kantenkarte mit Punkten der Lidar-Kantenkarte abgleicht, um extrinsische Parameter zu bestimmen, extrinsische Parameter als Kalibrierungen in einer Datenspeichervorrichtung speichert und das Fahrzeug basierend auf den gespeicherten Kalibrierungen steuert.
-
In verschiedenen Ausführungsformen enthält die IDT-Kantenkarte eine Betonung der in den Bilddaten definierten Fahrzeugkonturen.
-
In verschiedenen Ausführungsformen ist die Steuerung ferner so konfiguriert, dass sie eine Qualität eines Paares von Punkten in der IDT-Kantenkarte und der Lidar-Kantenkarte bestimmt, und wobei das Ausrichten auf der Qualität des Paares basiert.
-
In verschiedenen Ausführungsformen ist der Steuerung ferner so konfiguriert, dass sie die Qualität des Paares auf der Grundlage eines Klassifikators zur Schätzung der Datenqualität bestimmt.
-
In verschiedenen Ausführungsformen ist die Steuerung ferner so konfiguriert, dass sie die Qualität des Paares auf der Grundlage einer berechneten Ego-Bewegung eines Fahrzeugs bestimmt.
-
In verschiedenen Ausführungsformen ist der Steuerung ferner so konfiguriert, dass sie die Qualität des Paares auf der Grundlage eines Segmentierungs-Faltungsneuronalnetzes bestimmt.
-
In verschiedenen Ausführungsformen ist die Steuerung so konfiguriert, dass sie auf der Grundlage einer Suchmethode ausrichtet, die sechs Freiheitsgrade von Objekten in der IDT-Kantenabbildung berechnet.
-
In verschiedenen Ausführungsformen umfasst das Suchverfahren ein zweistufiges Suchverfahren, wobei die erste Stufe eine grobe Verfeinerungsstufe und die zweite Stufe eine feine Verfeinerungsstufe umfasst.
-
In verschiedenen Ausführungsformen ist der Steuerung so konfiguriert, dass sie iterativ ausrichtet, bis eine Konfidenzabschätzung einen vordefinierten Prozentsatz erreicht.
-
In verschiedenen Ausführungsformen ist der Steuerung so konfiguriert, dass sie iterativ ausrichtet, bis eine Anzahl von Iterationen einen vordefinierten Wert erreicht.
-
Figurenliste
-
Die beispielhaften Ausführungsformen werden im Folgenden in Verbindung mit den folgenden Figuren beschrieben, wobei gleiche Bezugsziffern gleiche Elemente bezeichnen, und wobei:
- 1 ist ein funktionales Blockdiagramm, das ein autonomes Fahrzeug und ein Ausrichtungssystem in Übereinstimmung mit verschiedenen Ausführungsformen zeigt;
- 2 ist ein schematisches Blockdiagramm eines automatisierten Fahrsystems (ADS) für ein Fahrzeug, in Übereinstimmung mit einer oder mehreren beispielhaften Ausführungsformen;
- 3 ist ein Datenflussdiagramm eines Steuermoduls des Ausrichtungssystems in Übereinstimmung mit einer oder mehreren beispielhaften Ausführungsformen; und
- 4 ist ein Flussdiagramm, das ein Ausrichtungsverfahren gemäß einer oder mehreren beispielhaften Ausführungsformen veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung hat lediglich beispielhaften Charakter und soll die Anwendung und Verwendungen nicht einschränken. Darüber hinaus besteht keine Absicht, an irgendwelche ausdrücklichen oder impliziten Theorien gebunden zu sein, die in dem vorangehenden technischen Gebiet, dem Hintergrund, der kurzen Zusammenfassung oder der folgenden detaillierten Beschreibung dargestellt sind. Wie hierin verwendet, bezieht sich der Begriff Modul auf jegliche Hardware, Software, Firmware, elektronische Steuerkomponente, Verarbeitungslogik und/oder Prozessorgerät, einzeln oder in beliebiger Kombination, einschließlich und ohne Einschränkung: anwendungsspezifischer integrierter Schaltkreis (ASIC), ein elektronischer Schaltkreis, ein Prozessor (gemeinsam, dediziert oder Gruppe) und Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinierte Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen.
-
Ausführungsformen der vorliegenden Offenlegung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Es ist zu beachten, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten realisiert werden können, die so konfiguriert sind, dass sie die angegebenen Funktionen ausführen. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung verschiedene integrierte Schaltungskomponenten verwenden, z. B. Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder ähnliches, die eine Vielzahl von Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuerungen ausführen können. Darüber hinaus wird der Fachmann verstehen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen praktiziert werden können, und dass die hier beschriebenen Systeme lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung sind.
-
Der Kürze halber werden konventionelle Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hier nicht im Detail beschrieben. Darüber hinaus sollen die in den verschiedenen hier enthaltenen Abbildungen dargestellten Verbindungslinien beispielhafte funktionale Beziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen darstellen. Es ist zu beachten, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenlegung vorhanden sein können.
-
Bezug nehmend auf 1 ist ein allgemein mit 100 bezeichnetes Steuersystem mit einem Fahrzeug 10 in Übereinstimmung mit verschiedenen Ausführungsformen verbunden. Im Allgemeinen richtet das Steuersystem 100 zwei Sensoren des Fahrzeugs 10 selektiv aus, indem es extrinsische Parameter schätzt. Wie noch näher erläutert wird, basiert die Schätzung auf einem Verfahren, das Punkte aus Datensätzen, die von den beiden Sensoren erzeugt wurden, iterativ ausrichtet. In verschiedenen Ausführungsformen umfassen die beiden Sensoren einen Lidar-Sensor und einen Kamera-Sensor. Wie zu erkennen ist, können in verschiedenen Ausführungsformen auch andere Sensoren implementiert werden.
-
Wie in 1 dargestellt, umfasst 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 umschließt im Wesentlichen Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils in der Nähe einer Ecke der Karosserie 14 drehbar mit dem Fahrgestell 12 verbunden.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das Steuerungssystem 100 ist in das autonome Fahrzeug 10 (im Folgenden als autonomes Fahrzeug 10 bezeichnet) eingebaut. Das autonome Fahrzeug 10 ist zum Beispiel ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zu einem anderen zu befördern. Das Fahrzeug 10 ist in der gezeigten Ausführungsform als PKW dargestellt, aber es sollte anerkannt werden, dass jedes andere Fahrzeug, einschließlich Motorräder, LKWs, Sport Utility Vehicles (SUVs), Freizeitfahrzeuge (RVs), Wasserfahrzeuge, Flugzeuge usw., ebenfalls verwendet werden kann. In einer beispielhaften Ausführungsform ist das autonome Fahrzeug 10 ein sogenanntes Level-Vier- oder Level-Fünf-Automatisierungssystem. Ein Level-Vier-System kennzeichnet eine „hohe Automatisierung“, die sich darauf bezieht, dass ein automatisiertes Fahrsystem alle Aspekte der dynamischen Fahraufgabe fahrmodusspezifisch ausführt, auch wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein System der Stufe 5 bedeutet „Vollautomatisierung“ und bezieht sich auf die vollständige Ausführung aller Aspekte der dynamischen Fahraufgabe durch ein automatisiertes Fahrsystem unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer bewältigt werden können. Wie zu erkennen ist, kann das Fahrzeug in verschiedenen Ausführungsformen ein nicht-autonomes Fahrzeug sein und ist nicht auf die vorliegenden Beispiele beschränkt.
-
Wie dargestellt, umfasst das Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Aktuatorsystem 30, mindestens eine Datenspeichereinrichtung 32, mindestens eine Steuerung 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie z. B. einen Traktionsmotor, und/oder ein Brennstoffzellenantriebssystem umfassen. Das Getriebesystem 22 ist so konfiguriert, dass es Leistung vom Antriebssystem 20 zu den Fahrzeugrädern 16-18 gemäß wählbaren Drehzahlverhältnissen überträgt. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein stufenloses Automatikgetriebe, ein stufenloses Getriebe oder ein anderes geeignetes Getriebe umfassen. Das Bremssystem 26 ist so konfiguriert, dass es ein Bremsmoment für die Fahrzeugräder 16-18 bereitstellt. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake by Wire, ein regeneratives Bremssystem wie eine elektrische Maschine und/oder andere geeignete Bremssysteme umfassen. Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16-18. Während dargestellt, wie ein Lenkrad für illustrative Zwecke, in einigen Ausführungsformen im Rahmen der vorliegenden Offenbarung betrachtet, das Lenksystem 24 kann nicht ein Lenkrad enthalten.
-
Das Sensorsystem 28 umfasst eine oder mehrere Erfassungsvorrichtungen 40a-40n, die beobachtbare Bedingungen der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Erfassungsgeräte 40a-40n können Radare, Lidare, globale Positionierungssysteme, optische Kameras, Wärmekameras, Ultraschallsensoren und/oder andere Sensoren umfassen, sind aber nicht darauf beschränkt.
-
In verschiedenen Ausführungsformen sind die Erfassungsgeräte 40a-40n an verschiedenen Stellen des Fahrzeugs 10 angeordnet. In den hier beschriebenen beispielhaften Ausführungsformen sind eine oder mehrere der Erfassungsvorrichtungen 40-40n als Lidar-Vorrichtungen realisiert. In dieser Hinsicht kann jede der Erfassungsvorrichtungen 40a-40n einen oder mehrere Laser, Abtastkomponenten, optische Anordnungen, Fotodetektoren und andere Komponenten umfassen oder einbauen, die geeignet konfiguriert sind, die Umgebung in der Nähe des Fahrzeugs 10 mit einer bestimmten Winkelfrequenz oder Drehgeschwindigkeit horizontal und drehbar abzutasten. In den hier beschriebenen beispielhaften Ausführungsformen sind eine oder mehrere der Erfassungsvorrichtungen 40a-40n als optische Kameras realisiert, die so konfiguriert sind, dass sie Bilder der Umgebung in der Nähe des Fahrzeugs 10 erfassen.
-
Das Aktuatorsystem 30 umfasst eine oder mehrere Aktuatorvorrichtungen 42a-42n, die eine oder mehrere Fahrzeugfunktionen steuern, wie z. B. das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26, aber nicht darauf beschränkt. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale ferner innere und/oder äußere Fahrzeugmerkmale umfassen, wie z. B. Türen, einen Kofferraum und Kabinenmerkmale wie Luft, Musik, Beleuchtung usw. (nicht nummeriert).
-
In beispielhaften Ausführungsformen ist das Kommunikationssystem 36 so konfiguriert, dass es drahtlos Informationen zu und von anderen Einheiten 48, wie z. B., aber nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation), Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Geräte (ausführlicher beschrieben in Bezug auf 2), übermittelt. In einer beispielhaften Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das so konfiguriert ist, dass es über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung von IEEE 802.11-Standards oder unter Verwendung von zellularer Datenkommunikation kommuniziert. Zusätzliche oder alternative Kommunikationsmethoden, wie z. B. ein dedizierter Kurzstrecken-Kommunikationskanal (DSRC-Kanal), werden jedoch ebenfalls im Rahmen der vorliegenden Offenlegung berücksichtigt. DSRC-Kanäle beziehen sich auf ein- oder zweiseitige drahtlose Kommunikationskanäle mit kurzer bis mittlerer Reichweite, die speziell für den Einsatz im Automobilbereich entwickelt wurden, sowie auf einen entsprechenden Satz von Protokollen und Standards.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung bei der automatischen Steuerung des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 definierte Karten der navigierbaren Umgebung. In verschiedenen Ausführungsformen können die definierten Karten durch ein entferntes System vordefiniert und von diesem bezogen werden (in Bezug auf 2 näher beschrieben). Beispielsweise können die definierten Karten von dem entfernten System zusammengestellt und an das autonome Fahrzeug 10 (drahtlos und/oder drahtgebunden) übermittelt und in der Datenspeichereinrichtung 32 gespeichert werden. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 Kalibrierungen zur Verwendung bei der Ausrichtung der Erfassungsgeräte 40a-40n. In verschiedenen Ausführungsformen werden eine oder mehrere der Kalibrierungen als extrinsische Parameter unter Verwendung der hierin beschriebenen Methoden und Systeme geschätzt. Wie zu erkennen ist, kann die Datenspeichervorrichtung 32 Teil der Steuerung 34, getrennt von der Steuerung 34 oder Teil der Steuerung 34 und Teil eines separaten Systems sein.
-
Die Steuerung 34 umfasst mindestens einen Prozessor 44 und ein computerlesbares Speichergerät oder Medium 46. Der Prozessor 44 kann ein beliebiger kundenspezifischer oder handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Hilfsprozessor unter mehreren Prozessoren, die der Steuerung 34 zugeordnet sind, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chipsatzes), ein Makroprozessor, eine beliebige Kombination davon oder allgemein eine beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichereinrichtung oder -medien 46 können flüchtige und nichtflüchtige Speicher umfassen, z. B. Festwertspeicher (ROM), Direktzugriffsspeicher (RAM) und Keep-Alive-Speicher (KAM). KAM ist ein dauerhafter oder nichtflüchtiger Speicher, der zum Speichern verschiedener Betriebsvariablen verwendet werden kann, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare(n) Speichervorrichtung(en) 46 kann/können unter Verwendung einer beliebigen Anzahl bekannter Speichervorrichtungen implementiert werden, wie PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisch löschbares PROM), EEPROMs (elektrisch löschbares PROM), Flash-Speicher oder beliebige andere elektrische, magnetische, optische oder kombinierte Speichervorrichtungen, die in der Lage sind, Daten zu speichern, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 bei der Steuerung des autonomen Fahrzeugs 10 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme umfassen, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zur Implementierung logischer Funktionen enthält. Die Anweisungen empfangen und verarbeiten, wenn sie vom Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Methoden und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 aus und erzeugen Steuersignale für das Aktuatorsystem 30, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, Methoden und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 gezeigt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl von Steuerungen 34 umfassen, die über ein beliebiges geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und die zusammenarbeiten, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Methoden und/oder Algorithmen durchzuführen und Steuersignale zu erzeugen, um Merkmale des autonomen Fahrzeugs 10 automatisch zu steuern. In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen der Steuerung 34 im Steuersystem 100 verkörpert und bewirken bei Ausführung durch den Prozessor 44, dass der Prozessor 44 die Verfahren und Systeme durchführt, die die Sensorvorrichtungen dynamisch ausrichten, indem sie die in der Datenspeichervorrichtung 32 gespeicherten Kalibrierungen aktualisieren, wie nachstehend ausführlicher beschrieben.
-
In Übereinstimmung mit verschiedenen Ausführungsformen implementiert die Steuerung 34 ein autonomes Fahrsystem (ADS) 70, wie in 2 gezeigt. Das heißt, geeignete Software- und/oder Hardwarekomponenten der Steuerung 34 (z. B. Prozessor 44 und computerlesbare Speichervorrichtung 46) werden verwendet, um ein autonomes Fahrsystem 70 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird, um beispielsweise verschiedene Aktuatoren 30 an Bord des Fahrzeugs 10 automatisch zu steuern, um dadurch die Fahrzeugbeschleunigung, die Lenkung bzw. das Bremsen ohne menschlichen Eingriff zu steuern.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Fahrsystems 70 nach Funktionen oder Systemen organisiert sein. Zum Beispiel kann das autonome Fahrsystem 70, wie in 2 gezeigt, ein Computer-Vision-System 74, ein Positionierungssystem 76, ein Leitsystem 78 und ein Fahrzeugsteuerungssystem 80 umfassen. Wie zu erkennen ist, können die Anweisungen in verschiedenen Ausführungsformen in einer beliebigen Anzahl von Systemen organisiert sein (z. B. kombiniert, weiter unterteilt usw.), da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Computer Vision System 74 Sensordaten und sagt das Vorhandensein, den Ort, die Klassifizierung und/oder den Weg von Objekten und Merkmalen der Umgebung des Fahrzeugs 10 voraus. In verschiedenen Ausführungsformen kann das Computer-Vision-System 74 Informationen von mehreren Sensoren einbeziehen, einschließlich, aber nicht beschränkt auf Kameras, Lidars, Radars und/oder eine beliebige Anzahl anderer Arten von Sensoren. In verschiedenen Ausführungsformen empfängt das Computer-Vision-System 74 Informationen von dem hier beschriebenen Steuerungssystem 100 und/oder implementiert dieses.
-
Das Positionierungssystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine genaue Position in Bezug auf die Fahrspur einer Straße, die Fahrzeugrichtung, die Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu bestimmen. Das Lenksystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um einen Pfad zu bestimmen, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale zum Steuern des Fahrzeugs 10 entsprechend dem ermittelten Pfad.
-
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, Hindernisvermeidung, Routendurchquerung, Kartierung, Sensorintegration, Bestimmung der Bodenwahrheit und Ähnliches.
-
Unter Bezugnahme auf 3 und unter fortgesetzter Bezugnahme auf 1 und 2 zeigt 3 eine Ausführungsform eines Steuermoduls 200 des Steuersystems 100, das von der Steuerung 34, dem Prozessor 44 und/oder dem Computer-Vision-System 74 implementiert oder in diese integriert werden kann. In verschiedenen Ausführungsformen kann das Steuermodul 200 als ein oder mehrere Untermodule implementiert sein. Wie zu erkennen ist, können die gezeigten und beschriebenen Untermodule in verschiedenen Ausführungsformen kombiniert und/oder weiter unterteilt werden. Dateneingaben in das Steuermodul 200 können direkt von den Sensoreinrichtungen 40a-40n, von anderen Modulen (nicht dargestellt) der Steuerung 34 und/oder von anderen Steuerungen (nicht dargestellt) empfangen werden. In verschiedenen Ausführungsformen umfasst das Steuermodul 200 ein Kamerakantenerkennungsmodul 202, ein Lidar-Kantenerkennungsmodul 204, ein Datenpaar-Auswertungsmodul 206, ein Ausrichtungsmanagermodul 208 und ein Kalibrierungsmodul 210.
-
Das Kamerakantenerkennungsmodul 202 empfängt Sensordaten 212 einschließlich der vom Kamerasensor erzeugten Kamerabilder. Das Kamerakantenerkennungsmodul 202 verarbeitet die Sensordaten 212, um Objektkanten, wie z. B. Fahrzeuge, im Rahmen des Kamerabildes zu identifizieren und Kamerakantenabbildungsdaten 214 zu erzeugen. Beispielsweise führt das Kamerakantenerkennungsmodul 202 eine fahrzeugerweiterte IDT-Kantenabbildungsmethode (Inverse Distance Transformation) durch, um Punkte von Fahrzeugkonturen entlang der Kanten des Bildes zu bestimmen. In verschiedenen Ausführungsformen liefert die fahrzeugerweiterte IDT-Kantenabbildungsmethode eine fahrzeugerweiterte IDT-Abbildung Dt IDT zum Zeitpunkt t, wenn die anfängliche Schätzung von Ө0 und das Bild Xt gegeben sind.
-
Ergebnis: Fahrzeug erweitertes IDT-Kennfeld
zum Zeitpunkt t.
Anfangsschätzung Θ
0; Holen Sie sich den Rahmen X
t;
-
Das Komplement der Canny-Kantenerkennung:
-
Abstandstransformation für Canny-Map:
-
Inverse Canny-Distanzkarte:
-
Fahrzeugsegmentierung:
Filtern Sie alle Kleinfahrzeuge von X
t Vehicle;
-
Erkennen Sie inverse Fahrzeugkonturen:
-
Abstandstransformation für Canny-Map:
-
Inverses Konturabstandsdiagramm:
-
Endgültige, erweiterte IDT-Karte des Fahrzeugs:
-
Das Lidar-Kantenerkennungsmodul 204 empfängt Sensordaten 216 einschließlich einer vom Lidar-Sensor erzeugten Lidar-Punktwolke. Das Lidar-Kantenerkennungsmodul 204 verarbeitet die Sensordaten 216, um Punkte von Objekten entlang der Kanten der Punktwolke zu identifizieren und Lidar-Kantenkartendaten 218 zu erzeugen. Zum Beispiel projiziert das Lidar-Kantenerkennungsmodul 204 die dreidimensionale Punktwolke in den zweidimensionalen Raum unter Verwendung der Anfangskalibrierungen. Danach schätzt das Lidar-Kantenerkennungsmodul 204 die Kantenpunkte aus der projizierten zweidimensionalen Punktwolke, indem es z. B. die konventionellen Kantenkartenmethoden verwendet. In verschiedenen Ausführungsformen erkennt das Lidar-Kantenerkennungsmodul 204 die Kantenpunkte anhand von Geometriewerten.
-
Das Datenpaar-Auswertungsmodul 206 empfängt die Kamera-Kantenabbildungsdaten 214 und die Kamera-Kantenabbildungsdaten 214. Das Datenpaar-Auswertungsmodul 206 ordnet die Kantenpunkte aus den Lidar-Kantenabbildungsdaten 218 den Kantenpunkten aus den Kamera-Kantenabbildungsdaten 214 zu, um ein Datenpunktpaar zu erzeugen. Das Datenpaar-Auswertungsmodul 206 bewertet dann die Qualität des Datenpunktpaares. Wenn die Qualität des Datenpaares als gut erachtet wird, stellt das Datenpaar-Auswertungsmodul 206 Datenpaardaten 220 zur Verwendung in der weiteren Verarbeitung bereit. Wenn das Datenpaar als nicht von guter Qualität erachtet wird, verwirft das Datenpaar-Auswertungsmodul 206 das Datenpaar für die weitere Verarbeitung.
-
In verschiedenen Ausführungsformen bestimmt das Datenpaar-Bewertungsmodul 206, ob das Datenpaar von guter oder nicht guter Qualität ist, basierend auf einem Datenqualitätsschätzungs-Klassifikator, einer Ego-Bewegung des Fahrzeugs und/oder einer Fahrzeuganzahl unter Verwendung eines Segmentierungs-Faltungsneuronalnetzes. In verschiedenen Ausführungsformen umfasst der Datenqualitätsschätzungs-Klassifikator beispielsweise eine trainierte Support-Vektor-Maschine (SVM), die die Qualität der Datenpunktpaare klassifiziert und Bildrahmen mit niedriger Qualität zurückweist. In einem anderen Beispiel wird die Ego-Bewegung des Fahrzeugs aus den Bilddaten ermittelt und alle Bildrahmen mit Fahrzeugen, die als abbiegend gelten, werden verworfen. In einem anderen Beispiel wird die Anzahl der Fahrzeuge im Bild z. B. mit Hilfe der Fahrzeugsegmentierung aus dem Bildkantenerkennungsmodul ermittelt und Bildframes mit einer geringen Anzahl von Fahrzeugen werden aussortiert.
-
In verschiedenen Ausführungsformen kann das Datenpaar-Auswertungsmodul 206 weitere schlechte Datenpaare entfernen, die auf schlechten Kamerabildern basieren, die unter Streulicht, Blendung, Geisterbildern und Blooming, Bewegungsunschärfe und schlecht beleuchteten Bereichen usw. leiden. In verschiedenen Ausführungsformen kann das Datenpaar-Auswertungsmodul 206 weitere schlechte Datenpaare entfernen, die auf schlechten Lidar-Punkten basieren, wie z. B. stark reflektierten Verkehrszeichen/Tafeln.
-
Das Ausrichtungsmanagermodul 208 empfängt die Datenpaar-Daten 220. Das Ausrichtungsmanagermodul 208 richtet das Datenpunktpaar z. B. mit einer Suchmethode mit sechs Freiheitsgraden (DOF) aus. Das Suchverfahren mit sechs DOFs schätzt beispielsweise alle sechs DOFs (z. B. Pitch, Yaw, Roll, x, y, z) der Punkte mithilfe einer Zielfunktion. Bei einem Datenpunktpaar aus dem Bildrahmen und der Lidar-Punktwolke findet das Ausrichtungsmanagermodul 208 die maximale Punktzahl der Zielfunktion, indem es alle möglichen sechs DOF-Kombinationen (z. B.
36 oder 729 Fälle) durchsucht, wobei jeder DOF -1, 0 oder 1 zugewiesen wird.
-
In verschiedenen Ausführungsformen wird die Sechs-DOF-Suchmethode in zwei separaten Stufen implementiert, wobei eine erste oder grobe Stufe einen großen Suchraum umfasst (z. B. von 4 und allmählich abnehmend auf 0,04), um eine große Fehlerbehandlung zu ermöglichen, und eine zweite oder feine Stufe, die einen kleinen Suchraum umfasst (z. B. fest auf 0,04), um die Werte fein abzustimmen. In verschiedenen Ausführungsformen verwendet die erste Stufe Datenpunkte des fahrzeugerweiterten IDT und die zweite Stufe Datenpunkte aus dem canny IDT .
-
Das Kalibrierungsmodul 210 empfängt die Parameterwerte 222. Das Kalibrierungsmodul 210 aktualisiert die mit den Lidar-Sensoren und den Kamera-Sensoren verbundenen Kalibrierungen, indem es die geschätzten extrinsischen Parameterwerte als die Kalibrierungen beispielsweise in der Datenspeichereinrichtung 36 zur Verwendung durch andere Systeme des ADS 70 speichert. In verschiedenen Ausführungsformen speichert das Kalibrierungsmodul 210 die extrinsischen Parameter, wenn die geschätzten extrinsischen Parameter besser sind als sechsundneunzig Prozent aller Störungen für mehr als X Anzahl von Rahmen (z. B. 100 oder ein anderer Wert).
-
Unter Bezugnahme auf 4 und unter fortgesetzter Bezugnahme auf 1-3 illustriert ein Flussdiagramm verschiedene Ausführungsformen eines Verfahrens 300, das in einer Steuerung 34 im Steuerungssystem 100 von 1 eingebettet sein kann, der das ADS 70 und das Steuermodul 200 von 3 in Übereinstimmung mit der vorliegenden Offenbarung unterstützt. Wie in Anbetracht der Offenbarung zu erkennen ist, ist die Reihenfolge des Ablaufs innerhalb des Verfahrens 300 nicht auf die in 4 dargestellte sequentielle Ausführung beschränkt, sondern kann in einer oder mehreren variierenden Reihenfolgen ausgeführt werden, wie es anwendbar ist und der vorliegenden Offenbarung entspricht. In verschiedenen Ausführungsformen kann das Verfahren 300 so geplant werden, dass es auf der Grundlage eines oder mehrerer vorbestimmter Ereignisse ausgeführt wird, und/oder es kann während des Betriebs des Fahrzeugs 10 kontinuierlich ausgeführt werden.
-
In verschiedenen Ausführungsformen veranschaulicht 4 das Verfahren 300 zur dynamischen Sensorausrichtung. In einem Beispiel kann das Verfahren 300 bei 305 beginnen. Die Sensordaten 212, 216 werden bei 310 empfangen. Die fahrzeugerweiterte IDT wird aus den Bilddaten bei 320 berechnet. Die Lidar-Kanten werden aus den Lidar-Punktwolkendaten berechnet (330). Die Bildkanten-Datenpunkte und die Lidar-Kanten-Datenpunkte werden verknüpft, um das Datenpunktpaar zu erstellen, das bei 340 auf seine Qualität bewertet wird. Wenn das Datenpaar bei 350 als nicht gut befunden wird, wird das Datenpunktpaar verworfen und neue Daten werden bei 310 empfangen. Wenn das Datenpunktpaar jedoch bei 350 als gut befunden wird, wird das Verfahren bei 360 fortgesetzt.
-
Bei 360 wird die zweistufige Sechs-DOF-Methode durchgeführt, um die Datenpunktpaare auszurichten und die extrinsischen Parameter zu erzeugen. Wenn die extrinsischen Parameter besser sind als sechsundneunzig Prozent aller Störungen bei 370, für mehr als z. B. 100 Frames (oder eine andere Anzahl) bei 380, werden die extrinsischen Parameter als die Kalibrierungen in der Datenspeichereinrichtung 36 bei 390 gespeichert. Danach kann das Verfahren bei 400 enden. Wenn jedoch die extrinsischen Parameter nicht besser sind als sechsundneunzig Prozent aller Störungen bei 370 oder nicht für mehr als 100 Frames bei 380, fährt das Verfahren mit dem Empfang der Sensordaten 212, 216 bei 310 fort.
-
Obwohl in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, sollte man sich darüber im Klaren sein, dass es eine große Anzahl von Variationen gibt. Es sollte auch gewürdigt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen nur Beispiele sind und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise zu begrenzen. Vielmehr soll die vorstehende detaillierte Beschreibung dem Fachmann eine praktische Anleitung zur Umsetzung der beispielhaften Ausführungsform oder der beispielhaften Ausführungsformen geben. Es sollte verstanden werden, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der Offenbarung, wie in den beigefügten Ansprüchen und den gesetzlichen Äquivalenten davon dargelegt, abzuweichen.