-
Technisches Gebiet
-
Diese Erfindung betrifft allgemein eine Pfadplanung für Fahrzeuge. Sie betrifft insbesondere Pfad-Planungsverfahren zum automatischen Parken eines Fahrzeugs in einem Ziel-Zwischenraum.
-
Stand der Technik
-
Viele Steuerungssysteme, die von Fahrzeugen verwendet werden - entweder autonomen Fahrzeugen oder halbautonomen Fahrzeugen, die einen Modus mit autonomem Fahren ausführen - sagen zukünftige, sichere Bewegungen, oder Pfade, des Fahrzeugs voraus, und zwar sowohl um Hindernisse zu vermeiden, wie z. B. andere Fahrzeuge oder Fußgänger, als auch um einige Kriterien zu optimieren, die mit dem Betrieb des Fahrzeugs zusammenhängen. Der Ziel-Zustand kann entweder ein fester Ort, ein beweglicher Ort, ein Geschwindigkeitsvektor, ein Bereich oder eine Kombination davon sein. Eine der Aufgaben zum Steuern der autonomen oder halbautonomen Fahrzeuge ist es, ein Fahrzeug automatisch in einer Parkposition und -ausrichtung zu parken, was hier als ein Ziel-Zustand bezeichnet wird.
-
Die meisten existierenden Pfadplanungsverfahren kommen nur mit spezifischen Parkszenarien zurecht. Beispielsweise berechnet ein in der Patentliteratur 1 beschriebenes Verfahren einen Pfad zum parallelen Parken und Rückwärts-Einparken. Das in der Patentliteratur 2 beschriebene Verfahren nimmt ebenfalls eine spezielle Struktur des Parkpfades an. Auch das in der Patentliteratur 3 beschriebene Verfahren widmet sich dem parallelen Parken, und es verlangt, dass der Anfangszustand des Fahrzeugs innerhalb eines sogenannten brauchbaren Startbereichs liegt, von welchem aus vorab codierte parallele Parkmanöver eingeleitet werden. Obwohl sie eine Pfaderzeugung in Echtzeit ermöglichen, sind solche Verfahren von einer spezifischen Struktur des Parkpfads abhängig.
-
Um allgemeine Parkpfade aufzunehmen, verwendet ein in der Patentliteratur 4 beschriebenes Verfahren ein zweistufiges automatisches Parksystem, das den Parkpfad während eines Lernmodus berechnet und abruft, wenn ein Fahrzeug manuell von einem Fahrer geparkt wird, und das später das Parken unterstützt, und zwar entlang des gelernten Parkpfads während eines Auto-Parkmodus. Dieses Verfahren kann beim Parken in spezifizierten Zwischenräumen unterstützen, wie z. B. Garagen in Wohngebieten, und zwar entlang des beliebigen, aber im Vorfeld gelernten Parkpfads. Ein solches Verfahren berücksichtigt die Abweichung von jenem Parkpfad als einen fehlerhaften Kurs, der vermieden werden muss. Solch ein Grundprinzip ist nicht immer wünschenswert.
-
Literaturverzeichnis
-
Patentliteratur
-
-
Zusammenfassung der Erfindung
-
Es ist Aufgabe von einigen Ausführungsformen, ein Pfad-Planungsverfahren für das automatische Fahrzeug-Parksystem und Parkverfahren anzugeben. Es ist eine weitere Aufgabe von einigen Ausführungsformen, ein solches Verfahren anzugeben, das den Rechenaufwand für die Pfadplanung verringert, der von den Spezifika des automatischen Parkens für eine Vielfalt von echten Parkszenarien verursacht wird.
-
Einige Ausführungsformen basieren auf dem Verständnis, dass ein zweistufiges automatisches Parken das automatische Parken für eine Vielfalt von Parksituationen vereinfachen kann. Das zweistufige automatische Parken weist eine Lernstufe und eine automatische Parkstufe auf. In der Lernstufe parkt der Fahrer das Fahrzeug, beispielsweise durch manuelle Steuerung, und es werden Lernverfahren durchgeführt, Referenzdaten zu beobachten und zu speichern, die den Parkpfad angeben, der vom Anfangsort zu dem Ort des Ziel-Parkzwischenraums führt, während Strukturen der umgebenden Umwelt vermieden werden.
-
In der automatischen Parkstufe wird das Fahrzeug automatisch geparkt, und es werden eine Selbstortung des Fahrzeugs und eine Pfadplanung zum Ziel-Parkzwischenraum durchgeführt, und zwar sequenziell und iterativ, indem sie die gegenwärtigen Sensorbeobachtungen mit den Referenzdaten abgleichen, die in der Lernstufe gespeichert worden sind. Genauer gesagt: Geometrische Merkmale von Objekten und relative örtliche Relationen zwischen den Objekten in den Bildern des Park-Zwischenraums weerden als Beobachtungen für die Selbstortung abgeglichen.
-
Wenn die Parkpfade während der Lernstufe und der automatischen Parkstufe ähnlich sind, ermöglicht der Vergleich von verschiedenen Bildern des Park-Zwischenraums die Selbstortung. Im Allgemeinen hängen jedoch die Eigenschaften der bildbasierten 2D-Merkmale inklusive der geometrischen Merkmale und örtlichen Relationen zwischen den Objekten von der Betrachtungsansicht der Kamera ab, die das Bild erfasst. Beispielsweise erscheint eine rechteckige Form, wie z. B. ein Fensterrahmen eines Gebäudes als ein Rechteck in dem Bild, das aus der Vorderansicht heraus erfasst wird, während es als Trapezoid (verzerrtes Rechteck) in dem Bild erscheint, das aus der Schrägansicht heraus erfasst wird.
-
Dieses Problem wird hier als ein Abgleichproblem der großen Grundlinie bezeichnet, das seine Wurzeln in der automatischen Selbstortung hat, die von dem zweistufigen Parken verwendet wird. Genauer gesagt: Eine Landmarke bzw. ein Ortungspunkt, d. h. ein Unterscheidungsmerkmal aus einem Bild, beobachtet von zwei voneinander beabstandeten Betrachtungen bzw. Blickwinkeln aus, kann von dem automatischen Selbstortungs-Abgleichprozess verpasst werden, da sich die Erscheinungen derselben Landmarke, betrachtet von verschiedenen Betrachtungspunkten aus, signifikant ändern können.
-
Daher ist es prinzipiell schwierig, bildbasierte 2D-Merkmale korrekt unter den Bildern abzugleichen, die von unterschiedlichen Beobachtungsansichten bzw. Beobachtungsblickwinkeln aus gemacht werden, und der Abgleich mit bildbasierten 2D-Merkmalen kann versagen, wenn die Beobachtungsansichten in der Lernstufe verschieden sind von denjenigen in der automatischen Parkstufe. Das Versagen des Merkmalsabgleichs kann zu einem Versagen der Selbstortung und dem Versagen des automatischen Parkens führen.
-
Solch eine Abhängigkeit von der Erscheinungs-Invarianz von verschiedenen Merkmalen in den Bildern des Park-Zwischenraums beschränkt die Verwendbarkeit oder den Anwendungsbereich des automatischen Parkens, da Fahrer ihr Fahrzeug nahe dem Pfad anordnen müssen, der im Lernmodus verwendet worden ist, und zwar bevor sie den Auto-Parkmodus starten, d. h. die Fahrer können den Auto-Parkmodus nicht nutzen, wenn sich das Fahrzeug vom Pfad entfernt befindet. Einige Ausführungsformen basieren jedoch auf der allgemeinen Erkenntnis, dass es vorteilhaft ist, die während der Lernstufe erlernten Daten zum automatischen Parken des Fahrzeugs entlang von unterschiedlichen Parkpfaden wiederzuverwenden.
-
Einige Ausführungsformen basieren auf der Realisierung, dass virtuelle Bilder dabei helfen können, solch eine Abhängigkeit der automatischen Selbstortung von einer Erscheinungs-Invarianz zu umgehen. Beispielsweise ist es möglich, einige neue virtuelle Bilder von neuen Blickpunkten aus zu synthetisieren, die in der Zukunft besucht werden könnten. Beispielsweise ist es möglich, die Bilder, die von der Kamera erfasst werden, die von einem Ort A in Richtung eines Orts B zeigt, in virtuelle Bilder zu transformieren, als wenn sie von einem virtuellen Blickpunkt aus betrachtet würden, der vom Ort B aus in Richtung von Ort A zeigt. Das virtuelle Bild kann zum Vergleich mit einem Bild verwendet werden, das von der Kamera neu aufgenommen wird, die vom Ort B zum Ort A weist, um das Abgleichproblem mit großer Grundlinie zu umgehen.
-
Zu diesem Zweck erzeugen einige Ausführungsformen zunächst ein 3D-Modell der umgebenden Umwelt, und zwar aus Bildern, die erfasst werden, während ein Fahrzeug entlang eines ersten Parkpfads geparkt wird, und sie geben dann virtuelle Blickpunkte im 3D-Modell vor. Wie hier verwendet, ist ein virtueller Blickpunkt ein virtueller Punkt einer Ausrichtung bzw. Pose einer Kamera, die ein virtuelles Bild erfasst. Beispielsweise kann ein virtuelles Bild erzeugt werden, indem die 3D-Modell-Daten auf eine virtuelle Bildebene am virtuellen Beobachtungspunkt reprojiziert wird.
-
Die virtuellen Blickpunkte sind so vorgegeben, dass sich deren Beobachtungsansichten von denjenigen der ursprünglichen Blickpunkte im Lernmodus unterscheiden. Dann wird eine Menge von virtuellen Bildern für eine Menge von virtuellen Beobachtungspunkten erzeugt. Schließlich werden Bildmerkmale sowohl aus den ursprünglichen, als auch aus den virtuellen Bildern extrahiert und im System als Referenzdaten gespeichert, die für die automatische Parkstufe verwendet werden.
-
Hinsichtlich der virtuellen Bilder vom 3D-Modell können die Referenzdaten die Merkmale aus realen und virtuellen Bildern enthalten, die eine Vielfalt von Beobachtungsansichten bilden. Diese Anreicherung der Bank von Merkmalen erlaubt es dem System, beim Merkmalsabgleich erfolgreich zu sein, der von der Selbstortung im automatischen Parkmodus gefolgt wird, und zwar sogar dann, wenn sich das Fahrzeug entfernt von dem im Lernmodus genommenen Pfad befindet. Demzufolge können einige Ausführungsformen die Verwendbarkeit und den Anwendungsbereich des automatischen Parksystems verbessern.
-
Demzufolge offenbart eine Ausführungsform ein Verfahren zum Parken eines Fahrzeugs innerhalb eines Park-Zwischenraums. Das Verfahren verwendet einen Prozessor, der betriebsmäßig mit einem Speicher verbunden ist, mindestens einen Sensor zum Erfassen von Bildern, die die Umgebung von zumindest einem Teil des Park-Zwischenraums angeben, und eine Steuerung zum Steuern der Bewegung des Fahrzeugs, wobei der Prozessor mit gespeicherten Anweisungen gekoppelt ist, die das Verfahren implementieren, wobei die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, zumindest einige Schritte des Verfahrens ausführen, inklusive einem Steuern der Bewegung des Fahrzeugs gemäß einem ersten Parkpfad, der in einem Ziel-Zustand endet, wobei jeder Zustand des Fahrzeugs eine Position und Ausrichtung des Fahrzeugs einschließt; Erfassen einer Bildmenge des Park-Zwischenraums während der Bewegung des Fahrzeugs entlang des ersten Parkpfads, so dass jedes Bild in der Bildmenge von einem Blickpunkt aus erfasst wird, der durch einen Zustand des Fahrzeugs entlang des ersten Parkpfads definiert ist; Konstruieren eines Modells des Park-Zwischenraums unter Verwendung der Bildmenge; Auswählen einer Menge von virtuellen Blickpunkten außerhalb des ersten Parkpfads inklusive mindestens eines Blickpunkts, der einen Zustand des Fahrzeugs außerhalb des ersten Parkpfads definiert; Erzeugen, unter Verwendung des Modells des Park-Zwischenraums, einer Menge von virtuellen Bildern der Umgebung des Park-Zwischenraums, als wenn die Betrachtung von der Menge von virtuellen Blickpunkten aus erfolgt; Bestimmen eines gegenwärtigen Zustands des Fahrzeugs, indem ein gegenwärtiges Bild des Park-Zwischenraums, das von dem Sensor erfasst wird, während das Fahrzeug im gegenwärtigen Zustand ist, mit mindestens einem virtuellen Bild verglichen wird; Bestimmen, unter Verwendung des Modells des Fahrzeugs, eines zweiten Parkpfads von dem gegenwärtigen Zustand zum Ziel-Zustand; und Steuern der Bewegung des Fahrzeugs gemäß dem zweiten Parkpfad.
-
Eine weitere Ausführungsform offenbart ein System zum Parken eines Fahrzeugs innerhalb eines Park-Zwischenraums. Das System weist Folgendes auf: einen Speicher zum Speichern eines Modells des Fahrzeugs; mindestens einen Sensor zum Erfassen von Informationen, die die Umgebung von zumindest einem Teil des Park-Zwischenraums angeben; eine Steuerung zum Steuern der Bewegung des Fahrzeugs gemäß unterschiedlichen Trajektorien inklusive eines ersten Parkpfads und eines zweiten Parkpfads, der an einem Ziel-Zustand endet, wobei jeder Zustand des Fahrzeugs durch eine Position und Ausrichtung des Fahrzeugs definiert ist; und mindestens einen Prozessor, der so konfiguriert ist, dass er eine Bildmenge der Umgebung des Park-Zwischenraums während der Bewegung des Fahrzeugs entlang des ersten Parkpfads erfasst, so dass jedes Bild in der Bildmenge von einem Blickpunkt aus erfasst wird, der durch einen Zustand des Fahrzeugs entlang des ersten Parkpfads definiert ist; Konstruieren eines Modells des Park-Zwischenraums unter Verwendung der Bildmenge; Auswählen einer Menge von virtuellen Blickpunkten außerhalb des ersten Parkpfads inklusive mindestens eines Blickpunkts, der einen Zustand des Fahrzeugs außerhalb des ersten Parkpfads definiert; Erzeugen, unter Verwendung des Modells des Park-Zwischenraums, einer Menge von virtuellen Bildern der Umgebung des Park-Zwischenraums, als wenn die Betrachtung von der Menge von virtuellen Blickpunkten aus erfolgt; Bestimmen eines gegenwärtigen Zustands des Fahrzeugs, indem ein gegenwärtiges Bild des Park-Zwischenraums, das von dem Sensor erfasst wird, während das Fahrzeug im gegenwärtigen Zustand ist, mit mindestens einem virtuellen Bild verglichen wird; und Bestimmen des zweiten Parkpfads von dem gegenwärtigen Zustand zum Ziel-Zustand unter Verwendung des Modells des Fahrzeugs.
-
Noch eine weitere Ausführungsform offenbart ein nichtflüchtiges computerlesbares Speichermedium, auf welchem ein Programm abgespeichert ist, das von einem Prozessor ausgeführt werden kann, zum Durchführen eines Verfahrens zum Parken eines Fahrzeugs innerhalb eines Park-Zwischenraums. Das Verfahren weist Folgendes auf: Steuern der Bewegung des Fahrzeugs gemäß einem ersten Parkpfad, der an einem Ziel-Zustand endet, wobei jeder Zustand des Fahrzeugs eine Position und Ausrichtung des Fahrzeugs einschließt, das eine Bildmenge des Park-Zwischenraums während der Bewegung des Fahrzeugs entlang des ersten Parkpfads erfasst, so dass jedes Bild in der Bildmenge von einem Blickpunkt aus erfasst wird, der durch einen Zustand des Fahrzeugs entlang des ersten Parkpfads definiert wird; Konstruieren eines Modells des Park-Zwischenraums unter Verwendung der Bildmenge; Auswählen einer Menge von virtuellen Blickpunkten außerhalb des ersten Parkpfads inklusive mindestens eines Blickpunkts, der einen Zustand des Fahrzeugs außerhalb des ersten Parkpfads definiert; Erzeugen, unter Verwendung des Modells des Park-Zwischenraums, einer Menge von virtuellen Bildern der Umgebung des Park-Zwischenraums, als wenn die Betrachtung von der Menge von virtuellen Blickpunkten aus erfolgt; Bestimmen eines gegenwärtigen Zustands des Fahrzeugs, indem ein gegenwärtiges Bild des Park-Zwischenraums, das von dem Sensor erfasst wird, während das Fahrzeug im gegenwärtigen Zustand ist, mit mindestens einem virtuellen Bild verglichen wird; Bestimmen, unter Verwendung des Modells des Fahrzeugs, eines zweiten Parkpfads von dem gegenwärtigen Zustand zum Ziel-Zustand; und Steuern der Bewegung des Fahrzeugs gemäß dem zweiten Parkpfad.
-
Figurenliste
-
- 1 zeigt eine schematische Darstellung eines Fahrzeugs, das automatisches Parken nutzt, unter Verwendung von Prinzipien einiger Ausführungsformen.
- 2 zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer Lernstufe, entlang eines ersten Parkpfads, gemäß einigen Ausführungsformen.
- 3A zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer automatischen Parkstufe, entlang des ersten Parkpfads, gemäß einigen Ausführungsformen.
- 3B zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer automatischen Parkstufe entlang eines zweiten Parkpfads, der verschieden ist von dem ersten Parkpfad, gemäß einigen Ausführungsformen.
- 4 zeigt ein Beispiel eines Parkszenarios unter Verwendung von Prinzipien, die von einigen Ausführungsformen verwendet werden.
- 5 zeigt ein Blockdiagramm eines Verfahrens zum Parken eines Fahrzeugs innerhalb eines Park-Zwischenraums, gemäß einigen Ausführungsformen.
- 6A veranschaulicht ein Beispiel eines Fahrzeug-Koordinatensystems, wie von einigen Ausführungsformen verwendet.
- 6B zeigt eine beispielhafte schematische geometrische Darstellung eines Fahrzeugs gemäß einigen Ausführungsformen.
- 7 zeigt ein Ablaufdiagramm der Lernstufe des Parksystems gemäß einer Ausführungsform.
- 8 zeigt ein Ablaufdiagramm der automatischen Parkstufe des Parksystems gemäß einer Ausführungsform.
- 9A zeigt ein Blockdiagramm eines Systems, das geeignet ist für ein automatisches Parken gemäß einigen Ausführungsformen.
- 9B zeigt eine Darstellung der funktionalen Komponenten des automatischen Parksystems gemäß einer Ausführungsform.
- 10 zeigt ein Blockdiagramm von Funktionsmodulen, die in dem Lernmodus von einigen Ausführungsformen verwendet werden.
- 11 veranschaulicht ein Beispiel des 3D-Modells des Park-Zwischenraums.
- 12 zeigt Beispiele von virtuellen Zuständen des Fahrzeugs, die die Ursprünge der Koordinatensysteme definieren, sowie entsprechende virtuelle Blickpunkte.
- 13 zeigt eine Darstellung von beispielhaften virtuellen Bildern, die hinsichtlich einer Menge von virtuellen Blickpunkten erzeugt werden, gemäß einigen Ausführungsformen.
- 14 zeigt eine schematische Darstellung eines Datenflusses der Referenzdatenerzeugung gemäß einigen Ausführungsformen.
- 15 zeigt ein Blockdiagramm von Funktionsmodulen, die im automatischen Parkmodus verwendet werden, gemäß einer Ausführungsform.
- 16 zeigt einen Datenfluss eines Merkmals-Übereinstimmungsprozesses gemäß einer Ausführungsform.
- 17 zeigt ein Blockdiagramm von Funktionsmodulen, die im Lernmodus verwendet werden, und zwar von einigen Ausführungsformen.
- 18 zeigt ein Blockdiagramm von Funktionsmodulen, die im automatischen Parkmodus verwendet werden, und zwar von einigen Ausführungsformen.
- 19 veranschaulicht ein weiteres Blockdiagramm von Funktionsmodulen, die im Lernmodus verwendet werden, und zwar von einer sich unterscheidenden Ausführungsform.
- 20 zeigt ein anderes Blockdiagramm von Funktionsmodulen, die im Lernmodus verwendet werden.
- 21 zeigt eine beispielhafte Schnittstelle zum Auswählen der Richtung des Parkens, gemäß einer Ausführungsform.
- 22 zeigt eine weitere Schnittstelle zum Auswählen der Richtung des Parkens gemäß einer Ausführungsform.
- 23A zeigt ein Blockdiagramm eines Verfahrens, das von einigen Ausführungsformen verwendet wird, zum Auswählen von Blickpunkten außerhalb des ersten Parkpfads.
- 23B zeigt ein Blockdiagramm eines alternativen Verfahrens, das von einer Ausführungsform verwendet wird, zum Auswählen von Blickpunkten außerhalb des ersten Parkpfads.
- 23C zeigt eine schematische Darstellung von beispielhaften nicht erreichbaren Bereichen für ein Fahrzeug, gemäß einigen Ausführungsformen.
- 24 zeigt eine beispielhafte schematische Darstellung von möglichen Parkpfaden des Fahrzeugs durch den Park-Zwischenraum.
- 25A zeigt ein Funktionsdiagramm eines automatisierten Parksystems gemäß einer Ausführungsform.
- 25B zeigt eine allgemeine Struktur des Bewegungsplanungssystems gemäß einer Ausführungsform.
- 26A zeigt ein Blockdiagramm eines VA-VSLAM-Grundgerüsts gemäß einigen Ausführungsformen.
- 26B zeigt ein Beispiel einer schematischen Darstellung zum Angehen des Abgleichproblems der großen Grundlinie unter Verwendung von virtuellen Bildern, gemäß einigen Ausführungsformen.
- 27 zeigt ein Blockdiagramm eines Verfahrens zum Rekonstruieren eines 3D-Modells eines Park-Zwischenraums unter Verwendung von virtuellen Bildern, gemäß einigen Ausführungsformen.
-
Ausführliche Beschreibung
-
Beschreibung von Ausführungsformen
-
1 zeigt eine schematische Darstellung eines Fahrzeugs, das ein automatisches Parken nutzt, unter Verwendung von Prinzipien einiger Ausführungsformen. Ein Fahrzeug 101 weist mindestens einen Sensor zum Erfassen von Informationen auf, die die Umgebung von zumindest einem Teil des Park-Zwischenraums angeben, eine Steuerung zum Steuern der Bewegung des Fahrzeugs, sowie mindestens einen Prozessor zum Bestimmen von verschiedenen Trajektorien des Fahrzeugs. Beispielsweise kann das Fahrzeug 101 Umgebungskameras 102 bis 105 aufweisen, sowie ein automatisches Parksystem 106, das unter Verwendung des Prozessors implementiert ist.
-
Bei diesem Beispiel ist die Frontkamera 102 auf dem vorderen Stoßdämpfer platziert und beobachtet den Frontbereich des Fahrzeugs 101. Die linke Kamera 103 und die rechte Kamera 104 sind unter den Seitenspiegeln platziert, so dass sie die Seitenbereiche auf der linken und rechten Seite beobachten. Die Rückkamera 105 ist auf der Heckklappe platziert, so dass sie den rückwärtigen Bereich beobachtet. Jede Kamera ist mit dem automatischen Parksystem 106 verbunden. In einigen Implementierungen hat jede Kamera einen Weitwinkel-Blickbereich, und sie ist im Voraus kalibriert, und der gesamte Beobachtungsbereich eines Satzes von Kameras deckt den Umgebungsbereich des Fahrzeugs 101 ab. Es versteht sich, dass unterschiedliche Ausführungsformen unterschiedliche Anzahlen, Typen und Orte der Kameras verwenden können.
-
Das automatische Parksystem 106 hat zwei Betriebsstufen und/oder Betriebsmodi, einen Lernmodus und einen automatischen Parkmodus. Im Lernmodus steuert der Fahrer das Fahrzeug und parkt das Fahrzeug in einem Ziel-Parkzwischenraum, während das System Beobachtungen der umgebenden Umwelt aus einem Satz von Kameras bezieht und eine Menge von verarbeiteten Daten der Beobachtungen als Referenzdaten speichert. Im automatischen Parkmodus wird das Fahrzeug automatisch gesteuert und von dem System im Ziel-Parkzwischenraum geparkt. Während des automatischen Parkens werden eine Selbstortung des Fahrzeugs und eine Pfadplanung zum Ziel-Parkzwischenraum durchgeführt, indem eingegebene Beobachtungen von einem Satz Kameras mit den Beobachtungen von Referenzdaten abgeglichen werden.
-
2 zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer Lernstufe, entlang eines ersten Parkpfads, gemäß einigen Ausführungsformen. Beispielsweise wird das Fahrzeug 101 entlang eines ersten Parkpfads 505 in einen Ziel-Zustand 502 geparkt. Wie hier verwendet, weist jeder Zustand des Fahrzeugs eine Position und Ausrichtung des Fahrzeugs auf. Beispielsweise kann der Ziel-Zustand eine Position und Ausrichtung des Fahrzeugs in einem vorgesehenen Parkraum einschließen, der frei von Hindernissen ist, wie z. B. den Strukturen 503 und 504. In einigen Ausführungsformen hat die Position drei Freiheitsgrade (3-DOF), z. B. (x, y, z)-Koordinaten im 3D-Raum, und die Ausrichtung hat 3-DOF, z. B. (Roll-, Nick-, Gier-) Winkel, und folglich hat der Zustand insgesamt 6-DOF.
-
In einigen anderen Ausführungsformen kann der Zustand dargestellt werden als 3-DOF mit einer 2-DOF-Position, z. B. (x, y)-Koordinaten auf einer 2D-Ebene, und einer 1-DOF-Ausrichtung, z. B. einem Gierwinkel, der einer Rotation innerhalb der Ebene entspricht. Die 3-DOF-Zustandsdarstellung ist vorteilhaft hinsichtlich des Rechenaufwands und des Speicherverbrauchs, und sie kann verwendet werden, wenn der Park-Zwischenraum eine ebene Straßenoberfläche aufweist und sich das Fahrzeug auf der ebenen Straßenoberfläche bewegt, wo der Zustand in Bezug auf die ebene Straßenoberfläche definiert sein kann.
-
Die Bewegung gemäß einem ersten Parkpfad, der am Ziel-Zustand 502 endet, kann manuell gesteuert werden, z. B. unter Verwendung von eingegebenen Steuerbefehlen von einem Fahrer des Fahrzeugs, kann automatisch gesteuert werden, z. B. unter Verwendung eines automatischen Parksystems, oder Kombinationen davon. Während der Bewegung des Fahrzeugs entlang des ersten Parkpfads bezieht das Fahrzeug eine Bildmenge 506 des Park-Zwischenraums unter Verwendung von Kameras 102-105. Jedes Bild in der Bildmenge 506 wird von einem Blickpunkt aus bezogen, der durch einen Zustand des Fahrzeugs entlang des ersten Parkpfads definiert ist.
-
Beispielsweise unterscheidet sich bei jedem Zustand des Fahrzeugs 101 auf dem Pfad 505 das von der Kamera 103 aufgenommene Bild von dem Bild, das von der Kamera 105 aufgenommen wird. Beide Bilder und beide Blickpunkte der Kameras 103 und 105 sind jedoch eindeutig durch den Zustand und die Geometrie des Fahrzeugs sowie die Anordnung der Kameras auf dem Fahrzeug definiert.
-
3A zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer automatischen Parkstufe, entlang des ersten Parkpfads, gemäß einigen Ausführungsformen. 3B zeigt eine schematische Darstellung eines beispielhaften Parkvorgangs während einer automatischen Parkstufe entlang eines zweiten Parkpfads, der verschieden ist von dem ersten Parkpfad, gemäß einigen Ausführungsformen. Genauer gesagt: In dem in 3A gezeigten Beispiel folgt das Fahrzeug einem Pfad, der dem Pfad 505 ähnelt. In dem in 3B gezeigten Szenario nimmt das Fahrzeug einen davon verschiedenen Pfad und nähert sich dem Ziel-Parkzwischenraum von der gegenüberliegenden Seite des Startpunkts des Pfades 505 an.
-
Zu diesem Zweck stellen das Bild 507 in 3A und das Bild 508 in 3B erfasste Bildbeispiele dar, bei welchen das gesamte Erscheinungsbild des Gebäudes 503 in jedem der Bilder beobachtet wird. Es sei angemerkt, dass das Gebäude 503 in Bild 507 von der Schrägansicht aus beobachtet wird, und dass es in Bild 508 von der Frontalansicht aus betrachtet wird, während keine Bilder die Beobachtung des Gebäudes 503 in einer Bildmenge 506 von der Frontalansicht aus enthalten, und zwar in 2.
-
Wenn die Parkpfade während der Lernstufe und der automatischen Parkstufe einander ähneln, wie in dem in 3A gezeigten Beispiel, erlaubt der Vergleich der unterschiedlichen Bilder des Park-Zwischenraums die Selbstortung. Wenn jedoch die Parkpfade während der Lernstufe und der automatischen Parkstufe unterschiedlich sind, wie in dem in 3B gezeigten Beispiel, dann kann der Vergleich von unterschiedlichen Bildern des Park-Zwischenraums fehlschlagen.
-
Einige Ausführungsformen basieren auf der Erkenntnis, dass es vorteilhaft ist, die während er Lernstufe gelernten Daten zum automatischen Parken des Fahrzeugs entlang von unterschiedlichen Parkpfaden wiederzuverwenden. Beispielsweise kann es vorteilhaft sein, die Daten wiederzuverwenden, die gelernt werden, während die Bewegung entlang des ersten Parkpfads erfolgt, um das Fahrzeug entlang des zweiten - d. h. davon verschiedenen - Parkpfads zu parken. Einige Ausführungsformen basieren auf der Erkenntnis, dass virtuelle Bilder dabei helfen können, solche eine Abhängigkeit der automatischen Selbstortung von einer Erscheinungs-Invarianz zu umgehen. Beispielsweise ist es möglich, einige neue virtuelle Bilder von neuen Blickpunkten aus zu synthetisieren, die in der Zukunft besucht werden könnten.
-
Zu diesem Zweck erzeugen einige Ausführungsformen ein 3D-Modell der umgebenden Umwelt aus den Bildern, die von den Kameras erfasst werden, und sie geben dann virtuelle Blickpunkte im 3D-Modell vor. Wie hier verwendet, ist ein virtueller Blickpunkt ein virtueller Punkt einer Ausrichtung bzw. Pose einer Kamera, die ein virtuelles Bild erfasst. Beispielsweise kann ein virtuelles Bild erzeugt werden, indem die 3D-Modell-Daten auf eine virtuelle Bildebene am virtuellen Beobachtungspunkt reprojiziert werden.
-
Die virtuellen Blickpunkte werden so vorgegeben, dass sie sich von den Blickpunkten unterscheiden, die zum Erfassen von Bildern im Lernmodus verwendet werden. Dann wird eine Menge von virtuellen Bildern für eine Menge von virtuellen Blickpunkten erzeugt. Schließlich werden Bildmerkmale sowohl aus den ursprünglichen, als auch aus den virtuellen Bildern extrahiert und im System als Referenzdaten gespeichert, die zur Selbstortung und zum automatischen Parken verwendet werden.
-
4 zeigt ein Beispiel eines Parkszenarios unter Verwendung von Prinzipien, die von einigen Ausführungsformen verwendet werden. In 4 sind Beispiele der virtuellen Beobachtungspunkte 510 und der entsprechenden virtuellen Bilder 511 gezeigt. In diesem Beispiel schließen die virtuellen Bilder 511 das gesamte Erscheinungsbild des Gebäudes 503 von der Frontalansicht aus ein. In diesem Fall gilt Folgendes: Obwohl sich der erste 505 und zweite Parkpfad 509 des Fahrzeugs zwischen den zwei Modi unterscheiden, kann der Merkmalsabgleich gefolgt von der Selbstortung im automatischen Parkmodus erfolgreich sein, da die Referenzdaten im Lernmodus Bildmerkmale aus den virtuellen Bildern 511 einschließen, die ähnlich den Merkmalen der Bilder sind, die von einer Kamera des Fahrzeugs erfasst werden, das dem zweiten Parkpfad 509 folgt.
-
5 zeigt ein Blockdiagramm eines Verfahrens zum Parken eines Fahrzeugs innerhalb eines Park-Zwischenraums, gemäß einigen Ausführungsformen. Das Verfahren verwendet einen Prozessor, der betriebsmäßig mit einem Speicher verbunden ist, mindestens einen Sensor zum Erfassen von Bildern, die die Umgebung von zumindest einem Teil des Park-Zwischenraums angeben, und eine Steuerung zum Steuern der Bewegung des Fahrzeugs. Der Prozessor ist mit gespeicherten Anweisungen gekoppelt, die das Verfahren implementieren, wobei die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, zumindest einige Schritte des Verfahrens ausführen.
-
Das Verfahren steuert im Schritt 520 die Bewegung des Fahrzeugs gemäß einem ersten Parkpfad, der an einem Ziel-Zustand endet, und es erfasst im Schritt 525 eine Bildmenge des Park-Zwischenraums während der Bewegung des Fahrzeugs entlang des ersten Parkpfads. Beispielsweise kann der erste Parkpfad der Pfad 505 sein, und die Bilder des Park-Zwischenraums werden unter Verwendung der Kameras 102-105 erfasst, so dass jedes Bild in der Bildmenge von einem Blickpunkt aus erfasst wird, der durch einen Zustand des Fahrzeugs entlang des ersten Parkpfads definiert ist.
-
Das Verfahren konstruiert im Schritt 530 ein Modell des Park-Zwischenraums unter Verwendung der Bildmenge, wählt im Schritt 535 eine Menge von virtuellen Blickpunkten außerhalb des ersten Parkpfads aus, und erzeugt im Schritt 540, unter Verwendung des Modells des Park-Zwischenraums, eine Menge von virtuellen Bildern der Umgebung des Park-Zwischenraums, als würde er von der Menge von virtuellen Blickpunkten aus betrachtet. Wie hier verwendet, schließt die Menge von virtuellen Blickpunkten mindestens einen virtuellen Blickpunkt ein, der einen Zustand des Fahrzeugs außerhalb des ersten Parkpfads definiert.
-
In einigen Ausführungsformen werden die oben erwähnten Schritte während einer Lernstufe 570 des Verfahrens durchgeführt. Die Merkmale der realen und virtuellen Bilder werden zur Selbstortung der automatischen Parkstufe 575 des Verfahrens gespeichert. Es versteht sich jedoch, dass die Pfade, die während der automatischen Parkstufe 575 bestimmt werden, dazu dienen können, das Modell des Park-Zwischenraums zum anschließenden Parken zu lernen und zu aktualisieren.
-
Während der automatischen Parkstufe 575 bestimmt im Schritt 550 das Verfahren einen gegenwärtigen Zustand des Fahrzeugs, indem es ein gegenwärtiges Bild des Park-Zwischenraums, das von dem Sensor erfasst wird, während sich das Fahrzeug im gegenwärtigen Zustand befindet, mit mindestens einem virtuellen Bild vergleicht. Ein Vergleich mit den virtuellen Bildern, z. B. geometrischen Merkmalen der virtuellen Bilder, gestattet eine Selbstortung des Fahrzeugs außerhalb des ersten Parkpfads. Das Verfahren bestimmt im Schritt 555, z. B. unter Verwendung eines Modells des Fahrzeugs, einen zweiten Parkpfad aus dem gegenwärtigen Zustand zum Ziel-Zustand, und es steuert im Schritt 560 die Bewegung des Fahrzeugs gemäß dem zweiten Parkpfad.
-
6A veranschaulicht ein Beispiel eines Fahrzeug-Koordinatensystems, wie von einigen Ausführungsformen verwendet. Der Ursprung 107 des Fahrzeug-Koordinatensystems 108 ist als ein Punkt definiert, bei welchem eine senkrechte Linie, die den Fahrzeugmittelpunkt durchquert, die Bodenebene 110 schneidet. Die senkrechte Linie ist als Z-Achse vorgegeben, und die Y-Achse ist so vorgegeben, dass sie parallel zur Fahrzeug-Mittellinie 109 verläuft.
-
6B zeigt eine beispielhafte schematische geometrische Darstellung eines Fahrzeugs gemäß einigen Ausführungsformen. In diesem Beispiel ist das Fahrzeug als ein Rechtecke 615 abstrahiert worden. Der Fahrzeugzustand weist einen 3-DOF auf, nämlich die Position (x, y)von 617, die den Mittelpunkt von dessen Hinterachse darstellt, und die Ausrichtung θ von 619, die den Winkel zwischen der Fahrzeugkörperachse und der Horizontalachse bezeichnet.
-
7 zeigt ein Ablaufdiagramm der Lernstufe 570 gemäß einer Ausführungsform. Zunächst platziert der Fahrer (Benutzer) das Fahrzeug an der gewünschten Park-Startposition und startet den Lernmodus (das Startsignal wird vom Fahrer gegeben). Dann fährt im Schritt S001 der Fahrer das Fahrzeug so, dass er es im Ziel-Parkzwischenraum parkt, und er beurteilt im Schritt S002, ob das Parken abgeschlossen ist. Sobald der Fahrer geurteilt hat, dass das Parken abgeschlossen ist, gibt im Schritt S003 der Fahrer ein Parkenabgeschlossen-Signal an das System ab. Danach konstruiert im Schritt S004 das System ein 3D-Modell der umgebenden Umwelt, und es erzeugt im Schritt S005 Referenzdaten aus einer Menge von während des Parkens erfassten Bildern. Schließlich speichert im Schritt S006 das System die Referenzdaten und Informationen über den Ziel-Parkzwischenraum und beendet den Lernmodus.
-
8 zeigt ein Ablaufdiagramm der automatischen Parkstufe 575 gemäß einer Ausführungsform. Zunächst startet der Fahrer den automatischen Parkmodus. Beim Fahrzeug-Anfangsort ortet im Schritt S101 das System das Fahrzeug, indem es gegenwärtige Beobachtungen aus einem Satz von Kameras mit den Referenzdaten abgleicht, die im Lernmodus gespeichert worden sind. Falls das System bei der Ortung versagt, wird das Fahrzeug an einen anderen Ort bewegt im Schritt S102, und zwar vom Fahrer oder automatisch vom System. Die Schritte S101 und S102 werden wiederholt, bis das System bei der anfänglichen Ortung erfolgreich ist.
-
Nach dem Erfolg der anfänglichen Ortung berechnet im Schritt S103 das System einen Pfad (Route) vom gegenwärtigen Ort zum Ziel-Parkzwischenraum. Falls das System bei der Pfadplanung (-berechnung) versagt, wird das Fahrzeug wie oben beschrieben bewegt (Schritt S102), bis das System bei der anfänglichen Ortung erfolgreich ist. Sobald die Pfadplanung erfolgreich ist, steuert und fährt im Schritt S104 das System das Fahrzeug entlang des geplanten Pfads, und dann ortet im Schritt S105 es erneut.
-
Im Schritt S105 wird die Ortung durch Beobachtungsabgleich durchgeführt, wie oben beschrieben, oder alternativ wird sie durch Koppelnavigation durchgeführt, und zwar auf der Basis von Fahrzeug-Steuerungsinformationen, wie z. B. der Gierrate und der Geschwindigkeit.
-
Danach beurteilt im Schritt S106 das System, ob das Parken abgeschlossen ist. Falls das Parken nicht abgeschlossen ist, wird eine Abfolge von Schritten (S103 bis S105) wiederholt. Falls das Parken abgeschlossen ist, beendet das System den automatischen Parkmodus.
-
9A zeigt ein Blockdiagramm eines Systems 100, das geeignet ist für ein automatisches Parken gemäß einigen Ausführungsformen. Das System 100 kann einen Mehrzweck-Prozessor 161 und einen Speicher 164 aufweisen. Zusätzlich oder alternativ kann das System 100 Prozessoren für spezielle Zwecke aufweisen, wie z. B. einen Bildprozessor 166, einen Lageprozessor 168 bzw. Posenprozessor, und einen Prozessor 167 für virtuelles Bild. Die Einrichtung 100 kann außerdem eine Anzahl von Sensoren aufweisen, die mit einem oder mehreren Bussen 177 oder Signalleitungen gekoppelt sind, die weiter mit zumindest einem der Prozessoren 161, 166, 167 und 168 gekoppelt sind. Das System 100 kann ein Teil des Fahrzeugs 101 sein und kann verwendet werden, um die Funktionalität des automatischen Parksystems 106 zu implementieren.
-
Das System 100 kann Sensoren zum Erfassen eines Bildes einer Szene aufweisen, wie z. B. Kameras 124, 3D-Sensoren und/oder Kombinationen von Kameras und 3D-Sensoren, die als Rot-Grün-Blau-Tiefensensoren (RGBD, nicht dargestellt) bezeichnet werden, und es kann optional Bewegungssensoren 121, wie z. B. Beschleunigungssensoren, Gyroskope, einen elektronischen Kompass oder ähnliche bewegungserfassende Elemente aufweisen.
-
Das System 100 kann auch Bilder einer nach vom oder nach hinten weisenden Kamera erfassen (z. B. Kameras 124). Das System 100 kann außerdem eine Benutzerschnittstelle 150 aufweisen, die eines oder eine Kombination der folgenden Elemente aufweist: Eine Anzeige 112, eine Eingabeeinrichtung, wie z. B. eine Tastatur und ein Keypad 152. Falls gewünscht, kann eine Integration eines virtuellen Keypads in die Anzeige 122 mit einem berührungsempfindlichen Schirm oder Sensor die Tastatur oder das Keypad 152 entbehrlich machen. Die Benutzerschnittstelle 150 kann auch ein Mikrofon 154 und Lautsprecher 156 aufweisen, z. B. wenn die Einrichtung 100 eine mobile Plattform ist, wie z. B. ein Mobiltelefon. In einigen Implementierungen kann das System 100 als eine mobile oder drahtlose Einrichtung fungieren und kann über eine oder mehrere Drahtlos-Kommunikationsverbindungen unter Verwendung eines Transceivers 140 kommunizieren.
-
In einer oder mehreren beispielhaften Ausführungsformen können die beschriebenen Funktionen oder Module in Hardware implementiert sein (z. B. Hardware 162), in Software (z. B. Software 165), in Firmware (z. B. Firmware 163) oder irgendeiner Kombination daraus von einer Steuerung 160. Falls die Implementierung als ein Computerprogrammprodukt erfolgt, können die Funktionen oder Module gespeichert sein oder übertragen werden, und zwar als eine oder mehrere Anweisungen oder Code auf einem nichtflüchtigen computerlesbaren Medium. Computerlesbare Medien können sowohl Computerspeichermedien, als auch Kommunikationsmedien enthalten, einschließlich irgendeines Mediums, das den Transfer eines Computerprogramms von einem Ort zu einem anderen ermöglicht.
-
Ein Speichermedium kann irgendein verfügbares Medium sein, auf das von einem Computer zugegriffen werden kann. Beispielhaft und nicht einschränkend können solche nichtflüchtigen computerlesbaren Medien Folgendes aufweisen: RAM, ROM, EEPROM, CD-ROM oder andere optische Speicher auf Scheiben, Magnetscheibenspeicher oder andere magnetische Speichereinrichtungen, oder irgendein anderes Medium, das verwendet werden kann, um einen gewünschten Programmcode in der Form von Anweisungen oder Datenstrukturen zu enthalten, und auf das von einem Computer zugegriffen werden kann.
-
9B zeigt eine Darstellung der funktionalen Komponenten des automatischen Parksystems 106 gemäß einer Ausführungsform. Das automatische Parksystem 106 ist aus drei Einheiten gebildet: einer Benutzer-Eingabe-Ausgabeeinheit 201 (I/O-Einheit), einer Wahrnehmungs- und Planungseinheit 202 und einer Fahrzeug-Steuerungseinheit 203.
-
Im Lernmodus kann die Wahrnehmungs- und Planungseinheit 202 ein 3D-Modell als eine 3D-Karte konstruieren, das die umgebende Umwelt des Park-Zwischenraums darstellt; virtuelle Blickpunkte im 3D-Modell bestimmen; und virtuelle Bilder für virtuelle Beobachtungspunkte erzeugen. Die Einheit 202 kann auch Bildmerkmale aus ursprünglich erfassten Bildern und virtuellen Bildern extrahieren, einen Ziel-Parkzustand bestimmen; eine Entsprechung der 2D-Bildposition von jedem Bildmerkmal hinsichtlich einer 3D-Position im 3D-Modell finden, und die Speicherung der Bildmerkmale und deren 3D-Positionen im 3D-Model als Referenzdaten und Ziel-Parkzwischenrauminformationen im 3D-Modell ermöglichen. Außerdem kann die Einheit 202 das 3D-Modell und die Ziel-Parkzwischenrauminformationen an die Benutzer-Eingabe-Ausgabeeinheit 201 ausgeben. Die Benutzer-Eingabe-Ausgabeeinheit 201 zeigt den Fortschritt, den Zustand und die Ergebnisse des Lernmodus dem Fahrer an.
-
Im automatischen Parkmodus kann die Wahrnehmungs- und Planungseinheit 202 Bildmerkmale aus erfassten Bildern extrahieren, die gegenwärtigen Bildmerkmale mit den Bildmerkmalen in den Referenzdaten abgleichen, die im Lernmodus gespeichert worden sind, und mittels der Abgleich-Ergebnisse das Fahrzeug bezüglich des 3D-Modells orten. Die Einheit 202 kann auch den Pfad zum Ziel-Parkzwischenraum vom gegenwärtigen Ort des Fahrzeugs aus bestimmen und den geplanten Pfad an die Fahrzeug-Steuerungseinheit 203 ausgeben. Die Fahrzeug-Steuerungseinheit 203 steuert das Fahrzeug auf der Basis des von der Einheit 202 eingegebenen Pfades.
-
10 zeigt ein Blockdiagramm von Funktionsmodulen, die in dem Lernmodus von einigen Ausführungsformen verwendet werden. Das Bilderfassungsmodul 301 steuert einen Satz Kameras und erfasst Bilder. Das Bildspeichermodul 302 speichert die erfassten Bilder.
-
Das 3D-Modell-Erzeugungsmodul 303 erzeugt ein 3D-Modell von erfassten Bildern durch 3D-Rekonstruktionstechniken, wie z. B. SFM (Struktur aus Bewegung) und VSLAM (visuelle simultane Positionsbestimmung und Kartierung). In diesem Kontext wird ein 3D-Modell als eine 3D-Punktwolke definiert, in welcher jeder Punkt zu seinem ursprünglichen Bildpunkt (2D) in Bezug gesetzt wird. Das bedeutet, dass jeder Punkt in der Punktwolke nicht nur die 3D-Position im 3D-Modell aufweist, sondern auch die ursprüngliche Bildposition und Farbe (RGB), Intensität und/oder Merkmalsinformationen.
-
Bei einigen Ausführungsformen wird das Koordinatensystem der Punktwolke gemäß dem Fahrzeug-Koordinatensystem an einem gewissen Fahrzeugort im Lernmodus vorgegeben. Beispielsweise kann das Fahrzeug-Koordinatensystem am Startort oder Endort im Lernmodus als das Koordinatensystem des 3D-Modells vorgegeben werden.
-
11 veranschaulicht ein Beispiel des 3D-Modells. In 11 wird das 3D-Modell 602 (von dem angenommen wird, dass es eine dichte Punktwolke hat) mit einem Koordinatensystem 603 aus einer Bildmenge 601 erzeugt, deren Bilder im Lernmodus erfasst werden.
-
Das Bestimmungsmodul 304 für Ziel-Parkzwischenraum bestimmt einen Ziel-Parkzwischenraum im 3D-Modell. Der Zwischenraum, an welchem der Fahrer das Parken im Lernmodus abschließt, wird als ein Ziel-Parkzwischenraum vorgegeben, und dessen Ort wird im 3D-Modell dargestellt. Es können verschiedene Darstellungsformen erwogen werden. Beispielsweise kann die Darstellung durch die Position und Ausrichtung des Fahrzeug-Koordinatensystems im 3D-Modell erfolgen. Alternativ kann die Darstellung in der Form einer 2D- oder 3D-Begrenzungsbox des Fahrzeugs erfolgen. Das Speichermodul 305 für Ziel-Parkzwischenraum speichert die Informationen über den Ziel-Parkzwischenraum.
-
Das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt bestimmt virtuelle Blickpunkte im 3D-Modell. In einer Ausführungsform werden die virtuellen Blickpunkte bestimmt, indem im 3D-Modell zufällig oder regelmäßig Punkte ausgewählt werden, beispielsweise Zustände des Fahrzeugs. Als nächstes wird ein Satz von virtuellen Kameras, z. B. vier Kameras die mit den Kameras 102-105 abgeglichen werden, für jedes virtuelle Fahrzeug-Koordinatensystem auf der Basis der Kamera-Kalibrierungsdaten (relative Position und Ausrichtung zum Fahrzeug-Koordinatensystem) vorgegeben. Der Ursprung jedes virtuelle Kamera-Koordinatensystems kann als ein virtueller Beobachtungspunkt angesehen werden, und demzufolge können vier virtuelle Beobachtungspunkte von einem Satz von virtuellen Kameras an diesem Punkt bestimmt werden.
-
12 zeigt Beispiele von virtuellen Zuständen 610 des Fahrzeugs, die die Ursprünge der Koordinatensysteme 611 definieren, sowie entsprechende virtuelle Beobachtungspunkte 612 bis 623. In dieser 12 ist die Karte in der Form einer Draufsicht-Karte (Vogelperspektive) des 3D-Modells 602 in 11 gezeigt.
-
Das Erzeugungsmodul 307 für virtuelle Bilder erzeugt eine Menge von virtuellen Bildern in Bezug auf die virtuellen Beobachtungspunkte. Die unterschiedlichen Ausführungsformen verwenden unterschiedliche Verfahren zum Erzeugen eines virtuellen Rahmens, bei gegebenem virtuellem Blickpunkt. Beispielsweise können die virtuellen Bilder unter Verwendung eines oder eine Kombination aus einem Krümmen bzw. Verziehen mindestens eines Bildes aus der Bildmenge, einem Projizieren des Modells der Szene in den virtuellen Blickpunkt und einer ebeneninduzierten Homographie erzeugt werden.
-
Beispielsweise hat in einer Ausführungsform der virtuelle Blickpunkt dieselbe Betrachtungsposition wie ein reales Bild, während er sich nur hinsichtlich der Ausrichtung unterscheidet. In dieser Ausführungsform kann der virtuelle Rahmen erzeugt werden, indem jedes Pixel
pv im neuen Rahmen aus dem Pixel
pr in jenem realen Rahmen durch p
v = Hp
r gekrümmt bzw. verzogen wird, wobei
pv und
pr die homogenen 2D-Koordinaten der Pixel sind,
H eine 3 × 3-Homographie-Matrix ist, die definiert ist durch
eine 3D-Drehmatrix ist, die der Ausrichtung des virtuellen Blickpunkts in Bezug auf den realen Blickpunkt entspricht, und
Kv und
Kr die virtuelle bzw. reale intrinsische 3 × 3-Matrix für Kamera ist.
-
Beispielsweise kann in einer weiteren Ausführungsform das virtuelle Bild direkt aus einer dichten Punktwolke erzeugt werden, die die Szene 602 beschreibt, die mittels des 3D-Modell-Erzeugungsmoduls 303 rekonstruiert wird. Beispielsweise kann in einer Implementierung ein texturiertes Maschenmodell dieser Szene aus der dichten Punktwolke erzeugt werden. Dann wird diese texturierte Masche einer Grafik-Pipeline, wie z. B. OpenGL zugeführt, wobei die Lage bzw. Pose der virtuellen Kamera (in der Bezeichnung gemäß OpenGL: die Model-View-Matrix) auf den gegebenen virtuellen Blickpunkt vorgegeben wird, und wobei deren Projektionsmatrix durch eine gewünschte intrinsische Matrix für Kamera vorgegeben wird, und zwar für gewöhnlich identisch oder nahe derjenigen der realen Kamera. An diesem Punkt werden die RGB-Informationen aus dem Farbpuffer der OpenGL-Pipeline und den Tiefeninformationen aus dem Tiefenpuffer extrahiert. Folglich wird ein virtueller Rahmen des RGBD-Bildes am gewünschten virtuellen Blickpunkt erzeugt.
-
In noch einer anderen Ausführungsform gilt Folgendes: Wenn die 3D-Punktwolke der Szene relativ dünn besetzt ist, werden die virtuellen Bilder unter Verwendung von ebeneninduzierter Homographie erzeugt. Für diesen Fall ist es schwierig, das virtuelle Bild aus einem weit weg befindlichen virtuellen Blickpunkt für jedes Pixel im Bild zu erzeugen, da pixelbezogene 3D-Informationen häufig fehlen. Anstatt ein dichtbesetztes virtuelles Bild zu erzeugen, wie in den obigen zwei Fällen, kann in einigen Ausführungsformen ein dünnbesetztes virtuelles Bild erzeugt werden, wobei der Fokus auf Pixelorten mit vorab geschätzten 3D-Informationen liegt, d. h. allen Merkmalspunkten in den realen Bildern.
-
Dieser Erzeugungsprozess kann durch bildbasiertes Krümmen bzw. Verziehen unter Verwendung von ebeneninduzierter Homographie erfolgen, wie nachfolgend erläutert. Unter der Annahme, dass die einem Merkmalspunkt entsprechende Landmarke bzw. der entsprechende Ortungspunkt in einer kleinen Ebene lokal (nw , dw ) ist, wobei nw die Normalenrichtung der Ebene im Weltkoordinatensystem ist, und wobei dw der Abstand des Welt-Ursprungs zur Ebene ist.
-
Falls dieser Merkmalspunkt vorher in einem realen Rahmen beobachtet worden ist, dessen Lage bzw. Pose in der Welt
ist, wobei
Rr und
tr die 3D-Drehmatrix der realen Kamera bzw. ihr Translationsvektor ist, und wenn die Lage bzw. Pose des gegebenen virtuellen Blickpunkts
ist, wobei
Rv und
tv die 3D-Drehmatrix der virtuellen Kamera bzw. ihr Translationsvektor ist, dann ergibt sich aus der Theorie der Mehrfachbetrachtungs-Geometrie eine Homographie-Matrix zwischen dem realen Rahmen und dem virtuellen Rahmen, induziert durch Beobachten derselben lokalen Ebene, wie folgt:
wobei
und
Kv und
Kr die virtuelle bzw. die reale intrinsische 3 × 3-Matrix für Kamera ist.
-
Diese Homographie-Matrix kann verwendet werden, um diesen Merkmalspunkt und dessen Nachbarpixel zu krümmen bzw. zu verziehen, und zwar als Flicken (Patch) auf dem realen Bild zu einem Flicken auf dem virtuellen Bild. Dieser gekrümmte Flicken stellt dar, was zu beobachten erwartet würde, falls eine reale Kamera die entsprechende Landmarke bzw. Ortungspunkt von der virtuellen Lage bzw. Pose Tv aus betrachten würde. Indem dieser Krümmungsvorgang für jeden Merkmalspunkt auf dem realen Bild wiederholt wird, wird ein virtuelles Bild mit dünn besetzten Merkmalen erzeugt.
-
13 zeigt eine Veranschaulichung von beispielhaften virtuellen Bildern 631, die in Hinblick auf eine Menge von virtuellen Blickpunkten 630 im 3D-Modell 602 erzeugt werden, gemäß einigen Ausführungsformen. In diesem Beispiel werden die geometrischen Strukturen von Objekten (z. B. Gebäude und Haus) in der Szene nicht in den virtuellen Bildern verzerrt, da die virtuellen Bilder über das 3D-Modell erzeugt werden.
-
Das Bildmerkmal-Extraktionsmodul 308 extrahiert Bildmerkmale. Beispielsweise werden Eckpunkte in einem Bild detektiert, und dann werden lokale Merkmale jedes Eckpunkts (z. B. SIFT, SURF usw.) berechnet.
-
Das Referenzdaten-Erzeugungsmodul 309 ordnet jedes Bildmerkmal (im Modul 308 extrahiert) einer 3D-Position im 3D-Modell zu. Ein Paar aus Bildmerkmal und zugeordneter 3D-Position wird als Referenzdaten definiert.
-
14 zeigt eine schematische Darstellung eines Datenflusses der Referenzdatenerzeugung gemäß einigen Ausführungsformen. Das Bildmerkmal-Extraktionsmodul 308 extrahiert Bildmerkmale 650 für eine ursprünglich erfasste Bildmenge 601 und eine virtuelle Bildmenge 631. An diesem Punkt ist jede Bild-2D-Position einer 3D-Position im 3D-Modell zugeordnet. Im Ergebnis werden Paare aus Bildmerkmal und 3D-Position als Referenzdaten 651 erzeugt. Das Referenzdaten-Speichermodul 310 speichert die Referenzdaten.
-
Das Benutzer-Ausgabemodul 311 zeigt die Zwischeninformationen und die resultierenden Informationen aus dem Lernmodus dem Benutzer in einfach verständlicher Weise an. Beispielsweise wird eine vereinfachte Ansicht des 3D-Modells aus der Vogelperspektive dem Benutzer angezeigt, wobei der Startort, der Ziel-Parkzwischenraum und der Parkpfad visualisiert werden, die im Lernmodus angenommen worden sind.
-
15 zeigt ein Blockdiagramm von Funktionsmodulen, die im automatischen Parkmodus verwendet werden, gemäß einer Ausführungsform. Das Bilderfassungsmodul 301 und das Bildmerkmal-Extraktionsmodul 308 sind dieselben wie im Lernmodus. Im automatischen Parkmodus gibt jedoch das Bilderfassungsmodul 301 direkt eine Bildmenge aus, z. B. vier Bilder für jeden Rahmen, und zwar an das Bildmerkmal-Extraktionsmodul 308.
-
Das Referenzdaten-Abgleichmodul 312 gleicht die Eingangsbildmerkmale mit den Bildmerkmalen in den Referenzdaten ab, die im Lernmodus erzeugt werden. Auf der Basis der Abgleich-Ergebnisse wird jeder der Referenzdaten ein Rang zugeordnet, und zwar mittels der Bildmerkmal-Übereinstimmungspunktzahl, und die oberen N Referenzdaten (N ist eine festgelegte Zahl und im Voraus definiert) werden ausgewählt. Der euklidische Abstand zwischen Merkmalsvektoren ist ein Beispiel für ein Ähnlichkeitsmaß. Nach dem Abgleichen wird eine 3D-Position jedem Bildmerkmal zugeordnet, und zwar auf der Basis der 3D-Punkte der abgeglichenen Referenzdaten.
-
16 zeigt einen Datenfluss eines Merkmals-Übereinstimmungsprozesses gemäß einer Ausführungsform. Zunächst werden Bildmerkmale einer Eingabe-Bildmenge 660 mit den Referenzdaten 651 auf der Basis von Bildmerkmal-Ähnlichkeit abgeglichen. Dann werden 3D-Positionen der abgeglichenen Referenzdaten jedem Eingabebildmerkmal zugeordnet. Im Ergebnis wird eine Abgleich-Ergebnismenge 661 erzeugt.
-
Das Fahrzeug-Ortungsmodul 313 berechnet einen gegenwärtigen Zustand des Fahrzeugs, d. h. die Fahrzeugposition und Fahrzeugausrichtung im 3D-Model, und zwar im gegenwärtigen Rahmen bzw. Frame aus dem Abgleich-Ergebnis, das aus dem Modul 312 ausgegeben wird. Da die Entsprechungen bzw. Zuordnungen zwischen den 2D-Bildmerkmalen und den 3D-Positionen im 3D-Modell an diesem Punkt bekannt sind, kann die 3D-Position und -Ausrichtung jeder Kamera unter Verwendung einer Klasse von Algorithmen berechnet werden, die als Perspektive-n-Punkt-Algorithmen bezeichnet werden. Da außerdem jede Kamera auf das Fahrzeug-Koordinatensystem kalibriert ist (da die Relationen bekannt sind), können die 3D-Position und -Ausrichtung des Fahrzeugs auch mittels derjenigen von jeder Kamera berechnet werden, d. h. das Fahrzeug kann im 3D-Modell geortet werden.
-
Das Pfad-Planungsmodul 314 berechnet einen Pfad zum Parken vom gegenwärtigen Fahrzeugort zum Ziel-Parkzwischenraum auf der Basis der Ortungsergebnisse. Das Fahrzeug-Steuerungsmodul 315 steuert das Fahrzeug so, dass sich das Fahrzeug entlang des im Pfad-Planungsmodul 314 berechneten Pfades bewegt.
-
17 und 18 zeigen Blockdiagramme von Funktionsmodulen, die im Lernmodus bzw. im automatischen Parkmodus von einigen Ausführungsformen verwendet werden. In dieser Ausführungsform werden die Referenzdaten im automatischen Parkmodus erzeugt und nicht im Lernmodus.
-
Im Lernmodus speichert das Speichermodul 801 für 3D-Modell das 3D-Modell, und das Bildmerkmal-Speichermodul 802 speichert eine Bildmerkmalmenge. Im automatischen Parkmodus erzeugt das Referenzdaten-Erzeugungsmodul 310 die Referenzdaten aus dem 3D-Modell und den im Lernmodus gespeicherten Bildmerkmalen.
-
19 veranschaulicht ein weiteres Blockdiagramm von Funktionsmodulen, die im Lernmodus verwendet werden, und zwar von einer sich unterscheidenden Ausführungsform. Das 3D-Modell-Analysemodul 320 detektiert einen freien Raum (Straßenbereich) zum Fahren (Parken) im 3D-Modell durch Segmentierung, wie z. B. eine Straßenszenen-Segmentierung auf der Basis von 2D-Ebenen-Passung oder eine Straßenbereichsdetektion auf der Basis von Textur, Farbe und Gradient. Außerdem detektiert das Modul 320 auch spezifische statische Objekte, wie z. B. Gebäude, Häuser oder Hinweistafeln, und zwar mit Maschinenlerntechniken.
-
Das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt gibt die virtuellen Fahrzeug-Ursprünge und Koordinatensysteme auf dem freien Raum und um die im Modul 320 detektierten spezifischen Objekte herum zufällig oder regelmäßig vor. Die virtuellen Beobachtungspunkte werden dann gemäß den virtuellen Fahrzeug-Koordinatensystemen bestimmt.
-
Diese Ausführungsform ermöglicht es, die virtuellen Beobachtungspunkte wirksamer vorzugeben. Wenn das System die virtuellen Beobachtungspunkte dicht und gleichmäßig auf dem freien Raum vorgegeben hat, kann man die virtuellen Bilder erzeugen, die möglicherweise ähnlichere Erscheinungsbilder und Bildmerkmale zu denen der Eingabebilder im automatischen Parkmodus haben, da alle Eingabebilder stets irgendwo auf dem freien Raum erfasst werden. Indem die virtuellen Beobachtungspunkte um die spezifischen Objekte herum vorgegeben werden, kann die Ausführungsform außerdem dichte Bildmerkmale erzeugen. Im Ergebnis macht diese Ausführungsform den automatischen Parkmodus stabiler und robuster.
-
20 zeigt ein anderes Blockdiagramm von Funktionsmodulen, die im Lernmodus verwendet werden. Das Benutzer-Eingabemodul 330 empfängt die Eingaben des Fahrers und gibt sie an das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt aus. In dieser Ausführungsform bestimmt das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt die virtuellen Blickpunkte auf der Basis der Eingaben des Benutzers (Fahrers).
-
Das Benutzer-Eingabemodul 330 stellt eine Schnittstellenfunktion bereit, die es dem Fahrer ermöglicht, die Quelleninformationen der virtuellen Beobachtungspunkte im 3D-Modell intuitiv zu spezifizieren, während das Benutzer-Ausgabemodul 311 das 3D-Modell und die analysierten Ergebnisse (freier Raum und spezifische statische Objekte, die im 3D-Modell-Analysemodul 320 detektiert werden) auf eine leicht verständliche Weise auf der Schnittstelleneinrichtung anzeigt, so dass der Fahrer die umgebende Umwelt auf Anhieb verstehen kann.
-
Sei beispielsweise eine berührungsempfindliche Anzeigetafel als Schnittstelleneinrichtung angenommen. Das Benutzer-Ausgabemodul 311 zeigt die Draufsicht des 3D-Modells an, in welchem der freie Raum und Objekte mit deren Bezeichnungen auf der Tafel dargestellt werden. Dann spezifiziert der Fahrer die gewünschten Punkte für die virtuelle Beobachtung auf der angezeigten Karte mittels eines Berührungsvorgangs, während das Benutzer-Eingabemodul 330 die Eingaben des Fahrers entgegennimmt. Das Benutzer-Eingabemodul 330 gibt die Punktdaten an das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt aus.
-
21 zeigt eine beispielhafte Schnittstelle zum Auswählen der Richtung des Parkens gemäß einer Ausführungsform. In dieser Zeichnung sind der Ziel-Parkzwischenraum 402, Objekte (Gebäude und Haus) 403 und 404, der freie Raum (Straßenbereich) 405, der Parkpfad 406, der im Lernmodus genommen wird, und spezifische virtuelle Beobachtungspunkte 407 in der Ansicht des 3D-Modells 401 aus der Vogelperspektive visualisiert. In diesem Beispiel sind die spezifizierten virtuellen Beobachtungspunkte 407 in der Form von kameraförmigen Piktogrammen visualisiert, um die intuitive Betätigung des Fahrers zu unterstützen.
-
22 zeigt eine weitere Schnittstelle zum Auswählen der Richtung des Parkens gemäß einer Ausführungsform. In diesem Beispiel kann der Fahrer die virtuellen Beobachtungspunkte spezifizieren, indem er den gewünschten Parkpfad auf der Vogelperspektive-Karte zeichnet.
-
Der gewünschte Parkpfad oder die gewünschte Richtung 408 des Parkens ist in der Vogelperspektive-Karte 401 in dieser Zeichnung visualisiert. Das Benutzer-Eingabemodul 330 gibt die Eingaben des Fahrers in der Form von Pfaden an das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt aus, und das Bestimmungsmodul 306 für virtuellen Beobachtungspunkt erzeugt virtuelle Beobachtungspunkte einhergehend mit den spezifischen Pfaden, indem es die linearen Pfadinformationen in diskrete Punktsequenz-Informationen umwandelt. Diese Ausführungsform erweitert die Nutzbarkeit des automatischen Parksystems. Das bedeutet, dass der Fahrer das automatische Parksystem einfacher und intuitiver nutzen kann, so dass es den Bedürfnissen des Fahrers angepasst ist.
-
23A zeigt ein Blockdiagramm eines Verfahrens, das von Ausführungsformen verwendet wird, zum Auswählen von Blickpunkten außerhalb des ersten Parkpfads. In diesen Ausführungsformen empfängt im Schritt 2320 das Verfahren in Ansprechen auf das Rendern 2310 einer Darstellung des Modells des Park-Zwischenraums auf einer Anzeigeeinrichtung eine Auswahl einer Richtung des Parkens. Diese Auswahl wird verwendet, um den zweiten Parkpfad zu bestimmen im Schritt 2330, der sich dem Ziel-Zustand von der ausgewählten Richtung aus annähert. Beispielsweise wird ein Zustand des Fahrzeugs gemäß der Richtung ausgewählt, und der zweite Parkpfad wird unter Verwendung des Modells des Fahrzeugs bestimmt. Nachdem der zweite Pfad bestimmt worden ist, wird die Menge von virtuellen Blickpunkten ausgewählt im Schritt 2340, und zwar auf dem zweiten Parkpfad.
-
23B zeigt ein Blockdiagramm eines alternativen Verfahrens, das von einer Ausführungsform verwendet wird, zum Auswählen von Blickpunkten außerhalb des ersten Parkpfads. In dieser Ausführungsform werden die Blickpunkte ohne die Eingabe vom Benutzer ausgewählt. Genauer gesagt: Diese Ausführungsform detektiert im Schritt 2350 einen Teil des Park-Zwischenraums, der frei von Hindernissen ist. Beispielsweise kann der Teil des Park-Zwischenraums, der frei von Hindernissen ist, unter Verwendung der Segmentierung des Modells des Park-Zwischenraums bestimmt werden, wie in Bezug auf 19 beschrieben.
-
Die Ausführungsform tastet im Schritt 2360 den Teil des Park-Zwischenraums ab und erzeugt eine Menge von abgetasteten Zuständen, und sie wählt die Blickpunktmenge aus der Menge von abgetasteten Zuständen aus. In einer Ausführungsform werden alle abgetasteten Zustände als die virtuellen Blickpunkte verwendet. Einige alternative Ausführungsformen führen die Abtastung unter Verwendung eines Erreichbarkeits-Kriteriums durch. Gemäß dem Erreichbarkeits-Kriterium wird das Abtastelement im Zustandsraum nur bewahrt, wenn das Abtastelement vom Ziel-Zustand aus erreichbar ist. In einer Ausführungsform gilt Folgendes: Um eine Verwendung der Dynamik des Fahrzeugs zu vermeiden, um die Stabilität zu testen, wird die Erreichbarkeit als eine Abwesenheit einer Nicht-Erreichbarkeit definiert, und die Nicht-Erreichbarkeit ist ein vorbestimmter Bereich nahe den Seiten des Fahrzeugs.
-
23C zeigt eine schematische Darstellung von beispielhaften nicht-erreichbaren Bereichen 2393 und 2397 für ein Fahrzeug 101 im Zustand 2391, der die Position und die Ausrichtung des Fahrzeugs definiert. In diesem Beispiel werden die nicht-erreichbaren Bereiche mit den Kreisen der Fahrzeugbewegung beginnend beim Zustand 2391 und sich mit der vorbestimmten Geschwindigkeit bewegend dargestellt, wobei das Rad des Fahrzeugs die maximale Auslenkung nach links oder nach rechts erreicht.
-
Falls der Ziel-Zustand 2390 innerhalb der nicht erreichbaren Bereiche 2393 und 2397 liegt, wird der Zustand 2391 zurückgewiesen. Zu diesem Zweck wird in dieser Ausführungsform eine Erreichbarkeit des Ziel-Zustands von einem abgetasteten Zustand aus getestet im Schritt 2370, und zwar unter Verwendung des Modells des Fahrzeugs, und es wird der Blickpunkt ausgewählt im Schritt 2380, der dem abgetasteten Zustand in die Blickpunktmenge hinein entspricht, falls der Ziel-Zustand vom abgetasteten Zustand aus erreichbar ist.
-
In einigen Ausführungsformen wird die Pfadplanung im Voraus oder in Echtzeit durchgeführt. Beispielsweise kann die Pfadplanung im Voraus unterschiedliche Parkpfade bestimmen, die zum Ziel-Zustand aus unterschiedlichen Richtungen führen. In diesen Situationen ermöglicht die Richtung 408 eine Auswahl des zweiten Parkpfads aus den vorbestimmten Parkpfaden. Zusätzlich oder alternativ wird in einigen Implementierungen der freie Raum des Park-Zwischenraums wie mit der Richtung 408 angegeben abgetastet, und der abgetastete Zustand des Fahrzeugs wird zum Bestimmen der alternativen Parkpfade verwendet, wie z. B. der zweite Parkpfad.
-
24 zeigt eine beispielhafte schematische Darstellung von möglichen Parkpfaden des Fahrzeugs 101 durch den Park-Zwischenraum. In diesem Beispiel erfassen die Kameras Bilder nur bei den Zuständen {X0 , X1 , X2 ,...XM-1, XM }, die als Sterne dargestellt sind und der Blickpunktmenge entsprechen. Diese Zustände werden als Saat (Seed) verwendet, um einen Graphen 2410 zu bilden bzw. wachsen zu lassen. Der Graph 2410 hat mehrere Knoten, die mit Kanten verbunden sind. Jeder Knoten definiert den Zustand des Fahrzeugs, und jede Kante, die zwei Knoten verbindet, definiert einen brauchbaren Pfad zwischen den zwei Knoten.Zu diesem Zweck ist ein Pfad von irgendeinem Knoten zu einem Zielknoten 195 des Ziel-Zustands durch die Kanten, die den Knoten mit dem Zielknoten verbinden, ein möglicher Parkpfad.
-
Die Knoten des Graphen werden als die virtuellen Blickpunkte zum Bestimmen von virtuellen Bildern ausgewählt. Die Merkmale aus den virtuellen Bildern entsprechend den Knoten, die unter Verwendung von Kreisen und Sternen dargestellt sind, wie z. B. die Knoten 191, 192, 193, 194, 195, werden als Referenzdaten verwendet. Während der automatischen Parkstufe gilt Folgendes: Falls die gegenwärtige Position des Fahrzeugs in der Nähe von zumindest einem der Knoten ist, kann der Pfad von diesem Knoten zum Ziel-Zustand 195 leicht aus dem Graphen 2410 ausgewählt werden.
-
Der Graph
2410 kann unter Verwendung eines Modells des Fahrzeugs erzeugt werden, z. B. eines dynamischen und/oder kinematischen Modells. Wie hier verwendet, berücksichtigt ein dynamisches Modell eines Fahrzeugs die zeitabhängigen Änderungen im Zustand des Fahrzeugs. Dynamische Modelle werden typischerweise durch Differentialgleichungen dargestellt. In einer Ausführungsform wird das dynamische Modell des Fahrzeugs durch die folgenden Differentialgleichungen fünfter Ordnung dargestellt:
wobei v die Geschwindigkeit der Vorderräder ist, ζ der Winkel zwischen den Vorderrädern und der Fahrzeug-Ausrichtung ist,
a1 die Translationsbeschleunigung ist,
a2 die Lenkwinkelgeschwindigkeit ist, und l der Abstand zwischen (
x,
y)und dem Mittelpunkt der Vorderräder ist.
-
Für die Pfadplanung verwenden einige Ausführungsformen ein kinematisches Modell des Fahrzeugs, das die Bewegung des Fahrzeugs beschreibt, ohne dass die Masse des Fahrzeugs oder die Kräfte berücksichtigt werden, die die Bewegung verursacht haben.
-
Bei einer Ausführungsform wird das folgende kinematische Modell verwendet:
wobei u
1 = cos(ζ)v die Geschwindigkeit des Mittelpunkts der Hinterachse ist, u
2 = tan(ζ)u
1/l.
-
Ein Pfad ist kinematisch brauchbar, wenn es eine Lösung des kinematischen Modells (2) gibt. Ein Fahrzeugzustand X = (x, y, θ) ist nur dann kollisionsfrei, wenn das Fahrzeug, das sich an der Position X befindet, nicht mit irgendeinem Hindernis kollidiert und vollständig innerhalb der Grenzen des Park-Zwischenraums liegt. Der Anfangszustand 101 wird abgekürzt als X0 = (x0, y0, θ0),und der Ziel-Zustand 102 ist mit Xf = (xf, yf, θf)bezeichnet. Für eine spezifische Parkaufgabe mit einem Park-Zwischenraum, der durch ein Rechteck L × H dargestellt wird, gehört der Fahrzeugzustand stets zu einem Zustandsraum X: [0, L) × [0, H) × [0,2π
-
25A zeigt ein Funktionsdiagramm eines automatisierten Parksystems gemäß einer Ausführungsform. Der Umgebungs-Kartierungs- und Ortungsblock 201 konstruiert oder aktualisiert das Modell des Park-Zwischenraums und bestimmt den gegenwärtigen Ort des Fahrzeugs, indem er die Umgebung und die Fahrzeugs-Betriebsbedingung erfasst. Beispielsweise kann der Kartierungs- und Ortungsblock 201 den Ortungsblock 313 enthalten. Beispielsweise kann der Kartierungs- und Ortungsblock 201 auch eine Inertialmesseinheit aufweisen, welche 3-Achsen-Beschleunigungssensor(en), 3-Achsen-Gyroskop(e) und/oder Magnetometer (Sg./Pl.) aufweist, und welche zum Erfassen des Fahrzeugs-Betriebs verwendet werden kann. Ein Sensor für globales Positionsbestimmungs-System kann verwendet werden, um die Position und Geschwindigkeit des Fahrzeugs bereitzustellen. Sensoren zum Erfassen der Umgebung 200 können Videokameras sein, die Hindernisse inklusive anderer Fahrzeuge, Fußgänger und Gebäude erfassen, Ultraschall-/Radarsensoren, die den Abstand zwischen dem Fahrzeug und Hindernissen detektieren.
-
Der Ziel-Zustand-Auswahlblock 202 wählt einen Ziel-Zustand für einen Parkplatz zum Parken des Fahrzeugs aus, indem er Parkplatz-Kandidaten identifiziert, und er sendet den Ziel-Zustand an einen Bewegungsplanungsblock 203. In einer Ausführungsform werden die verfügbaren Parkplätze von einem separaten System verfolgt, das mit der Verwaltung der Parkgarage zusammenhängt. Zusätzlich oder alternativ können die Parkplätze unter Verwendung der Sensoren 121, 124 des automatischen Parksystems detektiert werden.
-
Die Bewegungsplanung 203 initiiert eine vollständige Bewegungsplanungs-Prozedur zum Bestimmen eines Parkpfades 241 auf der Basis der Fahrzeugmodelle 210, der Anfangs- und Ziel-Zustände des Fahrzeugs sowie der Karte des Park-Zwischenraums. In einer Ausführungsform definiert der Parkpfad Profile der Fahrzeug-Geschwindigkeit und des Lenkwinkels im Zeitverlauf. In einer weiteren Ausführungsform definiert der Parkpfad das Profil des Fahrzeugzustands (x, y, θ)im Zeitverlauf.
-
Bei gegebenem Parkpfad 241 bestimmen die Fahrzeugsteuerungen und -aktuatoren 204 Steuerbefehle und führen diese aus, um zu veranlassen, dass der Fahrzeugzustand dem Parkpfad 241 folgt, falls der Parkpfad ein Zustandsprofil ist, oder um zu veranlassen, dass die Fahrzeug-Geschwindigkeit und der Lenkwinkel dem Parkpfad folgen, falls der Parkpfad die Fahrzeug-Geschwindigkeit und die Lenkwinkel-Profile sind. In einer Ausführungsform können die Steuerbefehle der Gaspedal-Druck oder das Lenkmoment sein. Die Fahrzeugsteuerungen/-aktuatoren können auch das Signal 243 verwenden, um Steuerbefehle zu bestimmen. Das Signal 243 kann ein gemessener Lenkwinkel sein oder gemessene Ströme von Motoren, die das Lenkrad oder das Gaspedal bewegen.
-
25B zeigt eine allgemeine Struktur des Bewegungsplanungssystems 203 gemäß einer Ausführungsform. Das Bewegungsplanungssystem 203 weist mindestens einen Prozessor 270 zum Ausführen von Modulen des Bewegungsplanungssystems 203 auf. Der Prozessor 270 ist mit einem Speicher 280 verbunden über einen Pfad 271, der geometrische Informationen 281 speichert, wie z. B. die Geometrie des Fahrzeugs und ein Modell des Park-Zwischenraums. Der Speicher 280 kann auch die Modelle des Fahrzeugs 282 speichern, wie z. B. ein kinematisches Modell des Fahrzeugs und ein dynamisches Modell des Fahrzeugs.
-
Der Speicher 280 kann auch die internen Informationen 283 des Bewegungsplaners speichern, inklusive und ohne Beschränkung eines Anfangszustands des Fahrzeugs, eines Ziel-Zustands des geparkten Fahrzeugs. In einigen Ausführungsformen kann der Speicher 280 gespeicherte Anweisungen enthalten, die das Verfahren für das automatische Parken implementieren, wobei die Anweisungen, wenn sie von dem Prozessor 270 ausgeführt werden, zumindest einige Schritte des Verfahrens ausführen.
-
Einige Ausführungsformen basieren auf der Erkennung, dass die virtuellen Bilder ferner dazu verwendet werden können, die Dichte und Genauigkeit des Modells des Park-Zwischenraums zu erhöhen. Beispielsweise verwenden einige Ausführungsformen eine visuelle simultane Positionsbestimmung und Kartierung (SLAM), die Bilder als visuelle Sensordaten-Eingaben zum Rekonstruieren eines dreidimensionalen (3D) Modells einer Szene nutzen. Einige Ausführungsformen verwenden virtuelle Bilder, die für das automatische Parken erzeugt werden, um solch eine visuelle SLAM (VSLAM) bereitzustellen, die geeignet ist zum Konstruieren eines 3D-Modells der Szene mit einer verringerten Anzahl von Bildern, die zum Verfolgen der Lage bzw. Pose des Sensors verwendet werden.
-
Solch eine VSLAM wird hier als eine virtuell-augmentierte VSLAM (VA-VSLAM) bezeichnet. Die VA-VSLAM kann ähnliche Modelle der Szene mit einer kleineren Anzahl von Bildern konstruieren, oder sie kann alternativ bessere Modelle der Szene mit der gleichen Anzahl von Bildern konstruieren als eine herkömmliche VSLAM. Zu diesem Zweck kann durch Verwenden einer kleineren Anzahl von Bildern die VA-VSLAM die Rechenleistung und den Speicherverbrauch verringern und die Trajektorie verbessern, der von dem Sensor gefolgt wird, um die Umgebung zu kartieren. Alternativ kann durch Verwenden der gleichen Anzahl von Bildern die VA-VSLAM ein 3D-Modell mit höherer Genauigkeit erzeugen, was zu einer höheren Genauigkeit bei der Selbstortung unter Verwendung des 3D-Modells führt.
-
26A zeigt ein Blockdiagramm eines VA-VSLAM-Grundgerüsts 2600 gemäß einigen Ausführungsformen, wobei die Vorteile eines VSLAM-Grundgerüsts 2610 genutzt werden, um sowohl eine oder mehrere 6D-Posen (Positionen und Ausrichtungen) von Kameras, als auch eine 3D-Beschreibung der geometrischen Umgebungen zu schätzen. Das VA-VSLAM-Grundgerüst arbeitet, indem es einen Abgleich zwischen einer Merkmalsmenge auf den gegenwärtig beobachteten realen Bildern, die von den Kameras und/oder Sensoren aus einigen realen Betrachtungs-Posen erfasst werden, und einer Merkmalsmenge auf den virtuell erzeugten Bildern durchführt, die von einer virtuellen Kamera aus einigen virtuellen Betrachtungs-Posen beobachtet werden.
-
Die Schritte des Verfahrens können von einem Prozessor durchgeführt werden, wie z. B. einem Allzweckprozessor 161 und/oder spezialisierten Prozessoren 166, 167 und 168, die mit einem Speicher verbunden sind, wie z. B. dem Speicher 164, der die Bildmenge speichert und mit den gespeicherten Anweisungen gekoppelt ist, wie z. B. der Software 165, die das Verfahren implementiert. Wenn sie von dem Prozessor ausgeführt werden, führen die Anweisungen zumindest einige Schritte des Verfahrens des VA-VA-VSLAM-Grundgerüsts 2600 aus.
-
Das VA-VSLAM-Grundgerüst
2610 arbeitet wie folgt. Eine Menge von realen Rahmen oder Frames,
der Bilder, wird von einigen Merkmals-Extraktoren verarbeitet, so dass eine Merkmalsmenge,
auf jedem Rahmen
des Bildes ausgewählt wird. Ein Rahmen
kann ein reguläres 2D-Bild mit einem Kanal von Grauinformationen oder drei Kanälen von RGB-Informationen und/oder ein 3D-Bild mit vier Kanälen von RGBD-Informationen enthalten, wobei der vierte Kanal die Tiefe des Pixels beschreibt, d. h. den Abstand entlang der Betrachtungsrichtung der Kamera zwischen dem Kamera-Zentrum und dem nächsten Objekt entlang der Strahlrichtung jenes Pixels.
-
Ein Prozess zum Bestimmen der Strahlrichtung eines Pixels ist als Rückprojektion des Pixels bekannt, und er kann unter Verwendung von intrinsischen Parametern der Kamera durchgeführt werden. Beispielsweise kann ein Merkmal
entweder ein 2D-Punkt sein, falls der Rahmen
ein 2D-Bild ist, oder es kann ein 3D-Punkt sein, falls der Rahmen
ein 3D-Bild ist, solange sich dieses Merkmal entweder geometrisch oder im Erscheinungsbild signifikant von seinen Nachbarbereichen unterscheidet. Beispiele für Merkmals-Extraktoren schließen Harris, FAST oder ORB-Schlüsselpunkt-Detektoren ein.
-
Dann wird diese Merkmalsmenge f
imit einer anderen Merkmalsmenge f' abgeglichen, um entsprechende Merkmalspaare {(j, j')} zu finden, wie z. B. dass das Merkmale
und das Merkmal
demselben physischen Bereich entsprechen, was als eine Landmarke bzw. Ortungspunkt oder ein Interessenspunkt bezeichnet wird, und zwar in der Szene. Solch ein Abgleich kann durch verschiedenartige Merkmals-Beschreibungsverfahren durchgeführt werden, wie z. B. maßstabsinvariante Merkmalstransformation (SIFT), die Interessenspunkte ortet und deren Beschreibungen erzeugt, beschleunigte robuste Merkmale (SURF), Gradienten-Orts-Ausrichtungs-Histogramm (GLOH), ORB oder andere vergleichbare Techniken und/oder sampling-basierte Verfahren, wie z. B. RANSAC.
-
Unter Verwendung der entsprechenden Merkmals-Paare kann die visuelle SLAM
2610 die Pose
2620 dieses Rahmens
verfolgen, und zwar hinsichtlich eines von einem vorab beobachteten Rahmen
oder einer Karte
2640
die alle vorher beobachteten Rahmen enthält, abhängig davon, wie die Merkmalsmengef' konstruiert wird. Die verfolgten Posen- und Merkmals-Entsprechungen werden einer Bündel-Anpassung
2630 zugeführt, um die besten 6-DOF-Posen oder Rahmen zu finden, sowie 3D-Geometrie-Beschreibungen von Merkmalen, die verwendet werden, um die Karte
2640 weiter zu aktualisieren.
-
Bei einer gegebenen Bildmenge, die eine Anzahl von 3D-Punkten von unterschiedlichen Blickpunkten aus darstellt, kann die Bündel-Anpassung 2630 definiert werden als das Problem, dass gleichzeitig eines oder eine Kombination von einem Verfeinern von Folgendem gelöst wird: 3D-Koordinaten, die die Szenen-Geometrie beschreiben, Parameter der relativen Bewegung der Kamera, und optische Eigenschaften der Kamera(s), die verwendet wird/werden, um die Bilder zu erfassen, und zwar gemäß einem Optimierungskriterium, das die entsprechenden Bildprojektionen aller Punkte beinhaltet.
-
In einer Ausführungsform schließt die Bündel-Anpassung ein Minimieren des Rückprojektions-Fehlers zwischen den Bildorten der beobachteten und der vorhergesagten Bildpunkte ein, was als die Summe der Quadrate einer großen Zahl von nichtlinearen, reellwertigen Funktionen ausgedrückt wird. Demzufolge wird die Minimierung unter Verwendung von nichtlinearen Verfahren der kleinsten Quadrate erzielt. Beispielsweise wird in einer Ausführungsform die Levenberg-Marquardt-Optimierung verwendet, da sie einfach zu implementieren ist und da sie eine wirksame Dämpfungsstrategie nutzt, die ihr die Fähigkeit verleiht, von einem breiten Bereich von anfänglichen geratenen Werten aus rasch zu konvergieren.
-
Indem die zu minimierende Funktion in der Nachbarschaft der gegenwärtigen Schätzung iterativ linearisiert wird, arbeitet das Levenberg-Marquardt-Verfahren mit der Lösung von linearen Systemen, die Normalengleichungen genannt werden. Wenn die Minimierungsprobleme gelöst werden, die im Grundgerüst der Bündel-Anpassung auftreten, haben die Normalengleichungen eine dünnbesetzte Blockstruktur, was dem Fehlen von Interaktion unter den Parametern für unterschiedliche 3D-Punkte und Kameras geschuldet ist.
-
Dies kann ausgenutzt werden, um einen rechentechnischen Nutzen zu ziehen, indem eine dünnbesetzte Variante des Levenberg-Marquardt-Algorithmus verwendet wird, was sich explizit das Nullmuster der Normalengleichungen zunutze macht, und so dass ein Speichern und eine Verarbeitung von Nullelementen vermieden wird.
-
Die VA-VSLAM von einigen Ausführungsformen zielt darauf ab, eine Anzahl von Bildern 2615 zu verringern, die zum Konstruieren der 3D-Karte oder des 3D-Modells der Szene 2640 bezogen werden. Zu diesem Zweck basieren einige Ausführungsformen auf der Erkenntnis, dass die Bilder 2615 von relativ weit entfernten Blickpunkten aus erfasst werden müssen. Auf diese Weise können weniger Bilder verwendet werden, um die Feinheiten der Szene zu erfassen. Ein solcher Ansatz erzeugt jedoch das Abgleichproblem der großen Grundlinie, das in der Lageverfolgung 2620 wurzelt. Genauer gesagt: Eine Landmarke bzw. ein Ortungspunkt, beobachtet von zwei voneinander beabstandeten Betrachtungen bzw. Blickwinkeln aus, kann von dem VSLAM-Abgleichprozess verpasst werden, da sich die Erscheinungen derselben Landmarke, betrachtet von verschiedenen Betrachtungspunkten aus, signifikant ändern können.
-
Zu diesem Zweck weist das VA-VSLAM-Grundgerüst 2600 einen virtuellen Bildgenerator 2650 auf, um das Konzept von virtuellen Rahmen oder Bildern 2655 anzuwenden, um die oben erwähnten Beschränkungen anzugehen. Die VA-VSLAM transformiert explizit die beobachteten Merkmale auf realen Bildern in Merkmale auf virtuell beobachteten Bildern, anstatt sich bloß auf die beschränkte Blickpunkt-Invarianz von bestehenden Merkmals-Abgleichverfahren zu verlassen.
-
Der virtuelle Rahmengenerator
2650 transformiert die Bilder
2615 und erzeugt virtuelle Bilder {
Vi }
2655 der Szene bei Betrachtung von virtuellen Blickpunkten aus. Diese virtuellen Bilder werden dann an die visuelle SLAM
2610 übermittelt, um virtuelle Merkmale
zu extrahieren, um dem Posen-Verfolger dabei zu helfen, die Ortungs-Robustheit und -Genauigkeit zu verbessern, und um die SLAM-Karte als
zu augmentieren.
-
26B zeigt ein Beispiel einer schematischen Darstellung zum Angehen des Abgleichproblems der großen Grundlinie unter Verwendung von virtuellen Bildern, gemäß einigen Ausführungsformen. In diesem Beispiel sind die Bilder 2660, 2670 und 2690 reale Bilder, die von einem Sensor bezogen werden, der verschiedene Posen hat, d. h. die Bilder 2660, 2670 und 2690 haben unterschiedliche Blickpunkte. Das Bild 2680 ist ein virtuelles Bild mit einem virtuellen Blickpunkt. Die Blickpunkte der Bilder 2660 und 2670 sind relativ nah beieinander.
-
Zu diesem Zweck weisen die Bilder 2660 und 2670 Landmarken bzw. Ortungspunkte 2665 und 2675 auf, die demselben Merkmal in der Szene entsprechen, d. h. die Pixel der Landmarken 2665 und 2675 entsprechen demselben Punkt P in der Szene und haben eine ähnliche Geometrie und/oder Erscheinungsbild. Unter Verwendung von Triangulation oder irgendeiner anderen passenden Berechnungstechnik ist es möglich, die Koordinaten 2625 des Punkts P in der Szene zu berechnen. Wenn nur zwei Bilder zum Bestimmen der Koordinaten des Punkts P verwendet werden, können solche Koordinaten ungenau sein.
-
Das Bild 2690 weist auch die Landmarke 2695 auf, die denselben Punkt P in der Szene darstellt wie die Landmarken 2665 und 2675. Der Blickpunkt des Bildes 2690 ist jedoch so verschieden von den Blickpunkten der Bilder 2660 und 2670, dass die Landmarke 2695 ein sich unterscheidendes Erscheinungsbild hat und nicht mit den Landmarken 2665 und 2675 abgeglichen bzw. in Übereinstimmung gebracht werden kann. Der Blickpunkt des virtuellen Bildes 2680 ist jedoch näher an dem Blickpunkt des Bildes 2690, und die Landmarke 2685, die demselben Punkt P wie die Landmarken 2665 und 2675 entspricht, hat eine ähnlichere Erscheinung wie die Landmarke 2695 und kann mit der Landmarke 2695 abgeglichen werden.
-
Auf diese Weise können einige Ausführungsformen bestimmen, dass die Landmarken 2665, 2675 und 2695 demselben Punkt P in der Szene entsprechen. Zu diesem Zweck kann die Pose des Bildes 2690 verwendet werden, um die Koordinaten des Punkts P auf die Koordinaten 2635 des Punkts P' zu aktualisieren. Auf diese Weise erhöht die Verwendung des virtuellen Bildes die Genauigkeit des Modells der Szene.
-
Auf ähnliche Weise weist das Bild 2670 eine Landmarke 2677 auf, die einem Punkt Q in der Szene entspricht. Das Bild 2690 weist auch eine Landmarke 2697 auf, die demselben Punkt Q in der Szene entspricht wie die Landmarken 2677. Der Blickpunkt des Bildes 2690 ist jedoch so verschieden von den Blickpunkten des Bilds 2670, dass die Landmarke 2697 ein sich unterscheidendes Erscheinungsbild hat und nicht mit der Landmarke 2677 abgeglichen bzw. in Übereinstimmung gebracht werden kann. Daher sind die Koordinaten des Punkts Q unbekannt, und der Punkt Q kann dem Modell der Szene nicht hinzugefügt werden.
-
Der Blickpunkt des virtuellen Bildes 2680 ist jedoch näher an dem Blickpunkt des Bildes 2690, und die Landmarke 2687, die demselben Punkt Q wie die Landmarke 2677 entspricht, hat eine ähnlichere Erscheinung wie die Landmarke 2697 und kann mit der Landmarke 2697 abgeglichen werden. Auf diese Weise können einige Ausführungsformen bestimmen, dass die Landmarken 2677 und 2697 demselben Punkt Q in der Szene entsprechen. Zu diesem Zweck kann die Pose des Bildes 2690 verwendet werden, um die Koordinaten 2645 des Punkts Q zu bestimmen, und der Punkt Q kann dem Modell der Szene hinzugefügt werden. Auf diese Weise erhöht die Verwendung des virtuellen Bildes die Dichte des Modells der Szene mit weniger Bildern, als andernfalls benötigt würden.
-
27 zeigt ein Blockdiagramm eines Verfahrens zum Rekonstruieren eines 3D-Modells eines Park-Zwischenraums unter Verwendung von virtuellen Bildern, gemäß einigen Ausführungsformen. Das Verfahren transformiert im Schritt 2720 die Bilder aus der Bildmenge 2710, so dass eine virtuelle Bildmenge 2725 der Szene bei Betrachtung von virtuellen Blickpunkten aus erzeugt wird. Die Größen der Mengen 2710 und 2725 können gleich oder unterschiedlich sein. In einer Ausführungsform werden die virtuellen Bilder bedarfsweise erzeugt, wenn die realen Bilder aus der Menge 2710 nicht miteinander abgeglichen bzw. in Übereinstimmung gebracht werden können. Zusätzlich oder alternativ können die virtuellen Bilder proaktiv erzeugt werden.
-
Als nächstes vergleicht im Schritt 2730 das Verfahren zumindest einige Merkmale von den Bildern 2710 und den virtuellen Bildern 2725, um den Blickpunkt 2735 von jedem Bild in der Bildmenge zu bestimmen, und es aktualisiert im Schritt 2740 die 3D-Koordinaten von zumindest einem Punkt in dem Modell 2745 auf die Szene, so dass eine Übereinstimmung mit den Koordinaten von Kreuzungspunkten von Strahl-Rückprojektionen von den Pixeln von mindestens zwei Bildern aus herbeigeführt wird, die dem Punkt gemäß den Blickpunkten der zwei Bilder entsprechen. Da unterschiedliche Pixel von unterschiedlichen Bildern 2710 miteinander abgeglichen werden, können einige Ausführungsformen beispielsweise eine Stereo-Triangulation und/oder eine Lichtflächen-Triangulation verwenden, um die Tiefe der Szene zu bestimmen.
-
Die oben beschriebenen Ausführungsformen der vorliegenden Erfindung können auf verschiedene Arten implementiert sein. Beispielsweise können die Ausführungsformen unter Verwendung von Hardware, Software oder einer Kombination daraus implementiert werden. Wenn sie in Software implementiert sind, kann der Software-Code auf einem jeglichen geeigneten Prozessor oder einer Zusammenstellung von Prozessoren ausgeführt werden, egal ob sie in einem einzelnen Computer bereitgestellt sind oder auf mehrere Computer verteilt sind. Solche Prozessoren können als integrierte Schaltungen implementiert sein, mit einem oder mehreren Prozessoren in einer IC-Komponente. Ein Prozessor kann jedoch auch unter Verwendung einer Schaltung in jeglichem geeigneten Format implementiert sein.
-
Die Ausführungsformen der Erfindung können auch als ein Verfahren ausgeführt sein, von welchem ein Beispiel angegeben ist. Die als Teil des Verfahrens vollzogenen Handlungen können eine beliebige geeignete Reihenfolge haben. Demzufolge können Ausführungsformen konstruiert werden, bei welchen Handlungen in einer anderen Reihenfolge als dargestellt durchgeführt werden, was einschließen kann, dass einige Handlungen gleichzeitig durchgeführt werden, obwohl sie in den beispielhaften Ausführungsformen als aufeinanderfolgende Handlungen dargestellt sind.
-
Die Verwendung von Ordinalausdrücken, wie z. B. „erster“, „zweiter“ in den Ansprüchen, um ein Anspruchselement zu modifizieren, bedeutet nicht aus sich heraus irgendeine Priorität, Vorrang oder Reihenfolge von einem Anspruchselement gegenüber einem anderen oder ein zeitliche Reihenfolge, in welcher die Handlungen eines Verfahrens durchgeführt werden, sondern sie werden nur als Bezeichnungen verwendet, um ein Anspruchselement mit einem gewissen Namen von einem anderen Element mit dem gleichen Namen (außer der Verwendung des Ordinalausdrucks) zur Unterscheidung der Anspruchselemente abzugrenzen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 7737866 B2 [0004]
- US 8497782 B2 [0004]
- US 8862321 B2 [0004]
- US 9140553 B2 [0004]