-
ALLGEMEINER STAND DER TECHNIK
-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft selbstparkende Fahrzeuge.
-
ALLGEMEINER STAND DER TECHNIK
-
Die meisten gegenwärtigen Lösungen für das automatische Parken erfordern, dass der Fahrer im Fahrzeug anwesend ist, mit der Möglichkeit, dass der Fahrer die Beschleunigungs- und Bremssteuerung des Fahrzeugs einrückt. Bei einigen Systemen steht der Fahrer außerhalb des Fahrzeugs, jedoch erhält der Fahrer eine eingeschränkte Kontrolle, um das Parkmanöver auszuführen. Das Parken eines Fahrzeugs muss häufig mit engen Einschränkungen hinsichtlich des verfügbaren freien Platzes, der Sichtbarkeit des Sensors, einer temporären Parkkarte und dergleichen erfolgen. Diese Einschränkungen erschweren das zuverlässige Ausführen von Lösungen für das automatische Parken in einigen Szenarien, z. B. bei engen Parklücken in Innenstädten. Gegenwärtige Systeme finden es auch schwierig, mit üblichen Parkszenarien umzugehen, wie dem Parken des Fahrzeugs in einer überfüllten Einfahrt, dem Parken des Fahrzeugs in einer Garage und anderen nicht herkömmlichen Situationen.
-
Bei einigen Systemen muss der Fahrer während des gesamten Einparkvorgangs einbezogen sein, muss jedoch nicht unbedingt die Bewegung des Fahrzeugs steuern. In einigen Ansätzen muss der Fahrer zum Beispiel während des Einparkvorgangs eine Form, z. B. einen Kreis, auf einem Smartphone-Bildschirm nachzeichnen, um anzuzeigen, dass der Fahrer anwesend und einbezogen ist. Wenn der Fahrer keine Eingabe mehr vornimmt, wird das Einparkmanöver abgebrochen. Dieser Ansatz ist bei Regen oder kaltem Wetter, wenn der Fahrer Handschuhe trägt, nicht praktisch.
-
Die hier offenbarten Systeme und Verfahren stellen einen verbesserten Ansatz zum Einbeziehen der Fahrerunterstützung in eine Lösung zum automatischen Parken bereit.
-
Figurenliste
-
Damit die Vorteile der Erfindung ohne Weiteres verstanden werden, erfolgt durch Bezugnahme auf konkrete Ausführungsformen, die in den beigefügten Zeichnungen veranschaulicht sind, eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung. Unter der Annahme, dass diese Zeichnungen lediglich typische Ausführungsformen der Erfindung darstellen und daher nicht als den Umfang einschränkend aufzufassen sind, wird die Erfindung mit zusätzlicher Genauigkeit und Ausführlichkeit durch Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen Folgendes gilt:
- 1 ist ein schematisches Blockdiagramm eines Systems zum Umsetzen von Ausführungsformen der Erfindung;
- 2 ist ein schematisches Blockdiagramm einer beispielhaften Rechenvorrichtung, die zum Umsetzen von Verfahren gemäß Ausführungsformen der Erfindung geeignet ist;
- 3 ist ein Prozessablaufdiagramm eines Verfahrens zum Überprüfen einer Einbeziehung des Fahrers in das Parkmanöver gemäß einer Ausführungsform der vorliegenden Erfindung;
- 4 ist ein schematisches Diagramm, das ein beispielhaftes Parkszenario darstellt; und
- 5 ist ein Prozessablaufdiagramm eines Verfahrens zum Empfangen einer Benutzerauswahl einer Trajektorie während eines Parkmanövers gemäß einer Ausführungsform der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG
-
Unter Bezugnahme auf 1 kann ein System 100 eine Steuerung 102 beinhalten, die innerhalb eines Fahrzeugs untergebracht ist. Das Fahrzeug kann ein beliebiges fachbekanntes Fahrzeug beinhalten. Das Fahrzeug kann alle Strukturen und Merkmale eines beliebigen auf dem Fachgebiet bekannten Fahrzeugs aufweisen, wozu Räder, ein an die Räder gekoppelter Antriebsstrang, ein an den Antriebsstrang gekoppelter Motor, ein Lenksystem, ein Bremssystem und andere auf dem Fachgebiet bekannte in ein Fahrzeug einzuschließende Systeme gehören.
-
Wie hier ausführlicher erörtert, kann die Steuerung 102 autonome Navigation und Kollisionsvermeidung durchführen. Insbesondere können Bilddaten, andere Sensordaten und möglicherweise Audiodaten analysiert werden, um Hindernisse zu identifizieren.
-
Die Steuerung 102 kann einen oder mehrere Bildströme von einer oder mehreren Bildgebungsvorrichtungen 104 empfangen. Zum Beispiel können eine oder mehrere Kameras an dem Fahrzeug montiert sein und Bildströme ausgeben, die durch die Steuerung 102 empfangen werden. Die Steuerung 102 kann auch Ausgaben von einem oder mehreren anderen Sensoren 106 empfangen. Die Sensoren 106 können Erfassungsvorrichtungen wie etwa RADAR (Radio Detection and Ranging), LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) und dergleichen beinhalten. Die Sensoren 106 können ein oder mehrere Mikrofone oder Mikrofonarrays beinhalten, die einen oder mehrere Audioströme an die Steuerung 102 liefern. Zum Beispiel können ein oder mehrere Mikrofone oder Mikrofonarrays an einer Außenseite des Fahrzeugs montiert sein. Die Mikrofone 106 können Richtmikrofone beinhalten, die eine Empfindlichkeit aufweisen, die mit dem Winkel variiert.
-
Die Steuerung 102 kann ein Kollisionsvermeidungsmodul 108 ausführen, das Informationsströme von den Bildgebungsvorrichtungen 104 und den Sensoren 106 empfängt, mögliche Hindernisse unter Verwendung der Informationsströme identifiziert und Maßnahmen ergreift, um diese zu vermeiden, während das Fahrzeug zu einem gewünschten Ziel geführt wird.
-
Das Kollisionsvermeidungsmodul 108 kann ein Parkmodul 110a beinhalten. Das Parkmodul ist dazu programmiert, Parkplätze zu identifizieren und Parkmanöver auszuführen, die Hindernisvermeidungsbeschränkungen unterliegen und auf Eingaben eines Fahrers beruhen, wie nachstehend ausführlicher beschrieben.
-
Das Kollisionsvermeidungsmodul 108 kann ferner ein Hindernisidentifikationsmodul 110b beinhalten, das die Informationsströme der Bildgebungsvorrichtungen 104 und Sensoren 106 analysiert und mögliche Hindernisse, darunter Personen, Tiere, Fahrzeuge, Gebäude, Bordsteine und andere Objekte und Strukturen, identifiziert.
-
Das Kollisionsvorhersagemodul 110c sagt vorher, welche Hindernisse auf Grundlage seiner aktuellen Trajektorie wahrscheinlich mit dem Fahrzeug kollidieren. Das Kollisionsvorhersagemodul 110c kann die Wahrscheinlichkeit einer Kollision mit durch das Hindernisidentifikationsmodul 110b identifizierten Objekten bewerten.
-
Ein Entscheidungsmodul 110d kann eine Entscheidung treffen, einer aktuellen Trajektorie zu folgen, anzuhalten, zu beschleunigen, von der Trajektorie abzuweichen usw., um Hindernisse zu vermeiden. Die Art und Weise, auf die das Kollisionsvorhersagemodul 110c mögliche Kollisionen vorhersagt, und die Art und Weise, auf die das Entscheidungsmodul 110d Maßnahmen ergreift, um mögliche Kollisionen zu vermeiden, können einem beliebigen auf dem Fachgebiet autonomer Fahrzeuge bekannten Verfahren oder System entsprechen.
-
Das Entscheidungsmodul 110d kann die Trajektorie des Fahrzeugs durch Betätigen von einem oder mehreren Betätigungselementen 112 steuern, die die Richtung und Geschwindigkeit des Fahrzeugs steuern. Zum Beispiel können die Betätigungselemente 112 ein Lenkbetätigungselement 114a, ein Beschleunigungsbetätigungselement 114b und ein Bremsbetätigungselement 114c beinhalten. Die Auslegung der Betätigungselemente 114a-114c kann gemäß einer beliebigen Umsetzung derartiger auf dem Fachgebiet autonomer Fahrzeuge bekannter Betätigungselemente erfolgen.
-
Eine Smartwatch 116 eines Fahrers (oder eines anderen Benutzers) kann in Datenkommunikation mit der Steuerung 102 stehen, zum Beispiel mittels BLUETOOTH, WI-FI, ANT+ oder einer anderen drahtlosen Verbindung, vorzugsweise einer drahtlosen Verbindung mit kurzer Reichweite. Zum Beispiel kann eine BLE-(BLUETOOTH-Low-Energy-)Verbindung verwendet werden. Die Smartwatch 116 kann als Smartwatch oder eine andere Vorrichtung mit drahtlosen Kommunikationsfähigkeiten mit einer drehbaren Lünette 118 ausgeführt sein. Zum Beispiel ist die SAMSUNG GEAR S2/S3 eine Smartwatch, die eine drehende Lünette als eine Eingabevorrichtung beinhaltet. Wie nachstehend beschrieben, ist die Drehung einer Lünette in einigen Umsetzungen die einzige Eingabe, die durch den Benutzer bereitgestellt wird. Dementsprechend kann eine Uhr, ein Ring oder ein anderes tragbares Element mit einer drehbaren Lünette 118 oder einem Drehknopf, der dazu in der Lage ist, eine oder beide der Detektion einer Drehung und einer Drehrichtung zu übertragen, verwendet werden. Andere Smartwatch-Funktionen, wie die Fähigkeit, auf Anrufe zu antworten, Benutzerbewegungen zu verfolgen, Informationen auf einem Bildschirm anzuzeigen und dergleichen, können weggelassen sein.
-
Obwohl die hierin offenbarten Systeme und Verfahren vorteilhafterweise mit dem Benutzer außerhalb des Fahrzeugs umgesetzt sind, können die hierin der Smartwatch 116 zugeschriebenen Handlungen auch von einem fahrzeuginternen Infotainment-(in-vehicle infotainment - IVI-)System durchgeführt sein, das mit der Steuerung 102 gekoppelt ist. Zum Beispiel durch Drehen eines Knopfes des IVI-Systems anstelle der Lünette 118.
-
2 ist ein Blockdiagramm, das eine beispielhafte Rechenvorrichtung 200 veranschaulicht. Die Rechenvorrichtung 200 kann dazu verwendet werden, verschiedene Prozeduren durchzuführen, wie etwa die hierin erörterten. Die Steuerung 102 und die Smartwatch 116 können einige oder alle der Attribute der Rechenvorrichtung 200 aufweisen.
-
Die Rechenvorrichtung 200 beinhaltet einen oder mehrere Prozessor(en) 202, eine oder mehrere Speichervorrichtung(en) 204, eine oder mehrere Schnittstelle(n) 206, eine oder mehrere Massenspeichervorrichtung(en) 208, eine oder mehrere Eingabe-/Ausgabe-(E/A-)Vorrichtung(en) 210 und eine Anzeigevorrichtung 230, die alle an einen Bus 212 gekoppelt sind. Der bzw. die Prozessor(en) 202 beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, die in der bzw. den Speichervorrichtung(en) 204 und/oder Massenspeichervorrichtung(en) 208 gespeicherte Anweisungen ausführen. Der bzw. die Prozessor(en) 202 können zudem verschiedene Arten von computerlesbaren Medien beinhalten, wie etwa Cache-Speicher.
-
Die Speichervorrichtung(en) 204 beinhalten verschiedene computerlesbare Medien, wie etwa flüchtigen Speicher (z. B. Direktzugriffsspeicher (random access memory - RAM) 214) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (read-only memory - ROM) 216). Die Speichervorrichtung(en) 204 können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
-
Die Massenspeichervorrichtung(en) 208 beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 2 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 224. Zudem können verschiedene Laufwerke in der bzw. den Massenspeichervorrichtung(en) 208 beinhaltet sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 208 beinhalten Wechselmedien 226 und/oder Nicht-Wechselmedien.
-
Die E/A-Vorrichtung(en) 210 beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 200 eingegeben oder daraus abgerufen werden. Die beispielhafte(n) E/A-Vorrichtung(en) 210 beinhalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Linsen, CCDs oder andere Bilderfassungsvorrichtungen und dergleichen.
-
Die Anzeigevorrichtung 230 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 200 Informationen anzuzeigen. Zu Beispielen für die Anzeigevorrichtung 230 gehören ein Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
-
Die Schnittstelle(n) 206 beinhalten verschiedene Schnittstellen, die es der Rechenvorrichtung 200 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. Zu (einer) beispielhaften Schnittstelle(n) 206 gehören eine beliebige Anzahl von unterschiedlichen Netzwerkschnittstellen 220, wie etwa Schnittstellen zu lokalen Netzen (local area networks - LANs), Weitverkehrsnetzen (wide area networks - WANs), drahtlosen Netzen und dem Internet. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 218 und eine Peripherievorrichtungsschnittstelle 222. Die Schnittstelle(n) 206 kann/können zudem eine oder mehrere Peripherieschnittstellen beinhalten, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Trackpad usw.), Tastaturen und dergleichen.
-
Der Bus 212 ermöglicht es dem bzw. den Prozessor(en) 202, der bzw. den Speichervorrichtung(en) 204, der bzw. den Schnittstelle(n) 206, der bzw. den Massenspeichervorrichtung(en) 208, der bzw. den E/A-Vorrichtung(en) 210 und der Anzeigevorrichtung 230, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 212 gekoppelt sind, zu kommunizieren. Der Bus 212 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-1394-Bus, USB-Bus und so weiter.
-
Zum Zwecke der Veranschaulichung sind Programme und andere ausführbare Programmkomponenten hier als diskrete Blöcke gezeigt, auch wenn es sich versteht, dass sich derartige Programme und Komponenten zu verschiedenen Zeitpunkten in unterschiedlichen Speicherkomponenten der Rechenvorrichtung 200 befinden können, und werden durch den bzw. die Prozessor(en) 202 ausgeführt. Alternativ können die hierin beschriebenen Systeme und Prozeduren in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. eine oder mehrere der hier beschriebenen Systeme und Prozeduren ausführen.
-
Unter Bezugnahme auf 3 kann das veranschaulichte Verfahren 300 durch die Steuerung 102 des Fahrzeugs ausgeführt werden. Das Verfahren 300 kann das Empfangen 302 einer Anweisung zum Selbstparken beinhalten. Die Anweisung zum Selbstparken kann über eine Eingabevorrichtung empfangen werden, die an die Steuerung 102 oder die Smartwatch 116 gekoppelt ist. Selbstparken kann durchgeführt werden, während sich der Fahrer außerhalb des Fahrzeugs befindet. In einigen Ausführungsformen wird das Selbstparken nur von der Steuerung 102 durchgeführt, während sich der Benutzer außerhalb des Fahrzeugs befindet. Zum Beispiel kann die Stärke eines Funksignals von der Smartwatch 116 (z.B. ein BLUETOOTH- oder BLE-Signal) bewertet werden, um zu bestimmen, ob eine Entfernung zur Smartwatch 116 größer als ein oberer Schwellenwert ist. Wenn nicht, kann das Selbstparken unterdrückt werden. Wenn die Signalstärke unter einem unteren Schwellenwert liegt, was auf eine zu große Entfernung hinweist, kann das Selbstparken ebenfalls unterdrückt werden.
-
Die verbleibenden Schritte des Verfahrens 300 können als Reaktion auf die Anweisung aus Schritt 302 ausgeführt werden. Das Verfahren 300 kann das Bewerten 304, ob eine Drehung der Lünette detektiert wurde, z. B. innerhalb eines Zeitfensters, das sich vor dem Zeitpunkt des Ausführens der Bewertung aus Schritt 304 erstreckt, z. B. von 0,1 bis 2 ms, beinhalten. Wenn dies der Fall ist, veranlasst die Steuerung 102 das Fahrzeug dazu, entlang einer Selbstparktrajektorie zu fahren 306. Die Selbstparktrajektorie kann nach einem in der Technik der Selbstparkfahrzeuge bekannten Verfahren bestimmt werden. Schritt 306 beinhaltet das Detektieren von Hindernissen um das Fahrzeug herum, das Detektieren einer offenen Position (oder das Empfangen einer Fahrerauswahl einer offenen Position) und das Ermitteln einer Trajektorie, die das Fahrzeug in die offene Position treibt, während Hindernisse vermieden werden. Schritt 306 kann ferner das Detektieren von Hindernissen und Bewegungen während der Bewegung entlang der Trajektorie und das entsprechende Einstellen beinhalten, um Kollisionen zu vermeiden.
-
Schritt 306 kann schrittweise ausgeführt werden und kann durch wiederholte Ausführung von Schritt 304 periodisch unterbrochen werden. Alternativ kann der Schritt 304 parallel zum Schritt 306 ausgeführt werden, sodass der Schritt 306 als Reaktion auf das Detektieren, dass die Drehung der Lünette nicht innerhalb des Zeitfensters detektiert 304 wird, unterbrochen wird.
-
Wenn die Drehung der Lünette nicht detektiert 304 wird, bevor das Fortfahren 306 entlang der Trajektorie oder während des Fortfahrens 306 entlang der Trajektorie begonnen wird, kann das Selbstparkmanöver unterbrochen 308 werden. Wenn nach dem Unterbrechen 308 erneut eine Lünettendrehung detektiert 304 wird, kann die Verarbeitung in Schritt 306 wie vorstehend beschrieben fortgesetzt werden. Wenn nach dem Unterbrechen des Fahrmanövers bestimmt 310 wird, dass es abgebrochen ist, kann das Selbstparkmanöver enden und die Kontrolle kann an den Fahrer zurückgegeben werden, um entweder die manuelle Kontrolle des Fahrzeugs zu übernehmen oder das Selbstparken erneut aufzurufen. Das Abbrechen kann detektiert werden, indem ein Signal von der Smartwatch 116 detektiert wird, das eine Anweisung zum Abbrechen anzeigt, oder indem die Drehung der Lünette 118 für einen bestimmten Schwellenwertzeitraum, z. B. 2 bis 10 Sekunden, nicht detektiert wird.
-
4 zeigt eine beispielhafte Ausführung des Verfahrens 300. Das veranschaulichte Beispiel beinhaltet ein Fahrzeug 400, in dem die Steuerung 102 untergebracht ist. Ein Benutzer kann die Steuerung 102 dazu anweisen, in der Parkposition 402 unter den Fahrzeugen 404-408, die Hindernisse sind, selbst zu parken. Das Fahrzeug 400 kann eine nach vorne gerichtete Kamera 104a, eine nach hinten gerichtete Kamera 104b und eine oder mehrere Seitenkameras 104c, 104d beinhalten. Andere Sensoren 106, wie etwa LIDAR- und RADAR-Sensoren, sind ebenfalls an dem Fahrzeug montiert und weisen die Parkposition 402 und andere Fahrzeuge 404-408 in ihrem Sichtfeld auf.
-
Ein Fahrer 410 ruft ein Selbstparkmanöver auf und dreht anschließend die Lünette 118 der Smartwatch 116. Als Reaktion darauf fährt die Steuerung 102 entlang einer Trajektorie 412 zu der Parkposition 402, die die Fahrzeuge 404-408 vermeidet. Während des Fahrens auf der Trajektorie überwacht die Steuerung 102 weiterhin Hindernisse und stellt die Trajektorie 412 entsprechend ein, was ein zeitweiliges Anhalten beinhalten kann. Gleichermaßen, wenn der Fahrer aufhört, die Lünette 118 zu drehen, unterbricht die Steuerung 102 das Fahren auf der Trajektorie 412, bis erneut eine Drehung detektiert ist.
-
5 zeigt ein alternatives Verfahren 500 zum Steuern eines autonomen Parkmanövers unter Verwendung einer Lünette 118 einer Smartwatch 116. Das Verfahren kann das Empfangen 302 und die Anweisung zum Ausführen eines Selbstparkmanövers und das Bewerten 304, ob eine Lünettendrehung detektiert wurde, beinhalten. Was das Verfahren 300 betrifft, wird, wenn keine Lünettendrehung detektiert wird, das Selbstparkmanöver unterbrochen 308 und kann wie vorstehend beschrieben abgebrochen 310 werden.
-
Wenn jedoch eine Lünettendrehung detektiert 304 wird, kann das Verfahren 500 ein Bewerten 502, 504 beinhalten, ob eine Drehung der Lünette nach links oder nach rechts erfolgt. Wenn die Drehrichtung nach links ist, dann bestimmt 506 die Steuerung 102 eine Rückwärtstrajektorie, z. B. eine Trajektorie, die das Fahrzeug in Richtung einer offenen Parkposition hinter dem Fahrzeug leitet oder sich einer Parkposition in der rückwärtigen Richtung nähert. Wenn die Drehrichtung nach rechts ist, dann bestimmt 508 die Steuerung 102 eine Vorwärtstrajektorie, z. B. eine Trajektorie, die das Fahrzeug in Richtung einer offenen Parkposition vor dem Fahrzeug leitet oder sich einer Parkposition in der vorwärtigen Richtung nähert. Selbstverständlich kann die Beziehung zwischen Rechts- und Linksdrehung und Rückwärts- und Vorwärtstrajektorie gewechselt werden, zum Beispiel entsprechend den Benutzerpräferenzen.
-
Das Verfahren 500 kann dann das Fortfahren 306 entlang der in Schritt 506 oder 508 ausgewählten Trajektorie beinhalten, bis die Beendigung der Drehung der Lünette 118 in der gleichen Weise wie für das Verfahren 300 detektiert 304 wird. In einigen Ausführungsformen wird die Drehrichtung verwendet, um eine anfängliche Bewegungsrichtung eines Parkmanövers zu bestimmen, wonach eine Änderung der Drehrichtung die Trajektorie nicht beeinflusst. In anderen Ausführungsformen kann ein Fahrer während eines Parkmanövers eine Änderung der Richtung der Trajektorie durch Ändern einer Drehrichtung der Lünette 118 aufrufen.
-
In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung konkrete Umsetzungen gezeigt sind, in denen die Offenbarung ausgeführt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“, „eine beispielhafte Ausführungsform“ etc. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Eigenschaft, Struktur oder Merkmal beinhalten kann, doch es muss nicht unbedingt jede Ausführungsform diese(s) bestimmte Eigenschaft, Struktur oder Merkmal beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Eigenschaft, Struktur oder Merkmal in Verbindung mit einer Ausführungsform beschrieben ist, es im Bereich des Fachwissens des Fachmanns liegt, ein(e) derartige(s) Eigenschaft, Struktur oder Merkmal in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Umsetzungen der hier offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und Systemspeicher, wie sie hier erörtert sind. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert sind, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
-
Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - „SSDs“) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenwechselspeicher (phase-change memory - „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
-
Eine Umsetzung der hier offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetz kommunizieren. Ein „Netz“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung an einem Prozessor bewirken, dass ein Universalcomputer, ein Spezialcomputer oder eine Spezialverarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen durchführt. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Anweisungen in einem Zwischenformat wie etwa Assemblersprache oder auch Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben worden ist, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht unbedingt auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen werden vielmehr als beispielhafte Formen der Umsetzung der Patentansprüche offenbart.
-
Der Fachmann wird verstehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen umgesetzt werden kann, zu denen ein Armaturenbrett-Fahrzeugcomputer, Personal Computer, Desktop-Computer, Laptop-Computer, Nachrichtenprozessoren, Handheld-Vorrichtungen, Multiprozessorsysteme, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbare Unterhaltungselektronik, Netz-PCs, Minicomputer, Mainframe-Computer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches, verschiedene Speichervorrichtungen und dergleichen gehören. Die Offenbarung kann zudem in verteilten Systemumgebungen umgesetzt werden, in denen sowohl lokale Computersysteme als auch Remote-Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer Umgebung mit verteilten Systemen können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in entfernten Speichervorrichtungen befinden.
-
Ferner können die hierin beschriebenen Funktionen gegebenenfalls in einem oder mehreren des Folgenden durchgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. eine oder mehrere der hier beschriebenen Systeme und Prozeduren ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird verstehen, dass auf Komponenten mit unterschiedlichen Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch der Funktion nach.
-
Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind hier zum Zwecke der Veranschaulichung bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist. Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software veranlasst bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen eine Vorrichtung dazu, wie hierin beschrieben zu arbeiten.
-
Computerprogrammcode zum Ausführen von Vorgängen der vorliegenden Erfindung kann in jeder beliebigen Kombination aus einer oder mehreren Programmiersprachen, einschließlich einer objektorientierten Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der „C“-Programmiersprache oder ähnlichen Programmiersprachen, geschrieben sein. Der Programmcode kann gänzlich auf einem Computersystem als eigenständiges Softwarepaket, auf einer eigenständigen Hardware-Einheit, teilweise auf einem Remote-Computer, der sich in einigem Abstand von dem Computer befindet, oder gänzlich auf einem Remote-Computer oder -Server ausgeführt werden. In letztgenanntem Fall kann der Remote-Computer durch eine beliebige Art von Netz mit dem Computer verbunden sein, einschließlich eines lokalen Netzes (local area network - LAN) oder eines Weitverkehrsnetzes (wide area network - WAN), oder die Verbindung kann mit einem externen Computer erfolgen (zum Beispiel durch das Internet unter Verwendung eines Internetdienstanbieters).
-
Die vorliegende Erfindung ist vorstehend unter Bezugnahme auf Veranschaulichungen durch Ablaufdiagramme und/oder Blockdiagramme von Verfahren, Einrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufdarstellungen und/oder Blockdiagramme und Kombinationen von Blöcken in den Ablaufdarstellungen und/oder Blockdiagrammen durch Computerprogrammanweisungen oder Code umgesetzt sein kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungseinrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungseinrichtung ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen, die in dem Block oder den Blöcken des Ablaufdiagramms und/oder Blockdiagramms vorgegeben sind, erzeugen.
-
Diese Computerprogrammanweisungen können zudem in einem nichtflüchtigen computerlesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungseinrichtung dazu anleiten kann, auf bestimmte Art und Weise zu funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Fertigungsartikel herstellen, der Anweisungsmittel beinhaltet, welche die Funktion/Handlung, die in dem Block oder den Blöcken des Ablaufdiagramms und/oder Blockdiagramms vorgegeben ist, umsetzen.
-
Die Computerprogrammanweisungen können zudem auf einen Computer oder eine andere programmierbare Datenverarbeitungseinrichtung geladen sein, um zu veranlassen, dass eine Reihe von Verfahrensschritten auf dem Computer oder der anderen programmierbaren Einrichtung durchgeführt wird, um einen computerimplementierten Prozess herzustellen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Einrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Handlungen, die in dem Block oder den Blöcken des Ablaufdiagramms und/oder Blockdiagramms vorgegeben sind, bereitstellen.
-
Während vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Der einschlägige Fachmann wird erkennen, dass verschiedene Änderungen bezüglich Form und Detail daran vorgenommen werden können, ohne vom Wesen und Umfang der Offenbarung abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollten lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die genaue offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorstehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.