DE102019218718B4 - Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug - Google Patents

Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug Download PDF

Info

Publication number
DE102019218718B4
DE102019218718B4 DE102019218718.8A DE102019218718A DE102019218718B4 DE 102019218718 B4 DE102019218718 B4 DE 102019218718B4 DE 102019218718 A DE102019218718 A DE 102019218718A DE 102019218718 B4 DE102019218718 B4 DE 102019218718B4
Authority
DE
Germany
Prior art keywords
level
functions
motor vehicle
weighting
target achievement
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.)
Active
Application number
DE102019218718.8A
Other languages
English (en)
Other versions
DE102019218718A1 (de
Inventor
Tobias Kain
Maximilian Wesche
Hendrik Decke
Julian-Steffen Müller
Fabian Plinke
Andreas Braasch
Johannes Heinrich
Timo Horeis
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.)
Volkswagen AG
Original Assignee
Volkswagen AG
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 Volkswagen AG filed Critical Volkswagen AG
Priority to DE102019218718.8A priority Critical patent/DE102019218718B4/de
Priority to US17/105,429 priority patent/US11472423B2/en
Priority to CN202011392811.2A priority patent/CN112977468A/zh
Publication of DE102019218718A1 publication Critical patent/DE102019218718A1/de
Application granted granted Critical
Publication of DE102019218718B4 publication Critical patent/DE102019218718B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/12Limiting control by the driver depending on vehicle state, e.g. interlocking means for the control input for preventing unsafe operation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/035Bringing the control units into a predefined state, e.g. giving priority to particular actuators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/038Limiting the input power, torque or speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/005Handover processes
    • B60W60/0051Handover processes from occupants to vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0292Fail-safe or redundant systems, e.g. limp-home or backup systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • B60W2050/065Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot by reducing the computational load on the digital processor of the control computer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • G05D1/0061Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa

Abstract

Verfahren zum Betrieb eines selbstfahrenden Kraftfahrzeugs (1), aufweisend eine Mehrzahl an Steuereinheiten (12, 14, 16, 18) und eine Mehrzahl von Programmcodes (20, 22, 24, 26, 28, 30) zur Steuerung der Funktion des autonomen Fahrens und gegebenenfalls weiterer Funktionen des selbstfahrenden Fahrzeugs (1), wobei mehrere für einen autonomen Fahrbetrieb genutzte Programmcodes (20, 22, 24, 26, 28, 30) redundant auf mindestens zwei unterschiedlichen Steuereinheiten (12, 14, 16, 18) appliziert sind, wobei das Verfahren folgende Verfahrensschritte aufweist:• Betrieb des selbstfahrenden Kraftfahrzeugs (1) in einem zumindest teilautonomen Fahrbetrieb,• Ermitteln der Funktionen des selbstfahrenden Kraftfahrzeugs (1) zur Erfüllung der Passagierwünsche,• Gewichten der Funktionen in Abhängigkeit ihrer Bedeutung zur Erreichung der Passagierwünsche in mindestens zwei Gewichtungslevels (32, 34, 36, 38),• Abschalten von mindestens einer Funktion eines unteren Gewichtungslevels (32), wenn die verfügbaren Ressourcen an funktionsbereiten Steuereinheiten (12, 14, 16, 18) und/oder das Energieniveau des selbstfahrenden Kraftfahrzeugs (1) nicht ausreichend ist, um einen Programmcode (20, 22, 24, 26, 28, 30) zur Ausführung dieser Funktion des unteren Gewichtungslevels (32) auszuführen,• wobei die Redundanzen von Funktionen der unteren Gewichtungslevel (32, 34) reduziert werden und die dadurch freiwerdende Rechenleistung auf den Steuereinheiten (12, 14, 16, 18) den Funktionen der höheren Gewichtungslevel (36, 38) zugewiesen werden.

