-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge sammeln Daten von Sensoren. Die Daten können gemäß einem vom Fahrzeug definierten Koordinatensystem interpretiert werden. Beispielsweise kann das Koordinatensystem einen Ursprung an einem bestimmten Punkt des Fahrzeugs haben und Achsen in eine Vorwärtsrichtung des Fahrzeugs, eine Rückwärtsrichtung des Fahrzeugs sowie vertikale Richtungen definieren. Ein Computer im Fahrzeug kann Daten gemäß dem Koordinatensystem verwenden, um z. B. eine Position, eine Geschwindigkeit und/oder Beschleunigung umliegender Objekte zu identifizieren.
-
KURZDARSTELLUNG
-
Ein System beinhaltet einen Computer mit einem Prozessor und einem Speicher, wobei der Speicher Anweisungen speichert, die von dem Prozessor ausführbar sind, um eine Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel einzuleiten, eine Fahrzeugpedalbetätigung zu erfassen und dann basierend auf einer Beschleunigung des tragbaren Geräts einen Kalibrierungsvektor zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem zu bestimmen.
-
Die Anweisungen können ferner Anweisungen beinhalten, um zu bestimmen, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Die Anweisungen können ferner Anweisungen zum Einleiten der Kalibrierung beinhalten, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen eines Schwerkraftvektors basierend auf einer Beschleunigung des tragbaren Geräts beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Anwenden eines Tiefpassfilters auf Beschleunigungsdaten von dem tragbaren Gerät beinhalten, um den Schwerkraftvektor zu bestimmen.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einem Kursvektor des Fahrzeugs beinhalten.
-
Die Fahrzeugpedalbetätigung kann eine von einer Gaspedalbetätigung oder einer Bremspedalbetätigung sein.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einer Längsbeschleunigung des Fahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der Stabilität des tragbaren Geräts basierend auf Daten von einem Gyroskop des tragbaren Geräts beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen einer Winkelgeschwindigkeit des tragbaren Geräts basierend auf den Daten von dem Gyroskop des tragbaren Geräts beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Kalibrierungsvektors beim Erfassen der Pedalbetätigung in einem bestimmten Zeitraum beinhalten.
-
Ein Verfahren beinhaltet Einleiten einer Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel, Erfassen einer Fahrzeugpedalbetätigung und dann, basierend auf einer Beschleunigung des tragbaren Geräts, Bestimmen eines Kalibrierungsvektors zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem.
-
Das Verfahren kann ferner das Bestimmen beinhalten, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Das Verfahren kann ferner das Einleiten der Kalibrierung beinhalten, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Das Verfahren kann ferner das Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts beinhalten.
-
Das Verfahren kann ferner das eines Schwerkraftvektors basierend auf einer Beschleunigung des tragbaren Geräts beinhalten.
-
Das Verfahren kann ferner das Anwenden eines Tiefpassfilters auf Beschleunigungsdaten von dem tragbaren Gerät beinhalten, um den Schwerkraftvektor zu bestimmen.
-
Das Verfahren kann ferner das Bestimmen des Kalibrierungsvektors basierend auf einem Kursvektor des Fahrzeugs beinhalten.
-
Das Verfahren kann ferner das Bestimmen des Kalibrierungsvektors basierend auf einer Längsbeschleunigung des Fahrzeugs beinhalten.
-
Das Verfahren kann ferner das Bestimmen der Stabilität des tragbaren Geräts basierend auf Daten von einem Gyroskop des tragbaren Geräts beinhalten.
-
Das Verfahren kann ferner das Bestimmen einer Winkelgeschwindigkeit des tragbaren Geräts basierend auf den Daten von dem Gyroskop des tragbaren Geräts beinhalten.
-
Das Verfahren kann ferner das Bestimmen des Kalibrierungsvektors beim Erfassen der Pedalbetätigung in einem bestimmten Zeitraum beinhalten.
-
Ein System beinhaltet ein tragbares Gerät, Mittel zum Einleiten einer Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel, Mittel zum Erfassen einer Fahrzeugpedalbetätigung und Mittel zum Bestimmen eines Kalibrierungsvektors zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem basierend auf einer Beschleunigung des tragbaren Geräts.
-
Das System kann ferner Mittel beinhalten, um zu bestimmen, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Das System kann ferner Mittel zum Einleiten der Kalibrierung beinhalten, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Das System kann ferner Mittel zum Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts beinhalten.
-
Außerdem ist eine Rechenvorrichtung offenbart, die programmiert ist, um beliebige der vorangehenden Verfahrensschritte auszuführen. Weiterhin wird ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Weiterhin ist ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um beliebige der vorangehenden Verfahrensschritte auszuführen.
-
Ein Computer in einem Fahrzeug kann Daten von einem tragbaren Gerät sammeln, um Fahrzeugkomponenten zu betreiben. Die Daten vom tragbaren Gerät können lokal in einem dreidimensionalen Koordinatensystem gesammelt werden, d. h. einem Koordinatensystem eines tragbaren Geräts. Das Koordinatensystem des tragbaren Geräts kann relativ zu einem dreidimensionalen Fahrzeugkoordinatensystem gedreht werden, sodass eine oder mehrere Achsen des Koordinatensystems des tragbaren Geräts nicht mit Achsen des Fahrzeugkoordinatensystems ausgerichtet sind. Um Daten von dem tragbaren Gerät zu verwenden, kann der Computer Daten von dem tragbaren Gerät an dem Fahrzeugkoordinatensystem ausrichten.
-
Eine Möglichkeit zum Ausrichten der Daten besteht darin, einen Beschleunigungsmesser und einen Magnetometer in dem tragbaren Gerät zu verwenden, um einen Kalibrierungsvektor zum Transformieren von Daten aus dem Koordinatensystem des tragbaren Geräts in das Fahrzeugkoordinatensystem zu bestimmen. Das tragbare Gerät beinhaltet jedoch möglicherweise kein Magnetometer, und das umgebende Erdmagnetfeld könnte die Messwerte des Magnetometers beeinträchtigen.
-
Durch Verwenden der Längsbeschleunigung und der Gravitationsbeschleunigung des tragbaren Geräts und des Fahrzeugs kann der Computer den Kalibrierungsvektor allein unter Verwendung von Beschleunigungsdaten bestimmen. Wenn das tragbare Gerät relativ zum Fahrzeug stabil ist und das Fahrzeug in Längsrichtung beschleunigt, verläuft die Beschleunigung auf dem tragbaren Gerät in der gleichen Richtung wie die Beschleunigung des Fahrzeugs. Das Transformieren von Vektoren, die eine Beschleunigung des tragbaren Geräts definieren, in Vektoren, die eine Beschleunigung des Fahrzeugs definieren (die vom Computer bestimmt werden kann), führt somit dazu, dass der Kalibrierungsvektor Daten vom Koordinatensystem des tragbaren Geräts in das Fahrzeugkoordinatensystem allein unter Verwendung von Beschleunigungsdaten transformiert.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Systems zum Durchführen einer Kalibrierung.
- 2 ist eine Draufsicht eines beispielhaften Fahrzeugs unter Bezugnahme auf ein Fahrzeugkoordinatensystem.
- 3 ist eine Seitenansicht des beispielhaften Fahrzeugs und eines tragbaren Geräts in dem beispielhaften Fahrzeug.
- 4 ist ein Diagramm eines Kursvektors in einem Koordinatensystem eines tragbaren Geräts.
- 5 ist ein beispielhafter Prozess zum Durchführen der Kalibrierung.
-
DETAILLIERTE BESCHREIBUNG
-
1 veranschaulicht ein beispielhaftes Blockdiagramm 100 zum Durchführen einer Kalibrierung. Das System 100 beinhaltet einen Computer 105. Der Computer 105, der typischerweise in einem Fahrzeug 101 beinhaltet ist, ist dazu programmiert, erhobene Daten 115 von einem oder mehreren Sensoren 110 zu empfangen. Beispielsweise können Daten 115 des Fahrzeugs 101 einen Standort des Fahrzeugs 101, Daten über eine Umgebung um ein Fahrzeug 101, Daten über ein Objekt außerhalb des Fahrzeugs, wie etwa ein weiteres Fahrzeugs usw., einschließen. Ein Standort des Fahrzeugs 101 ist üblicherweise in einer herkömmlichen Form bereitgestellt, z. B. als geografische Koordinaten, wie etwa Längengrad und Breitengrad, die über ein Navigationssystem erhalten werden, welches das globale Positionsbestimmungssystem (Global Positioning System - GPS) verwendet. Weitere Beispiele von Daten 115 können Messungen von Systemen und Komponenten des Fahrzeugs 101 beinhalten, beispielsweise eine Geschwindigkeit des Fahrzeugs 101, eine Trajektorie des Fahrzeugs 101 usw.
-
Der Computer 105 ist im Allgemeinen zur Kommunikationen auf einem Netzwerk des Fahrzeugs 101 programmiert, das z. B. einen herkömmlichen Kommunikationsbus des Fahrzeugs 101 beinhaltet. Über das Netzwerk, den Bus und/oder andere drahtgebundene oder drahtlose Mechanismen (z. B. ein drahtgebundenes oder drahtloses lokales Netzwerk in dem Fahrzeug 101) kann der Computer 105 Nachrichten an verschiedene Vorrichtungen in einem Fahrzeug 101 übertragen und/oder Nachrichten von verschiedenen Vorrichtungen empfangen, z.B. Steuerungen, Aktoren, Sensoren usw., darunter die Sensoren 110. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 105 dargestellt sind. Zusätzlich kann der Computer 105 dazu programmiert sein, mit dem Netzwerk 125 zu kommunizieren, das, wie nachfolgend beschrieben, unterschiedliche drahtgebundene und/oder drahtlose Netzwerktechnologien umfassen kann, z. B. Mobilfunk, Bluetooth®, Bluetooth® Low Energy (BLE), drahtgebundene und/oder drahtlose Paketnetzwerke usw.
-
Bei dem Datenspeicher 106 kann es sich um einen beliebigen Typ handeln, z. B. Festplattenlaufwerken, Solid-State-Laufwerke, Server oder beliebige flüchtige oder nichtflüchtige Medien. Der Datenspeicher 106 kann die von den Sensoren 110 gesendeten erfassten Daten 115 speichern.
-
Die Sensoren 110 können eine Vielzahl von Vorrichtungen einschließen. Beispielsweise können verschiedene Steuerungen in einem Fahrzeug 101 als Sensoren 110 betrieben werden, um Daten 115 über das Netzwerk oder den Bus des Fahrzeugs 101 bereitzustellen, z. B. Daten 115 bezüglich Fahrzeuggeschwindigkeit, -beschleunigung, - Position, -teilsystem und/oder -komponentenzustand usw. Ferner könnten andere Sensoren 110 Kameras, Bewegungsmelder usw. einschließen, d.h. Sensoren 110, um Daten 115 zum Auswerten einer Position einer Komponente, zum Auswerten eines Gefälles einer Fahrbahn usw. bereitzustellen. Die Sensoren 110 könnten unter anderem außerdem Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler einschließen.
-
Die gesammelten Daten 115 können eine Vielfalt von Daten einschließen, die in einem Fahrzeug 101 gesammelt werden. Beispiele von gesammelten Daten 115 sind vorstehend bereitgestellt und darüber hinaus werden Daten 115 im Allgemeinen unter Verwendung eines oder mehrerer Sensoren 110 gesammelt und können zusätzlich Daten beinhalten, die daraus in dem Computer 105 und/oder auf dem Server 130 berechnet wurden. Im Allgemeinen können die erfassten Daten 115 beliebige Daten beinhalten, die durch die Sensoren 110 gesammelt und/oder aus derartigen Daten berechnet werden können.
-
Das Fahrzeug 101 kann eine Vielzahl von Fahrzeugkomponenten 120 beinhalten. In diesem Zusammenhang beinhaltet jede Fahrzeugkomponente 120 eine oder mehrere Hardwarekomponenten, die ausgelegt sind, um eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa das Fahrzeug 101 bewegen, das Fahrzeug 101 abbremsen oder anhalten, das Fahrzeug 101 lenken usw. Nicht einschränkende Beispiele von Komponenten 120 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Zahnstange usw. beinhalten kann), eine Bremskomponente (wie nachfolgend beschrieben), eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine adaptive Lenkkomponente, einen bewegbaren Sitz und dergleichen.
-
Das System 100 kann ferner ein Netzwerk 125 beinhalten, das mit einem Server 130 und einem Datenspeicher 135 verbunden ist. Der Computer 105 kann ferner programmiert sein, um mit einem oder mehreren entfernten Standorten, wie etwa dem Server 130, über das Netzwerk 125 zu kommunizieren, wobei ein derartiger entfernter Standort möglicherweise einen Datenspeicher 135 einschließt. Das Netzwerk 125 stellt einen oder mehrere Mechanismen dar, durch die ein Fahrzeugcomputer 105 mit einem Remote-Server 130 kommunizieren kann. Dementsprechend kann es sich bei dem Netzwerk 125 um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich jeder beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz) Kommunikationsmechanismen und jeder beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Zu beispielhaften Kommunikationsnetzwerken gehören drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DRSC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetze (wide area network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Das System 100 beinhaltet ein tragbares Gerät 140. Das tragbare Gerät 140 kann ein beliebiges aus einer Vielzahl von Rechenvorrichtungen sein, einschließlich eines Prozessors und eines Speichers, z. B. ein Smartphone, ein Tablet, ein persönlicher digitaler Assistent, eine am Armaturenbrett montierte Kamera, eine Gestenerkennungsvorrichtung usw. Das Benutzergerät 140 kommuniziert mit dem Fahrzeugcomputer 105 über das Netzwerk 125. Das tragbare Gerät 140 beinhaltet im Allgemeinen einen Prozessor 145 und eine Vielzahl von Sensoren 150. Die Sensoren 150 können z. B. einen Ortssensor, eine Kamera, einen Audio-Video Collector, ein Gyroskop usw. beinhalten.
-
2 ist eine Draufsicht eines beispielhaften Fahrzeugs 101, die ein Fahrzeugkoordinatensystem 200 veranschaulicht. Das Fahrzeugkoordinatensystem 200 beinhaltet eine Längsrichtungsachse X und eine laterale Richtungsachse Y. Eine vertikale Richtungsachse Z, die senkrecht zu der Ebene ist, die durch die X- und Y-Achse (die sowohl zueinander als auch zu der Z-Achse senkrecht sind) definiert wird, ist in 2 nicht gezeigt, jedoch in 3 sichtbar. Die Längsrichtungsachse X erstreckt sich in eine Vorwärtsrichtung des Fahrzeugs und die laterale Richtungsachse Y erstreckt sich lotrecht in eine Querrichtung des Fahrzeugs. Der Computer 105 sammelt Daten 115 von den Sensoren 110 in dem Fahrzeugkoordinatensystem 200, um von den Sensoren 110 erfasste Objekte relativ zu dem Fahrzeug 101 auszurichten.
-
Das Fahrzeug
101 definiert einen Fahrzeugkursvektor
205. Der Fahrzeugkursvektor
205 ist ein dreidimensionaler Vektor, der die Bewegungsrichtung des Fahrzeugs
101 im Fahrzeugkoordinatensystem
200 definiert. Beispielsweise ist der Kursvektor
205 mit der X-Achse ausgerichtet, wenn sich das Fahrzeug
101 geradeaus bewegt, sich z. B. beim Betätigen eines Gaspedals beschleunigt. Der Kursvektor
205 kann eine Beschleunigung
mit drei Komponenten definieren: a
X, d. h. Beschleunigung in X-Richtung, a
Y, d. h. Beschleunigung in Y-Richtung und a
Z, d. h. Beschleunigung in Z-Richtung. Alternativ kann der Computer
105 den Kursvektor
205 beispielsweise basierend auf Geokoordinatendaten
115 von einem Server
130 bestimmen.
-
3 ist eine Seitenansicht des beispielhaften Fahrzeugs 101 mit einem beispielhaften tragbaren Gerät 140, die das Fahrzeugkoordinatensystem 200 und ein Koordinatensystem 300 tragbare Geräte veranschaulicht. Wie oben beschrieben, definiert das Fahrzeugkoordinatensystem 200 eine vertikale Richtungsachse Z. Das Koordinatensystem 300 der tragbaren Vorrichtung definiert eine Längsrichtungsachse x, eine laterale Richtungsachse y und eine vertikale Richtungsachse z. Da das tragbare Gerät 140 relativ zu dem Fahrzeug 101 beweglich ist, können eine oder mehrere Achsen x, y, z in dem Koordinatensystem 300 des tragbaren Geräts kann nicht mit entsprechenden Achsen X, Y, Z im Fahrzeugkoordinatensystem 200 ausgerichtet sein. Um also Daten von Sensoren 150 in dem tragbaren Gerät 140 zu verwenden, muss der Computer 105 und/oder der Prozessor 145 Daten aus dem Koordinatensystem 300 des tragbaren Geräts in das Fahrzeugkoordinatensystem 200 transformieren.
-
Der Computer
105 kann einen Kalibrierungsvektor
zwischen dem Koordinatensystem
300 des tragbaren Geräts und dem Fahrzeugkoordinatensystem
200 bestimmen. Wie hierin verwendet, ist ein „Kalibrierungsvektor“ eine 3x3-Matrix, die Koordinaten in dem Koordinatensystem des tragbaren Geräts in Koordinaten in dem Fahrzeugkoordinatensystem
200 transformiert. Das heißt, der Computer
105 kann den Kalibrierungsvektor
verwenden, um Daten
115 von dem tragbaren Gerät
140 in dem Koordinatensystem
300 des tragbaren Geräts in das Fahrzeugkoordinatensystem
200 transformieren, das der Computer
105 dann verwenden kann, um Komponenten
120 zu betätigen. Zum Beispiel kann, wobei
ein Satz von Daten ist, der in dem tragbaren Gerät
140 gesammelt wird, der Kalibrierungsvektor
Daten
in dem Koordinatensystem
300 des tragbaren Geräts in Daten
transformieren, die zur Verwendung im Fahrzeugkoordinatensystem
200 kalibriert sind:
wobei
die inverse Matrix von
ist und die numerischen Indizes T
mn die Zeile und Spalte des jeweiligen Elements in der Matrix
angeben. Beispielsweise ist T
11 das Element in der ersten Zeile und der ersten Spalte der Matrix
Bei der Bestimmung der inversen Matrix
kann der Computer
105 herkömmliche lineare Algebra-Techniken verwenden, um den Kalibrierungsvektor
zu bestimmen.
-
Das Bewegen des tragbaren Geräts
140 kann einen tragbaren Kursvektor
305 definieren. Wie hier verwendet, ist ein „tragbarer Kursvektor“ ein dreidimensionaler Vektor, der eine Bewegungsrichtung des tragbaren Geräts
140 in dem Koordinatensystem
300 des tragbaren Geräts darstellt. Der Prozessor
145 und/oder der Computer
105 kann den tragbaren Kursvektor
305 basierend auf Beschleunigungsdaten
115 von den Sensoren
150 bestimmen. Wie nachfolgend beschrieben hat die Beschleunigung
des tragbaren Geräts
140 drei Komponenten: a
x, die Beschleunigung in x-Richtung, a
y, die Beschleunigung in y-Richtung und a
z, die Beschleunigung in z-Richtung Im Beispiel von
3 ist die Beschleunigung
des Fahrzeugs
101 dieselbe wie die Beschleunigung
des tragbaren Geräts
140, da sich das tragbare Gerät
140 nicht relativ zum Fahrzeug
101 bewegt, wie nachstehend beschrieben. Alternativ kann sich, wenn sich das tragbare Gerät
140 relativ zum Fahrzeug
101 bewegt, eine Beschleunigung
des Fahrzeugs
101 von einer Beschleunigung
des tragbaren Geräts
140 unterscheiden, und der Computer
105 kann bestimmen, den Kalibrierungsvektor
nicht zu bestimmen. Beim Beschleunigen des Fahrzeugs
101 entlang der X-Achse, z. B. durch Betätigung eines Gaspedals oder eines Bremspedals, kann der Computer
105 einen oder mehrere Sensoren
110 betätigen, um Daten
115 über die Beschleunigung zu sammeln. Der Computer
105 kann den tragbaren Kursvektor
305 verwenden, um den Kalibrierungsvektor
zu bestimmen, wie unten beschrieben.
-
Der Computer
105 kann einen Schwerkraftvektor
für das Fahrzeug
101 bestimmen. Der Schwerkraftvektor
ist ein Beschleunigungsvektor in Richtung der Schwerkraft, d. h. im wesentlichen senkrecht zu einer horizontalen Ebene. In dem Fahrzeugkoordinatensystem
200 ist die Richtung der Schwerkraft die Negativ-Z-Richtung. Der Computer
105 kann einen Schwerkraftvektor g basierend auf Beschleunigungsdaten
115 des Fahrzeugs
101 bestimmen. Das heißt, der Computer
105 kann basierend auf der Beschleunigung des Fahrzeugs
101 in die Z-Richtung den Schwerkraftvektor
bestimmen.
-
Der Computer
105 und/oder der Prozessor
145 kann einen Schwerkraftvektor g' für das tragbare Gerät
140 bestimmen. Der Schwerkraftvektor
ist ein Beschleunigungsvektor in Richtung der Schwerkraft. Da das Koordinatensystem
300 des tragbaren Geräts möglicherweise nicht mit dem Fahrzeugkoordinatensystem
200 ausgerichtet ist, kann der Schwerkraftvektor
Komponenten ungleich Null in alle der x, y, z-Richtungen aufweisen. Um somit das Koordinatensystem
300 des tragbaren Geräts mit dem Fahrzeugkoordinatensystem
200 auszurichten, kann der Computer
105 und/oder Prozessor
145 die Komponenten des Schwerkraftvektors
in dem Koordinatensystem
300 des tragbaren Geräts zum Bestimmen einer linearen Transformation zum Ausrichten von Daten
115 in dem Koordinatensystem
300 des tragbaren Geräts mit der Z -Richtung des Fahrzeugkoordinatensystems
200 verwenden.
-
Der Computer
105 kann einen Kursvektor
205 basierend auf einer Beschleunigung des Fahrzeugs
101 identifizieren. Wie oben beschrieben, kann der Computer
105 einen oder mehrere Sensoren
110 betätigen, um eine Beschleunigung zu
des Fahrzeugs
101 zu bestimmen. Beim Beschleunigen des Fahrzeugs
101 entlang der X -Achse, z. B. durch Betätigen des Gaspedals oder des Bremspedals, kann die Beschleunigung
des Fahrzeugs
101 als die folgende Matrix definiert werden:
-
Der Computer
105 kann Daten
115 von dem tragbaren Gerät
140 und von Fahrzeugkomponenten
120 für einen vorbestimmten Zeitraum sammeln. Der „Zeitraum“ ist eine vorbestimmte Anzahl von Sekunden, in denen Daten
115 gesammelt werden. Der Zeitraum kann beispielsweise auf Grundlage von empirischem Testen der Datenerfassung
115 und der Zuverlässigkeit der erfassten Daten
115 bestimmt werden. Der Computer
105 kann über das Netzwerk
125 mit den Komponenten
120 und dem tragbaren Gerät
140 kommunizieren. Der Computer
105 kann beispielsweise Beschleunigungsdaten
115 während des Zeitraums sammeln. Der Computer
105 kann den Kalibrierungsvektor
basierend auf Daten
115 aus einem bestimmten Zeitraum bestimmen, z. B. einem Zeitraum, in dem das Fahrzeug
101 in die X-Richtung beschleunigt und das tragbare Gerät
140 stabil ist. Alternativ, wenn der Computer
105 den Kalibrierungsvektor
nicht basierend auf einem bestimmten Zeitraum bestimmt (z. B. hat sich das Fahrzeug
101 während des Zeitraums nicht beschleunigt), kann der Computer
105 den Kalibrierungsvektor
basierend auf Daten
115 bestimmen, die während eines nachfolgenden Zeitraums gesammelt wurden.
-
Der Computer
105 kann eine Stabilität des tragbaren Geräts
140 bestimmen. Wie hier verwendet, ist eine „Stabilität“ ein Maß dafür, ob sich das tragbare Gerät
140 relativ zum Fahrzeug
101 bewegt. Wenn beispielsweise das tragbare Gerät
140 an dem Fahrzeug
101 montiert ist, d. h. direkt an einem Abschnitt des Fahrzeugs
101 angebracht ist, sodass sich das tragbare Gerät
140 nicht relativ zu dem Fahrzeug
101 bewegt, kann der Computer
105 bestimmen, dass das tragbare Gerät
140 „stabil“ ist. Das tragbare Gerät
140 kann zum Beispiel an einer Instrumententafel, einer Mittelkonsole, einem Armaturenbrett usw. montiert sein. Der Computer
105 kann bestimmen, dass das tragbare Gerät an einem Teil eines Innenraums des Fahrzeugs montiert ist, beispielweise auf Grundlage einer Benutzereingabe in den Computer
105, die angibt, dass das tragbare Gerät
140 montiert ist. Die Benutzereingabe zeigt an, dass der Benutzer bestimmt hat, dass das tragbare Gerät
140 stabil ist. In einem anderen Beispiel kann, wenn das tragbare Gerät
140 an einer Mittelkonsole platziert ist, auf der das tragbare Gerät
140 gleiten kann, der Computer
105 bestimmen, dass das tragbare Gerät
140 möglicherweise nicht stabil ist, und der Computer
105 kann die Stabilität des tragbaren Geräts
140 basierend auf Daten von einem oder mehreren Sensoren
150 bestimmen, wie nachstehend beschrieben. Wenn das tragbare Gerät
140 nicht stabil ist, kann sich die Beschleunigung des tragbaren Geräts
140 von der Beschleunigung des Fahrzeugs
101 unterscheiden, und der Computer kann bestimmen, den Kalibrierungsvektor
nicht zu identifizieren. Die Stabilität des tragbaren Geräts
140 kann beispielsweise auf Daten
115 von einem Gyroskop
150 in dem tragbaren Gerät
140, einer vom Benutzer eingegebenen Einstellung, die angibt, dass das tragbare Gerät
140 montiert ist, usw. basieren.
-
Der Computer 105 kann die Stabilität des tragbaren Geräts 140 basierend auf einer Winkelgeschwindigkeit des tragbaren Geräts 140 bestimmen. Wie hierin verwendet, ist eine „Winkelgeschwindigkeit“ eine Messung einer Rotationsgeschwindigkeit um eine oder mehrere der Achsen x, y, z in dem Koordinatensystem 300 des tragbaren Geräts. Der Computer 105 kann Winkelgeschwindigkeitsdaten 115 von dem Gyroskop 150 sammeln und bestimmen, ob die Winkelgeschwindigkeit des tragbaren Geräts 140 für die Dauer des Zeitraums unter einem Schwellenwert liegt. Der Schwellenwert kann beispielsweise auf Grundlage eines empirischen Testens von Beschleunigungsdaten 115 bei unterschiedlichen Winkelgeschwindigkeiten bestimmt werden, um anzuzeigen, bei welcher Winkelgeschwindigkeit sich die Beschleunigungsdaten 115 des tragbaren Geräts 140 von den Beschleunigungsdaten des Fahrzeugs 101 unterscheiden, sodass das Durchführen der Kalibrierung von dem Koordinatensystem 300 des tragbaren Geräts auf das Fahrzeugkoordinatensystem 200 zu Transformationen von Daten 115 zum Fahrzeugkoordinatensystem 200 führt, die sich von einer vorbestimmten erwarteten Transformation um eine Testschwelle, z. B. eine Auflösung der Sensoren 110, 150, unterscheiden.
-
Der Computer 105 kann für die Dauer des Zeitraums bestimmen, ob ein Lenkradwinkel unter einem Lenkschwellenwert liegt. Ein „Lenkradwinkel“ ist ein Winkel eines Lenkrads von einer neutralen Position weg. Das Fahrzeug 101 kann einen Winkelsensor 110 beinhalten, der den Lenkradwinkel misst. Der Lenkschwellenwert kann beispielsweise basierend auf einem empirischen Testen von Beschleunigungsdaten 115 bei unterschiedlichen Lenkradwinkeln bestimmt werden, um anzuzeigen, bei welchem Lenkradwinkel sich das Fahrzeug 101 nicht mehr geradeaus auf einer Fahrbahnspur bewegt. Das empirische Testen kann Fahrzeuge 101 mit unterschiedlichen Lenkverhältnissen beinhalten, d. h. einem Verhältnis zwischen dem Lenkradwinkel und einem Bewegungswinkel des Fahrzeugs 101.
-
Der Computer
105 kann eine Pedalbetätigung, d. h. eine Betätigung eines Gaspedals oder eines Bremspedals, während des Zeitraums identifizieren. Das Gaspedal und das Bremspedal können über das Netzwerk
125 Daten
115 an den Computer
105 senden, die die Betätigung des Gaspedals oder des Bremspedals anzeigen. Zum Beispiel können das Gaspedal und das Bremspedal jeweils einen jeweiligen Pedalwinkelsensor beinhalten, und basierend auf Daten
115, die anzeigen, dass der Pedalwinkel eines des Gaspedals oder des Bremspedals eine Winkelschwelle überschreitet, kann der Computer
105 bestimmen, dass das jeweilige Pedal betätigt wurde. Die Winkelschwelle kann beispielsweise basierend auf einem empirischen Testen der jeweiligen Pedalwinkel bestimmt werden, um eine Beschleunigung oder ein Bremsen des Fahrzeugs
101 einzuleiten. Wenn der Benutzer das Gaspedal und/oder das Bremspedal während des Zeitraums betätigt, kann der Computer
105 bestimmen, dass das Fahrzeug
101 während des Zeitraums eine Längsbeschleunigung a
x ungleich Null aufweist. Wie oben beschrieben kann die Längsbeschleunigung a
x einen Kursvektor
205 für das Fahrzeug
101 definieren, den der Computer
105 verwenden kann, um den Kalibrierungsvektor
zu bestimmen. Wenn der Computer
105 die Pedalbetätigung in dem Zeitraum identifiziert, kann der Computer
105 den Kalibrierungsvektor
bestimmen. Wenn der Computer
105 in dem Zeitraum keine Pedalbetätigung identifiziert, bestimmt der Computer
105, dass das Fahrzeug
101 in dem Zeitraum nicht beschleunigt hat, und identifiziert eine Pedalbetätigung in einem nachfolgenden Zeitraum.
-
4 ist ein Diagramm des tragbaren Kursvektors
305 in dem Koordinatensystem des tragbaren Geräts
300. In dem Koordinatensystem
300 des tragbaren Geräts sind die Beschleunigungskomponenten a
x, a
y, a
z der Beschleunigung
an den x, y, z -Achsen definiert. Der Computer
105 kann den Kalibrierungsvektor
durch Identifizieren von Transformationen zwischen Daten
115 im Koordinatensystem
300 des tragbaren Geräts auf jede der X, Y, Z-Achsen des Fahrzeugkoordinatensystems
200 bestimmen. Zum Beispiel kann der Computer
105, wie nachstehend beschrieben, die Schwerkraftvektoren
verwenden, um Transformationen zu der Z-Achse zu bestimmen, die Kursvektoren
205,
305 verwenden, um Transformationen zu der X -Achse zu bestimmen, und herkömmliche Techniken verwenden, um Transformationen zu der Y-Achse basierend auf den Transformationen zu den X, Z-Achsen zu bestimmen.
-
Zum Bestimmen von Transformationen von dreidimensionalen Koordinaten in dem Koordinatensystem
300 des tragbaren Geräts zu der Z -Achse in dem Fahrzeugkoordinatensystem
200 kann der Computer
105 Schwerkraftvektoren
für das Fahrzeug
101 bzw. das tragbare Gerät
140 bestimmen. Der Computer
105 kann einen Tiefpassfilter auf die Beschleunigungsdaten
115 des Fahrzeugs
101 und von dem tragbaren Gerät
140 anwenden. Wie hierin verwendet, ist ein „Tiefpassfilter“ eine Programmierung, um ein Rohsignal als Eingabe anzunehmen und ein gefiltertes Signal auszugeben, das nur Frequenzen unterhalb eines festgelegten Schwellenwerts enthält. Der Schwellenwert kann beispielsweise auf empirischem Testen von Beschleunigungen des Fahrzeugs
101 aufgrund von Schwerkraft und eines Antriebs
120 basieren. Der Schwellenwert kann beispielsweise 1 Hertz betragen. Der Tiefpassfilter entfernt Beschleunigungen aufgrund eines Antriebs oder einer Bremsbetätigung, und die gefilterten Daten
115 können eine Beschleunigung aufgrund der Schwerkraft auf dem tragbaren Gerät
140 anzeigen.
-
Der Computer
105 kann den Schwerkraftvektor
für das Fahrzeug
101 basierend auf Beschleunigungsdaten
115 von dem Fahrzeug bestimmen. Da sich die Schwerkraft in die Negativ- Z -Richtung im Fahrzeugkoordinatensystem
200 beschleunigt, wird der Schwerkraftvektor
wie folgt definiert:
-
Der Computer
105 kann den Schwerkraftvektor
basierend auf den gefilterten Beschleunigungsdaten
115 bestimmen. Da der Schwerkraftvektor
für das tragbare Gerät
140 eine gleiche Richtung wie der Schwerkraftvektor
für das Fahrzeug
101 aufweist, kann der Computer
105 den Schwerkraftvektor
verwenden, um Transformationen von dem Koordinatensystem
300 des tragbaren Geräts zu der Z-Achse des Fahrzeugkoordinatensystems
200 bestimmen. Der Computer
105 kann den Schwerkraftvektor
basierend auf den x, y, z-Komponenten der gefilterten Beschleunigungsdaten
115 bestimmen:
wobei
a x,
a y,
a z die Komponenten der gefilterten Beschleunigungsdaten
115 nach dem Anwenden des Tiefpassfilters auf die Beschleunigungskomponenten a
x, a
y, a
z des tragbaren Geräts
140 sind. Damit kann die Transformation zwischen dem Koordinatensystem
300 des tragbaren Geräts und der Z-Achse des Fahrzeugkoordinatensystems
200 bestimmt werden:
wobei die Minuszeichen für
stehen, der sich entlang der negativen Z-Achse erstreckt, und die doppelten vertikalen Linien, die in
angezeigt sind, die Betragsfunktion darstellen, die den Betrag des Vektors innerhalb der Linien zurückgibt.
-
Der Computer 105 kann Transformationen von dreidimensionalen Koordinaten in dem Koordinatensystem 300 des tragbaren Geräts zu der X -Achse in dem Fahrzeugkoordinatensystem 200 basierend auf dem Kursvektor 205 und dem tragbaren Kursvektor 305 bestimmen. Wenn das tragbare Gerät 140 relativ zu dem Fahrzeug 101 stabil ist, sind der Kursvektor 205 und der tragbare Kursvektor 305 aufeinander ausgerichtet.
-
Der Computer
105 kann eine Längsbeschleunigung
des tragbaren Geräts
140 basierend auf den gefilterten Beschleunigungsdaten
115 bestimmen. Da der Tiefpassfilter Beschleunigung aufgrund von Antrieb und Bremsbetätigung entfernt hat, kann der Computer
105 einen Längsbeschleunigungsvektor
durch Subtrahieren der gefilterten Beschleunigungsdaten
115 von den gesammelten Beschleunigungsdaten
115 bestimmen:
wobei a
long,x die Längsbeschleunigung entlang der x -Achse ist, a
long,y die Längsrichtung entlang der y-Achse ist und a
long,z die Längsbeschleunigung entlang der z-Achse ist.
-
Der Computer
105 kann die Transformation zu der X -Achse basierend auf der Längsbeschleunigung
bestimmen.
-
Nach Definieren von Transformationen zu den X, Z-Achsen kann der Computer
105 herkömmliche Techniken verwenden, um Transformationen zu der Y-Achse zu bestimmen. Das heißt, gemäß herkömmlichen linearen Algebratechniken kann der Computer
105 Transformationen zu der Y-Achse bestimmen:
wobei x die Kreuzproduktfunktion und
ein Vektor ist, der das Kreuzprodukt der Längsbeschleunigung
und den Schwerkraftvektor
darstellt. Beispielsweise kann der Computer
105 Daten
115, die den Beschleunigungsvektor
für das Fahrzeug
101 und das tragbare Gerät
140 angeben, mit den Transformationen zu den X, Z-Achsen verwenden, um die verbleibenden Transformationen zu der Y -Achse zu lösen. Nach Bestimmen von Transformationen zu der Y-Achse kann der Computer
105 die Transformationen zu den X, Y, Z -Achsen zu einer Einzelmatrix zusammensetzen, um die inverse Matrix
und unter Verwendung herkömmlicher Techniken den Kalibrierungsvektor
zu bestimmen:
-
Der Computer
105 kann eine Kalibrierung einleiten. Wie hierin verwendet, ist „Kalibrierung“ eine Programmierung, die der Computer
105 umsetzt, um den Kalibrierungsvektor
zwischen dem Koordinationssystem
300 des tragbaren Geräts und dem Fahrzeugkoordinatensystem
200 zu bestimmen. Die Kalibrierung ermöglicht es dem Computer
105, Daten
115 des tragbaren Geräts
140 in das Fahrzeugkoordinatensystem
200 zu transformieren, das der Computer
105 dann verwenden kann, um Komponenten
120 zu betätigen.
-
Der Computer
105 kann die Kalibrierung basierend auf einer Stabilität des tragbaren Geräts
140 und einem Lenkradwinkel einleiten. Wie oben beschrieben, kann der Computer
105 den Kalibrierungsvektor
bestimmen, wenn das Fahrzeug
101 im Wesentlichen entlang der X-Achse beschleunigt oder abbremst, d. h. wenn sich das Fahrzeug
101 nicht dreht, und wenn das tragbare Gerät
140 stabil ist, d. h. wenn sich das tragbare Gerät
140 relativ zu dem Fahrzeug
101 nicht wesentlich bewegt. Nach Bestimmen, dass das tragbare Gerät
140 stabil ist und der Lenkradwinkel unter einem Lenkschwellenwert liegt, wie oben beschrieben, kann der Computer
105 die Kalibrierung einleiten.
-
Nach Bestimmen des Kalibrierungsvektors
kann der Computer
105 Daten
115 von dem tragbaren Gerät
140 sammeln und die Daten
115 in das Fahrzeugkoordinatensystem
200 transformieren. Wenn zum Beispiel das tragbare Gerät
140 ein Gestenerkennungsgerät ist, kann das tragbare Gerät
140 Bilddaten
115 eines Benutzers des Fahrzeugs
101 mit einem oder mehreren Sensoren
150 sammeln. Der Prozessor
145 kann die Daten
115 über das Netzwerk
125 an den Computer
105 senden. Der Computer
105 kann die Daten
115 mit dem Kalibrierungsvektor
transformieren und eine oder mehrere Komponenten
120 basierend auf den transformierten Daten
115 betätigen. Beispielsweise können die Bilddaten
115 von dem tragbaren Gerät
140 eine Benutzergeste anzeigen, z. B. eine Drehung einer Benutzerhand, die eine Anforderung zum Erhöhen der Lautstärke einer Unterhaltungskomponente
120 anzeigt, und der Computer
105 kann die Unterhaltungskomponente
120 betätigen, um die Lautstärke zu erhöhen.
-
In einem weiteren Beispiel, wenn das tragbare Gerät
140 eine Armaturenbrettkamera ist, kann das tragbare Gerät
140 Bilddaten
115 von Objekten um das Fahrzeug
101 mit einem oder mehreren Sensoren
150 sammeln. Der Prozessor
145 kann ein Objekt unter Verwendung herkömmlicher Bilderkennungstechniken basierend auf den Bilddaten
115 identifizieren. Der Prozessor
145 kann Daten
115, die das Objekt und die Position des Objekts in dem Koordinatensystem
300 des tragbaren Geräts identifizieren, über das Netzwerk
125 an den Computer
105 senden. Nach Empfangen der Daten
115 in dem Koordinatensystem
300 des tragbaren Geräts kann der Computer
105 die Daten
115 mit dem Kalibrierungsvektor
transformieren, um die Position des Objekts im Fahrzeugkoordinatensystem
200 zu bestimmen. Der Computer
105 kann eine oder mehrere Komponenten
120 basierend auf der Position des Objekts betätigen, z. B. eine Lenkkomponente
120, um vom Objekt wegzulenken. Der Computer
105 kann die Bilddaten
115 von dem tragbaren Gerät
140 verwenden, um den Betrieb beispielsweise eines fortgeschrittenen Fahrerassistenzsystems (ADAS), eines Benutzerüberwachungssystems usw. zu verbessern, und/oder andere Komponenten
120, die eine genaue Ausrichtung der Orientierung erfordern.
-
In einem weiteren Beispiel kann das tragbare Gerät 140 Daten 115 verifizieren, die von Sensoren 110 in dem Fahrzeug 101 gesammelt wurden. Zum Beispiel kann der Computer 105 eine Fahrzeuggierrate, d. h. eine Änderungsrate eines Fahrzeugkurswinkels, bestimmen, und das tragbare Gerät 140 kann eine Gierrate des tragbaren Geräts, d. h. eine Änderungsrate eines Kurswinkels des tragbaren Geräts, bestimmen. Wenn das tragbare Gerät 140 relativ zum Fahrzeug 101 stabil ist, sind die Fahrzeuggierrate und die Gierrate des tragbaren Geräts im Wesentlichen gleich. Der Computer 105 kann die Fahrzeuggierrate mit der Gierrate des tragbaren Geräts vergleichen. Wenn sich die Fahrzeuggierrate von der tragbaren Gierrate um mehr als eine Gierratenschwelle unterscheidet, kann der Computer 105 einen Fehler erklären und einem Benutzer eine Warnung anzeigen, die angibt, dass ein oder mehrere Sensoren 110 eine Inspektion möglicherweise eine Inspektion erfordern. Beispielsweise kann der Computer 105 eine Mensch-Maschine-Schnittstelle (HMI), wie etwa ein Touchscreen Display, zur Anzeige einer visuellen Warnung betätigen. Die Gierratenschwelle kann als eine maximale Differenz der Gierrate des tragbaren Geräts und der Fahrzeuggierrate bestimmt werden, wenn das tragbare Gerät 140 relativ zu dem Fahrzeug 101 stabil ist. Alternativ kann die Gierratenschwelle als eine Auflösung eines oder mehrerer der Sensoren 110 des Fahrzeugs und/oder eines oder mehrerer der Sensoren 150 des tragbaren Geräts 140 bestimmt werden.
-
5 ist ein Diagramm eines beispielhaften Prozesses 500 zum Durchführen einer Kalibrierung eines Koordinatensystems 300 für ein tragbares Gerät 140 mit einem Fahrzeugkoordinatensystem 200. Der Prozess 500 beginnt in einem Block 505, in dem der Computer 105 Daten 115 von Sensoren 110 in dem Fahrzeug 101 und Sensoren 150 in dem tragbaren Gerät 140 während eines bestimmten Zeitraums sammelt.
-
Als Nächstes, in einem Block 510, bestimmt der Computer 105, ob das tragbare Gerät 140 montiert ist, d. h. direkt an einem Abschnitt des Fahrzeugs 101 angebracht ist, sodass sich das tragbare Gerät 140 nicht relativ zu dem Fahrzeug 101 bewegt. Der Benutzer kann dem Computer 105 eine Benutzereingabe bereitstellen, die angibt, dass das tragbare Gerät 140 beispielsweise an einem Lenkrad, einer Mittelkonsole, einer Instrumententafel usw. montiert ist. Ist das tragbare Gerät 140 montiert, fährt der Prozess 500 in einem Block 520 fort. Sonst fährt der Prozess 500 in einem Block 515 fort.
-
In dem Block 515 bestimmt der Computer 105 basierend auf Daten 115 von Sensoren 150, ob das tragbare Gerät 140 stabil ist. Wie oben beschrieben, kann der Computer 105 eine Winkelgeschwindigkeit des tragbaren Geräts 140 basierend auf Daten 115 von einem Gyroskop 150 des tragbaren Geräts 140 bestimmen. Wenn die Winkelgeschwindigkeit unter einem Schwellenwert liegt, kann der Computer 105 bestimmen, dass das tragbare Gerät 140 stabil ist. Der Schwellenwert kann beispielsweise basierend auf einem empirischen Testen von Beschleunigungsdaten 115 bei unterschiedlichen Winkelgeschwindigkeiten bestimmt werden, um anzuzeigen, bei welcher Winkelgeschwindigkeit die Beschleunigungsdaten 115 unzuverlässig werden. Bestimmt der Computer 105, dass das tragbare Gerät 140 stabil ist, fährt der Prozess 500 in Block 520 fort. Sonst fährt der Prozess 500 in einem Block 555 fort.
-
In Block 520 bestimmt der Computer 105, ob Daten 115 anzeigen, dass ein Lenkradwinkel während des Zeitraums unter einem Lenkschwellenwert liegt. Der Lenkschwellenwert kann beispielsweise basierend auf empirischem Testen von Beschleunigungsdaten 115 bei unterschiedlichen Lenkradwinkeln bestimmt werden, um anzuzeigen, bei welchem Lenkradwinkel sich das Fahrzeug 101 nicht mehr geradeaus auf einer Fahrbahnspur bewegt. Das empirische Testen kann Fahrzeuge 101 mit unterschiedlichen Lenkverhältnissen beinhalten, d. h. einem Verhältnis zwischen dem Lenkradwinkel und einem Bewegungswinkel des Fahrzeugs 101, d. h. empirisches Testen könnte für ein Fahrzeug 101 mit einem bestimmten Lenkverhältnis gelten. Wenn der Lenkwinkel unter einem Lenkschwellenwert liegt, bewegt sich das Fahrzeug 101 im Wesentlichen geradeaus und die Beschleunigung des Fahrzeugs 101 erfolgt hauptsächlich in die Längs- X -Richtung des Fahrzeugkoordinatensystems 200. Wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt, fährt der Prozess 500 in einem Block 525 fort. Sonst fährt der Prozess 500 in Block 555 fort.
-
In dem Block 525 bestimmt der Computer 105, ob eine Pedalbetätigung während des Zeitraums aufgetreten ist. Wie oben beschrieben, kann die Betätigung eines Bremspedals oder eines Gaspedals eine Beschleunigung in Längs-X-Richtung des Fahrzeugkoordinatensystems 200 erzeugen. Bestimmt der Computer 105, dass eine Pedalbetätigung während des Zeitraums aufgetreten ist, fährt der Prozess 500 in einem Block 530 fort. Sonst fährt der Prozess 500 in Block 555 fort.
-
In Block
530 bestimmt der Computer
105 einen Schwerkraftvektor
für das tragbare Gerät
140. Wie oben beschrieben, entfernt das Anwenden eines Tiefpassfilters auf die Beschleunigungsdaten
115 von den Sensoren
150 des tragbaren Geräts
140 Beschleunigungen aufgrund von anderen Effekten als Schwerkraft, z. B. Beschleunigung des Fahrzeugs
101. Der Computer
105 kann den Schwerkraftvektor
verwenden, um eine Transformation zu der vertikalen Achse Z im Fahrzeugkoordinatensystem
200 zu bestimmen.
-
Als Nächstes bestimmt der Computer
105 in einem Block
535 eine Längsbeschleunigung
Wie oben beschrieben ist die Längsbeschleunigung
die von dem Tiefpassfilter herausgefilterte Beschleunigung. Somit ist die Längsbeschleunigung
eine Differenz zwischen den Beschleunigungsdaten
115 und dem Schwerkraftvektor
-
Als Nächstes bestimmt der Computer
105 in einem Block
540 den Kalibrierungsvektor
zwischen dem Koordinatensystem
300 des tragbaren Geräts und dem Fahrzeugkoordinatensystem
200. Wie oben beschrieben, kann der Computer
105 basierend auf der Längsbeschleunigung
Transformationen von dem Koordinatensystem
300 des tragbaren Geräts zu der X-Achse des Fahrzeugkoordinatensystems
200 bestimmen. Basierend auf dem Schwerkraftvektor
kann der Computer
105 Transformationen von dem Koordinatensystem
300 des tragbaren Geräts zu der Z-Achse des Fahrzeugkoordinatensystems
200 bestimmen. Basierend auf den bestimmten Transformationen zu den X, Z-Achsen kann der Computer
105 basierend auf herkömmlichen Techniken Transformationen von dem Koordinatensystem
300 des tragbaren Geräts zu der Y-Achse des Fahrzeugkoordinatensystems
200 bestimmen. Der Computer
105 bestimmt den Kalibrierungsvektor
als die Zusammensetzung dieser drei Transformationen.
-
Als Nächstes sammelt der Computer
105 in einem Block
545 Daten
115 von dem tragbaren Gerät
140. Wie oben beschrieben, kann der Prozessor
145 Sensoren
150 betätigen, um Daten
115 zu sammeln und die Daten
115 über das Netzwerk
125 an den Computer
105 zu senden. Die Daten
115 von den Sensoren
150 können z. B. Bilder, Position, Geschwindigkeit, Beschleunigung usw. beinhalten. Beispielsweise können die Daten
115 Bilddaten
115 eines Innenraums eines Fahrzeugs
101 sein, die von einem Bildsensor
150 des tragbaren Geräts
140 gesammelt wurden. In einem anderen Beispiel können die Daten
115 eine Position eines durch das tragbare Gerät
140 identifizierten Objekts sein, wobei die Position in Koordinaten in dem Koordinatensystem
300 des tragbaren Geräts aufgelistet ist, und der Computer
105 kann die Daten
115 von dem tragbaren Gerät
140 mit dem Kalibrierungsvektor
transformieren, um die Position des Objekts in dem Fahrzeugkoordinatensystem
200 zu identifizieren.
-
Als Nächstes betätigt der Computer
105 in einem Block
550 eine oder mehrere Komponenten
120 basierend auf Daten
115, die mit dem Kalibrierungsvektor
kalibriert wurden. Beispielsweise kann der Computer
105 basierend auf Bilddaten
115 einer Benutzergeste, die in das Fahrzeugkoordinatensystem
200 kalibriert sind, so dass der Computer
105 die Geste erkennen kann (z. B. als Drehung einer Benutzerhand), eine Unterhaltungskomponente
120 basierend auf der erkannten Geste betätigen, um die Lautstärke der Unterhaltungskomponente
120 zu erhöhen. In einem anderen Beispiel kann der Computer
105 nach dem Identifizieren der Position des Objekts, das von dem tragbaren Gerät
140 in dem Fahrzeugkoordinatensystem
200 identifiziert wurde, eine Lenkkomponente
120 betätigen, um von dem Objekt wegzulenken. In einem anderen Beispiel kann der Computer
105 ein Touchscreen Display betätigen, um eine visuelle Warnung anzuzeigen, wenn ein Fehler basierend auf einer Gierrate des tragbaren Geräts
140 identifiziert wurde, wie oben beschrieben.
-
Bei Block 555 bestimmt der Computer 105, ob der Prozess 500 fortgesetzt werden soll. Bestimmt der Computer 105 beispielsweise, dass das Fahrzeug 101 angehalten hat und ausgeschaltet ist, kann der Computer 105 bestimmen, den Prozess 500 nicht fortzusetzen. Bestimmt der Computer 105, fortzufahren, kehrt der Prozess 500 zu einem Block 505 zurück, in dem der Computer 105 Daten 115 für einen neuen Zeitraum sammelt. Andernfalls endet der Prozess 500.
-
Im hier verwendeten Sinne bedeutet das ein Adjektiv modifizierende Adverb „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Berechnung usw. von einer genau beschriebenen Geometrie, einer genau beschriebenen Entfernung, einem genau beschriebenen Messwert, einem genau beschriebenen Wert, einer genau beschriebenen Berechnung usw. aufgrund von Mängeln hinsichtlich der Materialien, Bearbeitung, Herstellung, Datensammlermessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
Rechenvorrichtungen, wie hierin erörtert, darunter der Computer 105 und der Server 130, beinhalten Prozessoren und Speicher, die Speicher im Allgemeinen jeweils beinhaltend Anweisungen, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen vorstehend beschriebener Blöcke oder Schritte von Prozessen ausgeführt werden können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -techniken erstellt wurden, darunter unter anderem, entweder allein oder in Kombination, Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, darunter einen oder mehrere der hierin beschriebenen Prozesse. Derartige Anweisungen und weitere Daten können unter Verwendung einer Vielzahl computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in dem Computer 105 ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert sind, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
-
Zu einem computerlesbaren Medium zählt jedes Medium, das am Bereitstellen von Daten (z. B. Anweisungen), die durch einen Rechner gelesen werden können, beteiligt ist. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtige Medien, flüchtige Medien usw. Nichtflüchtige Medien schließen zum Beispiel optische oder magnetische Platten und sonstige Dauerspeicher ein. Flüchtige Medien umfassen einen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien schließen beispielsweise Folgendes ein: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren usw. ist davon auszugehen, dass, wenngleich die Schritte derartiger Prozesse usw. als in einer bestimmten Reihenfolge erfolgend beschrieben wurden, derartige Prozesse durchgeführt werden können, wobei die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, welche von der hierin beschriebenen Reihenfolge abweicht. Es versteht sich zudem, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in der vorliegenden Schrift beschriebene Schritte weggelassen werden können. Beispielsweise könnten im Prozess 500 ein oder mehrere der Schritte weggelassen oder die Schritte könnten in einer anderen Reihenfolge als in 5 gezeigt ausgeführt werden. Anders ausgedrückt werden die Beschreibungen von Systemen und/oder Prozessen in dieser Schrift zum Zweck der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten in keiner Weise als den offenbarten Gegenstand einschränkend ausgelegt werden.
-
Folglich versteht es sich, dass die vorliegende Offenbarung, einschließlich der obenstehenden Beschreibung und die begleitenden Figuren und untenstehenden Ansprüche, bezweckt, veranschaulichend und nicht einschränkend auszulegen sind. Viele Ausführungsformen und Anwendungen, bei welchen es sich nicht um die bereitgestellten Beispiele handelt, sollten dem Fachmann nach der Lektüre der vorstehenden Beschreibung offensichtlich sein. Der Umfang der Erfindung sollte nicht unter Bezug auf die obige Beschreibung ermittelt werden, sondern stattdessen in Bezug auf Ansprüche, die hier beigefügt sind und/oder in einer hierauf basierenden, nicht vorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu welchen derartige Ansprüche berechtigen. Es ist vorherzusehen und beabsichtigt, dass zukünftige Entwicklungen im Stand der Technik, der hier besprochen ist, stattfinden werden und dass die offenbarten Systeme und Verfahren in solche zukünftigen Ausführungsformen aufgenommen werden. Zusammenfassend sollte verstanden werden, dass der offenbarte Gegenstand in der Lage ist, modifiziert und variiert zu werden.
-
Der ein Nomen modifizierende Artikel „ein/e“ sollte dahingehend verstanden werden, dass er einen oder mehrere bezeichnet, es sei denn, es ist etwas anderes angegeben oder der Kontext erfordert etwas anderes. Der Ausdruck „basierend auf“ schließt teilweise oder vollständig basierend auf ein.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die von dem Prozessor ausführbar sind, um eine Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel einzuleiten; eine Fahrzeugpedalbetätigung zu erfassen; und dann basierend auf einer Beschleunigung des tragbaren Geräts einen Kalibrierungsvektor zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem zu bestimmen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um zu bestimmen, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Einleiten der Kalibrierung, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen eines Schwerkraftvektors basierend auf einer Beschleunigung des tragbaren Geräts.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anwenden eines Tiefpassfilters auf Beschleunigungsdaten von dem tragbaren Gerät, um den Schwerkraftvektor zu bestimmen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einem Kursvektor des Fahrzeugs.
-
Gemäß einer Ausführungsform ist die Fahrzeugpedalbetätigung eine von einer Gaspedalbetätigung oder einer Bremspedalbetätigung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen des Kalibrierungsvektors basierend auf einer Längsbeschleunigung des Fahrzeugs.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen der Stabilität des tragbaren Geräts basierend auf Daten von einem Gyroskop des tragbaren Geräts.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen einer Winkelgeschwindigkeit des tragbaren Geräts basierend auf den Daten von dem Gyroskop des tragbaren Geräts.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen des Kalibrierungsvektors beim Erfassen der Pedalbetätigung in einem bestimmten Zeitraum.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Einleiten einer Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel, Erfassen einer Fahrzeugpedalbetätigung und dann, basierend auf einer Beschleunigung des tragbaren Geräts, Bestimmen eines Kalibrierungsvektors zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Bestimmen, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Einleiten der Kalibrierung, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das Folgendes aufweist: ein tragbares Gerät; Mittel zum Einleiten einer Kalibrierung basierend auf einer Stabilität eines tragbaren Geräts und einem Lenkradwinkel; Mittel zum Erfassen einer Fahrzeugpedalbetätigung; und Mittel zum Bestimmen eines Kalibrierungsvektors zwischen einem Koordinatensystem des tragbaren Geräts und einem Fahrzeugkoordinatensystem basierend auf einer Beschleunigung des tragbaren Geräts.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Mittel zum Bestimmen, dass das tragbare Gerät stabil ist, wenn eine Winkelgeschwindigkeit des tragbaren Geräts unter einem Schwellenwert liegt.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Mittel zum Einleiten der Kalibrierung, wenn der Lenkradwinkel unter einem Lenkschwellenwert liegt.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Mittel zum Bestimmen des Kalibrierungsvektors basierend auf einem Schwerkraftvektor und einem Kursvektor des tragbaren Geräts.