DE102021132736A1 - Controller area network-nachrichten in einem autonomen fahrzeug - Google Patents

Controller area network-nachrichten in einem autonomen fahrzeug Download PDF

Info

Publication number
DE102021132736A1
DE102021132736A1 DE102021132736.9A DE102021132736A DE102021132736A1 DE 102021132736 A1 DE102021132736 A1 DE 102021132736A1 DE 102021132736 A DE102021132736 A DE 102021132736A DE 102021132736 A1 DE102021132736 A1 DE 102021132736A1
Authority
DE
Germany
Prior art keywords
data
bus
ceg
vehicle
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021132736.9A
Other languages
English (en)
Inventor
Lixun Lin
Vasudeva Pai Melgangolli
William Tan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of DE102021132736A1 publication Critical patent/DE102021132736A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40097Interconnection with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40189Flexible bus arrangements involving redundancy by using a plurality of bus systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/4028Bus for use in transportation systems the transportation system being an aircraft
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40286Bus for use in transportation systems the transportation system being a waterborne vessel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40293Bus for use in transportation systems the transportation system being a train

Abstract

Die vorliegenden Ausführungsformen beziehen sich auf ein Controller Area Network(CAN)-Ethernet-Gateway (CEG), das mit einem ersten CAN-Bus und einem zweiten CAN-Bus kommunikativ gekoppelt und dazu ausgelegt ist, ein User Datagram Protocol(UDP)-Paket zu erzeugen. Das UDP-Paket enthält einen Paketkopf, einen ersten Datenabschnitt, der einen CAN-Kopf und CAN-Daten in Bezug auf den ersten CAN-Bus enthält, und einen zweiten Datenabschnitt, der einen CAN-Kopf und CAN-Daten in Bezug auf den zweiten CAN-Bus enthält. Weitere Ausführungsformen werden beschrieben und/oder beansprucht.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Beschreibung bezieht sich auf Controller Area Network(CAN)-Nachrichten in einem autonomen Fahrzeug.
  • HINTERGRUND
  • Verschiedene Komponenten eines Fahrzeugs, zum Beispiel Sensoren eines autonomen Fahrzeugs (AF), verwenden CAN-Nachrichten, um miteinander oder mit einem Prozessor des Fahrzeugs zu kommunizieren.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein AF mit autonomer Fähigkeit.
    • 2 zeigt ein Computersystem.
    • 3 zeigt ein Beispiel für die Architektur eines AF.
    • 4 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Steuerungssystems.
    • 5 zeigt eine Beispielkonfiguration eines Fahrzeugs mit einem CAN-Ethernet-Gateway (CEG) gemäß verschiedenen Ausführungsformen.
    • 6 zeigt ein Beispiel für ein User Datagram Protocol(UDP)-Paket mit mehreren CAN-Abschnitten gemäß verschiedenen Ausführungsformen.
    • 7 zeigt eine Beispieloperation des CEG gemäß verschiedenen Ausführungsformen.
    • 8 zeigt eine alternative Beispieloperation des CEG gemäß verschiedenen Ausführungsformen.
    • 9 zeigt eine Beispieltechnik, die sich auf das UDP-Paket von 6 gemäß verschiedenen Ausführungsformen bezieht.
    • 10 zeigt eine alternative Beispieltechnik, die sich auf das UDP-Paket von 6 bezieht, gemäß verschiedenen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zwecks Erklärung zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung zu ermöglichen. Es wird jedoch offensichtlich, dass die vorliegende Offenbarung auch ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verschleierung der vorliegenden Offenbarung zu vermeiden.
  • Zur leichteren Beschreibung sind in den Zeichnungen spezifische Anordnungen oder Reihenfolgen von schematischen Elementen abgebildet, wie zum Beispiel solche, die Vorrichtungen, Module, Systeme, Anweisungsblöcke und Datenelemente darstellen. Der Fachmann sollte jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Reihenfolge oder Sequenz der Bearbeitung oder eine Trennung der Prozesse 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 dürfen.
  • Ferner ist in den Zeichnungen, in denen Verbindungselemente, wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann. Mit anderen Worten werden einige Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verschleiern. Zur leichteren Veranschaulichung wird außerdem ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen darzustellen. Wenn zum Beispiel ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, sollte der Fachmann verstehen, dass ein solches Element einen oder mehrere Signalwege (z. B. einen Bus) darstellt, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Im Folgenden wird im Detail Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu ermöglichen. Jedoch wird für einen durchschnittlichen Fachmann deutlich sein, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen sind allgemein bekannte Verfahren, Vorgehensweisen, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, um eine unnötige Verschleierung der Aspekte der Ausführungsformen zu vermeiden.
  • Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder in einer beliebigen Kombination anderer Merkmale verwendet werden können. Allerdings kann es sein, dass ein einzelnes Merkmal keines der oben erörterten Probleme oder nur eines der oben erörterten Probleme anspricht. Einige der oben erörterten Probleme werden möglicherweise durch keines der hier beschriebenen Merkmale vollständig angesprochen. 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 gefunden werden. Ausführungsformen werden hier gemäß der folgenden Übersicht beschrieben:
    • 1. Allgemeiner Überblick
    • 2. Systemübersicht
    • 3. AF-Architektur
    • 4. AF-Steuerung
    • 5 . CAN-Bus und CEG-Techniken
  • Allgemeiner Überblick
  • Ein Controller Area Network (CAN)-Ethernet-Gateway (CEG) ist dazu ausgelegt, als Proxy für die Umwandlung von CAN-Nachrichten in User Datagram Protocol(UDP)-Pakete zur Übertragung zwischen verschiedenen Elementen eines AF zu dienen. In einer Ausführungsform ist das CEG mit einer Vielzahl von CAN-Bussen kommunikativ verbunden, und das UDP-Paket enthält Daten, die sich auf eine Vielzahl von CAN-Bussen beziehen.
  • Zu den Vorteilen dieser Techniken gehört die Möglichkeit, begrenzte CAN-Bus-Ressourcen zu überwinden, indem Daten, die sich auf mehrere CAN-Busse beziehen, in einem einzigen UDP-Paket zusammengefasst werden. Auf diese Weise werden die Daten aus mehreren CAN-Bussen über eine einzige Ethernet-Verbindung gesendet, die eine wesentlich höhere Bandbreite als die CAN-Busse hat. Durch Verwendung von Ethernet anstelle von mehreren CAN-Bussen wird ein komplizierter Hardwareaufbau der CAN-Busse vermieden, wodurch sowohl die Entwicklungskosten als auch der Platzbedarf reduziert werden.
  • Systemübersicht
  • 1 zeigt ein Beispiel für ein Fahrzeug 100 mit autonomer Fähigkeit.
  • Der Begriff „autonome Fähigkeit“ bezieht sich hier auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliches Eingreifen in Echtzeit zu betreiben, einschließlich, aber nicht beschränkt auf vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hier verwendet, ist ein AF ein Fahrzeug, das über autonome Fähigkeiten verfügt.
  • Wie hier verwendet, umfasst „Fahrzeug“ Transportmittel für den Transport von Gütern oder Personen. Zum Beispiel Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchboote, Lenkflugkörper usw. Ein fahrerloses Kraftfahrzeug ist ein Beispiel für ein Fahrzeug.
  • Wie hier verwendet, bezieht sich „Bewegungsbahn“ auf einen Weg oder eine Route zum Navigieren eines AF von einem ersten räumlich-zeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort und der zweite raumzeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Bewegungsbahn aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten eines Fahrstreifens oder einer Kreuzung/Einmündung). In einer Ausführungsform entsprechen die raumzeitlichen Orte den Orten der realen Welt. Die raumzeitlichen Orte sind zum Beispiel Abhol- oder Absetzorte zum Abholen oder Absetzen von Personen oder Gütern.
  • Wie hier verwendet, umfasst „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung rund um den Sensor erfassen. Einige der Hardwarekomponenten können sensorische Komponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie Analog-Digital-Wandler, eine Datenspeichervorrichtung (z. B. einen Direktzugriffsspeicher (RAM) und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
  • Wie hier verwendet, ist eine „Szeneriebeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, der ein oder mehrere klassifizierte oder markierte Objekte enthält, die durch einen oder mehrere Sensoren an dem AF-Fahrzeug erkannt oder durch eine AF-externe Quelle bereitgestellt werden.
  • Wie hier verwendet, ist eine „Straße“ ein physischer Bereich, der durch ein Fahrzeug befahren werden kann und einem benannten Verkehrsweg (z. B. Stadtstraße, Autobahn usw.) oder einem unbenannten Verkehrsweg (z. B. eine Einfahrt an 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. Allradlastwagen, Geländewagen, usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu befahren, die nicht speziell für den Fahrzeugverkehr angepasst sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch eine Gemeinde oder andere Regierungs- oder Verwaltungsbehörde als Verkehrsweg definiert ist.
  • Wie hier verwendet, ist ein „Fahrstreifen“ ein Abschnitt einer Straße, der durch ein Fahrzeug befahren werden kann. Ein Fahrstreifen wird mitunter basierend auf Fahrstreifenmarkierungen gekennzeichnet. Beispielsweise kann ein „Fahrstreifen“ dem größten Teil oder der Gesamtheit des Zwischenraums zwischen den Fahrstreifenmarkierungen oder nur einem Teil (z. B. weniger als 50 %) des Zwischenraums zwischen den Fahrstreifenmarkierungen entsprechen. Zum Beispiel könnte eine Straße mit weit auseinanderliegenden Fahrstreifenmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrstreifenmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass ein Fahrstreifen schmaler als der Zwischenraum zwischen den Fahrstreifenmarkierungen ist oder dass zwei Fahrstreifen zwischen den Fahrstreifenmarkierungen liegen. Ein Fahrstreifen könnte auch bei Fehlen von Fahrstreifenmarkierungen interpretiert werden. Beispielsweise kann ein Fahrstreifen basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. durch Felsen und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet oder z. B. durch natürliche Hindernisse, die in einem unerschlossenen Gebiet zu vermeiden sind. Ein Fahrstreifen könnte auch unabhängig von Fahrstreifenmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte ein Fahrstreifen basierend auf einem beliebigen, hindernisfreien Weg in einem Gebiet interpretiert werden, in dem ansonsten Merkmale fehlen, die als Fahrstreifenbegrenzungen interpretiert werden würden. In einem Beispielszenario könnte ein AF einen Fahrstreifen durch einen hindernisfreien Abschnitt eines Feldes oder einer leeren Geländefläche interpretieren. In einem anderen Beispielszenario könnte ein AF einen Fahrstreifen durch eine breite (z. B. breit genug für zwei oder mehr Fahrstreifen) Straße interpretieren, die keine Fahrstreifenmarkierungen aufweist. In diesem Szenario könnte das AF Informationen über den Fahrstreifen an andere AFs übermitteln, sodass die anderen AFs die gleichen Fahrstreifeninformationen verwenden können, um die Wegplanung untereinander zu koordinieren.
  • Der Begriff „Over-the-Air(OTA)-Client“ umfasst jedes AF oder jede elektronische Vorrichtung (z. B. Computer, Steuervorrichtung, IoT-Vorrichtung, elektronisches Steuergerät (ECU)), die in ein AF eingebettet, mit einem AF gekoppelt oder in Kommunikation mit einem AF steht.
  • Der Begriff „OTA-Aktualisierung“ bezeichnet jede Aktualisierung, Änderung, Löschung oder Hinzufügung von Software, Firmware, Daten oder Konfigurationseinstellungen oder jede Kombination davon, die an einen OTA-Client unter Verwendung firmeneigener und/oder standardisierter drahtloser Kommunikationstechnologie geliefert wird, einschließlich, aber nicht beschränkt auf: zellulare Mobilkommunikation (z. B. 2G, 3G, 4G, 5G), drahtlose Funknetze (z. B. WLAN) und/oder Satelliten-Internet.
  • Der Begriff „Edge-Knoten“ bezeichnet ein oder mehrere mit einem Netz gekoppelte Edge-Vorrichtungen, die ein Portal für die Kommunikation mit AFs bieten und mit anderen Edge-Knoten und einer Cloud-basierten Rechenplattform kommunizieren können, um OTA Aktualisierungen zu planen und an OTA-Clients zu liefern.
  • Der Begriff „Edge-Vorrichtung“ bedeutet eine Vorrichtung, die einen Edge-Knoten implementiert und einen physischen drahtlosen Zugangspunkt (AP) in Kernnetze von Unternehmen oder Dienstanbietern (z. B. VERIZON, AT&T) bereitstellt. Beispiele für Edge-Vorrichtungen beinhalten, sind aber nicht beschränkt auf: Computer, Controller, Sender, Router, Routing-Switches, integrierte Zugangsgeräte (IADs), Multiplexer, Zugangsgeräte für Großstadtnetze (MANs) und Weitverkehrsnetze (WANs).
  • „Eine oder mehrere“ umfasst eine Funktion, die durch ein Element ausgeführt wird, eine Funktion, die durch mehr als ein Element ausgeführt wird, z. B. auf verteilte Weise, wobei mehrere Funktionen durch ein Element ausgeführt werden, mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder eine beliebige Kombination des oben Genannten.
  • Es versteht sich auch, dass die Begriffe „erste“, „zweite“ usw. hier zwar in einigen Fällen zur Beschreibung verschiedener Elemente verwendet werden, diese Elemente jedoch nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet sein, und in ähnlicher Weise könnte ein zweiter Kontakt als ein dritter Kontakt bezeichnet sein, ohne vom Schutzbereich der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die Terminologie, die bei der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendet wird, dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend beabsichtigt. Bei der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche sollen die Singularformen „ein“, „eine“ sowie „der“, „die“, „das“ auch die Pluralformen einschließen, sofern der Zusammenhang nicht eindeutig etwas anderes vorgibt. Es versteht sich auch, dass der Begriff „und/oder“ wie hier verwendet sich auf alle möglichen Kombinationen eines oder mehrerer der zugehörigen aufgelisteten Punkte bezieht und diese mit einschließt. Es versteht sich ferner, dass die Begriffe „enthalten“, „einschließlich“, „umfassen“, und/oder „umfassend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten davon angibt, aber nicht das Vorhandensein oder die Hinzufügung eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hier verwendet, ist der Begriff „falls“ gegebenenfalls so auszulegen, dass er je nach Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Ermitteln“ oder „als Reaktion auf das Erkennen“ bedeutet. In ähnlicher Weise ist die Formulierung „falls ermittelt wird“ oder „falls [ein angegebener Zustand oder ein Ereignis] erkannt wird“ je nach Zusammenhang gegebenenfalls so auszulegen, dass sie „bei Ermitteln“ oder „als Reaktion auf das Ermitteln“ oder „bei Erkennen [des angegebenen Zustands oder Ereignisses]“ oder „als Reaktion auf das Erkennen [des angegebenen Zustands oder Ereignisses]“ bedeutet.
  • Wie hier verwendet, bezieht sich ein AF-System auf das AF zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AF unterstützen. In einer Ausführungsform ist das AF-System in das AF integriert. In einer Ausführungsform ist das AF-System über mehrere Orte verteilt. Zum Beispiel ist ein Teil der Software des AF-Systems auf einer Cloud-Rechenumgebung implementiert.
  • Allgemein beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, einschließlich vollständiger AFs, hochgradiger AFs und bedingter AFs, wie z. B. sogenannte Stufe-5-, Stufe-4- und Stufe-3-Fahrzeuge (siehe SAE International Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatischen Straßen-Kraftfahrzeug-Fahrsystemen), die durch Verweis in ihrer Gesamtheit übernommen wurde, für weitere Einzelheiten über die Klassifizierung von Autonomiegraden in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z. B. sogenannte Stufe-2- und Stufe-1-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten Straßen-Kraftfahrzeug-Fahrsystemen)). In einer Ausführungsform können eines oder mehrere der Fahrzeugsysteme der Stufen 1, 2, 3, 4 und 5 unter bestimmten Betriebsbedingungen basierend auf dem Verarbeiten von Sensoreingaben bestimmte Fahrzeugfunktionen (z. B. Lenken, Bremsen und Verwenden von Karten) automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeugen auf allen Stufen zugute kommen, von vollständigen AFs bis hin zu durch Menschen betriebenen Fahrzeugen.
  • AFs haben Vorteile gegenüber Fahrzeugen, die einen menschlichen Fahrer erfordern. Ein Vorteil ist die Sicherheit. Zum Beispiel gab es in den Vereinigten Staaten im Jahr 2016 6 Millionen Autounfälle, 2,4 Millionen Verletzte, 40.000 Tote und 13 Millionen Unfallfahrzeuge, 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 ca. sechs auf ca. eins 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, in der vor einem Zusammenstoß gewarnt wird, 60 % der Auffahrunfälle abmildert. Allerdings haben passive Sicherheitsmerkmale (z. B. Sicherheitsgurte, Airbags) bei der Verbesserung dieser Zahl wahrscheinlich ihre Grenze erreicht. Daher sind aktive Sicherheitsmaßnahmen, wie die automatisierte Steuerung eines Fahrzeugs, der wahrscheinlich nächste Schritt zur Verbesserung dieser Statistiken. Da davon ausgegangen wird, dass bei 95 % der Unfälle menschliche Fahrer für ein kritisches Ereignis vor dem Unfall verantwortlich sind, werden automatisierte Fahrsysteme wahrscheinlich bessere Sicherheitsergebnisse erzielen, z. B. indem sie kritische Situationen besser als Menschen zuverlässig erkennen und vermeiden, bessere Entscheidungen treffen, Verkehrsgesetze befolgen und zukünftige Ereignisse besser vorhersagen als Menschen und ein Fahrzeug besser als Menschen zuverlässig steuern.
  • Mit Bezug auf 1 betreibt ein AF-System 120 das System 100 entlang einer Bewegungsbahn 198 durch eine Umgebung 190 bis zu einem Zielort 199 (mitunter auch als Endort bezeichnet), wobei Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) befolgt werden.
  • In einer Ausführungsform beinhaltet das AF-System 120 Vorrichtungen 101, die dazu eingerichtet sind, Betriebsbefehle aus den Computerprozessoren 146 zu empfangen und darauf zu reagieren. Wir verwenden den Begriff „Betriebsbefehl“, um eine ausführbare Anweisung (oder einen Satz von Anweisungen) zu bezeichnen, die ein Fahrzeug veranlasst, eine Maßnahme (z. B. ein Fahrmanöver) durchzuführen. Betriebsbefehle können, ohne Einschränkung, Anweisungen für ein Fahrzeug enthalten, vorwärts zu fahren, die Vorwärtsfahrt zu unterbrechen, rückwärts zu fahren, die Rückwärtsfahrt zu unterbrechen, zu beschleunigen, abzubremsen, eine Linkskurve zu fahren und eine Rechtskurve zu fahren. In einer Ausführungsform ähneln die Computerprozessoren 146 dem nachfolgend mit Bezug auf 2 beschriebenen Prozessor 204. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Gangschaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fenstersteuervorrichtungen und Blinker.
  • In einer Ausführungsform umfasst das AF-System 120 Sensoren 121 zur Messung oder Ableitung von Zuständen oder Bedingungen des Fahrzeugs 100, wie z. B. die Position, die Linear- und Winkelgeschwindigkeit und -beschleunigung und die Fahrtrichtung des AF (z. B. eine Ausrichtung des vorderen Endes des Fahrzeug 100). Beispiele für Sensoren 121 sind GPS, Trägheitsmesseinheiten (IMU), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelbeschleunigungen messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform enthalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AF. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beiden Spektren), LiDAR 123, RADAR, Ultraschallsensoren, Time-of-Flight(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform umfasst das AF-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 208 oder der Speichervorrichtung 210, die nachfolgend mit Bezug auf 2 beschrieben werden. In einer Ausführungsform ähnelt der Speicher 144 dem nachfolgend beschriebenen Hauptspeicher 206. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorausschauende Informationen über die Umgebung 190. In einer Ausführungsform umfassen die gespeicherten Informationen Karten, Fahrleistungen, Aktualisierungen zu Verkehrsstaus oder Wetterbedingungen. In einer Ausführungsform werden Daten, die sich auf die Umgebung 190 beziehen, über einen Kommunikationskanal aus einer entfernt gelegenen Datenbank 134 an das Fahrzeug 100 übertragen.
  • In einer Ausführungsform umfasst das AF-System 120 Kommunikationsvorrichtungen 140 zum Übermitteln gemessener oder abgeleiteter Eigenschaften von Zuständen und Bedingungen anderer Fahrzeuge wie z. B. Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelfahrtrichtungen an das Fahrzeug 100. Diese Vorrichtungen umfassen Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optische Kommunikation) oder andere Medien (z. B. Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-Kommunikation, Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere andere Kommunikationsarten) wird mitunter als Fahrzeug-zu-alles (V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation entspricht in der Regel einem oder mehreren Kommunikationsstandards für die Kommunikation mit, zwischen und unter AFs.
  • In einer Ausführungsform enthalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Zum Beispiel drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Zellular-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten aus einer entfernt gelegenen Datenbank 134 an das AF-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 in eine Cloud-Rechenumgebung eingebettet. Die Kommunikationsvorrichtungen 140 übertragen die aus den Sensoren 121 gesammelten Daten oder andere Daten, die sich auf den Betrieb des Fahrzeugs 100 beziehen, an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsvorrichtungen 140 Informationen, die sich auf Teleoperationen beziehen, an das Fahrzeug 100. In einigen Ausführungsformen kommuniziert das Fahrzeug 100 mit anderen entfernt gelegenen (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie Straßen- und Wegestandorte). Diese Daten werden im Speicher 144 des Fahrzeugs 100 gespeichert oder über einen Kommunikationskanal aus der entfernt gelegenen Datenbank 134 an das Fahrzeug 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 entlang der Bewegungsbahn 198 gefahren sind. In einer Ausführungsform können diese Daten im Speicher 144 des Fahrzeugs 100 gespeichert oder über einen Kommunikationskanal aus der entfernt gelegenen Datenbank 134 an das Fahrzeug 100 übertragen werden.
  • Die im Fahrzeug 100 befindlichen Computerprozessoren 146 erzeugen auf algorithmische Weise Steueraktionen, die sowohl auf Echtzeit-Sensordaten als auch auf vorherigen Informationen basieren, sodass das AF-System 120 seine autonomen Fahrfähigkeiten ausführen kann.
  • In einer Ausführungsform umfasst das AF-System 120 Computerperipherievorrichtungen 132, die mit Computerprozessoren 146 gekoppelt sind, um Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen entfernt befindlichen Benutzer) des Fahrzeugs 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripherievorrichtungen 132 der Anzeigevorrichtung 212, der Eingabevorrichtung 214 und der Cursorsteuervorrichtung 216, die nachfolgend mit Bezug auf 2 behandelt werden. Die Kopplung erfolgt drahtlos oder drahtgebunden. Zwei oder mehr der Schnittstellenvorrichtungen können zu einer einzelnen Vorrichtung integriert sein.
  • In einer Ausführungsform empfängt und erzwingt das AF-System 120 die Datenschutzstufe eines Fahrgastes, die z. B. durch den Fahrgast spezifiziert oder in einem dem Fahrgast zugeordneten Profil gespeichert ist. Die Datenschutzstufe des Fahrgastes bestimmt, wie bestimmte dem Fahrgast zugeordnete Informationen (z. B. Fahrgastkomfortdaten, biometrische Daten usw.) verwendet, im Fahrgastprofil gespeichert und/oder auf dem Cloud-Server 136 gespeichert und dem Fahrgastprofil zugeordnet werden dürfen. In einer Ausführungsform gibt die Datenschutzstufe bestimmte einem Fahrgast zugeordnete Informationen an, die nach Beendigung der Fahrt gelöscht werden. In einer Ausführungsform spezifiziert die Datenschutzstufe bestimmte einem Fahrgast zugeordnete Informationen und identifiziert eine oder mehrere Einheiten, die zum Zugriff auf die Informationen berechtigt sind. Beispiele für bestimmte Einheiten, die zum Zugriff auf Informationen berechtigt sind, können andere AFs, AF-Systeme Dritter oder jede Einheit, die potenziell auf die Informationen zugreifen könnte, beinhalten.
  • Eine Datenschutzstufe eines Fahrgastes kann auf einer oder mehreren Granularitätsstufen festgelegt sein. In einer Ausführungsform identifiziert eine Datenschutzstufe bestimmte Informationen, die zu speichern oder weiterzugeben sind. In einer Ausführungsform gilt die Datenschutzstufe für alle dem Fahrgast zugeordneten Informationen, sodass der Fahrgast festlegen kann, dass keine seiner persönlichen Informationen gespeichert oder weitergegeben werden. Die Festlegung der Einheiten, die auf bestimmte Informationen zugreifen dürfen, kann auch auf verschiedenen Granularitätsstufen erfolgen. Verschiedene Mengen von Einheiten, denen der Zugriff auf bestimmte Informationen erlaubt ist, können z. B. andere AFs, Cloud-Server 136, bestimmte AF-Systeme von Drittanbietern usw. umfassen.
  • In einer Ausführungsform bestimmt das AF-System 120 oder der Cloud-Server 136, ob bestimmte Informationen, die einem Fahrgast zugeordnet sind, durch das Fahrzeug 100 oder eine andere Einheit abgerufen werden können. So muss z. B. ein AF-System eines Drittanbieters, das versucht, auf die Eingabe von Fahrgästen in Bezug auf einen bestimmten raumzeitlichen Standort zuzugreifen, z. B. aus dem AF-System 120 oder dem Cloud-Server 136 die Genehmigung einholen, auf die dem Fahrgast zugeordneten Informationen zuzugreifen. Beispielsweise verwendet das AF-System 120 die festgelegte Datenschutzstufe des Fahrgastes, um zu bestimmen, ob die auf den raumzeitlichen Standort bezogenen Fahrgasteingaben an das AF-System eines Drittanbieters, das Fahrzeug 100 oder ein anderes AF übermittelt werden können. Dadurch ist die Datenschutzstufe des Fahrgastes in der Lage, festzulegen, welche anderen Einheiten Daten über die Maßnahmen des Fahrgastes oder andere dem Fahrgast zugeordnete Daten empfangen dürfen.
  • 2 zeigt ein Computersystem 200. In einer Implementierung ist das Computersystem 200 eine Spezialrechenvorrichtung. Die Spezialrechenvorrichtung ist fest verdrahtet, um die Techniken auszuführen, oder enthält digitale elektronische Vorrichtungen wie eine oder mehrere ASICs oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft programmiert sind, um die Techniken auszuführen, oder kann einen oder mehrere Universal-Hardware-Prozessoren umfassen, die dazu programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Arbeitsspeicher, anderen Speichern oder einer Kombination davon auszuführen. Derartige Spezialcomputervorrichtungen können auch kundenspezifische fest verdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Spezialrechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkgeräte oder sonstige Vorrichtungen, die zur Implementierung der Techniken festverdrahtete und/oder programmgesteuerte Logik enthalten.
  • In einer Ausführungsform umfasst das Computersystem 200 einen Bus 202 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen mit einem Bus 202 gekoppelten Prozessor 204 zum Verarbeiten von Informationen. Der Prozessor 204 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem 200 beinhaltet auch einen Hauptspeicher 206, wie beispielsweise einen RAM oder eine andere dynamische Speichervorrichtung, die mit dem Bus 202 zum Speichern von Informationen und Anweisungen gekoppelt ist, die durch den Prozessor 204 ausgeführt werden sollen. In einer Ausführungsform wird der Hauptspeicher 206 zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 204 verwendet. Derartige in nichtflüchtigen, für den Prozessor 204 zugänglichen Speichermedien gespeicherte Anweisungen machen aus dem Computersystem 200 eine Spezialmaschine, die auf das Ausführen der in den Anweisungen angegebenen Funktionen zugeschnitten ist.
  • In einer Ausführungsform beinhaltet das Computersystem 200 ferner einen Nur-LeseSpeicher (ROM) 208 oder eine andere statische Speichervorrichtung, die mit dem Bus 202 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor 204 zu speichern. Eine Speichervorrichtung 210, wie beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Kreuzpunktespeicher, ist vorhanden und mit dem Bus 202 zum Speichern von Informationen und Anweisungen gekoppelt.
  • In einer Ausführungsform ist das Computersystem 200 über den Bus 202 an eine Anzeigevorrichtung 212, wie z. B. eine Kathodenstrahlröhre (CRT), ein Flüssigkristalldisplay (LCD), ein Plasmadisplay, ein Leuchtdioden(LED)-Display oder ein organisches Leuchtdioden(OLED)-Display, zum Anzeigen von Informationen für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 214 mit alphanumerischen und anderen Tasten ist mit dem Bus 202 zum Übermitteln von Informationen und zur Auswahl von Befehlen an den Prozessor 204 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuervorrichtung 216, z. B. eine Maus, ein Trackball, ein berührungsempfindliches Anzeigevorrichtung oder Cursorrichtungstasten zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor 204 und zum Steuern der Cursorbewegung auf der Anzeigevorrichtung 212. Diese Eingabevorrichtung verfügt in der Regel über zwei Freiheitsgrade in zwei Achsen, eine erste Achse (z. B. x-Achse) und eine zweite Achse (z. B. y-Achse), mit denen die Vorrichtung Positionen in einer Ebene angeben kann.
  • Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch das Computersystem 200 als Reaktion darauf durchgeführt, dass der Prozessor 204 eine oder die mehreren Sequenzen von einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 206 enthalten sind. Derartige Anweisungen werden aus einem anderen Speichermedium, z. B. der Speichervorrichtung 210, in den Hauptspeicher 206 eingelesen. Die Ausführung der im Hauptspeicher 206 enthaltenen Anweisungssequenzen veranlasst den Prozessor 204, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird eine fest verdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“, wie hier verwendet, betrifft alle nichtflüchtigen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine spezifische Art und Weise zu arbeiten. Derartige Speichermedien umfassen nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien umfassen z. B. optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionale Kreuzpunktespeicher, wie z. B. die Speichervorrichtung 210. Flüchtige Medien umfassen dynamische Speicher, wie beispielsweise den Hauptspeicher 206. Übliche Formen von Speichermedien umfassen zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Solid-State-Laufwerk, ein Magnetband oder jedes andere magnetische Datenspeichermedium, einen CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM, oder einen beliebigen anderen Speicherchip oder eine Speicherkassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber zusammen mit diesen verwendet werden. Übertragungsmedien sind am Übertragen von Informationen zwischen Speichermedien beteiligt. Zum Beispiel umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Leitungen, die den Bus 202 umfassen. Übertragungsmedien können auch die Form von akustischen Wellen oder Lichtwellen annehmen, wie etwa jene, die bei Funkwellen- und Infrarotdatenkommunikation erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien am Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen an den Prozessor 204 zur Ausführung beteiligt. Zum Beispiel werden die Anweisungen zuerst auf einer Magnetplatte oder einem Solid-State-Laufwerk eines entfernt gelegenen Computers abgelegt. Der entfernt gelegene Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem 200 lokal vorhandenes 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 transportierten Daten, und eine entsprechende Schaltungsanordnung stellt die Daten auf den Bus 202. Der Bus 202 transportiert die Daten an den Hauptspeicher 206, aus dem der Prozessor 204 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 206 empfangenen Anweisungen können gegebenenfalls entweder vor oder nach dem Ausführen durch den Prozessor 204 auf der Speichervorrichtung 210 gespeichert werden.
  • Das Computersystem 200 enthält auch eine Kommunikationsschnittstelle 218, die mit dem Bus 202 gekoppelt ist. Die Kommunikationsschnittstelle 218 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzwerkverbindung 220 bereit, die mit einem lokalen Netzwerk 222 verbunden ist. Die Kommunikationsschnittstelle 218 ist zum Beispiel eine Integrated Services Digital Network(ISDN)-Karte, ein Kabelmodem, Satellitenmoden oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Als weiteres Beispiel ist die Kommunikationsschnittstelle 218 eine Karte eines lokalen Netzwerks (LAN), um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. Bei einigen Implementierungen sind auch drahtlose Verbindungen implementiert. Bei jeder derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 218 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 220 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Zum Beispiel stellt die Netzwerkverbindung 220 eine Verbindung durch das lokale Netzwerk 222 zu einem Hostcomputer 224 oder zu einem Cloud-Rechenzentrum oder Geräten bereit, die durch einen Internetdienstanbieter (ISP) 226 betrieben werden. Der ISP 226 stellt wiederum Datenkommunikationsdienste über das weltweite paketorientierte Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das „Internet“ 228 bezeichnet wird. Sowohl das lokale Netzwerk 222 als auch das Internet 228 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 220 und über die Kommunikationsschnittstelle 218, die die digitalen Daten an das und aus dem Computersystem 200 transportieren, sind Beispielformen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 220 die Cloud oder einen Teil der Cloud.
  • In einigen Ausführungsformen ist die Kommunikationsschnittstelle 218 ein Ethernet-Switch, der dazu ausgelegt ist, die Kommunikation zwischen Elementen des Computersystems 200 und einer anderen Vorrichtung über Ethernet-Protokolle zu ermöglichen. Bei der Netzverbindung 220 handelt es sich in dieser Ausführungsform konkret um eine Ethernet-Verbindung. Das lokale Netzwerk 222 umfasst Elemente wie ein CEG und mindestens einen CAN-Bus (der weiter unten mit Bezug auf 5 näher beschrieben wird).
  • Das Computersystem 200 sendet Nachrichten und empfängt Daten einschließlich Programmcode über das/die Netzwerk(e), die Netzwerkverbindung 220 und die Kommunikationsschnittstelle 218. In einer Ausführungsform empfängt das Computersystem 200 einen Code zum Verarbeiten. Der empfangene Computercode wird sofort beim Empfang durch den Prozessor 204 ausgeführt und/oder auf der Speichervorrichtung 210 oder einem anderen nichtflüchtigen Speicher zum späteren Ausführen gespeichert.
  • AF-Architektur
  • 3 zeigt eine Beispielarchitektur 300 für ein AF (z. B. das in 1 gezeigte Fahrzeug 100). Die Architektur 300 enthält ein Wahrnehmungssystem 302 (mitunter als Wahrnehmungsschaltung bezeichnet), ein Planungssystem 304 (mitunter als Planungsschaltung bezeichnet), ein Steuerungssystem 306 (mitunter als Steuerungsschaltung bezeichnet), ein Lokalisierungssystem 308 (mitunter als Lokalisierungsschaltung bezeichnet) und ein Datenbanksystem 310 (mitunter als Datenbankschaltung bezeichnet). Jedes System spielt eine Rolle beim Betrieb des Fahrzeugs 100. Die Systeme 302, 304, 306, 308 und 310 können zusammen Bestandteil des in 1 gezeigten AF-Systems 120 sein. In einigen Ausführungsformen sind die Systeme 302, 304, 306, 308 und 310 eine Kombination aus Computersoftware (z. B. ausführbarem Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardware-Speichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination aus einem oder allen dieser Dinge). Jedes der Systeme 302, 304, 306, 308 und 310 wird mitunter als Verarbeitungsschaltung bezeichnet (z. B. Computer-Hardware, Computer-Software oder eine Kombination aus beiden). Eine Kombination aus einem oder allen Systemen 302, 304, 306, 308 und 310 ist ebenfalls ein Beispiel für eine Verarbeitungsschaltung.
  • Beim Betrieb empfängt das Planungssystem 304 Daten, die einen Zielort 312 darstellen, und ermittelt Daten, die eine Bewegungsbahn 314 (mitunter auch als Route bezeichnet) darstellen, die durch das Fahrzeug 100 gefahren werden kann, um den Zielort 312 zu erreichen (z. B. am Zielort anzukommen). Damit das Planungssystem 304 die die Bewegungsbahn 314 repräsentierenden Daten bestimmen kann, empfängt das Planungssystem 304 Daten aus dem Wahrnehmungssystem 302, dem Lokalisierungssystem 308 und dem Datenbanksystem 310.
  • Das Wahrnehmungssystem 302 identifiziert nahegelegene physische Objekte mittels eines oder mehrerer Sensoren 121, z. B. wie ebenfalls in 1 gezeigt. Die Objekte werden klassifiziert (z. B. gruppiert in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw.), und eine Szeneriebeschreibung einschließlich der klassifizierten Objekte 316 wird dem Planungssystem 304 zur Verfügung gestellt.
  • Das Planungssystem 304 empfängt auch Daten, die die AF-Position 318 repräsentieren, aus dem Lokalisierungssystem 308. Das Lokalisierungssystem 308 bestimmt die AF-Position unter Verwendung von Daten aus den Sensoren 121 und Daten aus dem Datenbanksystem 310 (z. B. geografische Daten), um eine Position zu berechnen. Zum Beispiel verwendet das Lokalisierungssystem 308 Daten aus einem GNSS(Globales Navigationssatellitensystem)-Sensor und geografische Daten, um einen Längen- und Breitengrad des AF zu berechnen. In einer Ausführungsform beinhalten die durch das Lokalisierungssystem 308 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Straßen beschreiben (wie z. B. die Verkehrsgeschwindigkeit, das Verkehrsaufkommen, die Anzahl der Fahrstreifen für den Auto- und Fahrradverkehr, die Fahrstreifenbreite, die Fahrstreifenrichtungen oder die Arten und Orte von Fahrstreifenmarkierungen oder Kombinationen davon), und 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 mittels automatischer oder manueller Beschriftung zu Karten mit niedriger Präzision erstellt.
  • Das Steuerungssystem 306 empfängt die Daten der Bewegungsbahn 314 und die Daten der AF-Position 318 und führt die Steuerfunktionen 320a-c (z. B. Lenken, Drosselklappenbetätigung, Bremsen, Zündung) des AF so aus, dass das Fahrzeug 100 auf der Bewegungsbahn 314 bis zum Zielort 312 fährt. Falls zum Beispiel die Bewegungsbahn 314 eine Linkskurve enthält, führt das Steuerungssystem 306 die Steuerfunktionen 320a-c so aus, dass der Lenkwinkel der Lenkfunktion das Fahrzeug 100 zum Linksabbiegen veranlasst und das Betätigen der Drosselklappe und Bremsen das Fahrzeug 100 zum Anhalten und Warten auf passierende Fußgänger oder entgegenkommende Fahrzeuge veranlasst, bevor das Abbiegen durchgeführt wird.
  • AF-Steuerung
  • 4 zeigt in einem Blockdiagramm 400 die Ein- und Ausgaben eines Steuerungssystems 306 (z. B. wie in 3 gezeigt). Ein Steuerungssystem arbeitet gemäß einer Steuervorrichtung 402, die z. B. einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 204, einen Kurzzeit- und/oder Langzeitdatenspeicher (z. B. Direktzugriffsspeicher oder Flashspeicher Codes usw.) ähnlich dem Hauptspeicher 206, ROM 208 und Speichervorrichtung 210 und im Speicher gespeicherte Anweisungen enthält, die Operationen der Steuervorrichtung 402 durchführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren).
  • In einer Ausführungsform empfängt die Steuervorrichtung 402 Daten, die eine gewünschte Ausgabe 404 darstellen. Die gewünschte Ausgabe 404 umfasst in der Regel z. B. eine Geschwindigkeit und eine Fahrtrichtung. Die gewünschte Ausgabe 404 kann zum Beispiel auf Daten basieren, die aus einem Planungssystem 304 empfangen werden (z. B. wie in 3 gezeigt). Die Steuervorrichtung 402 erzeugt gemäß der gewünschten Ausgabe 404 Daten, die als Drosselklappeneingabe 406 und als Lenkeingabe 408 verwendet werden können. Die Drosselklappeneingabe 406 stellt die Größe dar, in der die Drosselklappe (z. B. Beschleunigungssteuerung) eines Fahrzeugs 100 zu betätigen ist, z. B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Drosselklappensteuerung, um die gewünschte Ausgabe 404 zu erreichen. In einigen Beispielen umfasst die Drosselklappeneingabe 406 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des Fahrzeugs 100 verwendet werden können. Die Lenkeingabe 408 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelsteller oder eine andere Funktion zur Steuerung des Lenkwinkels) des AF positioniert werden sollte, um die gewünschte Ausgabe 404 zu erreichen.
  • In einer Ausführungsform empfängt die Steuervorrichtung 402 eine Rückmeldung, die bei der Anpassung der für die Drosselklappe und Lenkung bereitgestellten Eingaben verwendet wird. Falls beispielsweise das Fahrzeug 100 auf eine Störung 410 wie z. B. einen Hügel trifft, wird die gemessene Geschwindigkeit 412 des Fahrzeugs 100 unter die gewünschte Ausgabegeschwindigkeit abgesenkt. In einer Ausführungsform wird der Steuervorrichtung 402 eine Messwertausgabe 414 zur Verfügung gestellt, sodass die nötigen Anpassungen, z. B. basierend auf der Differenz 413 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe, durchgeführt werden. Die gemessene Ausgabe 414 umfasst eine gemessene Position 416, eine gemessene Geschwindigkeit 418 (einschließlich Drehzahl und Fahrtrichtung), eine gemessene Beschleunigung 420 und andere durch Sensoren des Fahrzeugs 100 messbare Ausgaben.
  • In einer Ausführungsform werden Informationen über die Störung 410 im Voraus erkannt, z. B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem vorausschauenden Rückmeldesystem 422 zur Verfügung gestellt. Das vorausschauende Rückmeldesystem 422 liefert dann Informationen an die Steuervorrichtung 402, die die Steuervorrichtung 402 zur entsprechenden Anpassung verwenden kann. Falls zum Beispiel die Sensoren des Fahrzeugs 100 einen Hügel erkennen („sehen“), können diese Informationen durch die Steuervorrichtung 402 genutzt werden, um sich darauf vorzubereiten, die Drosselklappe zum geeigneten Zeitpunkt zu betätigen, um eine wesentliche Verlangsamung zu vermeiden.
  • CAN-Bus und CEG-Techniken
  • Wie bereits erwähnt, beziehen sich die hier beschriebenen Ausführungsformen auf ein CEG, das dazu ausgelegt ist, als Proxy für die Umwandlung von CAN-Nachrichten in UDP-Pakete zur Übertragung zwischen verschiedenen Elementen eines AF zu dienen. In einer Ausführungsform ist das CEG mit einer Vielzahl von CAN-Bussen kommunikativ verbunden, und das UDP-Paket enthält Daten, die sich auf eine Vielzahl von CAN-Bussen beziehen.
  • 5 zeigt ein Beispiel für eine Fahrzeugkonfiguration 500 mit einem CEG 530 gemäß verschiedenen Ausführungsformen. Die Fahrzeugkonfiguration umfasst eine Rechenvorrichtung 505 mit mindestens einem Prozessor 510. In dieser Ausführungsform ähnelt die Rechenvorrichtung 505 dem Computersystem 200 (2) und teilt mit diesem eine oder mehrere Eigenschaften. In ähnlicher Weise sind die Prozessoren 510 dem Prozessor 204 ähnlich und teilen mit ihm eine oder mehrere Eigenschaften. In verschiedenen Ausführungsformen handelt es sich bei den Prozessoren 510 beispielsweise um eine oder mehrere zentrale Verarbeitungseinheiten (CPU), eine allgemeine Verarbeitungseinheit (GPU), einen Kern eines Mehrkernprozessors usw.
  • Die Prozessoren 510 sind mit einem Ethernet-Switch 515 kommunikativ gekoppelt. Konkret ist der Ethernet-Switch 515 ein Element der Rechenvorrichtung 505, die dazu ausgelegt ist, Daten aus einem Prozessor 510 zu empfangen, die Daten in eine Form umzuwandeln, die zur Kommunikation mit einer Vorrichtung über eine Ethernet-Verbindung 525 geeignet ist, und die Daten über die Ethernet-Verbindung 525 zu übertragen. Zusätzlich oder alternativ ist der Ethernet-Switch 515 dazu ausgelegt, Daten über die Ethernet-Verbindung 525 zu empfangen und die Daten an einen Prozessor 510 weiterzuleiten.
  • Die Rechenvorrichtung 505 ist über die Ethernet-Verbindung 525 mit dem CEG 530 kommunikativ gekoppelt. Das CEG 530 ist auch mit CAN-Bussen wie den CAN-Bussen 535, 540, 550 und 560 kommunikativ gekoppelt, wie im Folgenden näher beschrieben wird. Das CEG 530 und die Rechenvorrichtung 505 sind dazu betreibbar, einander Daten in einem UDP-Paket über die Ethernet-Verbindung 525 zu übertragen. In der in 5 gezeigten Ausführungsform enthält das UDP-Paket CAN-Daten, die durch das CEG 530 über einen CAN-Bus 535/540/550/560 übertragen werden sollen. Alternativ enthält das UDP-Paket CAN-Daten, die durch das CEG 530 über einen CAN-Bus 535/540/550/560 empfangen und zum Erzeugen des UDP-Pakets verwendet werden, das dann an die Rechenvorrichtung 505 übertragen wird.
  • 6 zeigt ein UDP-Beispielpaket mit mehreren Datenabschnitten 660a/660b (zusammen „Datenabschnitte 660“) gemäß verschiedenen Ausführungsformen. In der Ausführungsform von 6 enthalten die jeweiligen Datenabschnitte 660a und 660b Daten, die sich auf einen anderen CAN-Bus beziehen.
  • Das UDP-Paket 600 enthält einen Paketkopf 655 und Datenabschnitte 660. Der Paketkopf 655 enthält Elemente, die Parameter des UDP-Pakets 600 beschreiben oder definieren. Es versteht sich, dass die spezifische Anordnung oder die beschriebenen Längen der verschiedenen Elemente des UDP-Pakets 600 hier nur als prinzipielle Beispiele für die Beschreibung einer Ausführungsform der vorliegenden Offenbarung dienen. In anderen Ausführungsformen enthält das UDP-Paket 600 mehr oder weniger Elemente, Elemente in einer anderen Anordnung oder Elemente mit anderen Namen oder Längen als in 6 dargestellt.
  • Der Paketkopf 655 umfasst:
    • - Kopffeld 605, in einer Ausführungsform ein 2-Byte-Feld mit Informationen, die das UDP-Paket 600 als UDP-Paket identifizieren.
    • - Längenfeld 610, in einer Ausführungsform ein 2-Byte-Feld das eine Länge des UDP-Pakets 600 angibt. Zum Beispiel gibt das Längenfeld 610 die Gesamtlänge des UDP-Pakets 600 in Bits, Bytes oder einer anderen Maßeinheit an. In einer anderen Ausführungsform gibt das Längenfeld 610 nur eine Gesamtlänge der Datenabschnitte des UDP-Pakets 600 (z. B. Datenabschnitte 660) an.
    • - Sequenzzählfeld 615, in einer Ausführungsform ein 4-Byte-Feld, das eine Position des UDP-Pakets 600 in einer Sequenz angibt, die eine Vielzahl von UDP-Paketen 600 umfasst.
    • - Network Time Protocol(NTP)-Feld 620, in einer Ausführungsform ein 8-Byte-Feld, das eine Zeit (basierend auf NTP) angibt, zu der das UDP-Paket 600 erzeugt wurde, sodass ein Empfänger erkennen kann, ob das UDP-Paket 600 zeitrelevante Informationen enthält. In einer anderen Ausführungsform enthält das UDP-Paket 600 das NTP-Feld 620 nicht, falls z. B. Elemente der CAN-Daten in den Datenabschnitten 660 nicht zeitabhängig sind.
    • - Einen benutzerdefinierten Bereich 625, ein 8-Byte-Feld für implementierungsspezifische Daten. Zum Beispiel enthält der benutzerdefinierte Bereich 625 in einer Ausführungsform Konfigurationsdaten, die sich auf die spezifische Rechenvorrichtung 505, den Prozessor 510, den Ethernet-Switch 515, das CEG 530 usw. beziehen. In einer anderen Ausführungsform enthält der benutzerdefinierte Bereich 625 andere Daten. In einer anderen Ausführungsform ist der benutzerdefinierte Bereich 625 nicht vorhanden oder kürzer als in 6 dargestellt.
  • Das UDP-Paket 600 enthält ferner die in 6 dargestellten Datenabschnitte 660a und 660b. Es versteht sich, dass, obwohl in 6 nur zwei Datenabschnitte 660a/660b dargestellt sind, in einer anderen Ausführungsform das UDP-Paket 600 mehr oder weniger Datenabschnitte aufweist. In einer Ausführungsform weist das UDP-Paket 600 beispielsweise bis zu 90 Datenabschnitte auf. Mindestens zwei der Datenabschnitte enthalten Informationen, die sich auf verschiedene CAN-Busse des Fahrzeugs 100 beziehen, wie in 5 dargestellt und im Folgenden näher erläutert.
  • In Bezug auf die Ausführungsform von 6 enthält der Datenabschnitt 660a Daten, die sich auf einen ersten CAN-Bus beziehen, und der Datenabschnitt 660b Daten, die sich auf einen zweiten CAN-Bus beziehen. Die jeweiligen Datenabschnitte enthalten einen CAN-Kopf 665 und CAN-Daten 650.
  • Der CAN-Kopf 665 der Datenabschnitte 660a/660b enthält:
    • - Nachrichtentypfeld 630, ein 2-Byte-Feld, das den Typ einer CAN-bezogenen Nachricht angibt, die im Datenabschnitt 660a/660b enthalten ist, in dem sich der CAN-Kopf 665 befindet. Zum Beispiel gibt in einer Ausführungsform das Nachrichtentypfeld 630 an, dass das CAN-Datenfeld 650 des Datenabschnitts 660a oder 660b Daten enthält, die sich auf einen bestimmten CAN-Bus oder eine Komponente beziehen, die mit dem spezifischen CAN-Bus kommunikativ gekoppelt ist. In einer anderen Ausführungsform gibt das Nachrichtentypfeld 630 jedoch an, dass das CAN-Datenfeld 650 Konfigurations- oder Initialisierungsinformationen in Bezug auf diesen CAN-Bus oder diese Komponente enthält.
    • - Längenfeld 635, ein 1-Byte-Feld, das die Länge des Datenabschnitts 660, in dem es sich befindet, oder in einer anderen Ausführungsform die Länge des CAN-Datenfelds 650 angibt, das sich in demselben Datenabschnitt 660 befindet, in dem sich das Längenfeld 635 befindet.
    • - Kanalfeld 640, ein 1-Byte-Feld, das einen CAN-Kanal angibt, auf dem sich der Datenabschnitt 660 befindet. Der „CAN-Kanal“ kann sich hier auf einen bestimmten CAN-Bus, eine Komponente, mit der die Rechenvorrichtung 505 über einen CAN-Bus kommunikativ gekoppelt ist, einen bestimmten CAN-Kanal oder ein anderes CAN-bezogenes Element beziehen.
    • - Einen CAN-Bezeichner(CAN_ID)-Feld 645, ein 4-Byte-Feld, das als individueller Bezeichner einer CAN-bezogenen Nachricht oder eines Typs einer CAN-bezogenen Nachricht, die übertragen wird, verwendet werden kann. In einigen Ausführungsformen ist der CAN_ID bei Übertragungen, die sich auf ein CEG wie CEG 530 beziehen, nicht eindeutig. Vielmehr wird in einer Ausführungsform der CAN ID für verschiedene Übertragungen an das oder aus dem CEG wiederverwendet.
  • Die Datenabschnitte 660 umfassen auch ein CAN-Datenfeld 650, das in einer Ausführungsform ein 8-Byte-Feld ist. Das CAN-Datenfeld 650 enthält Daten, die sich auf den CAN-Bus beziehen, auf den sich der Datenabschnitt 660 bezieht. Wie bereits erwähnt, kann das CAN-Datenfeld 650 Daten zur Verwendung durch die Rechenvorrichtung 505 oder eine Komponente, die mit einem CAN-Bus kommunikativ gekoppelt ist, Konfigurationsinformationen, Initialisierungsinformationen oder andere Arten von Informationen enthalten.
  • Zurück zu 5, enthält die Fahrzeugkonfiguration 500 ferner eine Anzahl von ECUs, wie z. B. das Steuer-ECU 545, das Sensor-ECU 555 und das System-ECU 565. Im Allgemeinen bezieht sich das Steuer-ECU 545 auf die Steuerung eines Fahrzeugs (z. B. Fahrzeug 100) und ähnelt z. B. dem Steuerungssystem 306. Das Sensor-ECU 555 bezieht auf die verschiedenen Sensoren des Fahrzeugs und ähnelt beispielsweise einem oder mehreren Systemen von Datenbanksystem 310, Wahrnehmungssystem 302, Planungssystem 304 und Lokalisierungssystem 308. Das System-ECU 565 bezieht sich auf einen oder mehrere andere Schaltungen des Fahrzeugs, wie z. B. die Klimasteuerung, das GPS, ein Display des Fahrzeugs, ein Audiosystem des Fahrzeugs usw. Es versteht sich, dass diese ECUs 545/555/565 als Beispielkomponenten oder ECUs der Fahrzeugkonfiguration 500 gedacht sind und andere Ausführungsformen mehr, weniger oder andere ECUs als die in 5 dargestellten umfassen. In einigen Ausführungsformen können einer oder mehrere der CAN-Busse 535/540/550/560 mit einer Vielzahl von ECUs gekoppelt sein, oder ein CAN-Bus kann zusätzlich mit einer Nicht-ECU-Komponente wie einem Radargerät oder einer anderen Komponente gekoppelt sein.
  • Die ECUs 545/555/565 sind mit den CAN-Bussen 535, 540, 555 und 560 kommunikativ gekoppelt. Der Begriff „CAN-Bus“ bezieht sich hier auf einen Bus, der dazu konzipiert ist, Mikrocontroller (z. B. ECUs 545/555/565) und eine elektronische Vorrichtung wie CEG 530 505 ohne einen zwischengeschalteten Hostcomputer kommunizieren zu lassen. Wie hier gezeigt, umfasst die Fahrzeugkonfiguration 500 sowohl einen Steuer-CAN-Bus 535 als auch einen redundanten Steuer-CAN-Bus 540, der mit dem Steuer-ECU 545 kommunikativ gekoppelt ist. In ähnlicher Weise ist das Sensor-ECU 555 mit einem Sensor-CAN-Bus 550 und das System-ECU 565 mit einem System-CAN-Bus 560 kommunikativ gekoppelt. Ähnlich wie bei den ECUs sind die dargestellten und beschriebenen CAN-Busse 535/540/550/560 als Beispiel-CAN-Busse zu verstehen, und andere Ausführungsformen enthalten mehr, weniger oder andere CAN-Busse, als in 5 dargestellt sind.
  • In älteren Fahrzeugkonfigurationen sind die verschiedenen CAN-Busse direkt mit der Rechenvorrichtung 505 oder, genauer gesagt, mit den Prozessoren 510 kommunikativ gekoppelt. Ein bestimmter CAN-Bus weist jedoch in der Regel eine relativ niedrige Datenrate auf, und daher ist die Kommunikation zwischen der Rechenvorrichtung oder dem/den Prozessor(en) und den verschiedenen ECUs in älteren Konfigurationen durch die Datenrate des CAN-Busses begrenzt. Konkret würden ein Prozessor und ein Steuer-ECU eine Eins-zu-Eins-Kommunikation über einen einzelnen CAN-Bus führen, und diese Kommunikation wäre durch die Datenrate des CAN-Busses begrenzt.
  • Im Gegensatz dazu enthalten die vorliegenden Ausführungsformen ein CEG 530. Das CEG 530 ist dazu ausgelegt, eine Konvertierung zwischen einer CAN-Nachricht (z. B. einer Nachricht, die über einen oder mehrere der CAN-Busse 535/540/550/560 gesendet oder empfangen wird) und einer Ethernet-Nachricht (z. B. UDP-Paket 600 aus 6), die über die Ethernet-Verbindung 525 übertragen wird, durchzuführen. Auf diese Weise nutzt die Fahrzeugkonfiguration 500 die höhere Datenrate der Ethernet-Verbindung 525 (die wesentlich höher als die Datenrate eines CAN-Busses ist), um Daten, die sich auf eine Vielzahl von CAN-Bussen beziehen, in einem einzigen UDP-Paket zwischen dem CEG und der Rechenvorrichtung 505 zu senden oder zu empfangen. Dann ist das CEG 530 dazu ausgelegt, mit den verschiedenen ECUs über die verschiedenen CAN-Busse gleichzeitig zu kommunizieren.
  • Verschiedene der dargestellten Elemente des CEG 530 erleichtern den Empfang von CAN-Daten (d. h. CAN-Daten, die aus den verschiedenen ECUs 545/555/565 über die verschiedenen CAN-Busse 535/540/550/560 empfangen werden) und die Erzeugung eines UDP-Pakets (z. B. UDP-Paket 600) basierend auf diesen CAN-Daten.
  • 7 zeigt eine Beispieloperation des CEG gemäß verschiedenen Ausführungsformen. Konkret und wie in 7 dargestellt, um die Erzeugung und Übertragung des UDP-Pakets zu erleichtern, gilt:
    • - CAN-Daten aus den CAN-Bussen 535/540/550/560 werden bei 705 durch das CEG 530 empfangen. Die CAN-Daten werden bei 710 in den CAN-Nachrichtenpuffer 585 eingegeben, während sie aus den CAN-Bussen 535/540/550/560 empfangen werden, wo die Daten zur weiteren Verarbeitung im CAN-Nachrichtenpuffer 585 gespeichert werden.
    • - Der CAN-Nachrichtenpuffer 585 gibt bei 715 alle oder einige der CAN-Daten aus dem CAN-Nachrichtenpuffer 585 an den CAN-Nachrichten-Parser 580 aus, der dazu ausgelegt ist, bei 720 die CAN-Daten zu analysieren und z. B. Daten aus demselben CAN-Bus, ECU oder CAN-Kanal zusammenzufassen. In einer Ausführungsform werden die Daten aus dem CAN-Nachrichtenpuffer 585 an den CAN-Nachrichten-Parser 580 weitergeleitet, wenn festgestellt wird, dass der CAN-Nachrichtenpuffer 585 voll ist, wenn ein Steuersignal aus einem ECU über einen CAN-Bus empfangen wird, wenn ein vorher festgelegtes Zeitintervall oder ein anderer Faktor vorliegt. In einer anderen Ausführungsform werden die Daten aus dem CAN-Nachrichten-Parser 580 basierend auf einem Steuersignal oder einem anderen Indikator aus dem CAN-Nachrichtenpuffer 585 gezogen.
    • - Die CAN-Daten werden dann bei 725 aus dem CAN-Nachrichten-Parser an einen UDP-Nachrichtenpuffer 575 weitergeleitet, wo die Daten zur Verarbeitung durch den UDP-Paket-Handler 570 gehalten werden.
    • - Die CAN-Daten werden dann bei 730 aus dem UDP-Nachrichtenpuffer 575 an den UDP-Paket-Handler 570 weitergeleitet, wo das UDP-Paket (z. B. das UDP-Paket 600) bei 735 basierend auf den durch den UDP-Nachrichtenpuffer 575 bereitgestellten CAN-Daten erzeugt wird. In einer Ausführungsform liefert der UDP-Nachrichtenpuffer 575 die Daten an den UDP-Paket-Handler 570, wenn der UDP-Nachrichtenpuffer 575 voll ist, basierend auf einem voreingestellten Zeitintervall oder einem anderen Kriterium. In einer anderen Ausführungsform holt der UDP-Paket-Handler 570 die Daten aus dem UDP-Nachrichtenpuffer 575, wenn er in der Lage ist, die CAN-Daten zu verarbeiten. Der UDP-Paket-Handler sendet dann das erzeugte UDP-Paket 600 über die Ethernet-Verbindung 525 an die Rechenvorrichtung 505.
  • Aufgrund der obigen Ausführungen ist die Rechenvorrichtung 505, insbesondere sind die Prozessoren 510 der Rechenvorrichtung 505, in der Lage, das erzeugte UDP-Paket 600 zu verarbeiten und CAN-Daten zu identifizieren, die sich auf mehrere CAN-Busse beziehen. In einigen Beispielen identifiziert einer der Prozessoren 510 basierend auf dem Datenabschnitt 660a des UDP-Pakets 600 Daten, die sich auf einen ersten CAN-Bus beziehen. Der Prozessor 510 identifiziert auch basierend auf dem Datenabschnitt 660b des UDP-Pakets 600 Daten, die sich auf einen zweiten CAN-Bus beziehen.
  • In einer Ausführungsform ist/sind der/die Prozessor(en) 510 dazu ausgelegt, Daten basierend auf einem oder mehreren Kennzeichen zu filtern, die den Daten, die der Rechenvorrichtung 505 aus dem CEG 530 bereitgestellt werden, hinzugefügt, angehängt, eingefügt oder anderweitig beigefügt werden können. So können z. B. verschiedene Kennzeichen durch das CEG 530 an die Daten angehängt werden, die auf einem oder mehreren Elementen des UDP-Pakets 600 basieren (z. B. dem CAN_ID 645, dem Nachrichtentyp 630 usw.). Anhand dieser Kennzeichen filtert/filtern der/die Prozessor(en) 510 die empfangenen Daten so, dass nur Daten mit bestimmten Kennzeichen verarbeitet werden, während andere Daten herausgefiltert werden.
  • Auf ähnliche Weise ermöglichen verschiedene der dargestellten Elemente des CEG 530 den Empfang eines UDP-Pakets (z. B. UDP-Paket 600) und die anschließende Übertragung von CAN-Daten an die verschiedenen ECUs 545/555/565 über die verschiedenen CAN-Busse 535/540/550/560.
  • 8 zeigt eine alternative Beispieloperation des CEG gemäß verschiedenen Ausführungsformen. Konkret, und wie in 8 gezeigt, um CAN-Daten basierend auf dem empfangenen UDP-Paket 600 zu erzeugen, geschieht Folgendes:
    • - Das UDP-Paket 600 wird bei 805 aus der Ethernet-Verbindung 525 empfangen und bei 810 in den UDP-Paket-Handler 570 eingegeben. Der UDP-Paket-Handler 570 decodiert bei 815 das UDP-Paket 600 und identifiziert CAN-Daten basierend auf dem UDP-Paket 600 (z. B. die Daten aus den Datenabschnitten 660a oder 660b). Genauer gesagt können die CAN-Daten anhand von Informationen aus dem CAN-Kopf 665 der Datenabschnitte 660 identifiziert werden, wie z. B. dem Kanalfeld 640 oder dem CAN_ID-Feld 645.
    • - Der UDP-Paket-Handler 570 gibt dann bei 820 die CAN-Daten an den UDP-Nachrichtenpuffer 575 aus, der dazu ausgelegt ist, die aus dem UDP-Paket-Handler 570 empfangenen Daten zur Verarbeitung durch den CAN-Nachrichten-Parser 580 zu puffern.
    • - Die Daten werden bei 825 dem CAN-Nachrichten-Parser 580 aus dem UDP-Nachrichtenpuffer 575 bereitgestellt. Der CAN-Nachrichten-Parser 580 ist dazu ausgelegt, bei 830 die aus dem UDP-Nachrichtenpuffer 575 empfangenen Daten zu verarbeiten und eine oder mehrere CAN-Nachrichten (z. B. Nachrichten, die über die verschiedenen CAN-Busse 535/540/550/560 übertragen werden können) basierend auf den Daten zu erzeugen. In einigen Ausführungsformen beziehen sich verschiedene Datenabschnitte des UDP-Pakets auf denselben CAN-Bus, dasselbe ECU oder dieselbe Funktion. In dieser Ausführungsform gruppiert der CAN-Nachrichten-Parser 580 daher CAN-Daten, die sich auf denselben CAN-Bus, dasselbe ECU oder dieselbe Funktion beziehen, weiter.
    • - Die durch den CAN-Nachrichten-Parser 580 erzeugten CAN-Nachrichten werden dann bei 835 dem CAN-Nachrichtenpuffer 585 zugeführt, der dazu ausgelegt ist, die Nachrichten zu speichern, bis sie über einen CAN-Bus 535/540/550/560 an das entsprechende ECU 545/555/565 übertragen werden können. Die Identifizierung, dass die Nachricht aus dem CAN-Nachrichtenpuffer 585 übertragbar ist, basiert beispielsweise auf einem vorher festgelegten Zeitintervall, einem Steuersignal, das durch den CAN-Nachrichtenpuffer 585 aus dem CAN-Nachrichten-Parser 580 oder einer anderen Komponente des CEG empfangen wird, einem Steuersignal, das aus dem ECU empfangen wird, der mit dem CAN-Bus gekoppelt ist, über den die CAN-Nachricht übertragen werden soll, oder einem anderen Indikator.
  • Es versteht sich, dass die dargestellten Elemente Beispielelemente einer Ausführungsform des CEG 530 sind und dass andere Ausführungsformen mehr, weniger oder andere Elemente als die in 5 dargestellten enthalten können. Darüber hinaus können die verschiedenen Elemente des CEG 530 als Hardware, Software, Firmware oder eine Kombination davon implementiert sein. In einigen Ausführungsformen sind ein oder mehrere der verschiedenen Elemente des CEG 530 in einer einzelnen Schaltung oder einem einzelnen Programm kombiniert, während in anderen Ausführungsformen jedes der verschiedenen Elemente des CEG 530 durch andere Hardware/Software/Firmware/usw. als andere Elemente des CEG 530 implementiert ist.
  • In einer Ausführungsform sind die verschiedenen Puffer 575/585 des CEG als nichtflüchtiger Speicher (NVM), RAM, Flashspeicher oder eine andere Art von Speicher implementiert. In einer Ausführungsform handelt es sich bei den mit Bezug auf 7 und 8 beschriebenen Elementen um dasselbe Element. Das heißt, zum Erzeugen eines UDP-Pakets basierend auf CAN-Daten werden derselbe UDP-Paket-Handler 570, derselbe UDP-Nachrichtenpuffer 575, derselbe CAN-Nachrichten-Parser 580 und derselbe CAN-Nachrichtenpuffer 585 verwendet wie für das Erzeugen von CAN-Daten basierend auf einem UDP-Paket. In einer anderen Ausführungsform hat jeder Übertragungsweg mindestens ein eigenes Element. Konkret unterscheidet sich eines oder mehrere der Elemente 570/575/580/585, die für das Erzeugen eines UDP-Pakets basierend auf den CAN-Daten verwendet werden, von einem Element 570/575/580/585, das zum Erzeugen von CAN-Daten basierend auf einem UDP-Paket verwendet wird. In anderen Ausführungsformen können auch andere Varianten vorkommen.
  • 9 zeigt eine Beispieltechnik, die sich auf das UDP-Paket von 6 gemäß verschiedenen Ausführungsformen bezieht. Die Technik von 9 wird durch ein CEG wie CEG 530 und genauer ausgedrückt durch eine oder mehrere Komponenten davon umgesetzt.
  • Die Technik umfasst bei 905 das Identifizieren von ersten Daten, die sich auf einen ersten CAN-Bus beziehen, und von zweiten Daten, die sich auf einen zweiten CAN-Bus beziehen. Bei den Daten handelt es sich beispielsweise um CAN-Daten, die aus einem CAN-Bus wie den Bussen 535, 540, 550 oder 560 empfangen werden, die durch ein ECU wie den ECUs 545, 555 oder 565 erzeugt werden.
  • Die Technik umfasst ferner das Erzeugen eines UDP-Pakets (z. B. UDP-Paket 600) bei 910, das einen ersten Datenabschnitt (z. B. Datenabschnitt 660a) in Bezug auf die ersten Daten und einen zweiten Datenabschnitt (z. B. Datenabschnitt 660b) in Bezug auf die zweiten Daten enthält. Die Erzeugung des UDP-Pakets kann z. B. gemäß der oben beschriebenen 7 erfolgen. Die Technik umfasst dann das Übertragen des UDP-Pakets bei 915 an eine Rechenvorrichtung (z. B. Rechenvorrichtung 505) über eine Ethernet-Verbindung (z. B. Ethernet-Verbindung 525).
  • 10 zeigt eine alternative Beispieltechnik, die sich auf das UDP-Paket von 6 bezieht, gemäß verschiedenen Ausführungsformen. Ähnlich wie in 9 wird die Technik von 10 durch einen CEG wie CEG 530 und genauer ausgedrückt durch eine oder mehrere Komponenten davon implementiert.
  • Die Technik umfasst das Bestimmen eines ersten Datenabschnitts (z. B. Datenabschnitt 660a), der sich auf einen ersten CAN-Bus bezieht, und eines zweiten Datenabschnitts (z. B. Datenabschnitt 660b), der sich auf einen zweiten CAN-Bus bezieht, in einem UDP-Paket (z. B. UDP-Paket 600), das über eine Ethernet-Verbindung (z. B. Ethernet-Verbindung 525) aus einer Rechenvorrichtung (z. B. Rechenvorrichtung 505) empfangen wird. Die Technik umfasst ferner das Ermöglichen der Übertragung der ersten CAN-Daten über den ersten CAN-Bus bei 1010 und das Ermöglichen der Übertragung der zweiten CAN-Daten über den zweiten CAN-Bus bei 1015. Konkret wird eine CAN-Nachricht, die sich auf die ersten CAN-Daten bezieht, und eine CAN-Nachricht, die sich auf die zweiten CAN-Daten bezieht, wie oben mit Bezug auf 8 beschrieben, erzeugt. Die CAN-Nachricht, die sich auf die ersten CAN-Daten bezieht, wird dann über einen ersten Bus (z. B. einen der Busse 535, 540, 550 oder 560) übertragen, und die CAN-Nachricht, die sich auf die zweiten CAN-Daten bezieht, wird über einen anderen Bus übertragen.
  • Es versteht sich, dass die oben beschriebenen Techniken von 7-10 als Beispieltechniken für eine Ausführungsform gedacht sind und andere Ausführungsformen variieren können. Andere Ausführungsformen enthalten zum Beispiel mehr oder weniger Elemente oder Elemente in einer anderen Reihenfolge als in mindestens einer der 7-10 dargestellt sind.
  • In der vorgenannten Beschreibung wurden Ausführungsformen mit Bezug auf zahlreiche spezifische Details beschrieben, die von Umsetzung zu Umsetzung verschieden sein können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt einem einschränkenden Sinn zu sehen. Der einzige und ausschließliche Indikator für den Umfang der vorliegenden Offenbarung und das, was durch die Anmelder als Umfang der Offenbarung beabsichtigt ist, ist der wörtliche und äquivalente Umfang der Menge der Ansprüche, die aus dieser Anmeldung in der spezifischen Form hervorgehen, in der diese Ansprüche ausgestellt sind, einschließlich etwaiger späterer Korrekturen. Alle hier ausdrücklich dargelegten Definitionen für Begriffe, die in diesen Ansprüchen enthalten sind, regeln die Bedeutung der in den Ansprüchen verwendeten Begriffe. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorhergehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine zusätzliche Einrichtung oder ein Unterschritt bzw. eine Untereinrichtung eines bereits erwähnten Schritts oder einer bereits erwähnten Einrichtung sein.

