-
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 die Anwendung solcher Assistenzsysteme geht die Autonomie des Fahrers bezüglich seiner Fahrentscheidungen zunehmend auf das Fahrzeug beziehungsweise in entsprechend operierende Steuereinheiten über. Am Ende dieser Entwicklungen steht ein selbstfahrendes Fahrzeug, welches ohne Eingriffe eines Menschen vollständig 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 Fahrassistenzsystem, welches hierfür in der Regel über Algorithmen, Modelle und Steuerfunktionen verfügt, die zumindest teilweise auf maschinellem Lernen (Künstliche 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 im Bereich der 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 dramatischen 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, eine Komforteinbuße bis hin zu einer Gefahr für die Fahrgäste des autonom fahrenden Kraftfahrzeugs 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 sowie komplexes Anwendungs-Platzierungs-Problem gelöst werden.
-
Gefährliche Situationen durch Software- oder Hardwarefehler können, wie bereits ausgeführt, durch redundantes Software-Design (teilweise) verhindert werden. Die Einführung redundanter Anwendungsinstanzen erhöht jedoch die Komplexität des Anwendungs-Platzierungs-Problems, 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 Hardware-Segregation 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 Hardware-Segregation bezüglich der Programme zu einem Verteilungsproblem.
-
Da die Anzahl von Softwareanwendungen, die zum Betreiben eines autonomen Fahrzeugs erforderlich sind, ziemlich hoch ist (ca. einige 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, jenen Mappings vorgezogen werden, die alle Rechenknoten nutzen, mit denen das Fahrzeug ausgestattet ist. Neben diesem Optimierungsziel sind diverse andere Zielfunktionen vorstellbar, 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.
-
Aus der US 2008 / 0 033 785 A1 ist ein Verfahren für den Service von Nutzfahrzeugen bekannt, wobei die Daten analysiert werden und in Abhängigkeit von der Analyse der Daten die Reihenfolge bei einer Serviceaktion festgelegt wird. Dabei werden die Daten in einer Recheneinheit des Nutzfahrzeuges gesammelt und an eine Servicestation übertragen.
-
Die US 2018 / 0 260 240 A1 offenbart eine Computereinheit auf der eine Real-Time-Kalkulation durchgeführt wird. Dabei ist die Computereinheit eine Mehrprozessor-Computereinheit, wobei unterschiedliche Programme gleichzeitig ausgeführt werden und den unterschiedlichen Prozessoren der Computereinheit zugeordnet werden.
-
Aus der
DE 10 2013 205 285 A1 ist ein Verfahren zur Rekonfiguration eines Steuerungssystems eines Kraftfahrzeugs bekannt. Dabei wird sichergestellt, dass das Kraftfahrzeug bei einer Störung oder einem Ausfall einer Steuereinheit betriebsfähig bleibt. Es ist vorgesehen, dass durch eine Bordeinheit des Kraftfahrzeugs eine erste Bord-Rekonfigurationsstrategie erzeugt und ausgeführt wird, um das Kraftfahrzeug auch mit verringertem Funktionsumfang sicher zum Stillstand zu bringen. Durch eine Fernzentraleinheit wird eine zweite Offline-Rekonfigurationsstrategie erzeugt und daraufhin durch die Bordeinheit ausgeführt, um das Kraftfahrzeug wieder in einem Betriebszustand mit normalem Funktionsumfang betreiben zu können.
-
Die
DE 10 2012 002 280 A1 offenbart eine Softwarearchitektur und ein Verfahren zur dynamischen Zuteilung einer Aufgabe in einer solchen Softwarearchitektur. Dabei wird eine fehlerhafte Komponente identifiziert und die durch die fehlerhafte Komponente ausgeführten Aufgaben einer Reservekomponente zugeordnet und durch diese ausgeführt.
-
Der Erfindung liegt nun 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 Erfindung betrifft ein Verfahren zum Betrieb eines selbstfahrenden Kraftfahrzeugs mit einer 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 werden die Funktionen oder der Funktionsumfang in Abhängigkeit vom Erreichen einer Zielerreichungsebene freigegeben. Dabei erfolgt die Zuordnung der aktiven Programmcodes zu den Steuereinheiten dynamisch in Abhängigkeit einer Priorisierung der entsprechenden Funktion. Somit kann die Rechenleistung entsprechend angepasst werden, um in Abhängigkeit der Gefährdungssituation stets eine hinreichend hohe Sicherheitsreserve bereitzustellen, sodass ein Ausfall einer Steuereinheit oder ein Fehler beim Ausführung eines Programmcodes ohne Gefährdung für die Insassen des Kraftfahrzeugs oder das Umfeld des Kraftfahrzeugs kompensiert werden kann. Da bei einem autonomen Fahrbetrieb die Systemanforderungen insbesondere mit der Fahrgeschwindigkeit und der Verkehrsdichte ansteigen, kann das Steuerungssystem bei niedrigen Fahrgeschwindigkeiten und/oder geringer Verkehrsdichte entsprechend energieeffizient und bei hoher Fahrgeschwindigkeit und/oder hoher Verkehrsdichte entsprechend maximaleffizient betrieben werden.
-
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 bevorzugter Ausgestaltung der Erfindung ist vorgesehen, dass der vollständige Funktionsumfang freigeben wird, wenn das Steuerungssystem die höchste Zielerreichungsebene erreicht. Dadurch kann das System bei autonomen Fahrbetrieb mit maximaler Leistung betrieben werden. So kann beispielsweise die maximale im autonomen Fahrbetrieb mögliche Fahrgeschwindigkeit nur auf der höchsten Zielerreichungsebene freigegeben werden und wird in niedrigeren Zielerreichungsebenen eingeschränkt.
-
In einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass für jede Funktion eine minimale Anzahl an Redundanzen festgelegt wird, um den vollen Funktionsumfang freizugeben. Dabei ist insbesondere vorgesehen, dass sicherheitsrelevante Funktionen eine höhere Priorität und einen höheren Gewichtungsfaktor aufweisen als Komfortfunktionen des Kraftfahrzeuges.
-
In weiterer bevorzugter Ausgestaltung der Erfindung ist vorgesehen, dass der jeweilige Programmcode zur Erfüllung der Funktion mit steigender Gewichtung der Funktion durch die leistungsstärkste, freie Steuereinheit ausgeführt wird. Dadurch kann die Reaktionsgeschwindigkeit des Steuerungssystems erhöht werden, wodurch beispielsweise bei höherem Fahrtempo schneller auf externe Störungen und gefährliche Verkehrssituationen reagiert werden kann.
-
In einer bevorzugten Ausführungsform des Verfahrens ist vorgesehen, dass für jede Funktion eine minimale Anzahl an unterschiedlichen Steuereinrichtungen festgelegt wird, auf welchen die unterschiedlichen Funktionen redundant ausgeführt werden. Durch die Verteilung der Programmcodes, insbesondere der sicherheitsrelevanten Programmcodes auf unterschiedliche Steuerungssysteme kann sichergestellt werden, dass selbst bei einem Ausfall einer kompletten Steuerungseinheit die Funktion weiterhin erfüllt werden kann und somit gefährliche Betriebssituationen funktionssicher vermieden werden.
-
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.
-
Gemäß einer vorteilhaften Ausgestaltung des Verfahrens ist vorgesehen, dass das Gewichtungslevel der Funktionen in Abhängigkeit von der Fahrgeschwindigkeit des autonom fahrenden Kraftfahrzeugs erfolgt. Durch eine Gewichtung der Funktionen in Abhängigkeit der Geschwindigkeit können die Fahrsicherheit und/oder der Fahrkomfort erhöht werden. So können insbesondere bei einem Stillstand des Kraftfahrzeugs die Komfortfunktionen betont werden, während mit zunehmender Fahrgeschwindigkeit weitere Redundanzen für die sicherheitsrelevanten Fahrfunktionen aufgebaut werden, um stets eine höchstmögliche Zielerreichungsebene zu erreichen.
-
Besonders bevorzugt ist dabei, dass eine Aktivierung zusätzlicher Steuereinheiten erfolgt, wenn die Anforderungen an die aktuelle Zielerreichungsebene nicht mehr erfüllt sind. Dadurch kann sichergestellt werden, dass das Steuerungssystem innerhalb eines kurzen Zeitintervalls wieder auf die aktuell höchstmögliche Zielerreichungsebene gebracht wird.
-
In einer bevorzugten Ausführungsform des Verfahrens ist vorgesehen, dass die Anzahl der notwendigen Redundanzen zur Erreichung einer definierten Zielerreichungsebene mit zunehmender Gewichtung der Funktion steigen. Somit kann sichergestellt werden, dass die im aktuellen Fahrbetrieb besonders wichtigen Funktionen entsprechende Priorität erhalten. Durch die Redundanzen ist sichergestellt, dass ein Ausfall eines Sensors oder einer Steuereinheit oder einer Fehlfunktion eines Programmcodes nicht zu einer gefährlichen Fahrsituation führt.
-
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 Steuerungseinrichtungen zur Reduzierung des Energieverbrauchs deaktiviert werden können, wenn die höchste Zielerreichungsebene erreicht ist.
-
In einer weiteren Verbesserung des Verfahrens ist vorgesehen, dass in einem Ausgangszustand der Steuerungseinrichtung 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.
-
Gemäß einer bevorzugten Ausgestaltung des Verfahrens ist vorgesehen, dass die Redundanzen von Funktionen der unteren Gewichtungslevel reduziert werden und die dadurch freiwerdende Rechenleistung auf den Steuereinheiten den Funktionen der höheren Gewichtungslevel zugewiesen werden. Dadurch kann der Energieverbrauch des Steuerungssystems reduziert und gegebenenfalls nicht mehr zur Zieleerreichung benötigte Steuerungseinrichtungen deaktiviert werden.
-
Besonders bevorzugt ist dabei, wenn die Steuereinheiten, auf welchen aktuell keine aktiven Programmcodes ausgeführt werden, abgeschaltet werden, um die Energieeffizienz des Steuerungssystems zu erhöhen. Durch das Abschalten einzelner Steuereinheiten können Reservekapazitäten bereitgehalten werden, welche bei einem Anstieg der Systemanforderungen wieder aktiviert werden können, um eine Funktionserfüllung auf der höchsten Zielerreichungsebene zu gewährleisten. Dabei werden die Steuereinheiten zum Energiesparen vorzugsweise in einen Stand-by-Modus geschaltet, aus welchem sie innerhalb kurzer Zeit wieder aktiviert werden können und voll betriebsfähig sind.
-
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 Steuereinrichtungen 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. Der jeweilige 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 einem oder mehreren Computerprogrammen erzeugt werden. Die Rechengeräte sind dabei bevorzugt dazu ausgebildet, mit anderen Komponenten, beispielsweise einem Kommunikationsmodul, sowie einem 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.
- 5 weitere Ablaufdiagramme zum Erreichen einer möglichst hohen Zielerreichungsebene bei einem Programmabsturz eines Programmcodes und/oder Ausfalls einer Steuerungseinheit.
- 6 ein Ablaufdiagramm zur dynamischen kontextbasierten Optimierung; und
- 7 eine maximale Fahrgeschwindigkeit in einem autonomen Fahrbetrieb in Abhängigkeit vom Erreichen der Zielerreichungsebene.
-
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 Steuerungssystems 10 des Kraftfahrzeugs 10.
-
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 Steuerungssystems 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 die Schritte des Verfahrens 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 systembedingt 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 Zielerreichungsebenenen 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 Zielerreichungsebene 50 als die „beste“ Zielerreichungsebene angesehen werden, was bedeutet, dass diese Zielerreichungsebene 50 die am meisten gewünschte ist. Andererseits ist die Zielerreichungsebene 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 Zielerrichungsebenen 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 Zielerrichungsebenen 42, 44, 46, 48, die Zielerreichungsebene 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 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 50 (N) übereinstimmt, wird das Steuerungssystem 10 auf die Zielerreichungsebene 48 (N-1) zurückgesetzt. Andernfalls, d.h. falls die Anwendung die minimal erforderliche Anzahl von Instanzen überschreitet, verbleibt das System auf Ebene 50 (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 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 50 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 50 zu erfüllen. Daher ist die Nachfolgekonfiguration kein Element von Zielerreichungsebene 50 (N), sondern ein Element von Zielerreichungsebene 48 (N-1).
-
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 50 wiederhergestellt werden, indem eine neue passive Instanz 20p von Programmcode 20 gestartet wird.
-
Sobald sich das Steuerungssystem wieder in der Zielerreichungsebene 50 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 50 befindet.
-
In 6 ist ein Ablaufdiagramm dargestellt, in dem gezeigt wird, wie im Gesamtzusammenhang c die Anforderungen an eine bestimmte Funktion des autonom betreibbaren Kraftfahrzeuges 1 mit steigender Anforderung an dieses System stärker gewichtet werden und somit zur betriebssicheren Ausführung dieser Funktion eine höhere Zielerreichungsebene 44, 46, 48, 50 verlangt wird. Ein Beispiel für eine solche dynamische Anpassung der benötigten Zielerreichungsebene sind die Anforderungen an einen autonomen Fahrbetrieb des Kraftfahrzeuges 1 mit zunehmender Fahrgeschwindigkeit. Während im Stillstand oder bei sehr geringen Fahrgeschwindigkeiten, insbesondere bei Fahrgeschwindigkeiten im Bereich des Schritttempos, die erste Zielerreichungsebene 44 eine hinreichende Betriebssicherheit des Kraftfahrzeuges 1 gewährleistet, steigen mit zunehmender Fahrgeschwindigkeit und somit verkürzten Reaktionszeiten sowie potenziell kritischeren Auswirkungen eines Systemversagens die Anforderungen an die notwendige Zielerreichungsebene. Alternativ können bei einer Fahrt durch die Wüste oder durch eine sehr kalte Region auch die Anforderungen an die Fahrzeugklimatisierung mit zunehmender Abweichung von einer Wohlfühltemperatur von etwa 18 - 28°C steigen, um mit hoher Sicherheit eine gesundheitliche Schädigung der Fahrgäste durch Überhitzung oder Unterkühlung zu vermeiden. In diesem Fall können andere Funktionen zugunsten dieser Funktion beschränkt werden, um ein maximales Level an Sicherheit für die Fahrgäste im Innenraum des Kraftfahrzeuges 1 zu gewährleisten. Ferner kann bei niedrigem Batteriestand oder niedrigem Füllstand des Kraftstoffbehälters das Erreichen des Zielpunktes, der nächsten Ladesäule oder der nächsten Tankstelle entsprechend in der Priorität steigen, sodass andere Funktionen entsprechend dem Gesamtzusammenhang c eingeschränkt werden.
-
In 7 ist am Beispiel der Fahrgeschwindigkeit eines autonom betriebenen Kraftfahrzeugs 1 eine Korrelation zwischen der notwendigen Zielerreichungsebene 50 (N) und der Fahrgeschwindigkeit v des Kraftfahrzeuges 1 dargestellt. Mit steigender Fahrgeschwindigkeit muss die Reaktionsgeschwindigkeit des Systems zunehmen, um einen betriebssicheren, autonomen Fahrbetrieb des Kraftfahrzeugs 1 zu gewährleisten. Daher muss die Absicherung gegen Ausfälle von Steuerungsfunktionen bei steigender Geschwindigkeit zunehmen. In Abhängigkeit der Zielerreichungsebene und somit der Stabilität des Steuerungssystems wird daher festgelegt, welches Zielerreichungslevel mindestens erreicht werden muss, um einen autonomen Fahrbetrieb im nächst höheren Geschwindigkeitsbereich freizugeben. Somit ist gewährleistet, dass das Steuerungssystem auch beim Ausfall eines Sensors, eines Steuergeräts oder eines Softwareprogramms noch eine hinreichende Redundanz aufweist, um einen betriebssicheren Fahrbetrieb des Kraftfahrzeugs 1 zu ermöglichen.
-
Dabei erfolgt eine Verschiebung der Prioritäten im Zusammenhang mit der Gewichtung der Funktion, sodass in diesem Betriebszustand weniger relevante Funktionen, wie beispielsweise die Steuerung des Entertainmentsystems oder der Fahrzeugklimatisierung bei steigender Geschwindigkeit weniger stark gewichtet werden und die Funktionen zur Durchführung eines autonomen Fahrbetriebs höher gewichtet werden, während bei sehr geringen Geschwindigkeiten oder bei Stillstand, insbesondere bei einem Stillstand in einem Verkehrsstau, eine Verschiebung der Prioritäten zugunsten anderer Funktionen wie beispielsweise der Fahrzeugklimatisierung und/oder des Fahrgastentertainments erfolgen kann.
-
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