Description

  • Die Erfindung betrifft ein Steuerungssystem zur Steuerung des Betriebs eines selbstfahrenden Kraftfahrzeugs, insbesondere eines das automatische Fahren des Kraftfahrzeugs kontrollierenden Fahrsystems, ein Kraftfahrzeug, insbesondere ein elektrisch angetriebenes Kraftfahrzeug, mit einem solchen Steuerungssystem, sowie ein Computerprogrammprodukt gemäß dem Oberbegriff der unabhängigen Patentansprüche.
  • Heutige Fahrzeuge verfügen bereits über eine Vielzahl von Assistenzsystemen, die den Fahrer in einer Vielzahl von Fahrsituationen computerbasiert unterstützen. Solche Assistenzsysteme können auf Sensoren zum Erfassen einer Vielzahl von Messdaten zurückgreifen, welche die Sinnesfähigkeiten des Menschen bei weitem übersteigen. Zudem übertrifft die Geschwindigkeit dieser Assistenzsysteme die menschliche Reaktionszeit signifikant. Bekannte Fahrerassistenzsysteme sind beispielsweise Spurhalteassistenten, Bremsassistenten bei Fußgängererkennung und Abstandsregeltempomaten, insbesondere für Stausituationen.
  • Durch Anwendung solcher Assistenzsysteme geht die Autonomie des Fahrers bezüglich seiner Fahrentscheidungen zunehmend auf das Fahrzeug beziehungsweise in diesem operierende Steuereinheiten über. Am Ende dieser Entwicklungen steht ein selbstfahrendes Fahrzeug, welches vollständig ohne Eingriffe eines Menschen manövrieren kann. Mittels eines solchen selbstfahrenden Fahrzeugs ist ein vollautomatisierter Personentransport möglich.
  • Die Steuerung des Fahrbetriebs eines selbstfahrenden Autos erfolgt durch ein Fahrsystem, worunter im Rahmen der vorliegenden Anmeldung im weitesten Sinne eine für diese Aufgabe speziell ausgebildete und eingerichtete Steuereinheit verstanden werden soll. Diese Steuereinheit ist unter Verwendung einer Vielzahl von Eingangssignalen, insbesondere von dem Fahrzeug selbst erfassten Sensordaten sowie empfangenen Kommunikationsdaten, zur automatischen Quer- und Längsführung des Fahrzeugs ausgebildet. Eine solche Steuerung der automatischen Quer- und Längsführung stellt komplexe Berechnungsanforderungen an das Fahrsystem, welches hierfür in der Regel über Algorithmen, Modelle und Steuerfunktionen verfügt, die zumindest teilweise auf maschinellem Lernen (künstlicher Intelligenz) basieren.
  • Um ein autonomes Auto sicher zu betreiben, sind zahlreiche Softwareanwendungen erforderlich, die miteinander interagieren. Das Problem ist jedoch, dass Fehler, wie zum Beispiel ein Fehler einer Softwareanwendung oder eines Rechenknotens, dazu führen können, dass einige Anwendungen nicht mehr ausgeführt werden können. Abhängig von der Bedeutung der Anwendung kann dies dramatische Folgen für die Sicherheit der Fahrgäste und anderer Verkehrsteilnehmer haben.
  • Um die tragischen Folgen von auftretenden Fehlern zu vermeiden, können die Softwareanwendungen redundant auf verschiedenen Rechenknoten ausgeführt werden. Die Idee dabei ist, dass die redundanten Instanzen in einem passiven Modus ausgeführt werden. Dies bedeutet, dass sie dieselben Vorgänge ausführen wie die aktiven Instanzen, jedoch nicht mit den ausführenden Systemen interagieren.
  • In Abhängigkeit von der Funktionsrelevanz der entsprechenden Funktion könnte dies zu unkontrollierten Fahrzuständen und einer Komforteinbuße bis hin zu einer Gefahr für die Passagiere des autonom fahrenden Kraftfahrzeuges führen. Dabei ist bekannt, sicherheitsrelevante Systeme redundant auszuführen, um gefährliche Fahrsituationen betriebssicher zu vermeiden.
  • Die Aufgabe, die Zuordnung zwischen Anwendungsinstanzen und Rechenknoten zu bestimmen, ist nicht trivial. Die Entscheidung hängt von vielen verschiedenen Parametern ab. Beispielsweise besitzen Rechenknoten nur eine begrenzte Menge an Rechen- und Speicherressourcen. Andererseits benötigt jede Anwendung eine bestimmte Menge an Ressourcen, um wie geplant zu funktionieren. Um sicherzustellen, dass alle Anwendungen auf den im Fahrzeug installierten Rechenknoten ausgeführt werden können, muss ein mehrdimensionales komplexes Anwendungs-Platzierungsproblem gelöst werden.
  • Gefährliche Situationen durch Software- oder Hardwarefehler können, wie eingangs bereits ausgeführt, durch redundantes Software-Design (teilweise) verhindert werden. Die Einführung redundanter Anwendungsinstanzen erhöht jedoch die Komplexität des Anwendungs-Platzierungsproblems, da zusätzliche Parameter berücksichtigt werden müssen. Beispielsweise kann für jede Anwendung die minimale Anzahl redundanter Instanzen angegeben werden. Darüber hinaus kann für jede Anwendung der minimale Grad der Hardwaresegregation definiert werden. Dieser Parameter gibt an, auf wie vielen verschiedenen Rechenknoten die Instanzen der Anwendung mindestens ausgeführt werden müssen. Dabei führt die Anzahl der verfügbaren Steuerungseinheiten und die Forderung nach einer minimalen Hardwaresegregation bezüglich der Programme zu einem Verteilungsproblem.
  • Da die Anzahl von Softwareanwendungen, die zum Betreiben eines autonomen Fahrzeugs erforderlich sind, ziemlich hoch ist (ungefähr ein paar hundert Anwendungen sind betroffen), existieren im Allgemeinen zahlreiche gültige Zuordnungen zwischen Rechenknoten und Anwendungsinstanz. Es sind jedoch nicht alle gültigen Zuordnungen gleichermaßen „gut“. Um das bestmögliche Mapping auszuwählen, muss ein Optimierungsziel formuliert werden. Das Optimierungsziel kann beispielsweise so formuliert werden, dass Mappings, die das Herunterfahren möglichst vieler Rechenknoten ermöglichen, Mappings vorgezogen werden, die alle Rechenknoten nutzen, mit denen das Fahrzeug ausgestattet ist. Neben diesem Optimierungsziel können wir uns viele andere Zielfunktionen vorstellen, die andere Kriterien berücksichtigen.
  • Während des Betriebs eines Fahrzeugs kann sich die Platzierung der Anwendung mehrmals ändern. Beispielsweise kann es nach Ereignissen wie dem Fehler eines Rechenknotens oder dem Fehler einer Anwendungsinstanz erforderlich sein, zu einer neuen Anwendungsplatzierung zu wechseln. Neben diesen Ereignissen kann auch das Erkennen einer möglichen Optimierungsmöglichkeit das Umschalten auf eine neue Anwendungsplatzierung auslösen.
  • Die US 5 550 736 A offenbart ein Steuerungssystem für ein Flugzeug, wobei sämtliche sicherheitsrelevanten Funktionseinheiten doppelt ausgebildet sind. Dabei wird bei Erkennen eines Ausfalls eines der Systeme auf das jeweils redundante andere System umgeschaltet, um die Flugsicherheit zu gewährleisten.
  • Aus der US 8 560 609 B2 ist ein Verfahren zur Übertragung von Fahrzeugbetriebsdaten von einem Fahrzeug zu einem Fernüberwachungsempfänger, umfassend die Schritte des Aufbaus einer Datenverbindung zwischen dem Fahrzeug und dem Fernüberwachungsempfänger; des Sammelns von Fahrzeugbetriebsdaten aus Datenquellen im Fahrzeug; des komprimieren der Fahrzeugs-Betriebsdaten in einem Datenpaket unter Verwendung eines von SNMP abgeleiteten Protokolls; und Übertragen des Datenpakets über die Datenverbindung.
  • Die US 9 648 023 B2 offenbart einen Server, ein Modul oder eine andere Vorrichtung in einem Kraftfahrzeug, welcher aktualisiert, geschützt, diagnostiziert und/oder verwaltet wird, um einen fahrzeugbezogenen Betrieb zu erleichtern. Dabei ist eine lokale Steuerungseinrichtung vorgesehen, die physikalisch oder anderweitig mit dem Fahrzeug verbunden ist und zur Implementierung der beabsichtigten Prozesse verwendet werden kann.
  • Die DE 10 2018 201 119 A1 beschreibt ein Verfahren zum Überwachen eines Kraftfahrzeugs mit automatisierter Fahrfunktion, mit unterschiedlichen Betriebsweisen zur Überführung des Kraftfahrzeugs in einen sicheren Zustand, insbesondere in den Stillstand, wobei zumindest ein Energiespeicher zumindest einen nicht für die Betriebsweise benötigten Verbraucher und zumindest einen für die Betriebsweise benötigten Verbraucher versorgt. Der jeweiligen Betriebsweise ist jeweils zumindest ein von dem für die Betriebsweise benötigtem Verbraucher abhängiges Lastprofil zugeordnet, das bei dieser Betriebsweise üblicher Weise auftritt, wobei in Abhängigkeit von dem Lastprofil zumindest eine Kenngröße des Energiespeichers prädiziert wird und in Abhängigkeit von der prädizierten Kenngröße des Energiespeichers die zugehörige Betriebsweise und/oder die automatisierte Fahrfunktion freigegeben wird, wobei die prädizierte Kenngröße in Abhängigkeit von einer Grundlast und/oder einem Abschaltpotenzial des nicht für die Betriebsweise benötigten Verbrauchers ermittelt wird.
  • Aus der DE 10 2011 086 530 A1 ist ein Mikroprozessorsystem zur Ausführung von zumindest teilweise sicherheitskritischen Software-Modulen im Rahmen der Steuerung oder Regelung von Softwaremodulen zugeordneten Funktionen oder Aufgaben bekannt, welches wenigstens ein eigensicheres Mikroprozessormodul mit wenigstens zwei Mikroprozessorkernen umfasst.
  • Die WO 2005/055 056 A1 offenbart ein Verfahren zum Laden eines Softwaremoduls in eine Prozessoreinheit eines Steuergeräts in einem Verkehrsmittel, wobei das Softwaremodul in mehreren Steuergeräten lauffähig ist und die Steuergeräte über einen Datenbus Daten austauschen.
  • Aus der DE 10 2005 013 440 A1 ist eine Stromversorgungsschaltung für ein Kraftfahrzeug bekannt, in dem sicherheitsrelevante, mechatronische Komponenten verbaut sind. Die Stromversorgungsschaltung besteht aus zwei Bordnetzen und mindestens einem Energieerzeuger. Jedes Bordnetz beinhaltet einen Energiespeicher, vorzugsweise eine Batterie, ein Ladetrennmodul und diverse elektrische Verbraucher. Außerdem sind Schalteinrichtungen zur Aktivierung, Deaktivierung beziehungsweise Steuerung der Verbraucher vorgesehen, die eine Kommunikationsschnittstelle enthalten.
  • Die DE 101 42 511 A1 beschreibt ein Verfahren und eine Vorrichtung zur Fehlerbehandlung von Softwaremodulen für redundant ausgelegte Systeme in Kraftfahrzeugen. Dabei wird eine Fehlerbehandlung auf redundant aufgelegte Systeme in Kraftfahrzeugen optimiert, indem Fehler erkannt und Fehlerbehandlungsmaßnahmen eingeleitet werden. Zusätzlich soll die Fehlerbehandlung derart gestaltet sein, dass diese für mehrere softwaregesteuerte Applikationen, die auf einem Steuergerät laufen, anwendbar ist. Zudem soll eine Vorrichtung zur Durchführung des Verfahrens bereitgestellt werden, welche aus direkt und/oder indirekt redundanten Eingangsdaten für die Softwaremodule bereinigte Eingangsdaten bestimmt.
  • In der Regel werden die in selbstfahrenden Fahrzeugen verwendeten Fahrsysteme durch den Hersteller und unter Verwendung von Testfahrzeugen trainiert. Ein mit dem Fahrsystem ausgestattetes Fahrzeug wird in der Regel mit einem ersten Funktionsdatensatz ausgeliefert, der das Resultat dieses Trainings darstellt und im Prinzip die Funktionen des Fahrsystems, wie beispielsweise Spurhalteassistent, Abstandswarner, etc. zur Verfügung stellen soll.
  • Der Erfindung liegt daher die Aufgabe zugrunde, die Sicherheit bei einem autonom fahrenden Kraftfahrzeug zu erhöhen und den Energieverbrauch zu reduzieren sowie ein Verfahren zum Betrieb eines selbstfahrenden Fahrzeugs bereitzustellen, bei welchem ein sicherer und energiesparender Betrieb des Fahrzeugs gewährleistet ist.
  • Die erfindungsgemäße Aufgabe wird gelöst durch die Gegenstände der Hauptansprüche. Bevorzugte Weiterbildungen sind Gegenstand der jeweils rückbezogenen Unteransprüche.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Betrieb eines selbstfahrenden Kraftfahrzeugs, aufweisend eine Mehrzahl an Steuereinheiten und eine Mehrzahl von Programmcodes zur Steuerung der Funktion des autonomen Fahrens und gegebenenfalls weiterer Funktionen des selbstfahrenden Fahrzeugs, wobei mehrere für einen autonomen Fahrbetrieb genutzte Programmcodes redundant auf mindestens zwei unterschiedlichen Steuereinheiten appliziert sind. Dabei erfolgt der Betrieb des selbstfahrenden Kraftfahrzeugs in einem zumindest teilautonomen Fahrbetrieb. In diesem Betrieb werden die zur Erfüllung der Passagierwünsche unmittelbar notwendigen Funktionen ermittelt und entsprechend ihrer Bedeutung zur Erfüllung der Passagierwünsche gewichtet. Dabei wird zumindest eine Funktion eines unteren Gewichtungslevels abgeschaltet, wenn die verfügbaren Ressourcen an funktionsbereiten Steuereinheiten und/oder das Energieniveau des selbstfahrenden Kraftfahrzeugs nicht ausreichend ist, um einen Programmcode zur Ausführung dieser Funktion des unteren Gewichtslevels auszuführen. Dabei können die Steuerungseinheiten insbesondere Rechenknoten eines Computers sein, welche jeweils für sich einen Teilprogrammcode ausführen können. Die Programmcodes werden auch als Anwendungen bezeichnet. Die Steuereinheiten werden alternativ auch als Steuerungseinheiten oder Rechenknoten bezeichnet. Dadurch ermöglicht das Steuerungssystem eine maximal redundante und energieeffiziente Steuerung eines (teil-) autonomen Fahrbetriebs eines Kraftfahrzeugs. Dies erhöht die Sicherheit und senkt den Energieverbrauch, wodurch die Reichweite des Kraftfahrzeugs erhöht wird und die vom Kraftfahrzeug erzeugten Emissionen reduziert werden können.
  • Durch die in den abhängigen Ansprüchen angegebenen Merkmale sind vorteilhafte Verbesserungen und nicht-triviale Weiterentwicklungen des im unabhängigen Anspruch angegebenen Verfahrens zur Steuerung eines Kraftfahrzeugs möglich.
  • In einer bevorzugten Ausführungsform des Verfahrens ist vorgesehen, dass die Steuerung des Kraftfahrzeugs durch ein Fail-Safe-System übernommen wird, wenn mindestens ein Programmcode zur Erfüllung einer Funktion des höchsten Gewichtungslevels nicht mehr ausgeführt werden kann. Durch ein Fail-Safe-System kann verhindert werden, dass selbst bei einem Totalausfall des Steuerungssystems für das Kraftfahrzeug, die Passagiere des Kraftfahrzeugs oder dessen unmittelbares Umfeld gefährliche Betriebssituationen entstehen.
  • Besonders bevorzugt ist dabei, wenn das Kraftfahrzeug durch das Fail-Safe-System zum Stillstand abgebremst wird und/oder an den nächstliegenden sicheren Haltepunkt gesteuert wird. In der Regel führt ein Abbremsen des Kraftfahrzeugs bis zum Stillstand zu einer Entschärfung der Situation. In bestimmten Fahrsituationen, z.B. in einem unbeleuchteten Tunnel, auf der Autobahn, insbesondere in einer Autobahnbaustelle, kann jedoch ein Stillstand des Kraftfahrzeuges zu einer gefährlichen Verkehrssituation führen. In diesem Fall ist bevorzugt, wenn das Fail-Safe-System das Kraftfahrzeug zumindest in so weit autonom weiterfahren kann, bis ein sicherer Halteplatz für das Kraftfahrzeug erreicht ist und verkehrsgefährdende Situationen vermieden werden.
  • In einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass für jede Funktion eine minimale Anzahl an Redundanzen festgelegt wird. Durch Redundanzen kann die Sicherheit des Steuerungssystems erhöht werden, da bei einem Ausfall eines Programmcodes der jeweils redundante Programmcode die Funktion übernehmen kann.
  • In einer weiteren vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass für jede Funktion eine minimale Anzahl an unterschiedlichen Steuerungseinrichtungen festgelegt wird, auf welchen die unterschiedlichen Programmcodes zur Steuerung der Funktion redundant ausgeführt werden. Durch die Ausführung von Programmcodes auf unterschiedlichen Steuerungseinheiten kann die Sicherheit weiter erhöht werden, da beim Ausfall einer Steuerungseinheit der Programmcode durch eine andere Steuerungseinheit ausgeführt werden kann.
  • Besonders bevorzugt ist dabei, wenn die Funktionen eines höheren Gewichtungslevels mit mehr Redundanzen ausgebildet werden als die Funktionen eines niedrigeren Gewichtungslevels. Durch die mehrfache Redundanz der Funktionen des höheren und höchsten Gewichtungslevels kann erreicht werden, dass ein Ausfall einer Steuerungseinrichtung nicht zu verkehrsgefährdenden Betriebszuständen führt, sondern für die Passagiere des Kraftfahrzeuges nicht oder nur als Einschränkung des Fahrkomforts spürbar ist.
  • In einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass das Steuerungssystem mehrere Zielerreichungsebenen definiert, wobei bei einem Zielerreichungsgrad unterhalb der Anforderungen für die zweite Zielerreichungsebene das Fail-Safe-System die Steuerung des Kraftfahrzeugs übernimmt. Dadurch kann sichergestellt werden, dass auch bei starken Systemstörungen des Steuerungssystems keine Gefahr für die Passagiere des Kraftfahrzeugs oder Menschen im unmittelbaren Umfeld des Kraftfahrzeugs entsteht.
  • In einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass bei einem Erreichen der obersten Zielerreichungsebene sämtliche Funktionen des höchsten Gewichtungslevels mindestens einfach redundant auf unterschiedlichen Steuerungseinrichtungen ausgeführt werden.
  • In einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass die Rechenleistung der Steuerungseinrichtungen den Programmcodes zur Steuerung der jeweiligen Funktion derart zugewiesen wird, dass eine möglichst hohe Zielerreichungsebene erreicht wird. Dadurch wird die Grundlage für eine anschließende Optimierung geschaffen, bei der einzelne Steuerungseinrichtung zur Reduzierung des Energieverbrauchs deaktiviert werden können, wenn die höchste Zielerreichungsebene erreicht ist.
  • Dabei ist mit Vorteil vorgesehen, dass in einem Ausgangszustand des Steuerungssystems die höchste Zielerreichungsebene erreicht wird. Geht man davon aus, dass im Ausgangszustand alle Programmcodes stabil und funktionssicher durch die Steuerungseinrichtungen des Steuerungssystems ausgeführt werden können, so werden in diesem Ausgangszustand die Bedingungen zum Erreichen der höchsten Zielerreichungsebene erfüllt.
  • Erfindungsgemäß ist vorgesehen, dass die Redundanzen von Funktionen der unteren Gewichtungslevel reduziert werden und die dadurch freiwerdende Rechenleistung auf den Steuerungseinheiten den Funktionen der höheren Gewichtungslevel zugewiesen werden. Dadurch kann der Energieverbrauch des Steuerungssystems reduziert werden und gegebenenfalls nicht mehr zur Zieleerreichung benötigte Steuerungseinrichtungen deaktiviert werden.
  • In einer bevorzugten Ausgestaltung des Verfahrens zur Steuerung eines autonom fahrend Kraftfahrzeugs ist vorgesehen, dass das Steuerungssystem fünf unterschiedliche Zielerreichungsebenen definiert, wobei
    • - auf der ersten Zielerreichungsebene die Funktionen nur derart unzureichend abgebildet werden können, dass das Fail-Safe-System die Steuerung des Kraftfahrzeuges übernimmt,
    • - auf der zweiten Zielerreichungsebene zumindest jede Funktion des höchsten Gewichtungslevels einfach redundant auf zwei unterschiedlichen Steuerungseinheiten ausgeführt wird,
    • - auf der dritten Zielerreichungsebene jede Funktion des höchsten Gewichtungslevels (38) mindestens einfach redundant und die Funktionen des höchsten Gewichtungslevels auf mindestens drei unterschiedliche Steuereinheiten aufgeteilt ausgeführt werden und die Funktionen des zweithöchsten Gewichtungslevels zumindest redundant ausgeführt werden,
    • - auf der vierten Zielerreichungsebene jede Funktion des höchsten Gewichtungslevels mindestens einfach redundant und die Funktionen des höchsten Gewichtungslevels auf mindestens vier unterschiedliche Steuereinheiten verteilt ausgeführt werden und die Funktionen des zweithöchsten Gewichtungslevels und des dritthöchsten Gewichtungslevels mindestens einfach redundant ausgeführt werden, und
    • - auf der fünften Zielerreichungsebene sämtliche Funktionen ausgeführt werden, wobei die Funktionen des mittleren, höheren und höchsten Gewichtungslevels zumindest redundant und auf mehrere Steuerungseinrichtungen verteilt ausgeführt werden.
  • Ein weiterer Aspekt der Erfindung betrifft ein Steuerungssystem, umfassend mehrere Steuereinrichtungen, wobei das Steuerungssystem dazu eingerichtet ist, ein solches Verfahren zum Betrieb eines zumindest teilautonom fahrenden Kraftfahrzeugs auszuführen, wenn mehrere maschinenlesbare Programmcodes durch mindestens zwei Steuereinrichtung des Steuerungssystems ausgeführt werden.
  • Ein das erfindungsgemäße Verfahren durchführendes Fahrzeug weist ferner ein zum automatischen Fahrbetrieb des Fahrzeugs eingerichtetes Fahrsystem auf. Das Fahrsystem ist insbesondere zur vollautomatischen Längs- und/oder Querführung des Fahrzeugs eingerichtet. Hierzu greift das Fahrsystem bevorzugt auf eine Vielzahl von durch das Fahrzeug erfassten Sensordaten sowie durch das Fahrzeug empfangener Kommunikationsdaten zu. Das Fahrsystem ist insbesondere zum Ausführen von Fahrassistenzfunktionen bis hin zum vollautomatischen Fahren ausgebildet. Hierzu weist das Fahrsystem Steuerungsalgorithmen auf, die zumindest teilweise auf maschinellem Lernen basieren und beispielsweise Zielfunktionen und/oder neuronale Netze aufweisen. Zum Betrieb des Fahrsystems sind mithin Funktionsdaten notwendig, die beispielsweise Parameter eines neuronalen Netzes oder optimierte Funktionsparameter aufweisen. Diese Funktionsdaten sind im Fahrsystem des Fahrzeugs als Funktionsdatensatz hinterlegt. Zu Beginn des erfindungsgemäßen Verfahrens ist stets ein (relativ) erster Funktionsdatensatz in dem Fahrsystem des Fahrzeugs hinterlegt.
  • Ein das erfindungsgemäße Verfahren durchführendes Fahrzeug weist ferner eine Steuereinheit auf. Diese Steuereinheit ist vorzugsweise dazu ausgebildet mit den anderen Komponenten des Fahrzeugs, insbesondere mit dem ersten Kommunikationsmodul und mit dem Fahrsystem sowie gegebenenfalls mit Sensoren, zu kommunizieren und deren Funktionen zu koordinieren. Die Steuereinheit weist ferner vorzugsweise auf einen Speicher zu oder kontrolliert diesen.
  • In einer besonders bevorzugten Durchführungsform nimmt der Funktionsumfang des Fahrsystems mit steigender Lizenzstufe des Fahrzeugs zu. Mit anderen Worten nimmt der Grad der Automatisierung des Fahrbetriebs mit zunehmender Lizenzstufe des Fahrzeugs zu. Besonders bevorzugt sind die Lizenzstufen des Fahrzeugs mit verschiedenen Stufen des autonomen Fahrens korreliert. Besonders bevorzugt weist ein Fahrzeug im Auslieferungszustand eine Lizenzstufe 0 auf. Ferner bevorzugt entspricht die Lizenzstufe 0 einem Automatisierungsgrad Level 0 („Driver Only“) gemäß dem der Fahrer dauerhaft die Längs- und Querführung ausführt und das Fahrsystem nicht aktiv in den Fahrbetrieb eingreift.
  • In einer bevorzugten Durchführungsform des erfindungsgemäßen Verfahrens entspricht die Lizenzstufe 1 einem Automatisierungsgrad Level 1 („Assistiert“) gemäß dem ein Fahrer dauerhaft die Längs- oder Querführung und das Fahrsystem die jeweils andere Funktion übernimmt. Ferner bevorzugt entspricht die Lizenzstufe 2 einem Automatisierungsgrad Level 2 („Teilautomatisiert“) gemäß dem ein Fahrer das Fahrzeug dauerhaft überwachen muss und das Fahrsystem die Längs- und Querführung im spezifischen Anwendungsfall übernimmt.
  • Ferner bevorzugt entspricht die Lizenzstufe 3 einem Automatisierungsgrad Level 3 („Hochautomatisiert“) gemäß dem ein Fahrer das Fahrzeug nicht dauerhaft überwachen muss, jedoch potentiell in der Lage sein muss, die Kontrolle über das Fahrzeug zu übernehmen. Gemäß Automatisierungsgrad Level 3 übernimmt das Fahrsystem die Längs- und Querführung ebenfalls in einem spezifischen Anwendungsfall, erkennt ferner Grenzen des Fahrsystems selbstständig und fordert den Fahrer mit ausreichender Zeitreserve zur Übernahme der Kontrolle auf. Die Lizenzstufe 4 entspricht bevorzugt einem Automatisierungsgrad Level 4 („Vollautomatisiert“) gemäß dem im spezifischen Anwendungsfall kein Fahrer erforderlich ist und das Fahrsystem im spezifischen Anwendungsfall die Situation völlig autonom bewältigt.
  • Ebenfalls bevorzugt entspricht die Lizenzstufe 5 einem Automatisierungsgrad Level 5 („Fahrerlos“) gemäß dem vom Anfang bis Ende einer Fahrt kein Fahrer erforderlich ist und das Fahrsystem die Fahraufgabe in allen Anwendungsfällen vollumfänglich übernimmt. Die vorstehenden Definitionen entsprechen den „Fünf Level des Autonomen Fahrens“ wie sie vom Verband der Deutschen Automobilindustrie, VDA, definiert sind. Anwendungsfall beinhaltet Straßentypen, Geschwindigkeitsbereich und Umwelt- beziehungsweise Umweltbedingungen.
  • Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug, insbesondere einen zum Durchführen der Schritte eines Fahrzeugs im erfindungsgemäßen Verfahren eingerichteten Personenkraftwagen mit Verbrennungs-, Elektro- oder Hybridmotor. Das Fahrzeug weist hierfür zumindest Sensoren zum Erfassen von Umgebungsdaten auf, über welche die Steuerungseinrichtungen des Steuerungssystems mit Daten für den autonomen Fahrbetrieb versorgt werden.
  • Ein weiterer Aspekt der Erfindung betrifft ein Computerprogramm, umfassend einen Programmcode zur Durchführung der Schritte eines solchen Verfahrens zum Betreiben eines zumindest teilautonom fahrenden Kraftfahrzeugs, wenn der Programmcode des Computerprogramms auf einem Computer ausgeführt wird.
  • Die Verfahrensschritte des erfindungsgemäßen Verfahrens können durch elektrische oder elektronische Bauteile oder Komponenten (Hardware), durch Firmware (ASIC) implementiert sein oder durch beim Ausführen eines geeigneten Programms (Software) verwirklicht werden. Ebenfalls bevorzugt wird das erfindungsgemäße Verfahren durch eine Kombination von Hardware, Firmware und/oder Software verwirklicht, beziehungsweise implementiert. Beispielsweise sind einzelne Komponenten zum Durchführen einzelner Verfahrensschritte als separat integrierter Schaltkreis ausgebildet oder auf einem gemeinsamen integrierten Schaltkreis angeordnet. Einzelne zum Durchführen einzelner Verfahrensschritte eingerichtete Komponenten sind ferner bevorzugt auf einem (flexiblen) gedruckten Schaltungsträger (FPCB/PCB), einem Tape Carrier Package (TCP) oder einem anderen Substrat angeordnet.
  • Die einzelnen Verfahrensschritte des erfindungsgemäßen Verfahrens sind ferner bevorzugt als ein oder mehrere Prozesse ausgebildet, die auf einem oder mehreren Prozessoren in einem oder mehreren elektronischen Rechengeräten laufen und beim Ausführen von ein oder mehreren Computerprogrammen erzeugt werden. Die Rechengeräte sind dabei bevorzugt dazu ausgebildet, mit anderen Komponenten, beispielsweise einem Kommunikationsmodul, sowie ein oder mehreren Sensoren beziehungsweise Kameras zusammenzuarbeiten, um die hierin beschriebenen Funktionalitäten zu verwirklichen. Die Anweisungen der Computerprogramme sind dabei bevorzugt in einem Speicher abgelegt, wie beispielsweise einem RAM-Element. Die Computerprogramme können jedoch auch in einem nicht-flüchtigen Speichermedium, wie beispielsweise einer CD-ROM, einem Flash-Speicher oder dergleichen abgelegt sein.
  • Dem Fachmann ist ferner ersichtlich, dass die Funktionalitäten von mehreren Computern (Datenverarbeitungsgeräten) kombiniert oder in einem einzigen Gerät kombiniert sein können oder dass die Funktionalität von einem bestimmten Datenverarbeitungsgerät auf eine Vielzahl von Geräten verteilt vorliegen kann, um die Schritte des erfindungsgemäßen Verfahrens auszuführen, ohne von dem erfindungsgemäßen Verfahren abzuweichen.
  • Die verschiedenen in dieser Anmeldung genannten Ausführungsformen der Erfindung sind, sofern im Einzelfall nicht anders ausgeführt, mit Vorteil miteinander kombinierbar.
  • Die Erfindung wird nachfolgend in Ausführungsbeispielen anhand der zugehörigen Zeichnungen erläutert. Es zeigen:
    • 1 eine schematische Darstellung eines erfindungsgemäßen Systems aus einem erfindungsgemäßen Kraftfahrzeug mit Sensoren und einer Steuerungseinrichtung zur Durchführung eines zumindest teilautonomen Fahrbetriebs des Kraftfahrzeugs.
    • 2 ein erfindungsgemäßes Steuerungssystem mit mehreren Steuerungseinheiten, welche mehrere Programmcodes zur Steuerung eines zumindest teilautonomen Fahrbetriebs ausführen.
    • 3 ein erfindungsgemäßes Steuerungssystem mit mehreren Steuerungseinheiten, bei einem Ausfall einer Steuerungseinheit oder dem Absturz eines Programmcodes, wobei die ausgefallene Funktion durch einen redundanten Programmcode auf einer anderen Steuerungseinrichtung übernommen wird.
    • 4 ein Ablaufdiagramm zum Erreichen einer möglichst hohen Zielerreichungsebene bei der Ausführung eines erfindungsgemäßen Verfahrens; und
    • 5 weitere Ablaufdiagramm zum Erreichen einer möglichst hohen Zielerreichungsebene bei einem Programmabsturz eines Programmcodes und/oder Ausfall einer Steuerungseinheit.
  • 1 zeigt eine schematische Darstellung, insbesondere ein Blockdiagramm eines beispielhaften Kraftfahrzeugs 1, insbesondere eines zweispurigen Fahrzeugs mit Verbrennungs-, Elektro- oder Hybridmotor. Das Kraftfahrzeug 1 umfasst eine Vielzahl erster Sensoren, insbesondere einen ersten Sensor 52, einen zweiten Sensor 54, und einen dritten Sensor 56. Die ersten Sensoren 52, 54, 56 sind eingerichtet zum Erfassen von Umgebungsdaten des Kraftfahrzeugs 1 und umfassen beispielsweise eine Kamera zum Erfassen eines Bildes einer das Kraftfahrzeug 1 unmittelbar umgebenden Umwelt, Abstandssensoren, wie beispielsweise Ultraschallsensoren oder LIDAR, zum Erfassen von Abständen zu das Kraftfahrzeug 1 umgebenden Objekten. Die ersten Sensoren 52, 54, 56 übertragen die von ihnen erfassten Umgebungssignale an Steuereinheiten 12, 14, 16, 18 eines Steuerungssystem 10 des Kraftfahrzeugs 1.
  • Das Kraftfahrzeug 1 weist ferner eine Mehrzahl zweiter Sensoren, insbesondere einen vierten Sensor 58, einen fünften Sensor 60, und einen sechsten Sensor 62 auf. Bei den zweiten Sensoren 58, 60 ,62 handelt es sich um Sensoren zum Ermitteln von das Kraftfahrzeug 1 selbst betreffenden Zustandsdaten, wie beispielsweise aktuelle Lage- und Bewegungsinformationen des Fahrzeugs. Bei den zweiten Sensoren handelt es sich folglich beispielsweise um Geschwindigkeitssensoren, Beschleunigungssensoren, Neigungssensoren, Sensoren zum Messen einer Eintauchtiefe eines Stoßdämpfers, Raddrehzahlsensoren oder dergleichen. Die zweiten Sensoren 58, 60, 62 übermitteln die von ihnen erfassten Zustandssignale an die Steuereinheiten des Kraftfahrzeugs 1. Insbesondere übermitteln die zweiten Sensoren 58, 60, 62 ihre Messergebnisse unmittelbar an eine Steuereinheit 12, 14, 16, 18 des Steuerungssystem 10 des Kraftfahrzeugs 1.
  • Das Kraftfahrzeug 1 weist ferner das Steuerungssystem 10 auf, das zum vollständig automatischen Fahrbetrieb, insbesondere zur autonomen Längs- und Querführung, des Kraftfahrzeugs 1 eingerichtet ist. Das Steuerungssystem 10 weist ein Navigationsmodul 64 auf, das zum Berechnen von Routen zwischen einem Start- und einem Zielpunkt und zum Ermitteln der entlang dieser Route vom Kraftfahrzeug 1 durchzuführenden Manöver eingerichtet ist. Das Navigationsmodul 64 ist ferner bevorzugt zum Durchführen spezifischer Manöver des Kraftfahrzeugs 1 ausgebildet, wie beispielsweise Einpark- und Ausparkmanöver. Darüber hinaus umfasst das Steuerungssystem 10 einen internen Speicher 66, der mit dem Navigationsmodul 64 kommuniziert, beispielsweise über einen geeigneten Datenbus. Auf dem internen Speicher 66 sind insbesondere ein Modell, ein neuronales Netz und/oder eine Zielfunktion gespeichert, die zumindest teilweise auf maschinellem Lernen basieren. Ferner sind in dem internen Speicher 66 Funktionsdaten für das Modell, das neuronale Netz und/oder die Zielfunktion als Funktionsdatensatz gespeichert. Die Funktionalität des Steuerungssystems 10 wird bevorzugt von einer Steuereinheit kontrolliert und besonders in Abhängigkeit einer Lizenzstufe des Kraftfahrzeugs 1 freigeschaltet.
  • Das Steuerungssystem 10 ist zur Durchführung der Schritte des Kraftfahrzeugs 1 im erfindungsgemäßen Verfahren eingerichtet. Dabei führt das Steuerungssystem 10 mittels der Steuerungseinheiten 12, 14, 16, 18 durch oder steuert die anderen Komponenten des Kraftfahrzeugs 1 entsprechend an. Hierzu verfügen die Steuereinheiten 12, 14, 16, 18 jeweils über einen internen Speicher 66 und eine CPU 68, welche miteinander kommunizieren, beispielsweise über einen geeigneten Datenbus. Darüber hinaus stehen die Steuereinheiten 12, 14, 16, 18 des Steuerungssystems 10 in Kommunikationsverbindung mit zumindest den ersten Sensoren 52, 54, 56 und den zweiten Sensoren 58, 60, 62, sowie ggf. weiteren Steuereinrichtungen des Kraftfahrzeuges, beispielweise zur Steuerung der Heizung oder Klimatisierung des Kraftfahrzeuges, eines Radios, Navigationssystems oder sonstiger Informations- oder Unterhaltungssysteme. Die Kommunikation erfolgt beispielsweise über eine oder mehrere jeweilige CAN-Verbindungen, eine oder mehrere jeweilige SPI-Verbindungen, oder andere geeignete Datenverbindungen.
  • 2 zeigt eine schematische Konfiguration eines Steuerungssystems 10 zur Steuerung eines zumindest teilautonomen, vorzugsweise vollautonomen Kraftfahrzeugs 1. Das Steuerungssystem 10 umfasst vier Steuereinheiten 12, 14, 16, 18, von denen jeweils mindestens ein Programmcode 20, 22, 24, 26, 28, 30 zur Durchführung eines teilautonomen oder vollautonomen Fahrbetriebs des Kraftfahrzeugs 1 ausgeführt wird. Dabei ist jeder Programmcode 20, 22, 24, 26, 28, 30 redundant auf zwei unterschiedlichen Steuerungseinheiten 12, 14, 16, 18 appliziert. Dabei wird jeweils ein Programmcode 20a, 22a, 24a, 26a, 28a, 30a aktiv durch eine Steuerungseinheit 12, 14, 16, 18 ausgeführt und zur Steuerung des Kraftfahrzeuges 1 ausgewertet, während das jeweils redundante Programm 20p, 22p, 24p, 26p, 28p, 30p passiv verbleibt und erst dann in die Steuerung des Kraftfahrzeugs 1 integriert wird, wenn das ehemals aktive Programm 20a, 22a, 24a, 26a, 28a, 30a aufgrund eines Fehlers oder eines Ausfalls der jeweiligen Steuerungseinheit 12, 14, 16, 18 nicht mehr zur Steuerung des Kraftfahrzeugs 1 ausgewertet werden kann.
  • Während des Betriebs eines Kraftfahrzeugs 1 kann sich die Platzierung der Programmcodes 20, 22, 24, 26, 28, 30 mehrmals ändern. Beispielsweise kann es nach Ereignissen wie dem Fehler einer Steuerungseinheit 12, 14, 16, 18 oder dem Fehler einer Anwendungsinstanz erforderlich sein, zu einer neuen Anwendungsplatzierung zu wechseln. Neben diesen Ereignissen kann auch das Erkennen einer möglichen Optimierungsmöglichkeit das Umschalten auf eine neue Steuerungseinheit 12, 14, 16, 18 auslösen. In 3 ist ein solcher Fall am Beispiel eines Ausfalls der zweiten Steuerungseinheit 14 dargestellt. Der dritte Programmcode 24a wurde im Ausgangszustand durch die zweite Steuerungseinheit 14 ausgeführt. Nach einem Ausfall dieser zweiten Steuerungseinheit 14 oder einem Programmabsturz des bislang aktiv auf dem zweiten Steuergerät 14 ausgeführten dritten Programmcodes 24a wird der dritte Programmcode 24p auf der dritten Steuerungseinheit 16 aktiviert und für die weitere Steuerung des Kraftfahrzeugs 1 ausgewertet. Dadurch können dramatische Fahrsituationen durch eine fehlende Steuerung des Kraftfahrzeugs 1 vermieden werden.
  • Um eine Optimierung der aktiven Programmcodes 20a, 22a, 24a, 26a, 28a, 30a zu ermöglichen, ist es notwendig, die aktuelle Fahrsituation und die aktuelle Leistungsfähigkeit des Steuerungssystems 10 zu kennen. Dabei wird systembeding auf die Leistungsfähigkeit aller Softwareanwendungen 20, 22, 24, 26, 28, 30, aller Steuerungseinrichtungen 12, 14, 16, 18 und anderer Hardware, insbesondere den Sensoren 52, 54, 56, 58, 60, 62 Bezug genommen.
  • Die folgenden Beispiele veranschaulichen diese Abhängigkeit:
    • Nehmen Sie an, dass das Kraftfahrzeug 1 ein elektrisch angetriebenes Automobil ist, welches einen Passagier zu einer wichtigen Besprechung fährt und der Akku des Kraftfahrzeugs 1 fast leer ist. In einer solchen Situation ist das Ziel der pünktlichen Ankunft am gewünschten Zielort wichtiger als die Unterhaltung des Passagiers. Um die Reichweite des Kraftfahrzeugs 1 zu vergrößern, können daher alle Anwendungen gestoppt werden, die dem Zweck der Unterhaltung dienen. Infolgedessen können einige Steuerungseinrichtungen 12, 14, 16, 18 heruntergefahren werden, was Energie spart.
  • Stellen Sie sich ein Kraftfahrzeug 1 vor, das im Stau steckt. Da sich das Kraftfahrzeug 1 kaum bewegt, können redundante Instanzen von Fahrfunktionen gestoppt werden. Daher werden Ressourcen freigegeben, mit denen beispielsweise eine Anwendung ausgeführt werden kann, die zur Verbesserung des Verkehrsflusses beiträgt.
  • Aufgrund eines Systemabsturzes funktionierte die Hälfte der im Kraftfahrzeug installierten Steuereinrichtungen 12, 14, 16, 18 nicht mehr. Da die verbleibenden Steuereinrichtungen 12, 14, 16, 18 nicht genügend Ressourcen bereitstellen, um alle Programmcodes 20, 22, 24, 26, 28, 30 der Anwendungen auszuführen, die vor dem Absturz ausgeführt wurden, muss ein neuer Anwendungsplatzierungsplan berechnet werden. Ziel der Platzierungsoptimierung ist es, alle Anwendungen abzubilden, die notwendig sind, um das Kraftfahrzeug 1 sicher zum Stehen zu bringen, um die Sicherheit der Fahrgäste und anderer Verkehrsteilnehmer zu gewährleisten.
  • Um eine Optimierung der Anwendungsplatzierung basierend auf dem aktuellen Kontext zu ermöglichen, fügen wir eine Ebene über dem Konfigurationsdiagramm hinzu. Diese Schicht unterteilt den Konfigurationsgraphen in mehrere Zielerreichungsebenen 42, 44, 46 48, 50. Die Zielerreichungsebenen 42, 44, 46, 48, 50 sind so definiert, dass die Sicherheit und Verfügbarkeit des Systems mit zunehmender Zielerreichungsebene 42, 44, 46, 48, 50 zunimmt. Daher kann die Zielerreichungsebenen 50 als die „beste“ Zielerreichungsebene angesehen werden, was bedeutet, dass diese Zielerreichungsebene 50 die am meisten gewünschte ist. Andererseits ist die Zielerreichungsebenen 42 das „schlechteste“ Level. Da in diesem Level die Mindestsicherheitsanforderungen nicht mehr erfüllt werden können, muss ein Fail-Safe-System 40 die Kontrolle über das Kraftfahrzeug 1 übernehmen und es sicher zum Stehen bringen.
  • Für jede Zielerreichungsebene 42, 44, 46, 48, 50 sind Eigenschaften (z. B. minimale Redundanzanforderungen) definiert, die eine Anwendungsplatzierung dieser Ebene erfüllen muss. Darüber hinaus müssen die Zielerreichungsebenen 42, 44, 46, 48, 50 aufeinander aufbauen, d. h. eine Anwendungsplatzierung der Zielerreichungsebene x muss auch die Eigenschaften erfüllen, die für alle Zielerreichungsebenen y erforderlich sind, wobei 1 <= y <x. Ein weiteres Kriterium, das bei der Definition der Zielerreichungsebenen 42, 44, 46, 48, 50 berücksichtigt werden muss, ist, dass Kanten (daran erinnern, dass Kanten Ereignissen entsprechen) nicht mehr als eine Ebenengrenze zwischen zwei Zielerreichungsebenen 42, 44, 46, 48, 50 überschneiden dürfen. Dies bedeutet, dass ausgeschlossen werden muss, dass ein auftretendes Ereignis (z. B. der Fehler einer Steuerungseinrichtung 12, 14, 16, 18) eine Verschlechterung der Zielerreichungsebene 42, 44, 46, 48, 50 um zwei oder mehr Zielerreichungsebenen 42, 44, 46, 48, 50 verursacht. Daher kann ein Ereignis nur einen Abfall auf den Pegel unterhalb des aktuellen Pegels verursachen, d. h. Sprünge auf mehreren Zielerreichungsebenen 42, 44, 46, 48, 50 sind nicht zulässig.
  • Darüber hinaus definieren wir für jede Zielerreichungsebene 42, 44, 46, 48, 50 eine Zielfunktion. Wie bereits erwähnt, ist Level N das am meisten gewünschte Level. Daher ist es das Ziel aller anderen Zielerreichungsebenen 42, 44, 46, 48, die Zielerreichungsebene N 50 so schnell wie möglich zu erreichen. Dies kann durch eine Zielfunktion erreicht werden, die die Platzierung von ausgeführten Programmcodes 20, 22, 24, 26, 28, 30 priorisiert und so viele Eigenschaften erfüllt, wie von der nächsten Zielerreichungsebene 44, 46, 48, 50 gefordert werden. Sobald die Zielerreichungsebene N 50 erreicht ist, kann die Anwendungsplatzierung basierend auf der aktuellen Fahrsituation optimiert werden. Eine solche Optimierung ist in 4 veranschaulicht.
  • Wenn eine Anwendungsinstanz ausfällt, wird die Anzahl der Instanzen des entsprechenden Programmcodes 20, 22, 24, 26, 28, 30 um 1 verringert. Wenn die Anzahl der ausgeführten Programmcodes 20, 22, 24, 26, 28, 30 genau mit der minimal erforderlichen Anzahl von Instanzen der Zielerreichungsebene N übereinstimmt, wird das Steuerungssystem 10 auf die Zielerreichungsebene N - 1 zurückgesetzt. Andernfalls, d.h. falls die Anwendung die minimal erforderliche Anzahl von Instanzen überschreitet, verbleibt das System auf Ebene N.
  • Ein Fehler in der Laufzeitumgebung führt dazu, dass alle in der Laufzeitumgebung ausgeführten Anwendungsinstanzen ebenfalls fehlschlagen. Da für jeden ausgeführten Programmcode 20, 22, 24, 26, 28, 30 die minimale Ebene der Hardwaresegregation gleich der minimalen Anzahl von Anwendungsinstanzen ist, können wir davon ausgehen, dass für Anwendungen, die genau den minimalen Anforderungen der Zielerreichungsebene N entsprechen, höchstens eine Instanz vom Laufzeitumgebungsfehler betroffen ist. Daher kann diese Art von Fehler auf den Fehler einer Anwendungsinstanz reduziert werden. Wie wir bereits zuvor dargelegt haben, vermeidet unser Ansatz Sprünge auf mehreren Zielerreichungsebenen 42, 44, 46, 48, 50, falls eine Anwendungsinstanz ausfällt. Daher sind mehrstufige Sprünge auch im Falle eines Laufzeitumgebungsfehlers ausgeschlossen.
  • Ein Fehler einer Steuerungseinrichtung 12, 14, 16, 18 führt dazu, dass alle von dieser Steuerungseinrichtung 12, 14, 16, 18 ausgeführten Anwendungsinstanzen ebenfalls fehlschlagen. Wie bereits erwähnt, entspricht die minimale Ebene der Hardwaresegregation für jede Anwendung der minimalen Anzahl von Anwendungsinstanzen. Wir können daher davon ausgehen, dass für Anwendungen, die genau den Mindestanforderungen der Stufe N entsprechen, höchstens eine Instanz vom Fehler der Steuerungseinrichtung 12, 14, 16, 18 betroffen ist. Daher kann diese Art von Fehler auf den Fehler einer Anwendungsinstanz reduziert werden. Somit sind Mehrstufensprünge bei der Zielerreichungsebene auch im Falle eines Ausfalls einer Steuerungseinrichtung 12, 14, 16, 18 ausgeschlossen.
  • 5 beschreibt die Ausführung eines erfindungsgemäßen Verfahrens an einem Kraftfahrzeug 1 mit sechs Steuerungseinrichtungen 12, 14, 16, 18, 70, 72. Dabei werden insgesamt werden vier unterschiedliche Programmcodes 20, 22, 24, 26 vom Steuerungssystem 10 ausgeführt, wobei die Anwendungen den folgenden Prioritätsklassen angehören:
    • • am höchsten: erster Programmcode 20
    • • hoch: zweiter Programmcode 22
    • • mittel: dritter Programmcode 24
    • • niedrig: vierter Programmcode 26.
  • In der Anfangskonfiguration befindet sich das Steuerungssystem 10 in einem optimalen Zustand, da es alle Anforderungen der Zielerreichungsebene 5 erfüllt. Als Nächstes gehen wir, wie in 5b) dargestellt, davon aus, dass die aktive Instanz von Programmcode 20a ausfällt. Durch eine Umstellung auf eine der passiven Instanzen von Programmcode 20p kann ein Totalverlust von Programmcode 20 vermieden werden.
  • Da die Zielerreichungsebene 5 erfordert, dass für jede Anwendung mit der höchsten Priorität die minimale Anzahl von Instanzen sowie die minimale Ebene der Hardwaresegregation vier beträgt, führt ein Ausfall des aktiven Programmcodes 20a dazu, dass eine aktive Anwendungsinstanz fehlt, um die Anforderungen von Zielerreichungsebene 5 zu erfüllen. Daher ist die Nachfolgekonfiguration kein Element von Zielerreichungsebene 5, sondern ein Element von Zielerreichungsebene 4.
  • Wie bereits erwähnt, besteht das Ziel aller nicht optimalen Zielerreichungsebenen 42, 44, 46, 48 darin, Wiederherstellungsvorgänge durchzuführen, damit das Steuerungssystem 10 die höchstmögliche Zielerreichungsebene 50 erreicht. Wie in 5c) dargestellt, kann die Zielerreichungsebene 5 wiederhergestellt werden, indem eine neue passive Instanz 20p von Programmcode 20 gestartet wird.
  • Sobald sich das Steuerungssystem wieder in der Zielerreichungsebene 5 befindet, können Optimierungen basierend auf den aktuellen Fahrsituationen durchgeführt werden. Unter der Annahme, dass das Ziel darin besteht, die Reichweite des Fahrzeugs zu vergrößern, wird ein Wechsel zu einer Anwendungsplatzierung bevorzugt, die nur eine Teilmenge aller verfügbaren Steuerungseinrichtungen 12, 14, 16, 18, 70, 72 verwendet. Daher wird, wie in 5d) dargestellt, die aktive Instanz 26a von Programmcode 26 auf eine andere Steuerungseinheit 18 verschoben, so dass die Steuerungseinheit 70 heruntergefahren werden kann. Abgesehen von dieser Optimierung können weitere Energiesparmaßnahmen durchgeführt werden, solange sich das Steuerungssystem 10 auf der Zielerreichungsebene 5 befindet.
  • Bezugszeichenliste
  • 1
    Kraftfahrzeug
    10
    Steuerungssystem
    12
    erste Steuereinheit
    14
    zweite Steuereinheit
    16
    dritte Steuereinheit
    18
    vierte Steuereinheit
    20
    erster Programmcode
    22
    zweiter Programmcode
    24
    dritter Programmcode
    26
    vierter Programmcode
    28
    fünfter Programmcode
    30
    sechster Programmcode
    32
    niedrigstes Gewichtungslevel
    34
    mittleres Gewichtungslevel
    36
    hohes Gewichtungslevel
    38
    höchstes Gewichtungslevel
    40
    Fail-Safe-System
    42
    erste Zielerreichungsebene
    44
    zweite Zielerreichungsebene
    46
    dritte Zielerreichungsebene
    48
    vierte Zielerreichungsebene
    50
    fünfte Zielerreichungsebene
    52
    erster Sensor
    54
    zweiter Sensor
    56
    dritter Sensor
    58
    vierter Sensor
    60
    fünfter Sensor
    62
    sechster Sensor
    64
    Navigationsmodul
    66
    interner Speicher
    68
    CPU
    70
    fünfte Steuereinheit
    72
    sechste Steuereinheit
    100
    Computerprogramm

