-
ALLGEMEINER STAND DER TECHNIK
-
Ein autonomes Fahrzeug wird gemäß Anweisungen von einer Computersteuerung und ohne das Eingreifen eines Benutzers betrieben. Daher kann das Fahrzeug mit oder ohne Insassen betrieben werden, z. B. entlang einer geplanten Route fahren. In einigen Fällen kann es sich bei den Insassen um Personen handeln, die zum Betreiben des Fahrzeugs nicht in der Lage sind, wie etwa minderjährige Kinder. Ein autonomes Fahrzeug kann von mehreren Benutzern gemeinsam genutzt werden, z. B. als Teil einer Carsharing-Flotte oder eines öffentlichen Transportsystems. Somit können verschiedene Benutzer in einem autonomen Fahrzeug zu einem gemeinsamen Ziel oder zu unterschiedlichen Zielen fahren und können unterschiedliche Fähigkeiten aufweisen. Dennoch kann es einem autonomen Fahrzeug, z. B. wenn es als öffentliches Transportmittel betrieben wird, an einem Fahrzeugführer fehlen, um Entscheidungen bezüglich der Steuerung des Fahrzeugs zu treffen und dieses zu steuern. Probleme entstehen dann, wenn eine autonome Fahrzeugsteuerung sich darüber, welche Insassen sich in einem Fahrzeug befinden, und der Fähigkeiten derartiger Insassen nicht bewusst ist, bevor die Navigation beginnt oder während das Fahrzeug eine Route entlangfährt.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Systems zum Überwachen eines Betriebs eines autonomen Fahrzeugs, das von mehreren Benutzern entlang einer geplanten Route gemeinsam genutzt wird.
- 2 ist ein Blockdiagramm, das eine Hierarchie von Fahrzeugbenutzern zugeordneten Rollen zeigt.
- 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Steuern von Fahrzeugkomponenten gemäß den Rollen und Berechtigungen von Fahrzeugbenutzern.
- 4 ist ein Ablaufdiagramm eines anderen beispielhaften Prozesses zum Definieren von Rollen und Zuordnen von Berechtigungen zu den Rollen
-
Die 5A-5C beinhalten ein Ablaufdiagramm eines beispielhaften Fahrtautorisierungsprozesses für ein autonomes Fahrzeug.
-
DETAILLIERTE BESCHREIBUNG
-
EINLEITUNG
-
Eine autonome Fahrzeugsteuerung, d. h. ein Fahrzeugcomputer, kann den Betrieb des Fahrzeugs überwachen. Zum Beispiel kann die Steuerung eine Route mit Segmenten speichern. Die Steuerung kann ferner eine Liste von null oder mehr erwarteten Insassen für jedes Segment der Route zusammen mit Start- und Endpositionen für jedes Segment speichern. Der Computer kann Benutzer, die in das Fahrzeug einsteigen oder sich darin befinden, z. B. unter Verwendung bekannter Authentifizierungstechniken, wie etwa eines PIN-Codes, Benutzernamens und Passworts, biometrischer Daten wie etwa Gesichtserkennung usw., identifizieren. Ein geplantes Ziel eines Benutzers kann gespeichert werden, bevor der Benutzer in das Fahrzeug einsteigt, oder kann durch den Benutzer beim Einsteigen in das Fahrzeug bereitgestellt werden. Ein Benutzer kann einer Rolle zugeordnet werden, die dem Benutzer Berechtigungen für verschiedene Vorgänge in dem Fahrzeug erteilt, einschließlich zum Bereitstellen einer Eingabe zum Initiieren einer Bewegung des Fahrzeugs, um z. B. den Fahrzeugcomputer zu autorisieren, den Betrieb des Fahrzeugs gemäß einem nächsten Routensegment zu beginnen.
-
SYSTEMELEMENTE
-
1 veranschaulicht ein beispielhaftes Fahrzeug 100, das einen Computer 110 beinhaltet, der dazu programmiert ist, Eingabedaten von einem ersten Benutzer zum Initiieren einer Bewegung des autonomen Fahrzeugs zu empfangen und den ersten Benutzer zu identifizieren. Der Computer 110 ist ferner dazu programmiert, mindestens teilweise basierend auf den Eingabedaten und den Merkmalen des ersten Benutzers die Initiierung einer Bewegung des Fahrzeugs zu bestimmen. Die Merkmale von Benutzern entsprechen den Rollen und Berechtigungen, die wie in dieser Schrift beschrieben definiert und umgesetzt sind.
-
Das Fahrzeug 100 kann auf eine Vielzahl von bekannten Arten angetrieben werden, z. B. mit einem Elektromotor und/oder einer Brennkraftmaschine. Das Fahrzeug 100 beinhaltet den Computer 110, Sensoren 115, Aktoren 120, eine Mensch-Maschine-Schnittstelle (human machine interface - HMI) 145 und andere Komponenten, die in dieser Schrift nachstehend erörtert werden.
-
Der Computer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und speichert durch den Computer 110 ausführbare Anweisungen, um verschiedene Vorgänge durchzuführen, einschließlich solcher, die hierin offenbart sind.
-
Der Computer 110 kann das Fahrzeug 100 in einem autonomen oder halbautonomen Modus betreiben. Im Rahmen dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, in dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 100 durch den Computer 110 gesteuert werden; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 100.
-
Der Computer 110 kann Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung in dem Fahrzeug durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs und zum Bestimmen, ob und wann der Computer 110 im Gegensatz zu einem menschlichen Fahrzeugführer derartige Vorgänge steuern soll, beinhalten.
-
Der Computer 110 kann mehr als eine andere Rechenvorrichtung, z. B. Steuerungen 130 oder dergleichen, die in dem Fahrzeug zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, beinhalten oder kommunikativ an diese z. B. über einen Fahrzeugkommunikationsbus, wie ausführlich nachstehend beschrieben, gekoppelt sein; z. B. können die Steuerungen 130 eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenkungssteuerung usw. beinhalten. Der Computer 110 ist im Allgemeinen für Kommunikationen in einem Fahrzeugkommunikationsnetzwerk, wie etwa einem Bus im Fahrzeug, wie etwa einem Controller Area Network (CAN) oder dergleichen, angeordnet.
-
Über das Fahrzeugnetzwerk kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 115, empfangen. Alternativ oder zusätzlich kann in Fällen, bei denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerkwerk für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Außerdem können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 115 dem Computer 110 über das Fahrzeugkommunikationsnetzwerk Daten bereitstellen.
-
Zusätzlich kann der Computer 110 zur Kommunikation durch eine Fahrzeug-zu-Infrastruktur(F-I)-Schnittstelle mit einem Server 165 über ein Netzwerk 160 konfiguriert sein. Das Netzwerk 160 stellt einen oder mehrere Mechanismen dar, durch welche die Benutzervorrichtungen 155, der Computer 110 und der Server 165 miteinander kommunizieren können, und es kann sich bei diesen um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Faser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von einem oder mehreren von Mobilfunk, Bluetooth, IEEE 802.11 usw.), dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC), Local Area Networks (LAN) und/oder Wide Area Networks (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert sind und durch den Computer 110 ausgeführt werden, im Allgemeinen Programmierung zum Betreiben einer oder mehrerer Fahrzeugkomponenten, z. B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Fahrzeugführers beinhaltet. Unter Verwendung von in dem Computer 110 empfangenen Daten, z. B. der Sensordaten von den Sensoren 115, dem Server 165 usw., kann der Computer 110 ohne einen Fahrer zum Betreiben des Fahrzeugs verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs steuern. Beispielsweise kann der Computer 110 Programmierung zum Regulieren von Betriebsverhalten des Fahrzeugs, wie etwa Geschwindigkeit, Beschleunigung, Verlangsamung, Lenkung usw., und taktischem Verhalten, wie etwa einem Abstand zwischen Fahrzeugen und/oder einer Zeitspanne zwischen Fahrzeugen, Spurwechsel, Mindestabstand zwischen Fahrzeugen, minimalem Linksabbiegeweg, Zeit bis zur Ankunft an einem bestimmten Ort und minimale Zeit bis zur Ankunft an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung, beinhalten.
-
Bei Steuerungen 130 handelt es sich im hier verwendeten Sinne dieses Ausdrucks um Prozessoren, die typischerweise dazu programmiert sind, ein bestimmtes Fahrzeugteilsystem zu steuern. Beispiele beinhalten eine Antriebsstrangsteuerung, eine Bremssteuerung und eine Lenkungssteuerung. Bei einer Steuerung kann es sich um eine elektronische Steuereinheit (electronic control unit - ECU), wie sie bekannt ist, handeln, die potenziell eine zusätzliche Programmierung, wie hierin beschrieben, beinhaltet. Die Steuerungen können kommunikativ mit dem Computer 110 verbunden sein und Anweisungen von diesem empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann die Bremssteuerung Anweisungen zum Betreiben der Bremsen des Fahrzeugs von dem Computer 110 empfangen.
-
Die Sensoren 115 können vielfältige Vorrichtungen beinhalten, die bekanntlich Daten über den Fahrzeugkommunikationsbus bereitstellen. Beispielsweise können die Sensoren 115 eine oder mehrere Kamera-, Radar- und/oder Light-Detection-and-Ranging(LIDAR)-Sensoren beinhalten, die in dem Fahrzeug 100 angeordnet sind und Daten bereitstellen, die mindestens einen Teil des Innen- oder Außenbereichs des Fahrzeugs oder von beiden abdecken. Die Daten können durch den Computer 110 über eine geeignete Schnittstelle, wie bekannt, empfangen werden. Der Computer 110 kann basierend auf empfangenen Daten Benutzer authentifizieren.
-
Außerdem können die Sensoren 115 Mikrofone beinhalten, die in dem Fahrzeug, z. B. dem Innenraum oder einem Kofferraum, angeordnet sind, um Audiodaten bereitzustellen. Beispielsweise kann der Computer 110 mit einem Benutzer kommunizieren, um z. B. den Benutzer des Fahrzeugs 100 zu identifizieren, z. B. unter Verwendung von Spracherkennungstechniken.
-
Die Sensoren 115 können eine GPS-Vorrichtung (globales Positionsbestimmungssystem) beinhalten. Der GPS-Sensor kann eine aktuelle geografische Koordinate des Fahrzeugs 100 über das Fahrzeugkommunikationsnetzwerk, z. B. den Bus des Fahrzeugs 100, übertragen. Beispielsweise kann der Computer 110, z. B. für eine oder mehrere konkrete Benutzerrollen, eine Navigation des Fahrzeugs 100 zu einem beliebigen Standort außerhalb eines vorbestimmten durch Geofencing begrenzten Gebietes oder einer vorbestimmten Entfernung zu einem Heimstandort usw. verweigern. Bei dem durch Geofencing begrenzten Gebiet kann es sich um ein geografisches Gebiet handeln, das, wie bekannt, durch geografische Koordinaten der Ecken und Grenzlinien des durch Geofencing begrenzten Gebietes identifiziert ist.
-
Die Aktoren 120 sind über Schaltungen, Chips oder andere elektronische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen betätigen, wie bekannt ist. Beispielsweise können die Aktoren 120 über ein oder mehrere Relais, einen oder mehrere Stellmotoren usw. umgesetzt sein. Die Aktoren 120 können somit verwendet werden, um Bremsung, Beschleunigung und Lenkung des Host-Fahrzeugs 100 zu steuern. Zusätzlich können die Aktoren 120 den Zugriff auf das Fahrzeug 100, z. B. Freigeben/Sperren von Türen, oder auf Komponenten des Fahrzeugs 100, z. B. Freigeben/Sperren von Multimediazugriff, steuern. Die Steuersignale, die zum Steuern der Aktoren 120 verwendet werden, können durch den Computer 110, eine Steuereinheit, die sich in dem Fahrzeug 100 befindet, z. B. die Bremssteuerung, usw. generiert werden.
-
Die Mensch-Maschine-Schnittstelle (HMI) 145 kann einen Touchscreen, ein interaktives Sprachantwort(interactive voice response - IVR)-System, und/oder andere Eingabe-/AusgabeMechanismen, wie bekannt, beinhalten und kann Eingabedaten von einem Benutzer empfangen und/oder gibt Daten an den Benutzer aus. Zum Beispiel kann die HMI 145 einen Softkey oder eine Drucktaste aufweisen, um eine Bewegung des Fahrzeugs 100 zu initiieren.
-
Eine Benutzervorrichtung 155 kann über das Netzwerk 160 mit dem Computer 110 kommunizieren. Bei der Benutzervorrichtung 155 kann es sich um ein Smartphone oder einen tragbaren Computer handeln, das/der über das Netzwerk 160 kommuniziert. Die Benutzervorrichtung 155 kann Eingabemechanismen, um z. B. einen PIN-Code einzugeben, eine Bewegung des Fahrzeugs zu initiieren usw., und Ausgabemechanismen beinhalten, um z. B. visuelle und/oder Audioinformationen an den Benutzer auszugeben. Der Computer 110 kann eine Position der Benutzervorrichtung 155 über z. B. eine GPS-Vorrichtung oder eine Nahbereichskommunikationsschnittstelle, die in der Benutzervorrichtung beinhaltet sind, bestimmen.
-
Bei dem Server 165 handelt es sich um einen entfernten Computer oder entfernte Computer, der/die über das Netzwerk 160, z. B. LTE, mit dem Computer 110 kommuniziert/kommunizieren.
-
2 veranschaulicht vielfältige Rollen, die jeweiligen Fahrzeugbenutzern in einer beispielhaften Umsetzung zugeordnet sein können. Jede Rolle entspricht einer Kategorie von Fahrzeugbenutzer und beinhaltet, wie nachstehend erörtert, Berechtigungen, die für die Benutzerkategorie festgelegt wurden.
-
Wie in 2 gezeigt, können die Rollen in einer Hierarchie 200 definiert sein. Rollen in höheren Ebenen der Hierarchie 200 verfügen typischerweise über mehr Berechtigungen als Rollen in den unteren Ebenen. „Berechtigungen“ beinhalten im hierin verwendeten Sinne dieses Ausdrucks unterschiedliche Kombinationen von Rechten zum Zugreifen, z. B. Ansehen, von Fahrzeugkomponenten und/oder Vornehmen von Modifikationen an deren Einstellungen. Das heißt, eine Berechtigung gibt an, ob eine Benutzeranforderung zum Steuern einer oder mehrerer Komponenten des Fahrzeugs 100 bewilligt oder abgelehnt werden sollte. Beispielsweise ist eine „Ansichtsberechtigung“ (wechselweise als „Zugriffsberechtigung bezeichnet) eine Berechtigung zum Ansehen eines Status oder einer Konfiguration einer Komponente des Fahrzeugs 100 oder deren Betriebs, z. B. über die HMI 145. Eine „Modifizierungsberechtigung“ ist eine Berechtigung zum Vornehmen einer Änderung an einem Status oder einer Konfiguration einer Komponente des Fahrzeugs 100 oder deren Betriebs. Eine Steueranforderung ist eine Benutzereingabe zum Ansehen bestimmter Informationen oder zum Modifizieren einer Einstellung oder eines Status einer Komponente des Fahrzeugs 100.
-
Demnach können die Berechtigungen Ansichts- oder Modifizierungsberechtigungen beinhalten, die einer oder mehreren Komponenten des Fahrzeugs 100 zugeordnet sind, wie etwa den folgenden:
- • einem Unterhaltungssystem, z. B. zum Auswählen eines Radiosenders, zur Wiedergabe von Medien von einer anderen Vorrichtung, wie etwa einem Smartphone, usw.;
- • einem Navigationssystem, z. B. zum Ansehen/Einstellen eines Ziels, Ansehen/Einstellen einer Route;
- • einem Klimasteuersystem, z. B. zum Ansehen/Modifizieren einer Thermostateinstellung der Kabine usw.;
- • einem virtuellen Treiber, z. B. zum Initiieren einer Steuerung, wie etwa Initiierung einer Bewegung eines Fahrzeugs 100.
-
Die Berechtigungen und die Zuordnung von Berechtigungen zu einer Rolle werden nachstehend genauer erörtert.
-
Ein Benutzer kann basierend auf einem oder mehreren Attributen des Benutzers einer Rolle zugewiesen werden. Im vorliegenden Kontext handelt es sich bei einem Benutzerattribut um ein Merkmal, das einer Kategorie von Personen zugeschrieben sein kann, z. B. ein Alter eines Benutzers, eine Beziehung zu einem Halter des Fahrzeugs 100 (z. B. Familienmitglied, Ehepartner usw.), Fahrtauglichkeit (z. B. Führerschein oder kein Führerschein), Bezahlt- oder In-Rechnung-gestellt-Status für eine aktuelle Route oder ein aktuelles Routensegment des Fahrzeugs 100, eine Benutzerbeziehung zu einem Carsharing-Unternehmen, das ein Fahrzeug 100 betreibt (z. B. könnte der Benutzer ein Angestellter bei einem Carsharing-Unternehmen sein) usw. Zum Beispiel könnten Rollen, d. h. unterschiedliche Sätze von Berechtigungen, basierend auf Benutzerattributen zugewiesen werden. Eine Beziehung zwischen den verschiedenen Rollen kann hierarchisch sein, wie in der Hierarchie 200 gezeigt. In einer hierarchischen Beziehung kann eine erste Rolle im Vergleich zu einer zweiten Rolle unterhalb der ersten Rolle in der Hierarchie über einen Supersatz (d. h. eine größere Anzahl) an Berechtigungen verfügen.
-
Beispielhafte Rollen beinhalten Administrator
205, Superbenutzer
210, privilegierter Fahrgast
215 und normaler Fahrgast
220. Beispiele für einige der Berechtigungen, die diesen Rollen jeweils zugewiesen sind, sind in der folgenden Tabelle veranschaulicht:
Tabelle 1
| Administrator | Superbenutzer | Privilegierter Fahrgast | Normaler Fahrgast |
Erstellen/Löschen von Benutzern und/oder Benutzergruppen | √ | | | |
Bearbeiten von Berechtigungen, die einem Benutzer und/oder einer Benutzergruppe zugeordnet sind | √ | | | |
Wartungsautorisierung | √ | √ | | |
Ansehen von Zielen und Routen | √ | √ | √ | √ |
Lokales Eingeben/Modifizieren von Zielen und Routen | √ | √ | √ | |
Entferntes Eingeben/Modifizieren von Zielen und Routen | √ | √ | | |
Ansehen von durch Geofencing begrenzten Gebieten | √ | √ | √ | √ |
Eingeben/Modifizieren von durch Geofencing begrenzten Gebieten | √ | √ | | |
Ansehen von Fahrzeugeinstellungen | √ | √ | √ | √ |
Modifizieren von Fahrzeugeinstellungen | √ | √ | √ | |
Lokales Autorisieren einer Fahrtinitiierung | √ | √ | √ | |
Entferntes Autorisieren einer Aufhebung einer Fahrtinitiierung | √ | | | |
Entferntes Autorisieren einer Fahrteinleitung | √ | √ | | |
Eingeben/Modifizieren eines Routenplans | √ | √ | | |
-
In der hierarchischen Hierarchie 200 kann eine Rolle, wie etwa privilegierter Fahrgast 215, über einen Teilsatz, d. h. einige, aber nicht alle, der Berechtigungen verfügen, die einem Superbenutzer 210 zugeordnet sind. Alternativ können die Rollen in anderen Beziehungen zueinander definiert sein. Beispielsweise können Rollen in alternativen Anordnungen zu der beispielhaften Hierarchie 200 über einen überlappenden Berechtigungssatz verfügen, stehen jedoch nicht zwingend in einer hierarchischen Beziehung zueinander.
-
In der vorliegenden beispielhaften Hierarchie 200, verfügt der Administrator 205 über eine größere Anzahl an Berechtigungen als alle anderen Rollen. Als ein Beispiel kann ein Halter des Fahrzeugs 100 der Rolle des Administrators 205 zugeordnet sein. Eine Instanz, wie etwa ein Autohändler oder eine Regierungsbehörde kann, wenn ein Fahrzeug 100 verkauft und/oder in Betrieb genommen wird, eine Instanz oder eine Person, z. B. einen Halter, der Rolle des Administrators 205 zuordnen. Beispielsweise kann die Instanz elektronische Daten, z. B. eine elektronische Fahrzeugzulassung, auf dem Server 165 aufbewahren, welche die Identität des Administrators 205 des Fahrzeugs 100 angeben. Die Instanz kann, gespeichert im Speicher des Computers 110, Informationen für eine Authentifizierung des Administrators 205 über die HMI 145 in bekannter Weise bereitstellen, z. B. durch Erfassen von Authentifizierungsinformationen für eine biometrische Authentifizierung, durch Bereitstellen eines Namens und eines Passworts des Administrators usw. Alternativ kann eine Instanz wie ein Carsharing-Anbieter oder ein Erstausrüster (original equipment manufacturer - OEM) der Rolle des Administrators 205 zugeordnet sein, z. B. wenn ein Auto geleast oder gemietet wird.
-
Ein Superbenutzer 210 kann über einen Teilsatz (was im vorliegenden Kontext „eine geringere Anzahl“ bedeutet) der dem Administrator 205 zugewiesenen Berechtigungen verfügen. Als ein Beispiel verfügt ein Superbenutzer 210 unter Umständen nicht über die Berechtigung, eine Benutzergruppe zu dem Fahrzeug 100 hinzuzufügen, wohingegen der Administrator 205 über diese Berechtigung verfügt.
-
Ein Administrator
205 oder ein Superbenutzer
210 kann in dem vorliegenden Beispiel einen Routenplan eingeben oder modifizieren, um ein Fahrzeug
100 entlang einer Route mit mehreren Benutzern gemeinsam zu nutzen. Zu den mehreren Nutzern könnten ein oder derartige wie privilegierte Fahrgäste
215 und/oder normale Fahrgäste
220 gehören. Eine Route kann mehrere Segmente beinhalten, wobei jedes Segment bei einer Position beginnt und an einer Startposition eines nächsten Segments oder an einer Endadresse endet. Null oder mehr Benutzer sind jedem Segment zugeordnet. Ein Benutzer kann einem oder mehreren Segmenten zugeordnet sein, d. h., ein Benutzer bleibt in dem Fahrzeug
100, während andere Benutzer in das Fahrzeug
100 einsteigen bzw. aus diesem aussteigen. Ein einem Routensegment zugeordneter Benutzer kann als ein für das Routensegment autorisierter Benutzer bezeichnet werden. Ein Beispiel für einen Routenplan mit einer Liste von autorisierten Benutzern für jedes der Routensegmente ist in der folgenden Tabelle veranschaulicht:
Tabelle 2
| Position | Benutzer 1 | Benutzer 2 | Benutzer 3 |
Erstes Segment | Erste Adresse | √ | | |
Zweites Segment | Zweite Adresse | √ | | |
Drittes Segment | Dritte Adresse | √ | √ | |
Viertes Segment | Vierte Adresse | | | |
Fünftes Segment | Fünfte Adresse | | | √ |
Ende | Sechste Adresse | | | |
-
Ein privilegierter Fahrgast 215 oder ein normaler Fahrgast 220 kann über einen Teilsatz der Berechtigungen des Superbenutzers 210 verfügen. Zum Beispiel kann ein privilegierter Fahrgast 215 über Berechtigungen zum Initiieren einer Bewegung des Fahrzeugs 100 (z. B. an einer Startposition jedes Segments einer Route) verfügen. Einem normalen Fahrgast 220 können verschiedene Berechtigungen vorenthalten werden, die dem privilegierten Fahrgast 215 gewährt werden. Zum Beispiel verfügt der normale Fahrgast 220 unter Umständen nicht über die Berechtigung, ein Ziel oder einen Wegpunkt einer Route des Fahrzeugs 100 einzustellen. In einem anderen möglichen Beispiel kann der normale Fahrgast 215 über die Berechtigung verfügen, das Fahrzeug 100 zur Beförderung zu verwenden, jedoch nicht darüber, eine Bewegung des Fahrzeugs 100, z. B. durch Bereitstellen einer Eingabe über die HMI 145, zu initiieren; diese Berechtigung kann dem privilegierten Fahrgast 215 erteilt werden.
-
Während eines Betriebs des Fahrzeugs 100 kann der Computer 110 (siehe 1), um einen angemessenen Berechtigungssatz für jeden Benutzer des Fahrzeugs 100 zu bestimmen, einen oder mehrere Benutzer authentifizieren, z. B. alle der im Fahrzeug 100 anwesenden Benutzer, wie sie unter Verwendung von Eingaben von einem oder mehreren Sensoren 115, wie bekannt, detektiert werden können. Beispielsweise kann der Computer 110 einen Benutzer authentifizieren, indem er Authentifizierungsinformationen, wie etwa einen Benutzernamen und ein Passwort, über die HMI 145 oder biometrische Authentifizierungsinformationen über eine Kamera empfängt, oder durch anderen bekannte Techniken. Darüber hinaus kann der Computer 110 basierend auf den empfangenen Daten der Sensoren 115 unter Verwendung bekannter Techniken für eine derartige Identifizierung, z. B. Bilderkennung, einen Benutzer identifizieren und/oder Benutzermerkmale (z. B. Alter) bestimmen. Wenn ein Benutzer identifiziert ist, kann der Computer 110 die Rolle des jeweiligen Benutzers bestimmen, wobei Rollen über zugehörige Berechtigungen verfügen, wie vorstehend erörtert. Der Speicher des Computers 110 kann eine Tabelle oder dergleichen mit Benutzerkennungen und der dem jeweiligen Benutzer zugewiesenen Rolle speichern. Ein Administrator 205, z. B. ein Benutzer, dem eine Rolle zugewiesen ist, die über Berechtigungen zum Eingeben neuer Benutzer (potentieller Fahrzeuginsassen) in das System und zum Zuweisen von Rollen verfügt, kann Eingaben bereitstellen, die jedem Benutzer, dessen Kennung in dem Speicher gespeichert ist, eine Rolle zuweisen.
-
Außerdem kann der Computer 110 in einigen Umsetzungen dazu programmiert sein, eine Benutzerrolle basierend auf einer Bestimmung einer oder mehrerer Benutzermerkmale, z. B. Alter, zuzuweisen. Zum Beispiel könnte Benutzern, die zwanzig Jahre alt oder älter zu sein scheinen, aber nicht anderweitig identifiziert sind, ein privilegierter Fahrgast 215 zugewiesen werden, während Benutzern, die neunzehn Jahre alt oder jünger zu sein scheinen, ein normaler Fahrgast 220 zugewiesen werden könnte.
-
Als ein anderes Beispiel für die Benutzerauthentifizierung kann der Computer 110 eine Stimme eines Benutzers, d. h. die von den Sensoren 115 empfangenen Audiodaten, unter Verwendung von Spracherkennungstechniken (siehe 1) mit den Stimmen bekannter Benutzer vergleichen, denen gespeicherte Kennungen zugeordnet sind, wie vorstehend erläutert. Wie vorstehend erörtert, kann der Computer 110 die dem Benutzer zuzuweisende Rolle bestimmen, indem er z. B. dem Benutzer basierend auf einer Stimmanalyse des Benutzers ein Alter zuweist, oder eine Rolle kann gemäß Benutzereingaben zugewiesen sein und abgerufen werden, wenn der Benutzer authentifiziert wird, z. B. unter Verwendung von Spracherkennung und interaktiver Sprachantwort (IVR), wie sie bekannt sind.
-
PROZESSE
-
3 veranschaulicht einen beispielhaften Prozess 300 zum Steuern von Fahrzeugkomponenten gemäß den Rollen und Berechtigungen von Fahrzeugbenutzern. Die Fahrzeugbenutzer können Fahrzeuginsassen und/oder entfernte Fahrzeugbenutzer (die z. B. über eine Benutzervorrichtung 155 und das Netzwerk 160 mit dem Computer 110 kommunizieren) beinhalten. Beispielsweise kann der Computer 110 dazu programmiert sein, Komponenten des Fahrzeugs 100 gemäß dem Prozess 300 in Übereinstimmung mit Berechtigungen eines Fahrzeugbenutzers zu steuern, der jeweils die Steuerung anfordert.
-
Der Prozess 300 beginnt in einem Block 305, in dem der Computer 110 einen Fahrzeugbenutzer authentifiziert, z. B. unter Verwendung von Eingaben von einem oder mehreren Sensoren 115, der HMI 145 usw. Das Authentifizieren des Benutzers beinhaltet typischerweise Identifizieren des Benutzers, z. B. gemäß einem bestimmten Benutzernamen oder einer anderen im Speicher des Computers 110 gespeicherten eindeutigen Benutzerkennung. Alternativ oder zusätzlich dazu könnte das Authentifizieren des Benutzers Verwenden bekannter Techniken zum Bestimmen biologischer Merkmale eines oder mehrerer Benutzer in dem Fahrzeug 100, z. B. eines geschätzten Alters, beinhalten.
-
Als Nächstes empfängt der Computer 110 in einem Block 310 eine Anforderung zum Steuern einer Fahrzeugkomponente, z. B. über die HMI 145, die Benutzervorrichtungen 155 usw. Beispielsweise kann die Steuerungsanforderung eine Anforderung zum Ansehen eines Ziels und einer Route des Fahrzeugs 100 beinhalten. Eine Steuerungsanforderung könnte viele andere Eingaben an den Computer 110 beinhalten, z. B. eine Anforderung zum Autorisieren einer Fahrtinitiierung, d. h. zum Autorisieren einer Fahrzeugbewegung, eine Anforderung zum Ändern einer Klimasteuerungseinstellung, eine Anforderung zum Wiedergeben von Medien über ein Infotainmentsystem, eine Anforderung zum Anschalten der Kabinenbeleuchtung usw.
-
Als Nächstes identifiziert der Computer 110 in einem Block 315 die Rolle basierend auf dem Benutzer, der bei Block 310 die Steuerung einer Komponente des Fahrzeugs 100 anfordert. (Es wird vorausgesetzt, dass der Benutzer als einer der in Block 305 authentifizierten Benutzer identifiziert werden kann. Andernfalls könnte der Prozess 300 mit einer Ausgabe an der HMI 145, dass die Anforderung nicht verarbeitet werden kann, enden.) Beispielsweise kann der Computer 110 die Rolle des authentifizierten Benutzers z. B. basierend auf einer Tabelle bestimmen, die in einem Speicher des Computers 110 gespeichert ist und Kennungen der Benutzer des Fahrzeugs 100 und die dem jeweiligen Benutzer zugewiesene Rolle beinhaltet. Alternativ oder zusätzlich dazu könnte der Benutzer gemäß einem Merkmal identifiziert werden, wie etwa dem Alter, wie vorstehend beschrieben. Die Berechtigung zum Initiieren einer Bewegung des Fahrzeugs 100 wird in Bezug auf 5 ausführlicher erörtert.
-
Als Nächstes bestimmt der Computer 110 in einem Entscheidungsblock 320 basierend auf der identifizierten Rolle des Benutzers, ob der Benutzer über die Berechtigung für die angeforderte Steuerung verfügt. Beispielsweise kann der Computer 110 für den identifizierten Benutzer zulässige Steuerungen von Komponenten des Fahrzeugs 100 basierend auf einer Tabelle bestimmen, die in einem Speicher des Computers 110 gespeichert ist und die Rollen und die der jeweiligen Rolle zugewiesenen Berechtigungen beinhaltet. Wenn der identifizierte Benutzer über die Berechtigung für die angeforderte Steuerung verfügt, wird als Nächstes ein Block 325 ausgeführt; andernfalls geht der Prozess 300 zu einem Entscheidungsblock 330 über.
-
Im Block 325 führt der Computer 110 die angeforderte Steuerung der Komponente des Fahrzeugs 100 durch, z. B. durch Ausgeben eines Signals über das Fahrzeugkommunikationsnetzwerk an eine Steuerung 130, einen Aktor 120, die HMI 145 usw. Beispielsweise kann der Computer 110 das Ziel und die Routeninformationen zur Ansicht der Informationen an die HMI 145 ausgeben oder ein Signal zum Initiieren einer Fahrt an eine Steuerung 130 ausgeben. Im Anschluss an Block 325 geht der Prozess 300 zum Entscheidungsblock 330 über.
-
Im Entscheidungsblock 330 bestimmt der Computer 110, ob eine neue Anforderung zum Steuern einer Komponente des Fahrzeugs 100 angefordert wird. Ist dies der Fall, wird als Nächstes der Block 310 ausgeführt; andernfalls endet der Prozess 300.
-
4 veranschaulicht einen beispielhaften Prozess 400 zum Definieren von Rollen und Zuweisen von Berechtigungen zu diesen Rollen. Beispielsweise kann der Computer 110 dazu programmiert sein, Informationen zu empfangen, die erwartete Rollen, Berechtigungen und Benutzerdaten angeben. Beispielsweise kann ein Fahrzeughalter diese Informationen über die HMI 145, eine Benutzervorrichtung 155 oder den Server 165 eingeben. Der Computer 110 kann dazu programmiert sein, gemäß dem Prozess 400 Rollen und Berechtigungen zu definieren, den Rollen Berechtigungen zuzuweisen und die Rollen basierend auf den empfangenen Informationen Benutzern zuzuweisen.
-
Der Prozess 400 beginnt in einem Block 405, in dem der Computer 110 eine oder mehrere Rollen, z. B. Superbenutzer, privilegierter Fahrgast 215 usw., und Berechtigungen für jede Rolle definiert, z. B. basierend auf Eingaben von einem Fahrzeughalter oder einem anderen Benutzer mit dem Zugriff eines Administrators 205.
-
Als Nächstes speichert der Computer 110 in einem Block 410 die Rollen, d. h. einschließlich der Berechtigungen, die der jeweiligen Rolle zugeordnet sind, in einem Speicher. Tabelle 1 stellt ein Teilbeispiel für Rollen und zugeordnete Berechtigungen bereit, z. B. ist eine Berechtigung zu einer Wartungsautorisierung den Rollen des Administrators 205 und des Superbenutzers 210 zugewiesen. Die Rollen des privilegierten Fahrgastes 215 und des normalen Fahrgastes 215 verfügen jedoch nicht über die Berechtigung zur Wartungsautorisierung.
-
Als Nächstes weist der Computer 110 in einem Block 415 den Benutzern Rollen zu. Die Benutzer können durch Benutzer-IDs, Passwörter oder biometrische Merkmale, wie etwa Gesichtsbild, Stimme oder Fingerabdruck, identifiziert werden. Der Computer 110 kann z. B. eine Liste in einem Speicher speichern, die den Rollen Benutzerkennungen zuweist. Als ein in Tabelle 2 gezeigtes Beispiel kann ein Administrator 205 oder ein Superbenutzer 210 eine Route eingeben und verschiedene Benutzer verschiedenen Segmenten der Route zuweisen. Ein Benutzer kann nur während eines oder mehrerer bestimmter Segmente einer Route über eine Berechtigung zum Fahren mit dem Fahrzeug 100 verfügen; z. B. kann ein erster Benutzer nur während des ersten, zweiten und dritten Segments mit dem Fahrzeug 100 fahren. Ob der erste Benutzer während des ersten, zweiten und dritten Routensegments über die Berechtigung zum Autorisieren einer Bewegung des Fahrzeugs 100 verfügt, hängt von der Rolle des ersten Benutzers ab. Wenn es sich zum Beispiel bei dem ersten Benutzer um einen normalen Fahrgast 220 handelt, dann ist er/sie nicht zum Initiieren der Bewegung des Fahrzeugs 100 autorisiert.
-
Im Anschluss an Block 415 endet der Prozess 400.
-
Die 5A, 5B und 5C veranschaulichen zusammen einen beispielhaften Fahrtprozess 500 für ein autonomes Fahrzeug 100. Beispielsweise kann der Computer 110 dazu programmiert sein, Informationen, einschließlich den Rollen zugeordneter Benutzerdaten, Steuerungsanforderungen, Rollen, Berechtigungen usw., über die Sensoren 115, die HMI 145, eine Benutzervorrichtung 155 und/oder den Server 165 zu empfangen. Der Computer 110 kann dazu programmiert sein, das Fahrzeug 100 wie in Bezug auf den Prozess 500 beschrieben auf einer geplanten Route zu navigieren, Steuerungsanforderungen von Benutzern zu autorisieren oder abzulehnen usw., und zwar gemäß den Rollen, Berechtigungen und der geplanten Route.
-
Unter Bezugnahme auf 5A beginnt der Prozess 500 in einem Block 502, in dem der Computer 110 einen Routenplan, wie etwa den beispielhaften Routenplan in Tabelle 2, speichert. Der Routenplan kann dem Computer 110 auf vielfältige Weise z. B. durch den Server 165 bereitgestellt werden, kann in die HMI 145 durch einen Benutzer mit der Berechtigung zum Eingeben/Modifizieren eines Routenplans, z. B. einen Benutzer mit der Rolle des Administrators 205 oder des Superbenutzers 210, eingegeben werden usw.
-
Als Nächstes navigiert der Computer 110 in einem Block 504 das Fahrzeug 100 zu einer Adresse, die dem ersten Segment des Routenplans zugeordnet ist, z. B. der ersten Adressposition aus Tabelle 2. Die Adresse kann GPS-Koordinaten der Startposition des ersten Segments beinhalten. Alternativ oder zusätzlich dazu kann der Computer 110 dazu programmiert sein, für eine erste Adressposition spezifische Navigationsanweisungen von dem Server 165 oder einem anderen Computer zu empfangen. Zum Beispiel kann sich eine erste Segmentstartposition innerhalb eines mehrstöckigen Parkhauses befinden. Der Computer 110 kann dazu programmiert sein, spezielle Anweisungen hinsichtlich dessen, wie innerhalb des Gebäudes zu der Startposition zu navigieren ist, empfangen. Um das Fahrzeug 100 zu der ersten Adressposition zu navigieren, kann der Computer 110 Signale an das Fahrzeugteilsystem zum Beschleunigen, Bremsen und Lenken des Fahrzeugs 100 ausgeben.
-
Als Nächstes bestimmt der Computer 110 in einem Entscheidungsblock 506, ob die Tür(en) des Fahrzeugs 100 geöffnet wird/werden. Wenn die Tür(en) geöffnet wird/werden, wird als Nächstes ein Entscheidungsblock 512 ausgeführt; andernfalls geht der Prozess 500 zu einem Entscheidungsblock 508 über.
-
Im Entscheidungsblock 508 bestimmt der Computer 110, ob eine vorbestimmte Wartezeit seit der Ankunft des Fahrzeugs 100 an der ersten Adressposition abgelaufen ist. Wenn die Wartezeit abgelaufen ist, wird als Nächstes ein Block 510 ausgeführt; andernfalls geht der Prozess 500 zum Entscheidungsblock 506 über. Anders ausgedrückt bestimmt der Computer 110, ob die Türen des Fahrzeugs 100 innerhalb einer vorbestimmten Zeit nach der Ankunft des Fahrzeugs 100 an der ersten Adresse geöffnet werden.
-
Im Block 510 kann der Computer 110 einer zentralen Steuerung seinen Status (ein Status des Fahrzeugs 100 kann eine Position, eine Anzahl von Insassen und/oder andere Informationen beinhalten) mitteilen, z. B. eine Nachricht an den Server 165 senden. In diesem Block würde der Status des Fahrzeugs 100 beinhalten, dass es sich an einer bestimmten Position befindet, leer ist und ein oder mehrere erwartete Insassen nicht angekommen sind. Der Computer 110 kann weitere Anweisungen von dem Server 165 hinsichtlich des weiteren Vorgehens, z. B. Zurückkehren zu einem Versandzentrum, empfangen. Im Anschluss an Block 510 endet der Prozess 500.
-
Im Entscheidungsblock 512 bestimmt der Computer 110, ob die Tür(en) des Fahrzeugs 100 geschlossen wird/werden. Wenn die Tür(en) geschlossen wird/werden, wird als Nächstes ein Entscheidungsblock 516 ausgeführt; andernfalls geht der Prozess 500 zu einem Entscheidungsblock 514 über.
-
Im Entscheidungsblock 514 bestimmt der Computer 110, ob eine vorbestimmte Wartezeit seit der Öffnung der Türen des Fahrzeugs 100 abgelaufen ist. Wenn die Wartezeit abgelaufen ist, wird als Nächstes der Block 510 ausgeführt; andernfalls geht der Prozess 500 zum Entscheidungsblock 512 über. Anders ausgedrückt bestimmt der Computer 110, ob die Türen des Fahrzeugs innerhalb einer vorbestimmten Zeit nach deren Öffnung geschlossen werden.
-
Im Block 516 versucht der Computer 110, alle Benutzer in dem Fahrzeug 100 z. B. gemäß bekannten Techniken zu identifizieren. Zum Beispiel kann der Computer 110 Daten von den Sensoren 115, wie etwa Kameras, empfangen und den/die Benutzer unter Verwendung biometrischer Daten authentifizieren. Alternativ oder zusätzlich dazu kann der Computer 110 den/die Benutzer gemäß bekannten Authentifizierungsinformationen, wie etwa einer Benutzer-ID und einem Passwort, identifizieren.
-
Als Nächstes bestimmt der Computer 110 in einem Entscheidungsblock 518, ob alle Benutzer in dem Fahrzeug 100 auf dem Routenplan identifiziert sind. Zum Beispiel erwartet der Computer 110 basierend auf dem in Tabelle 2 veranschaulichten Routenplan den ersten Benutzer in dem Fahrzeug 100 an einem Startpunkt eines ersten Segments. Wenn es sich bei den in dem Fahrzeug 100 identifizierten Benutzern um diejenigen handelt, wie sie im Routenplan gespeichert sind, wird als Nächstes ein Block 520 ausgeführt; andernfalls geht der Prozess 500 zu einem Block 528 über, wie in 5B gezeigt. Wenn kein Benutzer für ein Routensegment, z. B. das vierte Segment des Routenplans in Tabelle 2, erwartet wird, dann stimmt ein leeres Fahrzeug 100 mit dem Routenplan überein, und daher wird der Block 520 als Nächstes ausgeführt.
-
Im Block 520 bestimmt der Computer 110, ob ein Benutzer in dem Fahrzeug zum Initiieren einer Fahrzeugbewegung autorisiert ist, z. B. Drücken einer „Abfahrt“-Taste. Der Computer 110 kann Berechtigungen von Benutzern basierend auf den Rollen wie vorstehend beschrieben bestimmen. Wenn der Computer 110 bestimmt, dass ein Benutzer in dem Fahrzeug zum Initiieren einer Fahrzeugbewegung autorisiert ist, wird als Nächstes ein Block 522 ausgeführt; andernfalls geht der Prozess 500 zu einem Block 524 über.
-
Im Block 522 navigiert der Computer 110 das Fahrzeug 100 zu einem nächsten Ziel auf dem Routenplan, z. B. der zweiten Adressposition, die dem zweiten Segment basierend auf dem in Tabelle 2 veranschaulichten Routenplan zugeordnet ist. Der Computer 110 navigiert das Fahrzeug 100, indem er Signale an Fahrzeugteilsysteme zum Beschleunigen, Bremsen oder Lenken des Fahrzeugs 100 ausgibt. Im Anschluss an Block 522 geht der Prozess 500 zu einem Block 540 über, wie in 5C gezeigt.
-
Im Entscheidungsblock 524 bestimmt der Computer 110 aufgrund dessen, dass das Fahrzeug 100 laut vorhergehender Prozessblöcke leer ist, ob eine Bewegung des Fahrzeugs 100 über einen entfernten Server, wie etwa den Server 165, autorisiert ist, z. B. eine durch einen Benutzer mit der Rolle des Administrators 205 initiierte Autorisierung. Zum Beispiel gibt es in dem beispielhaften Routenplan aus Tabelle 2 keinen Benutzer, der dem vierten Segment zugeordnet ist. Daher kann eine Autorisierung von einem entfernten Server 165 die Bewegung des Fahrzeugs 100 von der ersten Adressposition initiieren. Wenn eine Autorisierung zum Initiieren einer Bewegung des Fahrzeugs 100 von einem entfernten Server 165 empfangen wird, wird als Nächstes der Block 522 ausgeführt; andernfalls geht der Prozess 500 zu einem Block 526 über.
-
Im Block 526 empfängt der Computer 110 Anweisungen von dem Server 165 hinsichtlich des weiteren Vorgehens, z. B. Entsenden eines Technikers zu der Position des Fahrzeugs 100. Im Anschluss an Block 516 endet der Prozess 500.
-
Unter Bezugnahme auf 5B bestimmt der Computer 110 im Entscheidungsblock 528, der dem vorstehend unter Bezugnahme auf 5A erörterten Block 518 folgt, bestimmen, ob das Fahrzeug 100 über Platz für (einen) zusätzliche(n) Benutzer verfügt. Zum Beispiel kann der Computer 110 Informationen von dem Server 165 empfangen, die eine maximal zulässige Anzahl der Benutzer in dem Fahrzeug 100 angeben. Der Computer 110 kann ferner bestimmen, ob das Fahrzeug 100 über Platz für zusätzliche Benutzer verfügt, basierend auf der maximal zulässigen Anzahl von Benutzern, einer Anzahl von bereits geplanten Benutzern für das aktuelle Segment und/oder einer Anzahl von zusätzlichen Benutzern, die eine Fahrt mit dem Fahrzeug 100 anfordern. Wenn der Computer 110 bestimmt, dass Platz für (einen) zusätzlichen Benutzer vorhanden ist, dann wird als Nächstes ein Entscheidungsblock 530 ausgeführt; andernfalls geht der Prozess 500 zu einem Block 532 über.
-
Im Entscheidungsblock 530 bestimmt der Computer 110, ob ein Administrator 205 das Hinzufügen des eine Fahrt anfordernden Benutzers zu dem Routenplan zulässt oder ablehnt. Alternativ dazu kann ein Superbenutzer 210 eine Hinzufügung des/der eine Fahrt anfordernden Benutzer(s) zu dem Routenplan zulassen. Der Administrator 205 oder der Superbenutzer 210 kann eine Eingabe über die HMI 145 des Fahrzeugs 100 oder alternativ dazu über den Server 165 bereitstellen. Wenn die Hinzufügung des/der Benutzer(s) zu dem Routenplan zugelassen wird, wird als Nächstes ein Block 538 ausgeführt; andernfalls geht der Prozess 500 zum Block 532 über.
-
Im Block 532 gibt der Computer 110 an Benutzer, die nicht auf dem Routenplan aufgeführt sind, eine Nachricht aus, dass kein Platz vorhanden ist und dass der/die Benutzer aus dem Fahrzeug 100 aussteigen solle(n). Zum Beispiel kann der Computer 110 eine derartige Ausgabe an die HMI 145 und/oder die Benutzervorrichtungen 155 bereitstellen.
-
Als Nächstes bestimmt der Computer 110 in einem Entscheidungsblock 534, ob die Benutzer, die nicht auf dem Routenplan aufgeführt sind, das Fahrzeug 100 verlassen haben. Wenn die Benutzer, die nicht auf dem Routenplan aufgeführt sind, das Fahrzeug 100 verlassen haben, wird als Nächstes der Block 518 ausgeführt (siehe 5A); andernfalls geht der Prozess 500 zu einem Entscheidungsblock 535 über.
-
Im Entscheidungsblock 535 bestimmt der Computer 110, ob eine Wartezeit nach dem Ausgeben einer Aufforderung zum Aussteigen abgelaufen ist. Wenn die Wartezeit abgelaufen ist, wird als Nächstes ein Block 536 ausgeführt; andernfalls wird die Ausführung von Block 534 fortgesetzt.
-
Im Block 536 teilt der Computer 110 dem Server 165 seinen Status mit, z. B. einer oder mehrere Benutzer, der/die nicht auf dem Routenplan steht/stehen, weigert bzw. weigern sich, aus dem Fahrzeug 100 auszusteigen. Der Computer 110 kann weitere Informationen ausgeben, wie etwa die Identität der Benutzer, die sich weigern auszusteigen, die Position des Fahrzeugs 100 usw. Der Computer 110 kann Hilfe von dem Server 165 erhalten, z. B. kann der Server 165 eine Strafverfolgungs- und Ordnungsbehörde benachrichtigen.
-
Im Block 538, der dem Block 530 wie vorstehend beschrieben folgen kann, fügt der Computer 110 den/die zusätzlichen Benutzer dem Routenplan hinzu, d. h. indem jeder zusätzliche Benutzer einem oder mehreren Segmenten des Routenplans hinzugefügt wird. Im Anschluss an Block 538 geht der Prozess zum Block 520 über, wie in 5A gezeigt. Unter Bezugnahme auf 5C gibt nun der Computer 110 im Anschluss an den in 5A gezeigten Block 522 im Block 540 Daten aus, die eine aktuelle Position und die Identitäten von Benutzern beinhalten, die aus dem Fahrzeug 100 aussteigen müssen. Der Computer 110 bestimmt den/die Benutzer, der/die basierend auf dem Routenplan aussteigen müssen; z. B. gibt der Computer 110 Daten aus, die einen ersten und einen zweiten Benutzer beinhalten, die an der vierten Adresse, d. h. d. h. an der Endposition des dritten Segments, aussteigen sollen.
-
Als Nächstes bestimmt der Computer 110 in einem Entscheidungsblock 542, ob die Tür(en) des Fahrzeugs 100 geöffnet wird/werden. Wenn die Tür(en) geöffnet wird/werden, wird als Nächstes ein Entscheidungsblock 548 ausgeführt; andernfalls geht der Prozess 500 zu einem Entscheidungsblock 544 über.
-
Im Entscheidungsblock 544 bestimmt der Computer 110, ob eine vorbestimmte Wartezeit seit der Ankunft des Fahrzeugs 100 abgelaufen ist. Wenn die Wartezeit abgelaufen ist, wird als Nächstes ein Block 546 ausgeführt; andernfalls geht der Prozess 500 zum Entscheidungsblock 542 über. Anders ausgedrückt bestimmt der Computer 110, ob die Türen des Fahrzeugs 100 innerhalb einer vorbestimmten Zeit nach der Ankunft des Fahrzeugs 100 an der Absetz-/Abholadresse geöffnet werden.
-
Im Block 546 kann der Computer 110 einer zentralen Steuerung seinen Status (ein Status des Fahrzeugs 100 kann eine Position, eine Anzahl von Insassen, einen Bewegungs-/Nichtbewegungszustand und/oder andere Informationen beinhalten) mitteilen, z. B. eine Nachricht an den Server 165 senden. In diesem Block würde der Status des Fahrzeugs 100 beinhalten, dass es sich an einer bestimmten Position befindet und ein oder mehrere Benutzer, von denen ein Ausstieg erwartet wird, nicht ausgestiegen sind. Der Computer 110 kann weitere Anweisungen von dem Server 165 hinsichtlich des weiteren Vorgehens, z. B. eine Nachricht an eine Benutzervorrichtung 155, das von dem Benutzer erwartet wird, dass er aus dem Fahrzeug aussteigt, empfangen. Im Anschluss an Block 546 endet der Prozess 500. Alternativ dazu kann der Computer 110 im Anschluss an Block 546, wenngleich nicht gezeigt, ferner eine Aufhebungsanweisung zum Fortsetzen der Fahrt zu weiteren Zielen laut dem Routenplan, z. B. zum Übergehen zum Block 518, empfangen.
-
Im Entscheidungsblock 548 bestimmt der Computer 110, ob die Tür(en) des Fahrzeugs 100 geschlossen wird/werden. Wenn die Tür(en) geschlossen wird/werden, wird als Nächstes ein Entscheidungsblock 552 ausgeführt; andernfalls geht der Prozess 500 zu einem Entscheidungsblock 550 über.
-
Im Entscheidungsblock 550 bestimmt der Computer 110, ob eine vorbestimmte Wartezeit seit der Öffnung der Türen des Fahrzeugs 100 abgelaufen ist. Wenn die Wartezeit abgelaufen ist, wird als Nächstes der Block 546 ausgeführt; andernfalls geht der Prozess 500 zum Entscheidungsblock 548 über. Anders ausgedrückt bestimmt der Computer 110, ob die Türen des Fahrzeugs innerhalb einer vorbestimmten Zeit nach deren Öffnung geschlossen werden.
-
Im Entscheidungsblock 552 bestimmt der Computer 110 basierend auf von Kameras und/oder anderen Sensoren empfangenen Daten, ob ein beliebiger Benutzer das Fahrzeug 100 verlassen hat. Wenn ein beliebiger Benutzer das Fahrzeug 100 verlassen hat, wird als Nächstes ein Entscheidungsblock 554 ausgeführt; andernfalls geht der Prozess 500 zu einem Entscheidungsblock 554 über.
-
Im Entscheidungsblock 554 bestimmt der Computer 110 basierend auf dem Routenplan, in dem Benutzer für jedes Segment aufgeführt sind, einer aktuellen Position des Fahrzeugs 100 und der Identität des/der Benutzer, der/die das Fahrzeug 100 verlassen hat/haben, ob ein erwarteter Benutzer oder erwartete Benutzer das Fahrzeug 100 verlassen hat bzw. haben. Ist dies der Fall, wird als Nächstes der Block 518 ausgeführt (siehe 5A); andernfalls geht der Prozess zu Block 556 über.
-
Im Block 556 gibt der Computer 110 eine Nachricht an eine Vorrichtung 155 eines Benutzers aus, der das Fahrzeug 100 vermutlich irrtümlicherweise verlassen hat; z. B. wird eine Textnachricht gesendet, in welcher der Benutzer gebeten wird, zu dem Fahrzeug 100 zurückzukehren.
-
Als Nächstes gibt der Computer 110 in einem Block 558 (eine) Nachricht(en) an die Benutzer aus, die das Fahrzeug 100 verlassen sollten, es jedoch nicht verlassen haben; z. B. wird eine Text- und/oder Audionachricht über die HMI 145 und/oder die Benutzervorrichtungen 155 ausgegeben.
-
Im Anschluss an Block 558 geht der Prozess 500 zum Entscheidungsblock 552 über.
-
Prozessoren, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Anweisungen, die durch einen oder mehrere Prozessoren, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger 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, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch einer oder mehrere Prozesse, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse, durchgeführt werden. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt an computerlesbaren Medien gespeichert und übertragen werden. Eine in einem Prozessor gespeicherte Datei ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw. gespeichert sind.
-
Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten beispielsweise optische und Magnetplatten und anderen dauerhaften Speicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der üblicherweise einen Hauptspeicher darstellt. 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 Bezug auf die in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben wurden, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge durchgeführt werden als in der in dieser Schrift beschriebenen Reihenfolge. Es versteht sich außerdem, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift 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.
-
Dementsprechend versteht es sich, dass die vorliegende Offenbarung, einschließlich der vorstehenden Beschreibung und der beigefügten Figuren und nachstehenden Patentansprüche, veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Schutzumfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf Patentansprüche, die hier beigefügt sind und/oder in einer hierauf beruhenden, nicht vorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Schutzumfang von Äquivalenten, zu denen derartige Patentansprüche berechtigt sind. Es wird erwartet und ist beabsichtigt, dass es hinsichtlich der in dieser Schrift erörterten Fachgebiete künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass der offenbarte Gegenstand modifiziert und variiert werden kann.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt wird bzw. werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.