-
FELD DER OFFENBARUNG
-
Die vorliegende Offenbarung betrifft allgemein Verfahren, Systeme, Fahrzeuge und Vorrichtungen zum Verfolgen mindestens eines Objekts in Messdaten eines Radarsystems und insbesondere ein Radarsystem, das dazu ausgestaltet ist, mindestens ein Objekt in seinen Messdaten verfolgt.
-
HINTERGRUND
-
Im Bereich des autonomen oder quasi-autonomen Betriebs von Fahrzeugen wie Flugzeugen, Wasserfahrzeugen oder Landfahrzeugen, insbesondere Automobilen, die bemannt oder unbemannt sein können, kann das Erfassen der Umgebung des Fahrzeugs sowie das Verfolgen von Objekten in der Umgebung des Fahrzeugs als entscheidend für hochentwickelte Funktionalitäten angesehen werden. Diese Funktionalitäten können von Fahrerassistenzsystemen in verschiedenen Autonomiestufen bis hin zum vollständig autonomen Fahren des Fahrzeugs reichen.
-
In bestimmten Umgebungen werden mehrere verschiedene Sensortypen zum Erfassen der Umgebung eines Fahrzeugs verwendet, wie z. B. monoskopische oder stereoskopische Kameras, Light-Detection-and-Ranging-Sensoren (LiDAR) und Radio-Detection-and-Ranging-Sensoren (Radar). Die verschiedenen Sensortypen haben unterschiedliche Eigenschaften, die für unterschiedliche Aufgaben genutzt werden können.
-
Ausführungsformen der vorliegenden Offenbarung betreffen Aspekte der Verarbeitung von Messdaten von Radarsystemen, wodurch die rechenintensive Fusion von Daten unterschiedlicher Sensortypen vermieden werden kann.
-
Radarsysteme können Messdaten, insbesondere Entfernungs-, Doppler- und/oder Winkelmessungen (Azimut und/oder Elevation), mit hoher Präzision in einer radialen Richtung liefern. Damit lassen sich sowohl (radiale) Entfernungen als auch (radiale) Geschwindigkeiten in einem Sichtfeld des Radarsystems zwischen verschiedenen Reflexionspunkten und der (jeweiligen) Antenne des Radarsystems genau messen.
-
Grundsätzlich senden (emittieren) Radarsysteme Radarsignale in das Sichtfeld des Radarsystems, wobei die Radarsignale von Objekten, die sich im Sichtfeld des Radarsystems befinden, reflektiert und vom Radarsystem empfangen werden. Die Sendesignale sind beispielsweise frequenzmodulierte Dauerstrichsignale (FMCW). Radiale Entfernungen können unter Ausnutzung der Laufzeit des Radarsignals gemessen werden, wobei Radialgeschwindigkeiten unter Ausnutzung der durch den Dopplereffekt verursachten Frequenzverschiebung gemessen werden.
-
Durch wiederholtes Senden und Empfangen der Radarsignale können Radarsysteme das Sichtfeld des Radarsystems über die Zeit beobachten, indem sie Messdaten liefern, die mehrere, insbesondere aufeinanderfolgende, Radarbilder (Radarframes) umfassen.
-
Ein einzelnes Radarbild kann beispielsweise ein Entfernungs-Azimut-Bild (Range-Azimuth-Frame) oder ein Entfernungs-Doppler-Azimut-Bild (Range-Doppler-Azimuth-Frame) sein. Denkbar wäre auch ein Entfernungs-Doppler-Azimut-Elevation-Bild (Range-Doppler-Azimuth-Elevation-Frame), wenn Daten in Elevationsrichtung vorhanden sind.
-
In jedem der mehreren Radarbilder kann eine Vielzahl von Reflexionspunkten detektiert werden, die Reflexionspunktwolken bilden können. Die Reflexionspunkte bzw. Punktwolken in den Radarbildern enthalten jedoch nicht per se eine semantische Bedeutung. Dementsprechend ist eine semantische Segmentierung der Radarbilder notwendig, um die Szene der Fahrzeugumgebung auswerten („verstehen“) zu können.
-
Die Segmentierung eines Radarbildes bedeutet, dass den einzelnen Reflexionspunkten in den einzelnen Radarbildern eine Bedeutung zugeordnet wird. Beispielsweise können die Reflexionspunkte dem Hintergrund der Szene, dem Vordergrund der Szene, stationären Objekten wie Gebäuden, Mauern, parkenden Fahrzeugen oder Teilen einer Straße und/oder bewegten Objekten wie anderen Fahrzeugen, Radfahrern und/oder Fußgängern in der Szene zugeordnet werden.
-
Im Stand der Technik wird die semantische Bildsegmentierung in der Regel in Bildern, die von einem Kamerasensor aufgenommen werden, (Kamerabildern) durchgeführt, wie unter anderem in „No Blind Spots“: Full-Surround Multi-Object Tracking for Autonomous Vehicles using Cameras & LiDARs“ von Akshay Rangesh und Mohan Trivedi beschrieben.
-
Bei Kamerabildern ist es für die semantische Segmentierung von Vorteil, dass das meiste Licht diffus in den Sensor reflektiert wird, so dass zusammenhängende Regionen im Kamerabild beobachtet werden können. Die semantische Segmentierung in Radarbildern ist jedoch besonders schwierig.
-
Im Allgemeinen beobachten Radarsysteme spiegelartige Reflexionen der Sendesignale, die vom Radarsystem ausgesendet werden, da die zu detektierenden Objekte tendenziell glattere Reflexionscharakteristiken aufweisen als die (modulierten) Wellenlängen der Sendesignale.
-
Folglich enthalten die erhaltenen Radarbilder keine zusammenhängenden Regionen, die einzelne Objekte repräsentieren, sondern vielmehr einzelne markante Reflexionspunkte (wie beispielsweise die Kante eines Stoßfängers), die über Regionen des Radarbildes verteilt sind.
-
Für das Verfolgen von Objekten in der Szene (im Sichtfeld des Radarsystems), also das Verfolgen eines Objekts über mehrere Bilder (Frames), wird es noch schwieriger, da die einzelnen Reflexionspunkte, die zu einem Objekt gehören können, von Radarbild (Radar-Frame) zu Radarbild (Radar-Frame) variieren können. Das bedeutet, dass beispielsweise Reflexionspunkte eines ersten Radarbilds in einem zweiten, beispielsweise (unmittelbar) folgenden Radarbild verschwinden können, während andere Reflexionspunkte im zweiten Radarbild auftauchen können.
-
In Anbetracht der obigen Ausführungen besteht die Aufgabe der Ausführungsformen der vorliegenden Offenbarung darin, ein Verfahren zur Verfolgung mindestens eines Objekts in Radarbildern eines Radarsystems und ein entsprechendes Radarsystem bereitzustellen, wobei Objekte von Interesse in einer effizienten und zuverlässigen Weise verfolgt werden.
-
Die Aufgaben der Ausführungsformen der vorliegenden Offenbarung können insbesondere durch das Verfahren zum Verfolgen mindestens eines Objekts in Messdaten eines Radarsystems nach Anspruch 1 erreicht werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Insbesondere wird eine Aufgabe der vorliegenden Offenbarung gelöst durch ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung zum Verfolgen mindestens eines Objekts in Messdaten eines Radarsystems, die mehrere, insbesondere aufeinanderfolgende, von einem Radarsystem erfasste Radarbilder (Radarframes) enthalten, umfassend:
- - Detektieren von Detektionspunkten in den Radarbildern;
- - Zuordnen der Detektionspunkte eines aktuellen Radarbildes zu einer Vielzahl von Tracklets, wobei jedes Tracklet eine Spur von mindestens einem über mehrere Radarbilder beobachteten Detektionspunkt ist; und
- - Zuordnen (insbesondere Gruppieren) der Tracklets basierend auf mindestens einem Merkmalsparameter zu mindestens einer Objektspur (die das mindestens eine zu verfolgende Objekt darstellt).
-
Ein Aspekt der vorliegenden Offenbarung beruht auf der Idee, dass in den Radarbildern zunächst Detektionspunkte über mehrere Radarbilder beobachtet werden können, wobei die beobachteten Detektionspunkte, die die Tracklets bilden, dazu verwendet werden können, eine Segmentierung des vorliegenden Radarbildes zu erzeugen, indem die Tracklets mindestens einer Objektspur zugeordnet werden, die mindestens ein Objekt basierend auf mindestens einem Merkmalsparameter repräsentiert.
-
Die Segmentierung nach dem erfindungsgemäßen Verfahren ergibt sich aus dem Verfolgen von Detektionspunkten über mehrere Radarbilder (d.h. Nutzung von Tracking-Informationen), die für die Zuordnung von Detektionspunkten zu Objekten verwendet werden (Segmentierung durch Tracking).
-
Dementsprechend kann das vorliegende Verfahren als Zwei-Stufen-Ansatz betrachtet werden, bei dem für ein aktuelles Radarbild (neue) Detektionspunkte Tracklets zugeordnet werden, was als eine erste Stufe (des Verfolgungsverfahrens) angesehen werden kann, und dann die Tracklets Objektspuren zugeordnet werden, was als eine zweite Stufe (des Verfolgungsverfahrens) angesehen werden kann.
-
Ein Verfahren gemäß der vorliegenden Offenbarung unterscheidet sich von der herkömmlichen Vorgehensweise, bei der jedes Radarbild üblicherweise unabhängig auf einer Stufe durch Segmentierung behandelt wird, ohne Tracking-Informationen für die Segmentierung zu verwenden.
-
Das Detektieren von Detektionspunkten kann als das Ermitteln von Intensitätsspitzen (Intensitätspeaks) im Radarbild verstanden werden, wobei die Radarbilder als eine dreidimensionale Intensitätskarte verstanden werden können, beispielsweise in einer Winkel-Entfernungs-Bin (Angle-Range-Bin) oder einer Winkel-Doppler-Entfernungs-Bin (Angle-Doppler-Range-Bin). Der Begriff „Detektionspunkt“ ist nicht als nulldimensionaler Punkt im geometrischen Sinne zu verstehen, sondern vorzugsweise als ein Bereich der oben genannten Intensitätsspitze (beispielsweise bezogen auf eine Kante eines Stoßfängers oder einer anderen Struktur, insbesondere Kante und/oder Ecke eines Fahrzeugs, insbesondere ein Bereich mit ausgeprägter Reflexion). Der Detektionspunkt kann mindestens eine, insbesondere mehrere Auflösungszellen (beispielsweise Pixel und/oder Voxel) im Radarbild umfassen.
-
Die von einem Radarsystem erfassten Messdaten können ein zweidimensionales oder mehrdimensionales, komplexwertiges Array sein, welches Dimensionen umfasst, die den (Azimut- und/oder Elevations-) Winkel, die (radiale) Geschwindigkeit (auch Doppler genannt) und den radialen Abstand (auch Entfernung genannt) enthalten können. Beispielsweise ist es möglich, den Betrag in jedem Winkel-Doppler-Entfernung-Bin zu verwenden, um zu beschreiben, wie viel Energie der Radarsensor von jedem Punkt der Szenerie (im Sichtfeld) für eine radiale Geschwindigkeit empfängt.
-
Aufeinanderfolgende Radarbilder können als eine Vielzahl von Radarbildern verstanden werden, wobei jedes Radarbild (außer einem ersten Radarbild) einem anderen Radarbild zeitlich folgt. Von einer gegebenen (gemessenen bzw. ermittelten) Vielzahl von Radarbilder können alle Radarbilder verwendet werden oder nur eine Teilmenge der Radarbilder.
-
Insbesondere basiert das Erhalten und/oder Beibehalten der Tracklets und der Objektspuren auf mindestens einem dynamischen Systemmodell, wodurch ein robustes und genaues Verfolgen der Tracklets und der Objektspuren erreicht werden kann.
-
Das mindestens eine dynamische Systemmodell kann verwendet werden, um zu schätzen, an welcher Position in einem Radarbild, insbesondere einem nachfolgenden Radarbild, ein Tracklet und/oder eine Objektspur erwartet werden kann.
-
Vorzugsweise umfasst das Verfahren ferner die folgenden Schritte:
- - Prädizieren (Vorhersagen) eines oder mehrerer Parameter jedes Tracklets für das aktuelle Radarbild durch Propagieren des dynamischen Systemmodells, wobei die Parameter jedes Tracklets mindestens eine Position, insbesondere eine Position und eine Geschwindigkeit, vorzugsweise eine Position und eine Geschwindigkeit und eine Beschleunigung, und eine Kovarianz des Tracklets in einem Radarbild umfassen; und
- - Korrigieren der Parameter jedes Tracklets basierend auf den Detektionspunkten, die dem entsprechenden Tracklet zugeordnet sind.
-
Vorzugsweise wird das Prädizieren vor dem Zuordnen der Detektionspunkte zu den Tracklets und das Korrigieren nach dem Zuordnen der Detektionspunkte zu den Tracklets durchgeführt.
-
Durch das Prädizieren der Parameter der Tracklets vor dem Zuordnen der Detektionspunkte ist es möglich, das Zuordnen der Detektionspunkte zu den Tracklets zu verbessern. Durch das Korrigieren der Parameter der Tracklets nach dem Zuordnen der Detektionspunkte ist es möglich, die Ungenauigkeiten des Modells zu korrigieren, wodurch die Performanz der Tracking-Lösung verbessert werden kann.
-
Insbesondere wird im Schritt des Zuordnens der Detektionspunkte zu den Tracklets ein Detektionspunkt einem Tracklet zugeordnet, wenn eine Position des Detektionspunktes innerhalb eines Gates eines Tracklets liegt; wobei neue Tracklets aus den Detektionspunkten immer dann initialisiert werden, wenn das Kriterium für die Zuordnung einer Detektion für keines der vorhandenen Tracklets erfüllt ist, insbesondere wenn eine Position eines Detektionspunktes außerhalb der Gates aller vorhandenen Tracklets liegt.
-
Das oben beschriebene Verfahren zur Zuordnung von Detektionspunkten zu Tracklets ist besonders einfach und rechnerisch leicht. Das Gate eines Tracklets kann ein Assoziationsgebiet sein, wie beispielsweise ein Polytop (z. B. Polygon, insbesondere Tetragon, oder Polyeder, insbesondere Hexaeder), insbesondere ein, vorzugsweise rechteckiges, Parallelogramm (z. B. Parallelogramm, insbesondere Rechteck oder Quadrat, oder Parallelepiped, insbesondere Quader oder Würfel), ein (Hyper-)Ellipsoid oder eine Ellipse oder eine (Hyper-)Kugel oder ein Kreis (insbesondere in Abhängigkeit von den Dimensionen des/der entsprechenden Bilder).
-
Neue Tracklets werden vorzugsweise aus unzugeordneten Detektionspunkten initialisiert, welche Detektionspunkte sind, die keinem Tracklet zugeordnet sind, d. h. die unzugeordneten Detektionspunkte liegen in keinem Gate der Tracklets (was vorzugsweise das Kriterium für die Zuordnung ist). Dies ermöglicht eine einfache, aber schnelle und effektive Methode zur Initialisierung neuer Tracklets.
-
Vorzugsweise ist ein Gate für jedes Tracklet entweder in der Größe festgelegt oder in der Größe adaptiv. Wenn es adaptiv ist, kann die Größe des Gates mit der Kovarianz des Tracklets korrelieren, insbesondere so, dass die Größe des Gates vergrößert wird, wenn die Kovarianz zunimmt, und umgekehrt.
-
Dementsprechend ist es möglich, die Größe des Gates der Tracklets in Abhängigkeit von der Kovarianz der prädizierten Position des Tracklets im aktuellen Radarbild zu variieren. Dadurch wird die Zuordnung der Detektionspunkte zu den Tracklets weiter verbessert, da die Anzahl der falschen Zuordnungen zwischen Detektionspunkten und Tracklets reduziert werden kann, insbesondere wenn die Position eines Tracklets mit einer höheren Wahrscheinlichkeit prädiziert wird (was mit einer höheren Kovarianz korreliert).
-
Es wird bevorzugt, dass beim Zuordnen der Detektionspunkte zu den Tracklets ein Detektionspunkt dem Tracklet zugeordnet wird, dessen Position dem Detektionspunkt am nächsten liegt.
-
Dies ermöglicht ein einfaches, aber effektives Verfahren zum Zuordnen der Detektionspunkte zu den Tracklets.
-
Alternativ oder zusätzlich kann ein Detektionspunkt beim Zuordnen der Detektionspunkte zu den Tracklets mehreren Tracklets probabilistisch zugeordnet werden. Vorzugsweise werden probabilistische Werte, die die Wahrscheinlichkeit angeben, dass ein Detektionspunkt einem Tracklet zugeordnet ist, erhöht, wenn der Abstand zwischen der Position des Detektionspunkts und der prädizierten Position des Tracklets abnimmt, und umgekehrt.
-
Beispielsweise kann der Mahalanobis-Abstand als Maß für das Zuordnen der Detektionspunkte zu den Tracklets verwendet werden.
-
Das Zuordnen von Detektionspunkten zu mehreren Tracklets ist insbesondere in schwierigen Zuordnungssituationen von Vorteil, z. B. wenn Detektionspunkte innerhalb von zwei oder mehr Gates verschiedener Tracklets liegen.
-
Insbesondere umfasst der Merkmalsparameter für das Zuordnen (Gruppieren) der Tracklets, anhand dessen die Tracklets zu den Objektspuren geclustert werden, eine Überlappung der Gates der einzelnen Tracklets in mindestens dem aktuellen Radarbild und/oder eine summierte Überlappung der Gates der einzelnen Tracklets in mehreren vorherigen Radarbildern.
-
Die Überlappung der Gates der einzelnen Tracklets in mindestens dem aktuellen Radarbild und/oder eine (summierte) Überlappung der Gates der einzelnen Tracklets in mehreren vorherigen Radarbildern als Merkmalsparameter ist ein sinnvolles Kriterium für das Zuordnen (Gruppieren) von Tracklets zu Objektspuren.
-
Insbesondere kann die Verwendung der summierten Überlappung der Gates der einzelnen Tracklets in mehreren vorhergehenden Radarbildern als Merkmalsparameter die Robustheit der Zuordnung erhöhen.
-
Vorzugsweise wird das Zuordnen (Gruppieren) der Tracklets durch ein Clustering-Verfahren durchgeführt, insbesondere durch ein Density-Based-Spatial-Clusteringot-Applications-with-Noise (DBSCAN)-Verfahren, welches ein einfaches aber effektives Clustering-Verfahren ist.
-
Es wird bevorzugt, dass das Verfahren weiterhin das Korrigieren von Parametern der Objektspur, insbesondere einer Position, einer Geschwindigkeit und/oder einer Beschleunigung der Objektspur, umfasst, indem die Parameter der Objektspur basierend auf einer prädizierten Geschwindigkeit und/oder einer prädizierten Beschleunigung der Tracklets der entsprechenden Objektspur aktualisiert werden.
-
Dementsprechend ist es möglich, die Trackinglösung von Objektspuren zu verbessern, indem die prädizierten Parameter der Tracklets, die den Objektspuren zugeordnet werden, als Messungen für die Objektspuren verwendet werden.
-
Insbesondere umfasst jedes Tracklet Metadaten, die mindestens einen Status des Tracklets, einen Track-Count-Wert und einen Lost-Track-Count-Wert enthalten. Vorzugsweise enthalten die Metadaten der Tracklets auch eine Identifikationsnummer, die angibt, welcher Objektspur das Tracklet zugeordnet ist.
-
Der Status kann sich durch einen Zustand des Tracklets unterscheiden, der z.B. einer von einem verfolgten und nicht verfolgten (z.B. verlorenen bzw. nicht mehr verfolgten) Zustand, oder einer von einem vorläufigen Zustand, einem verfolgten Zustand und einem (zumindest zeitweise) verlorenen Zustand, oder einer von einem vorläufigen Zustand, einem verfolgten Zustand, einem (zumindest zeitweise) verlorenen Zustand und einem vollständig verlorenen Zustand sein kann.
-
Insbesondere umfasst das Verfahren ferner die folgenden Schritte:
- - Aktualisieren der Metadaten der Tracklets; und
- - Initialisieren von Detektionspunkten als neue Tracklets, die nicht den bestehenden Tracklets zugeordnet sind,
wobei das Aktualisieren der Metadaten und das Initialisieren von Detektionspunkten als neue Tracklets nach dem Zuordnen der Detektionspunkte zu den Tracklets durchgeführt werden.
-
Vorzugsweise werden unterschiedliche Filter zum Modellieren der Dynamik der Tracklets und zum Modellieren der Dynamik der Objektspuren verwendet. Vorzugsweise ist der Filter zum Modellieren der Dynamik der Tracklets weniger rechenintensiv als der Filter zum Modellieren der Dynamik der Objektspuren.
-
Vorzugsweise wird ein Alpha-Beta-Filter für das Modellieren der Dynamik der Tracklets und ein Kalman-Filter für das Modellieren der Dynamik der Objektspuren verwendet, wodurch ein vernünftiger Kompromiss zwischen dem Rechenaufwand und der Performanz der Tracking-Ergebnisse erreicht werden kann.
-
Alternativ wird jeweils ein Alpha-Beta-Filter zum Modellieren der Dynamik der Tracklets und der Objektspuren verwendet, wodurch der Rechenaufwand weiter verringert werden kann.
-
Alternativ oder zusätzlich kann für jede Objektgruppe (Objektspur) ein Objektmodell aus einer Bibliothek von Objektmodellen hergeleitet werden und zum Modellieren der Objektspuren ein Switching-Kalman-Filter verwendet werden, wobei ein Schaltzustand des Switching-Kalman-Filters eine Objektklasse repräsentiert.
-
Die Bibliothek von Objektmodellen kann z. B. Objektmodelle für Fahrzeuge, wie Autos oder Lastwagen, Radfahrer oder Fußgänger enthalten.
-
Dies kann es ermöglichen, die Verteilung des Objekts über einen Bereich im Radarbild herzuleiten, was die Genauigkeit des Zuordnens der Detektionspunkte zu den Tracklets sowie des Zuordnens der Tracklets zu den Objektspuren verbessern kann. Zusätzlich oder alternativ können dadurch die dynamischen Systemmodelle in Übereinstimmung mit den Objektmodellen umgeschaltet werden, so dass das Modellieren der Dynamik der Objekte an das zu verfolgende Objekt angepasst werden kann.
-
Vorzugsweise werden die klassenspezifischen Objektmodelle aus Datensätzen gelernt (abgeleitet). Es ist auch denkbar, dass ein Objektklassifikator, wie z. B. eine Support-Vector-Machine (SVM), neuronale Netze oder ein (tiefes) Convolutional-Neural-Network (CNN), verwendet wird, um eine Objektspur in eine der Objektklassen der Bibliothek zu klassifizieren.
-
In einem weiteren (unabhängigen oder abhängigen) Aspekt der vorliegenden Offenbarung wird eine Aufgabe der Offenbarung insbesondere durch ein Radarverfahren gelöst, wobei die (oder, falls ein unabhängiger Aspekt: eine) Vielzahl von Radarbildern, die in den Messdaten enthalten sind, eine erste Vielzahl von Radarbildern ist, die von einer ersten Radareinheit erfasst werden, wobei die Messdaten ferner eine zweite Vielzahl von Radarbildern enthalten, die von einer zweiten Radareinheit erfasst werden, die nicht der ersten Radareinheit zugehörig ist (und/oder nicht kohärent sind), wobei die erste und die zweite Vielzahl von Radarbildern (zeitlich) synchronisiert sind und sich zumindest teilweise (räumlich) überlappen, wobei die Radarbilder Entfernungs-, Doppler- und Winkelmessungen enthalten, wobei aus den Dopplermessungen ein mehrdimensionaler Geschwindigkeitsvektor für mindestens einen, insbesondere für mehrere, vorzugsweise für jeden Detektionspunkt, der in synchronisierten Radarbildern der ersten und der zweiten Vielzahl von Radarbildern erfassbar ist, bestimmt wird, wobei das Bestimmen des mehrdimensionalen Geschwindigkeitsvektors auf den entsprechenden Dopplermessungen der ersten und der zweiten Radareinheit basiert. Bei diesem weiteren Aspekt wird der Zwei-Stufen-Verfolgungsansatz bevorzugt, aber ist nicht zwingend erforderlich (d.h. alle folgenden Ausführungsformen des weiteren Aspekts können sich auf die Zwei-Stufen-Verfolgung beziehen oder können sich auf jede andere, z.B. einstufige oder konventionelle, Verfolgungsmethode beziehen).
-
Der mehrdimensionale Geschwindigkeitsvektor kann verwendet werden, um das Initialisieren neuer (Objekt-)Spuren zu beschleunigen, was besonders vorteilhaft sein kann, wenn Objekte schnell im Sichtfeld des Radarsystems auftauchen.
-
Insbesondere werden die mehrdimensionalen Geschwindigkeitsvektoren bei einem Korrigieren von Parametern einer Spur (eines Tracks) verwendet, insbesondere bei der Korrektur der Parameter des Tracklets (t1 bis tm).
-
Insbesondere werden die mehrdimensionalen Geschwindigkeitsvektoren bei einem Aktualisieren der Metadaten von Spuren (insbesondere der Tracklets) verwendet.
-
Weiterhin können sie beim Initialisieren von Erfassungen (Detektionspunkten) als neue Spuren bzw. Tracks (Tracklets) verwendet werden, wodurch das Aktualisieren der Metadaten der Tracks (Tracklets) und das Initialisieren von Detektionspunkten als neue Tracks (Tracklets) beschleunigt werden kann. Insbesondere kann ein Übergang des Status des jeweiligen Tracks (Tracklets) von einem vorläufigen Zustand in einen verfolgten Zustand beschleunigt werden.
-
Vorzugsweise wird der Status eines Tracks (Tracklets) sofort von einem vorläufigen Zustand in einen verfolgten Zustand geändert, wenn sich die Spur (das Tracklet) innerhalb eines Bereichs um die Position eines Detektionspunkts befindet, für den ein mehrdimensionaler Vektor bestimmt wird, und wenn ein Vergleichsmaß, insbesondere eine Summe des Innenprodukts, des mehrdimensionalen Geschwindigkeitsvektors und der mehrdimensionalen Geschwindigkeitsvektoren der benachbarten mehrdimensionalen Geschwindigkeitsvektoren des Detektionspunkts gleich oder größer als ein vorbestimmten Schwellenwert ist.
-
Dementsprechend kann ermittelt werden, ob die mehrdimensionalen Geschwindigkeitsvektoren benachbarter Detektionspunkte zumindest annähernd kongruent sind. Wenn die mehrdimensionalen Geschwindigkeitsvektoren benachbarter Detektionspunkte zumindest annähernd kongruent sind, kann davon ausgegangen werden, dass sich die benachbarten Detektionspunkte auf eine Spur (Tracklet) beziehen.
-
Eine Aufgabe der vorliegenden Offenbarung wird ferner gelöst durch ein Radarsystem, das dazu ausgestaltet ist, mindestens ein oder mehrere Objekte in Messdaten des Radarsystems zu verfolgen, die eine Vielzahl von, insbesondere aufeinanderfolgenden, Radarbildern enthalten, unter Verwendung eines Verfahrens der oben beschriebenen Art, umfassend:
- - eine erste Radareinheit, die dazu ausgestaltet ist, eine Vielzahl von Radarbildern durch Senden und Empfangen von Radarsignalen zu detektieren, die an potentiellen zu verfolgenden Objekten in einem Sichtfeld der ersten Radareinheit reflektiert werden; und
- - eine Verfolgungsberechnungseinheit, die dazu ausgestaltet ist, die erfassten Radarbilder durch Ausführen der Schritte eines Verfahrens der oben beschriebenen Art zu verarbeiten.
-
Vorzugsweise umfasst das Radarsystem ferner:
- - eine zweite Radareinheit, die dazu ausgestaltet ist, eine Vielzahl von Radarbildern durch Senden und Empfangen von Radarsignalen zu detektieren, die an potentiellen zu verfolgenden Objekten in einem Sichtfeld der ersten Radareinheit reflektiert werden.
-
Vorzugsweise überlappen sich das Sichtfeld der ersten Radareinheit und das Sichtfeld der zweiten Radareinheit zumindest teilweise.
-
Das Radarsystem kann eine oder mehrere (z. B. mindestens zwei oder mindestens vier) Antennen zum Senden und/oder Empfangen von Radarsignalen umfassen. Jede der ersten und/oder der zweiten Radareinheit kann eine oder mehrere (z. B. mindestens zwei oder mindestens vier) Antennen zum Senden und/oder Empfangen von Radarsignalen umfassen.
-
Ferner wird eine Aufgabe der vorliegenden Offenbarung durch ein Fahrzeug gelöst, in das ein Radarsystem der oben beschriebenen Art eingebaut ist, wobei das Fahrzeug ein Luftfahrzeug und/oder ein Wasserfahrzeug und/oder ein Landfahrzeug, vorzugsweise ein Kraftfahrzeug, ist, wobei das Fahrzeug bemannt oder unbemannt sein kann.
-
Merkmale und damit verbundene Vorteile, die im Zusammenhang mit dem erfindungsgemäßen Verfahren zur Verfolgung mindestens eines Objekts in Messdaten eines Radarsystems beschrieben sind, sind auf das Radarsystem bzw. Fahrzeug der vorliegenden Offenbarung anwendbar und übertragbar. Die oben erläuterten Verfahrensschritte können in dem Radarsystem oder dem Fahrzeug als entsprechende Konfigurationen (z.B. einer Steuer- und/oder Recheneinheit) einzeln oder in Kombination realisiert werden.
-
Weitere vorteilhafte Ausführungsformen können den Unteransprüchen entnommen werden.
-
Figurenliste
-
Im Folgenden wird die vorliegende Offenbarung anhand von nicht einschränkenden Ausführungsformen oder Beispielen unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. In den Figuren ist Folgendes dargestellt:
- 1 zeigt ein Ablaufdiagramm eines Beispiels des erfindungsgemäßen Verfahrens zur Verfolgung mindestens eines Objekts in einer Vielzahl von Radarbildern;
- 2 zeigt eine schematische Darstellung eines Beispiels für ein erfindungsgemäßes Radarsystem;
- 3A zeigt ein Beispiel für ein aktuelles Radarbild, in welchem der Schritt S1 des Verfahrens zur Verfolgung mindestens eines Objekts durchgeführt wird;
- 3B zeigt ein Beispiel für ein aktuelles Radarbild, in welchem Schritt S2 und Schritt S3 des Verfahrens zur Verfolgung mindestens eines Objekts durchgeführt wird;
- 3C zeigt ein Beispiel für ein aktuelles Radarbild, in welchem Schritt S4 des Verfahrens zur Verfolgung mindestens eines Objekts durchgeführt wird;
- 4 zeigt eine schematische Darstellung eines weiteren Radarsystems gemäß der Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In 1 ist ein Ablaufdiagramm eines Beispiels des Verfahrens zur Verfolgung mindestens eines Objekts in einer Vielzahl von Radarbildern gemäß der vorliegenden Offenbarung dargestellt. In diesem Beispiel werden die Verfahrensschritte S0 bis S8 durchgeführt, wobei die Schritte S1 bis S8 eine Verfolgungsschleife (Tracking-Schleife) bilden. Y ist die Abkürzung für „Ja“, N ist die Abkürzung für „Nein“, und E ist die Abkürzung für „Ende“.
-
Im Verfahrensschritt S0 wird die Verfolgungsschleife initialisiert, indem sowohl für die Tracklets als auch für die Objektspuren leere Listen angelegt werden.
-
Nach dem Initialisieren der Verfolgungsschleife werden die Verfahrensschritte der Verfolgungsschleife S1 bis S8 durchgeführt, bis das letzte zu verarbeitende Radarbild erreicht ist. Wenn das letzte zu verarbeitende Radarbild erreicht ist, wird die Verfolgungsschleife in Schritt S8 beendet.
-
In der Verfolgungsschleife wird der Verfahrensschritt S1 durchgeführt, der das Detektieren von Detektionspunkten d in einem ersten Radarbild f1 ist. In diesem Beispiel sind die Radarbilder (zumindest im Wesentlichen) Heatmap s, in denen die (radiale) Geschwindigkeit über die Entfernungs- und Winkelmessungen eingezeichnet ist.
-
In der Praxis werden die Radarbilder vorverarbeitet, indem Verfahren zur Unterdrückung von Rauschen und Artefakten sowie Verfahren zur Extraktion auffälliger Regionen im Radarbild eingesetzt werden. Diese Verfahren beinhalten zum Beispiel die Schätzung eines Hintergrundmodells und die Entfernung des modellierten Hintergrunds aus dem Radarbild oder die Erstellung einer Maske, die gewünschte Bereiche hervorhebt und andere durch elementweise Multiplikation unterdrückt.
-
Für die Vorverarbeitung des Radarbildes kann z. B. das Verfahren des Constant-False-Alarm-Rate (CFAR)-Thresholding verwendet werden, bei dem ein Hintergrundmodell durch lokale Mittelung geschätzt wird. Die Grundidee hierbei ist, dass die Rauschstatistiken über das Array (das Radarbild) ungleichmäßig sein können.
-
Eine weitere mögliche Variante des obigen Verfahrens wäre Cell-Averaging- (CA-) CFAR, bei dem ein gleitender Mittelwert berechnet wird, während ein Bereich in der Mitte des Mittelungsfensters (Schutzzellen) ausgeschlossen wird, um zu vermeiden, dass ein gewünschtes Objekt in die Hintergrundschätzung einbezogen wird. Außerdem ist Order-Statistic- (OS-) CFAR eine Variante von CA-CFAR, bei der eine Perzentil-Operation anstelle einer Mittelwert-Operation verwendet wird.
-
Darüber hinaus können auch Verfahren, die eine zeitadaptive Hintergrundmodellierung verwenden, zur Vorverarbeitung der Radar-Frames eingesetzt werden. Zum Beispiel kann ein Multi-Tap-Filter, vorzugsweise ein 5-Tap-Filter, insbesondere ein 3-Tap-Filter, insbesondere ein 2-Tap-Filter mit infiniten Impulsantwort (IIR-Filter) zur zeitlichen Glättung der Vordergrunddetektion verwendet werden, um die Notwendigkeit zu vermeiden, das gesamte Hintergrundmodell bei jedem Radarbild neu zu berechnen.
-
Nach der Vorverarbeitung der Radar-Frames mit Hilfe einer Schwellenwertmethode wie oben beschrieben, werden die Vordergrundbereiche im Radar-Frame extrahiert. Einige Störspitzen können jedoch immer noch den Schwellenwert überschreiten. Die Störspitzen können entfernt werden, indem man annimmt, dass alle interessierenden Regionen als dreidimensionale Blob-Formen betrachtet werden können.
-
In diesem Beispiel umfasst die Erkennung der Detektionspunkte das Auffinden lokaler Maxima in den vorverarbeiteten Radarbild nach dem Extrahieren der Vordergrundregionen in einem Radarbild.
-
Die wie oben beschrieben erfassten Detektionspunkte d1 bis dn werden dann in der weiteren Verarbeitung der Verfolgungsschleife als Messwerte für das Verfolgen verwendet.
-
Im ersten Radarbild gibt es keine Tracklets und keine Objektspuren, da die Verfolgungsschleife mit leeren Listen von Tracklets und Objektspuren initialisiert wird. Folglich werden im ersten Radarbild die Detektionspunkte d1 bis dn verwendet, um die neuen Tracklets t1 bis tm zu initialisieren, die einen vorläufigen Zustand tragen.
-
Im Folgenden wird die Verfolgungsschleife gemäß einem Beispiel der vorliegenden Offenbarung für ein vorliegendes nicht-erstes Radarbild fp beschrieben, bei dem die Liste der Tracklets t1 bis tm nicht leer ist.
-
Im Verfahrensschritt S2 der Verfolgungsschleife gemäß diesem Beispiel wird ein oder eine Vielzahl von Parametern jedes Tracklets t1 bis tm für das aktuelle Radarbild fp durch Propagieren des dynamischen Systemmodells vorhergesagt (prädiziert).
-
Die Parameter jedes Tracklets t1 bis tm können eine Position und eine Geschwindigkeit, eine Beschleunigung und eine Kovarianz des Tracklets t1 bis tm in einem Radarbild umfassen. Das dynamische Systemmodell kann ein einfaches Modell mit konstanter Geschwindigkeit oder auch ein Modell mit konstanter Beschleunigung sein. Das Propagieren des Modells mit konstanter Geschwindigkeit kann wie folgt ausgedrückt werden:
wobei µ
t-1| t-1 die korrigierte Schätzung zum Zeitpunkt t - 1 angibt und µ
t|t-1 die vorhergesagte Schätzung zum Zeitpunkt t. Das Propagieren des Modells mit konstanter Beschleunigung kann wie folgt ausgedrückt werden:
wobei v
t-1lt-1 die korrigierte Geschwindigkeitsschätzung zum Zeitpunkt t - 1, v
t|t-1 die vorhergesagte Geschwindigkeitsschätzung zum Zeitpunkt t und a
t-1|t-1 die korrigierte Beschleunigungsschätzung zum Zeitpunkt t - 1 angibt.
-
Nach dem Prädizieren der Parameter jedes Tracklets t1 bis tm im Verfahrensschritt S2 werden die Detektionspunkte d1 bis dn den Tracklets t1 bis tm im Verfahrensschritt S3 zugeordnet.
-
Das Zuordnen der Detektionspunkte d1 bis dn zu den Tracklets t1 bis tm kann unter Verwendung eines Gating-Verfahrens erfolgen. Bei dem Gating-Verfahren wird ein Gate, das ein Assoziationsbereich ist, wie z. B. ein Rechteck, ein Quadrat, eine Ellipse oder ein Kreis, um die (vorhergesagte) Mittelposition jedes Tracklets t1 bis tm gelegt. In diesem Beispiel ist die Assoziationsregion eine Ellipse mit fester Größe.
-
Nach dem Zuordnen von Detektionspunkten d1 bis dn zu den Tracklets t1 bis tm in Verfahrensschritt S3 werden die Tracklets t1 bis tm in Verfahrensschritt S4 auf der Basis von mindestens einem Merkmalsparameter den Objektspuren g1 bis gk zugeordnet. In diesem Beispiel werden die Tracklets t1 bis tm basierend auf der Überlappung der Gates der Tracklets t1 bis tm zu Objektspuren g1 bis gk zugeordnet, wobei ein DBSCAN-Verfahren zur Gruppierung der Tracklets t1 bis tm zu Objektspuren verwendet wird.
-
Im Verfahrensschritt S5 werden die Metadaten der Tracklets t1 bis tm aktualisiert. In diesem Beispiel wird der Status der Tracklets t1 bis tm beibehalten, wobei der Status einen tentativen Zustand, einen verfolgten Zustand, einen verlorenen Zustand und einen vollständig verlorenen Zustand umfassen kann.
-
Weiterhin können die Metadaten der Tracklets t1 bis tm einen Track-Count-Wert und einen Lost- Track-Count-Wert sowie eine eindeutige Identifikationsnummer umfassen, die identifiziert, zu welcher Objektspur g1 bis gk das Tracklet t1 bis tm gehört.
-
Die Regeln für die Aktualisierung des Status erlauben es, dass ein Tracklet t1 bis tm für mehrere Radarbilder verloren geht, wenn es keine Detektionspunkte gibt, die dem Tracklet zugeordnet werden können. Schließlich, wenn das Tracklet t1 bis tm für eine vorbestimmte Zeitspanne verloren ist, wird das Tracklet als im vollständig verlorenen Zustand befindlich betrachtet.
-
Der Track-Count-Wert wird in jeder Iteration der Verfolgungsschleife erhöht, in der das Tracklet t1 bis tm verfolgt werden kann, d. h. dem Tracklet t1 bis tm Detektionspunkte zugeordnet werden können. Der Lost- Track-Count-Wert wird in jeder Iteration der Verfolgungsschleife erhöht, in der das Tracklet nicht verfolgt werden kann, d. h. dem Tracklet t1 bis tm kann kein Detektionspunkt zugeordnet werden.
-
Neu initialisierte Tracklets t1 bis tm haben zunächst einen vorläufigen Zustand, bis der Track-Count-Wert einen vorbestimmten Wert erreicht.
-
Ein Tracklet in einem vorläufigen Zustand, dem kein Detektionspunkt zugeordnet ist, wird sofort in den vollständig verlorenen Zustand aktualisiert und aus der Liste der Tracklets t1 bis tm entfernt.
-
Wenn ein Tracklet einen verfolgten Zustand hat und dem Tracklet keine Detektionspunkte d1 bis dn zugeordnet werden können, wird der Status des Tracklets auf den verlorenen Zustand aktualisiert und das Erhöhen des Lost-Track-Count-Wertes beginnt. Sobald dem Tracklet t1 bis tm wieder ein Detektionspunkt zugeordnet werden kann, wird der Status des Tracklets wieder in den verfolgten Zustand versetzt und der Track-Count-Wert sowie der Lost- Track-Count-Wert auf Null gesetzt.
-
Wenn der Lost-Track-Count Wert eines Tracklets einen vorbestimmten Wert erreicht, wird es in einen vollständig verlorenen Zustand aktualisiert und aus der Liste der Tracklets entfernt.
-
Im Verfahrensschritt S6 wird jeder Detektionspunkt, der nicht den Tracklets t1 bis tm zugeordnet wird, verwendet, um neue Tracklets zu initialisieren, die einen vorläufigen Zustand wie oben beschrieben tragen. Für jeden (nicht zugeordneten) Detektionspunkt wird ein neues Tracklet initialisiert. Die meisten solcher Tracklets sind falsch und gehen nach einigen Iterationen der Verfolgungsschleife vollständig verloren.
-
Im Verfahrensschritt S7 werden die Parameter aller aktiven Tracklets t1 bis tm (das sind Tracklets mit einem verfolgten Zustand), die im Verfahrensschritt S2 vorhergesagt (prädiziert) wurden, korrigiert. Diese Korrektur basiert auf den zugeordneten Detektionen, gemäß Regeln, die heuristisch sind oder die sich als Lösungen der Bayes'schen Filtergleichungen ergeben, die den angenommenen dynamischen Systemmodellen entsprechen. Insbesondere werden synthetische Beobachtungen durch eine gewichtete Mittelung der Detektionspunkte gebildet:
und der Alpha-Beta-Filter wird wie folgt angewendet:
wobei α, β und 2γ ∈ [0,1] Adaptionsraten sind.
-
Im Verfahrensschritt S8 wird abgefragt, ob die Verfolgungsschleife beendet werden soll, z. B. wenn das aktuelle Radarbild das letzte zu verfolgende Radarbild ist. Wenn das Verfolgen fortgesetzt werden soll, werden die Verfahrensschritte S1 bis S7 für das nächste Radarbild durchgeführt. Wenn das aktuelle Radarbild das letzte zu verfolgende Radarbild ist, wird die Verfolgungsschleife abgebrochen.
-
Im Zusammenhang mit der Reihenfolge der einzelnen Schritte der Verfolgungsschleife ist zu beachten, dass die Reihenfolge der Verfahrensschritte im vorliegenden Beispiel nicht einschränkend ist. Entsprechend kann die Reihenfolge der einzelnen Verfahrensschritte vertauscht werden, wenn dies technisch sinnvoll ist.
-
In 2 ist eine schematische Darstellung eines Beispiels eines Radarsystems 100 gemäß der vorliegenden Offenbarung dargestellt. Das Radarsystem 100 ist dazu ausgestaltet, Messdaten zu detektieren, die eine Vielzahl von (aufeinanderfolgenden) Radarbildern eines Sichtfeldes FoV des Radarsystems 100 umfassen.
-
In dem Sichtfeld FoV des Radarsystems 100 kann ein erstes sich bewegendes Objekt O1 über mehrere Radarbilder beobachtet werden, beginnend mit einem aktuellen Radarbild fp. In 2 sind drei verschiedene Positionen O1(fp), 01(fp+n, mit n=1 in diesem Beispiel) und 01(fp+m, mit m= 3 in diesem Beispiel) des bewegten Objekts O1 entlang einer Trajektorie T des bewegten Objekts O1 dargestellt.
-
Weiterhin ist in 2 ein stationäres Objekt O2 im Sichtfeld FoV des Radarsystems 100 dargestellt.
-
Ein aktuelles Radarbild fp ist in den 3A bis 3C als Radar-Doppler-Visualisierung dargestellt, wobei die Geschwindigkeit als Heatmap über die Entfernungs- und Winkeldimension dargestellt ist. In den 3A bis 3C wird der Hintergrund extrahiert, zum Beispiel nach einem Verfahren wie oben beschrieben.
-
Weiterhin werden die Detektionspunkte d1 bis d16 nach dem Verfahrensschritt S1 detektiert und in den bis als Kreise eingezeichnet. Die Anzahl der möglichen Detektionspunkte gemäß der vorliegenden Offenbarung ist in diesem Beispiel nicht auf die Anzahl der Detektionspunkte d1 bis d18 beschränkt. Der extrahierte Hintergrund ist in einem breit schraffierten Bereich der 3A bis 3C dargestellt.
-
In dem in den 3A bis 3C dargestellten Beispiel repräsentiert ein fein schraffierter Bereich, der von rechts unten nach links oben schraffiert ist, Geschwindigkeiten, die um den Nullpunkt herum liegen. Darüber hinaus stellt ein fein schraffierter Bereich, der von links unten nach rechts oben schraffiert ist, in dem in den 3A bis 3C dargestellten Beispiel Geschwindigkeiten dar, die ungleich Null sind.
-
In 3B wird das Modell des dynamischen Systems gemäß Methodenschritt S2 propagiert, so dass die vorhergesagten (mittleren) Positionen der Tracklets t1 bis t6 geschätzt werden. Die vorhergesagten (mittleren) Positionen der Tracklets t1 bis t6 sind in 3B als Quadrate dargestellt.
-
In 3B sind die Gates a1 bis a6 der Tracklets t1 bis t6 mit einer gestrichelten Linie eingezeichnet. Im Beispiel der 3A bis 3C sind die Gates a1 bis a6 der Tracklets t1 bis t6 als Ellipsen mit fester Größe dargestellt. Wie oben erläutert, können die Gates a1 bis a6 der Tracklets t1 bis t6 auch in der Größe adaptiv sein.
-
Die Detektionspunkte d1 bis d18 sind den Tracklets t1 bis t6 gemäß Verfahrensschritt S3 der Verfolgungsschleife zugeordnet, wie oben erläutert. Die Detektionspunkte d7 bis d9 sind nicht zugeordnete Detektionspunkte ud, da die Detektionspunkte d7 bis d9 innerhalb keines Gates a1 bis a6 der Tracklets t1 bis t6 liegen.
-
In dem in 3B gezeigten Beispiel liegt der Detektionspunkt d13 innerhalb von zwei Gates a3 und a4. Dementsprechend ist der Detektionspunkt d13 dem Tracklet t3 zugeordnet, da der Abstand zwischen dem Detektionspunkt d13 und der vorhergesagten (mittleren) Position des Tracklets t3 kleiner ist als der Abstand zwischen dem Detektionspunkt d13 und der vorhergesagten (mittleren) Position des Tracklets t4.
-
In 3C werden die Tracklets t1 bis t6 gemäß Verfahrensschritt S4 den Objektspuren g1 und g2 zugeordnet. In diesem speziellen Beispiel wird ein Clustering-Verfahren verwendet, um die Tracklets t1 bis t6 in Objektspuren zu clustern, basierend auf der Überlappung der Gates a1 bis a6 der Tracklets t1 bis t6 im aktuellen Radarbild. Die Objektspuren stellen die Objekte dar, die von der Verfolgungsschleife verfolgt werden sollen. Die Zentren der Objektspuren g1 und g2 sind in 3C als Rauten dargestellt.
-
4 zeigt eine schematische Darstellung eines weiteren Radarsystems 100 mit einer ersten Radareinheit 110 und einer zweiten Radareinheit 120. In diesem Beispiel umfasst das Radarsystem 100 ferner eine Verfolgungsberechnungseinheit 130, die dazu ausgestaltet ist, die erfassten Radarbilder zu verarbeiten, indem sie die Schritte des Verfahrens wie oben erläutert durchführt.
-
Es wird angemerkt, dass die Verfolgungsberechnungseinheit 130 auch Teil von mindestens einer der Radareinheiten 110 und 120 sein kann. Im Beispiel von 4 sind die Radareinheiten 110, 120 dazu ausgestaltet, die von jeder Radareinheit 110, 120 erfassten Messdaten an die Verfolgungsberechnungseinheit 130 zu übermitteln. Bei den Radareinheiten 110, 120 handelt es sich um nicht-zugehörige Radare, d.h. die Radareinheiten 110, 120 teilen sich z.B. keine Antennen in einem größeren Antennenfeld.
-
Die Radareinheiten 110, 120 weisen jeweils ein Sichtfeld FoV-110, FoV-120 auf, wobei sich die Sichtfelder FoV-110, FoV-120 der Radareinheiten 110, 120 in einem Sichtfeld FoV des Radarsystems 100 zumindest teilweise (räumlich) überlappen.
-
Im Sichtfeld FoV befindet sich ein bewegtes Objekt O1 mit einer tatsächlichen Geschwindigkeit
und wird von beiden Radareinheiten 110, 120 beobachtet. Starke, zuverlässige Reflexionspunkte des Objekts O1 in der Szene (Sichtfeld FoV) werden von beiden Radargeräten 110, 120 erfasst, um zwei radiale Geschwindigkeitskomponenten zu erhalten.
-
Die beiden radialen Geschwindigkeitskomponenten jedes Detektionspunktes d1 bis d4 können mit einer Least-Squares-Lösung gelöst werden, um einen zweidimensionalen Geschwindigkeitsvektor zu schätzen. Entsprechend kann ein mehrdimensionaler Geschwindigkeitsvektor geschätzt werden, wenn die Messdaten z.B. auch Messungen in Elevationsrichtung umfassen.
-
Die Berechnung des zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektors beinhaltet eine Interpolationsoperation zwischen den Entfernungs-Winkel-Koordinatenrastern der Radargeräte 110, 120. Für jedes Radarbild wird eine Liste von zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren entsprechend den Größen der Radarbilder (z.B. das Minimum der Größen der Radareinheiten 110, 120) entsprechend bewertet.
-
In
4 sind vier Detektionspunkte d1 bis d4 mit den entsprechenden berechneten zwei- oder mehrdimensionalen Geschwindigkeitsvektoren
bis
. dargestellt.
-
Die zwei- oder mehrdimensionalen Geschwindigkeitsvektoren können in den Aktualisierungsschritt S5, in den Initialisierungsschritt S6 und in den Korrekturschritt S7 der Verfolgungsschleife wie folgt einbezogen werden:
- Im Aktualisierungsschritt S5 ist es möglich, die Genauigkeit der Verfolgungsschleife zu verbessern. Insbesondere kann ein Übergang zwischen einem vorläufigen Zustand und einem verfolgten Zustand eines Tracklets beschleunigt werden, wenn sich das Tracklet innerhalb eines Bereichs um die Position eines Detektionspunkts befindet, für den ein zweidimensionaler Vektor bestimmt wird, und wenn ein Vergleichsmaß des mehrdimensionalen Geschwindigkeitsvektors und der mehrdimensionalen Geschwindigkeitsvektoren der benachbarten mehrdimensionalen Geschwindigkeitsvektoren des Detektionspunkts gleich oder größer als ein vorgegebener Schwellenwert ist.
-
Beispielsweise erzeugt ein zweidimensionaler oder mehrdimensionaler Geschwindigkeitsvektor, dessen der Bewegungsrichtung mit denen seiner Nachbarn übereinstimmt, einen sogenannten Hotspot um den entsprechenden Detektionspunkt des zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektors.
-
Der sogenannte Hotspot kann z. B. ein elliptischer Bereich, ein rechteckiger Bereich, ein kreisförmiger Bereich oder dergleichen in kartesischen Koordinaten sein.
-
Die zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren können durch die Position des entsprechenden Detektionspunkts um die zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren aussortiert werden, um die Nachbarn der zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren zu identifizieren.
-
Als Vergleichsmaßstab hot
i kann das normierte Innenprodukt der Geschwindigkeitsvektoren mit den Geschwindigkeitsvektoren des Nachbarn berechnet und aufsummiert werden. Das aufsummierte, normierte Innenprodukt der Geschwindigkeitsvektoren hot
i kann dann mit einem vorgegebenen Schwellwert hot
thresh verglichen werden, um zu bestimmen, ob ein Hotspot erzeugt wird oder nicht:
-
Das normalisierte Innenprodukt misst die Übereinstimmung darüber, in welche Richtung sich das Objekt an diesem Ort bewegt. Die Summe ist eine Anhäufungsmetrik, die für eine Anzahl n von Geschwindigkeitsvektoren von -n (perfekte Nichtübereinstimmung) über 0 (Erwartungswert, wenn die Richtungen gleichmäßig zufällig sind) bis n (perfekte Übereinstimmung) reicht.
-
In ähnlicher Weise können im Initialisierungsschritt S6 Tracklets schneller mit einem verfolgten Zustand initialisiert werden, wenn zwei- oder mehrdimensionale Geschwindigkeitsvektoren von beobachteten Detektionspunkten verfügbar sind.
-
Tracklets oder Objektspuren (Gruppen von Tracklets) können mit einem verfolgten Zustand anstelle eines tentativen Zustands initialisiert werden, wenn das gleiche Vergleichsmaß gilt.
-
So können z. B. sowohl Tracklets als auch Objektspuren in einem Radarbild mit einem verfolgten Zustand für ein Objekt initialisiert werden, solange die beobachteten Detektionspunkte und genügend zwei- oder mehrdimensionale Geschwindigkeitsvektoren in seiner Nachbarschaft übereinstimmen.
-
Außerdem können die zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren in den Korrekturschritt S7 der Verfolgungsschleife einbezogen werden.
-
Zum Beispiel kann der Aktualisierungsschritt S5 durchgeführt werden und dann ein weiterer (separater) Aktualisierungsschritt auf der Basis der benachbarten zwei- oder mehrdimensionalen Geschwindigkeitsvektoren. Hier enthalten die zu korrigierenden Tracklets Geschwindigkeitsvektoren als Parameter, so dass die Mittelposition und der Geschwindigkeitsvektor des Tracklets zum Gaten (Aussortieren) der Position und Geschwindigkeit verwendet werden können. Dann kann ein Median über die zweidimensionalen oder mehrdimensionalen Geschwindigkeitsvektoren berechnet werden, um weitere Ausreißer zu verwerfen und die Geschwindigkeit des Tracklets mit einer entsprechend gewichteten konvexen Kombination zu aktualisieren:
wobei ζ ∈ [0,1]. Dieser Schritt der Median-Aggregation und der konvexen Kombination kann auch verwendet werden, um die Geschwindigkeit eines Tracklets, das aufgrund von zwei- oder mehrdimensionalen Geschwindigkeitsvektoren (wie oben beschrieben) initialisiert wurde, warm zu starten.
-
5 zeigt ein System 1000 mit einem autonomen Fahrzeug 1100 und einem Radarsystem 100 gemäß Ausführungsformen. Das Radarsystem 100 umfasst eine erste Radareinheit 110 mit mindestens einer ersten Radarantenne 111 (zum Senden und/oder Empfangen entsprechender Radarsignale), eine zweite Radareinheit 120 mit mindestens einer zweiten Radarantenne 121 (zum Senden und/oder Empfangen entsprechender Radarsignale) und eine Verfolgungsberechnungseinheit 130.
-
Das System 1000 kann eine Fahrgastschnittstelle 1200, einen Fahrzeugkoordinator 1300 und/oder eine Fern-Expertenschnittstelle 1400 umfassen. In bestimmten Ausführungsformen erlaubt die Fern-Expertenschnittstelle 1400 einer Nicht-Passagier-Entität, die Verhaltenseinstellungen des autonomen Fahrzeugs 1100 einzustellen und/oder zu ändern. Die Nicht-Passagier- Entität kann sich von dem Fahrzeugkoordinator 1300 unterscheiden, der ein Server sein kann.
-
Das System 1000 funktioniert derart, dass das autonome Fahrzeug 1100 in der Lage ist, ein Fahrverhalten in Reaktion auf Parameter zu ändern und/oder einzustellen, die vom Fahrgast (z. B. über die Fahrgastschnittstelle 1200) und/oder anderen interessierten Beteiligten (z. B. über den Fahrzeugkoordinator 1300 oder die Fern-Expertenschnittstelle 1400) eingestellt wurden. Das Fahrverhalten eines autonomen Fahrzeugs kann entsprechend expliziter Eingaben oder Rückmeldungen (z. B. ein Fahrgast, der eine Höchstgeschwindigkeit oder ein relatives Komfortniveau vorgibt), impliziter Eingaben oder Rückmeldungen (z. B. die Herzfrequenz eines Fahrgastes) oder jeder anderen geeigneten Daten oder Art der Übermittlung von Fahrverhaltenspräferenzen geändert werden.
-
Das autonome Fahrzeug 1100 ist vorzugsweise ein vollständig autonomes Automobil, kann aber zusätzlich oder alternativ jedes beliebige teilautonome oder vollständig autonome Fahrzeug sein; z. B. ein Boot, ein unbemanntes Luftfahrzeug, ein fahrerloses Auto usw. Zusätzlich oder alternativ kann das autonome Fahrzeug ein Fahrzeug sein, das zwischen einem teilautonomen Zustand und einem vollständig autonomen Zustand umschaltet, und somit können die autonomen Fahrzeuge je nach Zustand des Fahrzeugs sowohl Attribute eines teilautonomen Fahrzeugs als auch eines vollständig autonomen Fahrzeugs aufweisen.
-
Das autonome Fahrzeug 1100 umfasst vorzugsweise eine Gaspedalschnittstelle, die eine Motordrossel, die Motordrehzahl (z. B. die Drehzahl eines Elektromotors) oder einen anderen Mechanismus zur Bewegungsermöglichung steuert; eine Bremsschnittstelle, die die Bremsen des autonomen Fahrzeugs (oder einen anderen Mechanismus zur Bewegungshemmung) steuert; und eine Lenkschnittstelle, die die Lenkung des autonomen Fahrzeugs steuert (z. B. durch Ändern des Winkels der Räder des autonomen Fahrzeugs). Das autonome Fahrzeug 1100 kann zusätzlich oder alternativ Schnittstellen zur Steuerung beliebiger anderer Fahrzeugfunktionen enthalten; z. B. Scheibenwischer, Scheinwerfer, Blinker, Klimaanlage usw.
-
Darüber hinaus umfasst das autonome Fahrzeug 1100 vorzugsweise einen Bordcomputer 1450.
-
Die Verfolgungsberechnungseinheit 130 kann zumindest teilweise im und/oder am Fahrzeug 1100 angeordnet sein und kann (zumindest teilweise) in den Bordcomputer 1450 integriert sein und/oder kann (zumindest teilweise) in eine Recheneinheit zusätzlich zum Bordcomputer 1450 integriert sein. Alternativ oder zusätzlich kann die Ortungseinheit (zumindest teilweise) in die erste und/oder zweite Radareinheit 110, 120 integriert sein. Wenn die Verfolgungseinheit 130 (zumindest teilweise) zusätzlich zum Bordcomputer 1450 vorgesehen ist, kann sie in Kommunikation mit dem Bordcomputer stehen, so dass Daten von der Verfolgungseinheit 130 an den Bordcomputer 1450 und/oder umgekehrt übertragen werden können.
-
Zusätzlich oder alternativ kann die Verfolgungsberechnungseinheit 130 (zumindest teilweise) in eine oder mehrere oder alle der Beifahrerschnittstelle 1200, des Fahrzeugkoordinators 1300 und/oder einer Fern-Expertenschnittstelle 1400 integriert sein. Insbesondere kann in einem solchen Fall das Radarsystem die Fahrgastschnittstelle 1200, den Fahrzeugkoordinator 1300 und/oder eine Fern-Expertenschnittstelle 1400 umfassen.
-
Zusätzlich zu der/den einen oder zwei oder mehreren RADAR-Einheit(en) umfasst das autonome Fahrzeug 1100 vorzugsweise eine Sensoreinheit 1500 (einschließlich z. B. eines oder mehrerer oder aller Computer-Vision-Systeme („CV“), LIDAR, Radgeschwindigkeitssensoren, GPS, Kameras usw.).
-
Der Bordcomputer 1450 kann als ADSC implementiert sein und funktioniert, um das autonome Fahrzeug 1100 zu steuern und verarbeitet erfasste Daten von der Sensoreinheit 1500 und/oder anderen Sensoren, insbesondere Sensoren, die von den Radareinheiten 110, 120 bereitgestellt werden, und/oder Daten von der Verfolgungsberechnungseinheit 130, um den Zustand des autonomen Fahrzeugs 1100 zu bestimmen. Basierend auf dem Fahrzeugzustand und programmierten Anweisungen modifiziert oder steuert der Bordcomputer 1450 vorzugsweise das Fahrverhalten des autonomen Fahrzeugs 1100.
-
Das Fahrverhalten kann alle Informationen umfassen, die sich darauf beziehen, wie ein autonomes Fahrzeug fährt (z. B. das Betätigen von Bremsen, Gaspedal, Lenkung), wenn ein Satz von Anweisungen (z. B. eine Route oder ein Plan) gegeben ist. Das Fahrverhalten kann eine Beschreibung des kontrollierten Betriebs und der Bewegung eines autonomen Fahrzeugs und der Art und Weise, wie das autonome Fahrzeug Verkehrsregeln während einer oder mehrerer Fahrsitzungen anwendet, beinhalten. Das Fahrverhalten kann zusätzlich oder alternativ alle Informationen darüber enthalten, wie ein autonomes Fahrzeug Routen berechnet (z. B. Priorisierung der schnellsten Zeit gegenüber der kürzesten Strecke), anderes Betätigungsverhalten des autonomen Fahrzeugs (z. B. Betätigung von Lichtern, Scheibenwischern, Einstellungen der Antriebsschlupfregelung usw.) und/oder wie ein autonomes Fahrzeug auf Umwelteinflüsse reagiert (z. B. wie sich ein autonomes Fahrzeug verhält, wenn es regnet oder wenn ein Tier vor das Fahrzeug springt). Einige Beispiele für Elemente, die zum Fahrverhalten beitragen können, sind Beschleunigungsbeschränkungen, Verzögerungsbeschränkungen, Geschwindigkeitsbeschränkungen, Lenkungsbeschränkungen, Federungseinstellungen, Routenpräferenzen (z. B. landschaftlich reizvolle Routen, schnellere Routen, keine Autobahnen), Beleuchtungspräferenzen, Verhalten bei „rechtlicher Unklarheit“ (z. B., (z. B. ob ein Fahrzeug bei Grün in die Kreuzung einfährt oder an der Kreuzungslinie wartet), Aktionsprofile (z. B. wie ein Fahrzeug abbiegt, die Spur wechselt oder ein Fahrmanöver durchführt) und Aktionshäufigkeitsbeschränkungen (z. B. wie oft ein Fahrzeug die Spur wechselt).
-
Der Bordcomputer 1450 steuert den Betrieb und die Funktionalität der autonomen Fahrzeuge 1100 und verarbeitet Messdaten von der Sensoreinheit 1500 und/oder anderen Sensoren, insbesondere von den Radareinheiten 110, 120, und/oder Daten von der Verfolgungsberechnungseinheit 130, um Zustände der autonomen Fahrzeuge 1100 zu bestimmen. Basierend auf dem Fahrzeugzustand und programmierten Anweisungen modifiziert oder steuert der Bordcomputer 1450 vorzugsweise das Verhalten der autonomen Fahrzeuge 1100. Die Verfolgungsberechnungseinheit und/oder der Bordcomputer 1450 ist/sind vorzugsweise ein Allzweckcomputer, der/die für die I/O-Kommunikation mit Fahrzeugsteuerungssystemen und Sensorsystemen geeignet ist, kann aber zusätzlich oder alternativ jede geeignete Recheneinheit sein. Der Bordcomputer 1450 ist vorzugsweise über eine drahtlose Verbindung (z. B. über eine zellulare Datenverbindung) mit dem Internet verbunden. Zusätzlich oder alternativ kann der Bordcomputer 1450 mit einer beliebigen Anzahl von drahtlosen oder drahtgebundenen Kommunikationssystemen verbunden sein.
-
Die Sensoreinheit 1500 umfasst vorzugsweise Lokalisierungs- und Fahrsensoren, z. B. Fotodetektoren, Kameras, SONAR, LIDAR, GPS, Inertialmesseinheiten (IMUs), Beschleunigungsmesser, Mikrofone, Dehnungsmessstreifen, Druckwächter, Barometer, Thermometer, Höhenmesser usw.
-
In einem Ausführungsbeispiel kann eine beliebige Anzahl elektrischer Schaltungen aus 5, insbesondere als Teil der Verfolgungsrecheneinheit 130, des Bordcomputers 1450, der Fahrgastschnittstelle 1200, des Fahrzeugkoordinators 1300 und/oder der Fern-Expertenschnittstelle 1400 auf einer Platine eines zugehörigen elektronischen Geräts implementiert werden. Bei der Platine kann es sich um eine allgemeine Leiterplatte handeln, die verschiedene Komponenten des internen elektronischen Systems des elektronischen Geräts aufnehmen kann und darüber hinaus Anschlüsse für andere Peripheriegeräte bereitstellen kann. Genauer gesagt, kann die Platine die elektrischen Verbindungen bereitstellen, über die die anderen Komponenten des Systems elektrisch kommunizieren können. Alle geeigneten Prozessoren (einschließlich digitaler Signalprozessoren, Mikroprozessoren, unterstützender Chipsätze usw.), computerlesbare nicht-flüchtige Speicherelemente usw. können in geeigneter Weise mit der Platine verbunden werden, basierend auf bestimmten Konfigurationsanforderungen, Verarbeitungsanforderungen, Computerdesigns usw. Andere Komponenten, wie z. B. externe Speicher, zusätzliche Sensoren, Controller für die Audio-/Videowiedergabe und Peripheriegeräte können als Steckkarten, über Kabel oder integriert in die Platine selbst an die Platine angeschlossen werden. In verschiedenen Ausführungsformen können die hier beschriebenen Funktionalitäten in Emulationsform als Software oder Firmware implementiert werden, die innerhalb eines oder mehrerer konfigurierbarer (z. B. programmierbarer) Elemente läuft, die in einer Struktur angeordnet sind, die diese Funktionen unterstützt. Die Software oder Firmware, die die Emulation bereitstellt, kann auf einem nicht-flüchtigen, computerlesbaren Speichermedium bereitgestellt werden, das Anweisungen enthält, die es einem oder mehreren Prozessoren ermöglichen, diese Funktionalitäten auszuführen.
-
Bezugszeichenliste
-
- S0
- Verfahrensschritt des Initialisierens der Verfolgungsschleife;
- S1
- Verfahrensschritt des Erkennens von Detektionspunkten in dem aktuellen Radarbild;
- S2
- Verfahrensschritt der Vorhersage eines oder mehrerer Parameter jedes Tracklets;
- S3
- Verfahrensschritt des Zuordnens der Detektionspunkte zu den Tracklets;
- S4
- Verfahrensschritt des Zuordnens der Tracklets zu den Objektspuren;
- S5
- Verfahrensschritt des Aktualisierens der Metadaten der Tracklets;
- S6
- Verfahrensschritt des Initialisierens neuer Tracklets;
- S7
- Verfahrensschritt des Korrigierens der Parameter der Tracklets;
- S8
- Verfahrensschritt des Abfragens, ob der vorliegende Radarbild der letzte zu verarbeitende Radarbild ist;
- a1 bis al
- Gates (Assoziationsbereiche) der Tracklets;
- d1 bis dn
- Detektionspunkte;
- t1 bis tm
- Tracklets;
- g1 bis gk
- Objektspuren;
- du
- nichtzugeordnete Detektionspunkt;
- fp
- aktuelles Radarbild;
- fp+1
- Radarbild, das auf das aktuelle Radarbild folgt;
- fp+2
- weiteres Radarbild, das auf das aktuelle Radarbild folgt;
- O1, O2
- erste und zweite Objekte;
- O1(fp)
- erstes Objekt in einem aktuellen Radarbild;
- T
- Trajektorie;
- FoV
- Sichtfeld des Radarsystems;
- FoV-110
- Sichtfeld der ersten Radareinheit;
- FoV-120
- Sichtfeld der zweiten Radareinheit;
-
- Ist-Geschwindigkeit des Objekts;
-
- zwei- oder mehrdimensionale Geschwindigkeitsvektoren eines Detektionspunktes;
- 100
- Radarsystem;
- 110
- erste Radareinheit;
- 111
- erste Radarantenne;
- 120
- zweite Radareinheit;
- 121
- zweite Radarantenne;
- 130
- Verfolgungsberechnungseinheit
- 1000
- System
- 1100
- Fahrzeug
- 1200
- Fahrgastschnittstelle 1200
- 1300
- Fahrzeugkoordinator 1300
- 1400
- Fern-Expertenschnittstelle
- 1450
- Bordcomputer
- 1500
- Sensoreinheit
-
Die obige Beschreibung der dargestellten Ausführungsformen erhebt keinen Anspruch auf Vollständigkeit oder Einschränkung hinsichtlich der genauen Formen, die offengelegt werden. Während spezifische Implementierungen von und Beispiele für verschiedene Ausführungsformen oder Konzepte hier zur Veranschaulichung beschrieben werden, sind verschiedene äquivalente Modifikationen möglich, wie Fachleute auf dem entsprechenden Gebiet erkennen werden. Diese Modifikationen können unter Berücksichtigung der obigen detaillierten Beschreibung oder der Figuren vorgenommen werden.
-
Verschiedene Ausführungsformen können jede geeignete Kombination der oben beschriebenen Ausführungsformen umfassen, einschließlich alternativer (oder) Ausführungsformen von Ausführungsformen, die oben in konjunktiver Form (und) beschrieben sind (z. B. kann das „und“ „und/oder“ sein). Darüber hinaus können einige Ausführungsformen einen oder mehrere Herstellungsgegenstände (z. B. nicht-flüchtige computerlesbare Medien) mit darauf gespeicherten Anweisungen umfassen, die bei ihrer Ausführung zu Aktionen einer der oben beschriebenen Ausführungsformen führen. Darüber hinaus können einige Ausführungsformen Vorrichtungen oder Systeme mit allen geeigneten Mitteln zur Ausführung der verschiedenen Vorgänge der oben beschriebenen Ausführungsformen umfassen.
-
In bestimmten Kontexten können die hier besprochenen Ausführungsformen auf Automobilsysteme (insbesondere autonome Fahrzeuge, vorzugsweise autonome Automobile), (sicherheitskritische) industrielle Anwendungen und industrielle Prozesssteuerung anwendbar sein.
-
Darüber hinaus können bestimmte hier besprochene Ausführungsformen zur Verfolgung mindestens eines Objekts in Messdaten eines Radarsystems in digitalen Signalverarbeitungstechnologien für medizinische Bildgebung, Automobiltechnologien für Sicherheitssysteme (z. B. Stabilitätskontrollsysteme, Fahrerassistenzsysteme, Bremssysteme, Infotainment- und Innenraumanwendungen jeglicher Art) bereitgestellt werden.
-
Teile verschiedener Systeme zum Verfolgen mindestens eines Objekts in Messdaten eines Radarsystems, wie hier vorgeschlagen, können elektronische Schaltungen enthalten, um die hier beschriebenen Funktionen auszuführen. In einigen Fällen können ein oder mehrere Teile des Systems durch einen Prozessor bereitgestellt werden, der speziell für die Ausführung der hierin beschriebenen Funktionen ausgestaltet ist. Beispielsweise kann der Prozessor eine oder mehrere anwendungsspezifische Komponenten enthalten, oder er kann programmierbare Logikgatter enthalten, die dazu ausgestaltet sind, die hier beschriebenen Funktionen auszuführen. Die Schaltung kann im analogen Bereich, im digitalen Bereich oder in einem Mixed-Signal-Bereich arbeiten. In einigen Fällen kann der Prozessor dazu ausgestaltet sein, die hierin beschriebenen Funktionen auszuführt, indem er eine oder mehrere Anweisungen ausführt, die auf einem nicht-flüchtigen, computerlesbaren Speichermedium gespeichert sind.
-
In einem Ausführungsbeispiel kann eine beliebige Anzahl von elektrischen Schaltungen der vorliegenden Figuren auf einer Platine eines zugehörigen elektronischen Geräts implementiert sein. Die Platine kann eine allgemeine Leiterplatte sein, die verschiedene Komponenten des internen elektronischen Systems des elektronischen Geräts aufnehmen kann und darüber hinaus Anschlüsse für andere Peripheriegeräte bereitstellen kann. Genauer gesagt, kann die Platine die elektrischen Verbindungen bereitstellen, über die die anderen Komponenten des Systems elektrisch kommunizieren können. Alle geeigneten Prozessoren (einschließlich digitaler Signalprozessoren, Mikroprozessoren, unterstützender Chipsätze usw.), computerlesbare nicht-flüchtige Speicherelemente usw. können in geeigneter Weise mit der Platine verbunden werden, basierend auf bestimmten Konfigurationsanforderungen, Verarbeitungsanforderungen, Computerdesigns usw. Andere Komponenten, wie z. B. externe Speicher, zusätzliche Sensoren, Controller für die Audio-/Videowiedergabe und Peripheriegeräte können als Steckkarten, über Kabel oder integriert in die Platine selbst an die Platine angeschlossen werden. In verschiedenen Ausführungsformen können die hier beschriebenen Funktionalitäten in Emulationsform als Software oder Firmware implementiert werden, die innerhalb eines oder mehrerer konfigurierbarer (z. B. programmierbarer) Elemente läuft, die in einer Struktur angeordnet sind, die diese Funktionen unterstützt. Die Software oder Firmware, die die Emulation bereitstellt, kann auf einem nicht-flüchtigen, computerlesbaren Speichermedium bereitgestellt werden, das Anweisungen enthält, die es einem Prozessor ermöglichen, diese Funktionalitäten auszuführen.