Claims (14)

  1. Verfahren zum Betrieb eines selbstfahrenden Kraftfahrzeugs (1), aufweisend eine Mehrzahl an Steuereinheiten (12, 14, 16, 18) und eine Mehrzahl von Programmcodes (20, 22, 24, 26, 28, 30) zur Steuerung der Funktion des autonomen Fahrens und gegebenenfalls weiterer Funktionen des selbstfahrenden Fahrzeugs (1), wobei mehrere für einen autonomen Fahrbetrieb genutzte Programmcodes (20, 22, 24, 26, 28, 30) redundant auf mindestens zwei unterschiedlichen Steuereinheiten (12, 14, 16, 18) appliziert sind, wobei das Verfahren folgende Verfahrensschritte aufweist: • Betrieb des selbstfahrenden Kraftfahrzeugs (1) in einem zumindest teilautonomen Fahrbetrieb, • Ermitteln der Funktionen des selbstfahrenden Kraftfahrzeugs (1) zur Erfüllung der Passagierwünsche, • Gewichten der Funktionen in Abhängigkeit ihrer Bedeutung zur Erreichung der Passagierwünsche in mindestens zwei Gewichtungslevels (32, 34, 36, 38), • Abschalten von mindestens einer Funktion eines unteren Gewichtungslevels (32), wenn die verfügbaren Ressourcen an funktionsbereiten Steuereinheiten (12, 14, 16, 18) und/oder das Energieniveau des selbstfahrenden Kraftfahrzeugs (1) nicht ausreichend ist, um einen Programmcode (20, 22, 24, 26, 28, 30) zur Ausführung dieser Funktion des unteren Gewichtungslevels (32) auszuführen, • wobei die Redundanzen von Funktionen der unteren Gewichtungslevel (32, 34) reduziert werden und die dadurch freiwerdende Rechenleistung auf den Steuereinheiten (12, 14, 16, 18) den Funktionen der höheren Gewichtungslevel (36, 38) zugewiesen werden.
  2. Verfahren nach Anspruch 1, wobei die Steuerung das Kraftfahrzeug (1) durch ein Fail-Safe-System (50) übernommen wird, wenn mindestens ein Programmcode (20, 22, 24, 26, 28, 30) zur Erfüllung einer Funktion des höchsten Gewichtungslevels (38) nicht mehr ausgeführt werden kann.
  3. Verfahren nach Anspruch 2, wobei das Kraftfahrzeug (1) durch das Fail-Safe-System (40) zum Stillstand gebracht wird und/oder an den nächstliegenden sicheren Haltepunkt gesteuert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei für jede Funktionen eine minimale Anzahl an Redundanzen festgelegt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei für jede Funktion eine minimale Anzahl an unterschiedlichen Steuereinrichtungen (12, 14, 16, 18) festgelegt wird, auf welchen die unterschiedlichen Funktionen redundant ausgeführt werden.
  6. Verfahren nach Anspruch 5, wobei die Funktionen eines höheren Gewichtungslevels (34, 36, 38) mit mehr Redundanzen ausgebildet werden als die Funktionen eines niedrigeren Gewichtungslevels (32, 34, 36).
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Steuerungssystem (10) mehrere Zielerreichungsebenen (42, 44, 46, 48, 50) definiert, wobei bei einem Zielerreichungsgrad unterhalb der Anforderungen für die zweite Zielerreichungsebene (44) das Fail-Safe-System (40) die Steuerung des Kraftfahrzeuges (1) übernimmt.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei bei einem Erreichen der obersten Zielerreichungsebenen (50) sämtliche Funktionen des höchsten Gewichtungslevels (38) mindestens einfach redundant auf unterschiedlichen Steuerungseinrichtungen (12, 14, 16, 18) ausgeführt werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die Rechenleistung der Steuereinrichtungen (12, 14, 16, 18) den Programmcodes (20, 22, 24, 26, 28, 30) zur Durchführung der jeweiligen Funktionen derart zugewiesen wird, dass eine möglichst hohe Zielerreichungsebenen (42, 44, 46, 48, 50) erreicht wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei in einem Ausgangszustand der Steuerungseinrichtung (10) die höchste Zielerreichungsebene (50) erreicht wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei das Steuerungssystem (10) fünf unterschiedliche Zielerreichungsebenen (42, 44, 46, 48, 50) definiert, wobei - auf der ersten Zielerreichungsebene (42) die Funktionen nur derart unzureichend abgebildet werden können, dass das Fail-Safe-System (40) die Steuerung des Kraftfahrzeuges übernimmt, - auf der zweiten Zielerreichungsebene (44) zumindest jede Funktion des höchsten Gewichtungslevels (38) einfach redundant auf zwei unterschiedlichen Steuerungseinheiten (12, 14, 16, 18) ausgeführt wird, - auf der dritten Zielerreichungsebene (46) jede Funktion des höchsten Gewichtungslevels (38) mindestens einfach redundant und die Funktionen des höchsten Gewichtungslevels (38) auf mindestens drei unterschiedliche Steuereinheiten (12, 14, 16, 18) aufgeteilt ausgeführt werden und die Funktionen des zweithöchsten Gewichtungslevels (36) zumindest redundant ausgeführt werden, - auf der vierten Zielerreichungsebene (48) jede Funktion des höchsten Gewichtungslevels (38) mindestens einfach redundant und die Funktionen des höchsten Gewichtungslevels (38) auf mindestens vier unterschiedliche Steuereinheiten (12, 14, 16, 18) verteilt ausgeführt werden und die Funktionen des zweithöchsten Gewichtungslevels (36) und des dritthöchsten Gewichtungslevels mindestens einfach redundant ausgeführt werden, und - auf der fünften Zielerreichungsebene (50) sämtliche Funktionen ausgeführt werden, wobei die Funktionen des mittleren, höheren und höchsten Gewichtungslevels (34, 36, 38) zumindest redundant und auf mehrere Steuerungseinrichtungen (12, 14, 16, 18) verteilt ausgeführt werden.
  12. Steuerungssystem (10), umfassend mehrere Steuereinrichtungen (12, 14, 16, 18), wobei das Steuerungssystem (10) dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen, wenn mehrere maschinenlesbare Programmcodes (20, 22, 24, 26, 28, 30) durch mindestens zwei Steuereinrichtung (12, 14, 16, 18) des Steuerungssystems (10) ausgeführt werden.
  13. Kraftfahrzeug (1), aufweisend ein zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 11 eingerichtetes Steuerungssystem (10).
  14. Computerprogramm (100) mit einem Programmcode zur Durchführung der Schritte eines Verfahrens nach einem der Ansprüche 1 bis 11, wenn der Programmcode auf einem Computer ausgeführt wird.
