-
Die vorliegende Erfindung betrifft eine Vorrichtung zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt. Die vorliegende Erfindung betrifft weiterhin ein System und ein Verfahren zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt.
-
Moderne Fahrzeuge (Autos, Transporter, Lastwagen, Motorräder etc.) verfügen über eine Vielzahl von Sensoren, die dem Fahrer Informationen zur Verfügung stellen und einzelne Funktionen des Fahrzeugs teil- oder vollautomatisiert steuern. Über Sensoren werden die Umgebung des Fahrzeugs sowie andere Verkehrsteilnehmer erfasst. Basierend auf den erfassten Daten kann ein Modell der Fahrzeugumgebung erzeugt werden und auf Veränderungen in dieser Fahrzeugumgebung reagiert werden.
-
Ein wichtiges Sensorprinzip ist dabei die Radartechnik. Die meisten heutzutage im Fahrzeugbereich eingesetzten Radarsensoren arbeiten als Multipuls-Radarsensoren (auch als Chirp Sequence Radarsensoren bezeichnet), bei denen in kurzen Abständen mehrere frequenzmodulierte Pulse ausgesendet werden. Die Radarsensoren umfassen typischerweise mehrere Sende- und Empfangselemente (Antennenarray), die virtuelle Kanäle (Rx/Tx-Antennenpaare) bilden. Nach einer Vorverarbeitung stellt der Radarsensor dann periodisch eine Radar-Zieleliste (auch als Punktewolke bezeichnet) für die weitere Verarbeitung bereit. Diese Radar-Zieleliste umfasst für die erfassten Ziele insbesondere die Parameter Abstand, Radial- bzw. Dopplergeschwindigkeit sowie (soweit verfügbar) Azimut- und Elevationswinkel und bildet die Basis für eine Umgebungserkennung.
-
Ein weiteres relevantes Sensorprinzip ist die Lidartechnik (light detection and ranging). Ein Lidarsensor basiert auf der Aussendung von Lichtsignalen und der Detektion des reflektierten Lichts. Mittels einer Laufzeitmessung kann ein Abstand zum Ort der Reflexion berechnet werden. Zudem ist bei modernen Lidarsensoren auch die Ermittlung einer Relativ- bzw. Dopplergeschwindigkeit möglich (sog. FMCW-Lidar). Vergleichbar zu einem Radarsensor kann eine entsprechende Lidar-Zieleliste zur Verfügung gestellt werden.
-
Im Bereich der Fahrerassistenzsysteme und des (teil-) autonomen Fahrens stellt die Ermittlung einer Relativposition eines anderen Objekts in Bezug zu dem eigenen Fahrzeug bzw. zu der Position des Umgebungssensors eine wichtige Problemstellung dar. Einerseits kann das eigene Fahrzeug in Bezug zur Umgebung lokalisiert werden. Andererseits können andere Objekte in der Umgebung, wie beispielsweise Verkehrszeichen oder andere Fahrzeuge, lokalisiert werden.
-
Um eine Auswertung der Sensordaten über mehrere Zeitschritte zu ermöglichen, ist es dabei oft erforderlich, einen Bezug zwischen einer Zieleliste (Zielpunkteliste), die zu einem ersten Zeitpunkt ermittelt wurde, und einer Zieleliste, die zu einem zweiten Zeitpunkt ermittelt wurde, herzustellen (Scanmatching). Dieser Bezug bildet die Grundlage für eine Verfolgung des Objekts oder der eigenen Position. Um diesen Bezug herzustellen, kann insbesondere eine Schätzung bzw. Bestimmung einer Relativbewegung zwischen dem Umgebungssensor und dem Objekt erfolgen und eine Transformation bestimmt werden. Die Transformation umfasst dabei zumeist eine Rotationsmatrix sowie einen Translationsvektor. Ein weit verbreiteter Ansatz ist dabei der Iterative-Closest-Point-Ansatz (ICP), der eine iterative Lösung für das Auffinden von Punktkorrespondenzen zwischen verschiedenen Scans bietet und ausgehend von den aufgefundenen Korrespondenzen eine optimale Transformation ermittelt. Hierbei werden die Positionen der unterschiedlichen Punkte betrachtet.
-
-
Nachteilig an bisherigen Ansätzen zum Ermitteln einer Relativbewegung ist, dass aufgrund der hohen Abweichungen bzw. der Sensorungenauigkeiten von Radar- oder auch Lidarsensoren Ungenauigkeiten entstehen können. Ungenauigkeiten beim Scanmatching können dazu führen, dass die nachgelagerten Informationsverarbeitungsansätze ebenfalls fehlerhafte Resultate liefern. Ansätze, die zu höheren Genauigkeiten führen, sind oft wesentlich rechenaufwendiger und daher nicht praktikabel.
-
Ausgehend hiervon stellt sich der vorliegenden Erfindung die Aufgabe, einen Ansatz zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt bereitzustellen, der eine hohe Zuverlässigkeit und Genauigkeit bietet und zudem effizient berechenbar ist. Insbesondere soll ein hochgenaues Scanmatching über mehrere Abtastzeitpunkte ermöglicht werden, um hierdurch eine Selbstlokalisierung und/oder eine Lokalisierung anderer Objekte zu erlauben.
-
Zum Lösen dieser Aufgabe betrifft die Erfindung in einem ersten Aspekt eine Vorrichtung zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt, mit:
- einer Eingangsschnittstelle zum Empfangen einer Zielpunkteliste eines Umgebungssensors mit Informationen zu Dopplergeschwindigkeiten und Positionen von Zielpunkten an dem Objekt und eines Bildsignals eines Kamerasensors mit Informationen zu einer Position des Objekts in einer Bildebene;
- einer Translationseinheit zum Bestimmen einer Translationsgeschwindigkeit des Objekts basierend auf der Zielpunkteliste;
- einer Rotationseinheit zum Bestimmen einer Rotation des Objekts basierend auf dem Bildsignal und der Translationsgeschwindigkeit; und
- einer Ausgabeeinheit zum Ausgeben der Translationsgeschwindigkeit und der Rotation des Objekts.
-
In einem weiteren Aspekt betrifft die vorliegende Erfindung ein System zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt, mit:
- einer Vorrichtung wie zuvor beschrieben;
- einem Kamerasensor zum Detektieren von Objekten in der Umgebung eines Fahrzeugs; und
- einem Umgebungssensor zum Detektieren von Objekten in einer Umgebung eines Fahrzeugs.
-
Weitere Aspekte der Erfindung betreffen ein entsprechend der zuvor beschriebenen Vorrichtung ausgebildetes Verfahren und ein Computerprogrammprodukt mit Programmcode zum Durchführen der Schritte des Verfahrens, wenn der Programmcode auf einem Computer ausgeführt wird, sowie ein Speichermedium, auf dem ein Computerprogramm gespeichert ist, das, wenn es auf einem Computer ausgeführt wird, eine Ausführung des hierin beschriebenen Verfahrens bewirkt.
-
Bevorzugte Ausgestaltungen der Erfindung werden in den abhängigen Ansprüchen beschrieben. Es versteht sich, dass die vorgenannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. Insbesondere können das System, das Verfahren und das Computerprogrammprodukt entsprechend der für die Vorrichtung in den abhängigen Ansprüchen beschriebenen Ausgestaltungen ausgeführt sein.
-
Erfindungsgemäß ist es vorgesehen, dass über eine Eingangsschnittstelle eine Zielpunkteliste eines Umgebungssensors empfangen wird. Insbesondere werden Daten eines Radarsensors oder eines Lidarsensors empfangen, die einerseits eine Position und andererseits eine Dopplergeschwindigkeit von mehreren Sensorzielpunkten umfassen. Vorzugsweise werden fortlaufend Zielpunktelisten zu aufeinanderfolgenden Abtastzeitpunkten des Sensors empfangen. Weiterhin wird ein Bildsignal eines Kamerasensors empfangen. Das Bildsignal wird vorzugsweise ebenfalls fortlaufend bzw. mit einer vordefinierten Bildwiederholungsrate empfangen. In einem ersten Schritt wird dann eine Translationsgeschwindigkeit, also eine lineare Geschwindigkeit, des Objekts bestimmt. Hierzu werden insbesondere die Dopplergeschwindigkeiten der verschiedenen Zielpunkte an dem Objekt ausgewertet. Die Relativgeschwindigkeit wird insoweit in Form der Dopplergeschwindigkeit direkt gemessen. Es ist lediglich eine entsprechende Umrechnung notwendig, um ausgehend von der Dopplergeschwindigkeit (Radialgeschwindigkeit) unter Berücksichtigung der Winkelposition durch eine Transformation eine Lineargeschwindigkeit in einem sensorfesten Koordinatensystem zu berechnen. Aus der Translationsgeschwindigkeit ergibt sich unter Berücksichtigung der Abtastfrequenz eine lineare Relativbewegung. In einem weiteren Schritt wird dann eine Rotation des Objekts ausgehend von dem Bildsignal sowie ausgehend von der Translationsgeschwindigkeit bestimmt. Es wird insoweit also für die Bestimmung der Rotation des Objekts auf die zuvor in einem separaten Schritt bestimmte Translationsgeschwindigkeit zurückgegriffen. Die ermittelte Translationsgeschwindigkeit und Rotation des Objekts werden ausgegeben und stehen dann für die weitere Verarbeitung, beispielsweise in einem Fahrzeugsteuergerät, zur Verfügung.
-
Das Verfahren der vorliegenden Erfindung kann insbesondere zu einem Scanmatching eingesetzt werden. Im Vergleich zu bisherigen Ansätzen, bei denen ein Scanmatching basierend auf Positionen verschiedener Scanpunkte vorgenommen wurde, wird erfindungsgemäß zunächst ausgehend von der Dopplergeschwindigkeit eine Translationsgeschwindigkeit bestimmt. Diese Translationsgeschwindigkeit wird dann bei der Bestimmung der Rotation berücksichtigt. Insoweit liegt der vorliegenden Erfindung der Gedanke zugrunde, dass für einen Sensor, der die Dopplergeschwindigkeit direkt misst, beim Scanmatching auf diese gemessene Dopplergeschwindigkeit zurückgegriffen werden kann. Die Berechnung der Lineargeschwindigkeit wird der Berechnung der Rotation vorgelagert. Im Vergleich zu bisherigen Ansätzen kann eine effizientere Berechnung realisiert und gleichzeitig eine höhere Genauigkeit erzielt werden. Als Folge kann eine zuverlässige und genaue Erkennung einer Relativbewegung und einer Relativposition zwischen Umgebungssensor und Objekt berechnet werden.
-
In einer bevorzugten Ausgestaltung ist die Rotationseinheit zum Ermitteln von optischen Flussvektoren des Objekts basierend auf dem Bildsignal ausgebildet ist. Weiterhin ist die Rotationseinheit zum Bestimmen der Rotation basierend auf einer Lösung von optischen Flussgleichungen unter Verwendung der optischen Flussvektoren unter Miteinbeziehung der Translationsgeschwindigkeit als Randbedingung ausgebildet. Die zuvor ermittelte Translationsgeschwindigkeit wird als Randbedingung bei einer Betrachtung des optischen Flusses im Bildsignal des Kamerasensors berücksichtigt. Die Translationsgeschwindigkeit wird sozusagen als Vorgabe miteinbezogen. Basierend auf einer Auswertung des optischen Flusses wird versucht, eine Rotation zu finden, die die Beobachtung möglichst gut beschreibt, wenn die zuvor ermittelte Translationsgeschwindigkeit vorausgesetzt wird. Es ergibt sich eine effiziente Berechenbarkeit.
-
In einer bevorzugten Ausgestaltung ist die Rotationseinheit zum Bestimmen der Rotation bezüglich einer Gierachse des Umgebungssensors unter der Randbedingung, dass keine Rotation bezüglich einer Längs- oder Querachse vorliegt, ausgebildet. Zusätzlich oder alternativ ist die Rotationseinheit zum Bestimmen der Rotation unter Zugrundelegung einer Epipolargeometrie ausgebildet. Die Rotation wird lediglich bezüglich einer Gierachse bestimmt. Die Gierachse entspricht dabei insbesondere einer Gierachse eines Fahrzeugs, in das der Umgebungssensor sowie der Kamerasensor eingebaut sind. Die Rotation bezüglich der Gierachse ist insoweit von besonderem Interesse, als sie eine Rotation in einer zweidimensionalen Untergrundebene beschreibt und somit eine Erfassung der Bewegung innerhalb dieser Untergrundebene ermöglicht. Durch die Bestimmung der Rotation bezüglich einer einzelnen Achse und die Festlegung, dass bezüglich der anderen Achsen keine Rotation vorliegt, kann die entsprechende Berechnung vereinfacht werden. Es ergibt sich eine effiziente Berechenbarkeit. Wenn zusätzlich eine Epipolargeometrie angenommen wird und vorausgesetzt wird, dass sich der Kamerasensor zwischen zwei Zeitschritten, zu denen jeweils ein Bild erfasst wurde, bewegt hat, kann die Berechnung des optischen Flusses weiter vereinfacht werden. Es wird eine epipolare Randbedingung angewendet. Insbesondere können Mehrdeutigkeiten erkannt und berücksichtigt werden. Die Berechnung kann vereinfacht werden. Es ergibt sich eine genaue und effizient berechenbare Schätzung der Rotation des Objekts.
-
In einer bevorzugten Ausgestaltung ist die Translationseinheit zum Bestimmen der Translationsgeschwindigkeit basierend auf einem Random-Sample-Consensus-(RANSAC-) Algorithmus ausgebildet. Vorzugsweise ist die Translationseinheit zum Bestimmen der Translationsgeschwindigkeit in Form eines Dopplerprofils des Objekts über einen Azimutwinkel ausgebildet. Translationsgeschwindigkeit und Rotation werden insbesondere in einem sensorfesten Koordinatensystem ausgehend von einer Position und Ausrichtung des Umgebungssensors bestimmt. Es kann ein Dopplerprofil des Objekts über einen Azimutwinkel erzeugt werden. Es ergibt sich eine effiziente Berechnungsmöglichkeit.
-
In einer bevorzugten Ausgestaltung ist die Translationseinheit zum Bestimmen der Translationsgeschwindigkeit basierend auf einer Translationsmodellierung über mehrere Zeitschritte und einer Zustandsschätzung ausgebildet. Ein Zustandsmodell der Translationsmodellierung bildet vorzugsweise eine Beschleunigung des Objekts ab. Weiter vorzugsweise wird für die Zustandsschätzung ein Kalmanfilter angewendet. Im Falle der Translationseinheit wird insoweit ein komplexeres Zustandsmodell verwendet, bei dem der Zustandsvektor eine Beschleunigung des Objekts umfasst. Bei der Berechnung eines Kalmanfilters wird eine Normalverteilung unterstellt, wodurch die Berechnung effizienter ablaufen kann. Es ergibt sich eine schnellere Berechnungsmöglichkeit. Durch die zusätzliche Berücksichtigung der Beschleunigung des Objekts im Zustandsvektor kann eine höhere Genauigkeit bei der Ermittlung der Translationsgeschwindigkeit erreicht werden.
-
In einer bevorzugten Ausgestaltung ist die Translationseinheit zum Vernachlässigen von Ausreißerwerten in der Zielpunkteliste durch Anwenden eines Gatingverfahrens ausgebildet. In einem Gatingverfahren werden insbesondere Zielpunkte, die mit hoher Wahrscheinlichkeit durch fehlerhafte Messungen oder aufgrund von besonderen Objekteigenschaften entstanden sind, herausgefiltert. Durch die Vernachlässigung solcher Ausreißerwerte kann die Genauigkeit bei der Bestimmung der Translationsgeschwindigkeit verbessert werden. Unter einem Gatingverfahren versteht sich eine Nicht-Berücksichtigung von Werten außerhalb eines zulässigen Bereichs, der sich aus einem bestimmten absoluten oder relativen Abstand von einem erwarteten Wert ergibt. Eine verbesserte Genauigkeit kann realisiert werden.
-
In einer bevorzugten Ausgestaltung umfasst die Vorrichtung eine Objekterkennungseinheit zum Erkennen von zu einem Objekt gehörenden Zielpunkten. Die Translationseinheit ist zum Bestimmen der Translationsgeschwindigkeit basierend auf den zu dem Objekt gehörenden Zielpunkten ausgebildet. In einem vorgelagerten Schritt wird ausgehend von der empfangenen Zielpunkteliste zunächst bestimmt, welche der Zielpunkte der Zielpunkteliste zu einem gemeinsamen Objekt gehören. In anderen Worten werden Objekte erkannt. Hierzu kann insbesondere eine Clusteranalyse durchgeführt werden, bei der Punkte identifiziert werden, die sich gleichförmig bewegen. Durch die vorhergehende Erkennung von zu einem Objekt gehörenden Zielpunkten, kann die für die Bestimmung der Translationsgeschwindigkeit erforderliche Rechenleistung reduziert werden.
-
In einer bevorzugten Ausgestaltung umfasst die Vorrichtung eine Klassifikationseinheit zum Erkennen, ob es sich bei dem Objekt um ein statisches oder um ein dynamisches Objekt handelt, basierend auf der Zielpunkteliste. Die Translationseinheit ist zum Bestimmen der Translationsgeschwindigkeit in Abhängigkeit davon, ob es sich bei dem Objekt um ein statisches oder ein dynamisches Objekt handelt. Ein statisches Objekt ist dabei insbesondere ein Objekt des Hintergrunds. Ein dynamisches Objekt ist insbesondere ein Objekt, das sich relativ zum Hintergrund bewegt. Wenn zusätzlich Informationen darüber vorliegen, ob es sich um ein statisches Objekt oder um ein dynamisches Objekt handelt, kann dieses Wissen als zusätzliches Modellwissen bei der Bestimmung der Translationsgeschwindigkeit berücksichtigt werden. Die Genauigkeit bei der Bestimmung der Translationsgeschwindigkeit kann verbessert werden. Hierdurch ergibt sich auch bei der Bestimmung der Rotation eine mögliche Verbesserung der Genauigkeit und Zuverlässigkeit.
-
In einer bevorzugten Ausgestaltung umfasst die Vorrichtung eine Akkumulationseinheit zum Erzeugen einer akkumulierten Zielpunkteliste mit Informationen zu Positionen von Zielpunkten an dem Objekt basierend auf über mehrere Zeitschritte empfangene Zielpunktelisten und einer Transformation der Positionen der Zielpunkte basierend auf der bestimmten Translationsgeschwindigkeit und der bestimmten Rotation. Einträge einer ersten Zielpunkteliste, die zu einem ersten Zeitpunkt empfangen wurde, werden basierend auf der Translation und Rotation transformiert. Die Einträge der ersten Zielpunkteliste können hierdurch in das Koordinatensystem der zweiten Zielpunkteliste transformiert werden. Die empfangenen Zielpunktelisten umfassen nicht notwendigerweise dieselben Zielpunkte zu unterschiedlichen Zeitpunkten. Es kommen auch neue Zielpunkte hinzu. Um die Auflösung zu erhöhen, kann daher eine akkumulierte Zielpunkteliste erzeugt werden, die Zielpunkte von mehreren Zeitpunkten umfasst. Hierzu wird eine entsprechende Koordinatentransformation durchgeführt. Insbesondere können eine entsprechende Rotationsmatrix sowie ein Translationsvektor für jeden Punkt erzeugt und verwendet werden. Die Transformation erfolgt dabei insbesondere in das aktuelle sensorfeste bzw. fahrzeugfeste Koordinatensystem. Durch die Akkumulierung kann die Auflösung für eine Weiterverarbeitung der Sensordaten verbessert werden. Es ergibt sich eine verbesserte Möglichkeit zum Auswerten von Umgebungssensordaten.
-
In einer bevorzugten Ausgestaltung ist die Eingangsschnittstelle zum Empfangen der Zielpunkteliste von einem FMCW-Radarsensor ausgebildet, der vorzugsweise an einem Fahrzeug angebracht ist. Zusätzlich oder alternativ ist die Eingangsschnittstelle zum Empfangen des Bildsignals von einem Kamerasensor, der an dem Fahrzeug angebracht ist, ausgebildet. Insbesondere kann ein Frequency Modulated Continuous Wave-Radarsensor (FMCW-Radarsensor) als Umgebungssensor verwendet werden. Ein solcher Radarsensor erlaubt eine genaue Messung der Winkel, des Abstands und der Dopplergeschwindigkeit. Das Prinzip der FMCW-Radarsensoren ist im Automotivebereich das am weitesten verbreitete Sensorprinzip. Durch die Verwendung der Sensordaten eines FMCW-Radarsensors ergibt sich eine breite Einsetzbarkeit der erfindungsgemäßen Vorrichtung.
-
In einer bevorzugten Ausgestaltung ist die Eingangsschnittstelle zum Empfangen der Zielpunkteliste von einem an einem Fahrzeug angebrachten Umgebungssensor und zum Empfangen des Kamerasignals von einem an dem Fahrzeug angebrachten Kamerasensor ausgebildet. Die Translationseinheit ist zum Bestimmen der Translationsgeschwindigkeit in einem zweidimensionalen, sensorfesten Koordinatensystem ausgebildet, das parallel zu einer Untergrundebene des Fahrzeugs ausgerichtet ist. Die Rotationseinheit ist zum Bestimmen der Rotation in demselben Koordinatensystem ausgebildet. Insbesondere können sowohl die Translationsgeschwindigkeit als auch die Rotationsgeschwindigkeit in einem zweidimensionalen System bestimmt werden. Die Betrachtung eines zweidimensionalen Systems eignet sich insbesondere für den Anwendungsfall im Fahrzeugumfeld. Die Bewegung des eigenen Fahrzeugs sowie des Objekts wird auf die Bewegung in der Untergrundebene beschränkt. Nur Rotationen bezüglich der Gierachse des Fahrzeugs werden erfasst, andere Rotationen werden vernachlässigt, wodurch die Berechnung wesentlich vereinfacht werden kann. Der Umgebungssensor ist an einem Fahrzeug angebracht. Die Daten des Umgebungssensors dienen als Eingangsdaten für eine autonome oder teilautonome Steuerung von Fahrzeugfunktionen oder einer Bereitstellung zusätzlicher Informationen für einen Fahrzeugführer. Die Eigenschaften der erfindungsgemäßen Vorrichtung können hierbei besonders vorteilhaft eingesetzt werden, da die Genauigkeit, Zuverlässigkeit und Berechenbarkeit im Vergleich zu bisherigen Ansätzen verbessert werden.
-
Unter einer Relativbewegung wird eine Bewegung verstanden, die der Umgebungssensor und das Objekt in Bezug zueinander ausführen. Insbesondere kann einerseits eine Bewegung des Objekts relativ zum Umgebungssensor und andererseits eine Bewegung des Umgebungssensors relativ zum Objekt bestimmt werden. Hierdurch kann eine Selbstlokalisierung des Umgebungssensors bzw. eines Fahrzeugs mit Umgebungssensor relativ zu seiner Umgebung und eine Lokalisierung eines Objekts in der Umgebung relativ zum Umgebungssensor bzw. relativ zum Fahrzeug erfolgen. Ein Objekt kann ein stationäres oder mobiles Objekt sein. Insbesondere kann ein Objekt ein anderes Fahrzeug, ein Fußgänger oder auch ein Element der Umgebung, wie eine Fahrbahnbegrenzung oder ein Baumstamm, sein. Hierin ist unter einem Objekt insbesondere ein starres Objekt zu verstehen. Eine Translationsgeschwindigkeit und eine Rotation können insbesondere durch eine Angabe eines Translationsvektors und einer Rotationsmatrix bzw. durch Angabe einer Rotationsgeschwindigkeit und einer Lineargeschwindigkeit erfolgen. Ein Umgebungssensor ist insbesondere ein Sensor, dessen Sichtfeld die Umgebung eines Fahrzeugs umfasst. Ein Umgebungssensor sendet ein Signal aus und empfängt Reflexionen an Objekten innerhalb seines Sichtfelds. Das Sichtfeld bezeichnet ein Gebiet, innerhalb dessen Objekte erfasst werden können. Insbesondere kann ein Radar- oder ein Lidarsensor als Umgebungssensor verwendet werden, der eine Dopplerinformation messen und bereitstellen kann. Ein Umgebungssensor kann mehrere Einzelsensoren umfassen, die beispielsweise eine 360°-Rundumsicht ermöglichen und somit ein vollständiges Abbild der Umgebung aufzeichnen können. Ein Sensorzielpunkt ist eine einzelne Detektion des Umgebungssensors. Ein Objekt weist gegebenenfalls mehrere einzelne Sensorzielpunkte auf. Ein Umgebungssensor gibt vorzugsweise eine Sensorzieleliste mit einzelnen Detektionen aus, wobei für jede einzelne Detektion, insbesondere die Winkelangaben (Azimut, Elevation), eine Abstandsangabe (range) und eine Radial- bzw. Dopplergeschwindigkeit angegeben ist. Unter einer Relativbewegung versteht sich eine Bewegung des Objekts, die durch eine Translationsgeschwindigkeit (Translationsvektor) und eine Rotation (Rotationsmatrix) angegeben sein kann. Ein Kamerasensor kann insbesondere einen CCD- oder einen CMOS-Chip umfassen. Das Sichtfeld des Kamerasensors überschneidet sich zumindest teilweise mit dem Sichtfeld des Umgebungssensors. Die Ausrichtung zwischen Kamerasensor und Umgebungssensor ist bekannt. Die Bildebene des Kamerasensors entspricht dem erzeugten Abbild des Sichtfelds. Eine Tiefeninformation wird von der Kamera vorzugsweise nicht erfasst. Unter einem optischen Fluss einer Bildsequenz wird insbesondere das Vektorfeld der in die Bildebene projizierten Geschwindigkeit von sichtbaren Punkten des Objektraumes im Bezugssystem der Abbildungsoptik (sensorfestes Koordinatensystem) verstanden.
-
Die Erfindung wird nachfolgend anhand einiger ausgewählter Ausführungsbeispiele im Zusammenhang mit den beiliegenden Zeichnungen näher beschrieben und erläutert. Es zeigen:
- 1 eine schematische Darstellung eines erfindungsgemäßen Systems;
- 2 eine schematische Darstellung einer erfindungsgemäßen Vorrichtung;
- 3 eine schematische Darstellung des Ermittelns der Translationsgeschwindigkeit;
- 4 eine schematische Darstellung der Anwendung eines Gatingverfahrens;
- 5 eine schematische Darstellung der Auswertung des optischen Flusses zum Bestimmen der Rotation;
- 6 eine schematische Darstellung einer Objektrekonstruktion basierend auf dem Ansatz der Erfindung; und
- 7 eine schematische Darstellung eines erfindungsgemäßen Verfahrens.
-
In der 1 ist schematisch ein erfindungsgemäßes System 10 zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor 12 und einem Objekt 14 dargestellt. Das System 10 umfasst eine Vorrichtung 16 zum Ermitteln der Relativbewegung sowie den Umgebungssensor 12 und einen Kamerasensor 13. Im dargestellten Ausführungsbeispiel sind die Vorrichtung 16, der Umgebungssensor 12 und der Kamerasensor 13 in ein Fahrzeug 18 integriert. Es versteht sich, dass es auch denkbar ist, dass die Vorrichtung 16, der Umgebungssensor 12 und/oder der Kamerasensor 13 separat ausgeführt sind. Umgebungssensor 12 und Kamerasensor 13 sind in ihrer Position und Ausrichtung gegenüber einander festgelegt.
-
Wie in der 1 dargestellt, können unterschiedliche Objekte 14, wie beispielsweise andere Verkehrsteilnehmer, insbesondere Fahrzeuge, oder auch statische Objekte, wie Häuser oder Verkehrszeichen, durch den Umgebungssensor 12 und den Kamerasensor 13 erfasst werden. Insbesondere eignet sich die erfindungsgemäße Vorrichtung für eine Anwendung bei starren Objekten, die starr in ihrer Form sind. Der Umgebungssensor 12 kann insbesondere ein Radar- oder Lidarsensor sein. Der Kamerasensor 13 kann insbesondere eine CCD-Kamera sein.
-
Der Ansatz der Erfindung basiert darauf, dass bei der Ermittlung einer Relativbewegung zwischen Umgebungssensor 12 bzw. Kamerasensor 13 und Objekt 14 zunächst eine lineare Relativgeschwindigkeit (Translationsgeschwindigkeit) ausgehend von Dopplergeschwindigkeiten, die von dem Umgebungssensor 12 bereitgestellt werden, ermittelt wird. Diese Translationsgeschwindigkeit stellt dann die Grundlage für die Bestimmung der Rotation des Objekts basierend auf einer Auswertung des Bildsignals des Kamerasensors dar. Durch die ermittelte Translationsgeschwindigkeit und Rotation ist die Relativbewegung des Objekts vollständig beschrieben. Die Ausgangsdaten der erfindungsgemäßen Vorrichtung 16 können dann als Grundlage für eine Umgebungserkennung sowie beispielsweise eine Auswertung der Umgebung für ein autonomes Fahrsystem verwendet werden. Insbesondere im Fall von Radardetektionen, bei denen die Positionsmessung oft fehlerbehaftet ist, jedoch die Dopplermessung sehr genau ist, kann eine zutreffende Bewegungsermittlung erfolgen. Im Vergleich zu bisherigen Scanmatching-Ansätzen, bei denen sowohl die Translationsgeschwindigkeit als auch die Rotation ausgehend von den Positionen der Zielpunkte bestimmt werden, kann der erfindungsgemäße Ansatz zu zuverlässigeren Resultaten führen. Gerade bei Radarsensoren ist die gemessene Dopplergeschwindigkeit oft präziser als die gemessene Position.
-
In der 2 ist schematisch eine erfindungsgemäße Vorrichtung 16 dargestellt. Die Vorrichtung 16 umfasst eine Eingangsschnittstelle 20, eine Translationseinheit 22, eine Rotationseinheit 24 sowie eine Ausgabeeinheit 26. Im dargestellten Ausführungsbeispiel umfasst die Vorrichtung 16 weiterhin mehrere (optionale) weitere Einheiten. Insbesondere umfasst die Vorrichtung 16 eine Objekterkennungseinheit 28, eine Klassifikationseinheit 30 sowie eine Akkumulationseinheit 32. Die erfindungsgemäße Vorrichtung 16 kann beispielsweise in ein Fahrzeugsteuergerät integriert sein bzw. als Teil eines Fahrerassistenzsystems ausgebildet sein oder als separates Modul implementiert sein. Es ist möglich, dass die erfindungsgemäße Vorrichtung 16 teilweise oder vollständig in Soft- und/oder in Hardware umgesetzt ist. Die verschiedenen Einheiten und Schnittstellen können einzeln oder kombiniert als Prozessor, Prozessormodul oder Software für einen Prozessor ausgebildet sein.
-
Über die Eingangsschnittstelle 20 werden Sensordaten eines Umgebungssensors sowie ein Bildsignal eines Kamerasensors empfangen. Insbesondere werden eine Zielpunkteliste eines FMCW-Radarsensors oder eines FMCW-Lidarsensors und ein Bildsignal einer Fahrzeugkamera empfangen. Die Zielpunkteliste umfasst Informationen zu Positionen von Zielpunkten an dem Objekt, die insbesondere als Winkelangaben (Azimut und Elevation) und eine Abstandsangabe (range) vorliegen können. Weiterhin wird für die mehreren Zielpunkte jeweils eine Dopplergeschwindigkeit (Radialgeschwindigkeit) empfangen. Das Bildsignal umfasst Farbwerte für Pixel einer Abbildungsebene. Üblicherweise werden zu aufeinanderfolgenden Zeitpunkten periodisch aktualisierte Zielpunktelisten, die ausgehend von Scanvorgängen des Umgebungssensors erzeugt werden, sowie Einzelbilder (image frames) des Kamerasensors empfangen. Die Eingangsschnittstelle 20 kann beispielsweise an ein Fahrzeugbussystem angebunden sein, um die Daten des Umgebungssensors und des Kamerasensors zu empfangen. Es versteht sich, dass über die Eingangsschnittstelle 20 auch Daten mehrerer unterschiedlicher Umgebungs- und Kamerasensoren empfangen werden können.
-
In der Translationseinheit 22 wird zunächst basierend auf der Zielpunkteliste eine Translationsgeschwindigkeit des Objekts bestimmt. Insbesondere ist es möglich, dass hierbei sequenziell Zielpunktelisten ausgewertet werden, die zu aufeinanderfolgenden Abtastzeitpunkten erzeugt bzw. bereitgestellt wurden. Die Translationsgeschwindigkeit wird dabei insbesondere mittels einer Zustandsschätzung und in Form eines Dopplerprofils des Objekts über einen Azimutwinkel ermittelt. Die Dopplergeschwindigkeiten der verschiedenen Zielpunkte am Objekt werden insoweit direkt verwendet, um die Translationsgeschwindigkeit zu bestimmen.
-
In der Rotationseinheit 24 wird basierend auf dem Bildsignal einerseits und der Translationsgeschwindigkeit andererseits eine Rotation des Objekts bestimmt. Unter der Bestimmung einer Rotation versteht sich insbesondere die Bestimmung einer Rotationsgeschwindigkeit. Hierbei kann die zuvor ermittelte Translationsgeschwindigkeit als Randbedingung mit einbezogen werden. Im Gegensatz zu bisherigen Scanmatching-Ansätzen, bei denen ebenfalls eine Verschiebung und Drehung ermittelt wurde, wird beim erfindungsgemäßen Ansatz also die Translationsgeschwindigkeit separat von der Rotation ermittelt. Bei der Rotation wird davon ausgegangen, dass die Translationsgeschwindigkeit bereits feststeht. Die Translationsgeschwindigkeit wird insoweit als Randbedingung verwendet. Insbesondere kann dann bei einer Auswertung eines optischen Flusses bzw. einer Bestimmung von Flussvektoren des optischen Flusses und einer Lösung der entsprechenden Gleichungen eine Verringerung der Komplexität erreicht werden. Hierdurch kann die Berechnung effizient durchgeführt werden. Insbesondere werden hierbei zunächst unter Verwendung von Standardalgorithmen der Bildverarbeitung zusammenhängende Bildbereiche bzw. Objekte erkannt.
-
Über die Ausgabeeinheit 26 werden die ermittelte Translationsgeschwindigkeit und Rotation des Objekts ausgegeben. Hierbei kann eine weitere Verarbeitung vorgesehen sein oder auch eine Bereitstellung der ermittelten Werte ohne weitere Verarbeitung erfolgen. Insbesondere kann über die Ausgabeeinheit 26 eine Transformationsmatrix ausgegeben werden, die basierend auf der Translationsgeschwindigkeit und der Rotation ermittelt wurde. Durch die Transformationsmatrix ist es möglich, die Relativbewegung zu definieren. Die Ausgabeeinheit 26 kann dabei insbesondere ebenfalls an ein Fahrzeugbussystem eines Fahrzeugs angebunden sein, über das die ermittelten Daten an ein Fahrzeugsteuergerät weitergegeben werden.
-
In der optional vorhandenen Objekterkennungseinheit 28 wird erkannt, welche Zielpunkte einem Objekt zuzuordnen sind. Insofern werden die über die Eingangsschnittstelle empfangenen Daten analysiert, um zu erkennen, ob Zielpunkte eines Objekts oder Zielpunkte mehrerer Objekte in der Zielpunkteliste enthalten sind. Üblicherweise wird das gesamte Umfeld bzw. die gesamte Umgebung des Umgebungssensors (bzw. eines Fahrzeugs) abgebildet, sodass die Zielpunkteliste mehrere Objekte umfasst. Über die Objekterkennungseinheit 28 werden diese Objekte erkannt, sodass die Zielpunkte der Zielpunkteliste den Objekten zugeordnet werden können. Die Translationseinheit sowie die Rotationseinheit können dann die Weiterverarbeitung der Daten ausgehend von Zielpunkten, die zu genau einem Objekt gehören, vornehmen. Vorzugsweise ist die Verarbeitung der Objekterkennungseinheit 28 dabei direkt nach Empfang der Zielpunkteliste vorgesehen.
-
In der weiterhin optional vorgesehenen Klassifikationseinheit 30 kann für ein Objekt festgestellt werden, ob es sich um ein statisches oder ein dynamisches Objekt handelt. Je nachdem, ob es sich bei dem Objekt um ein statisches oder ein dynamisches Objekt handelt, kann in der Weiterverarbeitung in der Translationseinheit 22 und in der Rotationseinheit 24 eine unterschiedliche Parametrierung vorgenommen werden. Beispielsweise ist es möglicherweise vorteilhaft, wenn im Falle eines dynamischen Objekts eine höhere Genauigkeit bei der Erkennung der Relativbewegung verwendet wird (beispielsweise durch mehr Iterationsschritte oder ähnliche Anpassungen). Weiterhin könnte es im Falle eines statischen Objekts vorteilhaft sein, wenn alle statischen Objekte gemeinsam betrachtet werden, da die Bewegung relativ zu den statischen Objekten identisch ist.
-
In der weiterhin optional vorgesehenen Akkumulationseinheit 32 wird eine akkumulierte Zielpunkteliste erzeugt. Die akkumulierte Zielpunkteliste umfasst Zielpunkte, die zu mehreren Zeitpunkten empfangen wurden. Insbesondere können also mehrere aufeinanderfolgende Scans eines Umgebungssensors zusammengefasst werden.
-
Hierzu müssen die Zielpunktelisten bzw. die Scans, die zu verschiedenen Zeitpunkten empfangen werden, in ein gemeinsames Koordinatensystem transformiert werden. Vorzugsweise wird ein sensorfestes Koordinatensystem verwendet, das ausgehend von der Position des Umgebungssensors bzw. einer Position des Kamerasensors definiert ist. Die zu verschiedenen Zeitpunkten empfangenen Sensorziele müssen demnach jeweils in dieses Koordinatensystem transformiert werden, da es möglich ist, dass der Umgebungssensor bzw. der Kamerasensor (und das Koordinatensystem) sich zwischen zwei Scans weiterbewegt hat. Für diese Transformation können die ermittelte Translationsgeschwindigkeit sowie die ermittelte Rotation verwendet werden.
-
In den 3 und 4 ist schematisch die Ermittlung der Translationsgeschwindigkeit mittels eines Kalmanfilters beschrieben. Die Darstellungen sind dabei als Verlauf der Dopplergeschwindigkeit D über den Azimutwinkel A zu verstehen. Die Darstellungen entsprechen insoweit einer Betrachtung einer Relativgeschwindigkeit im Azimutbereich, da diese im Falle einer Anwendung für Fahrzeuge und einer Bestimmung einer zweidimensionalen Geschwindigkeit in einer gemeinsamen Untergrundebene relevant ist. Es kann also beispielsweise eine Geschwindigkeit auf einer Straße ermittelt werden. Die vertikale Komponente (Elevationswinkel) wird dabei nicht betrachtet. Erfindungsgemäß ist aber selbstverständlich auch eine dreidimensionale Betrachtung möglich.
-
In der
3 ist ein aktueller (geschätzter) Zustand x̂
klk zu einem Zeitschritt k dargestellt. Der Zustandsvektor x umfasst eine zweidimensionale Geschwindigkeit v
x, v
y und eine zweidimensionale Beschleunigung α
x, α
y, Das Systemmodell
umfasst weiterhin einen Rauschterm Q
k, der als normal verteiltes Rauschen angenommen wird. Ausgehend von der Anwendung des Systemmodells ergibt sich eine neue Zustandsschätzung x̂
k\k+1 , die als gestrichelte Linie dargestellt ist (Prädiktion). Die aktuelle Messung z
k+1(v
k+1) ist durch eine gepunktete Linie dargestellt und umfasst mehrere Sensorzielpunkte
Z1..ZN. Zur besseren Übersichtlichkeit sind nur einige Punkte beispielhaft markiert.
-
In der 4 ist nun dargestellt, dass vor dem Messupdate ein Gatingverfahren angewendet wird. Das Gatingverfahren ist im dargestellten Ausführungsbeispiel dabei zweistufig. Zunächst wird um die neue Zustandsschätzung herum ein Bereich definiert (Strichpunktlinien), außerhalb dessen liegende Messpunkte verworfen und nicht berücksichtigt werden. Im dargestellten Beispiel werden in diesem ersten Schritt also beispielsweise die Punkte Z3, Z4 und Z6 verworfen. Diese Ausreißerpunkte können beispielsweise Zielpunkte in anderen Objekten oder am Hintergrund darstellen, die fälschlicherweise einem Objekt zugeordnet wurden.
-
In einem weiteren Schritt wird ein RANSAC-Ansatz angewendet, um Detektionen aufgrund von Mikrodopplereffekten an Rädern eines Fahrzeugs zu verwerfen. In einem ersten Schritt werden hierzu zwei Sensorzielpunkte zufällig ausgewählt. Dann wird für jeden Punkt eine Statistik basierend auf einer Umfeldanalyse aufgestellt und ein Punkt verworfen, wenn er die entsprechende Bedingung nicht erfüllt. Hierzu wird beispielsweise die folgende Systematik angewendet:
-
Beispielsweise werden die Punkte Z2 und Z5 verworfen.
-
Nach Abschluss der Anwendung des Gatingverfahrens bleiben insoweit nur noch wenige Zielpunkte der Zielpunkteliste übrig (als durchgehende Punkte dargestellt, beispielsweise S1). Durch Anwendung eines Messmodells
wird die aktuelle Translationsgeschwindigkeit v
x, v
y ausgehend von den aktuellen Messungen unter Berücksichtigung eines Rauschterms R
k ermittelt.
-
Für die Optimierung kann insbesondere ein mittlerer quadratischer Fehler minimiert werden.
wobei
-
In der 5 ist schematisch dargestellt, wie sich optische Flussvektoren 34 von Objekten 14 in einem Bildsignal des Kamerasensors verhalten. An einem statischen Objekt 14a (beispielsweise ein Verkehrszeichen) zeigen die optischen Flussvektoren 34 in dieselbe Richtung wie die optischen Flussvektoren 34 des Hintergrunds. An einem dynamischen Objekt 14b (beispielsweise ein anderes Fahrzeug) sind die optischen Flussvektoren 34 von denen des Hintergrunds verschieden. Im dargestellten Beispiel bewegt sich das dynamische Objekt 14b wie auch das eigene Fahrzeug mit dem Umgebungssensor und dem Kamerasensor auf einer Fahrbahn in Richtung des Horizonts. Im dargestellten Beispiel weisen das eigene Fahrzeug und das Objekt 14b eine Relativbewegung zueinander auf, wie durch die zwar vorhandenen, jedoch wesentlich kürzeren optischen Flussvektoren 34 illustriert.
-
Erfindungsgemäß wird nun die Rotation eines Objekts basierend auf dem Bildsignal bestimmt. Vorzugsweise wird hierzu ein optischer Fluss ausgewertet. Zunächst werden die optischen Flussvektoren von Merkmalen an dem Objekt ermittelt bzw. identifiziert. Dann werden die optischen Flussgleichungen
aufgestellt. Hierbei bezeichnen u und v die Bewegungsanteile in der Bildebene, T ist die Transformationsmatrix, Z ist der Teiler, f entspricht der Frequenz und ω bezeichnet die Drehrate bezüglich der jeweiligen Achse. Für die einzelnen Radarziele bzw. die Zielpunkte am Objekt gilt
-
Die optischen Flussgleichungen werden nun unter Verwendung der zuvor bestimmten Translationsgeschwindigkeit gelöst. Insbesondere ist es vorteilhaft, wenn angenommen wird, dass lediglich eine Drehung bezüglich der Gierachse vorliegt. Die Drehungen bezüglich der Längs- und Querachse werden insoweit gleich Null gesetzt, um eine Vereinfachung der Lösung zu erreichen. Die Tiefe Z wird als bekannt vorausgesetzt.
-
Unter den folgenden Annahmen,
ergibt sich für die Translationsgeschwindigkeit
und die Rotationsgeschwindigkeit
der optische Fluss als Funktion von der Geschwindigkeit. Basierend auf einer Anwendung einer Epipolargeometrie bzw. ausgehend von einer epipolaren Annahme, bei der eine Unabhängigkeit von der Tiefe angenommen wird, kann die Berechnung vereinfacht werden. Insbesondere kann ein 8Punkt-Algorithmus angewendet werden, um die Translationsgeschwindigkeit zu bestimmen. Für den optischen Fluss mit epipolarer Annahme ergibt sich
-
Es wird also das Wissen um die Translationsgeschwindigkeit, die zuvor basierend auf der Zielpunkteliste des Umgebungssensors berechnet wurde, verwendet, um die Rotationsgeschwindigkeit ausgehend von Korrespondenzen im Bildsignal zu bestimmen. Durch die epipolare Annahme können Mehrdeutigkeiten bezüglich Objektgröße und Entfernung aufgelöst werden. Durch die Berücksichtigung der zuvor ermittelten Translationsgeschwindigkeit müssen weniger Freiheitsgrade geschätzt werden. Insbesondere müssen anstelle von sechs Freiheitsgraden lediglich drei Freiheitsgrade ermittelt werden. Wenn zudem eine planare Bewegung von Objekten in einer Untergrundebene vorausgesetzt wird, kann die Berechnung weiter vereinfacht werden. Da insbesondere ein einzelner optischer Flussvektor pro Freiheitsgrad der Rotation notwendig ist, kann die Berechnung reduziert werden. Die Berechnung des optischen Flusses wird insoweit durch Daten eines Umgebungssensors bezüglich einer Dopplergeschwindigkeit gestützt.
-
In der 6 ist die erfindungsgemäße Datenverarbeitung an einem Beispiel schematisch dargestellt. In einem ersten Schritt P1 wird ausgehend von empfangenen Zielelisten (Punktewolken) eine Klassifikation vorgenommen, ob es sich um ein statisches oder ein dynamisches Objekt handelt. Ausgehend von diesen klassifizierten Detektionen wird in einem nächsten Schritt P2 ein RANSAC-Ansatz ausgeführt, um die Translationsgeschwindigkeit zu schätzen wie zuvor beschrieben. Basierend auf der geschätzten Translationsgeschwindigkeit wird in einem dritten (optionalen) Schritt P3 eine Kalmanfilterung angewendet. Für die Schätzung der Rotation wird in einem Verarbeitungsschritt P4 ein optischer Fluss ausgewertet. Hierzu wird ein Bildsignal eines Kamerasensors empfangen und verarbeitet. Hierbei wird die zuvor ermittelte Translationsgeschwindigkeit als Randbedingung miteinbezogen. Die Aufstellung und Lösung der optischen Flussgleichungen kann damit für weniger Freiheitsgrade durchgeführt werden. Basierend auf der ermittelten Rotation bzw. Winkelgeschwindigkeit ist es dann in einem letzten Schritt P5 möglich, die Detektion über mehrere Zeitschritte zu akkumulieren, um ein Objekt zu rekonstruieren.
-
In der 7 ist schematisch ein erfindungsgemäßes Verfahren zum Ermitteln einer Relativbewegung zwischen einem Umgebungssensor und einem Objekt dargestellt. Das Verfahren umfasst Schritte des Empfangens S10 einer Zielpunkteliste eines Umgebungssensors und eines Bildsignals eines Kamerasensors, des Bestimmens S12 einer Translationsgeschwindigkeit, des Bestimmens S14 einer Rotation und des Ausgebens S16 der Translationsgeschwindigkeit und der Rotation. Das Verfahren kann insbesondere in Software implementiert sein, die auf einem Fahrzeugsteuergerät ausgeführt wird. Ebenfalls ist es möglich, dass das Verfahren in einem Umgebungssensor, insbesondere in einem Radar- und/oder Lidarsensor ausgeführt wird.
-
Die Erfindung wurde anhand der Zeichnungen und der Beschreibung umfassend beschrieben und erklärt. Die Beschreibung und Erklärung sind als Beispiel und nicht einschränkend zu verstehen. Die Erfindung ist nicht auf die offenbarten Ausführungsformen beschränkt. Andere Ausführungsformen oder Variationen ergeben sich für den Fachmann bei der Verwendung der vorliegenden Erfindung sowie bei einer genauen Analyse der Zeichnungen, der Offenbarung und der nachfolgenden Patentansprüche.
-
In den Patentansprüchen schließen die Wörter „umfassen“ und „mit“ nicht das Vorhandensein weiterer Elemente oder Schritte aus. Der undefinierte Artikel „ein“ oder „eine“ schließt nicht das Vorhandensein einer Mehrzahl aus. Ein einzelnes Element oder eine einzelne Einheit kann die Funktionen mehrerer der in den Patentansprüchen genannten Einheiten ausführen. Ein Element, eine Einheit, eine Schnittstelle, eine Vorrichtung und ein System können teilweise oder vollständig in Hard- und/oder in Software umgesetzt sein. Die bloße Nennung einiger Maßnahmen in mehreren verschiedenen abhängigen Patentansprüchen ist nicht dahingehend zu verstehen, dass eine Kombination dieser Maßnahmen nicht ebenfalls vorteilhaft verwendet werden kann. Ein Computerprogramm kann auf einem nichtflüchtigen Datenträger gespeichert/vertrieben werden, beispielsweise auf einem optischen Speicher oder auf einem Halbleiterlaufwerk (SSD). Ein Computerprogramm kann zusammen mit Hardware und/oder als Teil einer Hardware vertrieben werden, beispielsweise mittels des Internets oder mittels drahtgebundener oder drahtloser Kommunikationssysteme. Bezugszeichen in den Patentansprüchen sind nicht einschränkend zu verstehen.