Claims (20)

  1. System zur Verwendung in einem Fahrzeug, wobei das System umfasst: einen ersten Controller Area Network(CAN)-Bus, der dazu ausgelegt ist, erste CAN-Daten aus einem ersten elektronischen Steuergerät (ECU) zu übermitteln; einen zweiten CAN-Bus, der dazu ausgelegt ist, zweite CAN-Daten aus einem zweiten ECU zu übermitteln; ein CAN-Ethernet-Gateway (CEG), das mit dem ersten CAN-Bus und dem zweiten CAN-Bus kommunikativ gekoppelt ist, wobei das CEG dazu ausgelegt ist, ein User Datagram Protocol(UDP)-Paket zu erzeugen, das Folgendes umfasst: einen Paketkopf; einen ersten Datenabschnitt, der einen ersten CAN-Kopf und die ersten CAN-Daten umfasst; und einen zweiten Datenabschnitt, der einen zweiten CAN-Kopf und die zweiten CAN-Daten umfasst; und eine Rechenvorrichtung, die mit dem CEG über eine Ethernet-Verbindung kommunikativ gekoppelt ist, wobei die Rechenvorrichtung dazu ausgelegt ist: basierend auf dem ersten Datenabschnitt des UDP-Pakets die ersten CAN-Daten zu identifizieren; basierend auf dem zweiten Datenabschnitt des UDP-Pakets die zweiten CAN-Daten zu identifizieren; und das Fahrzeug basierend auf den ersten und zweiten CAN-Daten zu betreiben.
  2. System gemäß Anspruch 1, wobei der erste CAN-Bus einer der folgenden ist: ein Steuerbus, ein redundanter Steuerbus, ein Sensorbus und ein Systembus.
  3. System gemäß Anspruch 1, wobei der CAN-Kopf einen Nachrichtentyp der ersten CAN-Daten und einen Kanal der ersten CAN-Daten umfasst.
  4. System gemäß Anspruch 3, wobei der erste CAN-Kopf ferner eine Länge der ersten CAN-Daten und einen CAN-Bezeichner (CAN_ID) der ersten CAN-Daten umfasst.
  5. System gemäß Anspruch 1, wobei das CEG umfasst: einen CAN-Nachrichten-Parser, der zum Analysieren der ersten und zweiten CAN-Daten ausgelegt ist; und einen UDP-Paket-Handler zum Erzeugen des UDP-Pakets.
  6. System gemäß Anspruch 1, wobei die Rechenvorrichtung einen ersten Prozessor und einen zweiten Prozessor umfasst, die über einen Ethernet-Switch der Rechenvorrichtung mit dem CEG kommunikativ gekoppelt sind.
  7. System gemäß Anspruch 1, wobei die Rechenvorrichtung physisch vom CEG getrennt aber mit diesem kommunikativ gekoppelt ist.
  8. System zur Verwendung in einem Fahrzeug, wobei das System umfasst: eine Rechenvorrichtung, die dazu ausgelegt ist, ein User Datagram Protocol(UDP)-Paket zu erzeugen, das Folgendes umfasst: einen Paketkopf; einen ersten Datenabschnitt, der einen ersten Controller Area Network(CAN)-Kopf und erste CAN-Daten umfasst; und einen zweiten Datenabschnitt, der einen zweiten CAN-Kopf und zweite CAN-Daten umfasst; und ein CAN-Ethernet-Gateway (CEG), das über eine Ethernet-Verbindung mit der Rechenvorrichtung kommunikativ gekoppelt ist, wobei das CEG dazu ausgelegt ist: basierend auf dem aus der Rechenvorrichtung empfangenen UDP-Paket ein erstes CAN-Paket, das die ersten CAN-Daten enthält, und ein zweites CAN-Paket, das die zweiten CAN-Daten enthält, zu erzeugen; die Übertragung des ersten CAN-Pakets auf einem ersten CAN-Bus des Fahrzeugs zu ermöglichen; und die Übertragung des zweiten CAN-Pakets auf einem zweiten CAN-Bus des Fahrzeugs zu ermöglichen.
  9. System gemäß Anspruch 8, wobei der erste CAN-Bus einer der folgenden ist: ein Steuerbus, ein redundanter Steuerbus, ein Sensorbus und ein Systembus.
  10. System gemäß Anspruch 8, wobei der erste CAN-Kopf einen Nachrichtentyp der ersten CAN-Daten, einen Kanal der ersten CAN-Daten, eine Länge der ersten CAN-Daten und einen CAN-Bezeichner (CAN_ID) der ersten CAN-Daten umfasst.
  11. System gemäß Anspruch 8, wobei das CEG umfasst: einen UDP-Paket-Handler, der dazu ausgelegt ist, basierend auf dem UDP-Paket den ersten Datenabschnitt und den zweiten Datenabschnitt zu identifizieren; und einen CAN-Nachrichten-Parser, der dazu ausgelegt ist, basierend auf dem ersten Datenabschnitt und dem zweiten Datenabschnitt das erste CAN-Paket und das zweite CAN-Paket zu erzeugen.
  12. System gemäß Anspruch 8, wobei die Rechenvorrichtung einen ersten Prozessor und einen zweiten Prozessor umfasst, die über einen Ethernet-Switch der Rechenvorrichtung mit dem CEG kommunikativ gekoppelt sind.
  13. System gemäß Anspruch 8, wobei die Rechenvorrichtung physisch vom CEG getrennt aber mit diesem kommunikativ gekoppelt ist.
  14. System gemäß Anspruch 8, wobei der erste CAN-Bus sich auf einen Antriebsstrang des Fahrzeugs bezieht und der zweite CAN-Bus sich auf die Motorsteuerung des Fahrzeugs bezieht.
  15. Computerimplementiertes Verfahren, umfassend: Identifizieren von ersten Controller Area Network(CAN)-Daten, die aus einem ersten elektronischen Steuergerät (ECU) auf einem ersten CAN-Bus des Fahrzeugs empfangen werden, durch ein Controller Area Network Ethernet Gateway (CEG) eines Fahrzeugs; Identifizieren von zweiten CAN-Daten, die aus einem zweiten ECU auf einem zweiten CAN-Bus des Fahrzeugs empfangen werden, durch das CEG; und Erzeugen eines User Datagram Protocol(UDP)-Pakets durch einen Prozessor, das Folgendes umfasst: einen Kopf; einen ersten Datenabschnitt, der einen ersten CAN-Kopf und die ersten CAN-Daten umfasst; und einen zweiten Datenabschnitt, der einen zweiten CAN-Kopf und die zweiten CAN-Daten umfasst.
  16. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei das Verfahren ferner das Ermöglichen der Übertragung des UDP-Pakets an eine Rechenvorrichtung über eine Ethernet-Verbindung durch das CEG umfasst.
  17. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei das erste ECU eine andere Funktion als das zweite ECU hat.
  18. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei: der erste CAN-Bus einer der folgenden ist: ein Steuerbus, ein redundanter Steuerbus, ein Sensorbus und ein Systembus; und der zweite CAN-Bus ein weiterer des Steuerbusses, des redundanten Steuerbusses, des Sensorbusses und des Systembusses ist.
  19. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei der erste Kopf einen Nachrichtentyp der ersten CAN-Daten, einen Kanal der ersten CAN-Daten, eine Länge der ersten CAN-Daten und einen CAN-Bezeichner (CAN_ID) der ersten CAN-Daten umfasst.
  20. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei sich die ersten CAN-Daten auf einen Antriebsstrang des Fahrzeugs und die zweiten CAN-Daten auf die Motorsteuerung des Fahrzeugs beziehen.