DE102019218718.8A 2019-12-02 2019-12-02 Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug Active DE102019218718B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102019218718.8A DE102019218718B4 (de) 2019-12-02 2019-12-02 Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug
US17/105,429 US11472423B2 (en) 2019-12-02 2020-11-25 System for controlling a self-driving vehicle
CN202011392811.2A CN112977468A (zh) 2019-12-02 2020-12-02 用于控制自动驾驶的车辆的运行的控制系统以及机动车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019218718.8A DE102019218718B4 (de) 2019-12-02 2019-12-02 Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug

Publications (2)

Publication Number Publication Date
DE102019218718A1 DE102019218718A1 (de) 2021-06-02
DE102019218718B4 true DE102019218718B4 (de) 2023-11-16

Family

ID=75896622

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019218718.8A Active DE102019218718B4 (de) 2019-12-02 2019-12-02 Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug

Country Status (3)

Country Link
US (1) US11472423B2 (de)
CN (1) CN112977468A (de)
DE (1) DE102019218718B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114274976B (zh) * 2021-12-27 2023-09-12 广西汽车集团有限公司 一种自动驾驶程序崩溃后的接管算法模块和方法
DE102022202068A1 (de) 2022-03-01 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Bestimmen einer E/E-Architektur eines Fahrzeugs
CN117565885A (zh) * 2024-01-17 2024-02-20 中国第一汽车股份有限公司 一种自动驾驶横向控制系统和车辆

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550736A (en) 1993-04-27 1996-08-27 Honeywell Inc. Fail-operational fault tolerant flight critical computer architecture and monitoring method
DE10142511A1 (de) 2001-08-30 2003-04-03 Daimler Chrysler Ag Fehlerbehandlung von Softwaremodulen
WO2005055056A1 (de) 2003-12-06 2005-06-16 Daimlerchrysler Ag Laden von software-modulen
DE102005013440A1 (de) 2005-03-21 2006-10-05 Daimlerchrysler Ag Stromversorgungsschaltung für ein Kraftfahrzeug mit hochsicherheitsrelevanten elektrischen Verbrauchern
DE102011086530A1 (de) 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
US8560609B2 (en) 1997-08-26 2013-10-15 Paxgrid Telemetric Systems, Inc Automotive telemetry protocol
US9648023B2 (en) 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
DE102018201119A1 (de) 2018-01-24 2019-07-25 Robert Bosch Gmbh Verfahren zum Überwachen der Energieversorgung eines Kraftfahrzeugs mit automatisierter Fahrfunktion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760080B2 (en) 2000-09-08 2010-07-20 Automotive Technologies International, Inc. Tire monitoring with passive and active modes
US7808892B1 (en) 2006-11-21 2010-10-05 Meteorcomm, Llc Redundant data distribution systems and methods
CN101857008B (zh) 2010-04-29 2011-09-28 路军 一种车用主动式智能安全监控仪器
WO2013074866A1 (en) 2011-11-16 2013-05-23 Flextronics Ap, Llc Feature recognition for configuring a vehicle console and associated devices
US9566986B1 (en) * 2015-09-25 2017-02-14 International Business Machines Corporation Controlling driving modes of self-driving vehicles
WO2017127639A1 (en) 2016-01-20 2017-07-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
JP6519555B2 (ja) * 2016-08-26 2019-05-29 トヨタ自動車株式会社 情報処理装置
US10627812B2 (en) * 2017-02-14 2020-04-21 Honda Research Institute Europe Gmbh Risk based driver assistance for approaching intersections of limited visibility
US10551838B2 (en) * 2017-08-08 2020-02-04 Nio Usa, Inc. Method and system for multiple sensor correlation diagnostic and sensor fusion/DNN monitor for autonomous driving application
GB2613740B (en) * 2018-10-30 2023-12-06 Motional Ad Llc Redundancy in autonomous vehicles

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550736A (en) 1993-04-27 1996-08-27 Honeywell Inc. Fail-operational fault tolerant flight critical computer architecture and monitoring method
US8560609B2 (en) 1997-08-26 2013-10-15 Paxgrid Telemetric Systems, Inc Automotive telemetry protocol
DE10142511A1 (de) 2001-08-30 2003-04-03 Daimler Chrysler Ag Fehlerbehandlung von Softwaremodulen
WO2005055056A1 (de) 2003-12-06 2005-06-16 Daimlerchrysler Ag Laden von software-modulen
DE102005013440A1 (de) 2005-03-21 2006-10-05 Daimlerchrysler Ag Stromversorgungsschaltung für ein Kraftfahrzeug mit hochsicherheitsrelevanten elektrischen Verbrauchern
DE102011086530A1 (de) 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
US9648023B2 (en) 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
DE102018201119A1 (de) 2018-01-24 2019-07-25 Robert Bosch Gmbh Verfahren zum Überwachen der Energieversorgung eines Kraftfahrzeugs mit automatisierter Fahrfunktion

