-
HINTERGRUND
-
Die Anmeldung betrifft autonome und/oder automatisierte Fahrzeuge oder selbstbewegliche Systeme. Die US-Patentanmeldungsveröffentlichung Nummer 2011/0282581, eingereicht am 12. Mai 2012, diskutiert ein Verfahren und ein System zur Feststellung und Verfolgung von Objekten nahe einem Fahrzeug, das einen Laserentfernungsmesser verwendet und wird hier durch Bezugnahme in vollem Umfange einbezogen.
-
KURZFASSUNG ERLÄUTERNDER AUSFÜHRUNGSBEISPIELE
-
Bei einem zweidimensionalen (2D) Trackingsystem sind Zielobjekte frei, jeden Punkt in einem 2D-Raum zu besetzen, und deshalb kann die Bewegung von einem Aktualisierungszyklus zum nächsten beliebig und schwierig zu gestalten sein. Das kann ein Trackingsystem instabil und schwer abstimmbar machen.
-
Gemäß einem Aspekt dieser Offenbarung kann ein Trackingsystem auf einen Graph bzw. ein Diagramm eines Fahrbahnnetzes (hier einfach als Diagramm bzw. Graph bezeichnet) beschränkt werden, das eine vordefinierte Karte ist, in deren Bereich sich ein zu verfolgendes Objekt bewegen kann. Das kann die Bewegung von Straßen-Motorfahrzeugen und die Bewegung anderer, im allgemeinen an ein Wege bzw. Straßennetzwerk gebundener Fahrzeuge einschließen. Weil zur Verfolgung von Zielobjekten längs des Diagramms nur eine Dimension (1D) benutzt wird, kann der Zustandsraum für Filter klein und leicht abzustimmen sein, was sehr wirkungsvolle Anwendungen ermöglichen kann.
-
Bei einigen Aspekten werden Daten von verschiedenen Sensoren asynchron empfangen und die empfangenen Daten können zusammen korrekt in ein Trackingsystem integriert werden. Charakteristika verschiedener Sensoren können eingesetzt werden, um korrekt Stördaten bzw. verrauschte Daten aus dem Trackingsystem auszufiltern.
-
Ein Fahrzeugsystem kann einen ersten Sensor und einen zweiten Sensor einschließen, deren jeder entsprechende, unterschiedliche erste und zweite Modalitäten besitzt. Ein Steuergerät kann einen Prozessor einschließen, der gestaltet ist, um: ein erstes Sensoreingangssignal vom ersten Sensor und ein zweites Sensoreingangssignal vom zweiten Sensor zu empfangen; synchron erste und zweite Beobachtungen vom ersten bzw. zweiten Sensoreingangssignal zu ermitteln; die ermittelten ersten und zweiten Beobachtungen auf ein Diagramm- bzw. Graphen- bzw. graphisches Netzwerk zu projizieren, die ersten und zweiten Beobachtungen einem Zielobjekt auf dem Diagramm- bzw. Graphen-Netzwerk zuzuordnen, wobei das Zielobjekt eine Bewegungsbahn auf dem Graphen-Netzwerk besitzt; auf der Basis von Charakteristika des ersten und des zweiten Sensors entweder die erste oder die zweite Beobachtung als die beste Beobachtung auszuwählen; und durch Ausführung einer Vorhersage auf der Basis der besten Beobachtung und eines aktuellen Zeitstempels eine aktuelle Position des Zielobjekts abzuschätzen.
-
Die erste und die zweite Beobachtung können dem Zielobjekt dadurch zugeordnet werden, daß ein neues Zielobjekt auf dem Graphen-Netzwerk erzeugt wird, wenn die erste und die zweite Beobachtung nicht innerhalb eines vorgegebenen Abstands von einem aktuell verfolgten Zielobjekt liegen.
-
Der Prozessor kann weiter so gestaltet sein, daß er: das Diagramm- bzw. Graphen-Netzwerk von einer Straßenkarte und einer akquirierten Position ausgehend derart erzeugt, daß das Graphen-Netzwerk eindimensionale Fahrspuren als Verbindungsglieder zwischen Knoten einschließt, wobei die Bewegungsbahn des Zielobjekts auf einer der eindimensionalen Fahrspuren basiert ist.
-
Der erste Sensor kann ein Lidarsensor und der zweite Sensor ein Radarsensor sein.
-
Die aktuelle Position des Zielobjekts kann durch Ausführung eines Kalman-Filter-Vorhersageverfahrens abgeschätzt werden.
-
Die Charakteristika des ersten und des zweiten Sensors können eine Zeitverzögerung zur Verarbeitung der Sensordaten und Präzision bei der Ermittlung gültiger Hindernisse durch Verarbeitung der Sensordaten aufweisen.
-
Das Zielobjekt (z. B. ein Fahrzeug) kann durch aktuelle Positionsupdates während aufeinanderfolgender Beobachtungen durch die ersten und zweiten Sensoren verfolgt werden. Das Zielobjekt kann aus der Verfolgung herausgenommen werden, wenn während einer definierten Zeitspanne keine Beobachtung des Zielobjekts erfolgt.
-
Die ermittelten ersten und zweiten Beobachtungen können auf das Graphen-Netzwerk dadurch projiziert werden, daß entsprechende Koordinatensysteme des ersten und des zweiten Sensoreingangssignals in ein gemeinsames Koordinatensystem des Fahrzeugs, wie UTM, übertragen werden.
-
Das Steuergerät kann eine Liste von Zielobjekten in einer Zielobjekteliste in einem Speicher des Steuergeräts speichern und die Zielobjekteliste kann abgefragt werden, um die Beobachtungen den Zielobjekten hinzuzufügen.
-
Die synchrone Ermittlung von Beobachtungen kann auf Punkte auf oder innerhalb einer Fehlerbegrenzung einer Fahrspur des Graphen-Netzwerks beschränkt sein. In ähnlicher Weise kann das Tracking von Zielobjekten auf Punkte auf oder innerhalb einer Fehlerbegrenzung einer Fahrspur des Graphen-Netzwerks beschränkt sein.
-
Die ermittelten ersten und zweiten Beobachtungen können durch Korrigieren der ermittelten ersten und zweiten Beobachtungen zum Reflektieren eines aktuellen Zeitstempels auf das Graphen-Netzwerk projiziert werden. Das kann die Einstellung einer Position der ermittelten ersten und zweiten Beobachtungen auf dem Graphen-Netzwerk einschließen, um zur Zeitverzögerung zwischen der Akquirierung der entsprechenden Sensordaten und der Projizierung der resultierenden Beobachtungen auf das Graphen-Netzwerk beizutragen. Ein Betrag der Einstellung kann durch Nutzung einer kalibrierten (vordefinierten) Zeitverzögerung und einer Geschwindigkeit des der ersten und der zweiten Beobachtung zugeordneten Zielobjekts bestimmt werden.
-
Die vorstehende allgemeine Beschreibung der erläuternden Ausführungsformen und deren folgende detaillierte Beschreibung sind nur beispielhafte Aspekte der Lehren dieser Offenbarung und keinesfalls beschränkend.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Eine vollständigere Würdigung dieser Offenbarung und der mit ihr verbundenen Vorteile wird leicht vermittelt, wenn diese besser durch Bezugnahme auf die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden wird, in denen:
-
1 schematisch ein Verarbeitungssystem für eine Überwachungseinrichtung und/oder ein Computersystem darstellt;
-
2 einen Algorithmus darstellt;
-
3 ein Diagramm- bzw. Graphenerzeugungsverfahren für den Algorithmus darstellt;
-
4 ein Hindernis-Ermittlungsverfahren des Algorithmus darstellt;
-
5 ein Hindernis-Projektionsverfahren des Algorithmus darstellt;
-
6 ein Datenzuordnungsverfahren des Algorithmus darstellt:
-
7–9 graphische Darstellungen eines Trackingsystems sind, das in Betrieb befindlich ist, um verschiedene Zielobjekte mit verschiedenen Sensoren zu verfolgen;
-
10 eine beispielsweise Kurve darstellt;
-
11 ein beispielhaftes autonomes/Testfahrzeug darstellt;
-
12 eine beispielhafte Punktwolkensegmentierung darstellt;
-
13 schematisch eine Transformation zwischen Koordinatensystemen darstellt; und die
-
14–16 graphische Darstellungen eines Trackingsystems sind, das das Tracking verschiedener Zielobjekte mit verschiedenen Sensoren in verschiedenen Umgebungen durchführt.
-
DETAILLIERTE BESCHREIBUNG
-
In den Zeichnungen bezeichnen gleiche Bezugszahlen identische oder einander entsprechende Teile in den verschiedenen Ansichten.
-
Die 1 zeigt ein beispielhaftes Verarbeitungssystem 100 und stellt exemplarische Hardware dar, die bei einer Überwachungseinrichtung und/oder einem Computersystem gefunden wurden, um die in dieser Offenbarung beschriebenen Verfahren, Algorithmen und/oder Methoden einzurichten und/oder auszuführen. Das System 100 kann einbezogen oder angewandt werden als elektronische Steuereinheit (ECU) oder ein in ein Fahrzeug eingebauter eigenständiger Computer.
-
Wie in 1 gezeigt, kann ein Verarbeitungssystem 100 gemäß dieser Offenbarung durch Verwendung eines Mikrocomputers oder seines Äquivalents, wie eine Zentraleinheit (CPU) und/oder ein (nicht gezeigter) anwendungsspezifischer Prozessor (ASP), angewandt werden. Der Mikroprozessor benützt ein computerlesbares Speichermedium, wie ein Speicher (z. B. ein ROM, EPROM, EEPROM, Flash-Speicher, statischer Speicher, DRAM, SDRAM und andere Äquivalente). Die zur Steuerung des Mikroprozessors gestaltet sind, um die Verarbeitungen und Systeme dieser Offenbarung auszuführen und/oder zu steuern. Andere Speichermedien können durch eine Steuereinrichtung, wie eine Plattensteuerung, die einen Festplattenantrieb oder den Antrieb eines optischen Bildplattenlaufwerks steuern kann, gesteuert werden.
-
Bei einer alternativen Ausführungsform können der Mikroprozessor oder seine Aspekte eine logische Vorrichtung zur Erweiterung oder vollen Anwendung dieser Offenbarung einschließen oder ausschließlich einschließen. Eine solche logische Vorrichtung schließt eine anwendungsspezifische integrierte Schaltung (ASIC), ein am Einsatzort programmierbares Gate Array (FPGA), ein generisches logisches Array (GAL) und ihre Äquivalente ein, ist jedoch nicht darauf beschränkt. Der Mikrocomputer kann eine getrennte Vorrichtung sein oder ein einzelner Verarbeitungsmechanismus. Außerdem kann die Offenbarung einen Vorteil aus den Fähigkeiten einer Mehrkern-CPU zur Parallelverarbeitung gewinnen.
-
Nach einem anderen Aspekt können Ergebnisse der Verarbeitung gemäß dieser Offenbarung über eine Displaysteuerung auf einem Monitor angezeigt werden. Die Displaysteuerung würde dann vorzugsweise wenigstens eine graphische Verarbeitungseinheit für eine verbesserte Berechnungsleistung enthalten. Zusätzlich ist eine I/O-(Eingabe/Ausgabe)-Schnittstelle vorgesehen zur Eingabe von Sensordaten von Sensoren 1, 2 ... N und zur Ausgabe von Steuersignalen zu einem oder mehreren betätigbaren Aktuatoren, einschließlich Lenkung, Bremse und Drosselsteuerungen/Aktuatoren eines Fahrzeugs. Ein allgemeines Positionierungssystem (z. B. GPS) kann vorgesehen und mit der I/O-Schnittstelle verbunden sein, um Informationen über den Fahrzeugort zu erhalten.
-
Was des weiteren andere Eingabevorrichtungen betrifft, so können diese als ein Peripheriegerät mit der I/O-Schnittstelle verbunden sein. Beispielsweise kann eine Tastatur oder ein Zeigegerät (nicht gezeigt) zur Steuerung von Parametern der verschiedenen Verarbeitungen und Algorithmen dieser Offenbarung mit der I/O-Schnittstelle verbunden sein, um zusätzliche Optionen hinsichtlich Funktionsweise und Gestaltung vorzusehen oder Displaycharakteristika anzuzeigen. Außerdem kann der Monitor mit einer berührungssensitiven Schnittstelle bis zu einer Befehls-/Instruktionsschnittstelle versehen sein.
-
Die oben vermerkten Komponenten können, wie in 1 gezeigt, mit einem Netzwerk, wie dem Internet oder einem lokalen Intraet zur Übertragung oder dem Empfang von Daten, einschließlich steuerbarer Parameter, gekoppelt werden. Das Netzwerk kann auch ein lokales Netzwerk eines Fahrzeugs (VLAN) sein, in dem Eingangs-/Ausgangsdaten (z. B. Sensor-, Aktuatordaten,/-befehle und GPS-Informationen) über das VLAN übertragen werden. Ein zentraler BUS ist vorgesehen, um die obigen Hardware-Komponenten miteinander zu verbinden, und sieht wenigstens einen Pfad für digitale Kommunikation zwischen ihnen vor.
-
Ein durch das in 1 gezeigte System gezeigter beispielhafter Algorithmus 200 ist in 2 dargestellt. Der Algorithmus 200 schließt ein Verfahren 300 zur Erzeugung eines Diagramm- bzw. Graphen- bzw. graphischen Netzwerks, ein Verfahren 400 zur Feststellung von Hindernissen, ein Verfahren 500 zur Projizierung der Hindernisse auf das Graphen-Netzwerk und die Ausführung der Datenzuordnung und des Trackings bei 600 ein. Weitere beispielhafte Details des Algorithmus 200 sind unten unter Bezugnahme auf die 3–9 beschrieben.
-
Die 3 zeigt weitere Details des Verfahrens 300. Bei der Erzeugung eines Diagramm- bzw. Graphen- bzw. graphischen Netzwerks wird beim Schritt S302 eine Karte des Straßennetzes (d. h. eines Bereichs, in dem sich das Fahrzeug befindet) beschafft oder adressiert. Die Karte des Straßennetzes kann in das System 100 als Teil eines Navigationssystems vorinstalliert werden oder es kann ein Zugriff durch das System 100 erfolgen. Ein solcher Zugriff kann durch eine Netzwerkverbindung zu einem Navigationssystem oder einer anderen, lokalen oder entfernten Kartendatenbank (z. B. durch Downloaden einer lokalen Karte von einem entfernten Server über eine Netzwerkverbindung erfolgen). Das Netzdiagramm wird unter Verwendung dieser lokalen Karte erzeugt. Dieses Graphen-Netz besteht aus Knoten, die Positionen in einem globalen Koordinatensystem (z. B. UTM) sind, und Bindegliedern, die die Verbindungsfähigkeit dieser Knoten definieren. Die Knoten werden bei S304 erzeugt und die Bindeglieder bei S306. Die Erzeugung der Knoten und Bindeglieder kann synchron oder asynchron erfolgen. Das Tracking von Hindernissen (wie andere Fahrzeuge) wird längs des Graphen-Netzes ausgeführt.
-
Das Verfahren 400 wird mit weiteren Details durch die 4 erläutert, die Anwendungen mit mehreren Sensoren zur Fahrzeugerkennung darstellt. Insbesondere werden Fahrzeuge durch unabhängige Verwendung mehrerer Sensoren entdeckt. Bei dem durch das Verfahren 400 in 4 gezeigten Beispiel sind zwei Sensoren, Sensor 1 und Sensor 2, vorhanden. Jedoch kann dies durch den Einschluß weiterer Sensoren erweitert werden. Außerdem werden, wenn einer oder mehrere der Sensoren ein Lidar (Lichterkennung und Entfernungsmessung) ist bzw. sind, Verfahren zur Punktwolkensegmentierung benutzt, um Fahrzeuge von anderen Hindernissen zu unterscheiden. Die Objektermittlung und -erkennung kann Aspekte von Umriß- und Formermittlung und -erkennung einschließen und auch andere bekannte Aspekte der Objektsegmentation und -erkennung einschließen. Wenn einer oder mehrere der Sensoren eine Kamera ist bzw. sind, können Techniken zur visuellen Verarbeitung angewandt werden, um Fahrzeuge zu erkennen. Diese Techniken können Objekterkennung einschließlich Form- und Umrißermittlung einschließen. Sowohl Lidar als auch Kameraerkennungsverfahren können auf der Basis von eingeübten und/oder vordefinierten Datenbibliotheken mit bekannten und erkennbaren Formen und Umrissen von Hindernissen (z. B. Fahrzeuge, Radfahrer, etc.) durchgeführt werden. Radarsensoren können festgestellte Hindernisse zusammen mit deren Geschwindigkeit anzeigen.
-
Beim Verfahren 400 können bei S402 Hindernisse vom Sensor 1 entdeckt werden und die Geschwindigkeit der Hindernisse kann bei S404 ermittelt werden. Synchron können Hindernisse durch den Sensor 3 bei S406 entdeckt werden und die Geschwindigkeit der Hindernisse kann bei S408 erkannt/festgestellt werden. Das heißt, Hindernisse (z. B. Fahrzeuge, Radfahrer) können synchron von den Sensoren 1 und 2 (wie auch weiteren Sensoren) entdeckt werden. Die Geschwindigkeit eines Hindernisses kann beispielsweise, wie oben diskutiert, durch Radar festgestellt werden. Die Geschwindigkeit kann auch durch aufeinanderfolgende Messungen zur Positionsfeststellung und die Berechnung der Geschwindigkeit und/oder der darauf basierenden Bewegungsrichtung extrapoliert werden.
-
Die Projizierung der Hindernisse auf das Diagramm- bzw. Graphen- bzw. graphische Netz wird unter Bezugnahme auf das in 5 dargestellte Verfahren 500 erläutert. Bei S502 werden von jedem Sensor festgestellte Hindernisse in ein gemeinsames//gleiches Koordinatensystem übertragen. Insbesondere kann zur Übertragung der Daten von verschiedenen Sensoren zum Koordinatensystem des Fahrzeugs eine Kalibrierung durchgeführt werden. Diese übertragenen Hindernisse werden dann bei S504, beispielsweise durch Anwendung einer Nächster-Nachbar-Technik auf das Graphen-Netzwerk übertragen. Die Position des Fahrzeugs wird durch Anwendung von GPS + Inertialsystemen, einschließlich eines GPS-Empfängers, Beschleunigungsmessern und Gyroskopen bestimmt. Andere Vorrichtungen zum Positionstracking eines Fahrzeugs können entweder zusätzlich oder ergänzend zu GPS oder anderen satellitenbasierten Navigationssystemen benutzt werden.
-
Die 6 stellt das Verfahren 600 dar, um die Datenzuordnung und das Tracking zu beschreiben. Jedes Hindernis kann mehrfache Beobachtungen von unterschiedlichen Sensoren aufweisen, und diese mehrfachen Beobachtungen werden fusioniert. Außerdem wird, weil die Sensoren synchron arbeiten, eine Nächster-Nachbar-Annäherung nicht angewandt. Um eine korrekte zeitliche Zuordnung vorzunehmen, wird jede Beobachtung für den aktuellen Zeitstempel projiziert und längs des Graphen-Netzes korrigiert. Diese korrigierten Beobachtungen werden dann unter Anwendung der in einem Speicher des Systems 100 gespeicherten Nächster-Nachbar-Zuordnung einer aktuellen Liste von Zielobjekten zugeordnet. Mehrfache Beobachtungen werden der Beobachtungsliste für jedes Zielobjekt zugeordnet, und jedes Zielobjekt besitzt eine ihm zugeordnete wahrscheinlichkeitstheoretische Nachführeinrichtung (tracker), wie einen Kalman-Filter.
-
Das Verfahren 600 kann bei 602 eine Initialisierungsphase aufweisen. Bei der Initialisierung wird ein neues Zielobjekt geschaffen, wenn kein Zielobjekt für eine gültige Beobachtung zugeordnet ist. Sein Kalman-Filters wird für eine korrekte Beobachtung initialisiert. Ein Zustand des Kalman-Filters ist eine Bewegungsstrecke längs des Fahrwegs, die Geschwindigkeit und die Beschleunigung des Hindernisses. Falls die Beobachtung von Sensoren kommt, die die Geschwindigkeit nicht aufzeichnen, wird die Geschwindigkeit bei einem ersten Paar von Iterationen geschätzt.
-
Bei S604 wird eine Aktualisierungsphase durchgeführt, bei welcher eine beste Beobachtung aus einer Beobachtungsliste für jedes Zielobjekt ausgewählt wird. Diese beste Beobachtung wird dann benutzt, um den Kalman-Filter zu aktualisieren. Die beste Beobachtung kann bestimmt werden durch Korrelation einer Beobachtung mit einer erwarteten Position eines Zielobjekts, auf der Basis der Geschwindigkeit und des Graphen-Netzes. Das heißt, es kann erwartet werden, daß Zielobjekte direkt auf dem Graphen-Netzwerk existieren und sich basierend auf der festgestellten Geschwindigkeit über eine geschätzte Strecke längs des Graphen-Netzwerks bewegt haben. Die beste Beobachtung kann auch auf der Zeitverzögerung (Verzögerung bei der Verarbeitung der Sensordaten bei der Feststellung eines Objekts) basieren und auf der Sensorgenauigkeit. Die Kalman-Filtrierung kann benutzt werden, um Vorhersagen über den Pfad und Beobachtungen zu machen.
-
Falls während einer gewissen Zeitspanne keine Beobachtung für ein gegebenes Zielobjekt erfolgt, kann bei S606 das Zielobjekt aus dem Trackingsystem genommen werden. Das heißt, das Zielobjekt wird aus der Liste entfernt. Das Zielobjekt kann dann, wenn erneut Beobachtungen erfolgen, bei der Initialisierungsphase wieder erzeugt werden.
-
Bei einigen Aspekten kann der Algorithmus wie folgt zusammengefaßt werden:
- 1. Zuordnung aller Beobachtungen mit ihren entsprechenden Zeitstempeln zur Liste der Beobachtungen.
- 2. Erste Beobachtung:
a. Falls die Beobachtung nahe genug bei der Graphen-Darstellung liegt, projiziere die Beobachtung in die Grafik bzw. das Diagramm.
b. Für jede Bewegungsbahn in der Liste:
i. Schätze die Position der Bewegungsbahn beim Zeitstempel der Beobachtungen.
ii. Ordne die Beobachtung der Bewegungsbahn zu, wenn sie beim Zeitstempel nahe der Position der Bewegungsbahn ist.
iii. Falls keine Bewegungsbahn gefunden wird, erzeuge eine neue Bewegungsbahn und ordne die aktuelle Beobachtung der Bewegungsbahn zu.
- 3. Für jede Bewegungsbahn in der Liste:
a. wähle die beste Beobachtung aus der Liste der der Bewegungsbahn zugeordneten Beobachtungen. Die beste Auswahl kann heuristisch auf der Basis der Sensorgenauigkeit, der Zeitverzögerung, etc. ausgeführt werden.
b. Führe einen Kalman-Filter-Vorhersageschritt (a-priori-Wahrscheinlichkeit) beim Zeitstempel der besten Beobachtungen aus. Dies könnte den Filter rechtzeitig nach hinten setzen.
c. Führe eine Aktualisierung der Kalman-Filter-Berechnung (a-posteriori-Wahrscheinlichkeit) unter Benutzung der echten Beobachtungswerte durch
d. Führe einen Kalman-Filter-Vorhersageschritt wieder beim aktuellen Zeitstempelwert durch, um die aktuelle Position auf der Bewegungsbahn abzuschätzen.
-
Verschiedene der durch den vorstehend diskutierten Algorithmus oder die vorstehenden Algorithmen vorgesehenen Merkmale sind: auf einer Grafik bzw. einem Diagramm basierendes Tracking anstelle eines vollen 2-dimensionalen Trackings, wirksamere Gestaltung des Trackings und robuster gegenüber falschen Zielobjekten des Trackings, sowie korrekte Sensorfusion entdeckter Hindernisse, asynchrone Nutzung verschiedener Sensoren und Integration einer wahrscheinlichkeitstheoretischen Nachführeinrichtung im System.
-
Einige Implementationen des oben diskutierten Algorithmus oder der oben diskutierten Algorithmen sind in den 7–9 gezeigt, die graphische Darstellungen des Trackingsystems sind, das das Tracking verschiedener Zielobjekte mit verschiedenen Sensoren ausführt. Diese Figuren zeigen eine Implementation, die ein Lidar und ein Radar anwendet. Es können jedoch auch andere Sensoren benutzt werden. In den 7–9 bezeichnet ein Kreis in durchgezogener Linie ein Radarziel, ein Kreis in gestrichelter Linie bezeichnet ein Lidarziel und das Testfahrzeug ist schematisch dargestellt. Das Graphen-Netzwerk und insbesondere ein Fahrweg des Graphen-Netzwerks ist durch durchgezogene Linien abgegrenzt. Verschiedene Ziele, die die nur durch Verarbeitung jener Lidar- und Radarziele identifiziert werden können, die auf dem (oder innerhalb eines Fehlerspielraums des) Fahrweg(s) des Graphen-Netzwerks erscheinen, sind durch schraffierte Rauten dargestellt.
-
Die 8 zeigt beispielhafte Verbindungen (dicke Linien) und Knoten (ungefüllte Rauten) und veranschaulicht asynchrone/verzögerte Beobachtungen. Die Knoten können auch als eine Reihe von Punkten zwischen den ungefüllten Rauten erläutert werden, die durch dicke Linien verbunden sind. Kreise in durchgezogener Linie sind Radar-Beobachtungen und Kreise in gestrichelten Linien Lidarbeobachtungen, die aufgrund der Bearbeitung verzögert sind. Ein letztes graphisches Ziel (schraffierte Raute) wird nichtsdestoweniger korrekt aktualisiert, indem die Verzögerung der Lidarverarbeitung im Vergleich zur Radarverarbeitung in Betracht gezogen wird. Die 9 zeigt eine Fernstraßenanwendung, bei der schraffierte Rauten verfolgte Ziele zeigen. Das Display des Systems 100 kann so gestaltet werden, daß es das Graphen-Netzwerk anzeigt mit darauf identifizierten entsprechenden, verfolgten Zielobjekten, wobei die 7–9 ein Beispiel für ein solches Display sein können.
-
Basierend auf den Ergebnissen der Verfolgung der Zielobjekte durch das System 100 können entsprechende Ausgangssignale erzeugt werden. Beispielsweise kann eine Kollisionswarnung erzeugt und über ein Audio- und/oder visuelles System des Fahrzeugs ausgegeben werden, wenn bei einem verfolgten Zielobjekt erkannt wird, daß bei ihm eine vordefinierte Möglichkeit einer Kollision mit dem Fahrzeug besteht. Zur Kollisionsfeststellung kann eine Pfadplanung ausgeführt werden, die ein Zeithorizont-Vorhersageverfahren ausführt, um einen Pfad des verfolgten Zielobjekts vorherzusagen. Solche Berechnungen können durch ein anderes System ausgeführt werden, das mit dem System 100 kommuniziert. Des weiteren können Ergebnisse der Verfolgung des Zielobjekts in ein Geschwindigkeitssteuersystem eingegeben werden, um eine automatisierte Geschwindigkeit oder Fahrtrichtung des Fahrzeugs auf der Basis der Positionen des verfolgten Zielobjekts einzustellen. Das heißt das System 100 kann Steuerbefehle an den Aktuator des Fahrpedals, einen Bremsaktuator und/oder einen Lenkungsaktuator zur Steuerung der Geschwindigkeit und Fahrtrichtung des Fahrzeugs auf der Basis des Ergebnisses des Trackings des Zielobjekts ausgeben. Als solches kann das System 100 als robotergesteuertes, autonomes Fahrzeug eingesetzt werden, das zur Selbstführung und Kollisionsvermeidung befähigt ist.
-
Bei beispielhaften Anwendungen ist für das autonome Fahren das Tracking anderer Fahrzeuge auf Straßen eine kritische Komponente. Um sichere Fahrmanöver sowohl auf Fernstraßen wie auch im städtischen Verkehr zu planen, ist eine Information über die Bewegung anderer Fahrzeuge auf der Straße erforderlich. einem Aspekten dieser Offenbarung ist ein auf einer Grafik basierendes, mehrfache Sensoren (Radar und Lidar) benutzendes System vorgesehen und wurde erfolgreich als Teil eines ein autonomes Fahrzeug betreffenden Forschungsprojekts getestet.
-
Insbesondere wird unter Verwendung einer Karte eines Straßennetzes als ein der Verarbeitung vorangehender Schritt ein Diagramm bzw. Graph erzeugt. Von verschiedenen Sensoren mit unterschiedlichen Modalitäten ermittelte Hindernisse werden durch eine Nachführeinrichtung (tracker) längs des Diagramms unter Verwendung eines wahrscheinlichkeitstheoretischen Filters verfolgt. Das Ausgangssignal der Nachführeinrichtung schließt eine Position und eine erwartete Bewegung aller dynamischen Hindernisse ein, die von einem Planer benutzt werden, um ein sicheres Fahrmanöver zu planen.
-
Ein Straßennetz kann unter Verwendung von Straßennetzdefinitionsdatei (Road Network Definition File RNDF) genannten Daten, die aus einem Satz von Wegmarken (Punkten) im UTM-Koordinatensystem und Verbindungsinformationen für diese Wegmarken zur Erzeugung von Fahrspuren, Ausfahrten, Verflechtungen, etc., bestehen. Es sind auch andere semantische Informationen, wie Stoppzeichen- und Verkehrampelpositionen, in die Datenstruktur einbezogen. Diese Informationen werden vom Planer benutzt, um eine Route zu erzeugen.
-
Von diesen RNDF-Daten wird ein für das Tracking benutztes Diagramm bzw. Graph erzeugt. Jeder Knoten im Diagramm entspricht einer Wegmarke im RNDF. Die gleiche Verbindungskonstruktion wird beibehalten, um, die Knoten im RNDF zu verbinden. Im Falle von Verflechtungen und Ausfahrten, werden Verbindungen und Knoten unter Anwendung der Splineanpassung zwischen Endpunkten der Verbindungen interpoliert und zum Diagramm hinzugefügt.
-
Außerdem wird in jedem Knoten die Wegstrecke vom Beginn einer Fahrspur, zu der die Wegmarke gehört, gespeichert. Die Wegstrecke ist eher die Entfernung längs der Graphen- bzw. Diagrammkurve, als der direkte euklidische Abstand, die dann zur Spurverfolgung des Hindernisses längs der Diagrammkurve benutzt wird.
-
Ein typisches Diagramm ist in den 7–9, wie auch in 10 gezeigt.
-
Ein beispielhaftes autonomes Fahrzeug ist in 11 gezeigt, die ein Testfahrzeug zeigt, das mit Lichterkennung und Entfernungsmessung (Lidar) instrumentiert ist, die von Velodyne hergestellt sind, und mit einem Array von weitreichenden Radarsensoren, hergestellt von Bosch und Prosillica High Definition Cameras. Der Velodyne-Sensor kann ausreichend genaue Punktwolkendaten 360° um das Fahrzeug bis zu einer Entfernung von 40 m liefern. Unter Verwendung einer 3D-Punktwolkenwahrnehmungstechnik können Hindernisse aus der Punktwolke aussegmentiert werden. Ein Beispiel für Punktwolkensegmentierung ist in 12 gezeigt.
-
Ein Array von Radarsensoren (wie 8 Radarsensoren) ist so am Fahrzeug angebracht, daß jeder der Sensoren eine unterschiedliche Ausrichtung aufweist. Jeder der Radarsensoren besitzt ein Sichtfeld von ±15° auf 50 m und ±6° auf eine Entfernung von etwa 200 m. Das Radar sendet die ermittelte Position des Hindernisses und die relative Geschwindigkeit im Koordinatenfeld des Radars zurück. Weil die Position und Geschwindigkeit des Hindernisses im Koordinatenfeld des Radars enthalten sind, ist es erforderlich, jedes Hindernis auf das Koordinatenfeld des Fahrzeugs zu übertragen. Die richtige Transformation für jede Radareinheit zu finden, kann durch ein unten beschriebenes Kalibrierverfahren erfolgen.
-
Die 13 zeigt schematisch die durchzuführende Transformation. Alle Radarsensoren müssen kalibriert werden, um eine exakte Transformation vom Radarbezugsrahmen zum Bezugsrahmen des Roboters (des Fahrzeugs) zu haben. Für diesen Zweck wurde ein halbautomatisiertes Verfahren entwickelt, welches unten beschrieben wird.
-
Radarmarkierungen mit hoher Radareflexionsfähigkeit werden an verschiedenen Positionen um das Fahrzeug angeordnet. Diese Positionen sind exakt durch Anwendung von LIDAR-Punkten markiert. Weil der Wirkungsbereich von Velodyne-LIDAR kürzer ist als jener des Radars, wird das Fahrzeug innerhalb des Velodyne-Bereichs zu den Markierungen gefahren. Und das GPS-System im Fahrzeug wird benutzt, um die Markierungskoordinaten im gleichen Bezugsrahmen zu halten. Zugleich werden die Hindernisdaten vom Radar aufgezeichnet.
-
Die Transformation vom Radarbezugsrahmen zum Roboterbezugsrahmen ist durch die folgenden Gleichungen gegeben:
xr = yccosθ + ycsinθ + tx yr = –xcsinθ + yccosθ + ty , wobei {x
r, y
r} Hindernispositionen im Radarbezugsrahmen sind, {x
c, y
c} Hindernispositionen im Fahrzeugbezugsrahmen und t
x, t
y und θ Kalibrierungsparameter. Die Parameter t
x, t
y und θ werden abgeschätzt aus den Daten, die unter Benutzung der nichtlinearen Annäherung der kleinsten Quadrate unter Anwendung eines Levenberg-Marquardt-Algorithmus gesammelt werden. Das Problem der kleinsten Quadrate wird formuliert als eine Minimierung des folgenden Ausdrucks
{x i / o, x i / o} ith beobachtete Datenpunkte sind und
{x i / e, y i / e} unter Verwendung der obigen Transformationsgleichung geschätzt sind. Eine durch dieses spezielle Verfahren erreichte Kalibrierungsgenauigkeit beträgt 0,01 m.
-
Übereinstimmend mit dem Obigen kann das Tracking durch ein dreiphasiges Verfahren ausgeführt werden: Assoziation, Initialisierung und Aktualisierung.
-
Assoziationsphase
-
Jedes festgestellte Hindernis wird auf das Diagramm bzw. auf den Graphen projiziert. Hindernisse, die nicht eng am Diagramm liegen, werden negiert. Jedes Hindernis kann mehrfache Beobachtungen durch verschiedene Sensoren aufweisen und diese Informationen müssen fusioniert werden. Weil die Sensoren asynchron arbeiten, kann eine einfache Annäherung an den nächsten Nachbarn nicht angewandt werden. Um eine korrekte zeitliche Zuordnung durchzuführen, wird jede Beobachtung für den aktuellen Zeitstempel längs der Diagrammkurve projiziert und korrigiert. Dese korrigierten Beobachtungen werden dann mit der aktuellen Liste der Ziele unter Anwendung der Verbindung mit dem nächsten Nachbarn verbunden. Mehrfache Beobachtungen werden mit der Liste der Beobachtungen für jedes Zielobjekt verbunden.
-
Initialisierungsphase
-
Falls einer Beobachtung kein gültiges Ziel zugeordnet werden kann, wird ein neues Zielobjekt erzeugt. Sein Kalman-Zustand zur korrekten Beobachtung initialisiert. Ein Zustand des Kalman-Filters ist eine Fahrtstrecke längs der Fahrbahn, sowie Geschwindigkeit und Beschleunigung des Hindernisses. Im Falle einer Nur-Velodyne-Beobachtung, wird die Geschwindigkeit, weil sie nicht beobachtet wird, bei einem ersten Paar von Iterationen geschätzt.
-
Aktualisierungsphase
-
Jedem Zielobjekt ist ein unabhängiger Kalman-Filter zugeordnet. Für jedes Zielobjekt wird eine beste Beobachtung aus der Liste der Beobachtungen ausgewählt und die volle Kalman-Aktualisierung wird wie unten angegeben durchgeführt (siehe A new approach to linear filtering and prediction problems. Journal of Basic Engineering 82, von Kalman, R. E.): x ⁀k|k–1 = Fkx ⁀k–1|k–1 Pk|k–1 = FkPk–1|k–1F T / k + Qk ỹk = zk – Hkx ⁀k|k–1 Sk = HkPk|k–1H T / k + Rk Kk = Pk|k–1H T / kS –1 / k x ⁀k|k = x ⁀k|k–1 + Kkỹk Pk|k = (I – KkHk)Pk|k–1
-
Falls keine Beobachtung für gewisse Zielobjekte für irgendeine vorgegebene Zeitspanne erhalten wird, werden sie aus dem Tracking System entfernt.
-
Ein Pseudo-Code für einen Tracking-Algorithmus wird unten präsentiert.
- 1. Füge alle Beobachtungen mit ihren entsprechenden Zeitstempeln der Liste der Beobachtungen hinzu.
- 2. a. Falls die Beobachtung eng genug bei der Graphen- bzw. Diagrammkurve liegt, projiziere die Beobachtung auf die Kurve.
- b. Für jede Bewegungsbahn in der Liste
– Schätze die Position der Bewegungsbahn zum Zeitstempel der Beobachtungen.
– Füge die Beobachtung der Bewegungsbahn hinzu, wenn sie der Position der Bewegungsbahn zu jenem Zeitstempel eng benachbart ist.
– Falls keine Bewegungsbahn gefunden wird, erzeuge eine neue Bewegungsbahn und füge die aktuelle Beobachtung der Bewegungsbahn hinzu.
- 3. Bei jeder Bewegungsbahn in der Liste;
- a. Wähle die beste Beobachtung aus der Liste der der Bewegungsbahn zugeordneten Beobachtungen aus. Diese beste Auswahl kann heuristisch auf der Basis der Sensorgenauigkeit, der Zeitverzögerung, etc. ausgeführt werden.
- b. Führe einen (früheren) Kalman-Filter-Vorhersageschritt zum Zeitstempel der besten Beobachtungen aus. Dies könnte den Filter zeitlich zurücksetzen.
- c. Führe eine (spätere) Kalman-Filter-Messungsaktualisierung unter Verwendung des echten Beobachtungswertes aus.
-
Führe einen Kalman-Filter-Vorhersageschritt wieder zum aktuellen Zeitstempelwert aus, um die aktuelle Position auf der Bewegungsbahn abzuschätzen.
-
Die 14–16 zeigen verschiedene Aspekte der durch den oben beschriebenen Algorithmus (die oben beschriebenen Algorithmen) bereitgestellten Merkmale. Die 14 zeigt asynchrone/verzögerte Beobachtungen, wobei der Kreis eine Radarbeobachtung und ein Quadrat eine Lidarbeobachtung ist, die aufgrund der Verarbeitung verzögert sind, jedoch wurde ein endgültiges Ziel auf der Graphen- bzw. Diagrammspur (Raute) korrekt aktualisiert. Die 15 zeigt das Tracking von Fahrzeugen auf Fernstraßen, wo Rauten die verfolgten Ziele anzeigen. 16 zeigt die das Tracking von Fahrzeugen an Kreuzungen, wo Rauten die verfolgten Ziele anzeigen
-
Eine Anzahl von Implementationen wurde beschrieben. Nichtsdestoweniger ist zu verstehen, daß verschiedene Abwandlungen erfolgen können, ohne daß von der Idee und dem Umfang dieser Offenbarung abgewichen wird. Beispielsweise können vorteilhafte Ergebnisse erzielt werden, falls die Schritte der offenbarten Techniken in unterschiedlicher Folge ausgeführt würden, falls Komponenten in den offenbarten Systemen in unterschiedlicher Weise kombiniert werden, oder falls die Komponenten ersetzt oder durch andere Komponenten ergänzt werden. Die hierin beschriebenen Funktionen, Verfahren und Algorithmen können realisiert werden durch Hardware oder durch von Hardware umgesetzte Software, einschließlich Computerprozessoren und/oder programmierbare Schaltungen, die zur Ausführung von Programmcode, oder Computerbefehlen gestaltet sind, um die hierin beschriebenen Funktionen, Verfahren und Algorithmen auszuführen. Außerdem können einige Implementationen auf Modulen oder Hardware ausgeführt werden, die nicht mit den beschriebenen identisch sind. Demgemäß können andere Implementationen innerhalb des beanspruchten Schutzbereichs liegen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- A new approach to linear filtering and prediction problems. Journal of Basic Engineering 82, von Kalman, R. E. [0065]