-
HINTERGRUND
-
Sensoren werden in Fahrzeugen eingesetzt, um Straßenmerkmale, wie beispielsweise Spurmarkierungen, zu detektieren. Diese Sensoren können einen Bediener unterstützen, die Fahrsicherheit zu verbessern, beispielsweise einen unbeabsichtigten Spurwechsel verhindern. Alternativ sind diese Sensoren in einem halbautonomen oder in einem autonomen Fahrzeug mit begrenzter Überwachung oder ohne Überwachung des Fahrzeugbetriebs durch Fahrzeuginsassen einsetzbar, um die Position von Spurmarkierungen bezogen auf das Fahrzeug auf der Straße zu bestimmen. Fahrzeugsensoren stellen jedoch nicht immer angemessene Daten zum Identifizieren von Spurmarkierungen bereit, beispielsweise aufgrund von Sensorfehlern, Umgebungsbedingungen usw.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm eines beispielhaften Systems zum Identifizieren von Spurmarkierungen für ein erstes Fahrzeug.
-
2 ist ein Diagramm, das mehrere Fahrzeuge in mehreren Spuren im Kontext des Systems aus 1 zeigt.
-
3 ist ein Flussdiagramm eines beispielhaften Prozesses zum Erzeugen einer Spurkarte.
-
4 ist ein Flussdiagramm eines beispielhaften Prozesses zum Definieren von Fahrzeugclustern.
-
5 ist ein Flussdiagramm eines beispielhaften Prozesses zum Identifizieren von Spurbegrenzungen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Einführung
-
1 stellt ein beispielhaftes Spuridentifizierungssystem 100 dar. Ein Computer 112 in einem ersten Fahrzeug 110 (mitunter der Einfachheit halber als „Host”-Fahrzeug 110 bezeichnet) umfasst einen Prozessor und einen Speicher, wobei der Speicher Anweisungen speichert, sodass der Prozessor für verschiedene Vorgänge, einschließlich der hier beschriebenen, programmiert ist. Der Computer 112 kann beispielsweise von einem Fahrzeugsensor 111 Daten über mehrere zweite Fahrzeuge 120 empfangen, zwei oder mehr Fahrzeugcluster L1, L2, L3 (siehe 2) basierend auf Positionsdaten zweiter Fahrzeuge 120 definieren, wobei jedes Cluster zwei oder mehr der zweiten Fahrzeuge 120, die als in einer selben Spur fahrend bestimmt wurden, beinhaltet, zwei oder mehr Spurbegrenzungen 201, 202, 203 gemäß den Clustern L1, L2, L3 identifizieren und die Spurbegrenzungen 201, 202, 203 verwenden, um eine Spurkarte zu erzeugen.
-
Die Spurkarte beschreibt jeweilige Positionen der Spurbegrenzungen 201, 202, 203 entweder bezogen auf eine Position C0 des Fahrzeugs 110 oder basierend auf Geopositionskoordinaten, wie beispielsweise GPS-Breiten- und -Längenkoordinaten. Die Spurkarte kann mehrere diskrete Punkte beinhalten, die eine geschätzte Position einer Spurbegrenzung, beispielsweise der Begrenzung 201, darstellen. Ferner ist eine Kurvenanpassungstechnik verwendbar, um eine Kurve zwischen den mehreren diskreten Punkten anzupassen, beispielsweise eine Bezierkurven-Anpassformel. Die Spurkarte ist verwendbar, um einen Bediener des Fahrzeugs 110 vor einem unbeabsichtigten Spurwechsel zu warnen, ein Fahrzeug in einer Spur ohne Benutzerüberwachung zu navigieren oder diese Informationen über die Spurkarte anderen Fahrzeugen bereitzustellen, beispielsweise über eine Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstelle.
-
Beispielhafte Systemelemente
-
Das Fahrzeug 110 beinhaltet den Computer 112, der im Allgemeinen den Prozessor und den Speicher beinhaltet, wobei der Speicher eine oder mehrere Formen computerlesbarer Medien beinhaltet und Anweisungen speichert, die vom Prozessor zum Durchführen verschiedener Vorgänge, einschließlich der hier offenbarten, ausführbar sind. Der Computer 112 kann beispielsweise Programmierung beinhalten, um die Fahrzeugbremsen, den Vortrieb (z. B. die Steuerung der Beschleunigung im Fahrzeug 110 durch Steuern einer internen Brennkraftmaschine, eines Elektromotors und/oder eines Hybridmotors usw.), die Lenkung, die Klimaregelung und/oder die Innen- und/oder Außenbeleuchtung usw. zu bedienen und um zu bestimmen, ob und wann der Computer 112 im Gegensatz zu einem menschlichen Bediener diese Vorgänge steuern soll. Ferner kann der Computer 112 Programmierung beinhalten, um eine oder mehrere Spurbegrenzungen zu bestimmen und um Daten in Bezug auf das Bestimmen einer oder mehrerer Spurbegrenzungen zu empfangen und/oder um eine Spurbegrenzungsbestimmung von anderen Fahrzeugen 120 (d. h. von darin enthaltenen Computern) und/oder einem entfernten Computer 140 zu empfangen.
-
Der Computer 112 kann ein oder mehrere drahtgebundene oder drahtlose Kommunikationsnetzwerke beinhalten oder mit diesen kommunikativ gekoppelt sein, z. B. über einen Fahrzeugkommunikationsbus, Ethernet usw. Über ein Fahrzeugkommunikationsnetzwerk kann der Computer 112 Daten an bzw. von in das Fahrzeug 110 eingeschlossene(n) Steuerungen oder dergleichen zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten, z. B. elektronische(n) Steuereinheiten (ECUs), senden und empfangen. Bekanntermaßen kann eine ECU einen Prozessor und einen Speicher beinhalten und Anweisungen an Aktuatoren zum Steuern verschiedener Komponenten des Fahrzeugs 110 bereitstellen, z. B. können ECUs eine Antriebsstrang-ECU, eine Bremsen-ECU usw. beinhalten.
-
Allgemein kann der Computer 112 Nachrichten an verschiedene Vorrichtungen im Fahrzeug 110 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktuatoren, Sensoren usw., einschließlich der Sensoren 111, empfangen. Alternativ oder zusätzlich ist in Fällen, wo der Computer 112 tatsächlich mehrere Vorrichtungen umfasst, der Fahrzeugkommunikationsbus für Kommunikationsvorgänge zwischen Vorrichtungen, die in dieser Offenbarung als der Computer 112 repräsentiert sind, verwendbar.
-
Zusätzlich kann der Computer 112 zum Kommunizieren mit einem entfernten Computer 140, z. B. einem Cloud-Server, über ein Netzwerk 130, das verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien, z. B. Mobilfunk, BLUETOOTH®, drahtgebundene und/oder drahtlose paketgebundene Netzwerke usw., nutzen kann, ausgelegt sein.
-
Bezug nehmend auf 1 können die Sensoren 111 eine Vielzahl bekannter Vorrichtungen zum Bereitstellen von Daten an den Computer 112 beinhalten. Beispielsweise kann ein an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigter Radar Positionen der vor dem Fahrzeug 110 fahrenden zweiten Fahrzeuge 120 bezogen auf die Position des Fahrzeugs 110 bereitstellen. Als ein weiteres Beispiel können die Sensoren 111 einen im Fahrzeug 110 angeordneten GPS-Sensor (GPS – Global Positioning System) beinhalten, der geografische Koordinaten oder die Geoposition des Fahrzeugs 110 bereitstellt. Als ein weiteres Beispiel können die Sensoren 111 einen an einer Oberseite des Fahrzeugs 110 angeordneten LIDAR-Sensor (LIDAR – Light Detection And Ranging) beinhalten, der relative Positionen, Größen und Formen der das Fahrzeug 110 umgebenden zweiten Fahrzeuge 120, einschließlich der neben oder hinter dem Fahrzeug 110 fahrenden zweiten Fahrzeuge 120, bereitstellt. Die Sensoren 111 können eine Kamera, z. B. eine nach vorn weisende Kamera, die Bilder von einer Vorwärtsrichtung des Fahrzeugs 110 bereitstellt, beinhalten. Eine Datenverarbeitungsvorrichtung, beispielsweise der Computer 112, kann programmiert sein, Bilddaten von der Kamera zu empfangen, Bildverarbeitungstechniken zum Detektieren der Spurmarkierungen 201, 2020, 203 zu implementieren und die Spurkarte zu erzeugen. Die Kamera kann ein Bild oder Bilder eines oder mehrerer Objekte bereitstellen, beispielsweise kann die nach vorn weisende Kamera die zweiten Fahrzeuge 120 vor dem Fahrzeug 110 detektieren. Basierend auf Kamerabildern kann der Computer 112 einen relativen Abstand des Fahrzeugs 110 von einer oder mehreren zum Fahrzeug 110 benachbarten Spurmarkierungen bestimmen, z. B., Bezug nehmend auf 2, die Abstände DR0/DL0 von der Mitte C0 des Fahrzeugs 110 zur Spurmarkierung 203/202 auf einer rechten/linken Seite der Fahrzeugs 110.
-
Von den verschiedenen Sensoren 111 bereitgestellte Sensoren können verschiedene Eigenschaften, Bereiche, Genauigkeiten und Fehlerbedingungen aufweisen. Beispielsweise können Radar und LIDAR den Abstand zu Objekten, z. B. zu einem oder mehreren zweiten Fahrzeugen 120, bereitstellen. Ein Radar kann sogar unter für die Sichterfassung ungünstigen Umgebungsbedingungen, z. B. bei Nebel, starkem Niederschlag usw., arbeiten und in Abhängigkeit vom Radartyp eine große Reichweite, z. B. 250 Meter vom Fahrzeug 110, aufweisen. Eine Kamera kann Informationen, wie den Typ des Objekts, z. B. die Spurmarkierungen 201, 202, 203, bereitstellen, die mittels Radar oder LIDAR nicht bereitgestellt werden können. Andererseits kann es vorkommen, dass eine Kamera unter ungünstigen Umgebungsbedingungen, z. B. Regen, Nebel usw., keine oder nur unvollständige Informationen bereitstellt. Ist die Straße beispielsweise schneebedeckt, so kann eine Kamera zwar Positionen der zweiten Fahrzeuge 120, allerdings keine Spurmarkierungen 201, 202, 203 detektieren.
-
Die zweiten Fahrzeuge 120 können Sensoren, wie beispielsweise Radar, GPS-Sensoren, LIDAR-Sensoren usw., beinhalten und Daten an Datenverarbeitungsvorrichtungen in jeweiligen zweiten Fahrzeugen 120 bereitstellen. Die zweiten Fahrzeuge 120 können Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstellen bekannter Art, die dem Host-Fahrzeug 110 Sensordaten und/oder andere Daten zweiter Fahrzeuge 120 bereitstellen, beinhalten. Zusätzlich oder alternativ kann ein zweites Fahrzeug 120 Daten des zweiten Fahrzeugs 120 über ein Netzwerk 130 einem entfernten Computer 140 bereitstellen. Das Host-Fahrzeug 110 kann Daten des zweiten Fahrzeugs 120 vom entfernten Computer 140 empfangen. Das zweite Fahrzeug 120 kann beispielsweise Kameras beinhalten, die betreibbar sind, um Spurmarkierungen 201, 202 und 203 zu detektieren. Die Kameras der zweiten Fahrzeuge 120 können betreibbar sein, um Abstände von den zweiten Fahrzeugen 120 zu benachbarten Spurmarkierungen der zweiten Fahrzeuge 120, beispielsweise die Abstände DR/DL von der Mitte C des zweiten Fahrzeugs 120B zur Spurmarkierung 203/202 auf einer rechten/linken Seite des zweiten Fahrzeugs 120B, zu bestimmen. Wie oben angegeben, können die Abstände DL und/oder DR von der Mitte C des zweiten Fahrzeugs 120B durch eine drahtlose Schnittstelle des zweiten Fahrzeugs 120B an das Fahrzeug 110 oder den entfernten Computer 140 gesendet werden.
-
2 stellt das Host-Fahrzeug 110 und die zweiten Fahrzeuge 120, die in den Clustern L1, L2 und L3 fahren und durch die Spurbegrenzungen 202 und 203 getrennt sind, dar. Die Spurbegrenzungen können gekrümmte oder gerade Linien sein.
-
Mehrere Fahrzeuge, die zwischen den beiden Spurbegrenzungen fahren, können in einem selben Cluster sein, beispielsweise sind das Host-Fahrzeug 110, das zweite Fahrzeug 120B und die zweiten Fahrzeuge 120D im Cluster L2.
-
Wie weiter unten beschrieben wird, können die Spurbegrenzungen durch eine angepasste Kurve oder eine angepasste Linie zwischen mehreren diskreten Punkte auf der Spurbegrenzung repräsentiert sein. Die Spurkarte beinhaltet die Informationen mehrerer Spurbegrenzungen, beispielsweise 201, 202 und 203.
-
Geopositionen einer Spurbegrenzung oder Geopositionen diskreter Punkte, die eine Spurbegrenzung repräsentieren, können auf die Mitte C0 des Host-Fahrzeugs 110 bezogen definiert werden, beispielsweise, wenn eine Kamera im Host-Fahrzeug 110 einen Prozessor beinhaltet, der programmiert ist, die Spurmarkierungen 201, 202, 203 zu detektieren.
-
Wie oben angegeben, kann es vorkommen, dass die Sensoren 111, beispielsweise eine Kamera des Host-Fahrzeugs 110 aus verschiedenen Gründen, beispielsweise aufgrund ungünstiger Umgebungsbedingungen wie Regen, Nebel usw. oder Hindernisse wie andere Fahrzeuge, nicht oder nur teilweise verwendbare Bilddaten bereitstellen. Beispielsweise kann, wie in 2 dargestellt, ein zweites Fahrzeug 120B ein Sichtfeld einer Kamera im Host-Fahrzeug 110 einschränken. Mit einer derartigen eingeschränkten Sicht kann die Kamera im Fahrzeug 110 möglicherweise kein Bild eines Abschnitts 205 der Spurbegrenzung 202 erhalten.
-
Als ein weiteres Beispiel können Geopositionen einer Spurbegrenzung oder eine Geoposition diskreter Punkte, die eine Spurbegrenzung repräsentieren, basierend auf GPS-Geopositionen definiert, beispielsweise durch GPS-Sensoren der zweiten Fahrzeuge 120 bestimmt und über das Netzwerk 130 kommuniziert werden. Basierend auf den Geopositionen der zweiten Fahrzeuge kann ein Clusterpfad zwischen den Mitten von Fahrzeugen in einem Cluster bestimmt werden, beispielsweise kann ein Clusterpfad für das Cluster L2 eine angepasste Kurve zwischen der Mitte C0 des Host-Fahrzeugs 110, der Mitte C des zweiten Fahrzeugs 120B und der Mitte C des zweiten Fahrzeugs 120D sein. Spurbegrenzungen, welche die benachbarten Clusterpfade trennen, können als zwischen den beiden benachbarten Clusterpfaden, beispielsweise in der Mitte, befindlich bestimmt werden, beispielsweise kann die Spurbegrenzung 202 eine Kurve zwischen den Clusterpfaden der Cluster L1 und L2 sein. Alternativ oder zusätzlich können die zweiten Fahrzeuge 120 die Abstände ihrer Mitten zu den benachbarten Spurbegrenzungen an das Host-Fahrzeug 110 senden, beispielsweise kann das Host-Fahrzeug Informationen empfangen, die einen Abstand DL des zweiten Fahrzeugs 120B von der Spurbegrenzung 202 anzeigen. Bei einer derartigen Auslegung kann eine Geoposition eines diskreten Punkts auf der Spurbegrenzung 202 bestimmt werden, statt anzunehmen, dass sich die Spurbegrenzung 202 in der Mitte der Clusterpfade von L1 und L2 befindet.
-
Prozesse
-
3 stellt einen beispielhaften Prozess 300 zum Erzeugen einer Spurkarte im System aus 1 dar.
-
Der Prozess 300 beginnt in einem Block 301, in dem der Computer 112 Sensordaten empfängt. Wie oben erörtert, können derartige Daten vom entfernten Computer 140, von den zweiten Fahrzeugen 120 empfangene Daten und/oder von den im Fahrzeug 110 enthaltenen Sensoren 111 empfangene Sensordaten sein.
-
Sensordaten zweiter Fahrzeuge 120 können jeweilige Positionen jedes zweiten Fahrzeugs 120, beispielsweise durch GPS-Sensoren in den zweiten Fahrzeugen 120 bestimmte Geopositionen, den Seitenabstand der zweiten Fahrzeuge 120 zu benachbarten Spurbegrenzungen, beispielsweise den Abstand DL des zweiten Fahrzeugs 120B von der Spurbegrenzung 202, den Gierwinkel der zweite Fahrzeuge 120 oder durch Computer in den zweiten Fahrzeugen 120 erzeugte Spurkarten beinhalten. Vom entfernten Computer 140 empfangene Daten können Daten beinhalten, die Straßen- oder Umgebungsbedingungen betreffen, beispielsweise eine Spursperrung oder Spurverengung aufgrund von Bauarbeiten, Verkehrsbedingungen, einen Polizeieinsatz auf einer Straßenseite, eine vorübergehende Änderung der Anzahl an Spuren, Niederschlag, der die Straßenreibung reduzieren oder die Sichtverhältnisse beeinträchtigen kann usw. Zusätzlich oder alternativ dazu können die vom entfernten Computer 140 empfangenen Daten auch Daten beinhalten, die durch den entfernten Computer 140 von den zweiten Fahrzeugen 120 empfangen werden.
-
Daten der Sensoren 111 können die Geoposition des Fahrzeugs 110 beinhalten, z. B. von einem im Fahrzeug 110 enthaltenen GPS-Sensor. Ferner sind Daten der Sensoren 111 des Fahrzeugs 110 verwendbar, um Positionen jeweiliger zweiter Fahrzeuge 120 bezogen auf das Fahrzeug 110 zu bestimmen, z. B. kann ein LIDAR im Fahrzeug 110 relative Abstände der zweiten Fahrzeuge 120 innerhalb eines vorbestimmten Abstands vom Fahrzeug 110 messen. Ein LIDAR kann die zweiten Fahrzeuge 120 mit einem Laserlicht bestrahlen und den Abstand vom LIDAR zu den zweiten Fahrzeugen 120 durch Messen der Rückkehrzeit des Lasersignals berechnen. Alternativ oder zusätzlich sind Bilddaten von einer Kamera im Fahrzeug 110 verwendbar, um einen relativen Abstand zu den zweiten Fahrzeugen 120 zu messen. Beispielsweise kann eine Datenverarbeitungsvorrichtung, die Bilddaten von einer Stereokamera empfängt, den Abstand zu einem zweiten Fahrzeug 120 anhand bekannter Triangulationstechniken berechnen. Alternativ kann eine Datenverarbeitungsvorrichtung, die Bilddaten von einer Monokamera empfängt, den Abstand zu einem zweiten Fahrzeug 120 beispielsweise anhand von Projektionshöhentechniken berechnen. Bei einer Projektionshöhentechnik kann eine Datenverarbeitungsvorrichtung das Objekt detektieren und eine tatsächliche Größe des Objekts schätzen, die Anzahl an Pixeln in den empfangenen Bilddaten messen, den Abstand zum Objekt basierend auf bekannten Kalibrierungsparametern der Kamera, z. B. dem Brennpunkt, schätzen usw. Ein Gierwinkel des Fahrzeugs 110 z. B. berechnet basierend auf einer von einem Gierratensensor in einem Fahrzeug empfangenen Gierrate, ist ebenfalls verwendbar.
-
Anschließend definiert in einem Block 305 der Computer 112 Cluster von Fahrzeugen 120 basierend auf den im Block 301 empfangenen Daten, wobei jedes Cluster zwei oder mehr zweite Fahrzeuge 120, die als in derselben Spur fahrend bestimmt wurden, beinhaltet. Die Clusterdefinition kann von den Sensoren 111 innerhalb der Fahrzeuge empfangene Daten und/oder die über das Netzwerk 130 empfangenen Daten beinhalten. Ein Prozess 400 zum Definieren von Fahrzeugclustern ist unten unter Bezugnahme auf 4 beschrieben.
-
Anschließend identifiziert in einem Block 310 der Computer 112 Spurbegrenzungen, wie beispielsweise die in 2 dargestellten Begrenzungen 201, 202, 203 und 204.
-
Diese Identifikation von Spurbegrenzungen kann von den zweiten Fahrzeugen 120 empfangene Clusterdaten und Sensordaten berücksichtigen. Ein Prozess 500 zum Identifizieren von Spurbegrenzungen ist unten unter Bezugnahme auf 5 beschrieben.
-
Anschließend erzeugt in einem Block 315 der Computer 112 die Spurkarte, welche die Position der Spurbegrenzungen, z. B. 201, 202, 203 und 204, beschreibt. Wie oben angegeben, kann die Spurkarte auf relativen Positionsdaten, z. B. der relative Position der Spurbegrenzungen von der Mitte C0 des Fahrzeugs 110, basieren. Alternativ oder zusätzlich dazu kann eine Spurkarte auf Geopositionskoordinaten basieren, d. h. die Spurbegrenzungen können durch GPS-Koordinaten spezifiziert werden. Eine Spurkarte kann ferner Konfidenzdaten für jeden Abschnitt einer Spurbegrenzung beinhalten, z. B. in Abhängigkeit von einem Konfidenzparameter basierend auf den zur Schätzung der Spurbegrenzungen verwendeten Sensordaten.
-
Im Block 315 kann der Computer 112 Daten berücksichtigen, die infrastrukturbezogene Aktualisierungen anzeigen, z. B. kann eine gesperrte Spur aus der Spurkarte entfernt werden oder kann sich eine Position einer Spurbegrenzung ändern, wenn eine Spurbreitenänderung durch die Infrastruktur an einer Baustelle vorgenommen wurde.
-
Im Block 315 kann der Computer 112 eine empfangene Spurkarte von einem zweite Fahrzeug 120 berücksichtigen, z. B. kann ein Unterschied zwischen einer auf Berechnungen im Computer 112 basierenden Spurbegrenzung gegenüber der von einem zweiten Computer empfangenen Spurkarte beim Bestimmen eines Konfidenzniveaus für die Spur in Betracht gezogen werden, z. B. kann ein Unterschied, der einen vorbestimmten Wert überschreitet, die Konfidenz in die Genauigkeit einer vom Computer 112 berechneten Spurkarte reduzieren.
-
Anschließend kann in einem Block 320 der Computer 112 über das Netzwerk 130 eine aktualisierte Spurkarte zum Empfang durch ein oder mehrere Fahrzeuge 120 und/oder den entfernten Server 140 senden.
-
Anschließend kann in einem Block 325 der Computer 112 ein Cluster identifizieren, in dem das Host-Fahrzeug 110 fährt. Eine derartige Bestimmung kann die Spurkarte und zumindest den relativen Abstand des Fahrzeugs 110 zu einem oder mehreren zweiten Fahrzeugen 120, die Geoposition des Fahrzeugs 110 bezogen auf die Spurkarte und/oder den Gierwinkel des Fahrzeugs 110 berücksichtigen. Beispielsweise kann der Block 325 das Vergleichen einer Geoposition des Host-Fahrzeugs 110 mit jeder jeweiligen Spurbegrenzung der Spurkarte, das Identifizieren zweier benachbarter Spurbegrenzungen, zwischen denen die Geoposition des Host-Fahrzeugs 110 positioniert ist, und das Zuweisen des Fahrzeugs 110 zur identifizierten Spur beinhalten.
-
Anschließend kann in einem Block 330 der Computer 112 die Betätigung einer oder mehrerer Komponenten des Fahrzeugs 110 bewirken, z. B. durch Senden einer Anweisung an eine oder mehrere ECUs des Fahrzeugs 110 zum Steuern der Lenkung, des Vortriebs und/oder der Bremsung des Fahrzeugs 110. Eine derartige Betätigung kann auf der Spurkarte, die wie in Bezug auf den Block 325 beschrieben erzeugt wurde, und/oder auf Daten des Fahrzeugs 110, z. B. einer Geoposition des Fahrzeugs 110, die mit durch die Spurkarte spezifizierten Geopositionen verglichen werden kann, basieren. Bei einem weiteren Beispiel kann der Block 330 das Betätigen einer Spurverlassenswarnung beinhalten. Die Spurverlassenswarnung kann einen Fahrer des Fahrzeugs 110 warnen, wenn das Fahrzeug 110 einen unbeabsichtigten Spurwechsel vorzunehmen droht, d. h. wenn sich das Fahrzeug 110 einer Spurbegrenzung nähert und das Blinksignal des Fahrzeugs 110 ausgeschaltet ist. Eine Spurverlassenswarnung kann das Betätigen einer haptischen Ausgabe eines Lenkrads, das Bereitstellen einer hörbaren Warnung usw. beinhalten. Zusätzlich oder alternativ dazu kann der Block 330 eine Spurhalteassistenz beinhalten, die das Betätigen der Lenkung, des Vortriebs und/oder der Bremsung beinhaltet, um das Fahrzeug 110 in einer Spur, d. h. zwischen zwei spezifischen Spurbegrenzungen, z. B. den Begrenzungen 202, 203, zu halten. Die Spurhalteassistenz ist in Form einer Steuerschleife, z. B. einer Proportional-Integral-Differenzial-Steuerschleife (PID-Steuerschleife), implementierbar, die Sensordaten vom Fahrzeug 110, z. B. das identifizierte Cluster L2 des Fahrzeugs 110 und die Abstände DL und DR des Fahrzeugs 110 von den benachbarten Spurbegrenzungen 202 und 203, als Eingabe nimmt und eine ECU des Fahrzeugs 110, z. B. eine Lenksteuerung, betätigt. Die Spurhalteassistenz kann das Fahrzeug 110 in der Mitte der Spur L2, d. h. DL gleich DR, halten, was bisweilen als Spurzentrierungsfunktion bezeichnet wird.
-
Nach dem Block 330 endet der Prozess 300.
-
4 stellt die Details eines beispielhaften Prozesses 400 zum Definieren eines (mehrerer) Fahrzeugcluster(s) dar, z. B. wie oben in Bezug auf den Block 305 des Prozesses 300 erwähnt.
-
Der Prozess 400 beginnt mit einem Block 401, in dem der Computer 112 in einem iterativen Vorgang einen Fahrweg jedes zweiten Fahrzeugs 120 bestimmt. Die Bestimmung eines Fahrwegs für ein zweites Fahrzeug 120 kann das Verwenden bekannter Techniken zur Interpolation zwischen mehreren Positionen eines jeweiligen zweiten Fahrzeugs 120 beinhalten.
-
Anschließend identifiziert in einem Block 405 der Computer 112 relevante zweite Fahrzeuge 120 zum Definieren eines (mehrerer) Fahrzeugcluster(s), z. B. kann ein zweites Fahrzeug 120 mit einer lateralen Beschleunigung, die eine vorbestimmte Schwelle überschreitet, als spurwechselnd und somit als für die Clusterdefinition nicht hilfreich bestimmt werden.
-
Anschließend kann in einem Block 410 der Computer 112 Fahrzeuge 120 in einer selben Spur identifizieren, z. B. durch Vergleichen der Fahrwege der im Block 405 bestimmten relevanten zweiten Fahrzeuge 120, z. B. unter Verwendung bekannter Techniken, wie beispielsweise überwachter Lerntechniken, wie beispielsweise Support-Vector-Machine, neuronale Netzwerke oder Regressionsanalyse, unüberwachter Lerntechniken, wie beispielsweise Clustering, oder anderer Prognosemodelle. Überwachtes Lernen und unüberwachtes Lernen beinhalten verschiedene bekannte Typen von Maschinenlernaufgaben. Überwachtes Lernen ist eine Maschinenlernaufgabe, die eine Funktion aus gekennzeichneten Trainingsdaten ableitet. Unüberwachtes Lernen ist eine Maschinenlernaufgabe, die eine Funktion zur Beschreibung einer verborgenen Struktur aus nicht gekennzeichneten Daten ableitet. Als ein weiteres Beispiel kann ein statistisches Modell einen Fahrweg jedes relevanten zweiten Fahrzeugs 120 nehmen und iterativ mit den Fahrwegen anderer relevanter zweiter Fahrzeuge 120 vergleichen, um diejenigen relevanten zweiten Fahrzeuge 120 zu identifizieren, die einander im Wesentlichen auf demselben Fahrweg folgen.
-
Anschließend erzeugt in einem Block 415 der Computer 112 Cluster von Fahrzeugen 120. Ein oder mehrere zweite Fahrzeuge 120, die vom Block 410 als in einer selben Spur fahrend identifiziert wurden, werden als ein Fahrzeugcluster bezeichnet. Sind mehrere Spuren zum Fahren verfügbar, so können mehrere Fahrzeugcluster identifiziert werden. Der Block 415 kann das Identifizieren von Daten für Fahrzeugcluster beinhalten, z. B. kann der Computer 112 Programmierung beinhalten, um eine Kurve zwischen Mitten C ausgewählter zweiter Fahrzeuge 120, die im Block 410 als in derselben Spur fahrend bestimmt wurden, anzupassen, z. B. ist ein Polynom dritten Grades, wie beispielsweise Y = aX + bX2 + cX3, verwendbar, um das Fahrzeugcluster zu repräsentieren. Y und X repräsentieren Längen- und Seitenkoordinaten. Die Parameter a, b, und c eines derartigen Polynoms können eine Spurkrümmung für die Spur, in der die Fahrzeuge des jeweiligen Clusters fahren, bestimmen. Zusätzlich kann ein Gierwinkel eines führenden zweiten Fahrzeugs 120 eines Fahrzeugclusters, d. h. eines Fahrzeugs, das als in einem Fahrzeugcluster vorn fahrend bestimmt wurde, einen signifikanteren Wert beim Schätzen oder Extrapolieren der Krümmung eines kommenden Spurabschnitts haben.
-
Nach dem Block 415 endet der Prozess 400.
-
5 stellt einen beispielhaft Prozess 500 zum Definieren von Spurbegrenzungen dar, z. B. wie oben in Bezug auf den Block 310 des Prozesses 300 erwähnt.
-
Der Prozess beginnt mit einem Block 501, in dem der Computer 112 benachbarte Fahrzeugcluster identifiziert. Der Ausdruck „benachbarte Fahrzeugcluster“, wie er hier verwendet wird, bezieht sich auf zwei Fahrzeugcluster mit nur einer Spurbegrenzung dazwischen, z. B. haben die dargestellten Spuren L1 und L2 nur die Spurbegrenzung 202 dazwischen. Eine derartige Identifikation kann ein iterativer Prozess zum Sortieren der Fahrzeugcluster sein, z. B. durch Berechnen der Polynome aller Fahrzeugcluster.
-
Anschließend kann in einem Block 505 der Computer 112 die Breite der Spur(en), d. h. die Breite einer Spur, in der ein jeweiliges Cluster zweiter Fahrzeuge 120 fährt, schätzen. Bei einer Ausführungsform kann die Spurbreitenschätzung das Berechnen eines durchschnittlichen Abstands zwischen den Kurven, die zwischen den Mitten C zweiter Fahrzeuge 120 zweier benachbarter Clusterpfade angepasst wurden, beinhalten. Eine derartige Schätzung kann von einer Annahme abhängen, dass Fahrzeuge in einem Cluster im Durchschnitt im Wesentlichen in einer Mitte der jeweiligen Spur fahren, z. B. wird eine Mitte C zweiter Fahrzeuge als innerhalb einer 5 %-Abweichung von einer Mitte der jeweiligen Spur liegend angenommen. Bei einem weiteren Beispiel kann eine Schätzung einer Spurbreite von den Abständen DL und DR der zweiten Fahrzeuge abhängen, wenn die zweiten Fahrzeuge 120 die Abstände DL und DR bereitstellen. Alternativ können die zweiten Fahrzeuge 120 eine Spurbreitenschätzung bereitstellen, z. B. von die Spurmarkierung detektierenden Sensoren in den zweiten Fahrzeugen 120. Der Block 415 kann ferner Infrastrukturdaten vom Server 130 berücksichtigen, z. B. wie oben in Bezug auf Straßen- oder Umgebungsbedingungen, Straßenführung usw. beschrieben. Als ein Beispiel können Straßenführungsdaten, wie beispielsweise eine Änderung der Anzahl an Spuren oder der Spurbreite, beim Definieren von Fahrzeugclustern berücksichtigt werden.
-
Anschließend identifiziert in einem Block 510 der Computer 112 mehrere Punkte auf jeder Spurbegrenzung zwischen benachbarten Fahrzeugclustern. Beispielsweise werden zum Identifizieren der Spurbegrenzung 202 zwischen den Fahrzeugclustern L1 und L2 im Block 510 mehrere, die Spurbegrenzung 202 ausbildende Punkte identifiziert. Eine derartige Identifizierung kann, wie oben angegeben, auf einer Annahme basieren, dass die zweiten Fahrzeuge 120 im Wesentlichen in der Spurmitte fahren. In diesem Fall können mehrere Punkte in der Mitte jeweiliger Clusterpfade von L1 und L2 auf der Spurbegrenzung 202 eingeschlossen sein. Alternativ können Sensordaten zweiter Fahrzeuge 120 die Abstände DL und/oder DR von Spurbegrenzungen, d. h. einer Markierung von Fahrtspuren zweiter Fahrzeuge 120, beinhalten. Bei einer derartigen Auslegung schätzt im Block 510 der Computer 112 Punkte auf Spurbegrenzungen unter Verwendung der Abstände DL und/oder DR zweiter Fahrzeuge 120, z. B. kann der Punkt 206 in 2 auf der Spurbegrenzung 202 basierend auf DL-Sensordaten des zweiten Fahrzeugs 120B im Fahrzeugcluster L2 identifiziert werden.
-
Anschließend passt in einem Block 515 der Computer 112 eine Kurve zwischen mehreren im Block 510 auf einer jeweiligen Spurbegrenzung identifizierten Punkten an. Anschließend kann in einem Block 520 die angepasste Kurve einer jeweiligen Spurbegrenzung basierend auf Sensordaten, z. B. der Gierrate, von zweiten Fahrzeugen in Fahrzeugclustern, welche die jeweiligen Spurbegrenzungen einschließen, extrapoliert werden, z. B. kann die Spurbegrenzung 202 basierend auf Gierratendaten zweiter Fahrzeuge in den Fahrzeugclustern L1 und L2, insbesondere basierend auf Sensordaten von den führenden Fahrzeugen der Fahrzeugcluster L1 und L2, extrapoliert werden. Führende Fahrzeuge sind die in einem Fahrzeugcluster vorn fahrenden zweiten Fahrzeuge 120 und wahrscheinlicher die ersten Fahrzeuge eines Fahrzeugclusters, die auf eine Änderung der Spurkrümmung der Spur, in der das Fahrzeugcluster fährt, reagieren.
-
Nach dem Block 520 endet der Prozess 500.
-
Computer, wie die hier beschriebenen, beinhalten im Allgemeinen jeweils Anweisungen, die von einem oder mehreren Computern, wie den oben genannten, ausführbar sind, zum Ausführen von Blöcken oder Schritten von Prozessen, wie oben beschrieben. Computerausführbare Anweisungen können aus Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder allein oder in Kombination JavaTM, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen beispielsweise aus einem Speicher, von einem computerlesbaren Medium usw. und führt diese Anweisungen aus, um dadurch einen oder mehrere Prozesse, einschließlich eines oder mehrerer der hier beschriebenen Prozesse, auszuführen. Derartige Anweisungen und andere Daten sind unter Verwendung einer Vielzahl computerlesbarer Medien speicher- und übertragbar. Eine in einem Computer gespeicherte Datei ist im Allgemeinen eine Sammlung von auf einem computerlesbaren Medium, wie beispielsweise einem Speichermedium, einem Direktzugriffsspeicher usw., gespeicherten Daten.
-
Ein computerlesbares Medium beinhaltet jedes Medium, das an der Bereitstellung von Daten (beispielsweise Anweisungen), die von einem Computer 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 umfassen beispielsweise optische oder magnetische Datenträger und andere persistente Speicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (DRAM, Dynamic Random Access Memory), welcher normalerweise einen Hauptspeicher darstellt. Herkömmliche Formen computerlesbarer Medien beinhalten beispielsweise eine Diskette, eine Floppy Disk, eine Festplatte, ein Magnetband, irgendein anderes magnetisches Medium, eine CD-ROM, eine DVD, irgendein anderes optisches Medium, Lochkarten, Lochband, irgendein anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen Flash-EEPROM, jeden beliebigen anderen Speicherchip oder jede beliebige andere Speicherkarte oder irgendein anderes Medium, das ein Computer lesen kann.
-
Im Hinblick auf die hier beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte solcher Prozesse usw. als in einer bestimmten geordneten Reihenfolge stattfindend beschrieben wurden, solche Prozesse mit den beschriebenen Schritten auch in einer von der hier beschriebenen Reihenfolge abweichenden Reihenfolge durchgeführt werden könnten. Des Weiteren versteht es sich, dass bestimmte Schritte gleichzeitig durchgeführt werden können, dass weitere Schritte hinzugefügt werden können, oder dass bestimmte hier beschriebene Schritte ausgelassen werden können. Mit anderen Worten, die vorliegenden Beschreibungen von Systemen und/oder Prozessen werden zum Zwecke der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten auf keinerlei Weise als Beschränkung des offenbarten Gegenstands aufgefasst werden.
-
Dementsprechend versteht es sich, dass die vorliegende Offenbarung einschließlich der obenstehenden Beschreibung und der beiliegenden Figuren und untenstehenden Ansprüche als darstellend und nicht als beschränkend zu sehen ist. Viele von den gegebenen Beispielen abweichende Ausführungsformen und Anwendungen würden für einen Fachmann beim Lesen der obigen Beschreibung ersichtlich werden. Der Schutzumfang der Erfindung sollte nicht mit Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen mit Bezug auf die hier angefügten und/oder in einer hierauf basierenden endgültigen Patentanmeldung enthaltenen Ansprüche, zusammen mit dem vollen Umfang von Äquivalenten, zu denen diese Ansprüche berechtigt sind, bestimmt werden. Es ist zu erwarten und beabsichtigt, dass bei den hier besprochenen Fachgebieten zukünftige Entwicklungen stattfinden werden und dass die offenbarten Systeme und Verfahren in solchen zukünftigen Ausführungsformen integriert werden. Zusammengefasst versteht sich, dass der offenbarte Gegenstand modifiziert und abgewandelt werden kann.
-
Alle in den Ansprüchen verwendeten Begriffe sollen in ihrer einfachen und üblichen Bedeutung verstanden werden, wie sie auch von einem Fachmann verstanden werden, sofern hier nicht explizit eine gegenteilige Angabe gemacht wird. Insbesondere ist die Verwendung von Artikeln im Singular, wie beispielsweise „ein/e/er“, „der, die, das“, „jene/r/s“ usw., so zu verstehen, dass eines oder mehrere der aufgezeigten Elemente gemeint sein könnten, sofern nicht in einem Anspruch eine explizite gegenteilige Einschränkung angeführt wird.