-
Die Erfindung betrifft ein Verfahren und eine entsprechende Vorrichtung zur Ermittlung von Posedaten in Bezug auf die Pose, insbesondere in Bezug auf den Rollwinkel, eines Fahrzeugs.
-
Die von einem Fahrzeug erfassten Sensordaten in Bezug auf das Umfeld des Fahrzeugs können für die Kartierung des Umfelds des Fahrzeugs und zur Lokalisierung des Fahrzeugs innerhalb des Umfelds verwendet werden. Zu diesem Zweck kann mittels eines SLAM (Simultaneous Localization and Mapping), insbesondere mittels eines Graph-SLAM, Algorithmus bei einer Fahrt des Fahrzeugs auf Basis der Sensordaten von ein oder mehreren Sensoren des Fahrzeugs wiederholt die jeweilige Pose des Fahrzeugs ermittelt werden. Die Pose des Fahrzeugs kann dazu verwendet werden, auf Basis der Sensordaten erkannte Landmarken, z.B. Fahrspurmarkierungen, im Umfeld des Fahrzeugs zu positionieren, um eine Karte des Umfelds des Fahrzeugs zu erstellen und/oder um das Fahrzeug innerhalb des Umfelds zu lokalisieren.
-
Bei einer Fahrt entlang einer annähernd geraden Straße kann typischerweise der Rollwinkel des Fahrzeugs entlang der gesamten Trajektorie anhand der verfügbaren Sensordaten (GNSS, Odometrie und/oder Kamera-Sensordaten) nicht eindeutig ermittelt werden. Das liegt daran, dass es (satellitenbasierte) GNSS-Messungen typischerweise nur ermöglichen, die Position zu ermitteln, nicht aber den Roll- oder Nickwinkel. Odometrie-Messungen ermöglichen es, 6D Informationen (3D Translation + 3D Rotation) zu ermitteln (die als Einschränkungen bzw. Bedingungen im Rahmen eines Graph-SLAM Algorithmus verwendet werden können). Diese beziehen sich jedoch nur auf Änderungen zwischen zwei Zeitpunkten und ermöglichen es nicht, eine absolute Orientierung zu ermitteln. Bei einer geradlinigen Trajektorie kann somit der absolute Rollwinkel des Fahrzeugs entlang der Trajektorie nicht ermittelt werden.
-
Es kann in Bezug auf den Rollwinkel die Annahme gemacht werden, dass sich das Fahrzeug stets auf allen vier Rädern parallel zur Bodenebene (d.h. auf der Tangentialebene an der Erdkugel, senkrecht zu dem Gravitationsvektor) bewegt. Diese Annahme ist jedoch häufig fehlerhaft, da die meisten Straßen aus Entwässerungsgründen leicht geneigt sind. Eine fehlerhafte Annahme in Bezug auf den Rollwinkel des Fahrzeugs führt typischerweise zu Fehlern bei der auf Basis der Sensordaten des Fahrzeugs bewirkten Lokalisierung und Kartierung.
-
Das vorliegende Dokument befasst sich mit der technischen Aufgabe, Posedaten in Bezug auf die Pose, insbesondere in Bezug auf den Rollwinkel, eines Fahrzeugs in effizienter und präziser Weise zu ermitteln, insbesondere um eine präzise Lokalisierung und/oder Kartierung auf Basis der von dem Fahrzeug erfassten Sensordaten zu ermöglichen.
-
Die Aufgabe wird durch jeden der unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u.a. in den abhängigen Ansprüchen beschrieben. Es wird darauf hingewiesen, dass zusätzliche Merkmale eines von einem unabhängigen Patentanspruch abhängigen Patentanspruchs ohne die Merkmale des unabhängigen Patentanspruchs oder nur in Kombination mit einer Teilmenge der Merkmale des unabhängigen Patentanspruchs eine eigene und von der Kombination sämtlicher Merkmale des unabhängigen Patentanspruchs unabhängige Erfindung bilden können, die zum Gegenstand eines unabhängigen Anspruchs, einer Teilungsanmeldung oder einer Nachanmeldung gemacht werden kann. Dies gilt in gleicher Weise für in der Beschreibung beschriebene technische Lehren, die eine von den Merkmalen der unabhängigen Patentansprüche unabhängige Erfindung bilden können.
-
Gemäß einem Aspekt wird eine Vorrichtung zur Ermittlung von Posedaten in Bezug auf die Pose eines (Kraft-) Fahrzeugs beschrieben. Der Betriff „Posedaten“ wird dabei verwendet, um Daten zu kennzeichnen, die die Pose, z.B. zumindest eine Komponente der Pose, eines Fahrzeugs beschreiben und/oder die mit der Pose eines Fahrzeugs in Zusammenhang stehen. Die „Posedaten in Bezug auf die Pose eines Fahrzeugs“ können somit alternativ als „Daten in Bezug auf die Pose eines Fahrzeugs“ bezeichnet werden.
-
Die Posedaten in Bezug auf die Pose können für eine Fahrt des Fahrzeugs ermittelt werden (jeweils an einer Sequenz von Abtastzeitpunkten bzw. Abtastpositionen). Dabei kann es sich bei der Fahrt um eine Geradeausfahrt des Fahrzeugs handeln (ohne wesentliche Querbeschleunigung des Fahrzeugs). Die Posedaten können anzeigen und/oder umfassen: die Richtung des (auf das Fahrzeug wirkenden) Gravitationsvektors, insbesondere relativ zu der Hochachse des Fahrzeugs in einem Fahrzeug-Koordinatensystem (d.h. in einem Koordinatensystem des Fahrzeugs); und/oder den Schätzwert des Rollwinkels des Fahrzeugs, insbesondere in einem ortsfesten Koordinatensystem gemäß DIN ISO 8855. Die Vorrichtung kann eingerichtet sein, Posedaten für jeden Abtastzeitpunkt und/oder für jede Abtastposition aus der Sequenz von Abtastzeitzeitpunkt bzw. Abtastpositionen zu ermitteln. Die Vorrichtung kann Teil des Fahrzeugs und/oder Teil eines Fahrzeug-externen Servers sein.
-
Die Vorrichtung ist eingerichtet (an dem bzw. für den jeweiligen Abtastzeitpunkt), einen Messwert des (Gesamt-) Beschleunigungsvektors des Fahrzeugs zu ermitteln. Der Messwert des Beschleunigungsvektors kann anhand eines Beschleunigungssensors, insbesondere anhand einer inertialen Messeinheit (IMU), des Fahrzeugs ermittelt werden. Dabei setzt sich der Messwert des Beschleunigungsvektors typischerweise aus einer dynamischen Komponente, die von der Bewegung, insbesondere von einer Bewegungsänderung (z.B. einer Längsbeschleunigung, einer Bremsung, einer Querbeschleunigung, etc.), des Fahrzeugs bewirkt wird, und von einer Gravitationskomponente ab, die von dem Gravitationsfeld der Erde bewirkt wird. Die Gravitationskomponente kann als Gravitationsvektor bezeichnet werden.
-
Die Vorrichtung kann eingerichtet sein, den Wert der dynamischen Komponente des Messwerts des Beschleunigungsvektors (an bzw. für den jeweiligen Abtastzeitpunkt) zu ermitteln. Der Wert der dynamischen Komponente kann anhand von Sensordaten von ein oder mehreren Fahrzeugsensoren, insbesondere anhand eines Raddrehzahlsensors und/oder anhand eines Geschwindigkeitssensors, des Fahrzeugs ermittelt werden. Alternativ oder ergänzend kann der Wert der dynamischen Komponente anhand von Sensordaten von ein oder mehreren Umfeldsensoren, insbesondere anhand von Bilddaten einer Kamera (etwa durch Ermittlung und Auswertung des optischen Flusses), des Fahrzeugs ermittelt werden. Insbesondere kann der Wert der dynamischen Komponente anhand von ein oder mehreren Odometriemessungen des Fahrzeugs ermittelt werden.
-
Die Vorrichtung kann eingerichtet sein, den Wert der dynamischen Komponente anhand eines dynamischen Modells für die durch die Bewegung des Fahrzeugs bewirkte Längs- und/oder Quer- und/oder Vertikalbeschleunigung des Fahrzeugs zu ermitteln. Das dynamische Modell kann ein Einspurmodell umfassen oder von einem Einspurmodell abhängen. Die Sensordaten der ein oder mehreren Fahrzeugsensoren und/oder Umfeldsensoren des Fahrzeugs können als Eingangsdaten des dynamischen Modells verwendet werden, um den Wert der dynamischen Komponente in besonders präziser Weise zu ermitteln.
-
Die Vorrichtung kann ferner eingerichtet sein, auf Basis des Messwertes des Beschleunigungsvektors und auf Basis des Wertes der dynamischen Komponente einen Schätzwert des Gravitationsvektors (an bzw. für den jeweiligen Abtastzeitpunkt) zu ermitteln. Dabei kann der vektorielle Wert der dynamischen Komponente von dem vektoriellen Messwert des Beschleunigungsvektors abgezogen werden, um den vektoriellen Schätzwert des Gravitationssensor zu ermitteln. Die Posedaten in Bezug auf die Pose des Fahrzeugs können dann in effizienter und präziser Weise auf Basis des Schätzwertes (der Richtung) des Gravitationsvektors ermittelt werden.
-
Die Vorrichtung kann somit eingerichtet sein, die Richtung des Gravitationsvektors zu ermitteln. Die Richtung des Gravitationsvektors kann dabei relativ zu dem Koordinatensystem des Fahrzeugs angezeigt werden. Ferner kann berücksichtigt werden, dass der Gravitationsvektor senkrecht auf der Erdoberfläche steht (und somit die tatsächliche Richtung des Gravitationsvektors der (negativen) z-Achse des Welt-Koordinatensystems entspricht). Auf Basis der ermittelten Richtung des Gravitationsvektors (im Fahrzeug-Koordinatensystem) relativ zu der tatsächlichen Richtung des Gravitationsvektors (im Welt-Koordinatensystem) kann dann auf den Rollwinkel des Fahrzeugs (um die Längsachse des Fahrzeugs) geschlossen werden.
-
Die Vorrichtung kann eingerichtet sein, eine Sliding-Window Methode zur Glättung der Messwerte des Beschleunigungsvektors, der Werte der dynamischen Komponente und/oder der Schätzwerte des Gravitationsvektors (entlang der Sequenz von Abtastzeitpunkten) zu verwenden. Insbesondere kann die Vorrichtung eingerichtet sein, zur Ermittlung des Messwertes des Beschleunigungsvektors für einen Abtastzeitpunkt eine Sequenz von ungefilterten Messwerten des Beschleunigungsvektors für eine entsprechende Sequenz von Zeitpunkten, die sich auf einen Zeitraum vor, nach und/oder an dem Abtastzeitpunkt beziehen, mit einer Sliding-Window Methode zu glätten. Alternativ oder ergänzend kann die Vorrichtung eingerichtet sein, zur Ermittlung des Wertes der dynamischen Komponente für einen Abtastzeitpunkt eine Sequenz von ungefilterten Werten der dynamischen Komponente für eine entsprechende Sequenz von Zeitpunkten, die sich auf einen Zeitraum vor, nach und/oder an dem Abtastzeitpunkt beziehen, mit einer Sliding-Window Methode zu glätten. Alternativ oder ergänzend kann die Vorrichtung eingerichtet sein, zur Ermittlung des Schätzwertes des Gravitationsvektors für einen Abtastzeitpunkt eine Sequenz von ungefilterten Schätzwerten des Gravitationsvektors für eine entsprechende Sequenz von Zeitpunkten, die sich auf einen Zeitraum vor, nach und/oder an dem Abtastzeitpunkt beziehen, mit einer Sliding-Window Methode zu glätten. Durch die Glättung kann die Güte der ermittelten Posedaten weiter erhöht werden.
-
Als Zeitfenster für die Sliding-Window Methode kann ein Zeitfenster gewählt werden, das sich von ein oder mehreren Zeitpunkten vor dem Abtastzeitpunkt bis zu dem Abtastzeitpunkt erstreckt. Ein derartiges Zeitfenster kann insbesondere bei einer Online Ermittlung der Posedaten verwendet werden. Alternativ kann ein Zeitfenster gewählt werden, das um den Abtastzeitpunkt herum angeordnet ist (und das ein oder mehrere Zeitpunkte vor sowie ein oder mehrere Zeitpunkte nach dem Abtastzeitpunkt aufweist). Ein solches Zeitfenster kann insbesondere bei einer Offline Ermittlung der Posedaten verwendet werden (z.B. in einem Backend-Server).
-
Die Vorrichtung kann eingerichtet sein, auf Basis der ermittelten Posedaten eine Kartierung des Umfelds des Fahrzeugs (bei der jeweiligen Fahrt) und/oder eine Lokalisierung des Fahrzeugs innerhalb des Umfelds des Fahrzeugs (bei der jeweiligen Fahrt) zu bewirken. Das Fahrzeug kann bei einer Fahrt entlang einer bestimmten Fahrstrecke gefahren sein. Es kann dann auf Basis der ermittelten Posedaten die Lokalisierung des Fahrzeugs entlang der Fahrstrecke und/oder die Kartierung des Umfelds entlang der Fahrstrecke bewirkt werden.
-
Die Vorrichtung kann insbesondere eingerichtet sein, Posedaten in Bezug auf die Pose des Fahrzeugs an einer Sequenz von Abtastzeitpunkten entlang einer bestimmten Fahrstrecke während einer Fahrt des Fahrzeugs zu ermitteln. Es können dann auf Basis der Posedaten Bedingungen und/oder Einschränkungen für eine Graph-SLAM Methode zur Lokalisierung des Fahrzeugs entlang der Fahrstrecke und/oder zur Kartierung des Umfelds des Fahrzeugs entlang der Fahrstrecke ermittelt werden. Dabei können sich die Bedingungen und/oder Einschränkungen jeweils auf individuelle Knotenpunkte des für die Graph-SLAM Methode verwendeten Graphen beziehen. Durch die Berücksichtigung der Posedaten zur Lokalisierung und/oder Kartierung kann die Güte der Lokalisierung und/oder Kartierung in effizienter Weise erhöht werden.
-
Die Vorrichtung kann eingerichtet sein, eine Gewichtung der auf Basis der Posedaten ermittelten Bedingungen im Rahmen der Graph-SLAM Methode in Abhängigkeit von dem Wert der dynamischen Komponente einzustellen, insbesondere derart, dass die Gewichtung mit steigendem Wert, insbesondere mit steigendem Wert des Betrags, der dynamischen Komponente sinkt. Mit anderen Worten, das Ausmaß der Berücksichtigung der auf Basis der Posedaten ermittelten Bedingungen und/oder Einschränkungen bei der Lokalisierung und/oder Kartierung kann mit steigendem Wert der dynamischen Komponente (und somit mit zunehmender Unsicherheit des Schätzwertes des Gravitationsvektors) reduziert werden. So kann die Güte der Lokalisierung und/oder Kartierung weiter erhöht werden.
-
Gemäß einem weiteren Aspekt wird ein (Straßen-)Kraftfahrzeug (insbesondere ein Personenkraftwagen oder ein Lastkraftwagen oder ein Bus oder ein Motorrad) beschrieben, das die in diesem Dokument beschriebene Vorrichtung umfasst.
-
Gemäß einem weiteren Aspekt wird eine Fahrzeug-externe Einheit, insbesondere ein Server, beschrieben, die die in diesem Dokument beschriebe Vorrichtung umfasst. Die Fahrzeug-externe Einheit kann den jeweiligen Messwert des Beschleunigungssensors und/oder den jeweiligen Wert der dynamischen Komponente über eine (drahtlose) Kommunikationsverbindung von ein oder mehreren Fahrzeugen empfangen. Alternativ oder ergänzend kann die Fahrzeug-externe Einheit eingerichtet sein, die Sensordaten von ein oder mehreren Fahrzeugen (insbesondere Sensordaten in Bezug auf die Odometrie) über eine Kommunikationsverbindung zu empfangen. Basierend darauf kann dann der jeweilige Wert der dynamischen Komponente von der Fahrzeug-externen Einheit berechnet werden.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zur Ermittlung von Posedaten in Bezug auf die Pose (insbesondere in Bezug auf den Rollwinkel) des Fahrzeugs beschrieben. Das Verfahren umfasst das Ermitteln zumindest eines (vektoriellen) Messwertes des (Gesamt-) Beschleunigungsvektors des Fahrzeugs, sowie das Ermitteln eines (vektoriellen) Wertes der dynamischen Komponente des Messwerts des Beschleunigungsvektors, die von der Bewegung, insbesondere von einer Bewegungsänderung (z.B. einer Längsbeschleunigung, einer Bremsung, einer Querbeschleunigung, etc.), des Fahrzeugs bewirkt wird. Der Messwert und der Wert können jeweils anhand der Sensordaten von ein oder mehreren Sensoren des Fahrzeugs ermittelt werden.
-
Das Verfahren umfasst ferner das Ermitteln, auf Basis des Messwertes des Beschleunigungsvektors und auf Basis des Wertes der dynamischen Komponente, eines (vektoriellen) Schätzwertes des Gravitationsvektors (insbesondere eines Schätzwertes der Richtung des Gravitationsvektors (relativ zu dem Fahrzeug-Koordinatensystem). Es kann somit der Anteil des Messwertes des Beschleunigungsvektors ermittelt werden, der (ausschließlich) auf die auf das Fahrzeug wirkende Gravitation zurückzuführen ist.
-
Des Weiteren kann das Verfahren das Ermitteln von Posedaten in Bezug auf die Pose des Fahrzeugs auf Basis des Schätzwertes (der Richtung) des Gravitationsvektors umfassen.
-
Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Des Weiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden. Ferner sind in Klammern aufgeführte Merkmale als optionale Merkmale zu verstehen.
-
Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
- 1a ein beispielhaftes Fahrzeug;
- 1b eine beispielhafte Fahrbahn;
- 1c beispielhafte Koordinatensysteme zur Ermittlung der Pose eines Fahrzeugs;
- 1d beispielhafte Lokalisierungs-Fehler aufgrund fehlerhafter Annahmen in Bezug auf den Rollwinkel des Fahrzeugs;
- 2 eine beispielhafte Kompensation des gemessenen Beschleunigungsvektors zur Schätzung des Gravitationsvektors und des Rollwinkels;
- 3 einen beispielhaften Graphen zur Lokalisierung und Kartierung; und
- 4 ein Ablaufdiagramm eines beispielhaften Verfahrens zur Ermittlung von Posedaten in Bezug auf die Pose eines Fahrzeugs.
-
Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der effizienten und präzisen Ermittlung von Posedaten in Bezug auf die Pose eines Fahrzeugs 100. In diesem Zusammenhang zeigt 1 ein beispielhaftes Fahrzeug 100, das ein oder mehrere Umfeldsensoren 102 umfasst. Beispielhafte Umfeldsensoren 102 sind eine Kamera, ein Radarsensor, ein Lidarsensor, ein Ultraschallsensor, etc. Die ein oder mehreren Umfeldsensoren 102 sind eingerichtet, Umfelddaten (d.h. Sensordaten) in Bezug auf das Umfeld des Fahrzeugs 100 zu erfassen.
-
Das Fahrzeug 100 umfasst ferner einen Positionssensor 104, der eingerichtet ist anhand eines Globalen satellitenbasierten Navigationssystems (GNSS), wie z.B. anhand GPS, Positionsdaten (d.h. Sensordaten) in Bezug auf die Position des Fahrzeugs 100 in einem Welt-Koordinatensystem zu ermitteln.
-
Des Weiteren umfasst das Fahrzeug 100 ein oder mehrere Fahrzeugsensoren 103, die eingerichtet sind, Sensordaten zu ermitteln, wie z.B. die Fahrgeschwindigkeit, den Lenkwinkel, die Längsbeschleunigung, die Querbeschleunigung, die eine Odometrie-basierte Ermittlung der Position und/oder der Pose des Fahrzeugs 100 ermöglichen.
-
Außerdem umfasst das Fahrzeug 100 einen Beschleunigungssensor 105, der eingerichtet ist, Messwerte in Bezug auf einen (drei-dimensionalen) Beschleunigungsvektor des Fahrzeugs 100 zu ermitteln. Der Beschleunigungssensor 105 kann z.B. eine Inertial Measurement Unit (IMU) umfassen.
-
Wie in 1b dargestellt, kann sich das Fahrzeug 100 auf einer Fahrbahn 110 bewegen, die eine Wölbung quer zu der Fahrtrichtung der Fahrbahn 110 (die senkrecht auf der Bildebene verläuft) aufweist. Eine derartige Wölbung kann dafür vorgesehen sein, ein zuverlässiges Abfließen von Oberflächenwasser zu ermöglichen. Die Wölbung der Fahrbahn 110 führt dazu, dass das Fahrzeug 100 bei der Fahrt auf der Fahrbahn 110 eine Drehung um die Längsachse des Fahrzeugs 100 (d.h. einen von Null abweichenden Rollwinkel in Bezug auf die von der x-Achse und der y-Achse eines Welt-Koordinatensystems aufgespannten Ebene) aufweist. Insbesondere sind in einem solchen Fall die Hochachse des Fahrzeugs 100 und der (senkrecht auf der Erdoberfläche stehende) Gravitationsvektor nicht parallel zueinander angeordnet.
-
1c zeigt ein beispielhaftes Fahrzeug-Koordinatensystem 120 und ein beispielhaftes Welt-Koordinatensystem 130. Das Fahrzeug 100 kann um die Höhenachse (d.h. die z-Achse), um die Längsachse (d.h. die x-Achse) und/oder um die Querachse (d.h. die y-Achse) gegenüber dem Welt-Koordinatensystem 130 verdreht sein. Folglich kann das Fahrzeug 100 (bzw. das Fahrzeug-Koordinatensystem 120) einen von Null abweichenden Nickwinkel 121 und/oder einen von Null abweichenden Rollwinkel 122 und/oder einen von Null abweichenden Drehwinkel (d.h. Yaw-Winkel) gegenüber dem Welt-Koordinatensystem 130 aufweisen.
-
Wenn bei der Lokalisierung und/oder Kartierung auf Basis der Sensordaten des Fahrzeugs 100 die Annahme getroffen wird, dass das Fahrzeug 100 mit allen vier Rädern auf der x-y-Ebene des Welt-Koordinatensystems 130 steht oder in anderen Worten, wenn angenommen wird, dass die z-Achse des Fahrzeug-Koordinatensystems 120 parallel angeordnet ist und in die gleiche Richtung zeigt wie die z-Achse des Welt-Koordinatensystems 130, so kann dies zu Fehlern bei der Lokalisierung und/oder Kartierung führen, wenn die Annahme fehlerhaft ist (z.B. aufgrund der Wölbung einer Fahrbahn 110.
-
Fährt das Fahrzeug 100 beispielsweise auf einer gewölbten Straße 110, wie in 1b dargestellt, und fährt aus der Bildebene heraus auf den Betrachter zu, so wird das Fahrzeug 100 die Umgebung des Fahrzeugs 100 in dem relativen Koordinatensystem 120 des Fahrzeugs beobachten. Wenn bei der Kartierung die Annahme einer nicht-gewölbten, ebenen, Straße 110 getroffen wird, führt dies dazu, dass bei der Auswertung der Sensordaten des Fahrzeugs 100 das Fahrzeug 100 effektiv um die Längsachse gedreht wird, bis die z-Achse des Fahrzeugs 100 mit der z-Achse des Welt-Koordinatensystems 130 übereinstimmt. Bei der Auswertung der Relativbeobachtungen des Fahrzeugs 100 an unterschiedlichen Zeitpunkten und/oder Stellen führt dies dazu, dass Landmarken auf der rechten Seite des Fahrzeugs 100 zu hoch kartiert werden und auf der linken Seite zu niedrig kartiert werden. Der Fehler steigt dabei mit zunehmendem Abstand zu der Fahrzeuglängsachse an.
-
1d zeigt ein beispielhaftes Fahrzeug 100, das auf einer geradlinigen Fahrbahn 110 mit Fahrbahnmarkierungen 150 als Landmarken fährt. Die Fahrbahnmarkierungen 150 können von den ein oder mehreren Umfeldsensoren 102 des Fahrzeugs 100 erfasst werden. Dabei kann auf Basis der Umfelddaten der ein oder mehreren Umfeldsensoren 102 der Querabstand 155 zwischen dem Fahrzeug 100 und einer erfassten Fahrbahnmarkierung 150 ermittelt werden, um die jeweilige Fahrbahnmarkierung 150 in einer Karte in Bezug auf das Umfeld des Fahrzeugs 100 zu positionieren.
-
Wenn bei der Ermittlung des Querabstands 155 der Fahrbahnmarkierung 150 angenommen wird, dass der Rollwinkel 122 des Fahrzeugs 100 Null ist und das Fahrzeug 100 somit keine Verdrehung um die x-Achse des Fahrzeug-Koordinatensystems 120 aufweist, obwohl tatsächlich eine Verdrehung vorliegt, so kann dies zu einem Versatz 152 zwischen der tatsächlichen Position der Fahrbahnmarkierung 150 und der geschätzten Position 151 der Fahrbahnmarkierung 150 führen. Fehler bei der Ermittlung des Rollwinkels 122 können somit zu Fehlern bei der Lokalisierung und/oder Kartierung auf Basis der Sensordaten eines Fahrzeugs 100 führen.
-
Das vorliegende Dokument befasst sich daher damit, Ungenauigkeiten bei der Lokalisierung und/oder Kartierung von Landmarken mittels Sensordaten aus Flottendaten von Fahrzeugen 100 auf annähernd geradeaus verlaufenden Straßen, wie z.B. Autobahnen oder Landstraßen, zu reduzieren. Derartige Ungenauigkeiten treten typischerweise auf nicht-geradeaus verlaufenden Straßen nicht wesentlich auf, weil die Relativobservationen der Odometrie zusammen mit den GNSS-Messungen bei Kurven einen Hebelarm bilden, der sich auf den Rollwinkel der Trajektorie des jeweiligen Fahrzeug 100 auswirken kann, und somit zur Ermittlung des absoluten Wertes des Rollwinkels 122 verwendet werden kann.
-
Die Annahme, dass die Fahrzeughochachse stets normal zur Tangentialebene an der Erdkugel verläuft, ist aufgrund der häufig vorhandenen Querneigung und/oder Wölbung von Fahrbahnen 110 fehlerhaft. Die Verwendung dieser fehlerhaften Annahme kann dazu führen, dass die Position von Landmarken 150, insbesondere in Bezug auf die Höhe der Landmarken 150, fehlerhaft ermittelt wird. Darüber hinaus kann die Assoziation von Landmarken 150, die bei unterschiedlichen Fahrten in entgegengesetzten Fahrrichtungen erfasst werden, durch die fehlerhaft ermittelten Positionen erschwert werden.
-
Eine (Auswerte-) Vorrichtung 101 des Fahrzeugs 100 kann eingerichtet sein, auf Basis der Sensordaten von ein oder mehreren Sensoren 102, 103, 104, 105 des Fahrzeugs 100, insbesondere anhand eines Beschleunigungssensors 105, einen Messwert des (Gesamt-) Beschleunigungsvektors des Fahrzeugs 100 zu ermitteln.
-
Der Beschleunigungsvektor kann dabei einen bestimmten Betrag und eine bestimmte Richtung (innerhalb eines drei-dimensionalen Raums) aufweisen. Bei einem stillstehenden Fahrzeug 100 würde der Beschleunigungsvektor dem (senkrecht auf der Erdoberfläche stehenden) Gravitationsvektor entsprechen. Aus der Richtung des Gravitationsvektors kann dann direkt auf den Rollwinkel 122 des Fahrzeugs 100 (in Bezug auf die tangential zur Erdoberfläche verlaufenden x-Achse) geschlossen werden.
-
Der Beschleunigungssensor 105 des Fahrzeugs 100 erfasst jedoch typischerweise nicht direkt den Gravitationsvektor, sondern die Summe aller Beschleunigungen des Fahrzeugs 100. Insbesondere wird dabei der Gravitationsvektor durch die zusätzlichen auf das Fahrzeug 100 wirkenden Beschleunigungen überlagert. Das Fahrzeug 100 kann dabei, insbesondere bei relativ hohen Geschwindigkeiten, zusätzliche Beschleunigungen in allen Raumrichtungen erfahren (z.B. bei einer Kurvenfahrten und/oder bei einer Bremsung, etc.).
-
Der Rollwinkel 122 des Fahrzeugs 100 kann somit bei einer gerade verlaufenden Trajektorie typischerweise nicht anhand von rein relativen Odometriemessungen (z.B. aus den Raddrehzahlen und/oder aus den Gierraten) geschätzt werden. Andererseits können gemessene Beschleunigungsvektoren zur Ermittlung des Rollwinkels 122 verwendet werden, wobei zu diesem Zweck aus den gemessenen Beschleunigungsvektoren der Gravitationsvektor geschätzt und ggf. in der Trajektorienoptimierung verwendet werden kann.
-
2 zeigt einen beispielhaften Beschleunigungsvektor 201, der z.B. anhand des Beschleunigungssensors 105 des Fahrzeugs 100 erfasst wurde. Des Weiteren zeigt 2 die Hochachse 210 des Fahrzeugs 100. Ferner zeigt 2 eine dynamische Beschleunigungskomponente 202, die durch die Eigenbewegung des Fahrzeugs 100 bewirkt wird. Der gemessene Beschleunigungsvektor 201 kann um die dynamische Beschleunigungskomponente 202 kompensiert werden, um den Gravitationsvektor 203 zu schätzen. Basierend auf der Ausrichtung des Gravitationsvektors 203 relativ zu der Hochachse 210 des Fahrzeugs 100 kann ein Schätzwert 212 des Rollwinkels 122 des Fahrzeugs 100 ermittelt werden.
-
Es können somit Beschleunigungsvektormessungen als zusätzliche Informationsquelle für die Ermittlung des Rollwinkels 122 einzelner Fahrzeugorientierungen und damit auch des Rollwinkels 122 einer gesamten Fahr-Trajektorie verwendet werden. Mittels eines kinematischen Modells und der auf Basis der Odometrie des Fahrzeugs 100 ermittelten translatorischen und rotatorischen Geschwindigkeiten des Fahrzeugs 100 kann die aus der Dynamik der Fahrzeugs 100 resultierenden Beschleunigungskomponente 202 ermittelt werden. Der Gravitationsvektor 203 kann dann durch Abzug der dynamischen Komponente 202 von der gemessenen Gesamtbeschleunigung 201 des Fahrzeugs 100 ermittelt werden. Der Gravitationsvektor 203 kann als zusätzlicher Prior (d.h. als zusätzliche Bedingung und/oder Einschränkung) für die Orientierung des Fahrzeugs 100 in dem Faktorgraph einer SLAM-Optimierung verwendet werden.
-
Beispielsweise kann eine Fahrzeugtrajektorie (zur Lokalisierung) basierend auf GPS, Odometrie und Beschleunigungsmessungen ermittelt werden. Aus Odometriemessungen können die dynamischen Komponenten 202 der Beschleunigungen berechnet werden. In Kombination mit den Roh-Beschleunigungsmessungen 201 können daraus, wie oben beschrieben, die reinen Gravitationsvektoren 203 zu jeder Messung bestimmt werden. Für die Lokalisierung (z.B. in einem Backend-Server) kann eine Graph-SLAM Optimierung (mit Least Squares Optimierung) verwendet werden. Zu diesem Zweck kann das Problem als Faktorgraph Darstellung formuliert werden. Die Optimierung mit einem Framework wie g2 o kann die zu ermittelnde Trajektorie liefern.
-
In der Faktorgraphen-Darstellung können die zusätzlichen Gravitationsvektoren 203 als Priors für die jeweiligen Fahrzeugposen verwendet werde. Die Priors können dabei eine zusätzliche Einschränkung für die Orientierung der Fahrzeugpose relativ zu der negativen z-Achse des lokalen Koordinatensystems 130 der angenommenen Gravitation beschreiben.
-
3 zeigt einen beispielhaften Graphen 300, der eine Vielzahl von Knotenpunkten 301 umfasst, die teilweise durch Kanten 302 miteinander verbunden werden. Dabei kann jeder Knotenpunkt 301 jeweils die Pose des Fahrzeugs 100 beschreiben (z.B. an unterschiedlichen Abtastpunkten und/oder Abtastzeitpunkten entlang der von dem Fahrzeug 100 gefahrenen Trajektorie). Die Kanten 302 können ein oder mehrere Bedingungen in Bezug auf den Übergang zwischen zwei Knotenpunkten 301 beschreiben. Die ein oder mehreren Bedingungen können auf Basis der Sensordaten der ein oder mehreren Sensoren 102, 103, 104, 105 des Fahrzeugs 100 ermittelt werden. Dabei kann sich zumindest eine Bedingung auf den jeweils geschätzten Gravitationsvektor 203 bzw. auf den jeweils geschätzten Rollwinkel 122 des Fahrzeugs 100 beziehen.
-
In dem Graphen 300 können alternativ oder ergänzend jeweils ein oder mehrere Bedingungen für die einzelnen Knotenpunkte 301 berücksichtigt werden. Mit anderen Worten, die einzelnen Knotenpunkte 301 des Graphen 300 können jeweils ein oder mehrere Bedingungen aufweisen, die sich (allein) auf den jeweiligen Knotenpunkt 301 (insbesondere auf die Pose des Fahrzeugs 100 in dem jeweiligen Knotenpunkt 301) beziehen. In einem bevorzugten Beispiel kann sich dabei zumindest eine Bedingung für die einzelnen Knotenpunkte 301 auf den jeweils geschätzten Gravitationsvektor 203 bzw. auf den jeweils geschätzten Rollwinkel 122 des Fahrzeugs 100 (an dem jeweiligen Knotenpunkt 301) beziehen. Eine Bedingung, die sich auf eine Variable (eines Knotenpunktes 301) bezieht (und nicht auf den Übergang zwischen zwei Variablen (d.h. auf eine Kante 302) beziehen), wird typischerweise als „Prior“ bezeichnet.
-
Die Knotenpunkte 301 bzw. die damit assoziierten Posen des Fahrzeugs 100 können derart anhand einer Optimierungsmethode ermittelt werden, dass die mit den einzelnen Kanten 302 assoziierten Bedingungen gemäß einer bestimmten Fehlerfunktion (z.B. gemäß einer Least-Squares-Fehlerfunktion) möglichst gut erfüllt werden.
-
Die bei einer Fahrt gemessenen Beschleunigungsvektoren 201 können vor der Verwendung mit einer Sliding Window Methode geglättet werden. Alternativ oder ergänzend können die resultierenden Gravitationsvektoren 203 vor der Verwendung mit einer Sliding Window Methode geglättet werden. So kann die Güte der ermittelten Posedaten in Bezug auf die Pose des Fahrzeugs 100 bei einer Fahrt weiter erhöht werden.
-
Die Kovarianzmatrizen (d.h. die Gewichtungen) der Priors in Bezug auf den Gravitationsvektor 203 können in Abhängigkeit der jeweils vorliegenden Dynamik des Fahrzeugs 100 gewählt werden. Insbesondere können die Kovarianzmatrizen der zusätzlichen Priors in hochdynamischen Situationen (z.B. Drift, Notbremsung, sehr schnelle Kurvenfahrt) relativ groß gewählt werden, um eine relativ erhöhte Unsicherheit der Gravitationsvektorschätzung in solchen Situationen zu berücksichtigen und um den Einfluss auf das Optimierungsergebnis entsprechend zu reduzieren.
-
Wie weiter oben dargelegt, kann mittels eines kinematischen Modells aus Odometriemessungen der dynamische Anteil 202 der gemessenen Beschleunigung 201 ermittelt werden. Aus dem Einspurmodell lassen sich die dynamischen Beschleunigungskomponenten 202 wie folgt berechnen:
wobei v die absolute Geschwindigkeit des Fahrzeugs 100 ist, β der Schwimmwinkel des Fahrzeugs 100 ist und R der Radius ist, auf dem sich das Fahrzeug bewegt. Die o.g. Größen können auf Basis von Odometriemessungen ermittelt werden. Bei einer Geradeaus-Fahrt geht R → ∞, sodass der zweite Term ggf. jeweils vernachlässigt werden kann.
-
Für den Schwimmwinkel gilt:
mit:
dt kann dabei z.B. das Zeitintervall zwischen zwei Sensormessungen, insbesondere Abtastzeitpunkten, sein (z.B. 111ms). dx und dy beschreiben die Bewegung (insbesondere die Bewegungsdistanz) des Fahrzeugs 100 in Längs- bzw. in Querrichtung während dieses Zeitintervalls. dx und dy können anhand der Odometrie gemessen werden, z.B. als Kombination der Messwerte von Raddrehzahlsensoren und visueller Odometrie aus dem Optical Flow in Bildern einer Fahrzeug-Kamera. Somit kann ein Messwert des Schwimmwinkels auf Basis der Sensordaten von ein oder mehreren Sensoren 102, 103 des Fahrzeugs 100 ermittelt werden.
-
Für die Berechnung der Zentripetalbeschleunigung
kann die absolute Geschwindigkeit des Fahrzeug 100 ermittelt werden, als
-
Mit der Differentialgleichung der Schwimmwinkeländerung
mit der Translationslänge
und mit der oben genannten absoluten Geschwindigkeit
ergibt sich für die Zentripetalbeschleunigung:
-
Die Schwimmwinkeländerung
kann durch die Änderung der berechneten Schwimmwinkel an aufeinander folgenden Zeitstempeln angenähert werden:
-
Die Änderung des Yaw-Winkels kann direkt aus der Odometrie angenähert werden:
-
Durch Einsetzen in die oben angegebenen Formeln können die dynamischen Beschleunigungen 202 in x und y-Richtung des Fahrzeugs 100 ermittelt werden. In entsprechender Weise können die dynamischen Beschleunigungen 202 im drei-dimensionalen Raum ermittelt werden.
-
4 zeigt ein Ablaufdiagramm eines beispielhaften (ggf. Computerimplementierten) Verfahrens 400 zur Ermittlung von Posedaten in Bezug auf die Pose eines Fahrzeugs 100. Die Pose des Fahrzeugs 100 kann die Position des Fahrzeugs 100 im drei-dimensionalen Raum (insbesondere in dem Welt-Koordinatensystem 130) umfassen. Alternativ oder ergänzend kann die Pose des Fahrzeugs 100 eine Ausrichtung und/oder eine Drehung des Fahrzeugs 100 im drei-dimensionalen Raum (insbesondere in dem Welt-Koordinatensystem 130) umfassen. Die Ausrichtung und/oder Drehung des Fahrzeugs 100 kann dabei insbesondere einen Rollwinkel 122 um die Längsachse des Fahrzeugs 100 umfassen. Das Verfahren 400 kann wiederholt, insbesondere periodisch, an bzw. für jeweils einen Abtastzeitpunkt ausgeführt werden.
-
Das Verfahren 400 umfasst das Ermitteln 401 eines Messwertes des (Gesamt-) Beschleunigungsvektors 201 des Fahrzeugs 100 (an bzw. für den jeweiligen Abtastzeitpunkt). Der Messwert kann ggf. direkt anhand eines Beschleunigungssensors 105 des Fahrzeugs 100 erfasst werden.
-
Des Weiteren umfasst das Verfahren 400 das Ermitteln 402 (für bzw. an dem jeweiligen Abtastzeitpunkt) eines Wertes der dynamischen Komponente 202 des Messwerts des Beschleunigungsvektors 201, die von der Bewegung des Fahrzeugs 100 bewirkt wird. Der Wert der dynamischen Komponente 202 kann dabei auf Basis der Sensordaten von ein oder mehreren Fahrzeugsensoren 103 und/oder Umfeldsensoren 102 des Fahrzeugs 100 ermittelt werden. Insbesondere können ein oder mehrere Odometriemessungen verwendet werden, um den Wert der dynamischen Komponente 202 zu ermitteln.
-
Das Verfahren 400 umfasst ferner das Ermitteln 403, auf Basis des Messwertes des Beschleunigungsvektors 201 und auf Basis des Wertes der dynamischen Komponente 202, eines Schätzwertes des Gravitationsvektors 203 (an bzw. für den jeweiligen Abtastzeitpunkt). Dabei kann der (Vektor-) Wert der dynamischen Komponente 202 von dem (Vektor-) Messwert des Beschleunigungsvektors 201 abgezogen werden, um den (Vektor-) Schätzwert des Gravitationsvektors 203 zu ermitteln.
-
Des Weiteren kann das Verfahren 400 das Ermitteln 404 von Posedaten in Bezug auf die Pose des Fahrzeugs 100 auf Basis des Schätzwertes des Gravitationsvektors 203, insbesondere auf Basis der Richtung des Schätzwertes des Gravitationsvektors 203, umfassen. Dabei können die Posedaten z.B. einen Schätzwert 212 für den Rollwinkel 122 des Fahrzeugs 100 (an bzw. für den jeweiligen Abtastzeitpunkt) umfassen. Der Schätzwert 212 des Rollwinkels 122 kann z.B. auf Basis der Richtung des Schätzwertes des Gravitationsvektors 203 relativ zu der Richtung der Hochachse 210 des Fahrzeugs 100 ermittelt werden.
-
Die Posedaten können z.B. für den Betrieb des Fahrzeugs 100 verwendet werden. Alternativ oder ergänzend können die Posedaten zur Ermittlung der Fahrzeugtrajektorie und/oder zur Kartierung des Umfelds des Fahrzeugs 100 verwendet werden.
-
Durch die in diesem Dokument beschriebenen Maßnahmen können Posedaten in Bezug auf die Pose eines Fahrzeugs 100 auch bei einer geradlinigen Fahrt in effizienter und präziser Weise ermittelt werden.
-
Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur beispielhaft das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.