-
Einführung
-
Die vorliegende Offenbarung bezieht sich auf ein System und ein Verfahren für eine Scan-Abgleich- und Radar-Posenschätzvorrichtung für ein autonomes Fahrzeug basierend auf hyperlokalen Teilkarten, wobei die hyperlokalen Teilkarten auf einer vordefinierten Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans und ihren letzten zugehörigen Posenschätzungen basieren.
-
Ein autonomes Fahrzeug kann unter Verwendung verschiedener Technologien und Sensoren im Fahrzeug von einem Ausgangspunkt zu einem vorbestimmten Zielort unter begrenztem oder ohne Eingriff eines Menschen fahren. Autonome Fahrzeuge weisen eine Vielzahl von autonomen Sensoren wie etwa Kameras, Radargeräte, LiDAR, globale Positionsbestimmungssysteme (GPS) und Trägheitsmesseinheiten (IMU) zum Detektieren der äußeren Umgebung und des Zustands des Fahrzeugs auf. Falls jedoch eine Kamera oder ein Radargerät aus deren Halterung bewegt bzw. entfernt wird, wenn das autonome Fahrzeug repariert wird, einen Unfall erleidet oder während einer Fahrt auf ein signifikantes Schlagloch oder Hindernis trifft, dann muss die Kamera oder der Radarsensor neu kalibriert werden, was ein manueller und oft mühsamer Prozess ist. Falls überdies das autonome Fahrzeug eine Achsvermessung erfährt, müssen dann ebenfalls die Kameras und Radarsensoren neu kalibriert werden. Dies liegt daran, dass die Räder des Fahrzeugs die Fahrtrichtung bestimmen, was sich auf die Ausrichtung der Kameras und Radare auswirkt.
-
Millimeterwellen- (mmWave-)Radar ist eine spezielle Technologie, die bei autonomen Fahrzeugen genutzt werden kann. Millimeterwellen-Radar kann beispielsweise genutzt werden, um vor Kollisionen vorwärts und Kollisionen rückwärts zu warnen, einen adaptiven Tempomat und autonomes Einparken zu implementieren sowie auf Straßen und Autobahnen autonom zu fahren. Es ist zu verstehen, dass ein Millimeterwellen-Radar gegenüber anderen Sensorsystemen insofern Vorteile aufweist, als es unter den meisten Wetterbedingungen sowie bei Licht und Dunkelheit arbeiten kann. Ein Millimeterwellen-Radar kann die Entfernung, den Winkel und den Doppler-Effekt (Radialgeschwindigkeit) von sich bewegenden Objekten messen. Basierend auf den vom Millimeterwellen-Radar gesammelten Daten kann eine Radarpunktwolke auf der Grundlage verschiedener Cluster- und Verfolgungsalgorithmen bestimmt werden, die genutzt werden können, um Ort, Geschwindigkeit und Trajektorie von Objekten zu bestimmen. Radarpunktwolken, die auf Daten basieren, die mittels Millimeterwellen-Radargeräten und insbesondere kostengünstiger Millimeterwellen-Radarsensoren auf System-on-Chip- (SoC-)Basis gesammelt werden, können jedoch zu verrauscht und spärlich sein, um für eine robuste und genaue Posenschätzung, die für dynamische Kalibrierungszwecke erforderlich ist, verwendet zu werden.
-
Während aktuelle Ansätze zur Radar-Posenschätzung für autonome Fahrzeuge ihren beabsichtigten Zweck erfüllen, besteht ein Bedarf an einem Ansatz, der die Radar-Posenschätzung für ein Fahrzeug verbessert.
-
Zusammenfassung
-
Gemäß mehreren Aspekten wird eine Scan-Matching- bzw. Scan-Abgleich- und Radar-Posenschätzvorrichtung zum Bestimmen einer finalen Radar-Pose für ein autonomes Fahrzeug offenbart. Die Scan-Abgleich- und Radar-Posenschätzvorrichtung umfasst einen Controller für automatisiertes Fahren, der angewiesen wird, eine hyperlokale Teilkarte basierend auf einer vordefinierten Anzahl von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans und zugehörigen Posenschätzungen zu bestimmen. Die vordefinierte Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans basiert auf einem aggregierten gefilterten Datenpunktwolken-Scan, der durch Daten bestimmt wird, die mittels eines einzelnen, am autonomen Fahrzeug montierten Radarsensors gesammelt werden. Der Controller für automatisiertes Fahren wird angewiesen, eine anfängliche geschätzte Pose zu bestimmen, indem er einen letzten aggregierten gefilterten Datenpunktwolken-Scan mit der jüngsten hyperlokalen Teilkarte auf der Grundlage eines iterativen Anpassungsalgorithmus für den nächsten Punkt (ICP) anpasst. Der Controller für automatisiertes Fahren wird angewiesen, einen Posengraphen, basierend auf der jüngsten hyperlokalen Teilkarte und benachbarten Radarpunktwolken-Scans zu bestimmen. Der Controller für automatisiertes Fahren wird angewiesen, einen nichtlinearen Multiview-ICP-Algorithmus bzw. ICP-Algorithmus mit mehreren Ansichten auszuführen, um die anfänglichen geschätzten Posen, die den benachbarten Radarpunktwolken-Scans entsprechen, in der Art von gleitendem Fenster zu adjustieren, um eine lokal eingestellte Pose zu bestimmen. Die lokal eingestellte Pose ist die finale Radar-Pose.
-
In einem Aspekt führt der Controller für automatisiertes Fahren Anweisungen aus, um einen Schleifendetektionsalgorithmus auszuführen, um zu detektieren, dass sich das autonome Fahrzeug gegenwärtig an einem zuvor besuchten Ort befindet, wobei eine Schleife detektiert wird, wenn sich das autonome Fahrzeug gegenwärtig an dem zuvor besuchten Ort befindet.
-
In einem anderen Aspekt wird der Controller für automatisiertes Fahren als Reaktion auf ein Detektieren der Schleife angewiesen, eine nichtlineare Optimierungsroutine auszuführen, um eine globale Posenadjustierung an einen Schleifenschluss-Posengraphen vorzunehmen, um eine schleifenadjustierte Radar-Pose zu bestimmen, und die schleifenadjustierte Radar-Pose als finale Radar-Pose festzulegen.
-
In einem weiteren Aspekt ist die jüngste hyperlokale Teilkarte eine feste Beschränkung, und die benachbarten Radarpunktwolken-Scans werden sowohl in Bezug aufeinander als auch in Bezug auf die jüngste hyperlokale Teilkarte eingestellt.
-
In einem Aspekt wird eine Randbedingung zwischen jeder benachbarten Radarpunktabtastung bestimmt.
-
In einem anderen Aspekt wird eine Randbedingung zwischen jedem der benachbarten Radarpunktwolken-Scans und der jüngsten hyperlokalen Teilkarte bestimmt.
-
In noch einem weiteren Aspekt bestimmt der Controller für automatisiertes Fahren die anfängliche geschätzte Pose, indem er einen Parameter des Schwellenwerts für den maximalen Abstand des ICP-Anpassungsalgorithmus einstellt, um Korrespondenzen zwischen den aggregierten gefilterten Datenpunktwolken-Scans und einem auf der jüngsten hyperlokalen Teilkarte gelegenen Punkt zu bestimmen.
-
In einem Aspekt hängt die vordefinierte Anzahl der aggregierten gefilterten Datenpunktwolken-Scans und der zugehörigen Posenschätzungen von einer Abtast-Rate des einzelnen Radarsensors ab.
-
In einem anderen Aspekt wird die anfängliche geschätzte Pose anstelle der zugehörigen Posenschätzungen verwendet, die auf der vordefinierten Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans basieren, um die hyperlokale Teilkarte zu bestimmen.
-
In noch einem weiteren Aspekt wird die lokal eingestellte Pose anstelle der zugehörigen Posenschätzungen verwendet, die auf der vordefinierten Anzahl von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans basieren, um die hyperlokale Teilkarte zu bestimmen.
-
In einem Aspekt wird der Controller für automatisiertes Fahren angewiesen, die vorhergesagte Pose zu bestimmen, indem eine relative Transformation bestimmt wird, die eine relative Bewegung zwischen den letzten beiden aufeinanderfolgenden Posenschätzungen darstellt, die mit den aggregierten gefilterten Datenpunktwolken-Scans verbunden sind, und die relative Transformation zwischen den letzten beiden aufeinanderfolgenden Posenschätzungen in eine Geschwindigkeit basierend auf einer Zeitdifferenz zwischen den letzten beiden aufeinanderfolgenden Posenschätzungen umgewandelt wird, die mit den aggregierten gefilterten Datenpunktwolken-Scans verbunden sind, und die relative Transformation von Geschwindigkeit in Position basierend auf einer Zeitdifferenz zwischen einer letzten Posenschätzung und einer aktuellen Posenschätzung umgewandelt wird. Eine Positionsdifferenz zwischen der letzten Posenschätzung und der aktuellen Posenschätzung ist die vorhergesagte Pose.
-
In einem Aspekt wird ein Verfahren zum Bestimmen einer finalen Radar-Pose für ein autonomes Fahrzeug bereitgestellt. Das Verfahren umfasst ein Bestimmen einer hyperlokalen Teilkarte basierend auf einer vordefinierten Anzahl von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans und zugehörigen Posenschätzungen. Die vordefinierte Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans basiert auf einem aggregierten gefilterten Datenpunktwolken-Scan, und der aggregierte gefilterte Datenpunktwolken-Scan wird auf der Grundlage von Daten bestimmt, die mittels eines einzelnen, am autonomen Fahrzeug montierten Radarsensors gesammelt werden. Das Verfahren umfasst ein Bestimmen einer anfänglichen geschätzten Pose, indem ein letzter aggregierter gefilterter Datenpunktwolken-Scan mit der letzten hyperlokalen Teilkarte basierend auf einem ICP-Anpassungsalgorithmus angepasst wird. Das Verfahren umfasst auch ein Bestimmen eines Posengraphen auf der Grundlage der jüngsten hyperlokalen Teilkarte und benachbarter Radarpunktwolken-Scans. Schließlich umfasst das Verfahren ein Ausführen eines nichtlinearen ICP-Algorithmus mit mehreren Ansichten, um die anfänglichen geschätzten Posen entsprechend den benachbarten Radarpunktwolken-Scans in einer Art von gleitendem Fenster zu adjustieren, um eine lokal eingestellte Pose zu bestimmen, wobei die lokal eingestellte Pose die finale Radar-Pose ist.
-
In einem anderen Aspekt umfasst das Verfahren ein Ausführen eines Schleifendetektionsalgorithmus, um zu detektieren, dass sich das autonome Fahrzeug gegenwärtig an einem zuvor besuchten Ort befindet, wobei eine Schleife detektiert wird, wenn sich das autonome Fahrzeug gegenwärtig an dem zuvor besuchten Ort befindet.
-
In noch einem weiteren Aspekt umfasst das Verfahren als Reaktion auf das Detektieren der Schleife ein Ausführen einer nichtlinearen Optimierungsroutine, um eine globale Posenadjustierung an einem Schleifenschluss-Posengraphen durchzuführen, um eine schleifenadjustierte Radar-Pose zu bestimmen, und die schleifenadjustierte Radar-Pose als finale Radar-Pose festzulegen.
-
In einem Aspekt umfasst das Verfahren ein Bestimmen einer Randbedingung zwischen jedem benachbarten Radarpunkt-Scan.
-
In einem anderen Aspekt umfasst das Verfahren ein Bestimmen einer Randbedingung zwischen jedem der benachbarten Radarpunktwolken-Scans und der letzten hyperlokalen Teilkarte.
-
In noch einem weiteren Aspekt umfasst das Verfahren ein Bestimmen der anfänglichen geschätzten Pose, indem ein Parameter des Schwellenwerts für den maximalen Abstand des ICP-Anpassungsalgorithmus eingestellt wird, um Korrespondenzen zwischen den aggregierten gefilterten Datenpunktwolken-Scans und einem auf der letzten hyperlokalen Teilkarte gelegenen Punkt zu bestimmen.
-
In einem Aspekt umfasst das Verfahren ein Verwenden der anfänglichen geschätzten Pose anstelle der zugehörigen Posenschätzungen, die auf der vordefinierten Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans basieren, um die hyperlokale Teilkarte zu bestimmen.
-
In einem anderen Aspekt umfasst das Verfahren die Verwendung der lokal eingestellten Pose anstelle der zugehörigen Posenschätzungen, die auf der vordefinierten Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans basieren, um die hyperlokale Teilkarte zu bestimmen.
-
In einem anderen Aspekt wird eine Scan-Matching- bzw. Scan-Abgleich- und Radar-Posenschätzvorrichtung zum Bestimmen einer finalen Radar-Pose für ein autonomes Fahrzeug offenbart. Die Scan-Abgleich- und Radar-Posenschätzvorrichtung umfasst einen Controller für automatisiertes Fahren, der angewiesen wird, eine hyperlokale Teilkarte auf der Grundlage einer vordefinierten Anzahl von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans und zugehörigen Posenschätzungen zu bestimmen. Die vordefinierte Anzahl von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans basiert auf Daten, die mittels eines einzelnen, am autonomen Fahrzeug montierten Radarsensors gesammelt werden. Der Controller für automatisiertes Fahren wird angewiesen, eine anfängliche geschätzte Pose zu bestimmen, indem er einen letzten aggregierten gefilterten Datenpunktwolken-Scan mit der jüngsten hyperlokalen Teilkarte auf der Grundlage eines ICP-Anpassungsalgorithmus anpasst. Der Controller für automatisiertes Fahren wird angewiesen, einen Posengraphen basierend auf der jüngsten hyperlokalen Teilkarte und benachbarten Radarpunktwolken-Scans zu bestimmen. Der Controller für automatisiertes Fahren wird angewiesen, einen nichtlinearen ICP-Algorithmus mit mehreren Ansichten auszuführen, um anfängliche geschätzte Posen entsprechend den benachbarten Radarpunktwolken-Scans in einer Art von gleitendem Fenster zu adjustieren, um eine lokal eingestellte Pose zu bestimmen. Der Controller für automatisiertes Fahren wird angewiesen, einen Schleifendetektionsalgorithmus auszuführen, um zu detektieren, dass sich das autonome Fahrzeug gegenwärtig an einem zuvor besuchten Ort befindet, wobei eine Schleife detektiert wird, wenn sich das autonome Fahrzeug gegenwärtig an dem zuvor besuchten Ort befindet. Als Reaktion auf ein Detektieren der Schleife führt der Controller für automatisiertes Fahren eine nichtlineare Optimierungsroutine aus, um eine globale Posenadjustierung an einem Schleifenschluss-Posengraphen durchzuführen, um eine schleifenadjustierte Radar-Pose zu bestimmen. Der Controller für automatisiertes Fahren wird angewiesen, die schleifenadjustierte Radar-Pose als finale Radar-Pose festzulegen.
-
Weitere Anwendungsbereiche werden aus der hierin bereitgestellten Beschreibung ersichtlich. Es sollte sich verstehen, dass die Beschreibung und die spezifischen Beispiele nur zu Veranschaulichungszwecken dienen und den Umfang der vorliegenden Offenbarung nicht einschränken sollen.
-
Figurenliste
-
Die hierin beschriebenen Zeichnungen dienen nur zu Veranschaulichungszwecken und sollen den Umfang der vorliegenden Offenbarung in keiner Weise einschränken.
- 1 ist ein schematisches Diagramm eines autonomen Fahrzeugs, das eine Vielzahl von Radarsensoren und einen Controller für automatisiertes Fahren enthält, wobei der Controller für automatisiertes Fahren eine Posenschätzungs-Pipeline zum Bestimmen von Kalibrierungskoordinaten gemäß einer beispielhaften Ausführungsform enthält;
- 2 ist ein Blockdiagramm, das ein Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul, das Teil der in 1 gezeigten Posenschätzungs-Pipeline ist, gemäß einer beispielhaften Ausführungsform m veranschaulicht;
- 3 ist ein Diagramm eines Posengraphen, der eine feste hyperlokale Teilkarte und eine Vielzahl von benachbarten Radarpunktwolken-Scans enthält, gemäß einer beispielhaften Ausführungsform; und
- 4 ist ein Prozessflussdiagramm, das ein Verfahren zum Bestimmen der finalen Radar-Posen mittels des in 2 gezeigten Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 gemäß einer beispielhaften Ausführungsform veranschaulicht.
-
Detaillierte Beschreibung
-
Die folgende Beschreibung ist ihrer Art nach lediglich beispielhaft und soll die vorliegende Offenbarung, Anwendung oder Nutzungen nicht einschränken.
-
In 1 ist ein beispielhaftes autonomes Fahrzeug 10 veranschaulicht. Das autonome Fahrzeug 10 weist ein autonomes Fahrsystem 12 auf, das einen Controller 20 für automatisiertes Fahren enthält, der mit einer Vielzahl von bordeigenen autonomen Sensoren 22 und einer Vielzahl von Fahrzeugsystemen 24 in elektronischer Kommunikation steht. In dem in 1 gezeigten Beispiel umfasst die Vielzahl bordeigener autonomer Sensoren 22 einen oder mehrere Radarsensoren 30, eine oder mehrere Kameras 32, eine Trägheitsmesseinheit (IMU) 34, ein globales Positionsbestimmungssystem (GPS) 36 und LiDAR 38; es versteht sich jedoch, dass zusätzliche Sensoren ebenso verwendet werden können. Die Vielzahl von Radarsensoren 30 kann an der Vorderseite 14, am Heck 16 und/oder an den Seiten 18 des autonomen Fahrzeugs 10 montiert werden, um Objekte in der das autonome Fahrzeug 10 umgebenden Umfeld zu detektieren. Jeder Radarsensor 30 führt eine Vielzahl einzelner Abtastungen bzw. Scans des das autonome Fahrzeug 10 umgebenden Umfelds durch, um Daten in Form eines Radarpunktwolken-Scans mit einer Vielzahl von Detektionspunkten zu erhalten.
-
Der Controller 20 für automatisiertes Fahren enthält eine Posenschätzungs-Pipeline 40, die einen Scan-Aggregator und -Filter 42, ein INS-Modul (Inertial Navigation System bzw. Trägheitsnavigationssystem) 44, ein Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 und ein Kalibrierungsmodul 48 umfasst. Wie unten erläutert wird, bestimmt der Scan-Aggregator und -Filter 42 einen aggregierten gefilterten Datenpunktwolken-Scan 50 auf der Grundlage von mittels eines einzelnen Radarsensors 30 gesammelten Daten des das autonome Fahrzeug 10 umgebenden Umfelds. Der aggregierte gefilterte Datenpunktwolken-Scan 50 wird an das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 gesendet. Ein Zeitstempel des Scans, der dem aggregierten gefilterten Datenpunktwolken-Scan 50 zugeordnet ist, wird an das INS-Modul 44 gesendet. Das INS-Modul 44 bestimmt die IMU-Posen 52, die an das Kalibrierungsmodul 48 gesendet werden, und das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 bestimmt finale Radar-Posen 54, die an das Kalibrierungsmodul 48 gesendet werden. Das Kalibrierungsmodul 48 bestimmt sechs Freiheitsgradvariablen (6DoF-Variablen) 56, die x-, y- und z-Koordinaten sowie Roll-φ, Nick-9 und Gier-Ψ des autonomen Fahrzeugs 10 umfassen. In einer Ausführungsform sind die sechs Freiheitsgrade (6DoF) 56 Radar-zu-Fahrzeug-Kalibrierungsparameter, die verwendet werden, um die Radarsensoren 30 automatisch mit einem Schwerpunkt G des autonomen Fahrzeugs 10 anzupassen. Es versteht sich jedoch, dass der offenbarte Scan-Aggregator und -Filter 42 sowie das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 nicht auf 6DoF-Radar-zu-Fahrzeug-Kalibrierungsparameter beschränkt sind und auch für andere Anwendungen verwendet werden können. In einer anderen Ausführungsform können beispielsweise der Scan-Aggregator und - Filter 42 sowie das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 für dreidimensionale radarbasierte Anwendungen zur gleichzeitigen Lokalisierung und Kartierung bzw. Abbildung (SLAM) verwendet werden.
-
Es versteht sich, dass die mittels der Radarsensoren 30 erhaltenen Radarpunktwolken spärlich sein können und in einigen Fällen verrauschte und verwackelte Daten, Geisterdetektionen, Reflexionen und Störechos enthalten. Wie im Folgenden erläutert wird, verwendet, selbst wenn die Radarpunktwolken spärlich sind, das offenbarte Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 hyperlokale Teilkarten, um die finalen Radar-Posen 54 mit verbesserter Genauigkeit und Robustheit zu bestimmen. Wie im Folgenden erläutert wird, werden konkret die hyperlokalen Teilkarten für einen iterativen ICP-Scan-Abgleich (engl.: iterative closest point) für nichtlineare ICP-Einstellungen bzw. -Adjustierungen mit mehreren Ansichten und für Schleifenschließungen von Posengraphen verwendet, die die Auswirkungen spärlicher Radarpunktwolken verringern.
-
Bei dem autonomen Fahrzeug 10 kann es sich um jede beliebige Art von Fahrzeug wie etwa eine Limousine, einen Lastwagen, einen Geländewagen, einen Van oder ein Wohnmobil handeln, ohne darauf beschränkt zu sein. In einer nicht einschränkenden Ausführungsform ist das autonome Fahrzeug 10 ein vollständig autonomes Fahrzeug mit einem System für automatisiertes Fahren (ADS) zum Durchführen aller Fahraufgaben. Alternativ dazu ist in einer anderen Ausführungsform das autonome Fahrzeug 10 ein semiautonomes Fahrzeug mit einem fortschrittlichen Fahrerassistenzsystem (ADAS), um einen Fahrer beim Lenken, Bremsen und/oder Beschleunigen zu unterstützen. Der Controller 20 für automatisiertes Fahren bestimmt Funktionen bzw. Merkmale des autonomen Fahrens wie etwa Wahrnehmung, Planung, Lokalisierung, Kartierung bzw. Abbildung und Steuerung des autonomen Fahrzeugs 10. Obwohl in 1 den Controller 20 für automatisiertes Fahren als einen einzigen Controller veranschaulicht, können natürlich auch mehrere Controller einbezogen werden. Die Vielzahl von Fahrzeugsystemen 24 umfasst, ist aber nicht darauf beschränkt, ein Bremssystem 70, ein Lenksystem 72, ein Antriebsstrangsystem 74 und ein Aufhängungssystem 76. Der Controller 20 für automatisiertes Fahren sendet Fahrzeugsteuerungsbefehle an die Vielzahl von Fahrzeugsystemen 24, um das autonome Fahrzeug 10 zu steuern.
-
Bei den Radarsensoren 30 kann es sich um ein Kurzstreckenradar zum Detektieren von Objekten in einer Entfernung von etwa 1 bis etwa 20 Metern vom autonomen Fahrzeug 10, ein Mittelstreckenradar zum Detektieren von Objekten in einer Entfernung von etwa 1 bis etwa 60 Metern vom autonomen Fahrzeug 10 oder ein Langstreckenradar zum Detektieren von Objekten in einer Entfernung von bis zu etwa 260 Metern vom autonomen Fahrzeug 10 handeln. In einer Ausführungsform umfassen der eine oder die mehreren der Radarsensoren 30 Millimeterwellen-(mmWave-)Radarsensoren und insbesondere kostengünstige Millimeterwellen-Radarsensoren auf System-on-Chip- (SoC-)Basis, die ein begrenztes Sichtfeld aufweisen. In einer anderen Ausführungsform umfassen die Radarsensoren 30 einen oder mehr um 360 Grad drehende Radarsensoren.
-
Bezugnehmend auf 2 ist ein Blockdiagramm dargestellt, das das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 veranschaulicht, wobei das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 ein Teilmodul 60 für den iterativen ICP-Scan-Abgleich, ein Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten, ein Teilmodul 64 für Teilkarten, ein Modul 66 für den Posengraph-Schleifenschluss und eine oder mehr räumliche Datenbanken 68 umfasst. Der aggregierte gefilterte Datenpunktwolken-Scan 50 vom Scan-Aggregator und -Filter 42 (siehe 1) wird an jedes der Teilmodule 60, 62, 64 und 66 des Scan-Abgleich- und Radar-Posenschätzvorrichtungsmoduls 46 gesendet. Das Teilmodul 60 für den ICP-Scan-Abgleich bestimmt eine anfängliche geschätzte Pose 80, die an die übrigen Teilmodule 62, 64 und 66 gesendet wird. Das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt eine lokal eingestellte bzw. eingestellte Pose 82, die an die übrigen Teilmodule 60, 64, 66 gesendet wird. Das Teilmodul 64 für Teilkarten bestimmt eine hyperlokale Teilkarte 84, die an die übrigen Teilmodule 60, 62, 66 gesendet wird. Schließlich bestimmt das Teilmodul 66 für den Posengraph-Schleifenschluss, falls zutreffend, schleifenadjustierte Radar-Posen 86, die an die übrigen Teilmodule 60, 62, 64 gesendet werden.
-
Bezugnehmend auf beide 1 und 2 sind die finalen Radar-Posen 54, die an das Kalibrierungsmodul 48 gesendet werden, entweder die lokal eingestellten Posen 82, die mittels des Teilmoduls 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt wurden, oder die schleifenadjustierten Radar-Posen 86, die mittels des Moduls 66 für den Posengraph-Schleifenschluss bestimmt wurden. Konkret sind in dem Fall, dass ein Schleifenschluss mittels des Moduls 66 für den Posengraph-Schleifenschluss detektiert wird, die finalen Radar-Posen 54 die schleifenadjustierten Radar-Posen 86; andernfalls sind die finalen Radar-Posen 54 die lokal eingestellten Posen 82, die mittels des Moduls 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt wurden. Wie unten erläutert wird, basieren die lokal eingestellten Posen 82 und die schleifenadjustierten Radar-Posen 86 auf den hyperlokalen Teilkarten 84, die mittels des Teilmoduls 64 für Teilkarten bestimmt werden. Die hyperlokalen Teilkarten 84 werden im Allgemeinen basierend auf einer vordefinierten Anzahl N aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 und der zugehörigen Posenschätzungen bestimmt; falls jedoch die verfügbare Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 geringer ist als die vordefinierte Anzahl N aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 ist, können dann die hyperlokalen Teilkarten 84 basierend auf der verfügbaren Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50, die gegenwärtig verfügbar sind, bestimmt werden.
-
Bezug nehmend auf 2 bestimmt das Teilmodul 64 für Teilkarten die hyperlokale Teilkarte 84 auf der Grundlage einer vordefinierten Anzahl N von aufeinanderfolgenden aggregierten gefilterten Datenpunktwolken-Scans 50 und den zugehörigen Posenschätzungen, oder werden alternativ dazu, falls die verfügbare Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 geringer ist als die vordefinierte Anzahl N, ist, dann die hyperlokalen Teilkarten 84 auf der Grundlage der verfügbaren Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 bestimmt, wobei der aggregierte gefilterte Datenpunktwolken-Scan 50 auf der Grundlage von Daten bestimmt wird, die mittels eines einzelnen Radarsensors 30 gesammelt werden. Das Teilmodul 64 für Teilkarten bestimmt zu Anfang die hyperlokale Teilkarte 84 basierend auf der vordefinierten Anzahl N der aggregierten gefilterten Datenpunktwolken-Scans 50, die vom Scan-Aggregator und -Filter 42 empfangen werden, in Kombination mit den zugehörigen Posenschätzungen. Jeder aggregierte gefilterte Datenpunktwolken-Scan 50 in der Historie wird in Kombination mit der zugehörigen Posenschätzung gespeichert. Es versteht sich, dass die letzten Posenschätzungen, die von dem einen der Teilmodule 60, 62, 66 empfangen werden, stattdessen verwendet werden können, um die hyperlokalen Teilkarten 84 zu bestimmen. Konkret hat die anfängliche geschätzte Pose 80 vom Teilmodul 60 für den ICP-Scan-Abgleich Vorrang vor den zugehörigen Posenschätzungen, die auf den aggregierten gefilterten Datenpunktwolken-Scans 50 basieren, hat die lokal eingestellte Pose 82, die mittels des Teilmoduls 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt wird, hat Vorrang vor der anfänglichen geschätzten Pose 80 und haben die schleifenadjustierten Radar-Posen 86, die mittels des Teilmoduls 66 für den Posengraph-Schleifenschluss bestimmt werden, haben Vorrang vor der anfänglichen geschätzten Pose 80.
-
Die hyperlokale Teilkarte 84 stellt eine Abbildung bzw. Karte dar, die aus der vorbestimmten Anzahl N aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 und den zugehörigen Posenschätzungen aufgebaut ist. Die vorbestimmte Anzahl N der aggregierten gefilterten Datenpunktwolken-Scans 50 und der zugehörigen Posenschätzungen hängt von einer Abtast-Rate des Radarsensors 30 ab (1). In einer Ausführungsform ist die vorbestimmte Anzahl N die Hälfte der Abtast-Rate des Radarsensors 30. In einer Ausführungsform beträgt die Abtast-Rate des Radarsensors 30 beispielsweise etwa 20 Einzelbilder bzw. Frames pro Sekunde (fps), so dass die vorbestimmte Zahl N 10 ist.
-
Das ICP-Teilmodul 60 für den Scan-Abgleich des Scan-Abgleich- und Radar-Posenschätzvorrichtungsmoduls 60 empfängt als Eingabe einen letzten aggregierten gefilterten Datenpunktwolken-Scan 50 vom Scan-Aggregator und -Filter 42 ( 1) und eine jüngste hyperlokale Teilkarte 84 vom Teilmodul 64 für Teilkarten und bestimmt die anfängliche geschätzte Pose 80 des letzten aggregierten gefilterten Datenpunktwolken-Scans 50. In dem Fall, in dem eine verfügbare Anzahl von aggregierten gefilterten Datenpunktwolken-Scans 50 kleiner als die vorbestimmte Anzahl N ist, kann die jüngste hyperlokale Teilkarte 84 auf der Grundlage der verfügbaren Anzahl aggregierter gefilterter Datenpunktwolken-Scans 50 bestimmt werden.
-
Aufgrund von Inkonsistenzen bei den Ankunftszeiten zwischen den Scans ist es verständlich, dass eine direkte Verwendung einer relativen Posenänderung zwischen zwei aufeinanderfolgenden Scans, um die anfängliche geschätzte Pose 80 vorherzusagen, zu Ungenauigkeiten und Konvergenzproblemen beim ICP-Scan-Abgleich führt. Folglich bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich die anfängliche geschätzte Pose 80, indem es zunächst eine vorhergesagte Pose bestimmt, die im Folgenden ausführlicher beschrieben wird. Es versteht sich, dass die vorhergesagte Pose ein internes Element des Teilmoduls 60 für den ICP-Scan-Abgleich ist. Das Teilmodul 60 für den ICP-Scan-Abgleich stellt dann einen Parameter des Schwellenwerts für den maximalen Abstand eines ICP-Anpassungsalgorithmus ein, um Korrespondenzen zwischen den aggregierten gefilterten Datenpunktwolken-Scans 50 und dem auf der jüngsten hyperlokalen Teilkarte 84 gelegenen Punkt zu bestimmen. Es versteht sich, dass der Schwellenwert für den maximalen Abstand basierend auf sowohl der linearen als auch der Winkelgeschwindigkeit des autonomen Fahrzeugs 10 eingestellt wird (1). Schließlich bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich die anfängliche geschätzte Pose 80, die als Ausgangspunkt genutzt wird, um die finalen Radar-Posen 54 zu bestimmen, indem der letzte aggregierte gefilterte Datenpunktwolken-Scan 50 mit der jüngsten hyperlokalen Teilkarte 84 basierend auf dem ICP-Anpassungsalgorithmus angepasst wird.
-
In einer Ausführungsform bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich die vorhergesagte Pose, indem es zunächst eine relative Transformation bestimmt, die eine relative Bewegung zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen darstellt, die mit den letzten aggregierten gefilterten Datenpunktwolken-Scans 50 verbunden sind. Die relative Transformation zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen, die mit den letzten aggregierten gefilterten Datenpunktwolken-Scans 50 verbunden sind, wird dann in eine Geschwindigkeit basierend auf einer Zeitdifferenz zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen umgewandelt, die mit den letzten Radarpunkt-Scans verbunden sind. Konkret wird die relative Transformation in einen se(3)-Raum basierend auf einer Log-Funktion einer Lie-Algebra unter Verwendung der Zeitdifferenz zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen umgewandelt, die mit den letzten aggregierten gefilterten Datenpunktwolken-Scans 50 verbunden sind. Danach wird die relative Transformation von Geschwindigkeit in Position basierend auf einer Zeitdifferenz zwischen der letzten Posenschätzung und einer aktuellen Posenschätzung umgewandelt, wobei eine Positionsdifferenz zwischen der letzten Posenschätzung und der aktuellen Posenschätzung die vorhergesagte Posenschätzung ist. Konkret wird die relative Transformation in den Raum einer speziellen euklidischen Gruppe SE(3) basierend auf einer Exponentialfunktion einer Lie-Algebra unter Verwendung der Zeitdifferenz zwischen der letzten Posenschätzung und einer aktuellen Posenschätzung umgewandelt, und wobei se(3) der Tangentenraum der speziellen euklidischen Gruppe SE(3) ist.
-
Bezugnehmend auf beide 2 und 3 bestimmt das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten einen Posengraphen 100 (siehe 3), der die jüngste hyperlokale Teilkarte 84 und benachbarte Radarpunktwolken-Scans 104 enthält. Das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten passt die Vielzahl von benachbarten Radarpunktwolken-Scans 104 gleichzeitig sowohl untereinander als auch mit der jüngsten hyperlokalen Teilkarte 84 an. Es versteht sich, dass die jüngste hyperlokale Teilkarte 84 eine feste Vorgabe bzw. Beschränkung ist; jedoch werden die benachbarten Radarpunktwolken-Scans 104 sowohl in Bezug aufeinander als auch in Bezug auf die jüngste hyperlokale Teilkarte 84 eingestellt.
-
Bezugnehmend auf 3 wird die jüngste hyperlokale Teilkarte 84 aus der vorbestimmten Anzahl N aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 und der entsprechenden anfänglichen geschätzten Pose 80 entsprechend eines neuesten Punktwolken-Scans S11 konstruiert, der mittels des Teilmoduls 60 für den ICP-Scan-Abgleich bestimmt wird. Es ist zu verstehen, dass die entsprechenden finalen Radar-Posen 54 bereits im Speicher für die vorherigen Radarpunktwolken-Scans S1-S10 gespeichert sind. Im in 3 gezeigten Beispiel ist die vorbestimmte Zahl N zehn und umfasst die jüngste hyperlokale Teilkarte 84 zehn aufeinanderfolgende Punktwolken-Scans S1-S10. Der Posengraph 100 umfasst auch eine Anzahl N+1 von benachbarten Radarpunktwolken-Scans 104. Mit anderen Worten enthält der Posengraph 100 einen zusätzlichen benachbarten Radarpunktwolken-Scan 104 im Vergleich zur jüngsten hyperlokalen Teilkarte 84. In dem in 3 gezeigten Beispiel umfasst der Posengraph 100 benachbarte Radarpunktwolken-Scans S1, S2, S3, S4, S5, S6, S7, S8, S9, S10 und S11, wobei S11 den jüngsten Radarpunktwolken-Scan vom Radarsensor 30 ( 1) repräsentiert. Es ist zu verstehen, dass die Nähe der benachbarten Radarpunktwolken-Scans 104 basierend auf ihren entsprechenden letzten Posenschätzungen gemessen wird.
-
Bezugnehmend auf beide 2 und 3 bestimmt das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten den Posengraphen 100, indem es zunächst benachbarte Radarpunktwolken-Scans 104 basierend auf ihrer entsprechenden anfänglichen geschätzten Pose 80 bestimmt. Das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt auch die Nähe zwischen den benachbarten Radarpunktwolken-Scans 104 basierend auf einer kNN- (k-nearest neighbor) Technik. Konkret kann die kNN-Technik verwendet werden, um eine Nachbarschafts- oder Adjazenzmatrix zwischen den benachbarten Radarpunktwolken-Scans 104 zu bestimmen.
-
Das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten bestimmt dann den Posengraphen 100, indem Punkt-zu-Punkt-Korrespondenzen für jeden der benachbarten Radarpunktwolken-Scans 104 und die jüngste hyperlokale Teilkarte 84 basierend auf einem Schwellenwert für den maximalen Korrespondenzabstand berechnet wird. In einer nicht einschränkenden Ausführungsform beträgt der Schwellenwert für den maximalen Korrespondenzabstand etwa 1,5 Meter; es versteht sich jedoch, dass der Schwellenwert für den maximalen Korrespondenzabstand auf der Grundlage sowohl der linearen als auch der Winkelgeschwindigkeit des autonomen Fahrzeugs 10 (1) eingestellt wird. Das Teilmodul 62 für die ICP-Adjustierung bestimmt Randbedingungen 108 für die Verbindung der Knoten, die die benachbarten Radarpunktwolken-Scans 104 repräsentieren. Die Randbedingungen 108 definieren eine relative Pose zwischen den Knoten und eine Unsicherheit der Messung. Im in 3 gezeigten Beispiel ist die Variable k gleich 3. Somit werden drei Randbedingungen 108 zwischen dem jeweiligen benachbarten Radarpunkt-Scan 104 und einem der übrigen benachbarten Radarpunktwolken-Scans 104 bestimmt. Eine Randbedingung 110 wird auch zwischen jedem der benachbarten Radarpunktwolken-Scans 104 und der jüngsten hyperlokalen Teilkarte 84 bestimmt. Mit anderen Worten ist die jüngste hyperlokale Teilkarte 84 der Nachbar jeder der benachbarten Radarpunktwolken-Scans 104. Das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten weist dann jeder der Randbedingungen 108, 110 ein Gewicht zu, wobei das Gewicht ein Maß für Abstände zwischen verschiedenen Punktkorrespondenzen ist, die man zwischen beliebigen zwei benachbarten Radarpunktwolken-Scans 104 oder einem benachbarten Radarpunktwolken-Scan 104 und der jüngsten hyperlokalen Teilkarte 84 findet. In einer Ausführungsform ist das Abstandsmaß der Durchschnitt eines Medians aller entsprechenden Abstände und eines maximalen Korrespondenzabstands. Es ist zu verstehen, dass die jüngste hyperlokale Teilkarte eine Punktwolke aus mehreren Scans ist.
-
Sobald der Posengraph 100 konstruiert ist, führt das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten einen nichtlinearen ICP-Algorithmus aus, um die anfänglichen geschätzten Posen 80, die den benachbarten Radarpunktwolken-Scans 104 entsprechen, in einer Art von gleitendem Fenster zu adjustieren, um die lokal eingestellte Pose 82 zu bestimmen. Es ist zu verstehen, dass das gleitende Fenster ein globales Fenster ist, das sich über die N+1 letzten Abtastungen bzw. Scans (einschließlich des letzten Scans) bewegt und jedes Mal, wenn ein neuer Scan eingeführt wird, um einen einzelnen Radarpunktwolken-Scan 104 inkrementiert wird. Ein Beispiel für einen nichtlinearen ICP-Algorithmus mit mehreren Ansichten, der verwendet werden kann, ist der Levenberg-Marquardt-ICP; es versteht sich jedoch, dass andere Ansätze ebenso verwendet werden können. Sobald das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten einen nichtlinearen ICP-Algorithmus mit mehreren Ansichten ausführt, um die anfänglichen geschätzten Posen 80 entsprechend den benachbarten Radarpunktwolken-Scans 104 zu adjustieren, wird nur die anfängliche geschätzte Pose 80, die mit dem ältesten Scan S1 der N+1 Scans verbunden ist, finalisiert und als deren lokal eingestellte Pose gespeichert. Es ist zu verstehen, dass der älteste Scan S1 während des nächsten gleitenden Fensters des nichtlinearen ICP-Algorithmus mit mehreren Ansichten übersprungen wird.
-
Zurück auf 2 bezugnehmend bestimmt das Teilmodul 66 für den Posengraph-Schleifenschluss des Scan-Abgleich- und Radar-Posenschätzvorrichtungsmoduls 46 schleifenadjustierte Radar-Posen 86, indem es zunächst einen Schleifendetektionsalgorithmus ausführt, um zu detektieren, ob sich das autonome Fahrzeug 10 (1) gegenwärtig an einem Ort befindet, der zuvor besucht wurde. Wenn sich das autonome Fahrzeug 10 gegenwärtig an einem Ort befindet, der zuvor besucht wurde, wird darauf als Detektion einer Schleife verwiesen. Als Reaktion auf ein Detektieren einer Schleife führt das Teilmodul 66 für den Posengraph-Schleifenschluss nichtlineare Optimierungsroutine aus, um die schleifenadjustierten Radar-Posen 86 zu bestimmen. Ein Beispiel für eine nichtlineare Optimierungsroutine zum Bestimmen der schleifenadjustierten Radar-Posen 86 ist eine nichtlineare Least-Squares-Routine bzw. Routine der kleinsten Quadrate wie etwa, jedoch nicht darauf beschränkt, der Levenberg-Marquardt-Algorithmus.
-
Wie in 2 zu sehen ist, steht das Teilmodul 66 für den Posengraph-Schleifenschluss in Verbindung mit den ein oder mehr räumlichen Datenbanken 68. Während das autonome Fahrzeug 10 (1) fährt, bestimmt das Teilmodul 66 für den Posengraph-Schleifenschluss zweidimensionale Merkmalsdeskriptoren der mittels des Teilmoduls 64 für Teilkarten bestimmten hyperlokalen Teilkarten 84, die in der einen oder den mehreren räumlichen Datenbanken 68 gespeichert werden. Beispielsweise werden die Merkmalsdeskriptoren einer zweidimensionalen Multiview-Projektion (M2DP) bzw. zweidimensionalen Projektion mit mehreren Ansichten der hyperlokalen Teilkarten 84 in der einen oder den mehreren räumlichen Datenbanken 68 gespeichert. Ein Beispiel für eine räumliche Datenbank 68, die verwendet werden kann, ist ein k-d-Baum, bei dem es sich um eine raumaufteilende Datenstruktur zum Organisieren von Punkten in einem k-dimensionalen Raum handelt. In bestimmten Ausführungsformen können die zweidimensionalen Merkmalsdeskriptoren von nur vorausgewählten oder wichtigen hyperlokalen Teilkarten 84 in der einen oder den mehreren räumlichen Datenbanken 68 gespeichert werden, wobei eine räumliche Schlüssel-Datenbank 68 basierend auf einem Schwellenwertbetrag für eine Bewegung zwischen aufeinanderfolgenden hyperlokalen Teilkarten 84 definiert wird.
-
Während das autonome Fahrzeug 10 (1) fährt, empfängt Teilmodul 60 für den das ICP-Scan-Abgleich einen letzten Datenpunktwolken-Scan vom Scan-Aggregator und -Filter 42 (1). Während das Teilmodul 60 für den ICP-Scan-Abgleich den letzten Datenpunktwolken-Scan verarbeitet, bestimmt das Teilmodul 66 für den Posengraph-Schleifenschluss die zweidimensionalen Merkmalsdeskriptoren der hyperlokalen Teilkarten 84, die dem letzten gefilterten Datenpunktwolken-Scan 50 entsprechen, und findet übereinstimmende zweidimensionale Merkmalsdeskriptoren, die in der einen oder den mehreren räumlichen Datenbanken 68 gespeichert sind. Als Reaktion auf die Bestimmung, dass die Übereinstimmung von zweidimensionalen Merkmalsdeskriptoren, die in der einen oder den mehreren räumlichen Datenbanken 68 gespeichert sind, innerhalb eines vorgegebenen Schwellenwerts liegt, wird dann ein Algorithmus für den ICP-Scan-Abgleich mit Schleifenschluss durchgeführt. Wenn man versucht, eine Übereinstimmung zu finden, wird die nächstgelegene bzw. engste Übereinstimmung unter allen möglichen Übereinstimmungen innerhalb der einen oder mehreren räumlichen Datenbanken 68 innerhalb des vorgegebenen Schwellenwerts gewählt. Konkret wird der Algorithmus für den ICP-Scan-Abgleich mit Schleifenschluss zwischen dem letzten Datenpunktwolken-Scan und einem Scan durchgeführt, der den übereinstimmenden zweidimensionalen Merkmalsdeskriptoren entspricht, die in der einen oder mehreren räumlichen Datenbanken 68 gespeichert sind, basierend auf einem Schwellenwert für den entspannten Korrespondenzabstand. Der vorgegebene Schwellenwert wird empirisch bestimmt und beträgt in einer Ausführungsform 0,35 (der spezifizierte Schwellenwert ist ohne Einheit), wenn M2DP verwendet wird. Der Schwellenwert für den entspannten Korrespondenzabstand wird ebenfalls empirisch bestimmt und hängt von der Konfiguration ab. In einer Ausführungsform liegt der Schwellenwert für den entspannten Korrespondenzabstand bei etwa fünf Metern.
-
Als Reaktion auf die Bestimmung, dass ein Überlappungswert für den Schleifenschluss und ein mittlerer quadratischer Fehler (RMSE) innerhalb eines vordefinierten Schwellenwerts liegen, werden der letzte Radarpunktwolken-Scan und eine entsprechende Schleifenschluss-Transformation zu einem Posengraphen mit Schleifenschluss hinzugefügt. In einer Ausführungsform beträgt der Überlappungswert für den Schleifenschluss zumindest 0,75 (zumindest 75 % Überlappung) und beträgt der RMSE etwa 3 Meter. Der Posengraph mit Schleifenschluss, der durch das Teilmodul 66 für den Posengraph-Schleifenschluss konstruiert wird, besteht aus aggregierten gefilterten Datenpunkt-Scans 50 und ihren zugehörigen Posen, und die Randbedingungen des Posengraphen mit Schleifenschluss basieren auf Beschränkungen der relativen Bewegungen. Das Teilmodul 66 für den Posengraph-Schleifenschluss führt eine nichtlineare Optimierungsroutine aus, um eine globale Posenadjustierung auf den Posengraphen mit Schleifenschluss durchzuführen, um die schleifenadjustierten Radar-Posen 86 zu bestimmen. Wie oben erwähnt wurde, ist ein Beispiel für eine nichtlineare Optimierungsroutine zum Bestimmen der schleifenadjustierten Radar-Posen 86 eine nichtlineare Least-Squares-Routine wie etwa, jedoch nicht darauf beschränkt, der Levenberg-Marquardt-Algorithmus.
-
4 ist ein Prozessflussdiagramm, das ein Verfahren 200 zum Bestimmen der finalen Radar-Posen 54 (2) durch das Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul 46 (2) veranschaulicht. Unter allgemeiner Bezugnahme auf 1 - 4 beginnt das Verfahren 200 in Block 202. In Block 202 bestimmt das Teilmodul 64 für Teilkarten des Radar-Posenschätzvorrichtungsmoduls 46 anfangs die hyperlokale Teilkarte 84 basierend auf der vordefinierten Anzahl N der aggregierten gefilterten Datenpunktwolken-Scans 50, die vom Scan-Aggregator und -Filter 42 empfangen werden, in Kombination mit den zugehörigen Posenschätzungen. Alternativ dazu werden, falls die verfügbare Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 geringer ist als die vordefinierte Anzahl N, dann die hyperlokalen Teilkarten 84 basierend auf der verfügbaren Anzahl aufeinanderfolgender aggregierter gefilterter Datenpunktwolken-Scans 50 bestimmt, die gegenwärtig verfügbar sind. Wie oben erwähnt wurde, bestimmt das Teilmodul 64 für Teilkarten zunächst die hyperlokale Teilkarte 84 basierend auf der vordefinierten Anzahl N der aggregierten gefilterten Datenpunktwolken-Scans 50 und den zugehörigen Posenschätzungen, die vom Scan-Aggregator und -Filter 42 empfangen werden, wobei es sich jedoch versteht, dass das Teilmodul 64 für die Teilkarten die letzten, von dem einen der Teilmodule 60, 62, 66 empfangenen Posenschätzungen nutzt. Das Verfahren 200 kann dann zu Block 204 weitergehen.
-
In Block 204 bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich des Scan-Abgleich- und Radar-Posenschätzvorrichtungsmoduls 46 die anfängliche geschätzte Pose 80 durch Anpassen des letzten aggregierten gefilterten Datenpunktwolken-Scans 50 mit der jüngsten hyperlokalen Teilkarte 84 basierend auf dem ICP-Anpassungsalgorithmus. Konkret bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich die vorhergesagte Pose, wie in den Teilblöcken 204A-204C skizziert ist.
-
In Block 204A bestimmt das Teilmodul 60 für den ICP-Scan-Abgleich die relative Transformation, die die relative Bewegung zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen repräsentiert, die mit den letzten aggregierten gefilterten Datenpunktwolken-Scans 50 verbunden sind. Das Verfahren 200 kann dann zu Teilblock 204B weitergehen. Im Teilblock 204B wird die relative Transformation zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen, die mit den letzten aggregierten gefilterten Datenpunktwolken-Scans 50 verbunden sind, dann in eine Geschwindigkeit basierend auf einer Zeitdifferenz zwischen den letzten zwei aufeinanderfolgenden Posenschätzungen, die mit den letzten Radarpunkt-Scans verbunden sind, umgewandelt. Im Block 204C wird die relative Transformation von einer Geschwindigkeit in eine Position basierend auf einer Zeitdifferenz zwischen der letzten Posenschätzung und einer aktuellen Posenschätzung umgewandelt, wobei eine Positionsdifferenz zwischen der letzten Posenschätzung und der aktuellen Posenschätzung die vorhergesagte Pose ist. Das Verfahren 200 kann dann zu Block 206 weitergehen.
-
Im Block 206 bestimmt das Teilmodul 62 für die nichtlineare ICP-Adjustierung mit mehreren Ansichten die lokal eingestellte Pose 82, indem zunächst der Posengraph 100 (siehe 3) basierend auf der jüngsten hyperlokalen Teilkarte 84 und benachbarten Radarpunktwolken-Scans 104 bestimmt wird, und führt dann einen nichtlinearen ICP-Algorithmus mit mehreren Ansichten aus, um die anfänglichen geschätzten Posen 80, die den benachbarten Radarpunktwolken-Scans 104 entsprechen, in einer Art von gleitendem Fenster zu adjustieren, um die lokal eingestellte Pose 82 zu bestimmen. In einer Ausführungsform wird ein Schleifenschluss durch das Modul 66 für den Posengraph-Schleifenschluss nicht detektiert. Dementsprechend ist die finale Radar-Pose 54 die lokal eingestellte Pose 82. Das Verfahren 200 kann dann enden oder zu Block 202 zurückkehren. Falls jedoch ein Schleifenschluss durch das Modul 66 für den Posengraph-Schleifenschluss detektiert wird, kann das Verfahren 200 zu Block 208 weitergehen.
-
Im Block 208 führt das Teilmodul 66 für den Posengraph-Schleifenschluss den Schleifendetektionsalgorithmus aus, um zu detektieren, ob sich das autonome Fahrzeug 10 gegenwärtig an einem zuvor besuchten Ort befindet. Wie oben erwähnt wurde, wird eine Schleife detektiert, wenn sich das autonome Fahrzeug 10 gegenwärtig an dem zuvor besuchten Ort befindet. Das Verfahren 200 kann dann zu Block 210 weitergehen.
-
Im Block 210 führt das Teilmodul 66 für den Posengraph-Schleifenschluss als Reaktion auf eine Detektion einer Schleife die nichtlineare Optimierungsroutine aus, um eine globale Posenadjustierung am Schleifenschluss-Posengraphen durchzuführen, um die schleifenadjustierten Radar-Posen 86 zu bestimmen. Wie bereits erwähnt wurde, ist ein Beispiel für eine nichtlineare Optimierungsroutine zum Bestimmen der schleifenadjustierten Radar-Posen 86 eine nichtlineare Least-Squares-Routine wie etwa, aber nicht darauf beschränkt, der Levenberg-Marquardt-Algorithmus. Es versteht sich, dass es sich bei den finalen Radar-Posen 54 um die schleifenadjustierten Radar-Posen 86 handelt. Das Verfahren 200 kann dann beendet werden.
-
Unter allgemeiner Bezugnahme auf die Figuren stellt die offenbarte Scan-Abgleich- und Radar-Posenschätzvorrichtung für das autonome Fahrzeug verschiedene technische Effekte und Vorteile bereit. Konkret verwendet offenbarungsgemäß, falls die mittels der Radarsensoren des autonomen Fahrzeugs gesammelten Radarpunktwolken spärlich sind, das offenbarte Scan-Abgleich- und Radar-Posenschätzvorrichtungsmodul hyperlokale Teilkarten, um finale Radar-Posen mit verbesserter Genauigkeit zu bestimmen. Insbesondere verwendet die offenbarte Scan-Abgleich- und Radar-Posenschätzvorrichtung die hyperlokalen Teilkarten, die die Auswirkungen spärlicher Radarpunktwolken reduzieren.
-
Die Controller können sich auf eine elektronische Schaltung, eine kombinatorische Logikschaltung, ein feldprogrammierbares Gate-Array (FPGA), einen Prozessor (gemeinsam genutzt, dediziert oder als Gruppe), der einen Code ausführt, oder eine Kombination aus einigen oder allen der oben genannten Elemente wie etwa in einem System-on-Chip beziehen oder ein Teil davon sein. Außerdem können die Controller auf einem Mikroprozessor basieren, wie etwa einem Computer mit zumindest einem Prozessor, einem Speicher (RAM und/oder ROM) und zugehörigen Eingangs- und Ausgangsbussen. Der Prozessor kann unter der Steuerung eines Betriebssystems, das sich im Speicher befindet, arbeiten. Das Betriebssystem kann die Computerressourcen so verwalten, dass ein Computerprogrammcode, der als eine oder mehrere Computersoftware-Anwendungen verkörpert ist, wie etwa eine Anwendung, die sich im Speicher befindet, Anweisungen aufweisen kann, die vom Prozessor ausgeführt werden. In einer alternativen Ausführungsform kann der Prozessor die Anwendung direkt ausführen, in welchem Fall das Betriebssystem weggelassen werden kann.
-
Die Beschreibung der vorliegenden Offenbarung ist in ihrer Art lediglich beispielhaft, und Varianten, die nicht vom Kern der vorliegenden Offenbarung abweichen, sollen als in den Anwendungsbereich der vorliegenden Offenbarung fallend betrachtet werden. Solche Varianten sind nicht als Abweichung von Geist und Umfang der vorliegenden Offenbarung zu betrachten.