DE102019214160A1 - Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion - Google Patents
Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion Download PDFInfo
- Publication number
- DE102019214160A1 DE102019214160A1 DE102019214160.9A DE102019214160A DE102019214160A1 DE 102019214160 A1 DE102019214160 A1 DE 102019214160A1 DE 102019214160 A DE102019214160 A DE 102019214160A DE 102019214160 A1 DE102019214160 A1 DE 102019214160A1
- Authority
- DE
- Germany
- Prior art keywords
- graph
- processes
- driving function
- way
- following features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Verfahren (10) zum Automatisieren einer durch mehrere Prozesse (40) erfüllten Fahrfunktion (41),gekennzeichnet durch folgende Merkmale:- ein gerichteter azyklischer Graph (20) auf einer Menge der Prozesse (40) wird dergestalt definiert (11), dass, wenn eine Kante des Graphen (20) von einem ersten Prozess (40) auf einen zweiten Prozess (40) aus der Menge gerichtet ist, eine funktionale Abhängigkeit des zweiten Prozesses (40) vom ersten Prozess (40) besteht und- die Prozesse (40) werden anhand des Graphen (20) solchermaßen aktiviert (12), dass der zweite Prozess (40) gestartet wird, nachdem der erste Prozess (40) abgeschlossen ist.
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Automatisieren einer durch mehrere Prozesse erfüllten Fahrfunktion. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium.
- Stand der Technik
- Der Begriff des hochautomatisierten Fahrens (highly automated driving, HAD) bezeichnet gemeinhin eine Entwicklungsstufe zwischen dem assistierten Fahren, bei welchem der Fahrer durch zahlreiche (oft getrennte) Fahrerassistenzsysteme bei der Fahraufgabe unterstützt wird, und dem autonomen Fahren, bei welchem das Fahrzeug gänzlich selbsttätig und ohne Einwirkung des Fahrers fährt. Beim hochautomatisierten Fahren verfügt das Fahrzeug gewissermaßen über eine eigene Intelligenz, die vorausplant und die Fahraufgabe zumindest in den meisten Situationen übernehmen könnte. Fahrer und Steuergeräte (electronic control units, ECUs) führen zusammen das Fahrzeug, wobei der menschliche Fahrer jederzeit bestimmt, wie stark er in das Fahrverhalten des Fahrzeuges eingreift.
-
WO2018146000A1 offenbart ein Steuergerät für ein Kraftfahrzeug, das eingerichtet ist, mehrere Anwendungen und Zwischenanwendungen (middleware) zu betreiben und einen durch die Anwendungen und Zwischenanwendungen gemeinsam nutzbaren Speicher (shared memory) umfasst. Die Zwischenanwendungen sind eingerichtet, eine Interprozesskommunikation zwischen den Anwendungen über den Speicher abzuwickeln. -
DE102018207172A1 beschreibt ein Verfahren zum Simulieren eines cyberphysischen Systems (CPS) in einer realen Betriebssituation, bei dem Messdaten und interne Zustände von Softwarekomponenten des Systems in der Betriebssituation abgespeichert und ein Simulator mit den Messdaten und Zuständen parametriert wird. - Offenbarung der Erfindung
- Die Erfindung stellt ein Verfahren zum Automatisieren einer durch mehrere Prozesse erfüllten Fahrfunktion, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium gemäß den unabhängigen Ansprüchen bereit.
- Der erfindungsgemäße Ansatz fußt hierbei auf der Erkenntnis, dass zahlreiche Fahrerassistenzsysteme für hochautomatisiertes Fahren aktuell in der Entstehungsphase sind. Es ist damit zu rechnen, dass die Komplexität entsprechender Software jene herkömmlicher fahrzeugtechnischer (automotive) Anwendungen um Größenordnungen übersteigt.
- Der vorgeschlagenen Lösung liegt ferner die Einsicht zugrunde, dass Systeme für hochautomatisiertes Fahren technisch aufwändig sind. Dies gilt ebenso für zukünftige Robotik-Systeme. Sie benötigen eine hohe Rechenleistung und einen großen Speicher und haben deutlich erhöhte Sicherheitsanforderungen. Das Berücksichtigen der funktionalen Sicherheitsanforderungen erhöht zusätzlich die Systemkomplexität.
- Das nachfolgend beschriebene Verfahren trägt schließlich dem Umstand Rechnung, dass heutige Systeme im automobilen Umfeld oft als direkt kommunizierende Applikationen oder Komponenten ausgelegt sind. Daten werden, sobald sie verfügbar sind, sofort anderen Applikationen zur Verfügung gestellt. Der exakte zeitliche Zusammenhang der einzelnen Applikationen kann dabei aus technischen Gründen oftmals nicht exakt vorgegeben werden, z. B. da die Anzahl unabhängiger Rechenkerne weit hinter der Anzahl der darauf ausführbaren (executable) Applikationen zurückbleibt. Der exakte Sendezeitpunkt spezifischer Daten ist daher mitunter schwer zu bestimmen. Das Alter der Daten, die von einer bestimmten Applikation empfangen werden, ist entsprechend unvorhersagbar und hängt in hohem Maße von Laufzeitbedingungen ab.
- Das in
DE102018207172A1 beschriebene Verfahren erleichtert diese Situation entscheidend, da bei gegebenen Eingangsdaten eindeutig feststeht, welche Applikation welche Daten empfängt. Damit lässt sich für beliebige Funktions- oder Taskstrukturen die Konsistenz der Daten sicherstellen. - Zur Simulation und Vereinfachung des Laufzeitverhaltens erweist es sich als sinnvoll, auf der Grundlage dieses an sich bekannten Verfahrens ein System aus mehreren Tasks zusammenzustellen. Im Folgenden sei ein Verbund aus einzelnen Tasks, denen ein gemeinsames Aktivierungsschema zugrunde liegt, als Aktivierungstabelle bezeichnet.
- Das Laufzeitverhalten der Tasks sollte hierbei stets deterministisch bleiben. Dies wird nach dem Stand der Technik z. B. durch sequenzielles Aktivieren der Bestandteile einer Funktion gewährleistet.
- Ein Vorzug der erfindungsgemäßen Lösung liegt vor diesem Hintergrund in der Schaffung eines mächtigeres Ablaufschemas, wie es speziell für HAD-Funktionen wünschenswert erscheint.
- Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich.
- Figurenliste
- Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform. -
2 eine erfindungsgemäße Aktivierung von Prozessen anhand eines Graphen. -
3 eine Darstellung des Graphen in Form eines sogenannten Aktivitätsdiagramms. -
4 das Metamodell eines erfindungsgemäßen fahrzeugtechnischen Betriebssystems. -
5 schematisch ein Steuergerät gemäß einer zweiten Ausführungsform. - Ausführungsformen der Erfindung
-
1 illustriert den grundlegenden Ablauf eines erfindungsgemäßen Verfahrens (10 ). Dessen Kerngedanke besteht in der Definition (11 ) eines gerichteten azyklischen Graphens (directed acyclic graph, DAG), dessen Knoten die Prozesse eines Tasks bilden. Die Kanten des DAG spiegeln hierbei wechselseitige funktionale Abhängigkeiten der Prozesse wider, sodass je zwei durch eine Kante verbundene Prozesse nur nacheinander aktiviert (12) werden dürfen. - Dieses Vorgehen wird durch den an sich bekannten Umstand ermöglicht, dass ein DAG zur Modellierung eines deterministischen Ablaufes dienen kann, solange gewährleistet ist, dass dieser DAG vorzugsweise innerhalb der Grenzen des in
DE102018207172A1 beschriebenen und hier zugrunde gelegten Verfahrens genutzt wird. - Ein entsprechender Determinismus könnte allerdings auch auf anderer Ebene gelten, solange sichergestellt ist, dass die Konsistenz der zu verarbeitenden Daten am Eingang (
21 ) und Ausgang (22 ) des beispielhaft in2 dargestellten DAGs (20 ) garantiert werden kann. Ein etwaiger zyklischer Datenfluss oder eine anderweitige Rückführung müssen daher um den DAG (20 ) gleichsam „herumgeleitet“ werden, da der besagte Determinismus nur so gesichert ist. - Wie
3 verdeutlicht, kann ein DAG (20 ) auch durch ein Aktivitätsdiagramm (activity diagram) dargestellt werden, wobei die Prozesse im Aktivitätsdiagramm (30 ) jeweils durch eine Aktion (31 ) und die Kanten des Graphen (20 ) jeweils durch einen Kontrollfluss (32 ) modelliert werden, welcher sich wiederum durch Parallelisierungs- und Synchronisationsknoten aufspalten bzw. zusammenführen lässt. - Vorzugsweise werden die definitionsgemäßen Eigenschaften des DAGs (
20 ) auch für den Prozessen (40 ) untergeordnete Aktivitätsträger (threads, executables, runnables) genutzt, indem entsprechende Teilgraphen definiert werden (vergleiche4 ). - Dieses Verfahren (
10 ) kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät (50 ) implementiert sein, wie die schematische Darstellung der5 verdeutlicht. - 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
-
- WO 2018146000 A1 [0003]
- DE 102018207172 A1 [0004, 0009, 0016]
Claims (10)
- Verfahren (10) zum Automatisieren einer durch mehrere Prozesse (40) erfüllten Fahrfunktion (41), gekennzeichnet durch folgende Merkmale: - ein gerichteter azyklischer Graph (20) auf einer Menge der Prozesse (40) wird dergestalt definiert (11), dass, wenn eine Kante des Graphen (20) von einem ersten Prozess (40) auf einen zweiten Prozess (40) aus der Menge gerichtet ist, eine funktionale Abhängigkeit des zweiten Prozesses (40) vom ersten Prozess (40) besteht und - die Prozesse (40) werden anhand des Graphen (20) solchermaßen aktiviert (12), dass der zweite Prozess (40) gestartet wird, nachdem der erste Prozess (40) abgeschlossen ist.
- Verfahren (10) nach
Anspruch 1 , gekennzeichnet durch folgendes Merkmal: - das Aktivieren (12) erfolgt solchermaßen, dass, wenn eine weitere Kante des Graphen (20) vom ersten Prozess (40) auf einen dritten Prozess (40) aus der Menge gerichtet ist, der zweite Prozess (40) und der dritte Prozess (40) gleichzeitig aktiv sind. - Verfahren (10) nach
Anspruch 1 oder2 , gekennzeichnet durch folgendes Merkmal: - das Definieren (11) des Graphen (20) erfolgt mittels eines UML-Verhaltensdiagrammes (30). - Verfahren (10) nach
Anspruch 3 , gekennzeichnet durch folgende Merkmale: - das Verhaltensdiagramm ist ein Aktivitätsdiagramm (30) und - die Prozesse (40) werden jeweils durch eine Aktion (31) und die Kanten des Graphen (20) jeweils durch einen Kontrollfluss (32) im Aktivitätsdiagramm (30) modelliert. - Verfahren (10) nach einem der
Ansprüche 1 bis4 , gekennzeichnet durch folgendes Merkmal: - das Definieren (11) des Graphen (20) erfolgt derart, dass im ersten Prozess (40) erzeugte Daten ausschließlich durch dessen Nachfolger im Graphen (20) ausgewertet (23) werden. - Verfahren (10) nach einem der
Ansprüche 1 bis5 , gekennzeichnet durch folgende Merkmale: - durch einen der Fahrfunktion (41) zugeordneten Auslöser (42) wird eine Aktivierung (21) der Fahrfunktion (41) ausgelöst (43) und - zwischen den Prozessen (40) fließende (44) Daten werden bei der Aktivierung (21) bis zu einer Vollendung (22) der Fahrfunktion (41) festgeschrieben (45). - Verfahren (10) nach einem der
Ansprüche 1 bis6 , gekennzeichnet durch folgende Merkmale: - der Prozess (40) umfasst mehrere Aktivitätsträger und - auf der Menge der Aktivitätsträger wird ein Teilgraph des Graphen (20) definiert. - Computerprogramm, welches eingerichtet ist, das Verfahren (10) nach einem der
Ansprüche 1 bis7 auszuführen. - Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach
Anspruch 8 gespeichert ist. - Vorrichtung (50), die eingerichtet ist, das Verfahren (10) nach einem der
Ansprüche 1 bis7 auszuführen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019214160.9A DE102019214160A1 (de) | 2019-09-17 | 2019-09-17 | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019214160.9A DE102019214160A1 (de) | 2019-09-17 | 2019-09-17 | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019214160A1 true DE102019214160A1 (de) | 2021-03-18 |
Family
ID=74686287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019214160.9A Pending DE102019214160A1 (de) | 2019-09-17 | 2019-09-17 | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019214160A1 (de) |
-
2019
- 2019-09-17 DE DE102019214160.9A patent/DE102019214160A1/de active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2866111B1 (de) | Testen eines Steuergerätes mittels einer Testumgebung | |
DE102014110096A1 (de) | Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts | |
EP3451202B1 (de) | Verfahren zum erzeugen eines auf einem testgerät ausführbaren modells eines technischen systems und testgerät | |
EP3001313A1 (de) | Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer | |
DE102017211433A1 (de) | Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät | |
EP3285165A1 (de) | Modifizieren und simulieren der betriebssoftware eines technischen systems | |
EP3015995B1 (de) | Verfahren zum konfigurieren einer schnittstelleneinheit eines computersystems | |
DE102016201769A1 (de) | Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug | |
DE102018206762A1 (de) | Feature-Development-Framework und Feature-Integration-Framework zum Implementieren physikalischer Funktionsfeatures in einem Zielgerät | |
DE102010039021A1 (de) | Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät | |
DE102010009994A1 (de) | Verfahren zur Optimierung eines Steuerungsprogramms für Aktuatoren | |
DE102015100566A1 (de) | Verfahren und leichter Mechanismus für gemischte kritische Anwendungen | |
DE102019214160A1 (de) | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion | |
DE102012217328A1 (de) | Verfahren zum Simulieren eines Steuergeräts | |
WO2021089499A1 (de) | Verfahren und system zum prüfen einer automatisierten fahrfunktion durch reinforcement-learning | |
DE102019214161A1 (de) | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion | |
DE102017120013A1 (de) | Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem | |
DE102019214162A1 (de) | Verfahren und Vorrichtung zum Simulieren eines Steuergerätes | |
DE102014105109A1 (de) | Verfahren und Vorrichtung zum Erzeugen und Abarbeiten von Testfällen | |
DE102014016884A1 (de) | Datenflußsteuerung und Loadbalancing in Fahrzeugsteuergeräten mit Mehrkernprozessoren | |
EP3343476A1 (de) | Verfahren und vorrichtung zum rechnergestützten entwurf eines produktionsprozesses zum produzieren eines produkts | |
DE102014209592A1 (de) | Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit | |
DE102021211620A1 (de) | Verfahren und System zur automatischen Erzeugung eines eingebetteten Quellcodes für die elektronische Steuereinheit eines AD/ADAS-Strassenfahrzeugs | |
DE102020103349B4 (de) | Lastangleichung zweier prozessoren beim ausführen diversitär-redundanter anweisungssequenzen | |
DE102018203501A1 (de) | Verfahren und Vorrichtung zum Abarbeiten einer Aufgabe durch ein eingebettetes System |