-
HINTERGRUND
-
Autonome Fahrzeuge entheben den Fahrer von bestimmten Fahraufgaben. Zum Beispiel können autonome Fahrzeuge bestimmte laterale und longitudinale Aspekte des Betriebs eines Fahrzeugs steuern. Zu einem beispielhaften lateralen Aspekt gehört die Lenkung des Fahrzeugs. Zu einem beispielhaften longitudinalen Aspekt gehört die Steuerung der Fahrzeuggeschwindigkeit. Einige autonome Fahrzeuge werden auf eine Weise gesteuert, die einen menschlichen Fahrer nachahmt. Eine Art und Weise der Nachahmung eines menschlichen Fahrers ist die Lenkung des Fahrzeugs und die Steuerung der Fahrzeuggeschwindigkeit auf die gleiche Art und Weise, wie dies ein menschlicher Fahrer tun würde.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 stellt ein beispielhaftes Fahrzeug mit einem autonomen Steuersystem dar, das crowdbasierte Daten über Straßensegmente zum autonomen Steuern des Fahrzeugs verwendet.
-
2 ist ein Blockdiagramm von beispielhaften Komponenten, die in dem System von 1 integriert sein können.
-
3 ist ein Diagramm eines beispielhaften Straßensegments, das ein gegenwärtiges Straßensegment beinhaltet.
-
4 ist ein Diagramm einer beispielhaften Gruppe von Straßensegmenten, die ein gegenwärtiges Straßensegment und eine Vielzahl von zukünftigen Straßensegmenten beinhaltet.
-
5 ist ein Schaubild, das beispielhafte crowdbasierte Daten und einen Nennwert darstellt, der aus den Daten für ein bestimmtes Straßensegment bestimmt wird.
-
6 ist ein Schaubild, das eine Varianz einer gegenwärtigen Fahrzeugeigenschaft zu dem Nennwert darstellt.
-
7 ist ein Schaubild, das darstellt, wie die zukünftigen Fahrzeugeigenschaften vorhergesagt und in Bezug auf die Nennwerte von zukünftigen Straßensegmenten berücksichtigt werden können.
-
8 ist ein Flussdiagramm eines beispielhaften Prozesses, der von dem Fahrzeugsystem zur Verwendung von crowdbasierten Daten über Straßensegmente zum autonomen Steuern des Fahrzeugs ausgeführt werden kann.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Menschliche Fahrer betreiben ein Fahrzeug üblicherweise auf vorhersagbare Weise, insbesondere wenn ein Fahrzeug manuell beschleunigt, abgebremst und gelenkt wird. Autonome Fahrzeuge können daher zum Steuern einer Fahrzeuggeschwindigkeit und Lenken in einer Weise, die der Fahrweise eines Menschen ähnelt, programmiert werden. Auf diese Weise können sich Fahrgäste zuversichtlicher fühlen, dass das autonome Fahrzeug ordnungsgemäß funktioniert.
-
Ein Beispiel eines autonomen Fahrzeugs, das einen menschlichen Fahrer nachahmen kann, beinhaltet eine Rechenvorrichtung, die ein Datenspeichermedium und eine Verarbeitungsschaltung aufweist, die programmiert ist, eine Fahrzeugeigenschaft wie eine Geschwindigkeit oder einen Lenkwinkel, die mit dem autonomen Fahrzeug verknüpft ist, zu empfangen, einen Nennwert aus historischen Daten für die Fahrzeugeigenschaft bei einem Straßensegment zu bestimmen, einen Korrekturfaktor zu bestimmen und den Korrekturfaktor auf die Fahrzeugeigenschaft anzuwenden, um das autonome Fahrzeug gemäß dem Nennwert und der Standardabweichung autonom zu betreiben. Der Nennwert kann aus crowdbasierten Daten bestimmt werden, die von anderen Fahrzeugen übertragen werden, die das gleiche Straßensegment überqueren. Darüber hinaus können die crowdbasierten Fahrzeugdaten verwendet werden, um geschätzte Fahrzeiten, die das gleiche Straßensegment betreffen, genauer zu bestimmen.
-
Unter Verwendung von Fahrzeuggeschwindigkeitsprofilen kann das Fahrzeug Vorwärtsfahrzeuggeschwindigkeiten vorhersehen und einstellen. Ein Varianzfaktor und ein Aggressivitätsfaktor können in Abhängigkeit der gegenwärtigen Fahrzeuggeschwindigkeit und der Nenngeschwindigkeit und Standardabweichung von crowdbasierten Fahrzeuggeschwindigkeiten bestimmt werden. Die crowdbasierten Fahrzeuggeschwindigkeitsdaten für ein bestimmtes Straßensegment können aggregiert werden und die Größe des Straßensegments kann je nach z. B. der Zuverlässigkeit der Straßensegmentdaten und der Rechenleistung eingestellt werden. Somit können sehr kleine Straßensegmente ein genaueres und kontinuierlicheres Geschwindigkeitsprofil bereitstellen.
-
Die Größe der Varianz (d. h. die Differenz zwischen der gegenwärtigen Geschwindigkeit und der Nenngeschwindigkeit für das Straßensegment) kann durch Bestimmen eines prozentualen Fehlers in Bezug auf die Standardabweichung, die Nenngeschwindigkeit oder beide ausgewertet werden. Diese Varianz kann als eine nichtlineare Rückmeldungskorrektur verwendet werden, so dass z. B., falls die gegenwärtige Fahrzeuggeschwindigkeit eine volle Standardabweichung von der Nenngeschwindigkeit ist (d. h. eine Varianz von 100 %), das Fahrzeug die Geschwindigkeit aggressiver korrigieren kann, als wenn die Varianz kleiner wäre (z. B. 10 %). Der Aggressivitätsfaktor kann die Aggressivität der Antwort definieren. Somit kann der Aggressivitätsfaktor von der prozentualen Varianz abhängen.
-
Ferner können Geschwindigkeitsdaten für bevorstehende Straßensegmente verwendet werden, um ein Vorsteuerungs-Geschwindigkeitsprofil zu erstellen. Das Fahrzeug kann erwartete Geschwindigkeiten (basierend auf seiner gegenwärtigen Varianz bezüglich der Geschwindigkeit, die von Fahrzeugsensoren usw. bestimmt wird) mit Geschwindigkeitsprofilen für die bevorstehenden Straßensegmente vergleichen, um die Varianz bei jedem Straßensegment zu bestimmen. Das Fahrzeug kann diese Varianzen als eine Vorsteuerungskorrektur verwenden, um die Fahrzeuggeschwindigkeit derart einzustellen, dass es näher an dem Nennwert betrieben wird, wenn das Fahrzeug die bevorstehenden Straßensegmente erreicht.
-
Wenngleich der vorliegende Ansatz im Kontext der Geschwindigkeitssteuerung erläutert wird, können ähnliche Ansätze in Bezug auf andere autonome Fahrzeugsysteme wie eine Lenksteuerung angenommen werden.
-
Die gezeigten Elemente können viele verschiedene Formen annehmen und mehrere und/oder alternative Komponenten und Ausstattungen beinhalten. Die veranschaulichten Beispielkomponenten sollen nicht einschränkend sein. Tatsächlich können zusätzliche oder alternative Komponenten und/oder Implementierungen verwendet werden. Sofern nicht ausdrücklich anderweitig angegeben, sind die gezeigten Elemente ferner nicht unbedingt maßstabsgetreu dargestellt.
-
Wie in 1 dargestellt, weist ein Hostfahrzeug 100 ein Fahrzeugsystem 105 auf, das eine Rechenvorrichtung aufweist, die crowdbasierte Daten über Straßensegmente verwendet, um das Hostfahrzeug 100 autonom zu steuern. Wenngleich als eine Limousine veranschaulicht, kann das Hostfahrzeug 100 ein beliebiges Personen- oder Nutzfahrzeug umfassen, wie etwa ein Auto, einen Laster, einen SUV, ein Crossover-Fahrzeug, einen Transporter, einen Kleintransporter, ein Taxi, einen Bus usw. Bei einigen möglichen Ansätzen kann das Hostfahrzeug 100 in einem autonomen (z. B. fahrerlosen) Modus, einem teil-autonomen Modus und/oder einem nichtautonomen Modus arbeiten.
-
Das Fahrzeugsystem 105 empfängt Daten von einem oder mehreren Fahrzeugsubsystemen. Die Daten können eine Fahrzeugeigenschaft wie eine Fahrzeuggeschwindigkeit repräsentieren. Das Fahrzeugsystem 105 kann ferner crowdbasierte Daten von einer rechnerfernen Quelle wie einem Remoteserver 110 empfangen. Die crowdbasierten Daten können in einer Datenbank gespeichert werden, die Fahrzeugeigenschaften, die von anderen Fahrzeugen empfangen werden, mit einem bestimmten Straßensegment in Beziehung setzen. Der Remoteserver 110 kann die Fahrzeugeigenschaften verarbeiten, um einen Nennwert zu bestimmen. Der Nennwert kann z. B. eine durchschnittliche Eigenschaft (wie eine Durchschnittsgeschwindigkeit) der Fahrzeuge beinhalten, die durch das jeweilige Straßensegment gefahren sind. Der Remoteserver 110 kann ferner die Fahrzeugeigenschaften verarbeiten, um eine Standardabweichung in Bezug auf den Nennwert zu bestimmen. Der Nennwert, die Standardabweichung oder beides können auch in der Datenbank gespeichert werden.
-
Der Remoteserver 110 kann den Nennwert, die Standardabweichung oder beides an das Fahrzeugsystem 105 drahtlos übertragen. Bei einem möglichen Ansatz kann das Fahrzeugsystem 105 die Datenbank nach dem Nennwert, der Standardabweichung oder beidem abfragen. Die Abfrage kann den gegenwärtigen Standort des Hostfahrzeugs 100 beinhalten und der Remoteserver 110 kann den gegenwärtigen Standort mit einem Straßensegment verknüpfen und auf die Abfrage mit dem Nennwert und der Standardabweichung antworten, die mit dem entsprechenden Straßensegment und mit einer Vielzahl von Straßensegmenten in der Fahrtrichtung des Fahrzeugs verknüpft sind. Als Alternative kann der Remoteserver 110 programmiert sein, den Standort des Hostfahrzeugs 100 zu empfangen und den Nennwert und die Standardabweichung automatisch dem Hostfahrzeug 100 bereitzustellen.
-
Mit den Daten von dem Remoteserver
110 kann das Fahrzeugsystem
105 die gegenwärtige Fahrzeugeigenschaft mit dem Nennwert vergleichen, um eine Varianz zu bestimmen. Die Varianz kann als ein Prozentanteil der Größe der Fahrzeugeigenschaft in Bezug auf den Nennwert und die Standardabweichung sein. In manchen Fällen kann die Varianz ein absoluter Wert der Größe der Fahrzeugeigenschaft in Bezug auf den Nennwert und die Standardabweichung sein. Eine Art und Weise zur Definition der Varianz ist unten in Gleichung (1) dargestellt:
wobei Var die Varianz als ein Prozentanteil ist, C
current die gegenwärtige Fahrzeugeigenschaft ist, C
nominal der Nennwert für die Fahrzeugeigenschaft an dem Straßensegment ist, an dem sich das Hostfahrzeug
100 befindet, und σ die Standardabweichung ist.
-
Falls im Hinblick zum Beispiel auf die Geschwindigkeit die gegenwärtige Fahrzeuggeschwindigkeit (Ccurrent) 40 Meilen pro Stunde ist, beträgt die Nenngeschwindigkeit (Cnominal) 35 Meilen pro Stunde und beträgt die Standardabweichung (σ) 5 Meilen pro Stunde, die Varianz beträgt 100 %, da die gegenwärtige Fahrzeuggeschwindigkeit eine Standardabweichung über der Nenngeschwindigkeit ist. Falls die Fahrzeuggeschwindigkeit auf 37 Meilen pro Stunde sinkt, würde die Varianz auf 40 % abfallen.
-
Darüber hinaus kann die Varianz 100 % überschreiten, falls z. B. die gegenwärtige Geschwindigkeit größer als der Nennwert plus einer Standardabweichung ist. Ferner kann eine negative Varianz möglich sein, falls z. B. die gegenwärtige Fahrzeuggeschwindigkeit unter dem Nennwert liegt, und kann niedriger als –100 % sein, falls z. B. die gegenwärtige Fahrzeuggeschwindigkeit mehr als eine Standardabweichung unter dem Nennwert beträgt.
-
Wenn die Varianz bestimmt ist, kann das Fahrzeugsystem 105 einen Korrekturfaktor bestimmen, der die Korrekturmenge definieren kann, die zum Bewegen der Fahrzeugeigenschaft näher zu dem Nennwert benötigt wird. Der Korrekturfaktor kann eine nichtlineare Funktion der Varianz sein. Zum Beispiel kann der Korrekturfaktor für eine relativ hohe Varianz (z. B. > 80 %) bewirken, dass das Hostfahrzeug 100 schnell auf den Nennwert abbremst, während der Korrekturfaktor für eine relativ niedrige Varianz (z. B. < 10 %) bewirken kann, dass das Hostfahrzeug 100 langsam oder gar nicht auf den Nennwert abbremst, falls dies als akzeptabel erachtet wird. Das Fahrzeugsystem 105 kann den Korrekturfaktor zum autonomen Betreiben des Hostfahrzeugs 100 gemäß der Varianz und dem Nennwert anwenden. Da der Nennwert auf crowdbasierten Daten basiert, kann das Betreiben des Hostfahrzeugs 100 gemäß dem Nennwert bewirken, dass sich das Hostfahrzeug 100 mehr wie ein von einem Menschen gefahrenes Fahrzeug als ein autonom gefahrenes Fahrzeug anfühlt.
-
2 ist ein Blockdiagramm von beispielhaften Komponenten, die in dem Fahrzeugsystem 105 integriert sein können. Wie dargestellt, weist das Fahrzeugsystem 105 eine Kommunikationsvorrichtung 115, ein Datenspeichermedium 120 und eine Verarbeitungsschaltung 125 auf.
-
Die Kommunikationsvorrichtung 115 kann eine beliebige Kombination von Komponenten, Schaltungen oder beidem aufweisen, die eine drahtlose Kommunikation zwischen dem Fahrzeugsystem 105 und dem Remoteserver 110 ermöglicht. Die Kommunikationsvorrichtung 115 kann für eine drahtlose Kommunikation konfiguriert sein und kann programmiert sein, Signale gemäß einer beliebigen Anzahl von drahtlosen Telekommunikationsprotokollen zu generieren und zu empfangen. Die Kommunikationsvorrichtung 115 kann programmiert sein, Daten, die von dem Remoteserver 110 empfangen werden, an das Datenspeichermedium 120, die Verarbeitungsschaltung 125 oder beide zu übertragen. Zum Beispiel kann die Kommunikationsvorrichtung 115 programmiert sein, einen gegenwärtigen Standort des Hostfahrzeugs 100 von einem Fahrzeugsubsystem 130 wie einem Navigationssystem zu empfangen und den Fahrzeugstandort an den Remoteserver 110 zu übertragen. Die Kommunikationsvorrichtung 115 kann programmiert sein, den Nennwert und die Standardabweichung, die mit dem gegenwärtigen Standort des Hostfahrzeugs 100 verknüpft sind, von dem Remoteserver 110 zu empfangen.
-
Das Datenspeichermedium 120 kann programmiert sein, Daten zu speichern, die z. B. von der Kommunikationsvorrichtung 115 empfangen werden. In einem möglichen Ansatz kann das Datenspeichermedium 120 ferner programmiert sein, computerausführbare Anweisungen zu speichern, die z. B. von der Verarbeitungsschaltung 125 ausgeführt werden können. Das Datenspeichermedium 120 kann daher ein flüchtiges Speichermedium, ein nicht flüchtiges Speichermedium oder beides beinhalten.
-
Die Verarbeitungsschaltung 125 kann eine beliebige Anzahl von Komponenten aufweisen, die konfiguriert oder programmiert sind, auf die Daten zuzugreifen, die in dem Datenspeichermedium 120 gespeichert sind, einschließlich dem Ausführen von computerausführbaren Anweisungen, die in dem Datenspeichermedium 120 gespeichert sind. Zum Beispiel kann die Verarbeitungsschaltung 125 programmiert sein, eine Fahrzeugeigenschaft von einem Fahrzeugsubsystem 130 zu empfangen. Wie oben erläutert, kann die Fahrzeugeigenschaft einen Größenwert wie die gegenwärtige Geschwindigkeit des Hostfahrzeugs 100 beinhalten.
-
Die Verarbeitungsschaltung 125 kann ferner programmiert sein, den Nennwert und die Standardabweichung für den gegenwärtigen Fahrzeugstandort von der Kommunikationsvorrichtung 115 zu empfangen und den Korrekturfaktor basierend auf der Fahrzeugeigenschaft in Bezug auf den Nennwert und die Standardabweichung zu bestimmen. Zum Beispiel kann die Verarbeitungsschaltung 125 programmiert sein, den Korrekturfaktor durch Bestimmen der Varianz (siehe Gleichung 1) und danach Identifizieren eines Korrekturfaktors, der mit der Varianz verknüpft ist, zu bestimmen. Wie oben erläutert, kann der Korrekturfaktor eine nichtlineare Funktion der Varianz sein. Zum Beispiel kann der Korrekturfaktor für eine relativ hohe Varianz (z. B. > 80 %) exponentiell größer als der Korrekturfaktor für eine relativ niedrige Varianz (z. B. < 10 %) sein.
-
Die Verarbeitungsschaltung 125 kann programmiert sein, den Korrekturfaktor durch z. B. Ausgeben eines Steuersignals an ein oder mehrere Fahrzeugsubsysteme 130 wie eine autonome Modussteuerung 135 anzuwenden. Das Steuersignal kann zum autonomen Betreiben des Hostfahrzeugs 100 gemäß dem Nennwert verwendet werden, der wie oben erläutert von anderen Fahrzeugen durch Crowdsourcing erhalten wird, die auf dem gleichen Straßensegment wie der gegenwärtige Standort des Hostfahrzeugs 100 gefahren sind. Da darüber hinaus der Korrekturfaktor eine nichtlineare Funktion der Varianz ist, kann das Anwenden des Korrekturfaktors, der mit einer relativ hohen Varianz verknüpft ist, z. B. bewirken, dass das Hostfahrzeug 100 schnell auf den Nennwert abbremst, während das Anwenden des Korrekturfaktors, der mit einer relativ niedrigen Varianz verknüpft ist, z. B. bewirken kann, dass das Hostfahrzeug 100 langsam auf den Nennwert abbremst. Das Gleiche kann für eine Beschleunigung gelten. Ein Korrekturfaktor, der mit einer aggressiveren Beschleunigung verknüpft ist, kann verwendet werden, falls die Varianz z. B. unter –80 % liegt, und ein Korrekturfaktor, der mit einer weniger aggressiven Beschleunigung verknüpft ist, kann verwendet werden, falls die Varianz höher (z. B. größer als –10 %) ist.
-
Die Verarbeitungsschaltung 125 kann programmiert sein, den Nennwert und die Standardabweichung basierend auf historischen Daten zu bestimmen. Die historischen Daten können von anderen, in Datenaustausch stehenden Fahrzeugen über beispielsweise eine Kommunikation von Fahrzeug zu Fahrzeug (V2V) oder von Fahrzeug zu Infrastruktur (V2I) erfasst werden, oder wenn das Hostfahrzeug 100 zuvor in einem manuellen (d. h. nicht autonomen) Modus auf einem bestimmten Straßensegment gefahren wurde. Als Alternative oder zusätzlich dazu können die historischen Daten in dem Remoteserver 110 gespeichert und an das Fahrzeugsystem 105 zur Verarbeitung von der Verarbeitungsschaltung 125 übertragen werden. Das heißt, die Kommunikationsvorrichtung 115 kann den gegenwärtigen Fahrzeugstandort an den Remoteserver 110 übertragen, der Remoteserver 110 kann die historischen Daten, die mit dem Straßensegment verknüpft sind, das mit dem gegenwärtigen Fahrzeugstandort verknüpft ist, übertragen und die Verarbeitungsschaltung 125 kann die historischen Daten empfangen und verarbeiten, um den Nennwert und die Standardabweichung zu bestimmen.
-
Das Fahrzeugsystem 105 kann ferner programmiert sein, das Hostfahrzeug 100 gemäß zukünftigen Straßensegmenten zu betreiben. Zum Beispiel kann die Verarbeitungsschaltung 125 Nennwerte für das gegenwärtige Straßensegment und mindestens ein zukünftiges Straßensegment, die als der gegenwärtige Nennwert bzw. der zukünftige Nennwert bezeichnet werden, empfangen oder anderweitig bestimmen. Darüber hinaus kann die Verarbeitungsschaltung 125 programmiert sein, die Standardabweichungen, die mit den gegenwärtigen und zukünftigen Nennwerten verknüpft sind, zu empfangen oder anderweitig zu bestimmen. Die Verarbeitungsschaltung 125 kann auch programmiert sein, zukünftige Fahrzeugeigenschaften, einschließlich z. B. einer zukünftigen Fahrzeuggeschwindigkeit, vorherzusagen. Die Verarbeitungsschaltung 125 kann programmiert sein, Varianzen basierend auf der vorhergesagten Fahrzeuggeschwindigkeit in Bezug auf die zukünftigen Nennwerte und entsprechenden Standardabweichungen zu bestimmen. Die Verarbeitungsschaltung 125 kann einen Korrekturfaktor anwenden, um das Hostfahrzeug 100 derart zu steuern, dass die Fahrzeugeigenschaft relativ nahe an dem Nennwert bleibt, während sich der Nennwert von Segment zu Segment verändert. Eine weitere Erläuterung folgt unten unter Bezugnahme auf 7.
-
3 und 4 sind Diagramme, die beispielhafte Straßensegmente darstellen. In 3 stellt das Diagramm 300 ein gegenwärtiges Straßensegment 305 basierend auf dem gegenwärtigen Standort des Hostfahrzeugs 100 dar. Während sich das Hostfahrzeug 100 dem Straßensegment 305 nähert, kann das Hostfahrzeug 100 seinen Standort an den Remoteserver 110 übertragen. Wie oben erläutert, kann der Remoteserver 110 den Nennwert und die Standardabweichung, die mit dem Straßensegment 305 verknüpft sind, als Reaktion auf den Empfang des Fahrzeugstandortes übertragen. Selbst wenn also das Straßensegment 305 als das „gegenwärtige“ Straßensegment beschrieben ist, kann es sein, dass sich das Hostfahrzeug 100 noch nicht auf diesem Straßensegment befindet, so dass Zeit erlaubt wird, damit das Hostfahrzeug 100 seinen Standort mitteilt, der Remoteserver 110 antwortet und das Hostfahrzeug 100 die Daten, die von dem Remoteserver 110 vor der Ankunft an dem „gegenwärtigen“ Straßensegment empfangen werden, verarbeitet.
-
In 4 stellt das Diagramm 400 ein gegenwärtiges Straßensegment 405 und zwei zukünftige Straßensegmente 410, 415 dar. Während sich das Hostfahrzeug 100 dem Straßensegment 405 nähert, kann das Hostfahrzeug 100 seinen Standort an den Remoteserver 110 übertragen und der Remoteserver 110 kann den Nennwert und die Standardabweichung, die mit dem gegenwärtigen Straßensegment 405 und einem oder mehreren zukünftigen Straßensegmenten 410, 415 verknüpft sind, als Reaktion auf den Empfang des Fahrzeugstandortes übertragen. Das Fahrzeugsystem 105 kann das Hostfahrzeug 100 auf eine Weise steuern, welche den Nennwerten und Standardabweichungen für jedes Straßensegment wie oben erläutert Rechnung trägt. Wie bei der Implementierung aus 3 kann es sein, dass sich das Hostfahrzeug 100 noch nicht auf dem gegenwärtigen Straßensegment 405 befindet, wenn der Standort des Hostfahrzeugs 100 übertragen wird und die Nennwerte und Standardabweichungen empfangen werden.
-
5 ist ein Schaubild 500, das beispielhafte crowdbasierte Daten und einen Nennwert und einen Standardabweichungswert darstellt, die aus den Daten für ein bestimmtes Straßensegment bestimmt werden. Die x-Achse repräsentiert einen Zeitpunkt, zu dem ein Fahrzeug auf einem bestimmten Straßensegment gefahren ist. Die y-Achse repräsentiert die Größe der Fahrzeugeigenschaft (z. B. Durchschnittsgeschwindigkeit). Die Punkte (zusammen bei 505 dargestellt; nur einige wenige sind der Einfachheit halber nummeriert) können die Fahrzeugeigenschaften darstellen, die stichprobenartig von Fahrzeugen entnommen werden, die auf dem Straßensegment fahren. Zum Beispiel kann jeder Punkt 505 die Durchschnittsgeschwindigkeit eines bestimmten Fahrzeugs repräsentieren, das auf dem Straßensegment fährt. Somit können die Punkte 505 die oben erläuterten historischen Daten repräsentieren. Die Linie 510 kann den Nennwert repräsentieren, der sich in diesem Fall auf die Durchschnittsgeschwindigkeit aller Fahrzeuge beziehen kann, die auf diesem Straßensegment fahren. Die Linien 515 können die Standardabweichung in Bezug auf den Nennwert repräsentieren. Zwei Standardabweichungslinien 515 sind dargestellt. Eine Linie 515A ist bei einer Standardabweichung um den Nennwert 510 dargestellt und die andere Linie 515B ist bei einer Standardabweichung unter dem Nennwert 510 dargestellt.
-
6 ist ein Schaubild 600, das eine Varianz einer gegenwärtigen Fahrzeugeigenschaft zu dem Nennwert darstellt. Der Punkt 605 stellt die gegenwärtige Fahrzeugeigenschaft für das Hostfahrzeug 100 dar. Zum Beispiel kann der Punkt 605 die gegenwärtige Durchschnittsgeschwindigkeit des Hostfahrzeugs 100 auf einem Straßensegment repräsentieren. Die Linie 610 kann den Nennwert basierend auf z. B. historischen Daten repräsentieren und die Linien 615A und 615B können eine Standardabweichung über bzw. unter dem Nennwert 605 repräsentieren. Die Linie 620 kann die Differenz zwischen der gegenwärtigen Fahrzeugeigenschaft 605 und dem Nennwert 610 repräsentieren und die Linie 625 kann die Größe der Standardabweichung repräsentieren. Die Varianz kann aus den Größen bestimmt werden, die durch die Linien 620 und 625 repräsentiert werden, wobei die Linie 620 den Zähler aus Gleichung (1) repräsentiert und die Linie 625 den Nenner aus Gleichung (1) repräsentiert.
-
7 ist ein Schaubild 700, das darstellt, wie zukünftige Fahrzeugeigenschaften in der Fahrtrichtung des Fahrzeugs vorhergesagt und in Bezug auf die Nenn- und Varianzwerte von zukünftigen Straßensegmenten berücksichtigt werden können. Die x-Achse repräsentiert unterschiedliche Straßensegmente und die y-Achse repräsentiert durchschnittliche Eigenschaften (z. B. Geschwindigkeiten) für jedes Straßensegment. Der Punkt 705A repräsentiert die gegenwärtige Fahrzeugeigenschaft (d. h. Geschwindigkeit) und die Punkte 705B–705F repräsentieren die vorhergesagte Fahrzeugeigenschaft. Dieses Beispiel könnte sechs Straßensegmente vor, während und nach einer Biegung in der Straße repräsentieren, bei denen Geschwindigkeiten bis zu dem Straßensegment bei 705D abnehmen und danach die Fahrzeuggeschwindigkeiten für Straßensegmente über 705D hinaus erhöht werden. Die Linie 710 verbindet die Nennwerte, die mit jedem Straßensegment verknüpft sind, und die Linien 715A und 715B verbinden die positiven bzw. negativen Standardabweichungen für jeden der Nennwerte. Die Nennwerte 710 und die Standardabweichungen 715A, 715B können auf historischen Daten basieren, wie oben erläutert.
-
Wie in dem beispielhaften Schaubild 700 dargestellt, werden die zweite und die dritte vorhergesagte Fahrzeuggeschwindigkeit 705C, 705D mehr als eine Standardabweichung über der Nenngeschwindigkeit 710 sein. Nachdem dies festgestellt ist, kann das Fahrzeugsystem 105 einen geeigneten Korrekturfaktor auswählen und anwenden, um die Geschwindigkeit des Hostfahrzeugs 100 vor dem Erreichen der Straßensegmente zu reduzieren, die der zweiten und der dritten vorhergesagten Fahrzeuggeschwindigkeit 705C, 705D entsprechen, so dass die tatsächliche Fahrzeuggeschwindigkeit zu dem Zeitpunkt, an dem das Hostfahrzeug 100 diese Straßensegmente tatsächlich erreicht, innerhalb einer Standardabweichung des Nennwertes 710 liegt.
-
8 ist ein Flussdiagramm eines beispielhaften Prozesses 800, der von dem Fahrzeugsystem 105 zur Verwendung von crowdbasierten Daten über Straßensegmente zum autonomen Steuern des Fahrzeugs ausgeführt werden kann. Der Prozess 800 kann zu jedem beliebigen Zeitpunkt eingeleitet werden, wenn das Hostfahrzeug 100 in einem autonomen Modus betrieben wird. Ferner kann der Prozess 800 solange wiederholt werden, wie das Hostfahrzeug 100 in dem autonomen Modus betrieben wird.
-
Bei Block 805 kann das Fahrzeugsystem 105 die Fahrzeugeigenschaft empfangen. Die Fahrzeugeigenschaft kann von einem oder mehreren Fahrzeugsubsystemen 130 empfangen werden und kann z. B. eine Fahrzeuggeschwindigkeit beinhalten. Die Fahrzeugeigenschaft kann von dem Datenspeichermedium 120, der Verarbeitungsschaltung 125 oder beiden empfangen werden. Bei einer möglichen Implementierung beinhaltet die empfangene Fahrzeugeigenschaft eine gegenwärtige Fahrzeugeigenschaft wie die gegenwärtige Geschwindigkeit des Hostfahrzeugs 100.
-
Bei Block 810 kann das Fahrzeugsystem 105 den Nennwert für die Fahrzeugeigenschaft bestimmen, die bei Block 805 empfangen wird. Das Bestimmen des Nennwertes kann das Empfangen des Nennwertes von einem Remoteserver 110 beinhalten. Zum Beispiel kann das Fahrzeugsystem 105 den Remoteserver 110 nach dem Nennwert basierend auf dem gegenwärtigen Standort oder einem zukünftigen Standort des Hostfahrzeugs 100 abfragen. Der Remoteserver 110 kann den Nennwert oder historische Daten an das Fahrzeugsystem 105 übertragen. Die Kommunikationsvorrichtung kann den Nennwert oder historische Daten empfangen und den Nennwert oder historische Daten in dem Datenspeichermedium 120 speichern. Die Verarbeitungsschaltung 125 kann auf den Nennwert von dem Datenspeichermedium 120 zugreifen. Als Alternative kann die Verarbeitungsschaltung 125 den Nennwert aus den historischen Daten bestimmen. Darüber hinaus kann der Remoteserver 110 die Standardabweichung, die mit dem Nennwert verknüpft ist, zusammen mit dem Nennwert an das Fahrzeugsystem 105 übertragen. Als Alternative kann die Verarbeitungsschaltung 125 die Standardabweichung aus den historischen Daten bestimmen.
-
Bei Block 815 kann das Fahrzeugsystem 105 einen Korrekturfaktor bestimmen. Der Korrekturfaktor kann eine nichtlineare Funktion der Varianz sein. Zum Beispiel kann der Korrekturfaktor für eine relativ hohe Varianz (z. B. > 80 %) bewirken, dass das Hostfahrzeug 100 schnell auf den Nennwert abbremst, während der Korrekturfaktor für eine relativ niedrige Varianz (z. B. < 10 %) bewirken kann, dass das Hostfahrzeug 100 langsam auf den Nennwert abbremst. Die Verarbeitungsschaltung 125 kann den Korrekturfaktor daher basierend auf der Varianz bestimmen. Die Varianz kann z. B. aus der gegenwärtigen Fahrzeugeigenschaft, dem Nennwert und der Standardabweichung bestimmt werden, wie in Gleichung (1) dargestellt.
-
Bei Block 820 kann das Fahrzeugsystem 105 den Korrekturfaktor anwenden. Zum Beispiel kann die Verarbeitungsschaltung 125 den Korrekturfaktor durch z. B. Ausgeben eines Steuersignals an ein oder mehrere Fahrzeugsubsysteme 130 wie die autonome Modussteuerung 135 anwenden. Das Steuersignal kann zum autonomen Betreiben des Hostfahrzeugs 100 gemäß dem Nennwert verwendet werden, der wie oben erläutert von anderen Fahrzeugen durch Crowdsourcing erhalten wird, die zuvor auf dem gleichen Straßensegment wie der gegenwärtige Standort des Hostfahrzeugs 100 gefahren sind.
-
Bei Block 825 kann das Fahrzeugsystem 105 eine oder mehrere zukünftige Fahrzeugeigenschaften bei einem oder mehreren Straßensegmenten vor dem Hostfahrzeug 100 vorhersagen. Zum Beispiel kann die Verarbeitungsschaltung 125 die Fahrzeuggeschwindigkeit für das nächste, die nächsten zwei oder mehrere Straßensegmente in dem Weg des Hostfahrzeugs 100 vorhersagen. Die Fahrzeuggeschwindigkeit kann aus der gegenwärtigen Fahrzeuggeschwindigkeit, wie schnell das Hostfahrzeug 100 beschleunigt oder bremst und aus dem Abstand zu jedem Straßensegment vorhergesagt werden.
-
Bei Block 830 kann das Fahrzeugsystem 105 den Nennwert und die Standardabweichung für die nächsten Straßensegmente in dem Weg des Hostfahrzeugs 100 oder mindestens die Straßensegmente bestimmen, die den vorhergesagten Fahrzeugeigenschaften entsprechen, die bei Block 825 bestimmt wurden. Die Nennwerte und die Standardabweichungen können von dem Remoteserver 110 empfangen oder aus historischen Daten bestimmt werden, die auch von dem Remoteserver 110 empfangen werden können.
-
Bei Entscheidungsblock 835 kann das Fahrzeugsystem 105 bestimmen, ob eine der vorhergesagten Fahrzeugeigenschaften einen der Nennwerte für die bevorstehenden Straßensegmente überschreitet. Bei einem möglichen Ansatz kann das Fahrzeugsystem 105 bestimmen, ob eine der vorhergesagten Fahrzeugeigenschaften den Nennwert für ihr jeweiliges Straßensegment um mehr als eine Standardabweichung überschreitet. Die Entscheidung bei Block 835 kann von der Verarbeitungsschaltung 125 getroffen werden. Falls eine der vorhergesagten Fahrzeugeigenschaften um mehr als eine Standardabweichung von dem Nennwert entfernt ist, kann der Prozess 800 zu Block 840 übergehen. Ansonsten kann der Prozess 800 zu dem Block 805 oder 825 zurückkehren.
-
Bei Block 840 kann das Fahrzeugsystem 105 einen neuen Korrekturfaktor auswählen. Die Verarbeitungsschaltung 125 kann zum Beispiel einen Korrekturfaktor auswählen, der bewirkt, dass das Hostfahrzeug 100 bei oder nahe bei dem Nennwert (z. B. innerhalb einer Standardabweichung) bei jedem bevorstehenden Straßensegment betrieben wird.
-
Bei Block 845 kann das Fahrzeugsystem 105 den neuen Korrekturfaktor anwenden. Das heißt, die Verarbeitungsschaltung 125 kann den neuen Korrekturfaktor durch z. B. Ausgeben eines Steuersignals an ein oder mehrere Fahrzeugsubsysteme 130 wie die autonome Modussteuerung 135 anwenden. Das Steuersignal kann zum autonomen Betreiben des Hostfahrzeugs 100 gemäß dem Nenn- und Varianzwert bei jedem Straßensegment verwendet werden.
-
Der Prozess 800 kann zu Block 805 oder 825 zurückkehren, so dass das Hostfahrzeug 100 weiterhin gemäß den crowdbasierten Nennwerten autonom gesteuert werden kann.
-
Durch Steuern des Hostfahrzeugs 100 aus crowdbasierten Daten kann das Fahrzeugsystem 105 bewirken, dass das Hostfahrzeug 100 autonom betrieben wird, als ob es von einem menschlichen Fahrer gefahren wird, der die vor sich liegende Straße im Vorfeld kennt. Somit kann der vom Menschen betriebene Fahrstil die Fahrzeugreaktion verbessern und dazu führen, dass sich Fahrgäste wohler füllen, während das Hostfahrzeug 100 in einem autonomen Modus betrieben wird.
-
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges einer Reihe von Computerbetriebssystemen einsetzen, einschließlich, jedoch auf keinen Fall eingeschränkt auf, Versionen und/oder Varianten des Ford Sync®-Betriebssystems, des Microsoft Windows®-Betriebssystems, des Unix-Betriebssystems (z. B. das Solaris®-Betriebssystem, das von der Oracle Corporation in Redwood Shores, Kalifornien, USA, vertrieben wird), des AIX-UNIX-Betriebssystems, das von International Business Machines in Armonk, New York, USA, vertrieben wird, des Linux-Betriebssystems, der Mac OSX- und -iOS-Betriebssysteme, die von der Apple Inc. in Cupertino, Kalifornien, USA, vertrieben werden, des BlackBerry OS, das von der Blackberry, Ltd. in Waterloo, Kanada, vertrieben wird, und des Android-Betriebssystems, das von der Google, Inc. und der Open Handset Alliance entwickelt wird. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen Fahrzeug-Bordcomputer, eine Computer-Workstation, einen Server, einen Tisch-, Notebook-, Laptop- oder Hand-Computer oder ein(e) sonstige(s) andere(s) Rechensystem und/oder -vorrichtung.
-
Rechenvorrichtungen beinhalten allgemein computerausführbare Anweisungen, wobei die Anweisungen von einer oder mehreren wie den oben aufgelisteten Rechenvorrichtungen ausgeführt werden können. Computerausführbare Anweisungen können aus Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, darunter, aber ohne Beschränkung und entweder alleine oder in Kombination, JavaTM, C, C++, Visual Basic, Java Script, Perl usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen z. B. aus einem Speicher, 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 können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden.
-
Ein computerlesbares Medium (auch als ein prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nicht flüchtiges (z. B. greifbares) Medium, das an einer Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die von einem Computer gelesen werden können (z. B. von einem Prozessor eines Computers). Ein derartiges Medium kann viele Formen annehmen, darunter, unter anderem, nichtflüchtige Medien und flüchtige Medien. Nichtflüchtige Medien können zum Beispiel optische oder magnetische Datenträger und andere persistente Speicher beinhalten. Flüchtige Medien können zum Beispiel dynamische Direktzugriffsspeicher (DRAM), die in der Regel einen Hauptspeicher bilden, beinhalten. Derartige Anweisungen können von einem oder mehreren Übertragungsmedien, einschließlich Koaxialkabeln, Kupferdraht und Glasfasern, einschließlich der Drähte, die einen Systembus umfassen, der mit einem Prozessor eines Computers gekoppelt ist, übertragen werden. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Papierband, 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, woraus ein Computer lesen kann.
-
Zu Datenbanken, Datenbehältern oder anderen Datenspeichern, die hierin beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern und Abrufen verschiedener Arten von Daten sowie Zugreifen auf diese zählen, einschließlich einer hierarchischen Datenbank, eines Dateisatzes in einem Dateisystem, einer Anwendungsdatenbank in einem gesetzlich geschützten Format, eines relationalen Datenbankverwaltungssystems (relational database management system, RDBMS) usw. Jeder derartige Datenspeicher ist allgemein in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie eines der oben erwähnten, und auf ihn wird mittels eines Netzes auf eine beliebige oder beliebige mehrere einer Vielfalt von Methoden zugegriffen. Ein Dateisystem kann von einem Computerbetriebssystem zugreifbar sein und kann Dateien beinhalten, die in diversen Formaten gespeichert sind.
-
Ein RDBMS wendet allgemein die Structured Query Language (SQL), zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Prozeduren, wie etwa die oben erwähnte PL/SQL-Sprache, an.
-
Bei einigen Beispielen sind Systemelemente möglicherweise als computerlesbare Anweisungen (z.B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Server, PCs usw.) implementiert, auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speicher usw.) gespeichert. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der hier beschriebenen Funktionen umfassen.
-
Mit Bezug auf die vorliegend beschriebenen Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, obwohl die Schritte derartiger Prozesse usw. als gemäß einer bestimmten geordneten Abfolge auftretend beschrieben wurden, solche Prozesse mit in einer anderen als der vorliegend beschriebenen Reihenfolge ausgeführten beschriebenen Schritten ausgeübt werden könnten. Des Weiteren versteht es sich, dass bestimmte Schritte gleichzeitig durchgeführt werden könnten, dass weitere Schritte hinzugefügt werden könnten, oder dass bestimmte vorliegend beschriebene Schritte ausgelassen werden könnten. Mit anderen Worten werden die Beschreibungen von Prozessen hierin zum Zwecke der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten in keiner Weise als Beschränkung der Ansprüche aufgefasst werden.
-
Dementsprechend versteht es sich, dass die obige Beschreibung nicht einschränkend, sondern veranschaulichend sein soll. Viele andere Ausführungsformen und Anwendungen als die angeführten Beispiele würden beim Lesen der obigen Beschreibung hervorgehen. Der Schutzumfang sollte nicht unter Bezugnahme auf die obige Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf die beiliegenden Ansprüche zusammen mit dem vollen Umfang von Äquivalenten, zu denen diese Ansprüche berechtigt sind. Es wird erwartet und beabsichtigt, dass zukünftige Entwicklungen in den hier besprochenen Technologien auftreten werden und dass die offenbarten Systeme und Verfahren in solche zukünftigen Ausführungsformen integriert werden. Zusammengefasst versteht es sich, dass die Anmeldung modifiziert und abgewandelt werden kann.
-
Alle in den Ansprüchen verwendeten Begriffe sind dafür beabsichtigt, ihre gewöhnliche Bedeutung zu erhalten, wie sie von in den hier beschriebenen Technologien bewanderten Fachleuten verstanden wird, es sei denn, dass hier ein expliziter Hinweis auf das Gegenteil gemacht wird. Insbesondere ist die Verwendung der Artikel im Singular wie „ein“, „einer“, „eine“, „eines“, „der“, „die“, „das“, „besagte“, „besagter“ usw. als Angabe eines oder mehrerer der aufgezeigten Elemente zu verstehen, sofern ein Anspruch nicht ausdrücklich eine gegensätzliche Einschränkung angibt.
-
Die Zusammenfassung wird bereitgestellt, um dem Leser zu ermöglichen, schnell die Natur der technischen Offenbarung festzustellen. Sie wird mit dem Verständnis eingereicht, dass sie nicht dazu verwendet werden soll, den Schutzumfang oder die Bedeutung der Ansprüche zu interpretieren oder zu beschränken. Zusätzlich kann in der vorangehenden Ausführlichen Beschreibung gesehen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen für den Zweck der Übersichtlichkeit der Offenbarung gruppiert sind. Diese Vorgehensweise der Offenbarung ist nicht als eine Absicht wiedergebend zu interpretieren, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern als ausdrücklich in jedem Anspruch dargelegt ist. Vielmehr liegt der Erfindungsgegenstand in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform, wie es die folgenden Ansprüche wiedergeben. Somit werden die folgenden Ansprüche hiermit in die Ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich als ein eigenständig beanspruchter Gegenstand steht.