DE102021132736.9A 2021-02-03 2021-12-10 Controller area network-nachrichten in einem autonomen fahrzeug Pending DE102021132736A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/167,059 2021-02-03
US17/167,059 US11539621B2 (en) 2021-02-03 2021-02-03 Controller area network messages in an autonomous vehicle

Publications (1)

Publication Number Publication Date
DE102021132736A1 true DE102021132736A1 (de) 2022-08-04

Family

ID=75539683

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132736.9A Pending DE102021132736A1 (de) 2021-02-03 2021-12-10 Controller area network-nachrichten in einem autonomen fahrzeug

Country Status (5)

Country Link
US (1) US11539621B2 (de)
KR (1) KR102570065B1 (de)
CN (1) CN114866366A (de)
DE (1) DE102021132736A1 (de)
GB (2) GB2603817B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115052023A (zh) * 2022-08-15 2022-09-13 理工雷科智途(北京)科技有限公司 一种高级辅助驾驶系统数据传输方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4131133B4 (de) * 1991-09-19 2005-09-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen
US7933998B2 (en) * 2002-01-11 2011-04-26 Motorola Mobility, Inc. Dynamic CAN bus system configuration and messaging
DE102012215765A1 (de) 2012-09-05 2014-05-15 Robert Bosch Gmbh Gateway-Modul für ein Kommunikationssystem, Kommunikationssystem und Verfahren zur Übertragung von Daten zwischen Teilnehmern eines Kommunikationssystems
KR101536141B1 (ko) * 2014-02-13 2015-07-13 현대자동차주식회사 이더넷과 can 통신 간의 신호 변환을 제공하는 차량용 장치 및 그 제어방법
US20170072876A1 (en) * 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller
US20180062988A1 (en) 2016-08-31 2018-03-01 Faraday&Future Inc. Ethernet communication of can signals
DE102016221690A1 (de) 2016-11-04 2018-05-09 Audi Ag Verfahren zum Übertragen von Datenpaketen zwischen einem Ethernet und einem Bussystem in einem Kraftfahrzeug sowie Gatewayvorrichtung und Kraftfahrzeug
KR102320043B1 (ko) 2017-09-13 2021-11-01 현대자동차주식회사 차량용 제어 장치의 진단 방법 및 장치
KR102360168B1 (ko) * 2017-11-01 2022-02-09 현대자동차주식회사 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템
US10887230B2 (en) * 2018-02-27 2021-01-05 Cisco Technology, Inc. In-situ operations, administration, and management (IOAM) and network event correlation for internet of things (IOT)
RU2725033C2 (ru) * 2018-03-30 2020-06-29 Акционерное общество "Лаборатория Касперского" Система и способ создания правил
WO2019204931A1 (en) * 2018-04-25 2019-10-31 Flir Unmanned Aerial Systems Ulc Systems and methods for communicating with payload on an unmanned vehicle
US20200029209A1 (en) * 2018-07-23 2020-01-23 Henrik Ferdinand Nölscher Systems and methods for managing wireless communications by a vehicle
DK201870684A1 (en) * 2018-08-27 2020-05-19 Aptiv Technologies Limited PARTITIONED WIRELESS COMMUNICATION SYSTEM WITH REDUNDANT DATA LINKS AND POWER LINES
EP3923519A4 (de) * 2019-02-08 2022-07-27 Panasonic Intellectual Property Corporation of America Verfahren zur bestimmung von anomalien, vorrichtung zur bestimmung von anomalien und programm
US11321442B2 (en) * 2020-03-20 2022-05-03 Infineon Technologies Ag Data link layer authenticity and security for automotive communication system

