-
VERWEIS AUF VERWANDTE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der US-Patenanmeldung Nr.
17/017,660 , eingereicht am 10. September 2020, die durch Bezugnahme in die vorliegende Anmeldung aufgenommen wird.
-
GEBIET DER ERFINDUNG
-
Diese Beschreibung betrifft die Energieverwaltung elektronischer Einrichtungen eines Fahrzeugs, z.B. eines autonomen Fahrzeugs.
-
HINTERGRUND
-
Fahrzeuge wie z.B. autonome Fahrzeuge umfassen typischerweise elektronische Einrichtungen, die von einer oder mehreren zentralen Energiequellen wie beispielsweise einer Batterie versorgt werden. Einige der elektronischen Einrichtungen können eingeschaltet sein, während das Fahrzeug in Betrieb ist, und einige der Einrichtungen können während des Betriebs zwischen Ein- und Aus-Zuständen wechseln.
-
Figurenliste
-
- 1 zeigt ein Beispiel eines autonomen Fahrzeugs mit autonomer Fähigkeit.
- 2 zeigt eine beispielhafte „Cloud“-Datenverarbeitungsumgebung.
- 3 zeigt ein Computersystem.
- 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
- 5 zeigt ein Beispiel für Eingänge und Ausgänge, die von einem Wahrnehmungsmodul verwendet werden können.
- 6 zeigt ein Beispiel eines LiDAR-Systems.
- 7 zeigt das LiDAR-System im Betrieb.
- 8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems.
- 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls.
- 10 zeigt einen für Wegplanung verwendeten gerichteten Graphen.
- 11 zeigt ein Blockdiagramm der Eingänge und Ausgänge eines Steuermoduls.
- 12 zeigt ein Blockdiagramm der Eingänge, Ausgänge und Komponenten einer Steuereinheit.
- 13 zeigt eine Energieverteilungseinheit und zugehörige Komponenten in einem autonomen Fahrzeug.
- 14 zeigt ein Beispiel für Richtliniendaten.
- 15 zeigt ein Flussdiagramm eines Beispielprozesses zur Verwaltung der Energie elektronischer Einrichtungen in einem Fahrzeug.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In der nachfolgenden Beschreibung werden zu Erläuterungszwecken zahlreiche konkrete Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung zu vermitteln. Es versteht sich jedoch, dass die vorliegende Erfindung auch ohne diese konkreten Einzelheiten umgesetzt werden kann. In anderen Fällen werden allgemein bekannte Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um die vorliegende Erfindung klarer darzustellen.
-
In den Zeichnungen sind konkrete Anordnungen oder Ordnungen schematischer Elemente, beispielsweise solcher, die Einrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, aus Gründen einer vereinfachten Beschreibung gezeigt. Ein Fachmann sollte jedoch verstehen, dass die konkrete Ordnung oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge der Verarbeitung oder eine Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einigen Ausführungsformen nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden können.
-
Wenn ferner in den Zeichnungen Verbindungselemente wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, eine Beziehung oder einen Zusammenhang zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, so ist das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, keine Beziehung oder kein Zusammenhang vorliegen kann. Mit anderen Worten, einige Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen sind in den Zeichnungen nicht gezeigt, um nicht von der Offenbarung abzulenken. Zudem wird aus Gründen einer vereinfachten Darstellung ein einziges Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen zu repräsentieren. Wenn beispielsweise ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollte ein Fachmann verstehen, dass ein solches Element einen oder mehrere Signalwege (z.B. einen Bus) repräsentiert, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
-
Es wird nun im Einzelnen Bezug auf Ausführungsformen genommen, zu denen Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der nachfolgenden ausführlichen Beschreibung werden zahlreiche konkrete Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen zu gewährleisten. Ein Fachmann versteht jedoch, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese konkreten Einzelheiten umgesetzt werden können. In anderen Fällen wurden allgemein bekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht im Einzelnen beschrieben, um nicht unnötig von Aspekten der Ausführungsformen abzulenken.
-
Nachstehend werden verschiedene Merkmale beschrieben, die jeweils unabhängig voneinander oder mit jedweder Kombination weiterer Merkmale verwendet werden können. Ein einzelnes Merkmal löst jedoch möglicherweise noch keines der vorstehend erörterten Probleme oder löst möglicherweise nur eines der vorstehend erörterten Probleme. Einige der vorstehend erörterten Probleme werden möglicherweise von keinem der vorliegend beschriebenen Merkmale vollständig gelöst. Auch wenn Überschriften angegeben sind, können Informationen, die sich auf eine bestimmte Überschrift beziehen, aber nicht in dem Abschnitt mit dieser Überschrift zu finden sind, auch an anderer Stelle in dieser Beschreibung zu finden sein. Ausführungsformen werden vorliegend gemäß der nachstehenden Gliederung beschrieben:
- 1. Allgemeine Übersicht
- 2. Systemübersicht
- 3. Architektur des autonomen Fahrzeugs
- 4. Eingänge des autonomen Fahrzeugs
- 5. Planung des autonomen Fahrzeugs
- 6. Steuerung des autonomen Fahrzeugs
- 7. Energieverwaltung
-
Allgemeine Übersicht
-
Eine Energieverteilungseinheit eines Fahrzeugs steuert die Energieversorgung der einzelnen elektronischen Einrichtungen des Fahrzeugs auf Grundlage von Richtlinien, die für einen Betriebszustand des Fahrzeugs spezifisch sind. Wenn ein Energiebefehl von einer Host-Einrichtung empfangen wird, vergleicht die Energieverteilungseinheit den Energiebefehl mit einer für den aktuellen Betriebszustand spezifischen Richtlinie, um festzustellen, ob die Host-Einrichtung autorisiert ist, den Energiebefehl im aktuellen Fahrzeugzustand auszugeben. Der Energiebefehl wird nur ausgeführt, wenn er mit der Richtlinie übereinstimmt.
-
Einige der Vorteile dieser Methoden sind wie folgt. Eine Host-Einrichtung kann daran gehindert werden, die elektronischen Einrichtungen des Fahrzeugs zu unpassenden Zeiten einzuschalten, auszuschalten oder aus- und wieder einzuschalten (z.B. wenn eine elektronische Einrichtung für den sicheren Betrieb des Fahrzeugs erforderlich ist). Ein böswilliger Akteur, der sich Zugang zu einer Host-Einrichtung verschafft, wird daran gehindert, den Betrieb eines Fahrzeugs über dessen Energiesysteme zu stören. Eine Richtlinie kann in einem effizienten Format wie beispielsweise einer Bitfolge gespeichert werden, wodurch das oder die Systeme, die diese Methoden implementieren, effizienter werden (z.B. durch Verringern des für die Speicherung der Richtliniendaten erforderlichen Datenspeichers).
-
Systemübersicht
-
1 zeigt ein Beispiel eines autonomen Fahrzeugs AV 100 mit autonomer Fähigkeit.
-
Die Bezeichnung „autonome Fähigkeit“ bezieht sich vorliegend auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliche Echtzeit-Intervention zu betreiben, darunter, ohne hierauf eingeschränkt zu sein, vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
-
Ein autonomes Fahrzeug (autonomous vehicle, AV) ist vorliegend ein Fahrzeug, das autonome Fähigkeit besitzt.
-
Ein „Fahrzeug“ umfasst vorliegend Transportmittel für Güter oder Personen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchfahrzeuge, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
-
„Trajektorie“ bezieht sich vorliegend auf einen Weg oder eine Route zum Navigieren eines AV von einem ersten räumlich-zeitlichen Ort zu einem zweiten räumlich-zeitlichen Ort. In einer Ausführungsform wird der erste räumlich-zeitliche Ort als Anfangs- oder Startort und der zweite räumlich-zeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Teilstücken (z.B. Straßenabschnitten) und besteht jedes Teilstück aus einem oder mehreren Blöcken (z.B. Abschnitten einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die räumlich-zeitlichen Orte realen Orten. Beispielsweise handelt es sich bei den räumlich-zeitlichen Orten um Abhol- oder Absetzpunkte zum Abholen oder Absetzen von Personen oder Gütern.
-
„Sensor(en)“ umfassen vorliegend eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung des Sensors erfassen. Einige der Hardwarekomponenten können Sensorkomponenten (z.B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z.B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie beispielsweise Analog-Digital-Wandler, eine Datenspeichereinrichtung (wie beispielsweise einen RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie beispielsweise eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
-
Bei einer „Szenenbeschreibung“ handelt es sich vorliegend um eine Datenstruktur (z.B. Liste) oder einen Datenstrom, die ein oder mehrere klassifizierte oder gekennzeichnete Objekte umfassen, die durch einen oder mehrere Sensoren am AV-Fahrzeug erfasst oder durch eine außerhalb des AV befindliche Quelle bereitgestellt werden.
-
Eine „Straße“, ist vorliegend ein physischer Bereich, der von einem Fahrzeug befahren werden kann und einer benannten Durchgangsstraße (z.B. Stadtstraße, Autobahn usw.) oder einer unbenannten Durchgangsstraße (z.B. eine Einfahrt in einem Haus oder Bürogebäude, ein Abschnitt eines Parkplatzes, ein Abschnitt eines leeren Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen kann. Da einige Fahrzeuge (z.B. Allrad-Pickup-Fahrzeuge, Sport Utility Vehicles usw.) in der Lage sind, eine Vielzahl von physischen Bereichen zu befahren, die nicht speziell für Fahrzeuge geeignet sind, kann eine „Straße“ ein physischer Bereich sein, der von keiner Gemeinde oder anderen Regierungs- oder Verwaltungsbehörde formal als Durchgangsstraße definiert ist.
-
Bei einer „Fahrspur“ handelt es sich vorliegend um einen Abschnitt einer Straße, der von einem Fahrzeug befahren werden kann. Eine Fahrspur wird manchmal auf Grundlage von Fahrspurmarkierungen identifiziert. Beispielsweise kann eine Fahrspur größtenteils oder vollständig dem Raum zwischen Fahrspurmarkierungen entsprechen oder kann nur einem Teil (z.B. weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Beispielsweise könnte eine Straße mit weit auseinander liegenden Fahrspurmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug das andere überholen kann, ohne die Fahrspurmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass die Fahrspur schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder dass zwischen den Fahrspurmarkierungen zwei Fahrspuren liegen. Eine Fahrspur könnte auch ohne vorhandene Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur auf Grundlage physischer Merkmale einer Umgebung definiert werden, z.B. Felsen und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet oder z.B. natürliche Hindernisse, die in einem unbebauten Gebiet umgangen werden sollen. Eine Fahrspur könnte auch unabhängig von Fahrspurmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte eine Fahrspur auf Grundlage eines willkürlichen, hindernisfreien Weges in einem Gebiet interpretiert werden, in dem ansonsten Merkmale fehlen, die als Fahrspurbegrenzungen interpretiert werden würden. In einem Beispielszenario könnte ein AV eine Fahrspur durch einen hindernisfreien Teil eines Feldes oder einer leeren Parzelle interpretieren. In einem weiteren Beispielszenario könnte ein AV eine Fahrspur durch eine breite (z.B. breit genug für zwei oder mehr Fahrspuren) Straße interpretieren, die keine Fahrspurmarkierungen besitzt. In diesem Szenario könnte das AV Informationen über die Fahrspur an andere AVs kommunizieren, damit die anderen AVs dieselben Fahrspurinformationen verwenden können, um die Wegplanung untereinander zu koordinieren.
-
Die Bezeichnung „Over-the-Air- (OTA-, über den freien Raum, per Funk) Client“ umfasst jedes AV oder jede elektronische Einrichtung (z.B. Computer, Steuereinheit, IoT-Einrichtung, elektronische Steuereinheit (ECU)), die in ein AV eingebettet ist, mit diesem gekoppelt ist oder mit diesem in Kommunikation steht.
-
Der Begriff „Over-the-Air- (OTA-) Aktualisierung“ bezeichnet jede Aktualisierung, Änderung, Löschung oder Hinzufügung von Software, Firmware, Daten oder Konfigurationseinstellungen oder jede Kombination aus diesen, die einem OTA-Client unter Verwendung proprietärer und/oder standardisierter drahtloser Kommunikationstechnologie geliefert wird, darunter, ohne jedoch hierauf eingeschränkt zu sein: zellulare Mobilfunkkommunikation (z.B. 2G, 3G, 4G, 5G), drahtlose Funknetze (z.B. WiFi) und/oder Satelliten-Internet.
-
Die Bezeichnung „Edge-Knoten“ (Randknoten) bezeichnet eine oder mehrere mit einem Netzwerk gekoppelte Edge-Einrichtungen, die ein Portal für die Kommunikation mit AVs bieten und mit anderen Edge-Knoten und einer Cloud-basierten Datenverarbeitungsplattform kommunizieren können, um OTA-Updates zu planen und an OTA-Clients zu liefern.
-
Die Bezeichnung „Edge-Einrichtung“ meint eine Einrichtung, die einen Edge-Knoten implementiert und einen physischen drahtlosen Zugangspunkt (AP) in Kernnetze von Unternehmen oder Dienstanbietern (z.B. VERIZON, AT&T) bereitstellt. Zu Beispielen für Edge-Knoten zählen, ohne jedoch hierauf eingeschränkt zu sein: Computer, Steuereinheiten, Sender, Router, Routing-Switches, integrierte Zugangseinrichtungen (IADs, integrated access devices), Multiplexer, Zugangseinrichtungen für Stadtnetze (MAN, metropolitan area network) und Weitverkehrsnetze (WAN, wide area network).
-
„Ein(e) oder mehrere” umfasst eine von einem Element ausgeführte Funktion, eine von mehr als einem Element ausgeführte Funktion, z.B. verteilt, mehrere Funktionen, die von einem Element ausgeführt werden, mehrere Funktionen, die von mehreren Elementen ausgeführt werden, oder eine beliebige Kombination aus diesen.
-
Zudem versteht es sich, dass zwar in einigen Fällen die Bezeichnungen erste(r/s), zweite(r/s) usw. verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente jedoch durch diese Bezeichnungen nicht eingeschränkt werden sollen. Diese Bezeichnungen werden lediglich verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als zweiter Kontakt bezeichnet werden und entsprechend ein zweiter Kontakt als erster Kontakt, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Sowohl beim ersten Kontakt als auch beim zweiten Kontakt handelt es sich um Kontakte, jedoch nicht um denselben Kontakt.
-
Die vorliegend verwendete Terminologie der verschiedenen vorliegend beschriebenen Ausführungsformen dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und soll nicht einschränkend sein. Die Singularformen „ein/eine“ und „der/die/das“ wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den Ansprüchen verwendet sollen ebenso die Pluralformen einschließen, sofern nicht durch den Kontext offensichtlich anders angegeben. Zudem versteht es sich, dass sich die Angabe „und/oder“ wie vorliegend verwendet auf sämtliche mögliche Kombinationen aus einem oder mehreren der zugehörigen aufgeführten Elemente bezieht und diese umfasst. Ferner ist zu beachten, dass die Ausdrücke „umfasst“ und/oder „umfassend,“ soweit in dieser Spezifikation verwendet, das Vorliegen genannter Merkmale, Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angibt, jedoch nicht das Vorliegen oder Hinzufügen eines oder mehrerer weiterer Merkmale, Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
-
Die Bezeichnung „falls“ ist je nach Kontext wahlweise auszulegen als „wenn“, „bei/nach“ oder „in Reaktion auf Bestimmen“ oder „in Reaktion auf Erfassen“. Entsprechend ist die Formulierung „falls bestimmt wird“ oder „falls [eine genannte Bedingung oder ein genanntes Ereignis] erfasst wird“ je nach Kontext wahlweise auszulegen als „bei/nach Bestimmen“ oder „in Reaktion auf Bestimmen“ oder „bei/nach Erfassen [der genannten Bedingung oder des genannten Ereignisses]“ oder „in Reaktion auf Erfassen [der genannten Bedingung oder des genannten Ereignisses]“.
-
Ein AV-System bezeichnet vorliegend das AV zusammen mit der Gruppierung aus Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in das AV integriert. In einer Ausführungsform ist das AV-System auf mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems in einer Cloud-Computing-Umgebung ähnlich der nachstehend in Bezug auf 3 beschriebenen Cloud-Computing-Umgebung implementiert.
-
Im Allgemeinen beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, darunter vollständig autonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge, wie beispielsweise so genannte Level-5-, Level-4- bzw. Level-3-Fahrzeuge (für weitere Einzelheiten zur Klassifizierung von Autonomiestufen in Fahrzeugen vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten On-Road-Kraftfahrzeug-Fahrsystemen), die durch Bezugnahme vollumfänglich hierin aufgenommen wird). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z.B. sogenannte Level-2- und Level-1-Fahrzeuge (vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können eines oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen unter bestimmten Betriebsbedingungen auf Grundlage der Verarbeitung von Sensoreingaben automatisieren (z.B. Lenkung, Bremsen und Verwenden von Karten). Die in diesem Dokument beschriebenen Technologien können Fahrzeugen aller Stufen zugute kommen, von vollständig autonomen Fahrzeugen bis hin zu von Menschen betriebenen Fahrzeugen.
-
Autonome Fahrzeuge weisen Vorteile gegenüber Fahrzeugen auf, die einen menschlichen Fahrer erfordern. Ein Vorteil besteht in der Sicherheit. Im Jahr 2016 zum Beispiel gab es in den Vereinigten Staaten 6 Millionen Autounfälle, 2,4 Millionen Verletzte, 40.000 Tote und 13 Millionen verunglückte Fahrzeuge, deren gesellschaftliche Kosten auf über 910 Milliarden Dollar geschätzt werden. Die Zahl der Verkehrstoten pro 100 Millionen gefahrener Meilen ist in den USA von 1965 bis 2015 von etwa sechs auf etwa einen zurückgegangen, was zum Teil auf zusätzliche Sicherheitsmaßnahmen in den Fahrzeugen zurückzuführen ist. Beispielsweise wird davon ausgegangen, dass eine zusätzliche halbe Sekunde Vorwarnzeit, dass eine Kollision bevorsteht, 60 % der Auffahrunfälle abmildert. Allerdings haben passive Sicherheitsmerkmale (z.B. Sicherheitsgurte, Airbags) bei der Verbesserung dieser Zahl wahrscheinlich ihre Grenze erreicht. Somit stellen aktive Sicherheitsmaßnahmen wie beispielsweise automatisierte Steuerung eines Fahrzeugs den naheliegenden nächsten Schritt bei der Verbesserung dieser Statistiken dar. Da davon ausgegangen wird, dass bei 95 % der Unfälle menschliche Fahrer für ein entscheidendes Ereignis vor dem Unfall verantwortlich sind, werden automatisierte Fahrsysteme wahrscheinlich bessere Sicherheitsergebnisse erzielen, z.B. indem sie kritische Situationen zuverlässiger als Menschen erkennen und vermeiden, bessere Entscheidungen treffen, Verkehrsgesetze befolgen und zukünftige Ereignisse besser vorhersagen als Menschen und ein Fahrzeug zuverlässiger als Menschen steuern.
-
Unter Bezugnahme auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 bis zu einem Zielort 199 (manchmal auch als Endpunkt bezeichnet) unter Umgehung von Objekten (z.B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) und unter Einhaltung von Verkehrsregeln (z.B. Betriebsregeln oder Fahrpräferenzen).
-
In einer Ausführungsform umfasst das AV-System 120 Einrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. Der Ausdruck „Betriebsbefehl“ wird vorliegend in der Bedeutung einer ausführbaren Anweisung (oder eines Satzes von Anweisungen) verwendet, die ein Fahrzeug veranlasst, eine Aktion (z.B. ein Fahrmanöver) durchzuführen. Betriebsbefehle können, ohne Einschränkung, Anweisungen für ein Fahrzeug beinhalten, eine Vorwärtsbewegung zu starten, eine Vorwärtsbewegung zu stoppen, eine Rückwärtsbewegung zu starten, eine Rückwärtsbewegung zu stoppen, zu beschleunigen, abzubremsen, eine Linkskurve und eine Rechtskurve durchzuführen. In einer Ausführungsform ähneln die Datenverarbeitungsprozessoren 146 dem nachstehend in Bezug auf 3 beschriebenen Prozessor 304. Zu Beispielen für die Einrichtungen 101 zählen eine Lenksteuerung 102, Bremsen 103, Schaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürenschlösser, Fenstersteuerungen und Blinker.
-
In einer Ausführungsform umfasst das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Zustandseigenschaften des AV 100, beispielsweise der Position des AV, Linear- und Winkelgeschwindigkeit und Beschleunigung sowie Fahrtrichtung (z.B. eine Ausrichtung des vorderen Endes des AV 100). Zu Beispielen für Sensoren 121 zählen GPS, Trägheitsmesseinheiten (IMU, inertial measurement unit), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelgeschwindigkeiten messen, Raddrehzahlsensoren zur Messung oder Schätzung von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
-
In einer Ausführungsform umfassen die Sensoren 121 zudem Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beidem), LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit- (ToF, Time of Flight) Tiefensensoren, Drehzahlsensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
-
In einer Ausführungsform umfasst das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit den Computerprozessoren 146 oder mit durch die Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichereinheit 310, die nachstehend in Bezug auf 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem nachstehend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder Vorhersageinformationen über die Umgebung 190. In einer Ausführungsform zählen zu den gespeicherten Informationen Karten, Fahrverhalten, Aktualisierungen zum Verkehrsaufkommen oder Wetterbedingungen. In einer Ausführungsform werden die Umgebung 190 betreffende Daten von einer entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
-
In einer Ausführungsform umfasst das AV-System 120 Kommunikationseinrichtungen 140 zum Kommunizieren gemessener oder abgeleiteter Eigenschaften der Zustände und Bedingungen anderer Fahrzeuge, beispielsweise Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelausrichtungen, an das AV 100. Zu diesen Einrichtungen zählen Fahrzeug-zu-Fahrzeug- (V2V, vehicle to vehicle) und Fahrzeug-zu-Infrastruktur- (V2I, vehicle to infrastructure) Kommunikationseinrichtungen und Einrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationseinrichtungen 140 über das elektromagnetische Spektrum (darunter Funk- und optische Kommunikation) oder andere Medien (z.B. Luft und akustische Medien). Eine Kombination aus Fahrzeug-zu-Fahrzeug-(V2V-) und Fahrzeug-zu-Infrastruktur- (V2I-) Kommunikation (und in einigen Ausführungsformen einer oder mehreren weiteren Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Alles- (V2X-) Kommunikation bezeichnet. V2X-Kommunikation entspricht üblicherweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
-
In einer Ausführungsform umfassen die Kommunikationseinrichtungen 140 Kommunikationsschnittstellen. Beispiele hierfür sind drahtgebundene, drahtlose, WiMAX-,-- , Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt gelegenen Datenbank 134 an das AV-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 in eine Cloud-Computing-Umgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere den Betrieb des AV 100 betreffende Daten an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die Teleoperationen betreffen, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit weiteren entfernten (z.B. „Cloud“-) Servern 136.
-
In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 zudem digitale Daten (z.B. speichert Daten wie Verkehrswege- und Straßenstandorte). Solche Daten werden im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
-
In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 historische Informationen über Fahreigenschaften (z.B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten die Trajektorie 198 befahren haben. In einer Implementierung können solche Daten im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen werden.
-
Im AV 100 befindliche Datenverarbeitungseinrichtungen 146 generieren algorithmisch Steueraktionen auf Grundlage von Echtzeit-Sensordaten und früheren Informationen und ermöglichen so dem AV-System 120, seine autonomen Fahrfähigkeiten auszuüben.
-
In einer Ausführungsform umfasst das AV-System 120 Computerperipheriegeräte 132, die mit Datenverarbeitungseinrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Nutzer (z.B. einen Insassen oder einen entfernten Nutzer) des AV 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabeeinrichtung 314 und der Cursor-Steuereinheit 316, die nachstehend in Bezug auf 3 behandelt werden. Die Kopplung ist drahtlos oder drahtgebunden. In eine einzige Einrichtung können beliebige zwei oder mehr der Schnittstelleneinrichtungen integriert sein.
-
In einer Ausführungsform empfängt das AV-System 120 eine Vertraulichkeitsstufe eines Fahrgastes, die z.B. vom Fahrgast angegeben oder in einem dem Fahrgast zugeordneten Profil gespeichert ist, und setzt diese durch. Die Vertraulichkeitsstufe des Fahrgastes bestimmt, wie bestimmte mit dem Fahrgast verbundene Informationen (z.B. Fahrgastkomfortdaten, biometrische Daten usw.) verwendet, im Fahrgastprofil gespeichert und/oder auf dem Cloud-Server 136 gespeichert und mit dem Fahrgastprofil verknüpft werden dürfen. In einer Ausführungsform legt die Vertraulichkeitsstufe bestimmte mit einem Fahrgast verbundene Informationen fest, die nach Beendigung der Fahrt gelöscht werden. In einer Ausführungsform legt die Vertraulichkeitsstufe bestimmte Informationen fest, die mit einem Fahrgast verbunden sind, und identifiziert eine oder mehrere Instanzen, die zum Zugriff auf die Informationen autorisiert sind. Zu Beispielen für festgelegte Instanzen, die zum Zugriff auf Informationen autorisiert sind, können andere AVs, AV-Systeme Dritter oder jede Instanz zählen, die potenziell auf die Informationen zugreifen könnte.
-
Eine Vertraulichkeitsstufe eines Fahrgastes kann auf einer oder mehreren Granularitätsstufen festgelegt werden. In einer Ausführungsform identifiziert eine Vertraulichkeitsstufe bestimmte Informationen, die gespeichert oder freigegeben werden sollen. In einer Ausführungsform gilt die Vertraulichkeitsstufe für alle mit dem Fahrgast verbundenen Informationen, so dass der Fahrgast festlegen kann, dass keine seiner persönlichen Informationen gespeichert oder freigegeben werden. Die Festlegung der Instanzen, die auf bestimmte Informationen zugreifen dürfen, kann ebenfalls auf verschiedenen Granularitätsstufen festgelegt werden. Zu verschiedenen Gruppen von Instanzen, die auf bestimmte Informationen zugreifen dürfen, können beispielsweise andere AVs, Cloud-Server 136, bestimmte AV-Systeme Dritter usw. zählen.
-
In einer Ausführungsform bestimmt das AV-System 120 oder der Cloud-Server 136, ob bestimmte Informationen, die mit einem Fahrgast verbunden sind, vom AV 100 oder einer anderen Instanz abgerufen werden können. Beispielsweise muss ein AV-System Dritter, das versucht, auf Fahrgasteingaben zuzugreifen, die sich auf einen bestimmten räumlich-zeitlichen Standort beziehen, eine Autorisierung einholen, z.B. vom AV-System 120 oder dem Cloud-Server 136, um auf die mit dem Fahrgast verbundenen Informationen zuzugreifen. Zum Beispiel verwendet das AV-System 120 die vom Fahrgast festgelegte Vertraulichkeitsstufe, um zu bestimmen, ob die Fahrgast-Eingaben, die sich auf den räumlich-zeitlichen Standort beziehen, dem AV-System Dritter, dem AV 100 oder einem anderen AV angezeigt werden können. Auf diese Weise kann die Vertraulichkeitsstufe des Fahrgastes festlegen, welche anderen Instanzen Daten über die Aktionen des Fahrgastes oder andere mit dem Fahrgast verbundene Daten empfangen dürfen.
-
2 zeigt eine beispielhafte „Cloud“-Datenverarbeitungsumgebung. Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerken, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten). In typischen Cloud-Computing-Systemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Gemäß 2 umfasst die Cloud-Computing-Umgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die durch die Cloud 202 untereinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f Cloud-Computing-Dienste bereit.
-
Die Cloud-Computing-Umgebung 200 umfasst ein oder mehrere Cloud-Datenzentren. Grundsätzlich bezeichnet ein Cloud-Datenzentrum, beispielsweise das in 2 gezeigte Cloud-Datenzentrum 204a, die physische Anordnung aus Servern, die eine Cloud, beispielsweise die in 2 gezeigte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum verfügt über eine oder mehrere Zonen, die einen oder mehrere Serverräume umfassen. Jeder Raum verfügt über eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks.
-
Jedes Rack umfasst einen oder mehrere einzelne Serverknoten. In einigen Implementierungen werden Server basierend auf den physischen Infrastrukturanforderungen der Rechenzentreneinrichtung, die Strom-, Energie-, Wärme- und/oder andere Anforderungen umfassen, in Zonen, Räumen, Racks und/oder Reihen in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a verfügt über viele Datenverarbeitungssysteme, die auf viele Racks verteilt sind.
-
Die Cloud 202 umfasst die Cloud-Datenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkbetriebsressourcen (beispielsweise Netzwerkbetriebsausrüstung, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Datenzentren 204a, 204b und 204c untereinander verbinden und dabei helfen, den Zugriff der Computersysteme 206a bis f auf Cloud-Computing-Dienste zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzen oder Verbundnetzwerken, die mittels drahtgebundener oder drahtloser Verbindungen gekoppelt sind, die mittels terrestrischer oder Satellitenverbindungen realisiert sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwendung einer beliebigen Anzahl von Protokollen der Netzwerkschicht übertragen, wie z.B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, etc. Darüber hinaus werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzen darstellt, in jedem der zugrunde liegenden Teilnetze unterschiedliche Netzwerkschichtprotokolle verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere untereinander verbundene Verbundnetze, beispielsweise das öffentliche Internet.
-
Die Datenverarbeitungssysteme 206a-f oder Cloud-Computing-Dienst-Konsumenten sind mit der Cloud 202 durch Netzwerkverbindungen und Netzwerkadapter verbunden. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f als verschiedene Datenverarbeitungseinrichtungen implementiert, beispielsweise Server, Desktops, Laptops, Tablet, Smartphones, Internet-der-Dinge- (IoT-, Internet of Things) Einrichtungen, autonome Fahrzeuge (darunter Autos, Drohnen, Shuttles, Züge, Busse usw.) und Unterhaltungselektronik. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f in oder als Teil anderer Systeme implementiert.
-
3 zeigt ein Computersystem 300. In einer Implementierung handelt es sich bei dem Computersystem 300 um eine Spezial-Datenverarbeitungseinrichtung. Die Spezial-Datenverarbeitungseinrichtung ist für die Durchführung der Methoden fest verdrahtet oder umfasst digitale elektronische Einrichtungen wie eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft für die Durchführung der Methoden programmiert sind, oder kann einen oder mehrere Universal-Hardwareprozessoren umfassen, die für die Durchführung der Methoden gemäß Programmbefehlen in Firmware, Speicher, anderen Speichern oder einer Kombination programmiert sind. Solche Spezial-Datenverarbeitungseinrichtungen können auch kundenspezifisch festverdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Methoden umzusetzen. In verschiedenen Ausführungsformen handelt es sich bei den Spezial-Datenverarbeitungseinrichtungen um Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkeinrichtungen oder eine beliebige andere Einrichtung, die festverdrahtete und/oder Programmlogik enthält, um die Methoden umzusetzen.
-
In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Bei dem Hardwareprozessor 304 handelt es sich beispielsweise um einen Universal-Mikroprozessor. Das Computersystem 300 umfasst zudem einen Hauptspeicher 306, beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichereinrichtung, der mit dem Bus 302 gekoppelt ist, um Informationen und Anweisungen zur Ausführung durch den Prozessor 304 zu speichern. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen und anderer Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Solche Anweisungen, wenn sie in durch den Prozessor 304 abrufbaren nicht transienten Speichermedien gespeichert sind, machen das Computersystem 300 zu einer Spezialmaschine, die darauf spezialisiert ist, die in den Anweisungen vorgegebenen Operationen durchzuführen.
-
In einer Ausführungsform umfasst das Computersystem 300 ferner einen mit dem Bus 302 gekoppelten Nur-Lese-Speicher (ROM) 308 oder eine andere statische Speichereinrichtung zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speichereinrichtung 310, beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Speicher oder ein dreidimensionaler Kreuzpunktspeicher, ist vorhanden und mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt.
-
In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an eine Anzeige 312 gekoppelt, beispielsweise eine Kathodenstrahlröhre (CRT), eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Leuchtdioden- (LED) Anzeige oder eine organische Leuchtdiodenanzeige (OLED), um Informationen für einen Computernutzer anzuzeigen. Eine Eingabeeinrichtung 314, die alphanumerische und andere Tasten umfasst, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren. Eine andere Art von Nutzereingabeneinrichtung ist eine Cursor-Steuereinheit 316, beispielsweise eine Maus, ein Trackball, eine Anzeige mit Berührungsfunktion, oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern von Cursor-Bewegungen auf der Anzeige 312. Diese Eingabeeinrichtung verfügt typischerweise über zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z.B. x-Achse) und einer zweiten Achse (z.B. y-Achse), mit denen die Einrichtung Positionen in einer Ebene festlegen kann.
-
Gemäß einer Ausführungsform werden die vorliegenden Methoden durch ein Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Abfolgen aus einer oder mehreren im Hauptspeicher 306 enthaltenen Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speichermedium, beispielsweise der Speichereinrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Abfolgen von Anweisungen bewirkt, dass der Prozessor 304 die vorliegend beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird anstelle von oder in Kombination mit Softwareanweisungen festverdrahtete Schalttechnik verwendet.
-
Die Bezeichnung „Speichermedien“ bezeichnet vorliegend alle nicht transienten Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine bestimmte Weise zu arbeiten. Zu solchen Speichermedien zählen nichtflüchtige Medien und/oder flüchtige Medien. Zu nichtflüchtigen Medien zählen beispielsweise optische Platten, Magnetplatten, Solid-State-Speicher oder dreidimensionaler Kreuzpunktspeicher, beispielsweise die Speichereinrichtung 310. Zu flüchtigen Medien zählt dynamischer Speicher, beispielsweise der Hauptspeicher 306. Zu gängigen Formen von Speichermedien zählen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Solid-State-Speicher, ein Magnetband oder jedes andere magnetische Datenspeichermedium, eine CD-ROM, jedes andere optische Datenspeichermedium, jedes physikalische Medium mit Lochmustern, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, NV-RAM oder jeder andere Speicherchip oder jede andere Speicherkassette.
-
Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch mit diesen zusammen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen Speichermedien beteiligt. Beispielsweise umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Glasfaser, darunter auch die Drähte, die im Bus 302 umfasst sind. Die Übertragungsmedien können auch die Form von Schall- oder Lichtwellen haben, wie sie z.B. bei der Funkwellen- und Infrarot-Datenkommunikation entstehen.
-
In einer Ausführungsform sind verschiedene Formen von Medien am Transport einer oder mehrerer Abfolgen aus einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Beispielsweise sind die Anweisungen zunächst auf einem Magnetplattenlaufwerk oder Solid-State-Speicher eines entfernten Computers enthalten. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung mittels eines Modems. Ein am Ort des Computersystems 300 befindliches Modem empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal enthaltenen Daten, und geeignete Schalttechnik legt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft, um diese auszuführen. Die durch den Hauptspeicher 306 empfangenen Anweisungen können wahlweise entweder vor oder nach der Ausführung durch den Prozessor 304 in der Speichereinrichtung 310 gespeichert werden.
-
Das Computersystem 300 umfasst zudem eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318. Die Kommunikationsschnittstelle 318 stellt eine Zwei-Wege-Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Bei der Kommunikationsschnittstelle 318 handelt es sich beispielsweise um eine ISDN-Karte (Integrated Service Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem zur Bereitstellung einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als weiteres Beispiel handelt es sich bei der Kommunikationsschnittstelle 318 um eine LAN-Karte (Local Area Network) zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In einigen Implementierungen werden zudem drahtlose Verbindungen umgesetzt. In jeder dieser Implementierungen sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten, die verschiedene Arten von Informationen repräsentieren.
-
Die Netzwerkverbindung 320 stellt üblicherweise Datenkommunikation durch ein oder mehrere Netzwerke an andere Dateneinrichtungen bereit. Beispielsweise bietet die Netzwerkverbindung 320 eine Verbindung über das lokale Netzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder zu Geräten, die von einem Internet-Dienstanbieter (ISP, Internet Service Provider) 326 betrieben werden. Der ISP 326 stellt seinerseits Datenkommunikationsdienste durch das weltweite Paketdaten-Kommunikationsnetzwerk bereit, das heute gemeinhin als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 nutzen elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten. Bei den Signalen durch die verschiedenen Netzwerke und den Signalen über die Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten an das und von dem Computersystem 300 enthalten, handelt es sich um beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der Cloud 202 wie vorstehend beschrieben.
-
Das Computersystem 300 sendet Nachrichten und empfängt Daten, darunter Programmcode, durch das oder die Netzwerke, die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird bei Empfang durch den Prozessor 304 ausgeführt und/oder in der Speichereinrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
-
Architektur des autonomen Fahrzeugs
-
4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z.B. das in 1 gezeigte AV 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (manchmal bezeichnet als Wahrnehmungsschaltung), ein Planungsmodul 404 (manchmal bezeichnet als Planungsschaltung), ein Steuermodul 406 (manchmal bezeichnet als Steuerschaltung), ein Lokalisierungsmodul 408 (manchmal bezeichnet als Lokalisierungsschaltung) und ein Datenbankmodul 410 (manchmal bezeichnet als Datenbankschaltung). Jedes Modul spielt eine Rolle im Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen handelt es sich bei jedem der Module 402, 404, 406, 408 und 410 um eine Kombination aus Computersoftware (z.B. auf einem computerlesbaren Medium gespeichertem ausführbarem Code) und Computerhardware (z.B. einem oder mehreren Mikroprozessoren, Mikrocontrollern, anwendungsspezifischen integrierten Schaltungen [ASICs], Hardware-Speichereinrichtungen, anderen Arten integrierter Schaltungen, anderen Arten von Computerhardware oder einer Kombination beliebiger oder aller dieser Dinge). Jedes der Module 402, 404, 406, 408 und 410 wird manchmal als Verarbeitungsschaltung (z.B. Computerhardware, Computersoftware oder eine Kombination der beiden) bezeichnet. Eine Kombination aus beliebigen oder allen diesen Modulen 402, 404, 406, 408 und 410 ist ebenfalls ein Beispiel für eine Verarbeitungsschaltung.
-
Im Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als Route bezeichnet) repräsentieren, die von dem AV 100 befahren werden kann, um den Zielort 412 zu erreichen (z.B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
-
Das Wahrnehmungsmodul 402 identifiziert in der Nähe befindliche physische Objekte mittels eines oder mehrerer Sensoren 121, wie z.B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z.B. in Typen wie beispielsweise Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert), und eine die klassifizierten Objekte 416 umfassende Szenenbeschreibung wird dem Planungsmodul 404 bereitgestellt.
-
Das Planungsmodul 404 empfängt zudem die Position 418 des AV repräsentierende Daten vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position, indem es Daten von den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z.B. geografische Daten) verwendet, um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS- (Global Navigation Satellite System) Sensor und geografische Daten, um einen Längen- und einen Breitengrad des AV zu berechnen. In einer Ausführungsform umfassen die vom Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physikalischen Eigenschaften der Fahrbahn beschreiben (z. B. Verkehrsgeschwindigkeit, Verkehrsaufkommen, Anzahl der Fahrspuren für den Auto- und Radverkehr, Fahrspurbreite, Fahrspurrichtungen oder Fahrspurmarkierungstypen und -orte oder Kombinationen davon), sowie Karten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben. In einer Ausführungsform werden die hochpräzisen Karten durch Hinzufügen von Daten durch automatische oder manuelle Annotation zu Karten mit niedriger Präzision erstellt.
-
Das Steuermodul 406 empfängt die die Trajektorie 414 repräsentierenden Daten und die die AV-Position 418 repräsentierenden Daten und betreibt die Steuerfunktionen 420a-c (z.B. Lenkung, Drosselung, Bremsen, Zündung) des AV so, dass das AV 100 die Trajektorie 414 bis zum Zielort 412 abfährt. Wenn z.B. die Trajektorie 414 eine Linkskurve umfasst, steuert das Steuermodul 406 die Steuerfunktionen 420a-c so, dass der Lenkwinkel der Lenkfunktion das AV 100 zum Linksabbiegen veranlasst und die Drosselung und Bremsung das AV 100 veranlasst, anzuhalten und auf vorbeifahrende Fußgänger oder Fahrzeuge zu warten, bevor die Kurve genommen wird.
-
Eingaben an das autonome Fahrzeug
-
5 zeigt ein Beispiel für Eingänge 502a-d (z.B. die in 1 gezeigten Sensoren) und Ausgänge 504a-d (z.B. Sensordaten), die vom Wahrnehmungsmodul 402 verwendet werden (4). Bei einem Eingang 502a handelt es sich um ein LiDAR- (Light Detection and Ranging) System (z.B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z.B. Lichtblitze wie beispielsweise Infrarotlicht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erhalten. Ein LiDAR-System produziert LiDAR-Daten als Ausgang 504a. LiDAR-Daten sind beispielsweise Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
-
Bei einem weiteren Eingang 502b handelt es sich um ein RADAR-System. RADAR ist eine Technologie, die Radiowellen verwendet, um Daten über in der Nähe befindliche physische Objekte zu erhalten. RADAR kann Daten über Objekte gewinnen, die sich nicht in der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b produziert RADAR-Daten als Ausgang 504b. RADAR-Daten sind beispielsweise ein oder mehrere elektromagnetische Hochfrequenzsignale, die verwendet weden, um eine Darstellung der Umgebung 190 zu konstruieren.
-
Bei einem weiteren Eingang 502c handelt es sich um ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z.B. Digitalkameras, die einen Lichtsensor wie beispielsweise eine ladungsgekoppelte Einrichtung [CCD, charge-coupled device] verwenden), um Informationen über in der Nähe befindliche physische Objekte zu erhalten. Ein Kamerasystem produziert Kameradaten als Ausgang 504c. Kameradaten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z.B. für Stereopsis (räumliches Sehen), welche dem Kamerasystem Tiefenwahrnehmung ermöglicht. Auch wenn die durch das Kamerasystem wahrgenommenen Objekte hier als „nahe“ beschrieben werden, ist dies für das AV relativ. Im Betrieb kann das Kamerasystem so ausgelegt sein, dass es Objekte „sieht“, die weit weg sind und z.B. bis zu einem Kilometer oder mehr vor dem AV liegen. Entsprechend kann das Kamerasystem über Merkmale wie beispielsweise Sensoren und Linsen verfügen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
-
Bei einem weiteren Eingang 502d handelt es sich um ein System für Verkehrsampelerkennung (TLD, traffic light detection). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Straßenschilder und andere physische Objekte zu erhalten, die optische Navigationsinformationen liefern. Ein TLD-System produziert TLD-Daten als Ausgang 504d. TLD-Daten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem TLD-System eine Kamera mit weitem Sichtfeld (z.B. mit einem Weitwinkelobjektiv oder einem Fischaugenobjektiv) verwendet wird, um Informationen über möglichst viele physische Objekte zu erhalten, die optische Navigationsinformationen liefern, so dass das AV 100 Zugriff auf alle relevanten Navigationsinformationen hat, die von diesen Objekten geliefert werden. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
-
In einigen Ausführungsformen werden die Ausgänge 504a-d mit Hilfe einer Sensorfusionstechnik kombiniert. Somit werden entweder die einzelnen Ausgänge 504a-d anderen Systemen des AV 100 zur Verfügung gestellt (z.B. einem Planungsmodul 404 wie in 4 gezeigt), oder der kombinierte Ausgang kann den anderen Systemen zur Verfügung gestellt werden, entweder in Form eines einzigen kombinierten Ausgangs oder mehrerer kombinierter Ausgänge desselben Typs (z.B. mittels derselben Kombinationstechnik oder durch Kombination derselben Ausgänge oder beides) oder unterschiedlicher Typen (z.B. mittels jeweils unterschiedlicher Kombinationstechniken oder durch Kombination jeweils unterschiedlicher Ausgänge oder beides). In einigen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, bevor ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet werden. In einigen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, nachdem ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet wurden.
-
6 zeigt ein Beispiel eines LiDAR-Systems 602 (z.B. den in 5 gezeigten Eingang 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtstrahler 606 (z.B. einem Lasersender). Von einem LiDAR-System emittiertes Licht liegt üblicherweise nicht im sichtbaren Spektrum, beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z.B. ein Fahrzeug) und reflektiert zurück zum LiDAR-System 602. (Von einem LiDAR-System emittiertes Licht durchdringt üblicherweise keine physischen Objekte, z.B. physische Objekte in fester Form). Das LiDAR-System 602 verfügt zudem über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht erfassen. In einer Ausführungsform erzeugen ein oder mehrere dem LiDAR-System zugehörige Datenverarbeitungssysteme ein Bild 612, welches das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 umfasst Informationen, die die Begrenzungen 616 eines physischen Objekts 608 darstellen. Auf diese Weise wird das Bild 612 verwendet, um die Begrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV zu bestimmen.
-
7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl den Kamerasystemausgang 504c in Form eines Bilds 702 als auch den LiDAR-Systemausgang 504a in Form von LiDAR-Datenpunkten 704. Im Betrieb vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Begrenzungen des physischen Objekts auf Grundlage der Kontur und Dichte der Datenpunkte 704 wahr.
-
8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems 602. Wie vorstehend beschrieben, erfasst das AV 100 die Begrenzung eines physischen Objekts auf Grundlage von Eigenschaften der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein flaches Objekt wie beispielsweise der Boden 802 von einem LiDAR-System 602 emittiertes Licht 804a-d in konsistenter Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung konsistenter Abstände emittiert, reflektiert der Boden 802 Licht mit den gleichen konsistenten Abständen zurück zum LiDAR-System 602. Während sich das AV 100 über den Boden 802 bewegt, erfasst das LiDAR-System 602 weiter Licht, das vom nächsten gültigen Bodenpunkt 806 reflektiert wird, sofern nichts die Straße behindert. Wenn jedoch ein Objekt 808 die Straße behindert, wird das vom LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten konsistenten Weise übereinstimmt. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
-
Wegplanung
-
9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls 404 (z.B. wie in 4 gezeigt). Grundsätzlich handelt es sich beim Ausgang eines Planungsmoduls 404 um eine Route 902 von einem Startpunkt 904 (z.B. einem Ausgangspunkt oder Anfangspunkt) bis zu einem Endpunkt 906 (z.B. Zielort oder Endort). Die Route 902 wird üblicherweise durch ein oder mehrere Teilstücke definiert. Ein Teilstück ist beispielsweise eine Strecke, die über zumindest einen Abschnitt einer Straße, Fahrbahn, Autobahn, Durchfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückgelegt werden muss. In einigen Beispielen, z.B. wenn das AV 100 ein geländegängiges Fahrzeug wie ein allradgetriebener (4WD-) oder allradgetriebener (AWD-) PKW, SUV, Pick-up oder dergleichen ist, umfasst die Route 902 „Gelände“-Abschnitte wie unbefestigte Wege oder offene Felder.
-
Zusätzlich zur Route 902 gibt ein Planungsmodul zudem Routenplanungsdaten 908 auf Fahrspurebene aus. Die Routenplanungsdaten 908 auf Fahrspurebene werden verwendet, um Teilstücke der Route 902 auf Grundlage von Bedingungen des Teilstücks zu einer bestimmten Zeit zu durchlaufen. Falls beispielsweise die Route 902 eine mehrspurige Autobahn umfasst, umfassen die Routenplanungsdaten 908 auf Fahrspurebene Trajektorieplanungsdaten 910, die das AV 100 verwenden kann, um unter den mehreren Fahrspuren eine Fahrspur auszuwählen, z.B. danach, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Spuren von anderen Fahrzeugen befahren werden, oder anderen Faktoren, die sich im Verlauf weniger Minuten oder weniger ändern. Ebenso umfassen in einigen Implementierungen die Routenplanungsdaten 908 auf Fahrspurebene Geschwindigkeitseinschränkungen 912, die für ein Teilstück der Route 902 spezifisch sind. Falls beispielsweise das Teilstück Fußgänger oder unerwarteten Verkehr aufweist, können die Geschwindigkeitseinschränkungen 912 das AV 100 auf eine Reisegeschwindigkeit einschränken, die langsamer ist als eine erwartete Geschwindigkeit, z.B. eine auf Geschwindigkeitsbegrenzungsdaten für das Teilstück basierende Geschwindigkeit.
-
In einer Ausführungsform umfassen die Eingänge in das Planungsmodul 404 Datenbankdaten 914 (z.B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z.B. die in 4 gezeigte AV-Position 418), Zielortdaten 918 (z.B. für den in 4 gezeigten Zielort 412) und Objektdaten 920 (z.B. die durch das Wahrnehmungsmodul 402 wahrgenommenen klassifizierten Objekte 416 wie in 4 gezeigt). In einigen Ausführungsformen umfassen die Datenbankdaten 914 bei der Planung verwendete Regeln. Die Regeln sind mittels einer formalen Sprache festgelegt, z.B. mittels Boolescher Logik. In jeder Situation, in der sich das AV 100 befindet, sind zumindest einige der Regeln auf die Situation anwendbar. Eine Regel ist auf eine gegebene Situation anwendbar, falls die Regel Bedingungen aufweist, die auf Grundlage für das AV 100 verfügbarer Informationen, z.B. Informationen über die Umgebung, erfüllt sind. Regeln können Priorität haben. Beispielsweise kann eine Regel, die besagt „falls es sich bei der Straße um eine Autobahn handelt, auf die ganz linke Fahrspur wechseln“, eine niedrigere Priorität besitzen als „falls die Ausfahrt noch weniger als eine Meile entfernt ist, auf die ganz rechte Fahrspur wechseln“.
-
10 zeigt einen gerichteten Graphen 1000, der für Wegplanung verwendet wird, z.B. vom Planungsmodul 404 (4). Grundsätzlich wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem Startpunkt 1002 und einem Endpunkt 1004 zu bestimmen. In der Praxis kann die Entfernung zwischen dem Startpunkt 1002 und dem Endpunkt 1004 relativ groß (z.B. in zwei verschiedenen Ballungsgebieten) oder relativ klein sein (z.B. zwei Kreuzungen, die an einen Stadtblock angrenzen oder zwei Fahrspuren einer mehrspurigen Straße).
-
In einer Ausführungsform weist ein gerichteter Graph 1000 Knoten 1006a-d auf, die verschiedene Standorte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 repräsentieren, die ein AV 100 einnehmen könnte. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsgebiete repräsentieren, repräsentieren die Knoten 1006a-d Teilstücke von Straßen. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Standorte auf der gleichen Straße repräsentieren, repräsentieren die Knoten 1006a-d verschiedene Positionen auf dieser Straße. Auf diese Weise umfasst der gerichtete Graph 1000 Informationen unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität gleichzeitig ein Teilgraph eines anderen gerichteten Graphen mit größerem Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z.B. viele Meilen voneinander entfernt), die meisten seiner Informationen in einer niedrigen Granularität und basiert auf gespeicherten Daten, enthält aber auch einige Informationen mit hoher Granularität für den Teil des Graphen, der physische Orte im Sichtfeld des AV 100 darstellt.
-
Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform repräsentieren bei niedriger Granularität die Objekte 1008a-b Regionen, die nicht mit einem Auto befahrbar sind, z.B. Bereiche, die keine Straßen oder Verkehrswege aufweisen. Bei hoher Granularität repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z.B. andere Autos, Fußgänger oder andere Objekte, mit denen sich das AV 100 nicht den gleichen physischen Raum teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z.B. ein Objekt, das seine Position nicht ändert, wie eine Straßenlaterne oder ein Strommast) oder dynamische Objekte (z.B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Auto).
-
Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Wenn zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AV 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b hin- und herfahren kann, z.B. ohne zu einem Zwischenknoten fahren zu müssen, bevor er am anderen Knoten 1006b ankommt. (Wenn gesagt wird, dass sich ein AV 100 zwischen Knoten bewegt, ist damit gemeint, dass sich das AV 100 zwischen den beiden physischen Positionen bewegt, die durch die jeweiligen Knoten repräsentiert werden.) Die Kanten 1010a-c sind häufig insofern bidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zum ersten Knoten bewegt. In einer Ausführungsform sind die Kanten 1010a-c insofern unidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten, jedoch nicht von dem zweiten Knoten zum ersten Knoten bewegen kann. Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, einzelne Fahrspuren einer Straße, Fahrbahn oder Autobahn oder andere Merkmale repräsentieren, die aufgrund gesetzlicher oder physischer Einschränkungen nur in einer Richtung befahren werden können.
-
In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen aus Knoten und Kanten gebildeten Weg 1012 zwischen dem Startpunkt 1002 und Endpunkt 1004 zu identifizieren.
-
Eine Kante 1010a-c weist zugehörige Kosten 1014a-b auf. Bei den Kosten 1014ab handelt es sich um einen Wert, der die Ressourcen repräsentiert, die aufgewendet werden, wenn das AV 100 diese Kante wählt. Eine typische Ressource ist Zeit. Wenn beispielsweise eine Kante 1010a eine physische Entfernung repräsentiert, die das Zweifache einer anderen Kante 1010b beträgt, dann können die zugehörigen Kosten 1014a der ersten Kante 1010a das Zweifache der zugehörigen Kotsen 1014b der zweiten Kante 1010b betragen. Zu anderen Faktoren, die die Zeit beeinflussen, zählen der erwartete Verkehr, die Anzahl an Kreuzungen, Geschwindigkeitsbegrenzung usw. Eine weitere typische Ressource ist Kraftstoffökonomie. Zwei Kanten 1010a-b können die gleiche physische Entfernung repräsentieren, jedoch kann eine Kante 1010a mehr Kraftstoff erfordern als eine andere Kante 1010b, z.B. aufgrund von Straßenbedingungen, erwarteter Wetterlage usw.
-
Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 üblicherweise einen kostenoptimierten Weg, z.B. den Weg mit den geringsten Gesamtkosten, wenn die einzelnen Kosten der Kanten zusammenaddiert werden.
-
Steuerung des autonomen Fahrzeugs
-
11 zeigt ein Blockdiagramm 1100 der Eingänge und Ausgänge eines Steuermoduls 406 (z.B. wie in 4 gezeigt). Ein Steuermodul arbeitet in Übereinstimmung mit einer Steuereinheit 1102, die beispielsweise einen oder mehrere Prozessoren (z.B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicherung (z.B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 308 und eine Speichereinrichtung 310 und im Speicher gespeicherte Anweisungen umfasst, die Arbeitsschritte der Steuereinheit 1102 ausführen, wenn die Anweisungen ausgeführt werden (z.B. durch den einen oder die mehreren Prozessoren).
-
In einer Ausführungsform empfängt die Steuereinheit 1102 Daten, die einen gewünschten Ausgang 1104 repräsentieren. Der gewünschte Ausgang 1104 umfasst üblicherweise eine Geschwindigkeit, z.B. eine Fortbewegungsgeschwindigkeit und eine Fahrtrichtung. Der gewünschte Ausgang 1104 kann beispielsweise auf von einem Planungsmodul 404 (z.B. wie in 4 gezeigt) empfangenen Daten basieren. Gemäß dem gewünschten Ausgang 1104 produziert die Steuereinheit 1102 Daten, die als Drosseleingang 1106 und Lenkeingang 1108 verwendbar sind. Der Drosseleingang 1106 stellt das Ausmaß dar, in dem die Drossel (z.B. Beschleunigungsregelung) eines AV 100 zu betätigen ist, z.B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Drosselsteuerung, um den gewünschten Ausgang 1104 zu erhalten. In einigen Beispielen umfasst der Drosseleingang 1106 zudem Daten, die zum Betätigen der Bremse (z.B. Bremsregelung) des AV 100 verwendbar sind. Der Lenkeingang 1108 repräsentiert einen Lenkwinkel, z.B. den Winkel, in dem die Lenksteuerung (z.B. Lenkrad, Lenkwinkelstellglied oder eine andere Funktion zur Steuerung des Lenkwinkels) des AV positioniert werden sollte, um den gewünschten Ausgang 1104 zu erhalten.
-
In einer Ausführungsform empfängt die Steuereinheit 1102 Rückmeldungen, die beim Anpassen der an die Drossel und die Lenkung bereitgestellten Eingänge verwendet wird. Wenn das AV 100 z.B. auf eine Störung 1110 stößt, wie z.B. einen Hügel, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgangsgeschwindigkeit abgesenkt. In einer Ausführungsform wird jeder gemessene Ausgang 1114 der Steuereinheit 1102 bereitgestellt, damit die nötigen Anpassungen vorgenommen werden, z.B. auf Grundlage der Differenz 1113 zwischen der gemessenen Geschwindigkeit und dem gewünschten Ausgang. Der gemessene Ausgang 1114 umfasst gemessene Position 1116, gemessene Geschwindigkeit 1118 (umfassend Fortbewegungsgeschwindigkeit und Fahrtrichtung), gemessene Beschleunigung 1120 und andere durch die Sensoren des AV 100 messbare Ausgänge.
-
In einer Ausführungsform werden Informationen über die Störung 1110 vorab erfasst, z.B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem prädiktiven Rückmeldungsmodul 1122 bereitgestellt. Das prädiktive Rückmeldungsmodul 1122 stellt der Steuereinheit 1102 dann Informationen bereit, die die Steuereinheit 1102 verwenden kann, um entsprechende Anpassungen vorzunehmen. Falls beispielsweise die Sensoren des AV 100 einen Hügel erfassen („sehen“), kann diese Information von der Steuereinheit 1102 verwendet werden, um den Einsatz der Drossel zum geeigneten Zeitpunkt vorzubereiten, um ein deutliches Abbremsen zu vermeiden.
-
12 zeigt ein Blockdiagramm 1200 der Eingänge, Ausgänge und Komponenten der Steuereinheit 1102. Die Steuereinheit 1102 verfügt über eine Geschwindigkeitsprofileinheit 1202, die den Betrieb einer Drossel-/Bremssteuereinheit 1204 beeinflusst. Beispielsweise instruiert die Geschwindigkeitsprofileinheit 1202 die Drossel-/Bremssteuereinheit 1204 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die Geschwindigkeitsprofileinheit 1202 verarbeitet werden, Beschleunigung oder Abbremsen mittels der Drossel/Bremse 1206 durchzuführen.
-
Die Steuereinheit 1102 verfügt zudem über eine seitliche Spurführungssteuereinheit 1208, die den Betrieb einer Lenksteuereinheit 1210 beeinflusst. Beispielsweise instruiert die seitliche Spurführungssteuereinheit 1208 die Lenksteuereinheit 1210 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die seitliche Spurführungssteuereinheit 1208 verarbeitet werden, die Position des Lenkwinkelstellglieds 1212 anzupassen.
-
Die Steuereinheit 1102 empfängt verschiedene Eingänge, die verwendet werden, um zu bestimmen, wie die Drossel/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden sollen. Ein Planungsmodul 404 stellt Informationen bereit, die beispielsweise von der Steuereinheit 1102 verwendet werden, um eine Fahrtrichtung zu wählen, wenn das AV 100 den Betrieb aufnimmt, und um zu bestimmen, welches Straßenteilstück zu befahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Steuereinheit 1102 Informationen bereit, die den aktuellen Standort des AV 100 beschreiben, damit beispielsweise die Steuereinheit 1102 bestimmen kann, ob sich das AV 100 auf Grundlage der Art und Weise, in der die Drossel/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden, an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuereinheit 1102 Informationen aus anderen Eingängen 1214, z.B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
-
Energieverwaltung
-
13 zeigt eine Energieverteilungseinheit 1300 und zugehörige Komponenten in einem autonomen Fahrzeug AV 100. Grundsätzlich steuert eine Energieverteilungseinheit 1300 die Energieversorgung der elektronischen Einrichtungen 1302a-d eines AV 100. In einer Ausführungsform ist die Energieverteilungseinheit 1300 elektrisch mit den elektronischen Einrichtungen 1302a-d verbunden. Zum Beispiel hat jede elektronische Einrichtung 1302a-d einen entsprechenden Kanal 1304a-d zur Energieverteilungseinheit 1300. Die Kanäle 1304a-d sind einzeln von der Energieverteilungseinheit 1300 steuerbar. In einer Ausführungsform umfassen die Kanäle 1304a-d physische elektrische Verbindungen (z.B. physische Anschlüsse und physische Stromkabel).
-
Die Einrichtungen 1302a-d können Beispiele für die oben mit Bezug auf 1 beschriebenen Einrichtungen 101 sein. In einer Ausführungsform sind einige der Einrichtungen 1302a-d Sensoren 121. Einige der Einrichtungen 1302a-d verfügen über eigene Prozessoren und zugehörige Speicher. Beispielsweise verfügt eine Einrichtung 1302a-d über eine Speichereinrichtung (z.B. Flashspeicher), die Anweisungen (z.B. Programmcode) enthält, die auf einem entsprechenden Prozessor (z.B. Mikroprozessor oder Mikrocontroller) ausführbar sind. Solche Einrichtungen empfangen manchmal Aktualisierungen ihrer Anweisungen (z.B. Programmcode) und werden entsprechend von der Energieverteilungseinheit 1300 aus- und eingeschaltet.
-
Die Energieverteilungseinheit 1300 ist so ausgelegt, dass sie jede der elektronischen Einrichtungen 1302a-d, mit denen sie verbunden ist, einschalten, ausschalten sowie aus- und wieder einschalten kann. Wie hier verwendet, bedeutet „Einschalten“, dass die Energieverteilungseinheit 1300 eine Spannung an den entsprechenden elektrischen Anschluss anlegt, damit die entsprechende elektronische Einrichtung 1302a-d Strom ziehen und somit aktiviert werden kann. Wie hier verwendet, bedeutet „Ausschalten“, dass die Energieverteilungseinheit 1300 die Spannung vom entsprechenden elektrischen Anschluss abzieht, um die entsprechende elektronische Einrichtung 1302a-d zu deaktivieren. In einer Ausführungsform schaltet die Energieverteilungseinheit 1300 eine Einrichtung ein oder aus, indem sie einen Schalter, z.B. einen Transistor oder eine andere elektronische Komponente, elektrisch betätigt. Wie hier verwendet, bedeutet „aus- und wieder einschalten“, manchmal auch „Reset“ genannt, dass die Energieverteilungseinheit 1300 eine Einrichtung in relativ kurzer Folge (z.B. innerhalb weniger Sekunden oder weniger) aus- und wieder einschaltet. Das Aus- und wieder Einschalten wird manchmal verwendet, um eine elektronische Einrichtung 1302a-d zu veranlassen, in eine Aktivierungssequenz einzutreten, z.B. mit neu installierten Anweisungen (z.B. Programmcode), die als Teil der Aktivierungssequenz ausgeführt werden.
-
Die von der Energieverteilungseinheit 1300 gelieferte Energie stammt von einer Energiequelle 1330 des AV 100. In einer Ausführungsform ist die Energiequelle 1330 eine Batterie, z.B. eine Lithium-Ionen-Batterie. Beispielsweise ist die Energieverteilungseinheit 1300 elektrisch mit der Energiequelle 1330 verbunden, z.B. durch ein Stromkabel. In einer Ausführungsform ist die Energieverteilungseinheit 1300 elektrisch mit mehreren Energiequellen 1330 verbunden. Wenn z.B. eine der Energiequellen 1330 nicht genügend Energie liefert (z.B. weil die elektronischen Einrichtungen 1302a-d zusammen mehr Energie verbrauchen, als die Energiequelle zuverlässig liefern kann, oder weil die Energiequelle ausgefallen ist usw.), kann die Energieverteilungseinheit 1300 eine oder mehrere zusätzliche Energiequellen 1330 zusätzlich zu oder anstelle der ersten Energiequelle 1330 verwenden.
-
Die Energieverteilungseinheit 1300 empfängt Befehle 1306 von einer oder mehreren Host-Einrichtungen 1308a-b. Die Befehle geben z.B. an, dass eine bestimmte elektronische Einrichtung 1302a-d eingeschaltet, ausgeschaltet oder aus- und wieder eingeschaltet werden soll. In einer Ausführungsform stehen die Energieverteilungseinheit 1300 und die Host-Einrichtungen 1308a-b über einen Bus 1320, z.B. einen CAN- (Controller Area Network) Bus, in Kommunikation. In einer Ausführungsform steht eine Host-Einrichtung 1308a mit den elektronischen Einrichtungen 1302a-d in Kommunikation, z.B. über ein Kommunikationsnetz 1322 (z.B. ein Netzwerk, das herkömmliche Netzwerkkommunikationsprotokolle verwendet). Die Host-Einrichtung 1308a muss jedoch nicht so ausgelegt sein, dass sie die Energieversorgung der elektronischen Einrichtungen 1302a-d steuert. Stattdessen steuert in einer Ausführungsform nur die Energieverteilungseinheit 1300 die Energieversorgung der elektronischen Einrichtungen 1302a-d, und die Energieverteilungseinheit 1300 ist so ausgelegt, dass sie die Befehle 1306 (z.B. auf Gültigkeit und Authentizität) auswertet, bevor sie eine der elektronischen Einrichtungen 1302a-d ein- oder ausschaltet oder aus- und wieder einschaltet. Auf diese Weise sichert die Energieverteilungseinheit 1300 die Einrichtungen 1302a-d vor böswilligen Aktivitäten, z.B. wenn eine böswillige Instanz die Kontrolle über eine der Host-Einrichtungen 1308a-b erlangt und versucht, eine der Host-Einrichtungen 1308a-b zu veranlassen, eine oder mehrere elektronische Einrichtungen 1302a-d in einen „Aus“-Zustand zu versetzen, während das AV 100 in Betrieb ist und die elektronische Einrichtung 1302a-d zum sicheren Navigieren benötigt.
-
In einer Ausführungsform hat das AV 100 mehrere Energieverteilungseinheiten 1300. Zum Beispiel steuert eine der Energieverteilungseinheiten 1300 die Energieversorgung für einige der elektronischen Einrichtungen 1302a-d, und eine andere der Energieverteilungseinheiten 1300 steuert die Energieversorgung für einige der anderen elektronischen Einrichtungen 1302a-d.
-
In einer Ausführungsform hat die Energieverteilungseinheit 1300 einen Prozessor 1310 (z.B. einen Mikroprozessor, Mikrocontroller oder eine ähnliche Einrichtung), der Anweisungen (z.B. Programmcode) zur Verarbeitung der Befehle 1306 ausführt. In einer Ausführungsform hat die Energieverteilungseinheit 1300 eine Speichereinrichtung 1312. Die Speichereinrichtung 1312 speichert beispielsweise die Anweisungen, die ausgeführt werden. In einer Ausführungsform ist die Speichereinrichtung 1312 eine Komponente des Prozessors 1310. Beispielsweise ist die Speichereinrichtung 1312 in das Elektronikgehäuse des Prozessors 1310 integriert, z.B. als chipinterner Speicher eines Mikrocontrollers. In einer Ausführungsform ist die Speichereinrichtung 1312 wiederbeschreibbar, z.B. ein Flashspeicher, der während der Lebensdauer der Energieverteilungseinheit 1300 aktualisiert werden kann, um bestehende Konfigurationen zu erweitern oder neue oder Ersatzkonfigurationen zu erstellen.
-
In einer Ausführungsform enthält die Speichereinrichtung 1312 Richtliniendaten 1314. Grundsätzlich handelt es sich bei Richtliniendaten um Daten, die angeben, welche Instanzen autorisiert sind, die Energie anderer Instanzen zu steuern. Zum Beispiel zeigen die Richtliniendaten 1314 an, ob eine bestimmte Host-Einrichtung 1308a-b autorisiert ist, einen bestimmten Befehl an eine bestimmte elektronische Einrichtung 1302a-d auszugeben. In einer Ausführungsform werden die Richtliniendaten 1314 auf einer anderen Speichereinrichtung (z.B. Flashspeicher) unabhängig von der Speichereinrichtung 1312 gespeichert. Beispielsweise kann die andere Speichereinrichtung zum Speichern der Richtliniendaten 1314 bestimmt sein, z.B. um die Anzahl der Gelegenheiten zu reduzieren, bei denen Daten in die Speichereinrichtung geschrieben werden, und um die Anzahl der Instanzen zu reduzieren, die autorisiert sind, Daten in die Speichereinrichtung zu schreiben, beides zum Zweck der Reduzierung möglicher Sicherheitsfehlerstellen.
-
In einer Ausführungsform umfassen (z.B. spezifizieren) die Richtliniendaten 1314 für jede Host-Einrichtung 1308a-b, welche Energiebefehle diese Host-Einrichtung an eine oder mehrere elektronische Einrichtungen 1302a-d ausgeben kann. In einer Ausführungsform haben die Richtliniendaten 1314 Versionen dieser Informationen, die jeweiligen Betriebszuständen 1316 des AV 100 entsprechen. Ein Betriebszustand ist eine Konfiguration von Komponenten des AV 100, die es dem AV 100 ermöglichen, Funktionen auszuführen, die für ein bestimmtes Szenario (z.B. Betriebsszenario) gelten. Ein Betriebszustand ist z. B. „Inbetriebnahme“, in dem die Komponenten des Fahrzeugs zum Aktivieren des Fahrzeugs ausgelegt sind. In der „Inbetriebnahme“ kann das Fahrzeug so ausgelegt sein, dass es Beschleunigung deaktiviert, z.B. weil einige der Komponenten eine Initialisierungsprozedur durchlaufen können. Die Richtliniendaten 1314 können anzeigen, dass eine Host-Einrichtung 1308a-b im Betriebszustand „Inbetriebnahme“ autorisiert ist, einen „Einschalten“-Befehl an eine bestimmte elektronische Einrichtung 1302a-d, z.B. eine LiDAR-Einrichtung, zu geben. Als weiteres Beispiel ist ein Betriebszustand der „Normalbetrieb“, in dem das Fahrzeug so ausgelegt sein kann, dass es eine normale Bewegung ausführt. Die Richtliniendaten 1314 können zum Beispiel angeben, dass eine Host-Einrichtung 1308a-b im Betriebszustand „Normalbetrieb“ nicht autorisiert ist, einen „Ausschalten“-Befehl an die LiDAR-Einrichtung zu geben, z.B. weil die Deaktivierung der LiDAR-Einrichtung die Navigationsfähigkeit des Fahrzeugs beeinträchtigen würde.
-
In einer Ausführungsform enthalten die Richtliniendaten 1314 auch Informationen, die einem oder mehreren Betriebszuständen 1318 des Fahrzeugs entsprechen. Bei einem Betriebszustand 1318 handelt es sich um einen Status des Fahrzeugs, der durch eine Beobachtung oder Messung einer oder mehrerer Fahrzeugkomponenten, z.B. der elektronischen Einrichtungen 1302a-d, bestimmt wird. Ein Beispiel für den Betriebszustand 1318 ist ein Überstromalarm, z.B. ein Zustand, in dem eine der elektronischen Einrichtungen 1302a-d Strom über einen bestimmten Schwellenwert hinaus zieht, was typischerweise auf eine Fehlfunktion hinweist. In einer Ausführungsform enthalten die Richtliniendaten 1314 Informationen, die anwendbar sind, wenn sich das Fahrzeug in einem bestimmten Betriebszustand befindet. Beispielsweise können die Richtliniendaten 1314 angeben, dass eine Host-Einrichtung 1308a-b nicht autorisiert ist, einen „Einschalten“-Befehl an eine bestimmte Einrichtung 1302a-d (oder z.B. überhaupt eine Einrichtung) zu geben, wenn ein Betriebszustand wie ein Überstromalarm erfasst wird.
-
14 zeigt ein Beispiel für Richtliniendaten 1314. Diese Richtliniendaten 1314 legen die Berechtigung für drei Host-Einrichtungen 1402a-c für drei Betriebszustände 1404a-c fest. Die Host-Einrichtungen 1402a-c können Beispiele für die in 13 gezeigten Host-Einrichtungen 1308a-b sein. Für jeden Betriebszustand und jede Host-Einrichtung legen die Richtliniendaten für jeden Energiebefehl 1408a-b (hier „ein“ und „aus“) fest, an welche elektronischen Einrichtungen 1302a-c von der jeweiligen Host-Einrichtung in dem jeweiligen Betriebszustand Energiebefehle ausgegeben werden dürfen. Die Daten, die Energiebefehle für eine Liste von Einrichtungen autorisieren, werden in Form einer Bitfolge 1406 bereitgestellt. Eine Bitfolge ist eine Sammlung von Bits, die auf „ein“ oder „aus“ gesetzt sind. Jede Position in der Bitfolge repräsentiert eine entsprechende elektronische Einrichtung 1302a-c (z.B. einen Kanal, der die entsprechende elektronische Einrichtung mit Energie versorgt). Wenn die entsprechende Position in einer Bitfolge, die einer bestimmten Host-Einrichtung 1402a-c entspricht, auf „ein“ (oder „1“) gesetzt ist, zeigen die Richtliniendaten 1314 an, dass die jeweilige Host-Einrichtung 1402a-c autorisiert ist, den entsprechenden Befehl 1408a-b auszugeben, wenn sich das Fahrzeug im entsprechenden Betriebszustand 1404a-c befindet. Wenn die entsprechende Position auf „aus“ (oder „0“) gesetzt ist, zeigen die Richtliniendaten 1314 an, dass die jeweilige Host-Einrichtung 1402a-c nicht autorisiert ist, den entsprechenden Befehl 1408a-b auszugeben, wenn sich das Fahrzeug in dem entsprechenden Betriebszustand 1404a-c befindet.
-
Da ein Bit typischerweise die einfachste Form digitaler Information ist, die von einer elektronischen Einrichtung verwendet wird, ist eine Bitfolge eine kompakte Form von Daten, die relativ wenig Speicherplatz benötigt, z.B. auf einer Speichereinrichtung. Durch die Verwendung von Bitfolgen sind die Richtliniendaten 1314 also kompakt und effizient im Vergleich zu anderen Datenformaten. In diesen Richtliniendaten 1314 hat jede Host-Einrichtung 1402a-c Sätze von Bitfolgen für jeden Betriebszustand 1404a-c, so dass jeder in den Richtliniendaten 1314 dargestellte Energiebefehl eine entsprechende Bitfolge aufweist. Anders ausgedrückt: Die Anzahl der Bitfolgen ist die Anzahl der Host-Einrichtungen multipliziert mit der Anzahl der Betriebszustände multipliziert mit der Anzahl der Energiebefehle. Eine Bitfolge mit einer vorab bestimmten Länge, z.B. 16 Bit, wird manchmal als „Wort“ bezeichnet.
-
Beispielsweise entspricht eine Bitfolge 1406 dem „ein“-Befehl für „Host A“ im Betriebszustand „Inbetriebnahme“. In dieser Bitfolge ist nur die achte Position auf „1” und die anderen Positionen auf „0“ gesetzt, was anzeigt, dass nur die der achten Position entsprechende elektronische Einrichtung 1302a-c von „Host A“ den „ein“-Befehl erhalten darf.
-
Im Betrieb empfängt die Energieverteilungseinheit 1300, unter erneuter Bezugnahme auf 13, einen Befehl 1306 zum Einschalten einer elektronischen Einrichtung 1302a. Die Energieverteilungseinheit 1300 bestimmt, ob die Host-Einrichtung 1308a autorisiert ist, diesen Befehl 1306 an die jeweilige elektronische Einrichtung 1302a auszugeben. Dazu bestimmt die Energieverteilungseinheit 1300 den aktuellen Betriebszustand 1316 und greift auf die Bitfolge 1406 zu (14), die dieser Host-Einrichtung, diesem Betriebszustand und diesem Energiebefehl entspricht. Wenn das dieser elektronischen Einrichtung 1302a entsprechende Bit auf „1“ gesetzt ist, ist der Befehl autorisiert, ausgeführt zu werden. Als nächstes führt die Energieverteilungseinheit 1300 den Befehl 1306 aus. Zum Beispiel führt die Energieverteilungseinheit 1300 den Befehl 1306 aus, indem sie einen elektronischen Schalter (z.B. einen Transistor oder ein anderes geeignetes elektronisches Bauteil) elektrisch betätigt, der dem Energieversorgungskanal zugeordnet ist, der die elektronische Einrichtung 1302a mit Energie versorgt. Die elektronische Einrichtung 1302a wird dann eingeschaltet.
-
Wenn dagegen das dieser elektronischen Einrichtung 1302a entsprechende Bit auf „0“ gesetzt ist, darf der Befehl nicht ausgeführt werden, und die Energieverteilungseinheit 1300 gibt den Befehl nicht aus. In diesem Szenario kann die Energieverteilungseinheit 1300 als Folge des nicht autorisierten Befehls weitere Maßnahmen ergreifen. Zum Beispiel erzeugt die Energieverteilungseinheit 1300 einen Hinweis auf verdächtige Aktivitäten (z.B. Aktivitäten, die darauf hinweisen, dass eine Host-Einrichtung 1308a-b einen nicht autorisierten Befehl ausgegeben hat). In einer Ausführungsform zeichnet die Energieverteilungseinheit 1300 diese Informationen in einem Protokoll auf und/oder überträgt diesen Hinweis an eine externe Ressource wie beispielsweise einen entfernt angeordneten Server. Diese Informationen können z.B. verwendet werden, um potenzielle Eingriffe (z.B. unbefugte Manipulationen an einer Host-Einrichtung) oder potenzielle Fehlfunktionen (z.B. eine Host-Einrichtung, die fehlerhafte Befehle ausgibt) zu überwachen.
-
15 zeigt ein Flussdiagramm eines Beispielprozesses 1500 zur Verwaltung der Energie elektronischer Einrichtungen in einem Fahrzeug. Der Prozess 1500 kann beispielsweise vom Prozessor 1310 der in 13 gezeigten Energieverteilungseinheit 1300 ausgeführt werden. Die Energieverteilungseinheit ist so ausgelegt, dass sie die Energieversorgung von einer Energiequelle (z.B. der in 13 gezeigten Energiequelle 1330) zu mindestens einer elektronischen Einrichtung steuert. Die Energieverteilungseinheit verfügt über einen Prozessor (z.B. den in 13 gezeigten Prozessor 1310), der so ausgelegt ist, dass er computerausführbare Anweisungen ausführt, die in einem computerlesbaren Medium (z.B. der in 1 gezeigten Speichereinrichtung 1312) gespeichert sind. Die Energieverteilungseinheit ist so ausgelegt, dass sie mit einer anderen Einrichtung (z.B. einer der in 13 dargestellten Host-Einrichtungen 1308a-b) kommunizieren kann. Außerdem umfasst die Energieverteilungseinheit einen Satz von Energieversorgungskanälen, die den jeweiligen elektronischen Einrichtungen entsprechen.
-
Die Energieverteilungseinheit empfängt 1502 von einem ersten Prozessor außerhalb der Energieverteilungseinheit einen Energiebefehl und eine Identifikation mindestens einer elektronischen Einrichtung. Der erste Prozessor ist beispielsweise eine Host-Einrichtung wie die in 13 gezeigten Host-Einrichtungen 1308a-b. In einer Ausführungsform ist der Energiebefehl ein Beispiel für den in 13 gezeigten Energiebefehl 1306. In einer Ausführungsform ist die mindestens eine elektronische Einrichtung ein Beispiel für eine oder mehrere der in 13 gezeigten elektronischen Einrichtungen 1302a-d.
-
Die Energieverteilungseinheit identifiziert 1504 einen aktuellen Betriebszustand des Fahrzeugs. In einer Ausführungsform ist der Betriebszustand ein Beispiel für den in 13 gezeigten Betriebszustand 1316. Beispiele für Betriebszustände sind „Inbetriebnahme“ (z.B. Initialisierung von Fahrzeugkomponenten), „Aktiv“ oder „Normalbetrieb“ (z.B. typischer Fahrbetrieb), „Abschalten“ (z.B. Deaktivierung und Abschalten von Fahrzeugkomponenten), „Sperren“ (z.B. Deaktivierung von Fahrzeugkomponenten, die zum Fahren verwendet werden, wie das Steuermodul) und „Wartung“ (z.B. Aktivierung von Fahrzeugkomponenten, die zur Diagnose und/oder Reparatur verwendet werden).
-
Die Energieverteilungseinheit greift auf Richtliniendaten zu 1506, die dem aktuellen Betriebszustand entsprechen. Die Richtliniendaten stellen Sätze von autorisierten Aktionen (z.B. Einschalten oder Ausschalten) für jeden von mehreren Energieversorgungskanälen dar, wobei die Sätze jeweiligen Host-Einrichtungen entsprechen.
-
Die dem aktuellen Betriebszustand entsprechenden Richtliniendaten umfassen beispielsweise Daten, die eine Liste von Energieversorgungskanälen und jeweiligen für die Energieversorgungskanäle autorisierten Aktionen darstellen. In einer Ausführungsform umfassen die Richtliniendaten einen Satz von Wörtern, wobei jedes Wort einer Host-Einrichtung entspricht, jedes Wort eine jeweilige Bitfolge fester Länge umfasst und jedes Bit der jeweiligen Bitfolge einem jeweiligen Energieversorgungskanal entspricht. Ein Beispiel für Richtliniendaten 1314 ist in 14 gezeigt.
-
In einer Ausführungsform umfasst die Energieverteilungseinheit eine Speichereinrichtung (z.B. einen Flashspeicher), in der die Richtliniendaten gespeichert sind, so dass auf die Richtliniendaten auf der Speichereinrichtung zugegriffen wird. Die Speichereinrichtung kann eine Komponente des Prozessors der Energieverteilungseinheit sein, z.B. wenn der Prozessor eine Einrichtung wie ein Mikrocontroller ist, der einen integrierten nichtflüchtigen Speicher wie einen Flashspeicher hat, der Daten behält, wenn der Prozessor ausgeschaltet wird.
-
In einer Ausführungsform umfassen die Richtliniendaten eine Identifikation eines Betriebszustands des Fahrzeugs (z.B. einen Überstromalarm). Die Energieverteilungseinheit bestimmt beispielsweise, ob sich das Fahrzeug in dem Betriebszustand befindet, und wenn dies der Fall ist, verwendet sie die Richtliniendaten, um zu bestimmen, ob der Befehl im Hinblick auf den Betriebszustand ausgeführt werden soll.
-
In Übereinstimmung mit den Richtliniendaten bestimmt 1508 die Energieverteilungseinheit, ob der erste Prozessor autorisiert ist, den Energieversorgungsbefehl während des aktuellen Betriebszustands an die identifizierte mindestens eine elektronische Einrichtung auszugeben. In einer Ausführungsform umfasst dies ein Überprüfen der Richtliniendaten, um zu bestimmen, ob der Host autorisiert ist, diesen bestimmten Befehl für diese bestimmte Einrichtung im aktuellen Betriebszustand auszugeben.
-
In Übereinstimmung mit der Bestimmung und dem Energieversorgungsbefehl stellt die Energieverteilungseinheit eine Energieverteilung von der Fahrzeugenergiequelle zur elektronischen Einrichtung ein 1510. Zum Beispiel schaltet die Energieverteilungseinheit die elektronische Einrichtung ein, aus oder aus und wieder ein. In einer Ausführungsform umfasst dies ein Einstellen der Energieverteilung des der elektronischen Einrichtung entsprechenden Energieversorgungskanals, z.B. durch Betätigen eines elektronischen Schalters wie eines Transistors.
-
In einigen Szenarien kann eine Host-Einrichtung einen Befehl ausgeben, der gemäß den Richtliniendaten nicht autorisiert ist. In diesen Szenarien ruft die Energieverteilungseinheit in einer Ausführungsform die Erfassung eines abnormalen Ereignisses auf (z.B. die Erfassung eines Eingriffs oder einer fehlerhaften Host-Einrichtung). Wenn bestimmt wird, dass eine Host-Einrichtung nicht autorisiert ist, den Energieversorgungsbefehl während des aktuellen Betriebszustands an die identifizierte mindestens eine elektronische Einrichtung auszugeben, erzeugt die Energieverteilungseinheit einen Hinweis auf verdächtige Aktivitäten.
-
In einer Ausführungsform empfängt die Energieverteilungseinheit neue Richtliniendaten und ersetzt die Richtliniendaten durch die neuen Richtliniendaten. Beispielsweise überschreibt die Energieverteilungseinheit die Richtliniendaten 1314 mit den neuen Richtliniendaten, z.B. bei einer Wartung oder einem Upgrade des Fahrzeugs.
-
In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche konkrete Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Entsprechend sind die Beschreibung und die Zeichnungen als veranschaulichend und nicht einschränkend anzusehen. Der einzige und ausschließliche Indikator für den Umfang der Erfindung und das, was die Anmelder als Umfang der Erfindung beabsichtigen, ist der wörtliche und äquivalente Umfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der diese Ansprüche ausgegeben werden, einschließlich jeder späteren Korrektur. Alle hierin ausdrücklich festgelegten Definitionen von Bezeichnungen, die in solchen Ansprüchen enthalten sind, gelten für die Bedeutung der in den Ansprüchen verwendeten Bezeichnungen. Wenn in der vorstehenden Beschreibung oder in den folgenden Ansprüchen die Bezeichnung „ferner umfassend“ verwendet wird, kann das, was auf diesen Satz folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Unterschritt/eine Untereinheit eines zuvor erwähnten Schritts oder einer Entität sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-