Also Published As

Publication number Publication date
DE102019218718A1 (de) 2021-06-02
US11472423B2 (en) 2022-10-18
US20210237750A1 (en) 2021-08-05
CN112977468A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
DE102019218718B4 (de) Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug
DE10226143B4 (de) Verfahren zum Steuern eines Hybridantriebs bei einem Kraftfahrzeug
DE102015001971A1 (de) Verfahren und Überwachungsvorrichtung zur Überwachung von Fahrerassistenzsystemen
EP3584140B1 (de) Verfahren und vorrichtung für die steuerung eines sicherheitsrelevanten vorganges, sowie fahrzeug
WO2019228776A1 (de) Verfahren zur regelung der bewegung eines fahrzeugs und vorrichtung zur durchführung des verfahrens
WO2017148813A1 (de) Pedalsystem für ein zum zumindest teilautomatisierten fahren ausgebildetes fahrzeug
WO2017084951A1 (de) Verfahren und vorrichtung zum assistierten, teilautomatisierten, hochautomatisierten, vollautomatisierten oder fahrerlosen fahren eines kraftfahrzeuges
WO2021089307A1 (de) Vorrichtung zur steuerung eines automatisierten fahrbetriebs eines fahrzeugs
DE102017208462A1 (de) Verfahren und Vorrichtung zum Ermitteln von Betriebsdaten für ein automatisiertes Fahrzeug
DE102018130815A1 (de) Fahrassistenzsystem für ein Fahrzeug mit einem Sicherheitspfad für eine autonome Fahrt sowie Verfahren
DE102014221007A1 (de) Vorrichtung und Verfahren zum Betreiben eines Fahrzeugs
DE102017213496B4 (de) Verfahren und Steuervorrichtung zum fehlertoleranten Betrieb eines Kraftfahrzeugs
DE102019220160A1 (de) Verfahren zur dynamischen kontextbasierten Verteilung von Software in einem Steuerungssystem eines Fahrzeugs sowie ein Steuerungssystem
DE102019219464B3 (de) Verfahren zum Betrieb eines selbstfahrenden Fahrzeugs sowie Steuerungssystem zum Durchführen eines solchen Verfahrens
DE102020208293A1 (de) Verfahren und Vorrichtung zur autonomen Trajektorienführung für ein Ego-Fahrzeug
DE102019220162A1 (de) Verfahren zur dynamischen kontextbasierten Verteilung von Software in einem Steuerungssystem eines Fahrzeugs sowie ein Steuerungssystem
DE102016224511A1 (de) Verfahren zur Steuerung eines Roll- bzw. Segelmodus eines Fahrzeugs
DE102019219800A1 (de) Steuerungssystem für ein wenigstens teilweise automatisiertes Kraftfahrzeug und Verfahren zum Steuern eines wenigstens teilautomatisierten Kraftfahrzeugs
DE102019116375A1 (de) Einrichtung und Verfahren zum Ausführen zumindest einer Fahrzeugfunktion für ein Fahrzeug
EP4320021A1 (de) Verfahren zum betrieb eines assistenzsystems sowie assistenzsystem
DE102018210368B4 (de) Fahrerassistenzsystem, Fahrzeug, Verfahren zum Betreiben des Fahrerassistenzsystems, Computerprogramm und computerlesbares Speichermedium
DE102020000593A1 (de) Verfahren zum Betrieb eines Assistenzsystems
DE102020108635B4 (de) Fahrassistenzsystem und Fahrassistenzverfahren zum automatisierten Fahren eines Fahrzeugs
DE102019105525A1 (de) Steuergerät für ein fahrzeug
DE102021129193A1 (de) Fahrzeugsteuersystem mit Schnittstelleneinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division