Also Published As

Publication number Publication date
GB202103631D0 (en) 2021-04-28
US11539621B2 (en) 2022-12-27
US20220247681A1 (en) 2022-08-04
GB202315074D0 (en) 2023-11-15
GB2603817B (en) 2023-11-22
GB2603817A (en) 2022-08-17
KR102570065B1 (ko) 2023-08-22
KR20220112152A (ko) 2022-08-10
CN114866366A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE112019006548T5 (de) Lenkwinkelkalibrierung
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102020101140A1 (de) Verfahren und system zum bestimmen einer aktion eines autonomen fahrzeugs (av) basierend auf fahrzeug- und edge-sensordaten
DE102020210499A1 (de) Datengesteuerte regelwerke
DE102020128153A1 (de) Sampling von fahrszenarien zum trainieren/abstimmen maschineller lernmodelle für fahrzeuge
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE102020128154A1 (de) Trajektorieplanung für fahrzeuge unter verwendung von routeninformationen
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE102021132194A1 (de) Fahrzeugpfadplanung
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale
DE102021132221A1 (de) Entscheidungsfindung und vorhersage mit steuerung auf basis von strassenoberflächenbedingungen
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021114032A1 (de) Identifizieren von hintergrundmerkmalen mittels lidar
DE102021131820A1 (de) Zusammenführen von lidar-informationen und kamerainformationen
DE102021131848A1 (de) Sicherheits-gateway