-
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 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.
-
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.
-
In einer vorteilhaften Ausgestaltung des Verfahrens 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
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 5550736 [0012]
- US 8560609 B2 [0013]
- US 9648023 B2 [0014]