-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Verfahren, Systeme und Vorrichtungen zum Bestimmen eines Standorts eines Fahrzeugs oder Bildsensors auf Grundlage von einem Kamerabild und betrifft insbesondere Verfahren, Systeme und Vorrichtungen zum Bestimmen eines Fahrzeugstandortes auf Grundlage eines Bildes, das durch einen Sensor aufgenommen wurde, und einer Karte.
-
ALLGEMEINER STAND DER TECHNIK
-
Automobile stellen einen erheblichen Teil des Transports für gewerbliche, behördliche und private Einrichtungen bereit. Autonome Fahrzeuge und Fahrassistenzsysteme werden gegenwärtig entwickelt und eingesetzt, um Sicherheit bereitzustellen, eine Menge von erforderlicher Benutzereingabe zu verringern oder eine Benutzerbeteiligung sogar gänzlich zu eliminieren. Zum Beispiel können einige Fahrassistenzsysteme, wie beispielsweise Unfallvermeidungssysteme, die Fahrt, Positionen und eine Geschwindigkeit des Fahrzeugs und anderer Objekte überwachen, während ein Mensch fährt. Wenn das System detektiert, dass ein Unfall oder Zusammenstoß unmittelbar bevorsteht, kann das Unfallvermeidungssystem eingreifen und eine Bremse betätigen, das Fahrzeug lenken oder andere Ausweich- oder Sicherheitsmanöver durchführen. Als ein anderes Beispiel können autonome Fahrzeuge ein Fahrzeug mit wenig oder keiner Benutzereingabe fahren und navigieren. Genaue und schnelle Fahrzeugortung ist oftmals notwendig, um automatisierten Fahrsystemen oder Fahrassistenzsystemen zu ermöglichen, Straßen und Fahrstrecken sicher zu navigieren.
-
Figurenliste
-
Nicht einschränkende und nicht erschöpfende Umsetzungen der vorliegenden Offenbarung werden in Bezug auf die folgenden Figuren beschrieben, wobei sich in den verschiedenen Ansichten gleiche Bezugszeichen auf gleiche Teile beziehen, sofern nicht anderweitig angegeben. Vorteile der vorliegenden Offenbarung können unter Bezugnahme auf die folgende Beschreibung und beigefügten Zeichnungen besser nachvollzogen werden, in welchen Folgendes gilt:
- 1 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Fahrzeugsteuersystems veranschaulicht, welches ein automatisiertes Fahr-/Assistenzsystem beinhaltet;
- 2 veranschaulicht ein beispielhaftes LIDAR-Intensitätsbild gemäß einer Umsetzung;
- 3 ist ein schematisches Ablaufdiagramm, das ein Verfahren zur Ortung unter Verwendung eines Kamerabildes und einer LIDAR-Intensitätskarte gemäß einer Umsetzung veranschaulicht;
- 4 ist ein schematisches Ablaufdiagramm, das ein Verfahren zur Ortung unter Verwendung eines Kamerabildes und einer semantischen Vektorkarte (vektorbasierte semantische Karte) gemäß einer Umsetzung veranschaulicht;
- 5 veranschaulicht ein beispielhaftes projiziertes Bild von oben gemäß einer Umsetzung;
- 6 veranschaulicht eine beispielhafte Sammlung projizierter Bilder von oben gemäß einer Umsetzung;
- 7 ist ein schematisches Blockdiagramm, das Komponenten einer Ortungskomponente gemäß einer Umsetzung veranschaulicht;
- 8 ist ein schematisches Ablaufdiagramm, das ein Verfahren zur Ortung gemäß einer Umsetzung veranschaulicht; und
- 9 ist ein schematisches Blockdiagramm, das ein Rechensystem gemäß einer Umsetzung veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Die Ortung ist ein wichtiger Teil zum Ermöglichen und Verbessern des Betriebs von autonomen Fahrzeugen oder Fahrerassistenzmerkmalen. Zum Beispiel muss ein Fahrzeug genau wissen, wo es sich in der Welt (oder im Hinblick auf eine Karte) befindet, um sicher zu navigieren. Es besteht eine große Vielfalt gegenwärtiger Ansätze, um im Hinblick auf eine Weltkarte zu orten, aber diese erfordern eine wesentliche Menge von Berechnungen, um dies zu erreichen, oder benötigen das Verwenden von teuren leistungsintensiven Sensoren, wie etwa LIDAR(Lichterfassung und Entfernungsmessung)-Sensoren.
-
Anmelder haben Systeme, Verfahren und Vorrichtungen zur Ortung von Fahrzeugen oder zu anderen Zwecken entwickelt, die möglicherweise keinen aktiven LIDAR-Sensor benötigen. Gemäß einer Ausführungsform beinhaltet ein System zum Bestimmen einer Position eines Fahrzeugs einen Bildsensor, eine Komponente zur Ansicht von oben, eine Vergleichskomponente und eine Ortungskomponente. Der Bildsensor erhält das Bild einer Umgebung nahe einem Fahrzeug. Die Komponente zur Ansicht von oben ist ausgelegt, eine Ansicht von oben einer Bodenoberfläche auf Grundlage des Bildes von der Umgebung zu erzeugen. Die Vergleichskomponente ist ausgelegt, das Bild von oben mit einer Karte zu vergleichen, wobei die Karte eine Licht-LIDAR-Intensitätskarte von oben oder eine vektorbasierte semantische Karte umfasst. Die Standortkomponente ist ausgelegt, einen Standort des Fahrzeugs auf der Karte auf Grundlage des Vergleichs zu bestimmen.
-
In mindestens einem vorliegenden Ansatz der vorliegenden Offenbarung kann ein kamerabasiertes System an einem Fahrzeug verwendet werden, um das Fahrzeug im Hinblick auf eine vorherige erzeugte oder erhaltene Karte zu orten. Die vorherige Karte kann eine vektorbasierte semantische Karte sein, die Informationen enthält, wie die Standorte von Spurlinien und anderen Straßenmarkierungen. Ein Beispiel einer vektorbasierten semantischen Karte ist die Straßennetzwerkfestlegungsdatei (Road Network Definition File - RNDF), die vom Defense Advanced Research Projects Agency (DARPA) für das Projekt Urban Challenge bereitgestellt wurde. Die vorherige Karte kann eine LIDAR-Intensitätskarte der Bodenebene beinhalten. Die vorherige Karte kann mit einem projizierten Bild von oben verglichen werden, das auf Grundlage eines aufgenommenen Kamerabildes erzeugt wurde.
-
Das projizierte Bild von oben kann durch Aufteilen einer Bodenebene im Bild erzeugt oder entnommen werden. Die Bodenebene kann unter Verwendung eines Bildpaares (wie etwa von zwei Kameras oder von einer einzelnen Kamera zu verschiedenen Zeitpunkten) unter Verwendung eines Stichprobenübereinstimmungs(Random Sample Consensus - RANSAC)algorithmus aufgeteilt werden, um die Bodenebene zu bestimmen. Das Bildpaar stellt einen Satz von Punkten im dreidimensionalen Raum bereit. Eine Vielzahl von zufällig ausgewählten Hypothesen der Bodenebene können bewertet werden, um die Hypothesen mit dem besten Satz von Nicht-Ausreißern zu finden.
-
In einer Ausführungsform wird außerdem ein Bild aus der Karte entnommen. Für eine Vektorkarte kann ein synthetisches Bild erzeugt werden, auf dem der Straßenbelag dunkel und Straßenmarkierungen (wie etwa gemalte Linien) hell sind. In einer Ausführungsform kann eine LIDAR-Intensitätskarte direkt verglichen werden, ohne ein synthetisches Bild zu erzeugen, da Straßenbeläge im Allgemeinen nicht reflektierend sind und Spurfarbe oder andere Spurmarkierungen im Allgemeinen stark reflektierend sind. Ein Vorgang zum Vergleichen von zwei Bildern (das von der Kamera stammende Bild und das von der Karte stammende Bild) kann durch das Berechnen einer Bewertung für die Übereinstimmung zwischen unterschiedlichen relativen Positionen unter Verwendung einer Methode, wie etwa Informationsaustausch, oder durch das Verwenden von Bildvergleichsmethoden erfolgen, die direkt eine am besten passende relative Position bereitstellen.
-
Eine oder mehrere hierin offenbarte Ausführungsformen stellen erhebliche Vorteile gegenüber vorher verfügbaren Technologien bereit. Zum Beispiel verwendet mindestens eine Ausführungsform Kamerainformationen, um die Ortung zu übernehmen, im Gegensatz zu vielen Ortungsansätzen, die gegenwärtig verwendet werden, die aktive LIDAR-Sensoren verwenden. Als passive Sensoren sind Kameras, viel günstiger, kleiner, leichter und weniger leistungsintensiv als ein aktiver Sensor, wie etwa LIDAR-Sensoren.
-
Andere verfügbare kamerabasierte Ortungsansätze wandeln die vorherige Karte für alle Hypothesenpositionen in das Einzelbild des einzelnen Kamerabildes um. Zum Beispiel erörtern die Folgenden Ansätze, die eine Karte auf ein Kameraeinzelbild projizieren: Miller et al. 2011 Journal of Field Robotics „Map-Aided Localization in Sparse Global Positioning System Environments Using Vision and Particle Filtering“; • Wolcott and Eustice 2014 „Visual Localization within LIDAR Maps for Automated Urban Driving“; Pink 2008 „Visual Map Matching and Localization Using a Global Feature Map“; Pink et al. 2009 „Visual Features for Vehicle Localization and Ego-Motion Estimation“. Der folgende Ansatz verwendet Kamera-zu-Kamera-Übereinstimmung: Napier und Newman 2012 „Generation and Exploitation of Local Orthographie Imagery for Road Vehicle Localization“.
-
Das Umwandeln der vorherigen Karte in das Einzelbild des einzelnen Kamerabildes für alle Hypothesenpositionen ist rechnerisch kostspielig. Mindestens ein hierin offenbarter Ansatz projiziert das Kamerabild in eine Ansicht von oben und somit ist lediglich eine Umwandlung oder Projektion erforderlich. Die Erzeugung der Ansicht von oben kann einen etwas größeren Anteil an Vorabberechnungskosten erfordern, kann dann aber erheblich weniger Kosten erfordern, um die Hypothesenmessungen zu erzeugen, da die Karte schon in einem Einzelbild von oben ist. Somit werden Kartenumwandlungen in hypothetisch gebildete Kameraeinzelbilder an unterschiedlichen Standorten der Karte vermieden. Anmelder haben erkannt, dass für die meisten Ansätze das Erzeugen der Hypothesenmessungen den größten Rechenaufwand benötigt, so dass das Erzeugen eines Bildes von oben die Ortung mit weniger Rechenaufwand ermöglichen wird, genauso wie ein günstiger, weniger leistungsintensiver Sensor als LIDAR-Ansätze.
-
Weitere Ausführungsformen und Beispiele werden in Bezug auf die nachstehenden Figuren erörtert.
-
Nun wird auf die Figuren Bezug genommen, wobei 1 ein beispielhaftes Fahrzeugsteuersystem 100 veranschaulicht, das zur automatischen Lokalisierung eines Fahrzeugs verwendet werden kann. Das automatisierte Fahr-/Assistenzsystem 102 kann verwendet werden, um den Betrieb eines Fahrzeugs zu automatisieren oder zu steuern oder einen menschlichen Fahrer zu unterstützen. Das automatisierte Fahr-/Assistenzsystem 102 kann zum Beispiel eines oder mehrere von der Bremsung, der Lenkung, der Beschleunigung, den Lichtern, den Warnmeldungen, den Fahrerbenachrichtigungen, dem Radio oder beliebigen weiteren Hilfssystemen des Fahrzeugs steuern. In einem weiteren Beispiel ist das automatisierte Fahr-/Assistenzsystem 102 unter Umständen nicht in der Lage, jegliche Steuerung des Fahrens (z. B. der Lenkung, Beschleunigung oder Bremsung) bereitzustellen, kann jedoch Benachrichtigungen und Warnmeldungen bereitstellen, um einen menschlichen Fahrer darin zu unterstützen, sicher zu fahren. Das automatisierte Fahr-/Assistenzsystem 102 kann ein neuronales Netzwerk oder ein anderes Modell oder einen anderen Algorithmus zum Detektieren oder Lokalisieren von Objekten basierend auf Wahrnehmungsdaten verwenden, die durch einen oder mehrere Sensoren gesammelt wurden.
-
Das Fahrzeugsteuersystem 100 beinhaltet ebenfalls ein/e oder mehrere Sensorsysteme/-vorrichtungen zum Detektieren eines Vorhandenseins von Objekten in der Nähe oder innerhalb eines Sensorbereichs eines Stammfahrzeugs (z. B. eines Fahrzeugs, welches das Fahrzeugsteuersystem 100 beinhaltet). Das Fahrzeugsteuersystem 100 kann zum Beispiel ein oder mehrere Radarsysteme 106, ein oder mehrere LIDAR-Systeme 108, ein oder mehrere Kamerasysteme 110, ein globales Positionsbestimmungssystem (global positioning system - GPS) 112 und/oder ein oder mehrere Ultraschallsysteme 114 beinhalten. Das Fahrzeugsteuersystem 100 kann einen Datenspeicher 116 zum Speichern relevanter oder nützlicher Daten zur Navigation und Sicherheit beinhalten, wie etwa Kartendaten, Fahrverlauf oder sonstige Daten. Das Fahrzeugsteuersystem 100 kann zudem einen Sendeempfänger 118 zur drahtlosen Kommunikation mit einem mobilen oder drahtlosen Netzwerk, anderen Fahrzeugen, Infrastruktur oder einem beliebigen anderen Kommunikationssystem beinhalten.
-
Das Fahrzeugsteuersystem 100 kann Fahrzeugsteuerungsaktoren 120 beinhalten, um verschiedene Aspekte des Fahrens des Fahrzeugs zu steuern, wie beispielsweise Elektromotoren, Schalter oder andere Aktoren, um die Bremsung, Beschleunigung, Lenkung oder dergleichen zu steuern. Das Fahrzeugsteuersystem 100 kann außerdem eine(n) oder mehrere Anzeigen 122, Lautsprecher 124 oder andere Vorrichtungen beinhalten, sodass einem menschlichen Fahrer oder Fahrgast Benachrichtigungen bereitgestellt werden können. Eine Anzeige 122 kann eine Frontanzeige, eine Anzeige oder eine Angabe am Armaturenbrett, einen Bildschirm oder eine beliebige andere visuelle Angabe beinhalten, die von einem Fahrer oder einem Fahrgast eines Fahrzeugs gesehen werden kann. Die Lautsprecher 124 können einen oder mehrere Lautsprecher eines Soundsystems eines Fahrzeugs beinhalten oder können einen für die Fahrerbenachrichtigung vorgesehenen Lautsprecher beinhalten.
-
Es versteht sich, dass die Ausführungsform aus 1 lediglich als Beispiel dient. Andere Ausführungsformen können weniger oder zusätzliche Komponenten beinhalten, ohne vom Schutzumfang der Offenbarung abzuweichen. Des Weiteren können veranschaulichte Komponenten ohne Beschränkung kombiniert oder in andere Komponenten eingeschlossen werden.
-
In einer Ausführungsform ist das automatisierte Fahr-/Assistenzsystem 102 dazu konfiguriert, das Fahren oder Navigieren eines Stammfahrzeugs zu steuern. Beispielsweise kann das automatisierte Fahr-/Assistenzsystem 102 die Fahrzeugsteuerungsaktoren 120 steuern, um einen Weg auf einer Straße, einem Parkplatz, einer Einfahrt oder an einem anderen Ort zu fahren. Beispielsweise kann das automatisierte Fahr-/Assistenzsystem 102 einen Weg auf Grundlage von durch eine beliebige der Komponenten 106-118 bereitgestellten Informationen oder Wahrnehmungsdaten bestimmen. Die Sensorsysteme/-vorrichtungen 106-110 und 114 können verwendet werden, um Echtzeitsensordaten zu erhalten, sodass das automatisierte Fahr-/Assistenzsystem 102 in Echtzeit einen Fahrer unterstützen oder ein Fahrzeug fahren kann.
-
In einer Ausführungsform beinhaltet das Fahrzeugsteuersystem 100 eine Ortungskomponente 104, um einen Standort des Fahrzeugs im Hinblick auf die Karte, die Fahrbahn oder dergleichen zu bestimmen. Zum Beispiel kann die Ortungskomponente 104 eine bordeigene Kamera verwenden, um das Fahrzeug im Hinblick auf eine vorherige erzeugte oder erhaltene Karte zu orten. In einer Ausführungsform kann die Ortungskomponente 104 dem Fahrzeugsteuersystem 100 ermöglichen, das Fahrzeug zu orten, ohne aktive Sensoren, wie etwa LIDAR oder Radar, zu verwenden, die Energie an die Umgebung abstrahlen und Reflexionen erfassen. Die Karte kann eine vektorbasierte semantische Karte oder eine LIDAR-Intensitätskarte beinhalten. Ein projiziertes Bild von oben, das von der Kamera abgeleitet wurde, wird erzeugt und entweder mit einer vorher angefertigten Vektor- oder einer LIDAR-Intensitätskarte verglichen. Der Vergleichsprozess kann durch das Verwenden von Methoden wie Informationsaustausch oder durch Vergleichsmethoden erfolgen, die eine am besten passende relative Position bereitstellen.
-
2 veranschaulicht ein beispielhaftes LIDAR-Intensitätsbild 200, das als eine Karte oder als Teil einer Karte verwendet werden kann. Zum Beispiel kann das LIDAR-Intensitätsbild Teil einer vorher erhaltenen Luftaufnahme oder einer LIDAR-Ansicht von oben von Fahrbahnen sein, die als eine Karte zum Orten eines Fahrzeugs verwendet werden können. Wie veranschaulicht, können die LIDAR-Intensitätsdaten einen starken Kontrast zwischen Straßenbelägen und Spurmarkierungen bereitstellen, wie etwa die veranschaulichten Spurmarkierungen.
-
3 ist ein schematisches Blockdiagramm, das ein Verfahren 300 zur Ortung unter Verwendung eines Kamerabildes und einer LIDAR-Intensitätskarte veranschaulicht. Das Verfahren 300 kann durch eine Ortungskomponente oder anderes System, wie etwa die Ortungskomponente 104 oder das automatisierte Fahr-/Assistenzsystem 102 aus 1, durchgeführt werden. Die Ortungskomponente 104 kann ein Kamerabild und/oder eine LIDAR-Intensitätskarte empfangen. Das Kamerabild kann ein Bild beinhalten, das von einer Kamera eines Stammfahrzeugs aufgenommen wurde. Die LIDAR-Intensitätskarte kann eine Karte zum Orten des Fahrzeugs innerhalb eines konkreten geografischen oder anderen Standorts beinhalten.
-
Die Ortungskomponente 104 entnimmt 302 ein Bild von oben vom Kamerabild. Zum Beispiel kann die Ortungskomponente 104 eine Bodenebene oder Fahroberfläche aus dem Kamerabild entnehmen. Das Entnehmen der Bodenebene kann das Identifizieren von Bildpunkten oder Bereichen innerhalb des Kamerabildes einschließen, die der Bodenebene oder Fahroberfläche entsprechen. Zum Beispiel kann die Bodenebene oder Fahroberfläche unter Verwendung eines RANSAC-Algorithmus auf Grundlage des Kamerabildes und eines weiteren Kamerabildes identifiziert werden (wie etwa ein Bild, das von einer anderen Kamera aufgenommen wurde, oder ein früheres oder späteres Bild, das von derselben Kamera aufgenommen wurde). Die Ortungskomponente kann dann das Bild von oben durch Projizieren der Bodenebene oder Fahroberfläche als Bild von oben erzeugen. Zum Beispiel kann die Bodenebene oder Fahroberfläche verzerrt oder gedreht werden, um eine Ansicht von oben der Bodenebene oder Fahroberfläche zu erzeugen. Das sich ergebende Bild von oben oder die Ansicht von oben kann eine Ansicht von oben der Fahrbahndecke oder nur der Fahroberfläche sein.
-
Die Ortungskomponente 104 kann Kartendaten entnehmen 304, die einen Bereich beinhalten, in dem sich das Fahrzeug befindet. Zum Beispiel kann die Ortungskomponente 104 einen ungefähren Standort für die Kamera/das Fahrzeug unter Verwendung eines GPS-Empfängers, des Standorts des drahtlosen Netzwerks oder dergleichen bestimmen. Auf Grundlage des ungefähren Standorts kann die Ortungskomponente 104 einen örtlichen Bereich einer Karte (wie etwa einer LIDAR-Intensitätskarte) als ein Bild zur Ortung auswählen oder entnehmen. Die Ortungskomponente 104 kann Kartendaten für einen Bereich einer Fahrbahn entnehmen, in dem sich das Fahrzeug befindet.
-
Die Ortungskomponente 104 vergleicht 306 mit der entnommenen Ansicht von oben und dem örtlichen Bereich der LIDAR-Intensitätskarte die Bilder, um einen Standort des Fahrzeugs oder der Kamera zu bestimmen. Die Ortungskomponente 104 vergleicht 306 das entnommene Bild von oben (Ansicht von oben) mit unterschiedlichen Standorten oder relativen Positionen innerhalb der LIDAR-Intensitätskarte. Die Ortungskomponente 104 kann die verschiedenen Standorte im Bild unter Verwendung eines Informationsaustauschalgorithmus oder anderen Algorithmus vergleichen, um die größte Ähnlichkeit oder die beste relative Position zwischen der Bodenebene und der Karte zu finden. Nach dem Vergleichen 306 kann das Ergebnis eine relative Position des Kamerabildes zur LIDAR-Intensitätskarte sein, welche die Position des Fahrzeugs anzeigt.
-
4 ist ein schematisches Blockdiagramm, das ein Verfahren 400 zur Ortung unter Verwendung eines Kamerabildes und einer semantischen Vektorkarte veranschaulicht. Das Verfahren 400 kann durch eine Ortungskomponente oder anderes System, wie etwa die Ortungskomponente 104 oder das automatisierte Fahr-/Assistenzsystem 102 aus 1, durchgeführt werden. Die Ortungskomponente 104 kann ein Kamerabild und/oder eine semantische Vektorkarte empfangen. Das Kamerabild kann ein Bild beinhalten, das von einer Kamera eines Stammfahrzeugs aufgenommen wurde. Die semantische Vektorkarte kann eine Karte zum Orten des Fahrzeugs innerhalb eines konkreten geografischen oder anderen Standorts beinhalten.
-
Die Ortungskomponente 104 entnimmt 402 ein Bild von oben vom Kamerabild. Zum Beispiel kann die Ortungskomponente 104 eine Bodenebene oder Fahroberfläche aus dem Kamerabild entnehmen. Das Entnehmen der Bodenebene kann das Identifizieren von Bildpunkten oder Bereichen innerhalb des Kamerabildes einschließen, die der Bodenebene oder Fahroberfläche entsprechen. Zum Beispiel kann die Bodenebene oder Fahroberfläche unter Verwendung eines RANSAC-Algorithmus auf Grundlage des Kamerabildes und eines weiteren Kamerabildes identifiziert werden (wie etwa ein Bild, das von einer anderen Kamera aufgenommen wurde, oder ein früheres oder späteres Bild, das von derselben Kamera aufgenommen wurde). Die Ortungskomponente 104 kann dann das Bild von oben durch Projizieren der Bodenebene oder Fahroberfläche als Bild von oben erzeugen. Zum Beispiel kann die Bodenebene oder Fahroberfläche verzerrt oder gedreht werden, um eine Ansicht von oben der Bodenebene oder Fahroberfläche zu erzeugen/zu simulieren. Das sich ergebende Bild von oben oder die Ansicht von oben kann eine Ansicht von oben der Fahrbahndecke oder nur der Fahroberfläche sein.
-
Die Ortungskomponente 104 kann Kartendaten entnehmen 404, die einen Bereich beinhalten, in dem sich das Fahrzeug befindet. Zum Beispiel kann die Ortungskomponente 104 einen ungefähren Standort für die Kamera/das Fahrzeug unter Verwendung eines GPS-Empfängers, des Standorts des drahtlosen Netzwerks oder dergleichen bestimmen. Auf Grundlage des ungefähren Standorts kann die Ortungskomponente 104 einen örtlichen Bereich einer Karte (wie etwa der semantischen Vektorkarte) als ein Bild zur Ortung auswählen oder entnehmen. Die Ortungskomponente 104 kann Kartendaten für einen Bereich einer Fahrbahn entnehmen, in dem sich das Fahrzeug befindet. Die Ortungskomponente 104 kann Straßenmarkierungen, wie etwa Farblinien, für den Abschnitt der semantischen Vektorkarte entnehmen.
-
Die Ortungskomponente 104 erzeugt 408 ein synthetisches Bild auf Grundlage der semantischen Vektorkarte (oder des entnommenen Abschnitts der Vektorkarte). In einer Ausführungsform erzeugt die Ortungskomponente 104 das synthetische Bild durch das Einfärben von Bereichen, die den Spurmarkierungen (z. B. Farblinien) entsprechen, in einer hellen Farbe, und von Bereichen, die dem Straßenbelag (z. B. Fahrbahndecke) entsprechen, in einer dunklen Farbe. Zum Beispiel können Spurlinien weiß oder hellgrau sein und der Straßenbelag kann schwarz oder dunkelgrau sein.
-
Die Ortungskomponente 104 vergleicht 406 mit der entnommenen Ansicht von oben und dem synthetischen Bild des örtlichen Bereichs der semantischen Vektorkarte die Bilder, um einen Standort des Fahrzeugs oder der Kamera zu bestimmen. Die Ortungskomponente 104 vergleicht 406 das entnommene Bild von oben (Ansicht von oben) mit unterschiedlichen Standorten oder relativen Positionen innerhalb des synthetischen Bildes. Die Ortungskomponente 104 kann die verschiedenen Standorte im Bild unter Verwendung eines Informationsaustauschalgorithmus oder anderen Algorithmus vergleichen, um die größte Ähnlichkeit oder die beste relative Position zwischen der Bodenebene und der Karte zu finden. Nach dem Vergleichen 406 kann das Ergebnis eine relative Position des Kamerabildes zur LIDAR-Intensitätskarte sein, welche die Position des Fahrzeugs anzeigt.
-
5 veranschaulicht ein Bild von oben, das durch das Projizieren eines Kamerabildes als eine Ansicht von oben erzeugt wurde. Zum Beispiel kann das ursprüngliche Kamerabild rechteckig gewesen sein, und das Bild wurde verzerrt, um ein projiziertes Bild von oben zu erzeugen. 6 veranschaulicht eine gesammelte Ansicht einer Vielzahl von Bildern von oben. Zum Beispiel einer Vielzahl von im Laufe der Zeit aufgenommenen Bildern von verschiedenen Kameras, diese als Bilder von oben projiziert und zusammengefügt oder übereinandergelegt, um die gesammelte Ansicht zu erzeugen. Während des Vergleichs können entweder ein einzelnes Bild von oben oder ein gesammeltes Bild von oben mit der Karte verglichen werden (synthetisches Bild einer semantischen Vektorkarte oder LIDAR-Intensitätsdaten).
-
Unter Bezugnahme auf 7 wird ein schematisches Blockdiagramm gezeigt, das Komponenten einer Ortungskomponente 104 gemäß einer Ausführungsform veranschaulicht. Die Ortungskomponente 104 kann das Fahrzeug auf einer Karte oder im Hinblick auf Markierungen auf einer Fahrbahn oder auf eine Fahrbahn orten, gemäß einer beliebigen Ausführungsform oder Funktion, die hierin erörtert wurde. Die Ortungskomponente 104 beinhaltet eine Komponente zur Ansicht von oben 702, eine Vergleichskomponente 704 und eine Standortkomponente 706. Die Komponenten 702-706 dienen lediglich zur Veranschaulichung und es kann sein, dass nicht alle in allen Ausführungsformen enthalten sind. Tatsächlich können einige Ausführungsformen lediglich eine oder eine beliebige Kombination aus zwei oder mehreren der Komponenten 702-706 beinhalten. Zum Beispiel können sich einige der Komponenten außerhalb oder getrennt von der Ortungskomponente 104 befinden.
-
Die Komponente zur Ansicht von oben 702 ist ausgelegt, eine Ansicht von oben einer Bodenoberfläche oder Fahroberfläche auf Grundlage eines Kamerabildes, das von einem Bildsensor an einem Fahrzeug aufgenommen wurde, zu erzeugen. Zum Beispiel kann ein Kamerasystem 110 des Fahrzeugsteuersystem 100 ein Bild einer Umgebung nahe dem Fahrzeug aufnehmen, wie etwa vor, seitlich von oder hinter dem Fahrzeug. Die Komponente zur Ansicht von oben 702 kann eine Ansicht von oben der Bodenoberfläche oder Fahroberfläche innerhalb des Fahrzeugs erzeugen. Zum Beispiel projiziert in einer Ausführungsform die Komponente zur Ansicht von oben 702 den Bodenoberflächenabschnitt des Bildes der tatsächlichen Ansicht (z. B. eine horizontale oder nichtvertikale Ausrichtung der Kamera) in eine Ansicht von oben (z. B. eine vertikal nach unten gerichtete Ansicht oder Luftaufnahme) des Bodenoberflächenabschnitts. In einer Ausführungsform teilt die Komponente zur Ansicht von oben 702 die Fahrebene oder Bodenebene des Bildes auf. Zum Beispiel kann die Komponente zur Ansicht von oben 702 Bildpunkte im Bild identifizieren, die einer Bodenoberfläche oder Fahroberfläche entsprechen. In einer Ausführungsform kann der RANSAC-Algorithmus verwendet werden, um Bildpunkte zu identifizieren, welche der Bodenoberfläche entsprechen. Die Bildpunkte, die dem Boden oder der Fahroberfläche entsprechen, können aus dem ursprünglichen Bild entnommen oder aufgeteilt werden. Zum Beispiel können alle Nicht-Boden-Bildpunkte durchsichtig gemacht werden.
-
Nach dem Bestimmen, welche Bildpunkte einem Boden oder einer Fahroberfläche entsprechen, kann die Komponente zur Ansicht von oben 702 diese Bildpunkte als Ansicht von oben projizieren. Zum Beispiel kann die ursprüngliche Kamera das Bild in einem horizontalen oder nahezu horizontalen Winkel aufgenommen haben. Die Komponente zur Ansicht von oben 702 kann die Bildpunkte als eine Ansicht von oben durch Verzerren, Drehen oder Strecken der Bildpunkte projizieren, die der Bodenoberfläche entsprechen, als wenn sie aus einem nach unten gerichteten Winkel aufgenommen worden wären. Zum Beispiel kann die Komponente zur Ansicht von oben 702 eine geschätzte Ansicht von oben der Fahrbahn oder Bodenoberfläche durch Projizieren der aufgeteilten Bildpunkte in eine nach unten gerichtete Ansicht erzeugen. In einer Ausführungsform ist ein Positionierungswinkel einer Kamera bekannt oder wird auf Grundlage eines Beschleunigungsmessers am Fahrzeug oder an der Kamera bestimmt. Eine Projektion kann dann die Bodenoberfläche aus dem ursprünglichen Winkel in einen vertikalen nach unten gerichteten Winkel projizieren. Somit kann das projizierte Bild eine Schätzung dessen sein, was sichtbar wäre, wenn eine Kamera oder dergleichen eine Luftaufnahme der Fahrbahn aufgenommen hätte.
-
Die Vergleichskomponente 704 ist ausgelegt, ein Bild von oben, das durch die Komponente zur Ansicht von oben 702 erzeugt wurde, mit einer Karte oder einem Bild auf Grundlage einer Karte zu vergleichen. In einer Ausführungsform beinhaltet die Karte eine vektorbasierte semantische Karte (semantische Vektorkarte). Die vektorbasierte semantische Karte kann Einzelheiten zu den Standorten und Entfernungen von Straßenmerkmalen beinhalten, wie etwa Straßenkanten, Spurlinien, Kreuzungen oder dergleichen. Die Vergleichskomponente 704 kann ein synthetisches Bild auf Grundlage der vektorbasierten semantischen Karte erzeugen, das dann mit dem projizierten Bild von oben verglichen werden kann, das durch die Komponente zur Ansicht von oben 702 erzeugt wurde. In einer Ausführungsform erzeugt die Vergleichskomponente 704 ein synthetisches Bild, das dunkle Bildpunkte für einen Straßenbelag und helle Bildpunkte für Straßenmarkierungen beinhaltet. Dieses synthetische Bild kann dem nahekommen, wie eine Fahrbahn mit Spurlinien aus einer Draufsicht oder auf einer Luftaufnahme aussehen würde. Die Vergleichskomponente 704 kann dann das Bild von oben mit der Karte durch Vergleichen des Bildes von oben mit dem synthetischen Bild vergleichen. In einer Ausführungsform beinhaltet die Karte LIDAR-Intensitätsdaten, die direkt mit dem Bild von oben verglichen werden können, ohne zuerst ein synthetisches Bild erzeugen zu müssen.
-
Die Vergleichskomponente 704 kann das Bild von oben mit der Karte (oder dem synthetischen Bild) unter Verwendung eines Informationsaustauschalgorithmus oder eines Algorithmus der größten Ähnlichkeit vergleichen. Die Vergleichskomponente 704 kann eine Bewertung berechnen, die eine Übereinstimmung zwischen einer Vielzahl von Positionen des Bildes von oben auf der Karte anzeigen. Zum Beispiel kann die Vergleichskomponente 704 das Bild von oben zufällig auf den LIDAR-Intensitätsdaten oder dem synthetischen Bild positionieren und eine Ähnlichkeitsbewertung des Bildes von oben und des Abschnitts der LIDAR-Intensitätsdaten oder des synthetischen Bildes berechnen, mit denen es sich überschneidet. Zum Beispiel ist die Bewertung höher, je ähnlicher die Lage der Grenzlinien, Bildpunktintensitäten oder dergleichen zwischen dem Bild von oben und den Kartendaten (LIDAR-Intensitätsdaten oder synthetisches Bild) sind. Durch das Berechnen für eine Vielzahl von verschiedenen Standorten können eine Anzahl verschiedener Bewertungen für die verschiedenen relativen Positionen des Bildes von oben und die Kartendaten erhalten werden.
-
Die Standortkomponente 706 ist ausgelegt, einen Standort des Fahrzeugs auf der Karte auf Grundlage des Vergleichs zu bestimmen. In einer Ausführungsform wählt die Standortkomponente 706 eine relative Position aus einer Vielzahl von relativen Positionen aus, die durch die Vergleichskomponente 704 verglichen wurden. Zum Beispiel kann die Standortkomponente 706 einen Standort auswählen, der die höchste Bewertung in einem Vergleich unter Verwendung des Informationsaustauschalgorithmus oder dem Algorithmus der größten Ähnlichkeit erzeugt hat.
-
8 ist ein schematisches Ablaufdiagramm, das ein Verfahren 800 zum Bestimmen eines Standorts eines Fahrzeugs veranschaulicht. Das Verfahren 800 kann von einer Ortungskomponente oder einem Fahrzeugsteuersystem, wie etwa der Ortungskomponente 104 aus 1 oder 7 oder dem Fahrzeugsteuersystem 100 aus 1, durchgeführt werden.
-
Das Verfahren 800 beginnt und ein Bildsensor, der auf einem Fahrzeug angebracht ist, erhält 802 ein Bild einer Umgebung nahe einem Fahrzeug unter Verwendung eines Bildsensors. Die Komponente zur Ansicht von oben 702 erzeugt 804 eine Ansicht von oben einer Bodenoberfläche auf Grundlage des Bildes von der Umgebung. Eine Vergleichskomponente 704 vergleicht 806 das Bild von oben mit einer Karte. Die Karte kann eine LIDAR-Intensitätskarte von oben (z. B. Luft-LIDAR) oder eine vektorbasierte semantische Karte beinhalten. Eine Standortkomponente 706 bestimmt 808 einen Standort des Fahrzeugs auf der Karte auf Grundlage des Vergleichs.
-
Nun wird unter Bezugnahme auf 9 ein Blockdiagramm einer beispielhaften Rechenvorrichtung 900 veranschaulicht. Die Rechenvorrichtung 900 kann verwendet werden, um verschiedene Verfahren, wie etwa die hierin erörterten, auszuführen. In einer Ausführungsform kann die Rechenvorrichtung 900 als eine Ortungskomponente 104, ein automatisiertes Fahr-/Assistenzsystem 102, ein Fahrzeugsteuersystem 100 oder dergleichen dienen. Die Rechenvorrichtung 900 kann verschiedene Überwachungsfunktionen, wie hierin erörtert, durchführen und kann eine oder mehrere Anwendungsprogramme, wie etwa die hierin beschriebenen Anwendungsprogramme oder Funktionalitäten, ausführen. Die Rechenvorrichtung 800 kann eine beliebige aus einer Reihe von Rechenvorrichtungen, wie beispielsweise ein Desktop-Computer, ein eingebauter Computer, ein Fahrzeugsteuersystem, ein Notebook-Computer, ein Server-Computer, ein tragbarer Computer, Tablet-Computer und dergleichen, sein.
-
Die Rechenvorrichtung 900 beinhaltet einen oder mehrere Prozessor(en) 902, eine oder mehrere Speichervorrichtung(en) 904, eine oder mehrere Schnittstelle(n) 906, eine oder mehrere Massenspeichervorrichtung(en) 908, eine oder mehrere Ein-/Ausgabe(E/A)-Vorrichtung(en) 910 und eine Anzeigevorrichtung 930, die alle an einen Bus 912 gekoppelt sind. Der/Die Prozessor(en) 902 beinhaltet/beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, der/die in der/den Speichervorrichtung(en) 904 und/oder der/den Massenspeichervorrichtung(en) 908 gespeicherte Anweisungen ausführen. Der/Die Prozessor(en) 902 kann/können zudem verschiedene Arten von computerlesbaren Medien beinhalten, wie etwa Cache-Speicher.
-
Die Speichervorrichtung(en) 904 beinhaltet/beinhalten verschiedene computerlesbare Medien, wie etwa flüchtigen Speicher (z. B. Direktzugriffsspeicher (random access memory - RAM) 914) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (read-only memory - ROM) 916). Die Speichervorrichtung(en) 904 kann/können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
-
Die Massenspeichervorrichtung(en) 908 beinhaltet/beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 9 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 924. Zudem können verschiedene Laufwerke in der/den Massenspeichervorrichtung(en) 908 enthalten sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 908 beinhaltet/beinhalten entfernbare Medien 926 und/oder nicht entfernbare Medien.
-
Die E/A-Vorrichtung(en) 910 beinhaltet/beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 900 eingegeben oder daraus abgerufen werden. (Eine) Beispielhafte E/A-Vorrichtung(en) 910 beinhaltet/beinhalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzschnittstellenkarten, Modems und dergleichen.
-
Die Anzeigevorrichtung 930 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 900 Informationen anzuzeigen. Zu Beispielen für eine Anzeigevorrichtung 930 gehören ein Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
-
Die Schnittstelle(n) 906 beinhaltet/beinhalten verschiedene Schnittstellen, die es der Rechenvorrichtung 900 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. (Eine) Beispielhafte Schnittstelle(n) 906 kann/können eine beliebige Anzahl von unterschiedlichen Netzwerkschnittstellen 920, wie beispielsweise Schnittstellen zu lokalen Netzen (LANs), Großraumnetzen (WANs), drahtlosen Netzen und dem Internet, beinhalten. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 918 und eine Peripherievorrichtungsschnittstelle 922. Die Schnittstelle(n) 906 kann/können ebenfalls eine oder mehrere Benutzerschnittstellenelemente 918 beinhalten. Die Schnittstelle(n) 906 kann/können ebenfalls eine oder mehrere periphere Schnittstellen, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Touchpad oder eine beliebige geeignete Benutzerschnittstelle, die dem Durchschnittsfachmann jetzt bekannt ist oder später entdeckt wird), Tastaturen und dergleichen, beinhalten.
-
Der Bus 912 ermöglicht es dem/den Prozessor(en) 902, der/den Speichervorrichtung(en) 904, der/den Schnittstelle(n) 906, der/den Massenspeichervorrichtung(en) 908 und der/den E/A-Vorrichtung(en) 910 miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 912 gekoppelt sind, zu kommunizieren. Der Bus 912 stellt eine oder mehrere von verschiedenen Arten von Busstrukturen dar, wie beispielsweise einen Systembus, PCI-Bus, IEEE-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 900 befinden können, und werden durch den/die Prozessor(en) 902 ausgeführt. Alternativ können die hier beschriebenen Systeme und Vorgänge in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der hier beschriebenen Systeme und Vorgänge ausführen.
-
Beispiele
-
Die folgenden Beispiele betreffen weitere Ausführungsformen.
-
Beispiel 1 ist ein Verfahren zur Ortung. Das Verfahren beinhaltet das Erhalten eines Bildes einer Umgebung unter Verwendung eines Bildsensors. Das Verfahren beinhaltet das Erzeugen einer Ansicht von oben einer Bodenoberfläche auf Grundlage des Bildes von der Umgebung. Das Verfahren vergleicht das Bild von oben mit einer Karte, wobei die Karte eine LIDAR-Intensitätskarte von oben oder eine vektorbasierte semantische Karte beinhaltet. Das Verfahren beinhaltet das Bestimmen eines Standorts des Bildsensors auf der Karte auf Grundlage des Vergleichs.
-
In Beispiel 2 beinhaltet das Verfahren aus Beispiel 1 ferner das Aufteilen der Fahrebene oder Bodenebene vom Bild und das Projizieren des Bildes als ein Bild von oben, um die Ansicht von oben zu erzeugen.
-
In Beispiel 3 beinhaltet das Erhalten des Bildes wie in einem beliebigen der Beispiele 1-2 das Aufnehmen des Bildes unter Verwendung des Bildsensors, wobei der Bildsensor an einem Fahrzeug angebracht ist.
-
In Beispiel 4 beinhaltet die Karte aus einem beliebigen der Beispiele 1-3 die vektorbasierte semantische Karte, wobei das Verfahren ferner das Erzeugen eines synthetischen Bildes beinhaltet.
-
In Beispiel 5 kann beinhaltet das Vergleichen des Bildes von oben mit der Karte wie in Beispiel 4 das Vergleichen des Bildes von oben mit dem synthetischen Bild.
-
In Beispiel 6 beinhaltet das Erzeugen des synthetischen Bildes aus Beispiel 4 das Erzeugen eines synthetischen Bildes, das dunkle Bildpunkte für einen Straßenbelag und helle Bildpunkte für Straßenmarkierungen beinhaltet.
-
In Beispiel 7 beinhaltet das Vergleichen des Bildes von oben mit der Karte nach einem beliebigen der Beispiele 1-6 das Vergleichen unter Verwendung von einem oder mehreren aus einem Informationsaustauschalgorithmus oder einem Algorithmus der größten Ähnlichkeit.
-
In Beispiel 8 beinhaltet das Vergleichen des Bildes von oben mit der Karte nach einem beliebigen der Beispiele 1-7 das Berechnen einer Bewertung für eine Vielzahl von relativen Positionen und das Auswählen einer relativen Position.
-
Beispiel 9 ist ein computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, ein Verfahren wie in einem beliebigen der Beispiele 1-8 umzusetzen.
-
Beispiel 9 ist ein System oder eine Vorrichtung, das/die Mittel zum Umsetzen eines Verfahrens oder Realisieren eines Systems oder einer Vorrichtung in einem beliebigen der Beispiele 1-9 beinhaltet.
-
In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon 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“ etc. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht notwendigerweise jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, es im Bereich des Fachwissens des Fachmanns liegt, ein derartiges Merkmal, eine derartige Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen zu bewirken, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Umsetzungen der hierin offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie etwa zum Beispiel einen oder mehrere Prozessoren und einen oder mehrere Systemspeicher, wie hierin erörtert. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische Datenträger 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 werden, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Daher 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. basierend auf RAM), Flash-Speicher, Phasenänderungsspeicher (phase-change memory - PCM), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschten 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 hierin offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ 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 ordnungsgemäß als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die verwendet werden können, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu übertragen und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus den Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien beinhaltet sein.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung an einem Prozessor einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Zwischenformatanweisungen, wie etwa Assemblersprache, oder auch Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben wurde, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht notwendigerweise 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 Computersystemauslegungen angewendet werden kann, einschließlich eines Armaturenbrett-Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichervorrichtungen und dergleichen. Die Offenbarung kann zudem in Umgebungen mit verteilten Systemen angewendet werden, in denen sowohl lokale Computersysteme als auch Remotecomputersysteme, 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 Fernspeichervorrichtungen befinden.
-
Ferner können die hierin beschriebenen Funktionen gegebenenfalls in einem oder mehreren der folgenden ausgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analoge Komponenten. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der hier beschriebenen Systeme und Vorgänge ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Die Begriffe „Module“ und „Komponenten“ werden in den Bezeichnungen von bestimmten Komponenten verwendet, um ihre Umsetzungsunabhängigkeit in Software, Hardware, Schaltungen, Sensoren und dergleichen wiederzugeben. Der Fachmann wird verstehen, dass auf Komponenten durch unterschiedliche Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch von der Funktion her.
-
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 auszuführen. Ein Sensor kann zum Beispiel Computercode einschließen, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung einschließen, 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 wurden Computerprogrammprodukten zugeführt, die eine solche Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Solche Software veranlasst bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen eine Vorrichtung dazu, wie hier beschrieben zu arbeiten.
-
Während vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele und nicht als Einschränkung dienen. Für den einschlägigen Fachmann wird ersichtlich, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Daher sollen die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollen lediglich in Übereinstimmung mit 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 konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorangehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
-
Ferner soll die Offenbarung, auch wenn spezifische Umsetzungen der Offenbarung beschrieben und dargestellt wurden, nicht auf die somit beschriebenen und dargestellten spezifischen Formen oder Anordnungen der Teile beschränkt werden. Der Umfang der Offenbarung ist durch die hieran beigefügten Patentansprüche, jegliche zukünftigen hier beantragten Patentansprüche und in verschiedenen Anwendungen und deren Äquivalenten zu definieren.