-
ALLGEMEINER STAND DER TECHNIK
-
Ein Fahrzeug ist typischerweise auf Informationen von verschiedenen Systemen und Komponenten, wie etwa einem Navigationssystem, Sensoren usw. angewiesen. Informationen von den verschiedenen Systemen und Komponenten können zum Navigieren des Fahrzeugs verwendet werden, wie etwa diejenigen, welche zum Navigieren eines halbautonomen oder autonomen Fahrzeugs verwendet werden. Es können Fehler an verschiedenen Systemen und Komponenten des Fahrzeugs auftreten, die das Fahrzeug insgesamt oder teilweise unbedienbar machen, wodurch das Fahrzeug unter Umständen an einem unerwünschten Ort stehen bleibt, beispielsweise so, dass es eine Straße blockiert.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Systems zum Steuern eines beispielhaften Fahrzeugs.
- 2 ist eine perspektivische Ansicht des beispielhaften Fahrzeugs zur Verwendung mit dem beispielhaften System zum Steuern des beispielhaften Fahrzeugs.
- 3 ist ein beispielhafter Prozess zum Betreiben des beispielhaften Systems zum Steuern des beispielhaften Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
Einleitung
-
In dieser Schrift wird ein Verfahren offenbart, welches das Empfangen erster Daten von einer ersten Quelle beinhaltet, bei der es sich um ein Fahrzeug handelt. Die ersten Daten zeigen einen Fehler des Fahrzeugs an. Das Verfahren beinhaltet das Empfangen zweiter Daten von einer zweiten Quelle außerhalb des Fahrzeugs, die ein Gebiet um das Fahrzeug beschreiben. Das Verfahren beinhaltet das Bestimmen eines Navigationsplans auf Grundlage der ersten und der zweiten Daten. Das Verfahren beinhaltet das Übertragen einer Anweisung an das Fahrzeug zum Betätigen des Fahrzeugs gemäß dem Naavigationsplan.
-
Die zweiten Daten können einen Fahrzeugstandort beinhalten.
-
Die Anweisung an das Fahrzeug kann eine Anweisung zum Betätigen eines oder mehrerer eines Antriebs, eines Bremssystems und eines Lenksystems beinhalten.
-
Die ersten Daten können einen Standort des Fahrzeugs beinhalten.
-
Die zweiten Daten können Daten beinhalten, welche die Navigation mindestens eines anderen Fahrzeugs beschreiben.
-
Die zweiten Daten können einen Standort eines Objekts beinhalten.
-
Die zweiten Daten können eine Statuskennung eines Elements in dem Gebiet um das Fahrzeug beinhalten.
-
Das Verfahren kann das Übertragen der ersten Daten als Reaktion darauf beinhalten, dass bestimmt wird, dass das Fahrzeug nicht in einem Normalmodus betrieben werden kann.
-
Das Verfahren kann das Betätigen eines Bremssystems zum Anhalten des Fahrzeugs, wenn zumindest entweder ein Objekt in einem Weg des Fahrzeugs erfasst wird oder ein Aufprall des Fahrzeugs erfasst wird, beinhalten. Das Verfahren kann das Bestimmen, dass das Fahrzeug nicht im Normalmodus betrieben werden kann, als Reaktion auf das Anhalten beinhalten.
-
Das Verfahren kann das Identifizieren eines Standorts des Fahrzeugs nach dem Anhalten des Fahrzeugs beinhalten. Das Verfahren kann das Übertragen der ersten Daten als Reaktion darauf beinhalten, dass bestimmt wird, dass es sich bei dem Standort nicht um einen autorisierten Anhaltestandort handelt.
-
Das Verfahren kann das Bestimmen eines Gebiets, welches das Fahrzeug durchqueren kann, beinhalten. Der Navigationsplan kann eine Route außerhalb des Gebiets, welches das Fahrzeug durchqueren kann, beinhalten.
-
Das Verfahren kann das Übertragen der ersten Daten als Reaktion darauf beinhalten, dass ein Fehler identifiziert wird, der verhindert, dass das Fahrzeug im Normalmodus betrieben wird.
-
In dieser Schrift wird ein Computer offenbart, der dazu programmiert ist, das Verfahren durchzuführen.
-
In dieser Schrift wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um das Verfahren durchzuführen.
-
In dieser Schrift wird ein System offenbart, das einen Servercomputer und einen Fahrzeugcomputer beinhaltet. Die Computer sind dazu programmiert, gemeinsam das Verfahren durchzuführen.
-
In dieser Schrift wird ein System offenbart, das einen Computer beinhaltet, der dazu programmiert ist, erste Daten von einer ersten Quelle zu empfangen, bei der es sich um ein Fahrzeug handelt. Die ersten Daten zeigen einen Fehler des Fahrzeugs an. Der Computer ist dazu programmiert, zweite Daten von einer zweiten Quelle außerhalb des Fahrzeugs zu empfangen, die ein Gebiet um das Fahrzeug beschreiben. Der Computer ist dazu programmiert, auf Grundlage der ersten und der zweiten Daten einen Navigationsplan zu bestimmen. Der Computer ist dazu programmiert, eine Anweisung an das Fahrzeug zum Betätigen des Fahrzeugs gemäß dem Navigationsplan zu übertragen.
-
Die zweiten Daten können einen Fahrzeugstandort beinhalten.
-
Die Anweisung an das Fahrzeug kann eine Anweisung zum Betätigen eines oder mehrerer eines Antriebs, eines Bremssystems und eines Lenksystems beinhalten.
-
Die ersten Daten können einen Standort des Fahrzeugs beinhalten.
-
Die zweiten Daten können Daten beinhalten, welche die Navigation mindestens eines anderen Fahrzeugs beschreiben.
-
Das System kann einen zweiten Computer beinhalten, der sich in dem Fahrzeug befindet. Der zweiten Computer kann dazu programmiert sein, die ersten Daten als Reaktion darauf zu übertragen, dass bestimmt wird, dass das Fahrzeug nicht in einem Normalmodus betrieben werden kann.
-
Der zweite Computer kann dazu programmiert sein, ein Bremssystem des Fahrzeugs zu betätigen, um das Fahrzeug anzuhalten, wenn zumindest entweder ein Objekt in einem Weg des Fahrzeugs erfasst wird oder ein Aufprall des Fahrzeugs erfasst wird. Der zweite Computer kann dazu programmiert sein, als Reaktion auf das Anhalten zu bestimmen, dass das Fahrzeug nicht im Normalmodus betrieben werden kann.
-
Der zweite Computer kann dazu programmiert sein, einen Standort des Fahrzeugs nach dem Anhalten des Fahrzeugs zu identifizieren. Der zweite Computer kann dazu programmiert sein, die ersten Daten als Reaktion darauf zu übertragen, dass bestimmt wird, dass es sich bei dem Standort nicht um einen autorisierten Anhaltestandort handelt.
-
Der zweite Computer kann dazu programmiert sein, ein Gebiet zu bestimmen, welches das Fahrzeug durchqueren kann. Der Navigationsplan kann eine Route außerhalb des Gebiets, welches das Fahrzeug durchqueren kann, beinhalten.
-
Der zweite Computer kann dazu programmiert sein, die ersten Daten als Reaktion darauf zu senden, dass ein Fehler identifiziert wird, der verhindert, dass das Fahrzeug im Normalmodus betrieben wird.
-
Unter Bezugnahme auf die 1 und 2 behebt ein System 10 zum Steuern eines Fahrzeugs 12 das Problem, dass das Fahrzeug 12 durch einen Fehler an einer/m oder mehreren Komponenten oder Systemen des Fahrzeugs 12 negativ beeinflusst wird. Ein Computer, z. B. ein Servercomputer 14, kann dazu programmiert sein, Anweisungen an das Fahrzeug 12 bereitzustellen. Der Servercomputer 14 empfängt Informationen von dem Fahrzeug 12 und von mindestens einer anderen Quelle. Dementsprechend ist der Servercomputer 14 dazu programmiert, erste Daten von einer ersten Quelle zu empfangen, bei der es sich um das Fahrzeug 12 handelt. Die ersten Daten beschreiben einen Fehler des Fahrzeugs 12. Der Servercomputer 14 ist dazu programmiert, zweite Daten von einer zweiten Quelle außerhalb des Fahrzeugs 12 zu empfangen. Beispielhafte Quellen außerhalb des Fahrzeugs 12 beinhalten ein oder mehrere andere Fahrzeuge 16, einen oder mehrere andere Servercomputer 14, eine Benutzervorrichtung 18 usw. Die zweiten Daten beschreiben ein Gebiet um das Fahrzeug 12. Der Servercomputer 14 ist dazu programmiert, auf Grundlage der ersten und der zweiten Daten einen Navigationsplan zu bestimmen. Der Servercomputer 14 ist dazu programmiert, eine Anweisung an das Fahrzeug 12 zum Betätigen des Fahrzeugs 12 gemäß dem Navigationsplan zu übertragen.
-
Im hier verwendeten Sinne ist ein „Fehler“ ein Zustand, bei dem eine oder mehrere Komponenten des Fahrzeugs 12 nicht ordnungsgemäß arbeiten, d. h. eine oder mehrere Komponenten des Fahrzeugs 12 ausfallen oder nicht betrieben werden können. Jeder Fehler kann einer bestimmten Komponente des Fahrzeugs 12 zugeordnet sein, z. B. einem/r bestimmten System, Teilsystem, Vorrichtung, Sensor 20 usw. des Fahrzeugs 12. Ein Fehler kann auf Grundlage einer Nachricht von einer Komponente des Fahrzeugs 12, welche explizit auf den Fehler hinweist, bestimmt werden. Ein Fehler kann auf Grundlage von Informationen von einer/m oder mehreren Komponenten und/oder Sensoren 20 des Fahrzeugs 12 bestimmt werden, die verwendet werden können, um einen oder mehrere Fehler an einer oder mehreren Komponenten des Fahrzeugs 12 abzuleiten.
-
Im hier verwendeten Sinne ist ein „Gebiet um das Fahrzeug“ 12 ein Gebiet innerhalb einer Schwellenwertentfernung, z. B. 50 Metern, von einem Standort des Fahrzeugs 12. Wenn sich diese Offenbarung auf einen „Standort“ bezieht, versteht es sich, dass der Standort in einer bekannten Weise, z. B. gemäß Geokoordinaten, wie sie bekannt sind, bestimmten werden könnte. Beispielsweise können globale Positionsbestimmungssystems(GPS)-Vorrichtungen Breitengrad und Längengrad bestimmen und könnten verwendet werden, um hier erörterte Standorte zu bestimmen.
-
Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können Geländeeigenschaften und Objekte in dem Gebiet beinhalten. Beispielsweise können die Daten einen Oberflächentyp verschiedener Abschnitte des Gebiets beschreiben, z. B. Asphalt, Kies, Rasen, Wasser usw. Die Daten können ein Oberflächenprofil verschiedener Abschnitte des Gebiets beschreiben, z. B. ein Gefälle, einschließlich eines Neigungswinkels und einer Richtung des Gefälles, eine Stufe, einschließlich einer Höhenänderung, wie etwa eines Abfalls der Stufe, usw. Die Daten können einen Standort eines oder mehrerer Objekte innerhalb des Gebiets bereitstellen, z. B. den Standort eines anderen Fahrzeugs 16, den Standort eines Infrastrukturelements, wie etwa einer Leitplanke oder eines Stützpfeilers einer Überführung, usw. Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können eine Statuskennung eines Elements in dem Gebiet beinhalten, z. B. dass eine Spur 22 in dem Gebiet für den Verkehr geschlossen ist, z. B. dass die Spur 22 vor dem Gebiet um das Fahrzeug 12 blockiert ist. Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können einen Fahrzeugstandort 24 beinhalten. Im hier verwendeten Sinne ist ein „Fahrzeugstandort“ 24 ein Standort für das Fahrzeug 12, z. B. nachdem das Fahrzeug 12 gemäß dem Navigationsplan navigiert wurde. Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können die Navigation mindestens eines anderen Fahrzeugs, z. B. des zweiten Fahrzeugs 16, in dem Gebiet um das Fahrzeug 12 beschreiben. Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können Bilddaten beinhalten, z. B. von einem oder mehreren anderen Fahrzeugen 16, die sich in dem Gebiet um das Fahrzeug 12 aufhalten, erhaltene.
-
Im hier verwendeten Sinne ist ein „Navigationsplan“ ein Satz einer oder mehrerer Anweisungen zum Betätigen der Komponenten des Fahrzeugs 12 zum Leiten des Fahrzeugs 12 an einen identifizierten Standort. Der Navigationsplan beinhaltet daher eine Route 26 mit Anweisungen, welche das Betätigen einer oder mehrerer Komponenten des Fahrzeugs 12 entlang der Route 26 angeben.
-
Im hier verwendeten Sinne ist eine „Route“ 26 eine Reihe eines oder mehrerer Standorte und/oder Vektoren, die zum Navigieren des Fahrzeugs 12, z. B. zum Betätigen des Fahrzeugs 12 gemäß dem Navigationsplan, verwendet werden. Der Vektor kann eine Richtung, z. B. eine Kompassfahrtrichtung, und eine Entfernung, z. B. 10 Meter, beinhalten.
-
Das Weitverkehrsnetz
-
Ein Netz 28 (mitunter als Weitverkehrsnetz bezeichnet, da es Kommunikationen zwischen Vorrichtungen beinhalten kann, die geografisch voneinander entfernt sind, d. h. sich nicht im gleichen Gebäude, Fahrzeug 12 usw. befinden) stellt einen oder mehrere Mechanismen dar, durch die entfernte Vorrichtungen, z. B. das Fahrzeug 12, das zweite Fahrzeug 16, der Servercomputer 14, die Benutzervorrichtung 18 usw., miteinander kommunizieren können. Dementsprechend kann es sich bei dem Netz 28 um einen oder mehrere drahtgebundene oder drahtlose Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Beispielhafte Kommunikationsnetze beinhalten drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth, IEEE 802.11 usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetze (wide area network - WAN) einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Das Fahrzeus
-
Das Fahrzeug 12 kann ein beliebiges Personen- oder Nutzfahrzeug, wie etwa ein Auto, einen Truck, einen SUV, ein Crossover-Fahrzeug, einen Van, einen Minivan, ein Taxi, einen Bus, usw. beinhalten. Das Fahrzeug 12 kann in einem autonomen (z. B. fahrerlosen) Modus, einem halbautonomen Modus und/oder einem nicht autonomen Modus betrieben werden. Für Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem ein Antrieb 30, ein Bremssystem 32 und ein Lenksystem 34 des Fahrzeugs 12 jeweils durch einen oder mehrere Computer 36 des Fahrzeugs 12 gesteuert werden; im halbautonomen Modus werden ein oder zwei von Antrieb 30, Bremssystem 32 und Lenksystem 34 des Fahrzeugs 12 durch einen oder mehrere Computer 36 des Fahrzeugs 12 gesteuert; im nicht autonomen Modus werden sie alle durch einen menschlichen Bediener gesteuert. Das Fahrzeug 12 kann zusätzlich Sensoren 20, ein Navigationssystem 38, eine Benutzerschnittstelle 39 und ein bordeigenes Kommunikationsnetz 40 zum Bereitstellen von Kommunikation zwischen den Komponenten des Fahrzeugs 12 beinhalten.
-
Der Antrieb 30 des Fahrzeugs 12 wandelt gespeicherte Energie in eine Bewegung des Fahrzeugs 12 um. Der Antrieb 30 kann ein herkömmliches Teilsystem des Fahrzeugs 12 sein, beispielsweise ein herkömmlicher Antriebsstrang, der einen Verbrennungsmotor beinhaltet, der an ein Getriebe gekoppelt ist, das eine Drehbewegung auf die Räder überträgt; ein elektrischer Antriebsstrang, der Batterien, einen Elektromotor und ein Getriebe, das eine Drehbewegung auf die Räder überträgt, beinhaltet; ein Hybridantriebsstrang, der Elementen des herkömmlichen Antriebsstrangs und des elektrischen Antriebsstrangs beinhaltet; oder ein beliebiger anderer Typ von Antrieb 30. Der Antrieb 30 steht mit dem Computer 36 des Fahrzeugs 12 und einem menschlichen Fahrer in Kommunikation und empfängt Eingaben von diesen. Der menschliche Fahrer kann den Antrieb 30 über eine Eingabevorrichtung, z. B. ein Gaspedal und/oder einen Gangschalthebel, steuern. Der Antrieb 30 kann eine Nachricht an den Computer 36 des Fahrzeugs 12 senden. Die Nachricht kann auf einen Fehler am Antrieb 30 hinweisen. Die Nachricht kann auf einen Zustand des Antriebs 30, z. B. ein Ausgeben von Drehmoment durch den Elektromotor, hinweisen, z. B. als Reaktion auf eine vom Computer 36 des Fahrzeugs 12 empfangene Anweisung.
-
Das Bremssystem 32 kann ein herkömmliches Teilsystem des Fahrzeugs 12 sein, das der Bewegung des Fahrzeugs 12 entgegenwirkt, um dadurch das Fahrzeug 12 zu verlangsamen und/oder anzuhalten. Bei dem Bremssystem 32 kann es sich um Reibungsbremsen, wie etwa Scheibenbremsen, Trommelbremsen, Bandbremsen usw.; Nutzbremsen; einen beliebigen anderen geeigneten Typ von Bremsen; oder eine Kombination handeln. Das Bremssystem 32 kann eine elektronische Steuereinheit (ECU) oder dergleichen beinhalten, die das Bremssystem 32 so betätigt, dass es der Bewegung des Fahrzeugs 12 entgegenwirkt, z. B. als Reaktion auf einen Befehl von dem Computer 36 des Fahrzeugs 12 und/oder von einem menschlichen Fahrer. Der menschliche Fahrer kann das Bremssystem 32 über eine Eingabevorrichtung, z. B. ein Bremspedal, steuern. Das Bremssystem 32 kann eine Nachricht an den Computer 36 des Fahrzeugs 12 senden. Die Nachricht kann auf einen Fehler am Bremssystem 32 hinweisen. Die Nachricht kann auf einen Zustand des Bremssystems 32, z. B. einen Eingriff der Scheibenbremse, hinweisen, z. B. als Reaktion auf eine vom Computer 36 des Fahrzeugs 12 empfangene Anweisung.
-
Das Lenksystem 34 ist typischerweise ein herkömmliches Teilsystem des Fahrzeugs 12 und steuert das Drehen der Räder, d. h. es verändert die Ausrichtung der Räder. Das Lenksystem 34 steht mit einem Lenkrad und/oder dem Computer 36 des Fahrzeugs 12 in Kommunikation und empfängt Eingaben von diesen. Das Lenksystem 34 kann ein Zahnstangensystem mit elektrisch unterstützter Lenkung, ein Steer-by-Wire-System, wie sie beide auf dem Fachgebiet bekannt sind, oder ein beliebiges anderes geeignetes System sein. Das Lenksystem 34 kann eine Nachricht an den Computer 36 des Fahrzeugs 12 senden. Die Nachricht kann auf einen Fehler am Lenksystem 34 hinweisen. Die Nachricht kann auf einen Zustand des Lenksystems 34, z. B. das Drehen der Räder durch das Steer-by-Wire-System, hinweisen, z. B. als Reaktion auf eine vom Computer 36 des Fahrzeugs 12 empfangene Anweisung.
-
Die Sensoren 20 des Fahrzeugs 12 können interne Zustände des Fahrzeugs 12, beispielsweise Raddrehzahl, Radausrichtung, Reifendruck, Federweg, Bremssensoren, Sensoren zur Antriebsschlupfregelung und Motor- und Getriebevariablen, erfassen. Die Sensoren 20 des Fahrzeugs 12 können die Position oder Ausrichtung des Fahrzeugs 12 erfassen, beispielsweise globale Positionsbestimmungssystems(GPS)-Sensoren; Beschleunigungsmesser, wie etwa piezoelektrische oder mikroelektromechanische Systeme (MEMS); Gyroskope, wie etwa Raten-, Ringlaser- oder Faseroptik-Gyroskope; inertiale Messeinheiten (inertial measurement units - IMU); und Magnetometer. Die Sensoren 20 des Fahrzeugs 12 können die Außenwelt erfassen, beispielsweise Lichtmesssensoren, Photometer, Windgeschwindigkeitsmesssensoren, Näherungssensoren, Radarsensoren, Abtastlaserentfernungsmesser, Light-Detection-and-Ranging(LIDAR)-Vorrichtungen und Bildverarbeitungssensoren, wie etwa Kameras. Die Sensoren 20 des Fahrzeugs 12 können Daten des Fahrzeugs 12 zum Erfassen eines Aufpralls des Fahrzeugs 12 bereitstellen, z. B. können die Sensoren 20 Nachaufprallsensoren, wie etwa Beschleunigungsmesser, Drucksensoren und Kontaktschalter, beinhalten.
-
Das Navigationssystem 38 des Fahrzeugs 12 bestimmt einen Standort und eine Ausrichtung des Fahrzeugs 12 gemäß Kartendaten, z. B. durch Geokoordinaten und Kompassfahrtrichtung, die dazu verwendet werden können, den Fahrzeugstandort 24 und die Ausrichtung auf einer Karte zu bestimmen. Um den Standort und die Ausrichtung des Fahrzeugs 12 zu bestimmen, kann sich das Navigationssystem 38 des Fahrzeugs 12 auf Informationen von einem globalen Navigationssatellitensystem, Entfernungsdaten von Sensoren 20 des Fahrzeugs 12, die an einer Kraftübertragung des Fahrzeugs 12 angebracht sind, einem Gyroskop, einem Beschleunigungsmesser, einem Magnetometer und/oder anderen Sensoren 20 des Fahrzeugs 12 stützen.
-
Die Kartendaten können Straßen und zugehörige Daten beinhalten, wie etwa eine Anzahl von Spuren 22, Standorte von Parkplätzen usw. Die Kartendaten können ein Gebiet beinhalten, welches das Fahrzeug 12 durchqueren kann. Die Kartendaten können autorisierte Anhaltestandorte beinhalten. Die Kartendaten können lokal gespeichert sein, wie etwa im Speicher des Computers 36 des Fahrzeugs 12 (nachstehend erörtert), im Navigationssystem 38 des Fahrzeugs 12 usw., und entfernt, wie etwa im Servercomputer 14. Beispielhafte Navigationssysteme 38 des Fahrzeugs 12 beinhalten bekannte GPS-Navigationsvorrichtungen (globales Positionsbestimmungssystem), persönliche Navigationsvorrichtungen und Kraftfahrzeugnavigationssysteme. Ein Standort, wie er hier beschrieben ist, kann in Geokoordinaten, wie sie bekannt sind, angegeben werden und die Kartendaten können einen Standort von Kartenelementen, wie etwa Straßen, Orientierungspunkten usw. gemäß derartigen Geokoordinaten angeben.
-
Ein „autorisierter Anhaltestandort“ ist ein vorher festgelegter Standort, an dem das Fahrzeug 12 anhalten kann, z. B. mit geringen negativen Auswirkungen, wie etwa einem potentiellen Zusammenstoß mit einem anderen Fahrzeug 16, Abschleppen und/oder Strafzetteln usw. Beispielhafte autorisierte Anhaltestandorte beinhalten Standorte auf Parkplätzen, ausgewiesenes Längsparken am Straßenrand, Einfahrten usw.
-
Ein „Gebiet, welches das Fahrzeug 12 durchqueren kann“ ist eine geographische Region, in der das Fahrzeug 12 mit geringen negativen Auswirkungen, wie etwa einem potentiellen Zusammenstoß mit einem anderen Fahrzeug 12, einem Strafzettel, einem Traktionsverlust, d. h. „Steckenbleiben“ usw. in einem Normalmodus (nachstehend definiert) betrieben werden kann. Das Gebiet, welches das Fahrzeug 12 durchqueren kann, kann Straßen, einschließlich einer bestimmten Spur 22 und einer zulässigen Fahrtrichtung darin, beinhalten. Das Gebiet, welches das Fahrzeug 12 durchqueren kann, kann andere Regionen beinhalten, die speziell für Beförderungsaufgaben gewöhnlicher Fahrzeuge 12 ausgelegt sind, z. B. Parkplätze usw. Das Gebiet, welches das Fahrzeug 12 durchqueren kann, kann Regionen ausschließen, die nicht speziell für Beförderungsaufgaben gewöhnlicher Fahrzeuge 12 ausgelegt sind, auch wenn sie für das Fahrzeug 12 navigierbar sind, z. B. einen Seitenstreifen, einen Mittelstreifen einer baulich getrennten Schnellstraße usw., einschließlich des Navigierens in einer Spur 22 oder auf einer Straße in einer Richtung, die nicht der zulässigen Fahrtrichtung entspricht.
-
Die Benutzerschnittstelle 39 zeigt einem Insassen des Fahrzeugs 12 Informationen an und empfängt Informationen von diesem. Die Benutzerschnittstelle 39 kann sich z. B. an einem Armaturenbrett in der Fahrgastkabine des Fahrzeugs 12 oder an einer beliebigen Stelle befinden, an der sie ohne Weiteres durch den Insassen gesehen werden kann. Die Benutzerschnittstelle 39 kann Wahlscheiben, Digitalanzeigen, Bildschirme, wie etwa berührungsempfindliche Anzeigeschirme, Lautsprecher und so weiter zum Bereitstellen von Informationen für den Insassen beinhalten, z. B. Elemente einer Mensch-Maschine-Schnittstelle (human-machine interface - HMI). Die Benutzerschnittstelle 39 kann Tasten, Knöpfe, Tastenfelder, ein Mikrofon und so weiter zum Empfangen von Informationen von dem Insassen beinhalten.
-
Das bordeigene Kommunikationsnetz 40 beinhaltet Hardware, wie etwa einen Kommunikationsbus, eine Antenne, Schaltungen, Chips usw. zum Unterstützen von drahtgebundener oder drahtloser Kommunikation zwischen den Komponenten des Fahrzeugs 12 gemäß einer Reihe von Kommunikationsprotokollen, wie etwa dem Kommunikationsprotokoll zur dedizierten Nahbereichskommunikation (Dedicated Short Range Communication - DSRC), Controller Area Network (CAN), Ethernet, WiFi, Local Interconnect Network (LIN) und/oder anderen drahtgebundenen oder drahtlosen Mechanismen.
-
Der Computer 36 des Fahrzeugs 12, der über Schaltungen, Chips, eine Antenne und/oder andere elektronische Komponenten umgesetzt ist, ist in dem Fahrzeug 12 zum Ausführen verschiedener Vorgänge und Prozesse, einschließlich der hier beschriebenen, enthalten. Der Computer 36 des Fahrzeugs 12 ist eine Rechenvorrichtung, die im Allgemeinen einen Prozessor und einen Speicher beinhaltet, wobei der Speicher eine oder mehrere Formen computerlesbarer Medien beinhaltet und Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um verschiedene Vorgänge und Prozesse durchzuführen, einschließlich der hier beschriebenen. Der Speicher des Computers 36 des Fahrzeugs 12 speichert ferner im Allgemeinen entfernte Daten, die über verschiedene Kommunikationsmechanismen empfangen werden, z. B. ist der Computer 36 des Fahrzeugs 12 im Allgemeinen zur Kommunikation mit Komponenten des Fahrzeugs 12 auf einem Controller-Area-Network(CAN)-Bus, z. B. dem bordeigenen Kommunikationsnetz 40, und zur Verwendung anderer drahtgebundener oder drahtloser Protokolle zum Kommunizieren mit Vorrichtungen außerhalb des Fahrzeugs 12, z. B. Bluetooth®, IEEE 802.11 (umgangssprachlich als WiFi bezeichnet), Satellitentelekommunikationsprotokollen und Mobilfunkprotokollen, wie etwa 3G, LTE usw. konfiguriert. Über das bordeigene Kommunikationsnetz 40 kann der Computer 36 des Fahrzeugs 12 Nachrichten an verschiedene Vorrichtungen im Fahrzeug 12 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Systemen, Aktoren, Sensoren 20 usw., empfangen, z. B. wie hier erörtert. Obwohl in 1 zur Erleichterung der Darstellung ein Computer 36 des Fahrzeugs 12 gezeigt ist, versteht es sich, dass der Computer 36 des Fahrzeugs 12 eine oder mehrere Rechenvorrichtungen beinhalten könnte, welche die verschiedenen hier beschriebenen Vorgänge ausführen könnten.
-
Der Computer 36 des Fahrzeugs 12 ist dazu programmiert, Daten des Fahrzeugs 12, d. h. Daten, die über ein Netz des Fahrzeugs 12, wie etwa einen CAN-Bus oder dergleichen, bereitgestellt werden, zu empfangen. Die Daten des Fahrzeugs 12 können Nachrichten von den Komponenten des Fahrzeugs 12 beinhalten. Die Daten des Fahrzeugs 12 können Daten von den Sensoren 20 beinhalten. Die Daten des Fahrzeugs 12 können über das bordeigene Kommunikationsnetz 40 empfangen werden.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, zu bestimmen, ob ein Aufprall des Fahrzeugs 12 erfasst wurde, z. B. unter Verwendung bekannter Techniken auf Grundlage von Informationen von den Sensoren 20, z. B. Beschleunigungsmessern, Drucksensoren und Kontaktschaltern.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, zu bestimmen, ob ein Objekt in einem Weg des Fahrzeugs 12 erfasst wurde. Im hier verwendeten Sinne ist ein „Weg des Fahrzeugs 12“ ein Gebiet innerhalb einer Schwellenwertentfernung zu einem Standort des Fahrzeugs 12, z. B. 50 Metern, und in einer Fahrtrichtung des Fahrzeugs 12, z. B. vor einem vorwärtsfahrenden Fahrzeug 12. Ein Objekt im Weg des Fahrzeugs 12 stellt eine Kollisionsgefahr für das Fahrzeug 12 dar, wenn das Fahrzeug 12 nicht angehalten wird oder wenn das Fahrzeug 12 nicht die Richtung ändert. Der Computer 36 des Fahrzeugs 12 kann auf Grundlage von Informationen von den Sensoren 20 des Fahrzeugs 12, z. B. Sensoren, die zum Erfassen der Radausrichtung konfiguriert sind, Näherungssensoren, Radarsensoren, Abtastlaserentfernungsmessern, Light-Detection-and-Ranging(LIDAR)-Vorrichtungen und Bildverarbeitungssensoren, wie etwa Kameras, bestimmen, ob sich ein Objekt im Weg des Fahrzeugs 12 befindet.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, das Bremssystem 32 des Fahrzeugs 12 zu betätigen, um das Fahrzeug 12 anzuhalten. Im hier verwendeten Sinne ist „Anhalten“ ein Zustand des Fahrzeugs 12, bei dem eine Geschwindigkeit des Fahrzeugs 12 im Wesentlichen gleich null ist, d. h. sich das Fahrzeug 12 nicht bewegt. Der Computer 36 des Fahrzeugs 12 kann das Bremssystem 32 betätigen, um das Fahrzeug 12 anzuhalten, indem er eine Anweisung an das Bremssystem 32 sendet. Der Computer 36 des Fahrzeugs 12 kann das Bremssystem 32 betätigen, um das Fahrzeug 12 anzuhalten, wenn das Objekt im Weg des Fahrzeugs 12 erfasst wird. Der Computer 36 des Fahrzeugs 12 kann das Bremssystem 32 betätigen, um das Fahrzeug 12 anzuhalten, wenn der Aufprall des Fahrzeugs 12 erfasst wird. Der Computer 36 des Fahrzeugs 12 kann das Bremssystem 32 auf Grundlage der Daten des Fahrzeugs 12, z. B. eines Hinweises auf einen Fehler, betätigen, um das Fahrzeug 12 anzuhalten. Der Computer 36 des Fahrzeugs 12 kann das Bremssystem 32 betätigen, um das Fahrzeug 12 anzuhalten, wenn er eine Benutzereingabe über die Benutzerschnittstelle 39 empfängt.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, einen Standort des Fahrzeugs 12 zu identifizieren. Beispielsweise kann der Computer 36 des Fahrzeugs 12 den Standort des Fahrzeugs 12 auf Grundlage von dem Navigationssystem 38 über das bordeigene Kommunikationsnetz 40 empfangener Informationen bestimmen. Der Computer 36 des Fahrzeugs 12 kann den Standort des Fahrzeugs 12 als Reaktion auf das Betätigen des Bremssystems 32 zum Anhalten des Fahrzeugs 12 identifizieren.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, eine oder mehrere Fehler des Fahrzeugs 12 zu identifizieren. Der Computer 36 des Fahrzeugs 12 kann (einen) Fehler auf Grundlage von den Komponenten und/oder Sensoren 20 des Fahrzeugs 12 empfangener Nachrichten und/oder Daten und/oder eines Ausbleibens davon identifizieren.
-
Der Computer 36 des Fahrzeugs 12 kann den Fehler auf Grundlage einer von einer Komponente des Fahrzeugs 12 empfangenen Nachricht, die auf den Fehler hinweist, identifizieren, z. B. können Nachrichten des Controller Area Networks (CAN) 28 auf Ausfälle von Komponenten des Fahrzeugs 12 hinweisen. Beispielsweise kann der Computer 36 des Fahrzeugs 12 eine Fehlernachricht vom Bremssystem 32 empfangen, die auf einen Ausfall des Bremssystems 32 hinweist.
-
Der Computer 36 des Fahrzeugs 12 kann den Fehler auf Grundlage anderer Nachrichten identifizieren, die von der einen oder den mehreren Komponenten des Fahrzeugs 12 empfangen werden. Beispielsweise kann der Computer 36 des Fahrzeugs 12 den Fehler, der auf einen Ausfall des Bremssystems 32 hinweist, auf Grundlage einer Nachricht vom Bremssystem 32 bestimmen, die darauf hinweist, dass das Bremssystem 32 in einer Weise betätigt wurde, die nicht der durch den Computer 36 des Fahrzeugs 12 angewiesenen entspricht.
-
Der Computer 36 des Fahrzeugs 12 kann den Fehler auf Grundlage eines Ausbleibens einer Nachricht von der einen oder den mehreren Komponenten des Fahrzeugs 12 identifizieren.
-
Beispielsweise kann der Computer 36 des Fahrzeugs 12 den Fehler, der auf den Ausfall des Bremssystems 32 hinweist, auf Grundlage eines Ausbleibens einer Antwort vom Bremssystem 32 auf eine an das Bremssystem 32 bereitgestellte Anweisung innerhalb eines vorher festgelegten Zeitraums, z. B. 100 Millisekunden, identifizieren.
-
Der Computer 36 des Fahrzeugs 12 kann den Fehler auf Grundlage von den Sensoren 20 des Fahrzeugs 12 empfangener Daten identifizieren. Beispielsweise können die Daten der Sensoren 20 darauf hinweisen, dass das Fahrzeug 12 nicht in einer erwarteten Weise reagiert, nachdem eine Anweisung zum Betätigen einer Komponente des Fahrzeugs 12 gesendet wurde, z. B. bremst das Fahrzeug 12 nach der Anweisung an das Bremssystem 32 nicht mit einer erwarteten Rate ab.
-
Der Computer 36 des Fahrzeugs 12 kann den Fehler auf Grundlage eines Ausbleibens von Daten von den Sensoren 20 identifizieren. Beispielsweise kann der Computer 36 des Fahrzeugs 12 einen Fehler, der auf einen Ausfall des LIDAR-Sensors hinweist, identifizieren, wenn über einen vorher festgelegten Zeitraum, z. B. 500 Millisekunden, hinweg keine Daten vom LIDAR-Sensor empfangen werden.
-
Nachrichten und/oder Daten von mehreren Komponenten und/oder Sensoren 20 des Fahrzeugs 12 können kombiniert werden, um einen oder mehrere Fehler an einer oder mehreren Komponenten und/oder Sensoren 20 des Fahrzeugs 12 zu identifizieren. Es können zusätzliche Fehleridentifizierungstechniken und -verfahren verwendet werden.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, zu bestimmen, ob das Fahrzeug 12 nicht im Normalmodus betrieben werden kann. Im hier verwendeten Sinne ist der „Normalmodus“ ein Zustand des Fahrzeugs 12, bei dem eine vorher festgelegte Gruppe von Komponenten des Fahrzeugs 12 fehlerfrei arbeitet.
-
Die vorher festgelegte Gruppe von Komponenten des Fahrzeugs 12 ist typischerweise so definiert, dass sie Komponenten beinhaltet, die für einen Betrieb des Fahrzeug 12 benötigt werden, damit es sicher auf einer öffentlichen Straße fährt, z. B. Navigieren zu einem Standort, Erfassen eines Objekts, das eine Kollisionsgefahr darstellen kann, Anhalten des Fahrzeugs 12 mit einer Schwellenwertbremsrate, z. B. 20 Meilen pro Stunde pro Sekunde, Antreiben des Fahrzeugs 12 mit einer Schwellenwertgeschwindigkeit, z. B. 55 Meilen pro Stunde usw., ohne dass es zwingendermaßen auf Informationen von der Quelle außerhalb des Fahrzeugs 12 angewiesen ist. Beispielhafte Komponenten, die in der vorher festgelegten Gruppe von Komponenten enthalten sein können, beinhalten das Bremssystem 32, das Lenksystem 34, den Antrieb 30, die Sensoren 20, z. B. Sensoren, die zum Navigieren des Fahrzeugs 12 verwendet werden, das Navigationssystem 38 usw. Die vorher festgelegte Gruppe von Komponenten des Fahrzeugs 12 kann in einer Lookup-Tabelle oder dergleichen gespeichert sein, z. B. im Speicher des Computers 36 des Fahrzeugs 12.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, zu bestimmen, ob das Fahrzeug 12 nicht im Normalmodus betrieben werden kann, indem er die vorher festgelegte Gruppe von Komponenten des Fahrzeugs 12 mit dem einen oder den mehreren durch den Computer 36 des Fahrzeugs 12 identifizierten Fehlern vergleicht. Der Computer 36 des Fahrzeugs 12 kann bestimmen, dass das Fahrzeug 12 nicht im Normalmodus betrieben werden kann, wenn der/die Fehler darauf hinweisen, dass eine oder mehrere der Komponenten des Fahrzeugs 12 der vorher festgelegten Gruppe von Komponenten des Fahrzeugs 12 ausfällt. Andere Verfahren können verwendet werden, um zu bestimmen, ob das Fahrzeug 12 nicht im Normalmodus betrieben werden kann.
-
Der Computer 36 des Fahrzeugs 12 kann bestimmen, ob das Fahrzeug 12 nicht im Normalmodus betrieben werden kann, als Reaktion auf eine Betätigung des Bremssystems 32 des Fahrzeugs 12 zum Anhalten des Fahrzeugs 12.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, zu bestimmen, ob sich das Fahrzeug 12 an einem autorisierten Anhaltestandort befindet. Zusätzlich oder alternativ dazu, dass sie in den Kartendaten enthalten sind, können autorisierte Anhaltestandorte in einer Lookup-Tabelle oder dergleichen, die derartige Standorte z. B. als GPS-Koordinaten enthält, z. B. im Speicher des Computers 36 des Fahrzeugs 12, im Servercomputer 14 usw. gespeichert sein. Der Computer 36 des Fahrzeugs 12 kann bestimmen, ob sich das Fahrzeug 12 an einem autorisierten Anhaltestandort befindet, indem er den identifizierten Standort des Fahrzeugs 12 mit den vorher festgelegten Standorten vergleicht, an denen das Fahrzeug 12 anhalten kann.
-
Der Computer 36 des Fahrzeugs 12 ist dazu programmiert, Daten, z. B. den Standort des Fahrzeugs 12, den/die identifizierten Fehler, Daten des Fahrzeugs 12 usw. zu übertragen. Der Computer 36 des Fahrzeugs 12 kann die Daten an den Servercomputer 14 übertragen. Die übertragenen Daten können beispielsweise Kennungsinformationen, z. B. einen eindeutigen Namen oder eine andere Kennung, eine Internetprotokoll(IP)-Adresse usw. für den Servercomputer 14 beinhalten. Die Daten können als Reaktion darauf übertragen werden, dass bestimmt wird, dass das Fahrzeug 12 nicht im Normalmodus betrieben werden kann. Beispielsweise können die Daten als Reaktion auf das Identifizieren eines Fehlers, der verhindert, dass das Fahrzeug 12 im Normalmodus betrieben wird, z. B. als Reaktion auf das Identifizieren eines Fehlers, der in der vorher festgelegten Gruppe von Komponenten des Fahrzeugs 12 enthalten ist, die zum Betreiben des Fahrzeugs 12 benötigt werden, damit es sicher auf einer öffentlichen Straße fährt, übertragen werden. Die Daten können als Reaktion darauf übertragen werden, dass bestimmt wird, dass sich der Standort des Fahrzeugs 12 nicht an einem autorisierten Anhaltestandort befindet.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, eine Anweisung zum Betätigen einer oder mehrerer Komponenten des Fahrzeugs 12 zu empfangen. Beispielsweise kann der Computer 36 des Fahrzeugs 12 dazu programmiert sein, eine derartige Anweisung vom Servercomputer 14 über das Netz 28 zu empfangen.
-
Der Computer 36 des Fahrzeugs 12 kann dazu programmiert sein, Komponenten des Fahrzeugs 12 zu betätigen. Beispielsweise kann der Computer 36 des Fahrzeugs 12 Anweisungen über das bordeigene Kommunikationsnetz 40 an das Bremssystem 32, den Antrieb 30, das Lenksystem 34 usw. übertragen.
-
Das zweite Fahrzeug
-
Das zweite Fahrzeug 16 kann wie vorstehend für das Fahrzeug 12 beschrieben umgesetzt sein.
-
Das zweite Fahrzeug 16 kann dazu programmiert sein, einen Standort des zweiten Fahrzeugs 16, den Standort eines oder mehrerer Objekte z. B. relativ zum Standort des zweiten Fahrzeugs 16, einen Status einer Spur 22 und/oder Straße blockiert durch das zweite Fahrzeug 16, die Navigation des zweiten Fahrzeugs 16 beschreibende Daten, Daten des zweiten Fahrzeugs 16, z. B. Bilddaten von Sensoren des zweiten Fahrzeugs 16, usw. zu übertragen. Das zweite Fahrzeug 16 kann derartige Informationen auf Grundlage von Informationen, z. B. Bilddaten, von Sensoren, einem Navigationssystem usw. des zweiten Fahrzeugs 16 bestimmen. Das zweite Fahrzeug 16 kann derartige Informationen als Reaktion auf eine Anfrage, z. B. vom Servercomputer 14, übertragen. Das zweite Fahrzeug 16 kann derartige Daten z. B. über das Netz 28 an den Servercomputer 14 übertragen.
-
Die Benutzervorrichtung
-
Bei der Benutzervorrichtung 18 kann es sich um eine beliebige einer Vielzahl von Rechenvorrichtungen handeln, die über Schaltungen, Chips, eine Antenne oder andere elektronische Komponenten umgesetzt ist, und handelt es sich typischerweise um eine tragbare Vorrichtung, z. B. ein Smartphone, ein Tablet, einen persönlichen digitalen Assistenten usw.
-
Die Benutzervorrichtung 18 kann einen Computer beinhalten, der einen Prozessor und einen Speicher aufweist. Der Speicher kann Anweisungen zum Ausführen der Programmierung und der Prozesse, die hier beschrieben sind, speichern. Die Benutzervorrichtung 18 kann eine Benutzerschnittstelle beinhalten, die einem Benutzer der Benutzervorrichtung 18 Informationen anzeigt und Informationen von diesem empfängt. Die Benutzerschnittstelle kann einen berührungsempfindlichen Anzeigeschirm, einen Lautsprecher, ein Mikrofon usw. beinhalten. Die Benutzervorrichtung 18 kann mit anderen Fahrzeugen und Rechenvorrichtungen, wie hier beschrieben, kommunizieren.
-
Die Benutzervorrichtung 18 kann dazu programmiert sein, Geländeeigenschaften und Objekte, einschließlich eines Standorts derartigen Geländes und derartiger Objekte, eine Statuskennung einer Spur 22, z. B. dass die Spur 22 im Gebiet um das Fahrzeug 12 für den Verkehr geschlossen ist, einen Fahrzeugstandort 24 usw. zu übertragen. Die Benutzervorrichtung 18 kann derartige Informationen auf Grundlage einer Benutzereingabe an die Benutzerschnittstelle identifizieren. Die Benutzervorrichtung 18 kann derartige Informationen an den Servercomputer 14 übertragen. Die Benutzervorrichtung 18 kann derartige Informationen als Reaktion auf eine Benutzereingabe an die Benutzerschnittstelle übertragen.
-
Der Servercomputer
-
Bei dem Servercomputer 14 handelt es sich um eine Rechenvorrichtung, die Hardware, z. B. Schaltungen, Chips, eine Antenne usw., beinhaltet, die dazu programmiert ist, z. B. über das Netz 28 Informationen an und von anderen Rechenvorrichtungen, wie etwa denjenigen im Fahrzeug 12, im zweiten Fahrzeug 16, in der Benutzervorrichtung 18 usw. zu übertragen, zu empfangen und zu verarbeiten. Bei dem Servercomputer 14 kann es sich um einen oder mehrere Computer handeln, die jeweils im Allgemeinen mindestens einen Prozessor und mindestens einen Speicher beinhalten, die wie hier beschrieben umgesetzt sind, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausgeführt werden können, einschließlich Anweisungen zum Ausführen verschiedener hier beschriebener Prozesse.
-
Der Servercomputer 14 ist dazu programmiert, Daten, z. B. die Daten, welche den Fehler des Fahrzeugs 12 identifizieren, das Gebiet um das Fahrzeug 12 beschreibende Daten, Daten, z. B. Bilddaten, der Fahrzeuge 12, 16 usw. zu empfangen. Die Daten können vom Fahrzeug 12, vom zweiten Fahrzeug 16, von der Benutzervorrichtung 18, von einem anderen Servercomputer usw. empfangen werden. Die Daten können über das Netz 28 empfangen werden.
-
Der Servercomputer 14 ist dazu programmiert, Objekte im Gebiet um das Fahrzeug 12, z. B. auf Grundlage des Standorts des Fahrzeugs 12 und/oder des zweiten Fahrzeugs 16 und von Daten, z. B. Bilddaten, der Fahrzeuge 12, 16, zu identifizieren, z. B. unter Verwendung von Bilderkennungsprozessen und -techniken, wie sie bekannt sind.
-
Der Servercomputer 14 ist dazu programmiert, den Navigationsplan zu bestimmen. Der Navigationsplan beruht auf Daten, welche den Fehler des Fahrzeugs 12 identifizieren, und auf den ein Gebiet um das Fahrzeug 12 beschreibenden Daten.
-
Um den Navigationsplan zu bestimmen, kann der Servercomputer 14 die im Servercomputer 14 gespeicherten Kartendaten um Objekte ergänzen, die in den das Gebiet um das Fahrzeug 12 beschreibenden Daten enthalten sind, durch den Servercomputer 14 identifiziert werden usw. Beispielsweise können die Kartendaten so ergänzt werden, dass sie den Standort des zweiten Fahrzeugs 16, den Standort von Infrastrukturelementen usw. beinhalten. Der Navigationsplan kann so bestimmt werden, dass er Kollisionen des Fahrzeugs 12 mit derartigen Objekten vermeidet.
-
Um den Navigationsplan zu bestimmen, kann der Servercomputer 14 Gebiete identifizieren, die nicht speziell für Beförderungsaufgaben gewöhnlicher Fahrzeuge 12 ausgelegt sind, aber dem aktuellen Standort vorzuziehen sind. Beispielsweise kann der Servercomputer 14 eine Lookup-Tabelle oder dergleichen mit bevorzugten Gebieten speichern, z. B. ist ein rechter Seitenstreifen einem linken Seitenstreifen vorzuziehen, eine mittlere Linksabbiegerspur ist Spuren für normale Fahrt vorzuziehen, eine äußere Spur ist einer inneren Spur vorzuziehen, ein Kiesbereich ist einem Rasenbereich vorzuziehen usw. Die Lookup-Tabelle kann auf Grundlage der das Gebiet um das Fahrzeug 12 beschreibenden Daten, die z. B. von einem anderen Servercomputer, der Benutzervorrichtung 18 usw. empfangen werden, ausgefüllt werden.
-
Um den Navigationsplan zu bestimmen, kann der Servercomputer 14 Gebiete identifizieren, die beseitigte Kollisionsgefahren aufweisen, z. B. eine blockierte Spur 22 und/oder Straße, die normalerweise Verkehr aufweisen würde. Der Servercomputer 14 kann ein derartiges Gebiet auf Grundlage der das Gebiet um das Fahrzeug 12 beschreibenden Daten identifizieren. Beispielsweise auf Grundlage von das Gebiet um das Fahrzeug 12 beschreibenden Daten, die identifizieren, dass das zweite Fahrzeug 16 in einer Spur 22 oder auf einer Straße angehalten hat und dadurch den Verkehr in oder auf dieser blockiert. Der Navigationsplan kann die Navigation der blockierten Spur 22 und/oder Straße beinhalten, ohne zwingendermaßen auf Daten von Sensoren 20 des Fahrzeugs 12 angewiesen zu sein, die normalerweise zum Navigieren eines derartigen Gebiets verwendet werden können, um z. B. Kollisionen mit anderen Fahrzeugen zu vermeiden, welche die Spur 22 und/oder Straße typischerweise navigieren können.
-
Um den Navigationsplan zu bestimmen, kann der Servercomputer 14 identifizieren, welche Komponenten des Fahrzeugs 12 funktionieren, z. B. auf Grundlage der Daten, die auf Fehler des Fahrzeugs 12 hinweisen. Auf Grundlage dieser Hinweise kann der Navigationsplan alternative Betätigungsstrategien verwenden, z. B. nur Fahren im Rückwärtsgang, nur Abbiegen nach links usw. Der Servercomputer 14 kann die Standorte zur Verwendung mit dem Navigationsplan auf diejenigen begrenzen, zu denen das Fahrzeug 12 mit Fehler navigieren kann. Der Servercomputer 14 kann andere Einschränkungen von Komponenten des Fahrzeugs 12 identifizieren, z. B. einen begrenzten Fahrbereich. Auf Grundlage derartiger identifizierter Einschränkungen kann der Navigationsplan das Fahrzeug 12 nur zu einem Standort navigieren, der sich innerhalb des Bereichs des Standorts des Fahrzeugs 12 befindet.
-
Um den Navigationsplan zu bestimmen, kann der Servercomputer 14 Gebiete identifizieren, die andere Fahrzeuge 16 navigiert haben. Beispielsweise können die das Gebiet um das Fahrzeug 12 beschreibenden Daten darauf hinweisen, dass das zweite Fahrzeug 16 außerhalb des Gebiets, welches das Fahrzeug 12 durchqueren kann, navigiert hat. Der Navigationsplan kann die Navigation des Fahrzeugs 12 entlang einer Route 26 durch derartige Gebiete beinhalten.
-
Um den Navigationsplan zu bestimmen, kann sich der Servercomputer 14 auf den Fahrzeugstandort 24 stützen, der in den das Gebiet um das Fahrzeug 12 beschreibenden Daten, z. B. von der Benutzervorrichtung 18, enthalten ist. Der Navigationsplan kann das Fahrzeug 12 zum Fahrzeugstandort 24 navigieren.
-
Der Servercomputer 14 kann dazu programmiert sein, z. B. über das Netz 28 eine Anweisung an das Fahrzeug 12 zum Betätigen des Fahrzeugs 12 gemäß dem Navigationsplan zu übertragen. Die Anweisung an das Fahrzeug 12 kann eine Anweisung zum Betätigen eines oder mehrerer des Antriebs 30, des Bremssystems 32 und des Lenksystems 34 beinhalten. Beispielsweise kann der Servercomputer 14 bestimmen, welche Komponenten des Fahrzeugs 12 einzeln oder in Kombination in welcher Reihenfolge zu betätigen sind, um das Fahrzeug 12 gemäß dem Navigationsplan entlang der Route 26 zu navigieren, und derartige Anweisungen an das Fahrzeug 12 übertragen.
-
Der Servercomputer 14 kann dazu programmiert sein, zu bestimmen, ob der Navigationsplan abgeschlossen ist. Beispielsweise kann der Servercomputer 14 den Standort des Fahrzeugs 12 mit dem Standort des Navigationsplan, z. B. dem Fahrzeugstandort 24, vergleichen. Der Servercomputer 14 kann bestimmen, dass der Navigationsplan abgeschlossen ist, wenn der Standort des Fahrzeugs 12 mit dem Standort des Navigationsplans übereinstimmt.
-
Prozess
-
3 ist ein Prozessablaufdiagramm, das einen beispielhaften Prozess 300 zum Steuern des Fahrzeugs 12 veranschaulicht. Der Prozess 300 kann durchgeführt werden, indem Programmanweisungen im Servercomputer 14 und im Computer 36 des Fahrzeugs 12 ausgeführt werden.
-
Der Prozess 300 beginnt bei einem Block 305, bei dem der Computer 36 Daten des Fahrzeugs 12 empfängt. Darüber hinaus können die Daten über den gesamten Prozess 300 hinweg empfangen werden. Über den gesamten Prozess 300 hinweg bedeutet in zeitlichen Abständen, z. B. alle 500 Millisekunden, im Wesentlichen durchgehend, usw.
-
Als nächstes bestimmt der Computer 36 bei einem Block 310, ob ein Aufprall des Fahrzeugs 12 erfasst wurde. Wenn bestimmt wird, dass kein Aufprall erfasst wurde, geht der Prozess 300 zu einem Block 315 über. Wenn bestimmt wird, dass ein Aufprall erfasst wurde, geht der Prozess 300 zu einem Block 320 über.
-
Bei Block 315 bestimmt der Computer 36, ob ein Objekt in einem Weg des Fahrzeugs 12 erfasst wurde. Wenn bestimmt wird, dass ein Objekt in einem Weg des Fahrzeugs 12 erfasst wurde, geht der Prozess 300 zum Block 320 über. Wenn bestimmt wird, dass kein Objekt in einem Weg des Fahrzeugs 12 erfasst wurde, kehrt der Prozess 300 zum Block 305 zurück.
-
Bei Block 320 stellt der Computer 36 eine Anweisung zum Betätigen des Bremssystems 32 des Fahrzeugs 12 zum Anhalten des Fahrzeugs 12 bereit. Der Computer 36 kann das Bremssystem 32 betätigen, wenn bestimmt wird, dass der Aufprall des Fahrzeugs 12 erfasst wurde, wenn bestimmt wird, dass das Objekt in einem Weg des Fahrzeugs 12 erfasst wurde, auf Grundlage von Daten des Fahrzeugs 12, die auf einen Fehler hinweisen, wenn eine Benutzereingabe über die Benutzerschnittstelle 39 empfangen wird usw. Zusätzlich zum Anhalten des Fahrzeugs 12 kann der Computer 36 den Standort des Fahrzeugs 12 identifizieren, z. B. wenn das Anhalten abgeschlossen ist.
-
Als nächstes kann der Computer 36 bei einem Block 325 einen oder mehrere Fehler des Fahrzeugs 12 identifizieren, z. B. auf Grundlage der empfangenen Daten des Fahrzeugs 12.
-
Als nächstes bestimmt der Computer 36 bei einem Block 330, ob das Fahrzeug 12 nicht im Normalmodus betrieben werden kann, z. B. auf Grundlage des einen oder der mehreren identifizierten Fehler. Wenn bestimmt wird, dass das Fahrzeug 12 nicht im Normalmodus betrieben werden kann, geht der Prozess 300 zu einem Block 335 über. Wenn bestimmt wird, dass das Fahrzeug 12 im Normalmodus betrieben werden kann, kehrt der Prozess 300 zum Block 305 zurück.
-
Bei Block 335 bestimmt der Computer 36, ob sich das Fahrzeug 12 an einem autorisierten Anhaltestandort befindet. Wenn bestimmt wird, dass sich das Fahrzeug 12 an einem autorisierten Anhaltestandort befindet, geht der Prozess 300 zu einem Block 340 über. Wenn bestimmt wird, dass sich das Fahrzeug 12 nicht an einem autorisierten Anhaltestandort befindet, geht der Prozess 300 zu einem Block 345 über.
-
Bei Block 340 überträgt der Computer 36 identifizierte Fehler und den Standort des Fahrzeugs 12 über das Netz 28 zum Empfang durch den Servercomputer 14. Nach Block 340 kann der Prozess 300 enden.
-
Bei Block 345, der auf den Block 335 folgen kann, überträgt der Computer 36 die Daten des Fahrzeugs 12, die identifizierten Fehler und den Standort des Fahrzeugs 12 über das Netz 28 zum Empfang durch den Servercomputer 14. Die Daten des Fahrzeugs 12, die identifizierten Fehler und der Standort des Fahrzeugs 12 können über den gesamten Prozess 300 hinweg übertragen werden.
-
Als nächstes empfängt der Servercomputer 14 bei Block 350 die Daten des Fahrzeugs 12, die identifizierten Fehler und den Standort des Fahrzeugs 12. Die Daten des Fahrzeugs 12, die identifizierten Fehler und der Standort des Fahrzeugs 12 können über den gesamten Prozess 300 hinweg im Servercomputer 14 empfangen werden.
-
Als Nächstes empfängt der Computer 14 bei Block 355 das Gebiet um das Fahrzeug 12 beschreibende Daten. Beispielsweise kann der Servercomputer 14 derartige Informationen von einem oder mehreren zweiten Fahrzeugen 16, von einem anderen Servercomputer 14, von einer oder mehreren Benutzervorrichtungen 18 usw. empfangen. Die das Gebiet um das Fahrzeug 12 beschreibenden Daten können über den gesamten Prozess 300 hinweg empfangen werden.
-
Als nächstes bestimmt der Servercomputer 14 bei einem Block 360 einen Navigationsplan, z. B. auf Grundlage der Daten des Fahrzeugs 12, der identifizierten Fehler, des Standorts des Fahrzeugs 12 und der das Gebiet um das Fahrzeug 12 beschreibenden Daten.
-
Als nächstes sendet der Computer 14 bei einem Block 365 eine Anweisung zum Betätigen des Fahrzeugs 12, z. B. Komponenten des Fahrzeugs 12, gemäß dem Navigationsplan über das Netz 28 an den Computer 36 des Fahrzeugs 12.
-
Als nächstes empfängt der Computer 36 bei einem Block 370 die Anweisung zum Betätigen des Fahrzeugs 12 gemäß dem Navigationsplan.
-
Als nächstes stellt der Computer 36 bei einem Block 375 eine oder mehrere Anweisungen zum Betätigen einer oder mehrerer Komponenten des Fahrzeugs 12 bereit, z. B. können der Antrieb 30, das Bremssystem 32 und/oder das Lenksystem 34 auf Grundlage der Anweisung zum Betätigen des Fahrzeugs 12 gemäß dem Navigationsplan betätigt werden.
-
Als nächstes bestimmt der Computer 14 bei einem Block 380, ob der Navigationsplan abgeschlossen ist. Wenn bestimmt wird, dass der Navigationsplan nicht abgeschlossen ist, kehrt der Prozess 300 zum Block 360 zurück. Wenn bestimmt wird, dass der Navigationsplan abgeschlossen ist, endet der Prozess 300.
-
Schlussfolgerung
-
Im hier verwendeten Sinne ist ein Computer eine Rechenvorrichtung, die einen Prozessor und einen Speicher beinhaltet. Der Prozessor ist über Schaltungen, Chips oder eine andere elektronische Komponente umgesetzt und kann einen oder mehrere Mikrocontroller, einen oder mehrere feldprogrammierbare Gate-Arrays (field programmable gate arrays - FPGAs), eine oder mehrere anwendungsspezifische Schaltungen (application specific integrated circuits - ASICs), einen oder mehrere digitale Signalprozessoren (digital signal processors - DSPs), eine oder mehrere kundenspezifisch integrierte Schaltungen usw. beinhalten. Der Prozessor kann die hier beschriebenen Daten empfangen und die hier beschriebenen Prozesse ausführen.
-
Der Speicher (oder die Datenspeichervorrichtung) ist über Schaltungen, Chips oder andere elektronische Komponenten umgesetzt und kann einen oder mehrere von Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, elektrisch programmierbarem Speicher (EPROM), elektrisch programmierbarem und löschbarem Speicher (EEPROM), eingebetteter Multimediakarte (eMMC), einer Festplatte oder beliebigen flüchtigen oder nichtflüchtigen Medien usw. beinhalten. Der Speicher kann von den Sensoren gesammelte Daten speichern. Der Speicher kann Programmanweisungen speichern, die durch den Prozessor ausgeführt werden können, um die hier beschriebenen Prozesse durchzuführen.
-
Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend aufgeführten, ausführbar sein können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse, einschließlich eines oder mehrerer der hier beschriebenen Prozesse, durchführt. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielzahl von computerlesbaren Medien gespeichert und übertragen werden.
-
Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nichttransitorisches (z. B. physisches) Medium, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien können beispielsweise Bild- oder Magnetplatten und andere dauerhafte Speicher beinhalten. Flüchtige Medien können beispielsweise einen dynamischen Direktzugriffsspeicher (DRAM) beinhalten, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfasern, einschließlich der Drähte, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien beinhalten beispielsweise eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf diesen zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, die zum Ausführen der hier beschriebenen Funktionen auf computerlesbaren Medien gespeichert sind.
-
Die Adjektive „erste/r“ und „zweite/r“ werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung oder Reihenfolge anzeigen.
-
Hinsichtlich der hier beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Abfolge erfolgend beschrieben wurden, derartige Prozesse so durchgeführt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der hier beschriebenen Reihenfolge durchgeführt werden. Es versteht sich darüber hinaus, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hier beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt sind die Beschreibungen von Systemen und/oder Prozessen in der vorliegenden Schrift zum Zwecke der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie den offenbarten Gegenstand einschränken.
-
Die Offenbarung wurde auf veranschaulichende Weise beschrieben und es versteht sich, dass die verwendete Terminologie vielmehr der Beschreibung als der Einschränkung dienen soll. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen der vorliegenden Offenbarung möglich und die Offenbarung kann anders als konkret beschrieben umgesetzt werden.
-
Der ein Nomen modifizierende Artikel „ein/e“ sollte dahingehend verstanden werden, dass er einen oder mehrere bezeichnet, es sei denn, es ist etwas anderes angegeben oder der Kontext erfordert etwas anderes. Der Ausdruck „auf Grundlage von/beruhen auf“ beinhaltet teilweise oder vollständig auf Grundlage von/beruhen auf.