-
Die
Erfindung betrifft eine Elektrik/Elektronik Architektur (E/E Architektur),
ein verteiltes Diagnosesystem und ein Multiagentensystem für
Kraftfahrzeuge. Mit der Technik der Multiagentensysteme werden Teildiagnosen
von Einzelagenten, die die verteilten Diagnoseaufgaben im zu diagnostizierenden
Systemumfang wahrnehmen, zu einem Diagnoseergebnis zusammengeführt.
Eine neue E/E Architektur und Softwarearchitektur ermöglicht
die Implementierung des auf ein Multiagentensystem basierenden Diagnosesystems
im Kraftfahrzeug.
-
Hintergrund
für den Einsatz der neuen Technik sind die in den letzten
Jahren beständig an Komplexität zunehmenden verteilten
Systeme in Kraftfahrzeugen. Der Vernetzungsgrad von Sensoren, Aktoren,
Steuergeräten und Software steigt ständig. Das
ermöglicht ganz neuartige Funktionen im Fahrzeug, an deren
Zustandekommen oft mehrere Steuergeräte, Sensoren, Aktoren
und Programme zusammenwirken. Die Diagnosequalität von
Diagnosesystemen muss hierbei mit dem zunehmend verteilten Charakter
der E/E Architektur mithalten. Hinzu kommt die Notwendigkeit, dass
das Diagnosesystem flexibel und gleichzeitig robust gegenüber
einer steigenden Anzahl an Ausstattungsvarianzen des Fahrzeugbordnetzes
sein muss. Mit zentralistischen Diagnosesystemen können
diese Aufgaben nur noch mit hohem Aufwand bewältigt werden.
-
Die
zunehmend verteilte E/E Architektur in Kraftfahrzeugen führt
auch in der Zusammenarbeit von Automobilzulieferer und Automobilhersteller
zu erhöhtem Integrationsaufwand, um die zur Integration
notwendige Kompatibilität der einzelnen Systeme leisten
zu können. In diesem Zusammenhang haben sich Automobilhersteller
und Automobilzulieferer zu einem Konsortium zusammengeschlossen,
um einheitliche Schnittstellen für die Softwarearchitekturen zu
schaffen. Aus dieser Zusammenarbeit ist ein gemeinsamer Schnittstellenstandard
für Steuergerätesoftware entstanden. Dieser Schnittstellenstandard wird
mit AUTOSAR bezeichnet. Ein Überblick über die
wichtigsten Eigenschaften und Möglichkeiten von AUTOSAR
ist in dem Aufsatz von Matthias Wernicke und Jochen Rein: „Entwicklung
von Steuergerätesoftware nach AUTOSAR", Elektronik Informationen
11, 2006, Seite 78–80 beschrieben. Der Standard
bietet hierbei ein Schichtenmodell, das für den Steuergeräte übergreifenden
Austausch von Softwarefunktionen von der Steuergeräte Elektronik
abstrahiert. Kernstück des AUTOSAR Standard ist eine Run
Time Environment (RTE), die den Kommunikationsaustausch und Datenaustausch
organisiert und die die Grundlage für eine einheitliche
Applikationsschnittstelle für individuelle Applikationssoftware
bildet. Mit Stand November 2006 unterstützt AUTOSAR C++
Anwendungen. Weitere Programmcode-Unterstützungen werden
vermutlich folgen.
-
Mit
Hilfe von Multiagentensystemen können verschiedene Aufgaben
in verteilten technischen Systemen gelöst werden. Multiagentensysteme
wurden bereits in zahlreichen Veröffentlichungen beschrieben.
Einen theoretischen Überblick gibt Michael Wooldridge
mit „An Introduction to MultiAgentSystems." John Wiley & Sons Ltd., 2002.
ISBN 047149691X. Einen Überblick über
Einsatzgebiete, in denen Agentensysteme einen großen Einfluss
gewinnen könnten, geben Birgit Burmeister, Asaneh Haddadi
u. Guido Matylis in "Applications of Multi Agent systems in Traffic
and Transportation." In IEEE Proceedings of Software Engineering
144 (1997) 1, S. 51–60. In dieser Untersuchung
werden insbesondere Anwendungen im Bereich der Verkehrsleitsysteme
und Fleet Management von Fahrzeugflotten genannt.
-
Im
Bereich der Diagnosesysteme für Kraftfahrzeuge ist in Haus
der Technik Fachbuch: „Moderne Elektronik im Kraftfahrzeug",
Bernard Bäker (Hrsg.) und 62 Mitautoren, expert Verlag
2006, ISBN 10:3-8169-2575-8, S. 126–141 von Andre Fischer, Hans
Christian Reuss, Stephen Wilde, Michael Köhler ein Beitrag „Multi-Agenten
basierte Architektur für die verteilte Diagnose im Kfz" offenbart.
Berichtet wird über eine Multiagenten-Diagnose für
eine Heckdeckelfernsteuerung eines Kraftfahrzeugs. Die Steuergeräte
und Aktoren für die Heckdeckelfernsteuerung und das zugehörige
Kommunikationssystem werden mit einem Matlab-Simulink-Modell modelliert und
simuliert. Das Java basierte Multiagentensystem wird mit dem Simulationsmodell
getestet. Die hier offenbarte Erfindung geht von diesem Stand der
Technik aus.
-
Für
die Realisierung eines Multiagentensystems in der Diagnose von verteilten
Architekturen in Kraftfahrzeugen ergeben sich mit dem vorbekannten Stand
der Technik folgende Hindernisse.
-
Entwicklungswerkzeuge,
die für die Erstellung von Multiagentensystemen eingesetzt
werden können, basieren in der Regel auf der Anwendung von
objektorientierten Programmiersprachen wie z. B. C++ oder Java.
Eine bekannte Agentenplattform ist z. B. die Java basierte Plattform
JADE – Java Agent DEvelopment Framework. Jade ist als Freeware
von der Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307, USA erhältlich. Ein weiteres Toolkit
für die Erstellung von Agenten wird von der Firma Acronymics,
Inc., 1301 West 8th St., #28, Mesa, Arizona 85201-3841 unter dem
Namen AGENTBUILDER – „An Integrated Toolkit for
Constructing Intelligent Software Agents" vertrieben. Die Runtime
Environment von AGENTBUILDER unterstützt Java, C und C++.
-
Verteilte
E/E Architekturen in Kraftfahrzeugen verwenden aufgrund der sehr
beschränkten Ressourcen für die Mikrokontroller
der beteiligten Steuergeräte maschinennah programmierte
und nur in Ausnahmen objektorientierte Software. Steuergeräterechner
in Kraftfahrzeugen werden mit den aktuellen Entwicklungswerkzeugen
in der Regel in C programmiert und enthalten daher compilierten
C-Code. Objektorientierte Programmiersprachen wie C++ oder Java
lassen sich in vorbekannten E/E Architekturen für Kraftfahrzeuge
nicht einsetzen. Eine Implementierung des simulierten Multiagentensystems nach
Fischer, Wilde et al. in eine vorbekannte E/E Architektur eines
Kraftfahrzeuges ist daher nicht bzw. nur mit großem Aufwand
möglich.
-
Es
ist daher Aufgabe dieser Erfindung gewesen, einen Weg aufzufinden,
wie Multiagentensysteme in E/E Architekturen von Kraftfahrzeugen
implementiert werden können.
-
Die
Lösung gelingt mit einer E/E Architektur und mit einem
Multiagentensystem für die verteilte Diagnose in Kraftfahrzeugen
mit den Merkmalen der unabhängigen Ansprüche.
Weitere mögliche Ausbildungen der Erfindung sind in den
Unteransprüchen, den graphischen Darstellungen und der
folgenden Beschreibung offenbart.
-
Hierzu
ist vorgesehen, dass eine E/E Architektur, deren Steuergeräte
und Applikationen den AUTOSAR Standard implementiert haben, und
ein mittels einer objektorientierten Programmsprache entwickeltes
Multiagentensystem, dessen lauffähige Version sich in die
RTE von AUTOSAR integrieren lässt, angewendet werden. Das
Multiagentensystem, welches in Form einer Agentenplattform und verschiedenen
Agenten implementiert ist, diagnostiziert die Hardwarekomponenten
sowie die Funktionen innerhalb der E/E Architektur in Kraftfahrzeugen.
-
Durch
AUTOSAR, dessen Standard den Einsatz von objektorientierten Programmiersprachen
erlaubt, können Multiagentensysteme entwickelt und in die
verteilte E/E Architektur eines Kraftfahrzeugs eingebunden werden.
Das Multiagentensystem ist vorzugsweise in Java programmiert und
wird z. B. mit dem Tool java2C++ von www.programics.com in C++ Code
umgewandelt, der von der RTE von AUTOSAR unterstützt wird.
Alternativ kann das Multiagentensystem auch mit einer C++ orientierten
Entwicklungsplattform wie z. B. AGENTBUILDER aufgebaut sein. Ein
Konvertierung von Java Code nach C++ Code kann dann entfallen. Sollte
in Zukunft der AUTOSAR Standard auch Java unterstützen,
können Multiagentensysteme die in Java programmiert werden
ohne Konvertierung nach C++ direkt implementiert werden.
-
Um
das Multiagentensystem in der E/E Architektur umzusetzen, hat jede
der an der E/E Architektur beteiligte Komponente eine Realisierung
der Agentenplattform implementiert, auf der die Agenten des Multiagentensystems
aufgesetzt sind. Die Agentenplattform ermöglicht den Einsatz
von Agenten innerhalb des Multiagentensystems. Die Komponenten verfügen
ferner jeweils über eine AUTOSAR Schnittstelle, auf die
für jedes beteiligte Steuergerät von dem Multiagentensystem
ein Hardwareagent aufgesetzt wird. Das Muliagentensystem kann mit
seinen Agenten über diese Hardwareagenten auf die Steuergeräte
und deren Ein- und Ausgangssignale wie z. B. Ansteuerungen oder
Sensordaten, interne Zustände oder den Fehlerspeicher von
Steuergeräten zugreifen, wodurch die Diagnose im Multiagentensystem
ermöglicht wird.
-
Mit
Hilfe des Multiagentensystems wird in der vorgenannten E/E Architektur
eine verteilte Diagnose umgesetzt. Das verteilte Diagnosesystem
unterscheidet hierzu für die Diagnose in Kraftfahrzeugen zwischen
Funktionen, Teilfunktionen und Hardwarekomponenten wie Steuergeräte,
Aktoren oder Sensoren. Die damit hauptsächlich erzielbaren
Vorteile liegen in der verbesserten Abbildung von Fahrzeugfunktionen
auf die E/E Architektur. Agenten eignen sich hervorragend zum Kapseln
und Zusammenfassen von Funktionen bzw. Teilfunktionen, die über mehrere
Steuergeräte hinweg verteilt ablaufen. Oder anders gesagt,
verteilt ablaufende (Teil-)Funktionen lassen sich mit einem Agenten
sehr gut abbilden und zusammenfassen. Der Grund liegt in der Abstraktion der
hardwarenahen E/E Architektur in vorgenannte Funktionen, Teilfunktionen
und Komponenten. Für die Diagnose hat das besondere Vorteile,
denn man kann zu jedem wahrnehmbaren Fahrzeugfehlverhalten oder
zu jedem wahrnehmbaren Fehlerbild spezielle Diagnoseagenten für
die Diagnose eben dieses beobachteten Verhaltens einsetzen. Tritt
das entsprechende Verhalten auf, wird der jeweilige Diagnoseagent
aktiv und erstellt alleine oder im Zusammenwirken mit weiteren Agenten
eine Diagnose bzgl. des Fehlers.
-
Aufbauend
auf dem vorgesagten werden in dem Multiagentensystem für
die verteilte Diagnose Agenten für die funktionsorientierte
Diagnose und für die komponenten-/bauteilorientierte Diagnose
eingesetzt und auf die Agentenplattform aufgesetzt. Jedem Diagnoseagenten
ist entsprechend dieser Einteilung ein von ihm zu beobachtender
technischer Systemumfang zugewiesen. Für dieses Teilsystem erstellt
der jeweilige Diagnoseagent eine Diagnose. Der Diagnoseagent nutzt
hierfür programmiertes Wissen über die Fehlersetzbedingungen
in dem von ihm beobachteten Teilsystem, kann aber auch auf bereits
vorhandene Eigendiagnoseroutinen der Steuergeräte, Aktoren
oder Sensoren zurückgreifen. Darüber hinaus nutzen
Diagnoseagenten speziell für die Diagnose von Funktionen
Kenntnisse über Abhängigkeiten der verteilten
Funktionen zu benachbarten Teilsystemen.
-
Ein
wichtiges Grundprinzip innerhalb des Multiagentensystems bildet
die Kooperation. Die Trennung in Aufgabenbereiche der Agenten führt
dazu, dass jeder Agent zunächst nur Analysen und Aussagen
zu dem von ihm beobachteten Systemumfang machen kann. Hierzu nutzt
er die in diesem Systemumfang implementierten Methoden der Zustandserkennung
und Selbstdiagnose. Wird bei diesem Ablauf ein Fehler gefunden,
der real durch ein anderes Teilsystem verursacht wurde, muss, um
mögliche Fehlaussagen aufgrund der Verteiltheit zu vermeiden,
das Systemverhalten der beeinflussenden Teilsysteme ebenfalls untersucht
werden. Da deren Verhalten wiederum durch andere Diagnoseagenten überwacht
wird, liegen für diese Teilsysteme weitere Teildiagnosen
vor. Um zu einer Gesamtdiagnose des Systems zu gelangen, ist eine
Kooperation unter den Agenten eines Multiagentensystems erforderlich.
Um diese Gesamtdiagnose erstellen zu können, kommunizieren
die beteiligten Agenten miteinander und versuchen vorliegende Inkonsistenzen
aus den agentenspezifischen Teilbetrachtungen unter Einbeziehung
des Globalwissens wie Fehlerabhängigkeiten aufzulösen.
Der Kommunikationsprozess wird hierbei solange unter Einbeziehung
weiterer Teilsysteme und weiterer Agenten fortgesetzt bis eine konsistente und
vollständige Erklärung für das die Diagnose
auslösende Fehlverhalten gefunden wurde.
-
Um
die Kommunikation der spezifischen Agenten untereinander und insbesondere über
die Grenzen der Steuergeräte hinaus zu ermöglichen, werden
bestehende physikalische Kommunikationsverbindungen zwischen den
Teilsystemen genutzt. Hierzu muss in jedem beteiligten Steuergerät
eine Kommunikationsschnittstelle implementiert sein. Sie wird durch
einen Plattformagenten umgesetzt, der in das Multiagen tensystem
implementiert ist, die Agentenplattformen der einzelnen Steuergeräte
verbindet und auf die Run Time Environment des AUTOSAR-Standards
aufsetzt. Über den Plattformagenten können Nachrichten
z. B. für die Diagnose der Agenten zwischen den Agentenplattformen
der Teilsysteme ausgetauscht werden.
-
Ein
Ausführungsbeispiel der Erfindung wird im Folgenden anhand
von graphischen Darstellungen näher erläutert.
-
Dabei
zeigen:
-
1 eine
schematische E/E Architektur für ein Kraftfahrzeug mit
Diagnoseschnittstelle,
-
2 eine
E/E Architektur gemäß der Erfindung,
-
3 eine
schematische Darstellung für die Implementierung eines
Multiagentensystems in einer AUTOSAR Umgebung,
-
4 einen
schematischen Aufbau eines Funktionsagenten,
-
5 eine
mögliche hierarchische Gliederung für ein Multiagentensystem.
-
1 zeigt
exemplarisch eine Bordnetzstruktur oder mit anderen Worten eine
E/E Architektur für ein Kraftfahrzeug. Solche Bordnetzstrukturen sind
heute in Kraftfahrzeugen im Einsatz. Die im Kraftfahrzeug verbauten
Steuergeräte, deren Anzahl in heutigen Fahrzeugen leicht
die Größenordnung von 60–80 Stück
erreicht, sind über Datenbusse miteinander in Kommunikationsverbindung.
Ein verbreiteter Datenbus in Kraftfahrzeugen ist hierbei der sog. CAN-Bus
(für Control Area Network). Jedes der verbauten Steuergeräte
ECU1, ECU2, ECU3 usw. im Kraftfahrzeug verfügt neben den
Kommunikationsschnittstellen über die Fähigkeit
zur Eigendiagnose. Im Rahmen der Eigendiagnose der Steuergeräte werden
mit Hilfe der Diagnoseroutine in den Steuergeräten festgestellte
Fehler in kodifi zierter Form als sog. Fehlercodes von der Steuergeräte-Software
in speziell reservierte Speicherbereiche, sog. Fehlerspeicher, geschrieben.
In der schematischen Darstellung der 1 sind diese
reservierten, nicht flüchtigen Speicherbereiche als FS
(für Fehler-Speicher) bezeichnet. In einem oder mehreren
der Bordnetzsteuergeräte kann hierbei ein Onboard Diagnoseprogramm
implementiert sein. Für die Kommunikation und für
den Datenaustausch zwischen einem Diagnosetester in der Werkstatt
und den im Kraftfahrzeug verbauten Steuergeräten sieht
die E/E Architektur eine Diagnoseschnittstelle 2 vor. Diese
Schnittsstelle ermöglicht den Anschluss eines externen
Diagnosetesters 1. Mit einem Gateway wird das Kommunikationsprotokoll
des Diagnosetesters auf das Busprotokoll der E/E Architektur umgesetzt.
Diese Situation ist heute in Kraftfahrzeugen und Werkstätten
Standard.
-
Ausgehend
von der vorgenannten E/E Architektur zeigt 2 eine schematische
Darstellung der erfindungsgemäßen E/E Architektur
für ein Multiagentensystem (MAS). Zu E/E Architekturen
wie sie in 1 schematisch dargestellt sind,
gibt es mit AUTOSAR einen neuen Schnittstellenstandard, der für die
Applikationsentwicklungen APP1, APP2 eine einheitliche Schnittstelle
zur Basissoftware des Steuergerätes zur Verfügung
stellt. Über diese Schnittstelle können unter
anderem Daten wie der Inhalt des Fehlerspeichers FS, verschiedene
Services der Steuergeräte z. B. für den Speicherzugriff
oder für die Diagnose genutzt aber auch auf die Kommunikationsschnittstellen
des jeweiligen Bussystems zugegriffen werden. AUTOSAR übernimmt
hiermit die klassische Rolle einer Middleware. Damit können
verschiedenen Applikationen unabhängig von der Hardware
der E/E Architektur eine in Richtung Applikation einheitliche Schnittstelle
verwenden.
-
Am
Beispiel der 2 wird für die Kommunikation
ein CAN Bus zugrunde gelegt. Um die Kommunikation über
CAN Bus nutzen zu können setzt die AUTOSAR Middleware auf
einer CAN Transportschicht, bestehend aus dem CAN Transportprotokoll, dem
CAN Controller und dem CAN Transceiver, auf. Für einen
Flexray-, Most-, Bytefly- oder LIN Bus werden entsprechend eigene
busspezifische Transportschichten angewendet. Die Applikationsschicht
wird aber immer auf der Middleware AUTOSAR aufsetzen, welche zur
Applikationsschicht hin immer den gleichen Standard bietet.
-
Erfindungsgemäß wird
in der Applikationsschicht ein Multiagentensystem implementiert.
Hierzu wird, wie in 3 dargestellt, in jeden beteiligten Steuergerät
ECU1, ECU2 eine Agentenplattform 31 auf die RTE von AUTOSAR
aufgesetzt und implementiert. Zusammen mit den Diagnoseagenten 32 und
den Schnittstellenagenten 33 und 34 bilden sie das
Multiagentensystem. Die Diagnoseagenten 32 sind für
die verteilte Diagnose im Kraftfahrzeug zuständig. Jeder
Diagnoseagent repräsentiert ein Teilsystem in der E/E Architektur,
also eine (Teil-)Funktion oder ein Bauteil, im Sinne der verteilten
Diagnose. Um eine Diagnose für das jeweilige Teilsystem
erstellen zu können, benötigen die Diagnoseagenten
Informationen (aktuelle Signalwerte, interne Zustände, ggf.
Eigendiagnosen, etc.) über den Zustand des zu diagnostizierenden
Teilsystems. Diese Informationen werden durch den Hardwareagenten 33 bereitgestellt.
Darüber hinaus ermöglicht er die Ablage des Diagnoseergebnisses
im Fehlerspeicher des Steuergerätes. Der Plattformagent 34 stellt über
die RTE von AUTOSAR eine Schnittstelle zu der Transportschicht des
Steuergerätes her. Dadurch können die Agenten
des Multiagentensystems über die physikalischen Bauteilgrenzen
hinweg und unabhängig vom zugrunde liegenden physikalischen
Bus kommunizieren und kooperieren.
-
Mit
dieser Erfindung wird ein Multiagentensystem für die verteilte
Diagnose von Kraftfahrzeugen umgesetzt. Einzelagenten nehmen hierbei
verteilte Diagnoseaufgaben im Gesamtsystem wahr, die durch Kooperation
mit den anderen Agenten zur Lösung des Gesamtproblems Diagnose
beitragen. Im Zusammenhang mit dem modularen Aufbau des Diagnosesystems
werden Kosten durch Skalierbarkeit und Wiederverwendbarkeit der
Agenten gespart. Neue Bordnetzvarianten oder E/E Architektur Ergänzungen
können durch Hinzufügen von neuen Agenten in das
Diagnosesystem jederzeit diagnostizierbar gemacht werden.
-
Ein
schematischer, typischer Aufbau eines Agenten für die Diagnose
einer Funktion ist in 4 dargestellt. Weiter unten
wird noch auf bauteilorientierte Agenten eingegangen. Ein solcher
Funktionsagent ist besonders als Diagnoseagent für ein
verteiltes Diagnosesystem geeignet. Der Funktionsagent fasst in
Steuergeräten vorhandene verteilte Funktionen entsprechend
seiner Aufgabe und seiner daraus abgeleiteten Diagnosekompetenz
sinnvoll zusammen. Um eine Diagnose für die Funktion erstellen
zu können, nutzt der Funktionsagent Methoden zur Zustandserkennung
und Zustandsüberwachung, in 4 mit dem
Funktionsblock 41 dargestellt. Wird mit dieser Zustandsmaschine
eine unerlaubte Abweichung festgestellt, wird eine lokale Diagnoseerstellung
gestartet und ein entsprechender Fehlereintrag über eine
Schnittstelle 44 in einem Fehlerspeicher vorgenommen. Im
Anschluss werden im Wissen des Funktionsagenten abgelegte Fehlerabhängigkeiten zu
anderen technischen Teilsystemen identifiziert und in Kooperation
mit weiteren Agenten aufgelöst. In 4 ist dieses
Verhalten mit dem Funktionsblock 42 dargestellt. Für
die Kooperation mit anderen Agenten bietet jeder am Multiagentensystem
beteiligte Diagnoseagent eine entsprechende Schnittstelle 43 zur
Agentenplattform an. Über diese Schnittstelle können
Nachrichten vom Diagnoseagenten über die Agentenplattform
und den daran angeschlossenen Plattformagenten zu Agentenplattformen
auf anderen Steuergeräten ausgetauscht werden. Die Ergebnisse
der Kooperation werden ebenfalls im Fehlerspeicher eingetragen.
Das im Fehlerspeicher vorliegende Diagnoseergebnis kann anschließend
ausgeben werden. Ist ein Diagnosetester angeschlossen, empfiehlt
sich die Ausgabe des Diagnoseergebnisses auf dem Display des Testers.
-
In
der Regel werden von einem Steuergerät mehrere abhängige
Bauteile gesteuert, die zu dem Steuergerät kommunikativ
in einer hierarchischen Unterstellung stehen. Für ein Agentensystem
und besonders für ein Diagnosesystem auf der Basis eines
Multiagentensystems ist es zweckmäßig hierarchische
Kommunikationsstrukturen beim Aufbau des Agentensystems zu nutzen.
Es wurde schon erwähnt, dass ein Funktionsagent sich möglichst
an einer Funktion orientieren sollte. Da in einem Kraftfahrzeug
Funktionen oft gleichberechtigt miteinander in Wechselwirkung treten,
sollten Funktionsagenten möglichst auch gleichberechtigt
miteinander in Wechselwirkung treten können. Bauteilagenten
sollten entsprechend der kommunikativen Abhängigkeiten
zu den Funktionen möglichst nur mit den ihnen zugewiesenen
Funktionsagenten in Wechselwirkung treten und untereinander keine
Wechselwirkungsmöglichkeit haben. Das entsprechende Multiagentensystem,
das aus Funktionsagenten und Bauteilagenten besteht, sollte hierarchisch
aufgebaut sein, wobei die Bauteilagenten hierarchisch den übergeordneten
Funktionsagenten zugeordnet sind. Dieser Sachverhalt ist in 5 dargestellt.
-
Mit
einer erfindungsgemäßen E/E Architektur mit AUTOSAR
Standard und Agentenplattform auf den Steuergeräten wie
hier offenbart und ausgehend von einem Multiagentensystem wie es
z. B. als Simulation in der eingangs benannten Veröffentlichung
von Fischer, Reuss, Wilde, Köhler: „Multi Agenten
basierte Architektur für die verteilte Diagnose im Kfz" beschrieben
wurde, lässt sich das im weiteren beschriebene neuartige
und erfinderische Diagnosesystem für Kraftfahrzeuge und
Diagnosetester implementieren.
-
Das
Diagnosesystem baut auf einem Multiagentensystem auf. Es werden
Agenten für die onboard Diagnose in der E/E Architektur
des Kraftfahrzeugs eingesetzt und es werden Agenten für
die offboard Diagnose mit einem Diagnosetester eingesetzt. Weiterhin
sind in der Gesamtheit des Multiagentensystems die Diagnoseagenten
sowohl als Funktionsagenten als auch als Bauteilagenten realisiert.
Damit werden die beiden Sichtweisen auf das technische System, also
auf Bauteile als auch auf Funktionen, für die Gesamtdiagnose
nutzbar. Die Bauteilagenten repräsentieren die hardwareorientierte
Sicht auf das Diagnoseproblem und können Fehler in eigenen
Bauteil detektieren und isolieren. Demgegenüber werden
Funktionsagenten eingesetzt, um Fehler im Funktionsablauf zu erkennen
und zu klassifizieren. Sie verkörpern die Funktionsorientierung.
-
Jeder
dieser Agenten übernimmt dabei im Diagnosesystem eine spezifische
Aufgabe. Hierfür besitzt jeder Agent ein ihm spezifisches
Wissen über sein Bauteil oder seine Funktion und kann speziell
für dieses Bauteil oder diese Funktion eine Diagnose erstellen.
-
Ein
Diagnoseablauf gestaltet sich dann beispielsweise wie folgt.
-
Um
Fehler durch das Diagnose Multiagentensystem zu diagnostizieren,
wird die Diagnose in drei Schritten durchgeführt. In einem
ersten Schritt werden zunächst onboard lokale Diagnosen
erstellt, d. h. jeder Diagnoseagent im Fahrzeug erstellt nur aufgrund
des eigenen Wissens eine Diagnose für seinen Aufga benbereich
und das damit zusammenhängende technische Teilsystem.
-
Diese
lokalen Diagnosen werden in einem zweiten Schritt zu einer globalen
Diagnoseaussage aggregiert, indem durch die Funktionsagenten die Teildiagnosen
ausgewertet und verrechnet werden. Grundlage bietet hierfür
die Kooperation und Kommunikation zwischen den Agenten. Im Zuge
dieser Kooperation werden durch das Multiagentensystem Fehlerabhängigkeiten
aufgelöst.
-
In
einem optionalen dritten Schritt können die globalen Diagnoseergebnisse
durch offboard Agenten und deren Wissen verfeinert und ergänzt
werden. Dies ist dann der Fall, wenn die onboard Agenten keine eindeutige
Diagnoseaussage treffen können, weil z. B. durch ungenügende
Informationen kein eindeutiges Fehlerbild errechnet werden kann.
Mit Hilfe von Prüfschritten werden dabei Zusatzinformationen durch
den Kunden oder das Werkstattpersonal eingeholt, die für
die Auswertung der bereits ermittelten Diagnoseergebnisse herangezogen
werden und so die Fehlerquelle näher einschränken
und lokalisieren.
-
Die
Erstellung lokaler Diagnosen onboard erfolgt in zwei Teilschritten.
Zunächst wird eine Fehlererkennung durchgeführt
und anschließend eine Fehlereingrenzung vorgenommen.
-
Die
Fehlererkennung beruht auf der Überwachung des Normalverhaltens
des zu diagnostizierenden Teilsystems. Der jeweilige Diagnoseagent überwacht
hierzu entsprechende Signale, interne Größen,
Grenzwerte und Zeitkonstanten sowie Timeouts im Teilsystem. Das
agentenspezifische Wissen zu dem vom Agenten beobachteten Teilsystem
wird in Form von Diagnosewissen durch den Diagnoseautor bzw. Diagnoseexperten
programmiert.
-
Nachdem
ein Fehlverhalten festgestellt wurde, wird der Fehler weiter eingegrenzt
und klassifiziert. Das hier vorgestellte Diagnose Multiagentensystem
verwendet dazu Fehlerbäume, die ebenfalls vom Diagnoseexperten
programmiert wurden. Prinzipiell können aber auch andere
Klassifizierungsmethoden angewendet werden wie Signalmodelle, Bayes
Netze oder fallbasiertes Schließen. Als Ergebnis der Fehlerklassifizierung
wird ein definiertes Fehlerobjekt erzeugt, welches den Fehler beschreibt
und im Fehlerspeicher abgelegt wird. Das Fehlerobjekt enthält
neben dem Fehler auch die Fehlerquelle sowie einen Zeitstempel,
wann der Fehler aufgetreten ist.
-
Das
eben beschriebene Vorgehen zur Erstellung einer lokalen Diagnose
wird in allen Diagnoseagenten durchgeführt, so dass am
Ende des ersten Schrittes jeder Agent eine Diagnose seines beobachteten
Teilsystems zur Verfügung stellt. Dies ist Voraussetzung
für den nachfolgenden Schritt der Erstellung der globalen
Diagnose.
-
Um
eine Diagnose des Gesamtsystems erstellen zu können, müssen
die Agenten miteinander kooperieren. Die Kooperation ermöglicht
die Fehlerabhängigkeiten sowie vorliegende logische Konflikte aufzulösen,
welche durch die eingeschränkten Sichtweisen der lokalen
Diagnosen entstehen. Die Auflösung der Fehlerabhängigkeiten
erfolgt dabei auf der Basis des Austausches von Wissen zwischen
den Agenten über das Vorhandensein von diagnostizierten
lokalen Fehler und deren Abhängigkeit voneinander. Voraussetzung
hierfür ist, dass zuvor entsprechende Abhängigkeitsregeln
zwischen den Fehlern der Teilsystem definiert und diese Fehlerabhängigkeiten
als globales Wissen modelliert wurden. Die Funktionsagenten ermitteln
dann entlang der Fehlerabhängigkeiten weitere Diagnoseagenten,
die potentielle Ursachen für den eigenen Funktionsfehler
besitzen können. Die Fehlerabhängigkeiten sind
hierfür in der Form Fehlerursachen implizieren Folgefehler im
globalen Wissen des jeweiligen Diagnoseagenten abgebildet. Es sind
nur die Abhängigkeiten im Agentenwissen modelliert, die
für das jeweilige Teilsystem relevant sind.
-
Nachdem
die Agenten für die weitere Kommunikation ermittelt wurden,
werden Anfragen an diese gestellt. Die Erstellung einer Antwort
auf eine Anfrage durch den Kommunikationspartner erfolgt auf der
Basis der Fehlereinträge in den jeweiligen Fehlerspeichern.
Ist der angefragte Fehler im Fehlerspeicher des Teilsystems vorhanden,
wird dieser in der Antwort bestätigt, während
nicht erkannte aber angefragte Fehler als nicht vorhanden deklariert
werden. Jedes Fehlerobjekt besitzt zu diesem Zweck ein spezielles
Fehlerstatusattribut, welches den Status des Fehlers ausdrückt.
Auf Grund des Fehlerstatusattributes erfolgt die Auswertung der
Antwort im anfragenden Funktionsagenten.
-
Die
Auswertung der empfangenen Antworten wird zusammen mit der Auswertung
der Fehlerabhängigkeitsregeln durch die Funktionsagenten durchgeführt.
Da die Abhängigkeitsregeln Ursachen-Wirkungs-Zusammenhänge
repräsentieren, bilden diese die Grundlage für
die Ursachenfindung in den Antworten. Die Auswertung erfolgt mittels zweier
Funktionen. Mit einer Bestätigungsfunktion wird festgestellt,
ob der Funktionsfehler mit der Ursache in der Antwort erklärt
ist. Mit einer Erfüllbarkeitsfunktion wird überprüft,
ob der Funktionsfehler mit Sicherheit durch keine Ursache mehr bestätigt
werden kann. Kann der Funktionsfehler durch keine onboard verfügbaren
Ursachen erklärt werden, muss gegebenenfalls mit einem
externen Diagnosetester fortgesetzt werden.
-
Wird
ein Funktionsfehler mit einer Ursache bestätigt, wird die
Ursache im Fehlerspeicher hinterlegt. Im Fehlerspeicher sind nach
der globalen Diagnose somit neben dem erkannten Funktionsfehler auch
immer dessen diagnostizierte Ursachen hinterlegt.
-
Wie
bereits zuvor beschrieben, eröffnen sich mit einem Multiagenten
Diagnosesysteme auch im Offboard Bereich weitere Möglichkeiten.
Mit speziellen Agenten für diesen offboard Bereich des
Diagnosesystems lassen sich weitere Überprüfungen
vornehmen, die mit dem onboard Diagnosesystem nicht möglich
sind. In der Werkstatt kann mit speziellen Prüfungen und
mit zusätzlichen Funktionsläufen die Fehlersuche
fortgesetzt werden. Der Mitarbeiter in der Werkstatt führt
hierzu einen vorgegebenen Funktionstest durch, der auf das beobachtete
Kundensymptom abgestimmt ist, beobachtet dessen Durchlauf und gibt
das oder die Ergebnisse seiner Beobachtung in das Diagnosesystem
ein. Diese werden von einem offboardseitigen Agenten an die weiteren onboard-
und offboardseitigen Agenten des Multiagentensystems weitergegeben
und anschließend ausgewertet. Auf diese Weise kann das
Multiagentensystem durch Einbeziehung weitere Informationen aus
den Werkstatttests das Diagnoseergebnis weiter einschränken.
-
Vorteilhafter
Weise sind die offboard Agenten als interaktive Kommunikationsagenten
ausgebildet, die in Form von Dialogen an den Nutzer des Diagnosesystems
Fragen stellen und Prüfungen vorschlagen, die der Nutzer
nach entsprechender Überprüfung beantwortet und
die dabei festgestellten Informationen mit Hilfe des interaktiven
Kommunikationsagenten in das Diagnosesystem eingibt. Die so erhaltenen
Informationen werden anhand von im offboard Bereich programmierten
Diagnoseregeln ausgewertet und entsprechende Diagnoseergebnisse erstellt.
Bestehende onboard Diagnoseergebnisse werden in diesen Aus werteprozess
mit einbezogen, so dass die offboard Diagnosen die bereits bestehenden
onboard Ergebnisse erweitern und dadurch eine höhere Diagnosetiefe
erzielen.
-
In
Verbindung mit der Diagnose offboard werden auch Abhilfemaßnahmen
definiert, die durch das Werkstattpersonal ausgeführt,
zur Beseitigung des Fehlers führen sollen. Diese Abhilfemaßnahmen werden
zusammen mit den Diagnosen aus dem offboard Bereich an das Werkstattpersonal
ausgegeben. Ist auch unter Nutzung der offboard Agenten keine eindeutige
Diagnose möglich, müssen weitere Maßnahmen
im offboard Bereich ergriffen werden, die jedoch nicht mehr Bestandteil
des Multiagentensystems sind. Hierzu zählen vor allen Dingen
das Durchführen von Probefahrten und die Nutzung von zusätzlichen
Informationssystemen mit weiterem Erfahrungswissen von Experten,
z. B. aus Konstruktionsdatenbanken oder aus Langzeituntersuchungen zu
Ausfallwahrscheinlichkeiten und Verschleiß.
-
Der
Einsatz einer verteilten Architektur für die Diagnose eines
verteilten Systems wie dem Kraftfahrzeug bringt eine Reihe von Vorteilen.
So wird durch die Anwendung eines Agentensystems eine hohe Variabilität
des Diagnosesystems erreicht. Dadurch, dass jeder Agent als Einzelelement
in dem Diagnosesystem verstanden wird, wird ein großer
Beitrag in Richtung Erweiterbarkeit und Wiederverwendbarkeit des
Diagnosesystems in verschiedenen Baureihen und Varianten von Kraftfahrzeugen
erzielt, was wiederum zu Kosteneinsparungen führen kann.
-
Die
Diagnose neuer Ausstattungsvarianten kann sehr einfach durch das
Hinzufügen neuer Diagnoseagenten ermöglicht werden.
Die innere Struktur der Agenten erlaubt zudem die Erweiterung vorhandener
Agenten mit zusätzlichem Diagnosewissen in Form von neuen
Diagnoseregeln oder Diagnosefakten.
-
Das
Multiagentensystem ist zudem so robust ausgelegt, dass einzelne
Agenten aus dem Verbund herausgelöst werden können,
ohne dass die Diagnoseaussagen anderer Agenten gefährdet
werden. Es werden auch unter diesen Randbedingungen Teildiagnosen
durch die verbliebenen Agenten erstellt und ein Wissensaustausch
in Richtung Gesamtdiagnose betrieben. Die Eingrenzung der Diagnose
auf eine tauschbare Einheit wird unter Umständen dann behindert,
wenn die Fehlerursache in dem Teilsystem liegt, welches der herausgelöste
oder fehlende Agent beobachten sollte.
-
Die
Organisation und die Prozesse zur Erstellung des Diagnosesystems
können durch die Agentenlösung ebenfalls unterstützt
werden, da Agenten durch verschiedene Diagnoseersteller oder von
verschieden Zulieferern bereitgestellt werden können und
diese Agenten durch allgemeingültige Schnittstellen in
der Lage sind, miteinander zu arbeiten. Dies ermöglicht
das Wissen aus verschiednen Quellen – Entwickler, Zulieferer,
Diagnoseautor – miteinander zu kombinieren, ohne dass Kommunikationsverluste
auftreten.
-
Durch
die bauteilorientierten Agenten kann die bisherige bauteilorientierte
Diagnose über Fehlercodes vollständig nachgebildet
werden. Zusätzlich kann eine höhere Diagnosetiefe
erreicht werden, indem neben den Bauteildiagnosen auch funktionsorientierte
Diagnoseaussagen von Funktionsagenten getroffen werden. Die Verwendung
von Funktionsagenten in der Diagnose ermöglicht es, die
Sicht des Kunden in die Diagnose einzubinden. Kundenerlebbare Fehler
sind in der Regel funktionsorientiert. Ein Diagnosesystem, das als
Multiagentensystem aufgebaut ist, bei dem ein Teil der Agenten Funktionsagenten
sind, ein Teil der Agenten Bauteilagenten sind, eröffnet
durch die Kooperation der Agenten untereinander die Möglichkeit,
einen Fehler ausgehend von der Kundenbeanstandung über die
Wechselwirkungen der Funktionsagenten und Bauteilagenten schließlich bis
auf eine tauschbare Einheit zu konkretisieren. Damit wird von dem
erfindungsgemäßen Diagnosesystem mittels Multiagentensystem
das Ziel einer integrierten Diagnose, von der Kundenbeanstandung eine
möglichst direkte Verbindung zu einer kleinsten tauschbaren
Einheit herzustellen, elegant und nahezu mühelos erreicht.
Die Feingliedrigkeit der Bauteilagenten sollte hierzu lediglich
auf die Feingliedrigkeit der kleinsten tauschbaren Bauteile abgestimmt
sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - Matthias Wernicke
und Jochen Rein: „Entwicklung von Steuergerätesoftware
nach AUTOSAR", Elektronik Informationen 11, 2006, Seite 78–80 [0003]
- - Michael Wooldridge mit „An Introduction to MultiAgentSystems."
John Wiley & Sons
Ltd., 2002. ISBN 047149691X [0004]
- - Birgit Burmeister, Asaneh Haddadi u. Guido Matylis in "Applications
of Multi Agent systems in Traffic and Transportation." In IEEE Proceedings of
Software Engineering 144 (1997) 1, S. 51–60 [0004]
- - „Moderne Elektronik im Kraftfahrzeug", Bernard Bäker
(Hrsg.) und 62 Mitautoren, expert Verlag 2006, ISBN 10:3-8169-2575-8,
S. 126–141 von Andre Fischer, Hans Christian Reuss, Stephen Wilde,
Michael Köhler ein Beitrag „Multi-Agenten basierte
Architektur für die verteilte Diagnose im Kfz" [0005]
- - Fischer, Reuss, Wilde, Köhler: „Multi Agenten basierte
Architektur für die verteilte Diagnose im Kfz" [0032]