-
Die Erfindung betrifft ein Verfahren zur Zuordnung von Ampeln zu den zugehörigen Fahrstreifen einer Fahrbahn aus Schwarmdaten von Kraftfahrzeugen sowie eine Verwendung des Verfahrens in einem Kraftfahrzeug.
-
An Kreuzungen muss beim autonomen bez. automatischen Fahren eines Kraftfahrzeugs dieses unter Umständen mit komplexen Ampelsituationen zurechtkommen. Dazu ist eine automatische Erkennung der an einer Kreuzung vorhandenen Ampeln notwendig, wobei diese Erkennung auch eine Zuordnung der Ampeln zu den jeweiligen Fahrspuren umfassen muss, für die die Signale der Ampeln zuständig sind. Eine derartige automatische Erkennung von Ampeln an Kreuzungen ist aber nicht nur beim autonomen Fahren einsetzbar, sondern kann auch beim unterstützten oder halbautonomen Fahren eine Kraftfahrzeugs eingesetzt werden, um dem Fahrer beim Führen des Kraftfahrzeugs zu unterstützen.
-
Eine automatische Erkennung von Ampeln an einer Kreuzung beim automatischen Fahren verfolgt dabei die folgenden Ziele:
- - dem Fahrer eine mögliche Geschwindigkeit zur Ampelanlage zu empfehlen,
- - automatisch vor der Ampel anzuhalten,
- - den Fahrer bei einen versehentlichen Überfahren der Ampel zu warnen, und
- - den Fahrer einen Weiterfahrhinweis zu geben, wenn die Ampel wieder grün wird.
-
Zur Umsetzung dieser Beispiele wird versucht die Ampel mit einer im im Fahrzeug angeordneten Frontkamera zu beobachten. Dabei muss die folgende Messaufgabe bewältigt werden:
- - Die Kamera erkennt die Ampel im Vorfeld und vermisst diese hinsichtlich Position und Ausrichtung,
- - die Kamera erkennt die Spuren und Markierungen auf dem Boden und stellt so einen Zuordnung der Ampel zu den Spuren fest, und
- - die Kamera beobachtet fortlaufend den Zustand der relevanten Ampel und gibt diese Information an die entsprechenden Funktion weiter.
-
In der Realität ist allerdings die Zuordnung von Ampel zu Fahrstreifen bedingt durch vielfältige und komplexe Kreuzungssituationen sehr schwierig zu ermitteln, was zu hohen Fehlraten bei der Zuordnung von Ampel zu Fahrstreifen führt.
-
Die Druckschrift
DE 10 2014 205 953 A1 betrifft ein Verfahren zur Analyse einer Verkehrsumfeldsituation eines Fahrzeugs mit einem Navigationssystem und einem Sensorsystem, wobei das Navigationssystem eine Fahrzeugposition ermittelt und das Sensorsystem Bewegungsdaten des Fahrzeugs erfasst sowie ein Bewegungsverhalten des Fahrzeugs in Form von Bewegungstrajektorien des Fahrzeugs ermittelt, wobei die Fahrzeugposition und die Bewegungstrajektorien des Fahrzeugs einen Rückschluss auf das Vorhandensein und/ oder die Art wenigstens eines Merkmals der Umgebung ermöglichen, und wobei ein Sensor des Sensorsystems das Merkmal erfasst und wenigstens eine Zusatzinformation über das Merkmal abspeichert.
-
Die Druckschrift
DE 10 2017 206 847 A1 offenbart ein Verfahren zum automatischen Erstellen und Aktualisieren eines Datensatzes für ein autonomes Fahrzeug, bei dem mindestens eine Ampel und ein Schaltzustand der mindestens einen Ampel registriert werden, mindestens eine Fahrbahnmarkierung ermittelt wird, eine Trajektorie von mindestens einem vorausfahrenden Fahrzeug registriert wird und die gesammelten Daten zum Erstellen und Aktualisieren des Datensatzes verwendet werden, wobei basierend auf der mindestens einen erfassten Trajektorie, dem mindestens einen Schaltzustand der mindestens einen Ampel und der mindestens einen ermittelten Fahrbahnmarkierung mindestens eine Fahrspur mindestens einer Ampel zugeordnet wird.
-
Wie oben ausgeführt, ist die Ermittlung der Zuordnung von Ampeln einer Kreuzung zu den jeweiligen Fahrspuren im Egofahrzeug selbst schwer zu bewerkstelligen. Automatische Fahrfunktionen als auch automatisierte Fahrfunktionen wie beispielsweise der Travel Assist benötigen jedoch Informationen über Ampeln an Kreuzungen, um an solchen Kreuzungen entsprechend reagieren zu können, wobei eine Herausforderung darin besteht zu erkennen welche der einzelnen Ampelsignale für das Ego-Fahrzeug relevant sind. Auch wenn diese Zuordnung vom menschlichen Fahrer täglich intuitiv durchgeführt wird, ist eine algorithmische Bewertung im Fahrzeug sehr kompliziert.
-
Um die Ampelinformationen einer Kreuzung einschließlich der Information über die Zuordnung der einzelnen Ampelsignale an einer gegebenen Kreuzung zu den Fahrspuren den automatischen Fahrfunktionen bereitstellen zu können, ist es sinnvoll diese Information in einer zentralen externen Datenbasis zu sammeln. Ein Fahrzeug kann dann mit der zentralen Datenbasis beispielsweise per Mobilfunk kommunizieren und die Informationen nutzen, um die relevanten Ampelsignale zu identifizieren.
-
Um die Zuordnung zu ermöglichen werden die notwendigen Zuordnungsdaten aus Schwarmdaten von Fahrzeugen gewonnen, welche vom menschlichen Fahrer gesteuert werden. Jedes Fahrzeug übermittelt bei einer Ampelkreuzung Informationen an einen zentralen Server, der die Daten nachbearbeitet und in die Datenbasis einträgt. Es sind mehrere Überfahrten pro Kreuzung notwendig, um die Kreuzung zuverlässig klassifizieren zu können.
-
Die Druckschrift
DE 10 2018 210 125 A1 beschreibt ein Verfahren zur Zuordnung von Ampeln einer Ampelanlage eines von dieser Ampelanlage gesteuerten Fahrbahnabschnitts zu den Fahrspuren des Fahrbahnabschnitts, wobei der Fahrbahnabschnitt mindestens eine Fahrspur aufweist, die Fahrspuren des Fahrbahnabschnitts eine gemeinsame Fahrtrichtung aufweisen, und eine Vielzahl von Fahrzeugen den Fahrbahnabschnitt befahren, umfassend die Schritte:
- - Erkennen einer vorausliegenden Ampelanlage durch jedes Fahrzeug, welches den Fahrbahnabschnitt befährt und sich auf die Ampelanlage zubewegt,
- - kontinuierliches Erfassen der Ampelzustände der Ampeln der Ampelanlage, der befahrenen Fahrspur, der Fahrzeuggeschwindigkeit und der Fahrzeugposition durch jedes Fahrzeug, wobei die Erfassung in einer vorbestimmten Entfernung von der Ampelanlage beginnt und bis zum Passieren der Ampelanlage fortgeführt wird,
- - Übermittel der von jedem Fahrzeug aufgezeichneten Daten „Ampelzustände“, „Fahrspur“ und „Geschwindigkeit“ in Form eines Datensatzes an einen Backend-Rechner,
- - Durchführen folgender Auswertungen durch den Backend-Rechner für jeden fahrzeugspezifischen Datensatz:
- - Ermitteln der erkannten Ampelanlage auf einer Karte,
- - Erkennung der Bewegung des Fahrzeugs durch den Fahrbahnabschnitt,
- - Feststellung der Ampelzustände beim Passieren der Ampelanlage durch das Fahrzeug, und
- - Erstellen einer Zuordnungstabelle für die erkannte Ampelanlage aus den ausgewerteten Datensätzen, wobei die Zuordnungstabelle die Ampeln der Ampelanlage den Fahrspuren des Fahrbahnabschnitts zuordnet.
-
Bei dem oben geschilderten Verfahren tritt das Problem auf, dass unter Umständen die Ausrichtung des datenerfassenden Fahrzeugs nicht bekannt ist. Mit anderen Worten, es liegt keine genaue Lokalisierung des Fahrzeugs vor, so dass im Backend-Rechner eine Zuordnung der Ampeln zu Fahrspuren schwer möglich ist.
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Bestimmung der Lokalisierung des datenerfassenden Fahrzeugs anzugeben, so dass eine verbesserte Zuordnung von Ampeln zu Fahrspuren möglich ist.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche.
-
Das erfindungsgemäße Verfahren zur Zuordnung von Ampelobjekten einer Kreuzung zu den jeweiligen Fahrspuren der Kreuzung aus Schwarmdaten einer Vielzahl von auf den Fahrspuren sich bewegenden Ego-Fahrzeugen umfasst die Schritte:
- - Erfassen der Odometrie-Trajektorie und des Geschwindigkeitsverlauf eines sich auf die Ampelanlage innerhalb eines vorgegebenen Erfassungsbereich zubewegenden Egofahrzeugs auf der vom Ego-Fahrzeug befahrenen Fahrspur im Ego-Fahrzeug, wobei der Erfassungsbereich einen ersten vorbestimmten Abstand vor der Ampelanlage und einen zweiten vorbestimmten Abstand nach Überfahrung der Ampelanlage umfasst,
- - paralleles Erfassen der GPS-Trajektorie des Egofahrzeugs in Weltkoordinaten innerhalb des Erfassungsbereichs im Ego-Fahrzeug,
- - paralleles Erfassen der Ampelobjekte einschließlich der Ampelphasen als Funktion von Zeit und Position relativ zum Egofahrzeug entlang der Odometrie-Trajektorie innerhalb des Erfassungsbereichs im Ego-Fahrzeug,
- - Bestimmung der Ego-Trajektorie des Egofahrzeugs in Weltkoordinaten für den Erfassungsbereich aus der Odometrie-Trajektorie und der GPS-Trajektorie im EgoFahrzeug,
- - Bestimmung der Ampelpositionen in Weltkoordinaten der innerhalb des Erfassungsbereichs erfassten Ampelobjekte anhand der in Weltkoordinaten transformierten Ego-Trajektorie im Ego-Fahrzeug,
- - Übertragen von zumindest der Ego-Trajektorie und der Ampelpositionen der Ampelobjekte einschließlich der Ampelphasen an einen externen Backend-Rechner zur Zuordnung der erfassten Ampelobjekte der Kreuzung zu den jeweiligen Fahrspuren.
-
Zur Bestimmung der Ego-Trajektorie anhand der Odometrie-Trajektorie und der GPS-Trajektorie werden ein Versatzvektor t und ein Rotationswinkel α bestimmt, mittels denen die Odometrie-Trajektorie auf die GPS-Trajektorie abgebildet wird.
-
Dabei wird jeder Punkt i = 1, ..., M der GPS-Trajektorie mit dem zeitlich entsprechenden Punkt der Odometrie-Trajektorie gepaart und durch eine Minimierung der Fehlerfunktion
- -
mit
werden der Versatzvektor t und der Rotationswinkel α bestimmt, wobei
der i-te Punkt auf der Odometrietrajektorie ist,
der i-te Punkt auf der GPS-Trajektorie ist,
der Mittelwert der Odometrie-Trajektorie ist,
der Mittelwert der GPS-Trajektorie ist, und R(α) die 2D-Rotationsmatrix ist, die eine Rotation um den Winkel α bewirkt.
-
Die Odometrie, also die Odometrie-Trajektorie, wird im Ego-Fahrzeug sehr genau gemessen, jedoch ist deren globale Ausrichtung nicht bekannt. Mit anderen Worten, die Position und Ausrichtung der Odometrie-Trajektorie in Weltkoordinaten ist nicht bekannt. Auf der anderen Seite gibt GNSS (GNSS: Globales Navigationssatellitensystem), hier durch GPS repräsentiert aber nicht darauf beschränkt, die Position der GPS-Trajektorie in Weltkoordinaten an. Allerdings ist diese Angabe sehr ungenau, da Sprünge von fünf Meter nicht unüblich sind, was für eine spätere Zuordnung im Backend-Rechner zu ungenau ist.
-
Daher wird die Odometrie-Trajektorie an die GPS-Messpunkte ausgerichtet, so dass sich eine Ego-Trajektorie in Weltkoordinaten ergibt. Die globalen GPS-Punkte sind somit die Stützstellen, an welche die Odometrie-Trajektorie ausgerichtet wird, um die Stützstellen am besten anzunähern. Anschließend werden die detektierten Ampelobjekte, deren Positionen relativ zur Odometrie-Trajektorie sehr genau bekannt sind, auch entsprechend anhand der Ego-Trajektorie transformiert und man erhält eine relativ genaue Positionierung der Ampelobjekte in Weltkoordinaten, die für den Backend-Rechner verarbeitbar sind.
-
Vorzugsweise wird das Weltkoordinatensystem durch ein ENU-Koordinatensystem (ENU: East-North-UP) gebildet.
-
Weiter bevorzugt werden die Odometrie-Trajektorie und die GPS-Trajektorie jeweils aus gemessenen Zeit-Positionspaaren und der Geschwindigkeitsverlauf aus gemessenen Zeit-Geschwindigkeitspaaren gebildet.
-
Weiter bevorzugt beträgt der erste vorbestimmte Abstand des Erfassungsbereich maximal 100 m vor der Kreuzungsmitte und der zweite vorbestimmte Abstand des Erfassungsbereich beträgt maximal 40 m hinter der Kreuzungsmitte.
-
Weiter bevorzugt sind zur Zuordnung der Ampelobjekte zu den Fahrspuren mindestens 20 Überfahrten der Kreuzung im Backend-Rechner notwendig sind.
-
Vorzugsweise wird eine ankommende Kreuzungsüberfahrt mithilfe der prädiktiven Streckendaten erkannt und die Identifizierung der Kreuzung erfolgt über die von den prädiktiven Streckendaten ermittelte GPS-Position des Kreuzungsknoten.
-
Eine bevorzugte Ausführungsform der Erfindung wird nachfolgend anhand der Zeichnungen erläutert. Dabei zeigt
- 1 die Erfassung von Schwarmdaten und deren Verarbeitung zur Zuordnung von Ampeln zu Fahrstreifen,
- 2 den Ablauf der fahrzeugseitigen Datenerfassung und deren Verarbeitung,
- 3 die Egotrajektorie und Odometrietrajektorie des Fahrzeugs, und
- 4 die an die Odometrietrajektorie transformierte Egotrajektorie.
-
1 zeigt die dem Verfahren zugrundeliegende schematische Aufteilung der Datenerhebung und Verarbeitung zur Zuordnung von Ampeln zu Fahrspuren aus Schwarmdaten.
-
Fahrzeugseitig wird die Erfassung der Ampeln A im Fahrzeug F bei jeder Überfahrt der Kreuzung K gestartet. Dabei werden die notwendigen Signale, nämlich Bewegung des Egofahrzeugs EF, Ampeln A und Objekte (nicht dargestellt) im Umfeld des Ego-Fahrzeugs EF mittels einer Kamera (nicht dargestellt) aufgenommen und es wird eine erste Verarbeitung DE im Ego-Fahrzeug EF ausgeführt. Im Anschluss wird der aus der ersten Verarbeitung DE resultierende Datensatz mittels einer Übertragungsstrecke Ü, beispielsweise einer Mobilfunkverbindung, an den Server S übertragen.
-
Die einzelnen Schritte im Fahrzeug F sind:
- - Erkennung der Ampelsignale,
- - Tracking und Ego-Kompensation der erfassten Ampeln pro Überfahrt,
- - Filtern von ungültigen Ampelobjekten,
- - Erkennung relevanter „Ego-Events“ wie beispielsweise der Zeitpunkt zu dem das EgoFahrzeug die Kreuzung überfährt,
- - Übertragung der konsolidierten Daten an den Server, nämlich
- - Ampeldaten, nämlich Positionen und Phasenverläufe,
- - Fahrzeugdaten wie GPS-Position, Bewegungszustand des Fahrzeugs, und
- - Umfelddaten, wie vorrausfahrende Fahrzeuge inklusive deren Geschwindigkeit.
-
Der Server S bekommt die beschriebenen Daten von mehreren Fahrzeugen F und bearbeitet sie in der Datenverarbeitung und Zuordnung DV, also dem externen Backend-Rechner, folgendermaßen:
- - Abgleich und Clustering der gesammelten Ampeldaten um ein Ampelbild pro Kreuzung und Anfahrtrichtung zu erstellen,
- - Gruppierung der resultierenden Ampeln in Gruppen mit gemeinsamem Phasenverlauf,
- - Zuordnung der resultierenden Ampelgruppen zu Fahrspuren, und
- - Eintragung der Ergebnisse in eine Datenbasis T und/oder eine digitale Karte K.
-
Die Funktion der Zuordnung von Ampeln zu Fahrspuren aus Schwarmdaten muss mit Ampeln A auf unterschiedliche Ebenen arbeiten. Um Verwirrungen zu vermeiden werden im folgenden folgende Begriffe verwendet:
- Ampelobjekt: Ein vom Erfassungssystem, beispielsweise von einer entsprechenden Kamera geliefertes (getracktes) Ampelobjekt. Fehlerhafte Erfassung kann dazu führen, dass mehrere Ampelobjekte für dasselbe physikalische Ampelsignal während derselben Überfahrt erzeugt werden.
- Ampel: Diese stehen stellvertretend für eine physikalische Ampel A an einer gegebenen Kreuzung K und Anfahrtsrichtung und werden erzeugt indem mehrere Ampelobjekte geclustert werden.
- Ampelgruppe: Gruppe von Ampeln die das gleiche Phasenverhalten aufweisen und somit einer einzigen logischen Ampel entsprechen.
-
Voraussetzung für die Funktion der Zuordnung von Ampeln zu Fahrspuren ist eine relativ genaue Lokalisierung des Ego-Fahrzeugs in globalen Koordinaten, wobei im Folgenden eine Ad-hoc Lokalisierung beschrieben wird, nämlich basierend auf einem nachträglichen Matching von Odometrie-Daten, GPS-Daten und Ampeldaten.
-
2 beschreibt die Vorverarbeitung der vom Fahrzeug F während einer Ampelüberfahrt ermittelten Daten in der Datenerfassung und Vorverarbeitung DE in Form eines Ablaufdiagramms, wobei die Fahrzeugfunktion Überfahrtgebunden abläuft. Mit anderen Worten, jeder Zyklus der Funktion entspricht einer Kreuzungsüberfahrt. Anfang und Ende des „Überfahrtsvorgangs“ einer Kreuzung werden über prädiktive Streckendaten, kurz PSD, ermittelt. Anschließend werden die zusammengefassten Daten an den externen Server S, auch als Backend-Rechner bezeichnet, übertragen.
-
Im ersten Schritt S1 erfolgt die Erfassung der Daten. Eine ankommende Kreuzungsüberfahrt wird mithilfe der prädiktiven Streckendaten PSD, die vom Navigations-Steuergerät über den CAN-Bus des Fahrzeugs zur Verfügung gestellt werden, erkannt. PSD liefert die aktuelle Distanz des Ego-Fahrzeugs EF zum nächstliegenden „Knoten“ sowie die Anzahl der „Segmente“, also Straßen, die aus jedem Knoten herausgehen. Knoten mit mehr als zwei herausgehenden Segmenten entsprechen Kreuzungen K. Die genaue Identifizierung der Kreuzung erfolgt über die von PSD ermittelte GPS-Position des Kreuzungsknoten.
-
Dabei werden die folgenden Daten für jede Kreuzungsüberfahrt erfasst:
- i) Identifikation der Kreuzung anhand der GPS-Position,
- ii) Ampelobjektdaten:
- Die Ampelobjektdaten werden im Allgemeinen vom Kamerasystem zur Verfügung gestellt und entsprechen über die Zeit getrackten Ampelobjekten. Dabei werden für jedes Ampelobjekt n = 1, ..., N von dem Kamerasystem folgende Daten geliefert:
- a) Identifikation,
- b) Positionsverlauf des Fahrzeugs als Zeit-Positionspaare
mit k = 1, ..., Kn und die Positionskomponente p in 3D, und
- c) Phasenverlauf der Ampel mit den Phasen „rot“, „gelb“, „grün“, „rot+gelb“ und „unbekannt“ als Zeit-Phasenwertpaare
mit k = 1, ...,Kn .
- iii) Fahrzeugobjektdaten:
- Andere Verkehrsteilnehmer werden ebenfalls vom Kamerasystem erfasst und als getrackte Objekte m = 1, ..., M mit den folgenden Daten weitergegeben:
- i) Fahrzeugidentifikation,
- ii) Positionsverlauf des getrackten Objekts m relativ zum Egofahrzeug als Zeit-Positionspaare
und die Positionskomponente q in 2D mit j = 1, ... Jm, und
- iii) Geschwindigkeitsverlauf des getrackten Objekts relativ zum Egofahrzeug als Zeit-Geschwindigkeitspaar
mit j = 1, ... Jm.
- iv) OdometrieTrajektorie und Geschwindigkeitsverlauf aus der Odometrie des Egofahrzeugs:
- Die Quelldaten für die Odometrie sind üblicherweise auf den CAN-Bus als Wegimpulse der einzelnen Räder vorhanden. Diese Quelldaten werden in üblicher Weise bearbeitet, um einerseits die Odometrie-Trajektorie zu ermitteln und andererseits daraus folgend die Dauer des Überfahrtvorgangs zu bestimmen:
- i) Odometrie-Trajektorie des Egofahrzeugs in 2D als Zeit-Positionspaare
für i = 1, ...,1, und
- ii) Geschwindigkeitsverlauf des Egofahrzeugs in Ego-Fahrtrichtung als Zeit-Geschwindigkeitspaare
in 1D
- v) GPS-Trajektorie des Egofahrzeugs aus GPS:
- Es werden ferner die GPS-Daten aus der prädiktiven Streckenführung PSD herangezogen, welche den Vorteil haben, dass sie straßenkorrigiert sind. Diese vom PSD gelieferten Daten werden in ein ENU-Koordinatensystem (ENU: East-North-Up) überführt und in eine 2D-Trajektorie zusammengeführt als Zeit-Positionspaare
für i = 1, ...,1.
-
Die Ego-Fahrspur wird dabei vom Algorithmus selbst erkannt, wie aus dem Folgenden hervorgeht. Pro Überfahrt werden die obigen Daten über eine Strecke von 80m vor Kreuzungsmitte bis 30m danach erfasst, was aus der Odometrie abgeleitet wird. Unter Umständen kann die Strecke mehrere PSD-Segmente umschließen. Dies ist erlaubt, solange die Winkel zwischen den Segmenten 35° nicht überschreiten, wobei die Winkelinformation ebenfalls im PSD-Datensatz enthalten ist. Ist das nicht der Fall, so kann die aufgenommene Strecke eventuell kürzer sein. Falls die Strecke vor der Kreuzungsmitte aber kürzer als 40m beträgt, werden die Daten für die aktuelle Überfahrt verworfen und nicht weiterverarbeitet.
-
Erst nach Abschluss des Überfahrtvorgangs der Kreuzung stehen alle oben genannten Daten zur Verfügung. So ist beispielsweise die Abbiegerichtung vor der eigentlichen Überfahrt der Kreuzung unbekannt, daher kann der nächste Schritt erst nach Abschluss des Vorganges der Überfahrt erfolgen. Da es sich hier um keine Online-Funktion handelt stellt dies aber kein Problem dar.
-
Im Schritt S2 erfolgt eine Berechnung der Ego-Trajektorie des Egofahrzeugs aus den oben genannten Daten, was unter Bezugnahme auf die 3 und 4 näher erläutert wird.
-
Im nachfolgenden Schritt S3 wird dann, basierend auf der im Schritt S2 ermittelten EgoTrajektorie des Egofahrzeugs die absoluten Ampeltrajektorien ermittelt. Aus den absoluten Ampeltrajektorien wird im Schritt S4 die absoluten Ampelpositionen ermittelt und im nachfolgenden Schritt S5 erfolgt eine Komprimierung der Phaseninformation. Normalerweise müsste der komplette Phasenverlauf entlang der Ampeltrajektorie übertragen werden. Um die Datenmenge möglichst gering zu halten, wird auf die Zeitpunkte abgestellt, zu denen Phasenwechsel stattfinden. Mit anderen Worten, zur Reduzierung der an den externen Server zu übertragenden Datenmenge werden Zeitintervallen Phasenwerte zugeordnet und die Zeitpunkte der Phasenwechsel sowie der zugehörige Phasenwechsel übertragen.
-
Mit jeder Kreuzungsüberfahrt sind sogenannte „Events“ verbunden. Das sind Zeitpunkte auf der Ego-Trajektorie, die besonders geeignet sind, um Schlüsse zur richtigen Ampelzuordnung zu ziehen. Dabei findet die eigentliche Auswertung der Events auf dem Server statt, allerdings werden die notwendigen Informationen bereits im Egofahrzeug gesammelt. Es werden zwei Arten von Events berücksichtigt, nämlich einerseits das Überfahrtsevent, was dem Punkt der Überfahrt der Haltelinie vor der Kreuzung entspricht, und andererseits das Stillstandevent, was bedeutet, dass das Egofahrzeug steht. Dabei werden nur Stillstandevents vor dem Überfahrtsevent berücksichtigt.
-
Damit sind alle Informationen für den Server vollständig und es erfolgt im Schritt S7 die Übertragung der Daten und Informationen aus dem Ego-Fahrzeug heraus an den externen Server.
-
3 zeigt die beiden Trajektorien TRODO und TRGPS des Egofahrzeugs EF, die in dem Fahrzeug EF vorliegen, wobei die Odometrie-Trajektorie TRODO die Bewegung des Egofahrzeugs EF in Fahrzeugkoordinaten wiedergibt, während die Trajektorie TRGPS die Trajektorie des Egofahrzeugs EF in GPS-Koordinaten darstellt, welche dem PDS entnommen wird, wie dies in Zusammenhang mit 2 beschrieben wird.
-
Das Kamerasystem des Egofahrzeugs EF liefert die Ampelobjekte zwangsweise in Fahrzeugkoordinaten entsprechend den Koordinaten der Trajektorie TRODO . Um daher Ampelobjekte von einer Kreuzungsüberfahrt eines Egofahrzeugs EF zur nächsten Kreuzungsüberfahrt des gleichen oder eines anderen Egofahrzeugs EF vergleichen zu können, ist es notwendig diese zunächst auf ein globales Koordinatensystem zu überführen, in welchem die aus PDS abgeleitete Trajektorie TRGPS des Egofahrzeugs EF definiert ist. Im Beispiel der 3 und 4 wird dazu ein „semiglobales“ ENU-Koordinatensystem (East-North-Up) verwendet, das für einen Bereich von mehreren Hunderten Metern um einen gegebenen Referenzpunkt gültig ist. Dieses semiglobale Koordinatensystem ermöglicht es Distanzen in Metern zu berechnen ohne auf eine globale Referenz verzichten zu müssen.
-
Um die Ampelobjekte für verschiedenen Überfahrten vergleichbar zu machen, muss aus der Odometrie-Trajektorie TRODO und der GPS-Trajektorie TRGPS der 3 eine Ego-Trajektorie TREGO abgeleitet werden, nachdem der Überfahrtvorgang abgeschlossen ist und beide Trajektorien, nämlich die Odometrie-Trajektorie TRODO und die GPS-Trajektorie TRGPS , vollständig vorliegen.
-
4 zeigt die sich aus den beiden gemessenen Trajektorien
TRODO und
TRGPS ergebende Ego-Trajektorie
TREGO . Um zur Ego-Trajektorie
TREGO zu gelangen, wird die OdometrieTrajektorie
TRODO so rotiert und verschoben, dass die Summe der Abstände der einzelnen Trajektorienpunkte der Odometrie-Trajektorie
TRODO zu den entsprechenden Punkten auf der GPS-Trajektorie
TRGPS minimiert werden. Mit anderen Worten, die beiden Trajektorien
TRODO und
TRGPS werden nach Möglichkeit „übereinander gelagert“. Jeder Punkt auf der GPS-Trajektorie
TRGPS wird mit dem zeitlich entsprechenden Punkt auf der Odometrie-Trajektorie
TRODO gepaart, wobei gegebenenfalls interpoliert werden muss. Darauf basierend wird der 2D-Versatzvektor t und der Rotationswinkel α gesucht, um die folgende Fehlerfunktion J(t; α) minimieren:
mit
wobei gilt:
- ist der i-te Punkt auf der Odometrietrajektorie TRODO ,
- ist der i-te Punkt auf der GPS-Trajektorie TRGPS ,
- ist der Mittelwert der Odometrie-Trajektorie TRODO ,
- ist der Mittelwert der GPS-Trajektorie TRGPS , und
- R(α) ist die 2D-Rotationsmatrix, die eine Rotation um den Winkel α bewirkt.
-
Der sich ergebende Versatz t und der resultierende Rotationswinkel α werden verwendet, um die Punkte auf der in 4 dargestellten finalen Ego-Trajektorie TREGO wie folgt zu berechnen:
-
-
Dabei werden alle / verfügbaren Punkte auf der Odometrie-Trajektorie TRODO berücksichtigt werden und nicht nur diejenigen, die zeitlich mit Punkten auf der GPS-Trajektorie TRGPS gepaart werden können.
-
Die Kamera des Ego-Fahrzeugs EF liefert Ampelobjekttrajektorien über die Zeit in Koordinaten relativ zum Ego-Fahrzeug EF. Anhand der im vorherigen ermittelten Ego-Trajektorie TREGO sowie dem Versatz t und resultierenden Rotationswinkel α ist es möglich diese Ampelobjekttrajektorien auf das globale Koordinatensystem umzurechnen. Dabei werden Ampelobjekte, die keine zeitliche Überlappung mit der Ego-Trajektorie TREGO aufweisen verworfen.
-
Da die Gruppierung der Ampeln A nach Phasenverlauf auf dem Server S erfolgt, ist es im Prinzip notwendig, dass der komplette Phasenverlauf übertragen wird. Um die hochgeladene Datenmenge möglichst gering zu halten wird der Verlauf pro Ampelobjekt A üblicherweise wie folgt verringert:
- - Initialzeitpunkt zu dem das Ampelobjekt mit einem gültigen Phasenwert gesehen wurde, plus der entsprechender Phasenwert,
- - Zeitpunkte zu denen Phasenwechseln stattfinden (auch auf ungültige Werte) und die entsprechende „neue“ Phasenwerte, und
- - letzter Zeitpunkt zu dem das Ampelobjekt gesehen wird.
-
Mit jeder Überfahrt über eine Kreuzung sind sogenannte „Ego-Events“ verbunden. Das sind Zeitpunkte auf der Ego-Trajektorie TREGO , die besonders dafür geeignet sind, um Schlüsse zur richtigen Ampelzuordnung zu ziehen. Die eigentliche Auswertung dieser Events findet in einem späteren Schritt im Backend-Server statt S, aber die notwendigen Informationen werden schon an dieser Stelle im Ego-Fahrzeug EF gesammelt.
-
Es werden 2 Arten von Events berücksichtigt:
- - ein Überfahrtsevent entspricht dem Zeitpunkt an dem das Ego-Fahrzeug über die Haltelinie fährt. Berechnet wird das Überfahrtsevent als der erste Zeitpunkt, an dem die Haltelinie überschritten ist und die Geschwindigkeit des Ego-Fahrzeugs EF 3km/h überschreitet. Pro Überfahrt wird ein Überfahrtsevent gespeichert.
- - ein Stillstandevent ist der Zeitpunkt, an dem das Ego-Fahrzeug einen Stillsand erreicht, mit anderen Worten, wenn seine Geschwindigkeit 1km/h unterschreitet. Es wird nur der Zeitpunkt berücksichtigt zu dem ein Stillstand initial erreicht wird. Ferner werden nur Stillstandevents berücksichtigt, die die zeitlich vor dem Überfahrtsevent stattfinden, wobei maximal zwei Stillstandevents berücksichtigt werden.
-
Zur Ampelzuordnung aus Schwarmdaten werden die von den einzelnen Ego-Fahrzeugen EF ermittelten und oben beschriebenen Daten an den Backend-Rechner S übermittelt, der die Daten aus den unterschiedlichen Ego-Fahrzeugen und Kreuzungsüberfahrten auswertet und sie nach Kreuzungs-ID und Anfahrtsrichtung in eine Tabelle zuordnet.
-
Dabei hat der Server S zwei Hauptaufgaben:
- - Die Ampelpositionen der aus mehreren Überfahrten gelieferten Ampelobjekte zu „matchen“ und zu „clustern“, um daraus Ampeln und Ampelgruppen abzuleiten. Dieser Schritt erfolgt dann, wenn Daten aus einer vorgegebenen Anzahl von Überfahrten unabhängig von der gefahrenen Spur vorliegen, beispielsweise mindestens zwanzig Überfahrten, und sollte in regelmäßigen Abständen mit frischen Daten wiederholt werden, und
- - die Zuordnung von Fahrspuren zu Ampelgruppen mittels eines Online-Verfahren, welches durchgeführt werden kann, sobald die Ampelpositionen/Ampelobjekte feststehen. Mit jedem neuen Satz Daten aus einzelnen Überfahrten kann diese Zuordnung nachkorrigiert werden.
-
Bezugszeichenliste
-
- F
- Fahrzeug
- EF
- Egofahrzeug
- K
- Kreuzung
- A
- Ampeln
- DE
- Datenerfassung und Vorverarbeitung
- Ü
- Übertragung (drahtlos)
- S
- Server
- DV
- Datenverarbeitung und Zuordnung
- T
- Tabelle
- K
- Karte
- S1
- Datenerfassung im Fahrzeug
- S2
- Berechnung der Egotrajektorie
- S3
- Berechnung absoluter Ampeltrajektorien
- S4
- Berechnung absoluter Ampelpositionen
- S5
- Komprimierung der Ampelphaseninformation
- S6
- Bestimmung der Events
- S7
- Übertragung an den Server
- TRODO
- Odometrietrajektorie
- TRGPS
- GPS-Trajektorie
- TREGO
- Ego-Trajektorie
- rodo
1
- Punkt 1 der Odometrietrajektorie
- rodo
2
- Punkt 2 der Odometrietrajektorie
- rodo
M
- Punkt M der Odometrietrajektorie
- rtraj
1
- Punkt 1 der GPS-Trajektorie
- rtraj
2
- Punkt 2 der GPS-Trajektorie
- rtraj
M
- Punkt M der GPS-Trajektorie
- e2
- Punkt 2 der Odometrietrajektorie zu Punkt 2 der GPS-Trajektorie