-
Die Erfindung betrifft ein Verfahren, ein Computerprogramm und ein computerlesbares Medium zum Lokalisieren eines Fahrzeugs in einer digitalen Karte sowie ein Fahrzeugsystem.
-
Ein Fahrzeug kann mithilfe einer satellitenbasierten Ortung in einer digitalen Karte lokalisiert und navigiert werden. Dabei kann eine wahre Pose des Fahrzeugs, etwa aufgrund von Messfehlern oder Ungenauigkeiten in der digitalen Karte, von einer Pose des Fahrzeugs in der digitalen Karte abweichen. Um eine wahrscheinlichste Pose des Fahrzeugs in der digitalen Karte zu ermitteln, kann eine gemessene Pose des Fahrzeugs mit Karteninformationen, beispielsweise über einen Straßenverlauf, abgeglichen werden.
-
Es ist Aufgabe der Erfindung, die Lokalisierung eines Fahrzeugs in einer digitalen Karte zu verbessern.
-
Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Weitere Ausführungsformen der Erfindung ergeben sich aus den abhängigen Ansprüchen und aus der folgenden Beschreibung.
-
Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Lokalisieren eines Fahrzeugs in einer digitalen Karte. Dabei weist das Fahrzeug wenigstens einen Ortungssensor zum satellitengestützten Erfassen einer geografischen Position des Fahrzeugs und wenigstens einen Umfeldsensor zum Erfassen eines Umfelds des Fahrzeugs auf. Der Ortungssensor kann beispielsweise ausgeführt sein, um das Fahrzeug unter Verwendung eines oder mehrerer globaler Navigationssatellitensysteme wie etwa GPS, GLONASS, Galileo oder Beidou zu lokalisieren. Die geografische Position kann durch eine geografische Länge, eine geografische Breite und/oder eine Höhe in einem dem jeweiligen Satellitensystem zugeordneten Koordinatensystem definiert sein. Ein Umfeldsensor kann beispielsweise eine Kamera, ein Radar-, Lidar- oder Lasersensor sein. Der Umfeldsensor kann ausgeführt sein, um zwei- und/oder dreidimensionale Bilder des Umfelds aufzunehmen. Unter einer digitalen Karte kann im Allgemeinen eine elektronische Beschreibung einer geografischen Gegend und darin vorkommender Merkmale wie etwa Straßen, Gebäude oder Landmarken, die für eine Navigation relevant sind, verstanden werden. Insbesondere können in einer solchen Karte Positionen und semantische Beschreibungen von Objekten oder Objektklassen kodiert sein.
-
Gemäß einer Ausführungsform umfasst das Verfahren folgende Schritte: Empfangen von Ortungsdaten von dem Ortungssensor und Empfangen von Umfelddaten von dem Umfeldsensor; Extrahieren von das Umfeld des Fahrzeugs beschreibenden Merkmalen aus den Umfelddaten, wobei für jedes Merkmal eine Merkmalpose und eine Merkmalklasse bestimmt werden; Zuordnen der extrahierten Merkmale zu Kartenmerkmalen, die in einer digitalen Referenzkarte hinterlegt sind, wobei jedem Kartenmerkmal eine Merkmalpose und eine Merkmalklasse zugeordnet ist; Bestimmen einer Fahrzeugpose des Fahrzeugs durch Minimieren eines Schätzfehlers basierend auf einer Abweichung der Fahrzeugpose von den Ortungsdaten und einer Abweichung von Merkmalposen der extrahierten Merkmale von Merkmalposen der zugeordneten Kartenmerkmale.
-
Die Ortungsdaten können beispielsweise geografische Koordinaten des Fahrzeugs umfassen. Die Umfelddaten können zwei- und/oder dreidimensionale Bilder des Umfelds umfassen. Die zu extrahierenden Merkmale können beispielsweise pfosten-, linien- oder ebenenförmige Merkmale sein. Unter einer Merkmalpose kann eine Position und Orientierung eines Merkmals verstanden werden. Unter einer Merkmalklasse kann ein übergeordnetes Merkmal verstanden werden, dem einzelne extrahierte Merkmale untergeordnet werden können. Unter einer Fahrzeugpose kann eine Position und Orientierung des Fahrzeugs verstanden werden. Unter einem Schätzfehler kann ein basierend auf einer Kombination, etwa einer Addition, mehrerer einzelner Fehler beruhender Gesamtfehler verstanden werden. Die Minimierung des Schätzfehlers kann beispielsweise durch Aufbau und Optimierung eines Graphen erfolgen.
-
Mit anderen Worten wird eine kartenbasierte Lokalisierung mit einer satellitengestützten Lokalisierung kombiniert, um eine wahrscheinlichste Pose oder Trajektorie des Fahrzeugs in einer digitalen Karte zu bestimmen oder vorherzusagen. Genauer gesagt wird ein Fahrzeug in einer gegebenen Karte basierend auf erkannten Merkmalen wie etwa Pfosten, Linien, Ebenen oder speziellen Objekten und einem zusätzlichen System zur satellitengestützten Positionsbestimmung, auch GNSS (global navigation satellite system) genannt, lokalisiert. Durch die Verwendung unterschiedlicher Lokalisierungsverfahren und deren Kombination auf Basis einer Fehleroptimierung, die beispielsweise mithilfe eines Graphen erfolgen kann, ist es möglich, die Genauigkeit und Robustheit der Lokalisierung zu erhöhen. Ferner kann eine solche merkmalbasierte Karte mit einer effizienten Datenstruktur realisiert werden.
-
Gemäß einer Ausführungsform kann das Fahrzeug wenigstens einen Odometriesensor zum Erfassen einer Bewegung des Fahrzeugs und/oder wenigstens einer Komponente des Fahrzeugs aufweisen. Dementsprechend können in dem Verfahren zusätzlich Odometriedaten von dem Odometriesensor empfangen werden. Dabei kann der Schätzfehler zusätzlich basierend auf den Odometriedaten minimiert werden. Der Odometriesensor kann mehrere unterschiedliche Sensoreinheiten umfassen, wie etwa eine inertiale Messeinheit oder verschiedene Sensoren einer Fahrdynamikregelung, auch Elektronisches Stabilitätsprogramm oder kurz ESP genannt. Beispielsweise kann der Odometriesensor ausgeführt sein, um eine Geschwindigkeit, eine Beschleunigung, eine Raddrehzahl, eine Raddrehrichtung, einen Radlenkwinkel, einen Lenkradwinkel, einen Nickwinkel, einen Rollwinkel, einen Gierwinkel und/oder entsprechende Winkelgeschwindigkeiten des Fahrzeugs zu messen. Die Odometriedaten dienen im Allgemeinen zur Bestimmung einer Pose des Fahrzeugs in einem dreidimensionalen Raum und daraus mathematisch ableitbarer Messgrößen. Die Odometriedaten können beispielsweise dazu verwendet werden, die Fahrzeugpose und/oder eine Beziehung zwischen zwei oder mehr aufeinanderfolgenden Fahrzeugposen mit Wahrscheinlichkeiten zu gewichten.
-
Gemäß einer Ausführungsform kann die Fahrzeugpose wiederholt zu aufeinanderfolgenden Zeitpunkten bestimmt werden. Dabei können die extrahierten Merkmale zusammen mit den zugeordneten Kartenmerkmalen zu Zeitreihen über vergangene aufeinanderfolgende Zeitpunkte zusammengestellt werden. Der Schätzfehler kann dann basierend auf den Zeitreihen und auf Fahrzeugposen, die zu den vergangenen Zeitpunkten bestimmt wurden, ermittelt werden. Eine Zeitreihe kann als ein gleitender Horizont aus mehreren Messzyklen oder Frames aufgefasst werden. Beispielsweise ist es möglich, dass beim Minimieren des Schätzfehlers eine Zeitreihe aus mindestens fünf bis zehn aufeinanderfolgend bestimmten Fahrzeugposen berücksichtigt wird. Dadurch kann die Datenmenge zur Minimierung des Schätzfehlers und dementsprechend die Robustheit des Verfahrens gegenüber zufallsbedingten Schwankungen erhöht werden. Das Zusammenstellen oder Bilden einer solchen Zeitreihe kann in Form einer Struktur aus Knoten und Kanten, auch Graph genannt, erfolgen. In diesem Sinn kann ein zeitreihenbasiertes Minimieren des Schätzfehlers auch als Graphoptimierung (graph optimization) bezeichnet werden.
-
Gemäß einer Ausführungsform kann die Referenzkarte ein semantisches Netz umfassen. Dabei können die Merkmalklassen Knoten des semantischen Netzes sein. Beziehungen zwischen den Merkmalklassen können als Kanten des semantischen Netzes aufgefasst werden. Die Merkmalklassen und/oder deren Beziehungen zueinander können semantisch beschriftet sein.
-
Anders ausgedrückt kann die Referenzkarte als eine Karte ausgeführt sein, in der Merkmale in der Umgebung des Fahrzeugs und/oder Beziehungen zwischen den Merkmalen und/oder Beziehungen zwischen den Merkmalen und dem Fahrzeug Merkmal semantisch, d. h. unter Verwendung sprachlicher Zeichen und Zeichenfolgen, beschrieben sind. Dementsprechend kann die Referenzkarte beispielsweise Bezeichnungen und Beschreibungen verschiedener Merkmalklassen (Verkehrsschilder, Fahrbahnbegrenzungen, Vegetation, Bebauung o. Ä.), Angaben zu deren jeweiliger Geometrie, d. h. deren Form, deren zwei- oder dreidimensionaler Ausdehnung oder deren Position enthalten. Ferner kann die Referenzkarte Angaben zu diesbezüglichen Existenz- oder Zustandswahrscheinlichkeiten enthalten. Möglich ist auch, dass in der Referenzkarte Zusammenhänge zwischen Merkmalen oder Merkmalklassen unter Berücksichtigung hinterlegter Verkehrsregeln beschrieben sind.
-
Gemäß einer Ausführungsform kann beim Minimieren des Schätzfehlers eine auf der zu bestimmenden Fahrzeugpose beruhende Geschwindigkeit des Fahrzeugs und/oder eine auf der zu bestimmenden Fahrzeugpose beruhende Beschleunigung des Fahrzeugs berücksichtigt werden.
-
Anders ausgedrückt kann die Beschleunigung bzw. Geschwindigkeit des Fahrzeugs, genauer deren translatorische und/oder rotatorische Komponenten, unabhängig von etwaigen Odometriesensoren oder sonstigen Sensoren zur Geschwindigkeitsmessung aus einer Veränderung der Fahrzeugpose über zwei Zeitschritte oder auch über mehr als zwei Zeitschritte in der Vergangenheit berechnet werden. Somit kann eine konsistente Schätzung der Beschleunigung bzw. Geschwindigkeit des Fahrzeugs über einen größeren Zeitraum gewährleistet werden. Dies kann sich wiederum vorteilhaft auf die Minimierung des Schätzfehlers auswirken.
-
Gemäß einer Ausführungsform können die extrahierten Merkmale pfostenförmig und/oder linienförmig und/oder ebenenförmig sein. Ein pfostenförmiges Merkmal kann beispielsweise ein Leitpfosten, eine Leitbake, ein Pfosten einer Leitplanke, ein Ampelmast, eine Stange eines Verkehrsschildes oder ein Baum sein. Ein linienförmiges Merkmal kann beispielsweise ein Fahrbahnrand, ein Randstein, ein Wiesenrand oder eine Gebäudekante sein. Ein ebenenförmiges Merkmal kann beispielsweise eine Mauer, eine Wand, ein Zaun, eine Tunnelöffnung oder eine Gebäudefassade sein.
-
Gemäß einer Ausführungsform umfasst das Verfahren weiter: Plausibilisieren der extrahierten Merkmale gegenüber zu vergangenen Zeitpunkten extrahierten Merkmalen beim Bilden einer Zeitreihe von Merkmalen. Beispielsweise können die extrahierten Merkmale plausibilisiert werden, bevor sie im Rahmen eines Kartenabgleichs den Kartenmerkmalen zugeordnet werden. Dadurch kann die Robustheit des Verfahrens gesteigert werden. Das Plausibilisieren kann beispielsweise ein Tracking von Merkmalen über einen Zeitraum von mehreren, beispielsweise mindestens fünf bis zehn, aufeinanderfolgenden Messzyklen umfassen. Ferner kann das Plausibilisieren eine Klassifizierung von Merkmalen eines einzelnen Messzyklus umfassen.
-
Gemäß einer Ausführungsform können die Ortungsdaten und/oder die Odometriedaten unter Verwendung eines Kalman-Filters ausgewertet werden. Unter einem Kalman-Filter kann ein mathematisches Verfahren verstanden werden, durch das Fehler in erfassten Messwerten reduziert und Werte nicht messbarer Größen in Echtzeit geschätzt werden können, sofern diese Größen durch ein mathematisches Modell, etwa in Form von Bewegungsgleichungen, beschreibbar sind.
-
Zusätzlich oder alternativ können die Merkmale unter Verwendung eines Machine-Learning-Algorithmus extrahiert werden. Der Machine-Learning-Algorithmus kann beispielsweise als Bayes-Klassifikator, Support Vector Machine (SVM), k-Nearest-Neighbor-Algorithmus, Entscheidungsbaum, Random Forest, Multilayer-Perceptron (MLP), Recurrent Neural Network (RNN), Long Short-term Memory (LSTM) Network, Convolutional Neural Network (CNN) oder als eine Kombination aus mindestens zwei der genannten Beispiele realisiert sein.
-
Zusätzlich oder alternativ können die extrahierten Merkmale den Kartenmerkmalen unter Verwendung eines Maximum-Likelihood-Algorithmus und/oder eines Kuhn-Munkres-Algorithmus zugeordnet werden. Unter einem Maximum-Likelihood-Algorithmus kann ein mathematisches Verfahren zur Schätzung von Parametern für eine Wahrscheinlichkeitsverteilung verstanden werden.
-
Zusätzlich oder alternativ kann der Schätzfehler unter Verwendung eines Levenberg-Marquardt-Algorithmus minimiert werden. Unter einem Levenberg-Marquardt-Algorithmus kann ein numerischer Optimierungsalgorithmus zur Lösung nicht linearer Minimierungsprobleme verstanden werden. Dadurch kann eine hohe Robustheit bei der Minimierung des Schätzfehlers gewährleistet werden.
-
Weitere Aspekte der Erfindung betreffen ein Computerprogramm, das, wenn es auf einem Prozessor ausgeführt wird, das Verfahren, wie es im Vorangehenden und im Folgenden beschrieben ist, durchführt, sowie ein computerlesbares Medium, auf dem ein derartiges Computerprogramm gespeichert ist. Ein computerlesbares Medium kann eine Harddisk, ein USB-Speichergerät, ein RAM, ROM, EPROM oder FLASH-Speicher sein. Ein computerlesbares Medium kann auch ein Datenkommunikationsnetzwerk sein, beispielsweise das Internet, das den Download eines Programmcodes ermöglicht. Das computerlesbare Medium kann ein transitorisches oder nicht transitorisches Medium sein. Merkmale des Verfahrens, wie sie im Vorangehenden und im Folgenden beschrieben sind, können auch Merkmale des Computerprogramms und/oder des computerlesbaren Mediums sein.
-
Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeugsystem. Das Fahrzeugsystem umfasst wenigstens einen Ortungssensor, wenigstens einen Umfeldsensor und eine Auswerteeinheit, die ausgeführt ist, um das Verfahren, wie es im Vorangehenden und im Folgenden beschrieben ist, durchzuführen. Das Fahrzeugsystem kann insbesondere Fahrassistenzfunktionen umsetzen. Hierzu kann das Fahrzeugsystem entsprechende Aktoren, beispielsweise Lenk- oder Bremsaktoren, umfassen. Merkmale des Verfahrens, wie es im Vorangehenden und im Folgenden beschrieben ist, können auch Merkmale des Fahrzeugsystems sein und umgekehrt.
-
Im Folgenden werden Ausführungsbeispiele der Erfindung mit Bezug auf die beiliegenden Figuren detailliert beschrieben.
- 1 zeigt schematisch ein Fahrzeugsystem gemäß einem Ausführungsbeispiel der Erfindung.
- 2 zeigt ein Ablaufdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel der Erfindung.
- 3 zeigt ein Ablaufdiagramm eines Erkennungsverfahrens zum Extrahieren von Merkmalen aus Daten eines Lidar-Sensors.
- 4 zeigt einen Graphen zur Veranschaulichung einer Fehlerminimierung in dem Verfahren aus 2.
-
Die in den Figuren verwendeten Bezugszeichen und ihre Bedeutung sind in zusammenfassender Form in der Liste der Bezugszeichen aufgeführt. Grundsätzlich sind identische oder ähnliche Teile mit den gleichen Bezugszeichen versehen.
-
1 zeigt schematisch ein Fahrzeugsystem 100 gemäß einem Ausführungsbeispiel der Erfindung. Das Fahrzeugsystem 100 umfasst ein Fahrzeug 102, das mit einem Umfeldsensor 104, etwa einer Kamera, zur Erfassung eines Umfelds des Fahrzeugs 102 und einem Ortungssensor 106, etwa einem GPS-Sensor, zur Ortung des Fahrzeugs 102 mithilfe eines Satelliten 108 ausgestattet ist. Eine Auswerteeinheit 110 des Fahrzeugs 102 ist ausgeführt, um Umfelddaten 112 von dem Umfeldsensor 104 und Ortungsdaten 114 von dem Ortungssensor 106 zu empfangen und diese Daten zur Lokalisierung des Fahrzeugs 102 miteinander zu kombinieren und in geeigneter Weise auszuwerten. Die Lokalisierung erfolgt basierend auf einer digitalen Karte, etwa einer semantischen 3D-Karte, in der bestimmte Merkmale im Umfeld des Fahrzeugs 102 mit ihren jeweiligen Positionen hinterlegt und semantisch beschriftet sind.
-
Zur Lokalisierung des Fahrzeugs 102 extrahiert die Auswerteeinheit 110 aus den Umfelddaten 112 zunächst bestimmte Merkmale, hier beispielhaft einen Baum 116 und einen Fahrbahnrand 118 einer Fahrbahn 120, auf der sich das Fahrzeug 102 fortbewegt. Beispielsweise werden mithilfe eines Machine-Learning-Algorithmus einzelne Pixel eines in den Umfelddaten 112 enthaltenden 2D-Bildes des Umfelds verschiedenen Merkmalklassen zugeordnet, hier den Merkmalklassen „Fahrbahnrand“ und „Bäume“. Weitere Merkmalklassen können beispielsweise Randsteine, Verkehrsschilder, Lichtsignalanlagen, Graskanten oder pfosten- oder stangenförmige Elemente sein. Anschließend werden die extrahierten Merkmale 116, 118 in ein Fahrzeugkoordinatensystem des Fahrzeugs 102 projiziert, um Merkmalposen der extrahierten Merkmale 116, 118, d. h. deren jeweilige Position und Ausrichtung im Fahrzeugkoordinatensystem, zu erhalten. Eine solche Koordinatentransformation kann beispielsweise basierend auf einer Schätzung einer Bodenebene und auf extrinsischen Parametern, die eine Position eines Sensorkoordinatensystems des Umfeldsensors 104 in der Welt beschreiben, durchgeführt werden.
-
Des Weiteren ist die Auswerteeinheit 110 ausgeführt, um die extrahierten Merkmale 116, 118, genauer die den extrahierten Merkmalen 116, 118 zugeordneten Merkmalklassen und Merkmalposen, mit Informationen in der digitalen Karte abzugleichen, auch Kartenabgleich oder map matching genannt. Insbesondere sind in der digitalen Karte Informationen hinterlegt, die Merkmale wie beispielsweise linien-, pfosten- oder ebenenförmige Objekte oder Landmarken im Umfeld des Fahrzeugs 102 sowie Beziehungen zwischen diesen Merkmalen semantisch beschreiben. Diese semantisch beschrifteten Merkmale, nachfolgend Kartenmerkmale genannt, können beispielsweise 3D-Objekte sein, die in eine 3D-Kartengrobstruktur eingepasst sind. Analog zu den extrahierten Merkmalen 116, 118 sind den Kartenmerkmalen entsprechende Merkmalklassen und Merkmalposen zugeordnet.
-
Um nun eine Fahrzeugpose des Fahrzeugs 102, d. h. eine Position und Ausrichtung des Fahrzeugs 102 in der digitalen Karte, möglichst genau zu bestimmen oder vorherzusagen, führt die Auswerteeinheit 110 basierend auf geeigneten Berechnungsverfahren wie etwa dem Levenberg-Marquardt-Algorithmus eine Fehlerminimierung durch, bei der unter Berücksichtigung der Ortungsdaten 114 und einer Abweichung zwischen den Merkmalposen der extrahierten Merkmale 116, 118 und den in der digitalen Karte hinterlegten Referenzposen der Kartenmerkmale eine wahrscheinlichste Fahrzeugpose in der digitalen Karte bestimmt wird. Die Fehlerminimierung kann beispielsweise durch Optimierung eines Graphen, wie weiter unten näher beschrieben, erfolgen.
-
Zusätzlich kann das Fahrzeug 102 mindestens einen Odometriesensor 122 umfassen, der beispielsweise ausgeführt sein kann, um eine Geschwindigkeit, eine Beschleunigung, eine Raddrehzahl, eine Raddrehrichtung, einen Radlenkwinkel, einen Lenkradwinkel, einen Nickwinkel, einen Rollwinkel, einen Gierwinkel und/oder entsprechende Winkelgeschwindigkeiten des Fahrzeugs 102 zu messen. Von dem Odometriesensor 122 bereitgestellte Odometriedaten 124 werden zusätzlich zu den Umfelddaten 112 und den Ortungsdaten 114 von der Auswerteeinheit 110 empfangen und beispielsweise dazu verwendet, mögliche räumliche Zusammenhänge zwischen aufeinanderfolgend bestimmten Fahrzeugposen zu ermitteln, die in die Fehlerminimierung eingehen können.
-
2 zeigt ein Ablaufdiagramm eines Verfahrens 200 gemäß einem Ausführungsbeispiel der Erfindung. Das Verfahren 200 kann beispielsweise mit der Auswerteeinheit 110 aus 1 durchgeführt werden.
-
Gemäß einem Ausführungsbeispiel umfasst das Verfahren 200 folgende Hauptschritte: Schätzen einer Eigenbewegung des Fahrzeugs 102, auch ego motion estimation genannt, probabilistische Datenassoziierung und Graphoptimierung.
-
Das Verfahren 200 startet mit einem Schritt 202. In einem weiteren Schritt 204 wird die Eigenbewegung des Fahrzeugs 102 geschätzt, etwa mithilfe der Ortungsdaten 114 und der Odometriedaten 124. In einem weiteren Schritt 206 erfolgt die Bestimmung der Merkmale 116, 118 aus den Umfelddaten 112. In einem weiteren Schritt 208 erfolgt der Kartenabgleich. In einem weiteren Schritt 210 wird ein Graph erstellt, wie weiter unten näher beschrieben. In einem weiteren Schritt 212 erfolgt die Optimierung des Graphen, um die Fahrzeugpose zu bestimmen. Das Verfahren 200 wird in einem Schritt 214 beendet.
-
Das Verfahren 200 ermöglicht eine robuste Lokalisierung basierend auf einer effizienten Kartendatenstruktur.
-
Die Schätzung der Eigenbewegung des Fahrzeugs 102 kann basierend auf einem Kalman-Filter und/oder auf Varianten wie etwa dem erweiterten Kalman-Filter (EKF) oder dem Unscented Kalman-Filter (UKF) erfolgen. Als Eingangsdaten können beispielsweise Sensordaten folgender Sensoren oder Sensorarten dienen: inertiale Messeinheit, beispielsweise in Form eines 3-Achsen-Gyrosensors oder eines 3-Achsen-Beschleunigungssensors, GNSS-Sensor, beispielsweise in Form eines GPS-, GLONASS-, oder Galileo-Sensors, Fahrzeugsensoren, beispielsweise zum Erfassen verschiedenartiger Messwerte für eine Fahrdynamikregelung.
-
Die Sensordaten werden für eine genaue Schätzung der Eigenbewegung in einem dreidimensionalen Raum, typischerweise einem Fahrzeugkoordinatensystem, interpretiert. Dabei können Koordinaten X, Y, Z, Theta, Phi, Psi, deren erste Ableitungen vX, vY, vZ, Nickrate, Rollrate, Gierrate und/oder zweite Ableitungen aX, aY, aZ, die jeweils eine translatorische Beschleunigung des Fahrzeugs 102 beschreiben, bestimmt werden.
-
Zur Bestimmung der Merkmale 116, 118 können je nach Art des Umfeldsensors 104 unterschiedliche Algorithmen zum Einsatz kommen. Beispielsweise können anhand eines Kamerabildes folgende Merkmalklassen zugeordnet werden: Fahrbahnmarkierungen oder -ränder, Randsteine, Verkehrszeichen, Lichtsignalanlagen, Grasränder, Bäume, pfostenartige Elemente wie etwa Leitbaken, Pfosten von Verkehrszeichen oder Ampeln, Leitpfosten etc.
-
Bei Verwendung eines Lidar-Sensors als Umfeldsensor 104 können die Merkmale 116, 118 beispielsweise in einem Erkennungsverfahren 300, wie es in 3 schematisch gezeigt ist, erkannt werden.
-
Dabei wird in einem Schritt 302 eine Punktwolke mit geschätzten Krümmungen annotiert. Mithilfe ermittelter großer Krümmungen 304, mittlerer Krümmungen 306 und kleiner Krümmungen 308 wird in einem Schritt 310 eine Clusteranalyse durchgeführt, auch DBSCAN (Density-Based Spatial Clustering of Applications with Noise) genannt. Anschließend werden in einem Schritt 312 Ebenen 314 und in einem Schritt 316 Linien wie Pfosten 318 und Kanten 320 gefunden.
-
Zusätzlich zu den genannten Merkmalklassen können auch spezielle Objekte wie reflektierende Zeichen oder durch Machine-Learning-Algorithmen gelernte Merkmale erkannt werden.
-
Es müssen nicht zwingend alle der genannten Merkmalarten erkannt werden. Stattdessen kann die Menge der zu erkennenden Merkmale auch auf eine Mindestmenge eingeschränkt werden, die etwa nur einige Pfosten, Linien oder Ebenen umfassen kann.
-
Die Merkmale 116, 118 können in Echtzeit extrahiert werden und in einer Referenzkarte gespeichert werden.
-
Beim Kartenabgleich werden die in Echtzeit detektierten Merkmale 116, 118, d. h. die zugeordneten Merkmalklassen und Merkmalposen, mit einer gegebenen Referenzkarte, d. h. der die Kartenmerkmale enthaltenden digitalen Karte, verglichen. Bei dieser Datenassoziierung können verschiedene Methoden verwendet werden, wie etwa die Maximum-Likelihood-Methode, die Ungarische Methode, auch Kuhn-Munkres-Algorithmus genannt, oder ein Joint Compatibility Test.
-
Als Nächstes wird ein Graph 400 erstellt und optimiert, wie in 4 beispielhaft gezeigt. Der Graph 400 umfasst mehrere Kanten (durch Linien dargestellt) und Knoten (durch Kreise dargestellt).
-
Der Graph 400 umfasst beispielhaft folgende Knoten:
- Fahrzeugposen P1, P2, P3, PN (zwei- und/oder dreidimensional);
- Merkmalposen F1, F2, F3, F4, F5, F6, F7;
- einen Bias-Term 402, der eine Abweichung der Fahrzeugposen P1, P2, P3, PN von Eigenbewegungsposen aus der Schätzung der Eigenbewegung des Fahrzeugs 102 beschreibt.
-
Weiterhin umfasst der Graph 400 beispielhaft folgende Kanten:
- Odometriekanten codo zwischen den Fahrzeugposen P1, P2, P3, PN;
- Merkmalkanten cFeature zwischen den Fahrzeugposen P1, P2, P3, PN und den Merkmalposen F1, F2, F3, F4, F5, F6, F7;
- Bias-Kanten cbias zwischen den Fahrzeugposen P1, P2, P3, PN und dem Bias-Term 402.
-
Die Kanten beschreiben im Allgemeinen Zwangsbedingungen oder Fehlerfunktionen zwischen den einzelnen Knoten. Kanten, die bei der Fehlerminimierung optimiert werden, sind mit durchgehenden Linien dargestellt. Kanten, die bei der Fehlerminimierung nicht optimiert werden, sind mit gestrichelten Linien dargestellt.
-
Die Merkmalposen F1, F2, F3, F4, F5, F6, F7 können Posen je einer bestimmten Klasse von Merkmalen beschreiben. Beispielsweise kann die Merkmalpose F1 eine jeweilige Pose von Merkmalen einer ersten Merkmalklasse, die Merkmalpose F2 eine jeweilige Pose von Merkmalen einer zweiten Merkmalklasse usw. beschreiben.
-
Ziel der Optimierung des Graphen 400 ist es, einen Gesamtschätzfehler auf ein globales Optimum zu minimieren. Dabei können verschiedene Verfahren zum Lösen nicht linearer Ausgleichsprobleme, etwa der Levenberg-Marquardt-Algorithmus oder das Gauß-Newton-Verfahren, verwendet werden.
-
Durch Hinzufügen der Odometriekanten codo können Ableitungen aus den Fahrzeugposen P1, P2, P3, PN, d. h. Geschwindigkeit und Drehraten, indirekt geschätzt werden, etwa indem eine bekannte Zeit zwischen zwei Fahrzeugposen als Delta-Zeit definiert wird und Geschwindigkeit und Drehraten als zu optimierende Parameter definiert werden.
-
Eine typische Abweichung zwischen GNSS-basierter Lokalisierung und kartenbasierter Lokalisierung kann mithilfe einer Fehlerfunktion, d. h. einer Kante oder Zwangsbedingung, zwischen den Fahrzeugposen P1, P2, P3, PN und den Eigenbewegungsposen P1,EME, P2,EME, P3,EME, PN,EME geschätzt werden.
-
Die Odometriekanten zwischen den Eigenbewegungsposen P1,EME, P2,EME, P3,EME, PN,EME werden nicht optimiert. Ebenfalls nicht optimiert werden die Kanten zwischen den Eigenbewegungsposen P1,EME, P2,EME, P3,EME, PN,EME und dem Bias-Term 402, da die Eigenbewegungsposen P1,EME, P2,EME, P3,EME, PN,EME von der Optimierung ausgeschlossen werden sollen.
-
Die digitale Karte enthält einige Arten von Merkmalen mit einer festen Referenzpose PMap sowie die Merkmalposen F1, F2, F3, F4, F5, F6, F7 der in der Referenzkarte hinterlegten Merkmale.
-
Wie in 4 zu erkennen, kann die Fahrzeugpose wiederholt zu aufeinanderfolgenden Zeitpunkten bestimmt werden. Die Fehlerminimierung erfolgt dabei basierend auf einer Zeitreihe aus mehreren aufeinanderfolgenden Zeitpunkten. Anders ausgedrückt kann der Graph 400 aus einer beliebigen Anzahl gegebener Frames aufgebaut werden. Unter einem Frame ist ein Messzyklus zu verstehen, in dem Merkmale im Umfeld des Fahrzeugs 102 zusammen mit einer gegebenen Eigenbewegungspose aus der Schätzung der Eigenbewegung des Fahrzeugs 102 detektiert werden. Beispielsweise kann eine Optimierung des Graphen 400 basierend auf fünf bis zehn zuletzt erstellten Frames durchgeführt werden, auch lokale Graphoptimierung genannt.
-
Optional kann vor dem Kartenabgleich ein Tracking, eine Klassifizierung und/oder eine Plausibilisierung von Merkmalen eines einzelnen Frames durchgeführt werden. Dadurch kann die Stabilität des Verfahrens 200 erhöht werden.
-
Die Bias-Kante cbias kann beispielsweise durch eine abklingende (beispielsweise gewichtete) Exponentialfunktion beschrieben werden.
-
Der Graph 400 kann zusätzliche Kanten zwischen Merkmalen, die einer ersten Fahrzeugpose zugeordnet sind, und Merkmalen, die einer nachfolgenden zweiten Fahrzeugposen zugeordnet sind, umfassen.
-
Möglich sind auch zusätzliche Zwangsbedingungen, beispielsweise dahingehend, dass sich das Fahrzeug 102 unter normalen Bedingungen auf einer Straße befinden muss.
-
Ferner können Zwangsbedingungen zum Schließen von Schleifen (loop closing) ergänzt werden. Dabei wird immer dann eine Optimierung durchgeführt, wenn ein Schleifenschluss (loop closure) erkannt wird, was auch als globale Graphoptimierung bezeichnet werden kann.
-
Ergänzend ist darauf hinzuweisen, dass „umfassend“ keine anderen Elemente oder Schritte ausschließt und „eine“ oder „ein“ keine Vielzahl ausschließt. Ferner sei darauf hingewiesen, dass Merkmale oder Schritte, die mit Verweis auf eines der obigen Ausführungsbeispiele beschrieben worden sind, auch in Kombination mit anderen Merkmalen oder Schritten anderer oben beschriebener Ausführungsbeispiele verwendet werden können. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.
-
Bezugszeichenliste
-
- 100
- Fahrzeugsystem
- 102
- Fahrzeug
- 104
- Umfeldsensor
- 106
- Ortungssensor
- 108
- Satellit
- 110
- Auswerteeinheit
- 112
- Umfelddaten
- 114
- Ortungsdaten
- 116
- Baum
- 118
- Fahrbahnrand
- 120
- Fahrbahn
- 122
- Odometriesensor
- 124
- Odometriedaten
- 200
- Verfahren zum Lokalisieren des Fahrzeugs
- 202
- Starten des Verfahrens
- 204
- Schätzen der Eigenbewegung
- 206
- Merkmalerkennung
- 208
- Kartenabgleich
- 210
- Aufbau des Graphen
- 212
- Optimierung des Graphen
- 214
- Beenden des Verfahrens
- 300
- Erkennungsverfahren
- 302
- Annotieren einer Punktwolke
- 304
- große Krümmung
- 306
- mittlere Krümmung
- 308
- kleine Krümmung
- 310
- Clusteranalyse
- 312
- Finden von Ebenen
- 314
- Ebenen
- 316
- Finden von Linien
- 318
- Pfosten
- 320
- Kanten
- 400
- Graph
- 402
- Bias-Term