Computerimplementiertes Verfahren zur Implementierung einer V2X-Anwendung und diesbezügliche V2X-Blöcke
für eine graphische Modellierungsumgebung
Die Erfindung betrifft ein computerimplementiertes Verfahren zur Implementierung einer V2X-Anwendung auf einer Zielhardware mit einem Funkadapter, wobei die V2X-Anwendung mit einer graphischen Modellierungsumgebung in Form eines Blockschaltbildes modelliert wird. Die Erfindung betrifft ferner verschiedene Blöcke zur Verwendung in einer graphischen Modellierungsumgebung, mit denen eine V2X-Anwendung modelliert und implementiert werden kann.
Die Erfindung entstammt dem Umfeld der Steuergeräteentwicklung, sie betrifft hier weniger die hardwaremäßige Entwicklung eines Steuergeräts, sondern vielmehr die Entwicklung und den Test einer im weitesten Sinne regelungstechnischen Funktionalität auf einem Steuergerät. Der Begriff "regelungstechnische Funktionalität" ist nicht eng im systemtheoretischen Sinne zu verstehen, gemeint ist jegliche gezielte Einflussnahme auf einen mit dem Steuergerät verbundenen technischen Prozess. Das kann auch lediglich die Verarbeitung und/oder Fusion von Sensordaten sein, beispielsweise von Umgebungssensoren.
Die damit verbundene Entwicklung durchläuft verschiedene Phasen, die Teil des sogenannten V-Modells sind. Üblicherweise wird die gewünschte regelungstechnische Funktionalität zunächst abstrakt im Rahmen von Offline- Simulationen - keine Verbindung zum realen Prozess, keine Echtzeitanforderung - durch ein mathematisches Modell abgebildet, wobei üblicherweise mit Blockschaltbildern sowohl der regelungs- und steuerungstechnische Aspekt wie auch der zu beeinflussende technisch-physikalische Prozess mathematisch nachgebildet und mit Hilfe von numerischen Verfahren simuliert wird.
In einem weiteren Schritt wird die regelungstechnische Funktionalität in Programmcode umgesetzt und auf einer Zielhardware implementiert, die sich von dem später zum Einsatz kommenden Seriensteuergerät meist erheblich unterscheidet. Die Zielhardware ist üblicherweise leistungsfähiger als Seriensteuergeräte, so dass beim Test der zu implementierenden regelungstechnischen Funktionalität jedenfalls sichergestellt ist, dass die Hardware kein limitierender Faktor im Aufbau ist. Die so instrumentierte Zielhardware wird jedenfalls im Zusammenhang mit dem zu beeinflussenden technischen Prozess getestet. Die Zielhardware muss sich nicht zwingend von der Hardware unterscheiden, auf der die graphische Modellierungsumgebung betrieben wird und/oder mit der die Übersetzung in ein ausführbares V2X-Programm erfolgt; in diesem Fall ist die Übertragung auf die Zielhardware dann denkbar kurz, das Programm muss lediglich geladen und ausgeführt werden. Die Zielhardware kann also auch ein PC sein, auch der PC, auf dem die Modellierungsumgebung ausgeführt und/oder die Übersetzung des Modells/Blockschaltbildes in ein ausführbares Programm erfolgt.
Sobald die Serien-Zielhardware, also das Seriensteuergerät, zur Verfügung steht, wird der zu implementierende Regelungsalgorithmus für diese Zielhardware erzeugt, wobei das Seriensteuergerät dann zunächst nicht im Zusammenhang mit dem echten physikalischen Prozess getestet wird, sondern mit einer simulierten Prozessumgebung im Rahmen eines Hardware-in-the- Loop-Test (HIL-Test). Nach erfolgreich absolviertem HIL-Test wird die Zielhardware in Form des Seriensteuergeräts im echten physikalischen Prozess, vorliegend also im Kraftfahrzeug, getestet, wobei hier ggf. noch Abstimmungen in der Parametrierung erfolgen.
Wichtig für sämtliche Entwicklungsschritte ist, dass der aus dem Blockschaltbild bekannte abstrakte Regelungsvorgang - im zuvor ausgeführten Sinne eine regelungstechnische Funktionalität, die auch in einer Sensordatenauswertung oder Datenfusion bestehen kann - nicht mehr manuell in Programmcode übersetzt wird, sondern dass diese Übertragung durch einen automatisierten Codegenerierungsprozess aus dem Blockschaltbild heraus erfolgt. So werden die fehlerträchtige manuelle Übertragung vermieden und schnelle Testzyklen mit variierender regelungstechnischer Funktionalität ermöglicht. Die Funktio-
nalität der Blockschaltbilder bzw. der Blöcke der Blockschaltbilder selbst kann ganz unterschiedlich implementiert sein. Es ist möglich, dass die Funktionalität eines Blockschaltbildes intern mit weiteren Blockschaltbildern und Blöcken elementarerer Funktionalität realisiert sind - in Sub- und Subsub- Blockschaltbildern und Blöcken usw. -, es kann aber auch sein, dass die Funktionalität eines Blockschaltbildes selbst in einer höheren Programmierbzw. Beschreibungssprache hinterlegt ist; darauf kommt es im Einzelnen nicht an.
Mit den heute gängigen graphischen Modellierungs- und Simulationsumgebungen lassen sich durch Verwendung der zur Verfügung stehenden Elementaroperationen (Grundrechenarten, Differential- und Integraloperationen, Bitbeeinflussung, Look-Up-Tables etc.) praktisch beliebige Funktionalitäten nachbilden, wie beispielsweise auch die Buskommunikation zwischen Steuergeräten oder eine Sensordatenauswertung und -fusion. Auch kann in Blöcken Programmcode hinterlegt werden, beispielsweise C/C++ oder C#-Code. Beispiele für Entwicklungsumgebungen, die auf Blockschaltbildern basieren sind Simulink (The MathWorks), ConfigurationDesk (dSPACE), ADTF (Automotive Data and Time-Triggered Framework, Elektrobit) und TMaps (Real- Time Multisensor Advanced Prototyping Software, Intempora).
Wenn davon die Rede ist, dass das Blockschaltbild in ein auf der Zielhardware ausführbares V2X-Programm übersetzt wird, dann kann es sich auch um ein solches Programm handeln, das auf der Zielhardware zur Ausführung interpretiert wird; auch dann handelt es sich um ein ausführbares V2X- Programm.
In der Steuergeräteentwicklung ist es ganz allgemein von Interesse, auch solche Technologien in einer graphischen Modellierungsumgebung abbilden zu können, die noch nicht zum etablierten Stand der Technik gehören. Eine solch neue, aber noch nicht etablierte Technologie ist die V2X-Technologie, unter der die Kommunikation eines Fahrzeugs (V = vehicle) mit seiner Umgebung verstanden wird. Dabei kann es sich um die Kommunikation mit anderen umgebenden Fahrzeugen handeln (V2V), um die Kommunikation mit immobilen Kommunikationspartnern (V2Infrastructure). Bei den Fahrzeugen kann es sich beispielsweise um Straßenfahrzeuge handeln, so dass in diesem
Fall von Car2X-Anwendungen gesprochen werden kann. Bei der Umgebung kann es sich um gleichartige Fahrzeuge handeln, aber auch um andere Verkehrsteilnehmer (beispielsweise V U = vulnerable road user wie z. B. Fußgänger, Fahrräder, Rollstühle). Die Umgebung kann aber auch aus anderen Objekten und Kommunikationsmitteln bestehen, z. B. auch Backend- Servern in der Cloud.
Die Abbildung einer solchen V2X-Kommunikation mit den Elementaroperationen einer graphischen Modellierungsumgebung in jedem Einzelfall der Modellierung einer V2X-Anwendung ist beliebig kompliziert und aufwendig, so dass der vorliegenden Erfindung die Aufgabe zugrunde liegt, ein computerimplementiertes Verfahren zur Implementierung einer V2X-Anwendung auf einer Zielhardware anzubieten, bei dem der Implementierungsaufwand reduziert ist.
Die zuvor hergeleitete Aufgabe ist zunächst gelöst durch ein computerimplementiertes Verfahren zur Implementierung einer V2X-Anwendung auf einer Zielhardware mit einem Funkadapter, wobei die V2X-Anwendung mit einer graphischen Modellierungsumgebung in Form eines Blockschaltbildes modelliert wird und das Blockschaltbild in ein auf der Zielhardware ausführbares V2X-Programm übersetzt und das V2X-Programm auf die Zielhardware übertragen und dort ausgeführt wird, wobei zur Erstellung des Blockschaltbildes ein V2X-Kommunikationsblock eingesetzt wird, der wenigstens eine Funkadapterschnittstelle aufweist, mittels derer Daten zwischen dem Funkadapter und dem V2X-Kommunikationsblock ausgetauscht werden.
Dieses Verfahren ist von seiner Idee her unabhängig von bestimmten Kommunikationsstandards, Protokollen und speziellen Definitionen und Implementierungen physikalischer Schichten. Das Verfahren ist praktisch mit beliebigen Standards realisierbar und an beliebige Standards anpassbar. Es kommt selbstverständlich nicht darauf an, dass die gesamte Funktionalität mit einem einzigen V2X-Kommunikationsblock im Blockschaltbild abgebildet wird. Unterschiedliche Funktionalitäten können selbstverständlich auch auf mehrere V2X-Kommunikationsblöcke verteilt werden; dies mag beispielsweise aus Gründen der Übersichtlichkeit vorteilhaft sein.
Ergebnis des erfindungsgemäßen Verfahrens ist also eine Zielhardware, auf der eine V2X-Anwendung ausgeführt wird, wobei der erfindungsgemäß eingesetzte V2X-Kommunikationsblock automatisch dafür sorgt, dass die einen Funkadapter umfassende Zielhardware den Funkadapter ohne weiteres verwenden kann, insbesondere ohne hier ein Ansprechen des Funkadapters mit ins Detail gehenden Elementaroperationen selbst modellieren und ansprechen zu müssen; dadurch wird eine erhebliche Vereinfachung für die Realisierung von V2X- Anwendungen erzielt.
Es kann ein beliebiger Funkstandard realisiert werden, also eine beliebige drahtlose Kommunikationstechnologie. Es kann sich um eine WLAN- Anwendung handeln (z. B. in Wohngebäuden, Lagerhallen), Mobilfunk- Lösungen sind denkbar (GSM, CDMA, GPRS, LTE; Anwendungen auf Straßen, im Luftraum), aber auch RFID-Anwendungen könne darunter fallen (z. B. in Wohngebäuden, Krankenhäusern, Lagerhallen, Versandzentren etc.), das hängt sehr von dem konkreten Anwendungsfall ab.
Die Zielhardware kann den Funkadapter in einer integrierten hardwaremäßigen Lösung selbst umfassen, die Zielhardware kann aber mit einem Funkadapter auch über eine separat realisierte hardwaremäßige Schnittstelle verbunden sein. Wenn hier davon die Rede ist, dass das mit der graphischen Modellierungsumgebung erstellte Blockschaltbild in ein auf der Zielhardware ausführbares V2X-Programm übersetzt wird, dann kann es sich bei diesem Programm um ein auf einem Prozessor/Mikrocontroller ausführbares Programm handeln, es kann sich aber auch um eine Hardwarebeschreibung handeln, mit der einer Schaltkreisstruktur durch "feste Verdrahtung" die gewünschte Funktionalität aufgegeben wird. Über die Funkadapterschnittstelle lassen sich Daten in Richtung auf den Funkadapter übertragen (senden), es können genauso gut von dem Funkadapter Daten in Richtung auf die übrige Zielhardware gerichtet werden (empfangen).
Eine vorteilhafte Ausgestaltung des Verfahrens sieht vor, dass der V2X- Kommunikationsblock über wenigstens eine Applikationsschnittstelle mit einer Applikationseinheit Daten austauscht, wobei die Applikationseinheit insbesondere Teil des Blockschaltbildes sein kann. Dadurch ist es möglich, dass der Verwender des Verfahrens in der Applikationseinheit eine eigene
Funktionalität realisieren kann, die im Zusammenhang mit der V2X- Kommunikation steht. Es kann so auf mit dem V2X-Kommunikationsblock empfangene Daten im Rahmen der Applikation reagiert werden, genauso können im Rahmen der Applikation erzielte Ergebnisse über den V2X- Kommunikationsblock nach außen mitgeteilt werden. Die Applikationseinheit kann also auch einen sendenden und einen empfangenen Anteil haben.
In einem bevorzugten Ausführungsbeispiel handelt es sich bei den über die Applikationsschnittstelle zu der Applikationseinheit übertragenen Daten beispielsweise um Informationen über ein sich näherndes Fahrzeug, über ein sich in einem bestimmten Bereich befindliches Einsatzfahrzeug - beispielsweise ein solches mit hoheitlicher Funktion -, den Einsatzstatus eines Fahrzeuges - zum Beispiel "aktivierte Sirene", "Unfallstelle absichernd" usw. Die über die Applikationsschnittstelle übertragenen Daten können codiert sein, beispielsweise über eine Mehrzahl an digitalen Signalleitungen oder auch über ein n- Bit-Datenwort, wobei die Bedeutung des codierten Nachrichteninhalts z. B. über ein Look-Up-Table ermittelt wird.
Gemäß einer Weiterentwicklung des erfindungsgemäßen Verfahrens ist vorgesehen, dass dem V2X-Kommunikationsblock über wenigstens eine Senderatenschnittstelle die Rate vorgegeben wird, mit der dem Funkadapter Daten übermittelt werden. Mit dieser Möglichkeit kann einfach die Funktionalität implementiert werden, dass bei zu hoher Fahrzeug- und damit Informationsdichte eine Überflutung der drahtlosen Kommunikationskanäle resultiert. Wenn der V2X-Kommunikationsblock beispielsweise eine Standard- Senderate von 10 Hz aufweist, kann ihm über die Senderatenschnittstelle vorgegeben werden, dass in der jetzigen Verkehrssituation nur mit einer reduzierten Senderate zu arbeiten ist, beispielsweise mit 5 Hz, 2 Hz oder auch nur 1 Hz. Dabei ist es unerheblich, woher das Signal zur Reduzierung der Senderate stammt, das Signal kann beispielsweise aus dem Funkadapter selbst stammen, wenn dieser ein Bandbreitenproblem erkennt.
In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass dem V2X-Kommunikationsblock über wenigstens eine Protokollschnittstelle Protokollbeschreibungsdaten übermittelt werden. Damit ist es möglich, dem V2X-Kommunikationsblock an beliebige Protokolle anzupas-
sen bzw. mit beliebigen Protokollen auszustatten. Vorzugsweise werden die Protokollbeschreibungsdaten im Format Abstract Syntax Notation 1 (ASN. l) zur Verfügung gestellt. Durch die Protokollbeschreibungsdaten wird die Kommunikationsfunktionalität des V2X-Kommunikationsblocks zumindest teilweise definiert; es könnte beispielsweise auch eine feste, unveränderliche Kommunikationsfunktionalität in dem V2X-Kommunikationsblock implementiert sein, zu der die über die Protokollbeschreibungsdaten definierte Funktionalität hinzutritt.
Alternativ zu der Lösung mit einer Protokollschnittstelle könnten die Protokollbeschreibungsdaten in dem Modell fest zur Verfügung gestellt und ausgelesen werden. In einer weiteren Alternative könnte eine Protokolldatei mit Protokollbeschreibungsdaten fest im Modell verlinkt werden, beispielsweise in Form einer asn. l -Datei. In beiden zusätzlichen Alternativen wird keine Protokollschnittstelle am V2X-Kommunikationsblock benötigt.
In einem weiteren bevorzugten Ausführungsbeispiel des Verfahrens wird in dem V2X-Kommunikationsblock eine Datenkomprimierung der zu sendenden Daten vorgenommen, vorzugsweise auch eine Dekomprimierung empfangener komprimierter Daten. Insbesondere wir bei ASN. l -konformen Daten eine Komprimierung durch Packed Encoding ules vorgenommen.
Vorzugsweise wird wenigstens eine der zuvor angesprochenen Schnittstellen, also der Funkadapterschnittstelle, Applikationsschnittstelle, Senderatenschnittstelle und Protokollschnittstelle, als Port des V2X-Kommunikations- blocks realisiert, so dass die Schnittstellen mit den üblichen Mitteln blockbasierter graphischer Modellierungsumgebungen gehandhabt werden können und eine Nutzung der entsprechenden Schnittstelle schon aus dem Blockschaltbild heraus offenkundig ist, indem beispielsweise eine Signallinie an den entsprechenden Port angeschlossen wird.
In einer weiteren Ausgestaltung des Verfahrens ist vorgesehen, dass die Funkadapterschnittstelle des V2X-Kommunikationsprotokolls auf einer Protokollebene oberhalb der Bit-Übertragungsschicht des OSI-Referenzmodells realisiert wird, also beispielsweise in der Sitzungsschicht, der Darstellungsschicht
oder der Anwendungsschicht. In diesem Fall sind in dem Funkadapter die hardwarenäheren Schichten des OSI- eferenzmodells realisiert.
In einer weiteren Ausgestaltung des Verfahrens ist vorgesehen, dass die Kommunikation zwischen dem V2X-Kommunikationsblock und dem Funkadapter über das Netzwerkprotokoll UDP oder TCP modelliert wird und entsprechend durch das resultierende V2X-Programm zwischen Zielhardware und realem Funkadapter eine Kommunikation über das Netzwerkprotokoll UDP oder TCP realisiert wird.
In einer besonders vorteilhaften Ausgestaltung des Verfahrens versendet der V2X-Kommunikationsblock über die Funkadapterschnittstelle zyklisch Daten, insbesondere in Form von Cooperative Awareness Messages oder Basic Sa- fety Messages, es kann sich hier um Eigenfahrzeugdaten handeln, die den Status und Bewegungsinformationen des Fahrzeugs umfassen. Diese gesendeten Eigenfahrzeugdaten können beispielsweise von anderen Fahrzeugen empfangen werden, um ein Bewegungsprofil der sie umgebenden Verkehrsteilnehmer zu erstellen. Damit ein Bewegungsprofil auch zwischen Fahrzeugen erstellt werden kann, die eine große Relativgeschwindigkeit zueinander haben, ist es vorteilhaft, eine nicht zu große Zykluszeit zu wählen, eine Senderate von 10 Hz - also eine Zykluszeit von 100 ms - kann in vielen Fällen geeignet sein.
Alternativ oder ergänzend ist in dem vorgeschlagenen Verfahren vorgesehen, dass der V2X-Kommunikationsblock über die Funkadapterschnittstelle ereignisgetrieben Daten versendet und/oder empfängt, insbesondere in Form von Decentralized Environmental Notification Messages (DENM-Messages). Durch ereignisgetriebene Datenübermittlung können zielgerichtet Informationen mitgeteilt werden, die im normalen und fehlerfreien Verkehrsbetrieb nicht von Interesse sind. Ein auslösendes Ereignis könnte beispielsweise eine Vollbremsung oder ein substantieller Fahrzeugdefekt sein.
Der Implementierungsaufwand für eine V2X-Anwendung wird weiterhin dadurch erzielt, dass das zur Erstellung des Blockschaltbildes ein V2X- Bewegungsprofilblock eingesetzt wird, der wenigstens eine Bewegungsdatenschnittstelle aufweist, mittels derer Bewegungsdaten aus empfangenen Daten von Fremdfahrzeugen bereitgestellt werden, insbesondere wobei zu den Be-
wegungsdaten wenigstens eine der Informationen Position, Geschwindigkeit, Beschleunigung und Bewegungsrichtung gehört. Der Bewegungsprofilblock kann beispielsweise auf einer Umfeldtabelle basieren, in der Daten von Fahrzeugen in der Umgebung abgelegt sind. In dem Bewegungsprofilblock können selbstverständlich auch noch weitere Informationen hinterlegt werden, die nicht originär mit Position oder Bewegung eines Fremdfahrzeugs zu tun haben, gleichwohl aber das Fahrzeug betreffen, z. B. Statusinformationen wie die Absicherung einer Unfallstelle durch ein Fremdfahrzeug oder ähnliches.
Über den V2X-Bewegungsprofilblock kann innerhalb der Modellierungsumgebung auf sehr einfache Art und Weise auf die Bewegungsdaten von umgebenden Fremdfahrzeugen zugegriffen werden, so dass eine erhebliche Erleichterung der Implementierung von V2X- Anwendungen erzielt wird.
In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird eine Erleichterung in der Implementierung von V2X-Anwendungen dadurch erzielt, dass zur Erstellung des Blockschaltbildes ein V2X-Eigenbewegungs- profilblock eingesetzt wird, der wenigstens eine Bewegungsdatenschnittstelle aufweist, mittels derer Bewegungsdaten des eigenen Fahrzeugs bereitgestellt werden, insbesondere wobei zu den Bewegungsdaten wenigstens eine der Informationen Position, Geschwindigkeit, Beschleunigung und Bewegungsrichtung gehört. Derart kann innerhalb des Modells sehr einfach auf die Bewegungsdaten des eigenen Fahrzeugs zugegriffen werden und die Daten beispielsweise durch Übermittlung an den V2X-Kommunikationsblock auch an andere Verkehrsteilnehmer übermittelt werden.
Eine noch weitergehende Vereinfachung bei der Realisierung von V2X- Anwendungen besteht darin, dass zur Erstellung des Blockschaltbildes ein V2X-Eigenfahrzeugdatenbusblock eingesetzt wird, der wenigstens eine Datenbusdatenschnittstelle aufweist, mittels derer Daten des Datenbusses des eigenen Fahrzeugs bereitgestellt werden, insbesondere dem V2X- Kommunikationsblock bereitgestellt werden, wobei es sich bei dem Datenbus insbesondere um einen Datenbus zur Vernetzung der Fahrzeugsteuergeräte handelt, insbesondere wobei der Datenbus nach einem der Standards CAN, TTCAN oder FlexRay arbeitet. Durch diese Maßnahme kann durch den V2X- Eigenfahrzeugdatenbusblock auf die interne Steuergerätekommunikation des
eigenen Fahrzeugs zugegriffen werden, beispielsweise von der Applikationseinheit, die der Verwender des Verfahrens erstellt hat, um seine Custom- Funktionalität zu implementieren. Der erfindungsgemäße Einsatz des V2X- Eigenfahrzeugsdatenbusblocks ermöglicht einen direkten und tiefen Zugriff auf die Kommunikation der Fahrzeugelektronik.
Es hat sich weiterhin als vorteilhaft herausgestellt, dass zur Erstellung des Blockschaltbildes ein V2X-Triggerblock eingesetzt wird, der wenigstens eine Triggereingangsschnittstelle, wenigstens eine Triggerausgangs Schnittstelle und eine interne Triggerlogik aufweist, wobei die interne Triggerlogik über die Triggereingangsschnittstelle empfangene Informationen auswertet und in Abhängigkeit von den empfangenen Informationen über die Triggerausgangsschnittstelle ein Triggersignal ausgibt. Das Triggersignal kann besonders Vorteilhaft zur Auslösung des Versendens einer Nachricht herangezogen werden. In einer besonderen Ausgestaltung beruht die Triggerlogik den Standards des Car 2 Car Communication Consortium, beispielsweise wie in dem sogenannten Triggering Conditions Document beschrieben.
Vor dem geschilderten Hintergrund wird die eingangs hergeleitete Aufgabe auch durch ein Computerimplementiertes Verfahren zur Implementierung einer V2X-Anwendung auf einer Zielhardware gelöst, wobei die V2X- Anwendung mit einer graphischen Modellierungsumgebung in Form eines Blockschaltbildes modelliert wird und das Blockschaltbild in ein auf der Zielhardware ausführbares V2X-Programm übersetzt und das V2X-Programm auf die Zielhardware übertragen und dort ausgeführt wird, wobei zur Erstellung des Blockschaltbildes wenigstens ein V2X-Block eingesetzt wird, der eine V2X-spezifische Funktionalität implementiert. Durch den genannten V2X-Block werden alle Vorteile erzielt, die zuvor aufgezeigt worden sind. Der genannte V2X-Block und seine Funktionalität werden bei der Übersetzung in das V2X-Programm berücksichtigt und automatisch in dem V2X- Programm implementiert. Speziell kann es sich bei dem V2X-Block um einen V2X-Kommunikationsblock, einen V2X-Bewegungsprofilblock, einen V2X- Eigenbewegungsprofilblock, einen V2X-Eigenfahrzeugdatenbusblock oder einen V2X-Triggerblock und demzufolge bei der V2X- spezifischen Funktionalität um die zuvor ausführlich beschriebene Funktionalität eines V2X- Kommunikationsblocks, eines V2X-Bewegungsprofilblocks, eines V2X-
Eigenbewegungsprofilblocks, eines V2X-Eigenfahrzeugdatenbusblocks oder die eines V2X-Triggerblocks handeln.
Die der Erfindung zugrunde liegende Aufgabe wird auch gelöst durch verschiedene V2X-Blöcke, mit denen sich eine V2X-Anwendung mit einer graphischen Modellierungsumgebung in Form eines Blockschaltbildes beschreiben lassen, nämlich durch einen V2X-Kommunikationsblock, einen V2X- Bewegungsprofilblock, einen V2X-Eigenbewegungsprofilblock, einen V2X- Eigenfahrzeugdatenbusblock und einen V2X-Triggerblock.
Im Einzelnen gibt es eine Vielzahl von Möglichkeiten, das erfindungsgemäße computerimplementierte Verfahren und die genannten V2X-Blöcke für eine graphische Modellierungsumgebung auszugestalten und weiterzubilden. Dazu wird verwiesen einerseits auf die den Patentansprüchen 1 und 14 nachgeordneten Patentansprüche und auf die Patentansprüche 20, 21, 22 und 23 sowie auf die folgende Beschreibung von Ausführungsbeispielen in Verbindung mit der Zeichnung. In der Zeichnung zeigen
Fig. 1 eine schematische Darstellung eines computerimplementierten
Verfahrens zur Implementierung einer V2X-Anwendung auf einer Zielhardware mit einem Funkadapter,
Fig. 2 schematisch ein Blockschaltbild einer graphischen Modellierungsumgebung mit einem V2X-Kommunikationsblock, einem Funkadapter und einer Applikationseinheit innerhalb des Blockschaltbildes,
Fig. 3 ein Blockschaltbild wie in Fig. 2 mit einem V2X-Kommuni- kationsblock mit Senderatenschnittstelle,
Fig. 4 ein Blockschaltbild wie in den vorherigen Figuren mit einem
V2X-Kommunikationsblock mit Protokollschnittstelle,
Fig. 5 ein Blockschaltbild zur Modellierung einer V2X-Anwendung mit einem Bewegungsprofilblock,
Fig. 6 ein Blockschaltbild zur Modellierung einer V2X-Anwendung mit einem Eigenbewegungsprofilblock,
Fig. 7 ein Blockschaltbild zur Modellierung einer V2X-Anwendung mit einem Eigenfahrzeugdatenbusblock und
Fig. 8 ein Blockschaltbild zur Modellierung einer V2X-Anwendung mit einem Triggerblock.
In Fig. 1 ist schematisch zunächst dargestellt der Ablauf des vorgeschlagenen computerimplementierten Verfahrens 1 zur Implementierung einer V2X- Anwendung auf einer Zielhardware 2 mit einem Funkadapter 3, wobei die V2X-Anwendung mit einer graphischen Modellierungsumgebung 4 in Form eines Blockschaltbildes 5 modelliert wird. Das Blockschaltbild 5 und die mit ihm modellierte V2X-Anwendung werden zunächst in ein auf der Zielhardware 2 ausführbares V2X-Programm 6 übersetzt und das V2X- Programm 6 wird dann auf die Zielhardware 2 übertragen und dort ausgeführt.
Dies geschieht insgesamt über hier im Einzelnen nicht dargestellte Zwischenstufen: das Blockschaltbild 5 wird analysiert und zunächst in Programmcode übersetzt, wobei der Programmcode dann kompiliert wird, so dass das ausführbare V2X-Programm 6 resultiert. Das auf der Zielhardware 2 ausgeführte V2X-Programm implementiert damit die zuvor mit Hilfe der graphischen Modellierungsumgebung 4 in Form des Blockschaltbildes 5 modellierte Funktionalität der V2X -Anwendung.
Der Funkadapter 3 ist in dem eigenen Fahrzeug installiert und stellt das technische Medium dar, mit dem entweder mit anderen Fahrzeugen kommuniziert wird (Vehicle2Vehicle oder spezieller Car2Car) oder mit anderen, festen Kommunikationspartnern kommuniziert wird (V2Infrastructure) wie z. B. Lichtzeichen, Staumeldestationen usw.
Während das eigene Fahrzeug sich durch den Verkehr bewegt, baut es mit dem in Funkreichweite befindlichen anderen Kommunikationspartnern ein ad- hoc-Netzwerk auf, das naturgemäß aufgrund der ständig wechselnden Kommunikationspartner hochgradig veränderlich ist.
Die Implementierung einer V2X-Anwendung auf der Zielhardware 2 wird durch den Einsatz eines V2X-Kommunikationsblocks 7 erleichtert, mit dem das Blockschaltbild 5 - zumindest teilweise - erstellt wird. Der V2X- Kommunikationsblock 7 enthält eine elementare Kommunikationsfunktionalität, die in dem Blockschaltbild 5 über eine Funkadapterschnittstelle 8 nutzbar ist. Über die Funkadapterschnittstelle 8 können Daten zwischen dem Funkadapter 3 bzw. der modellseitigen Entsprechung 3' des Funkadapters 3 in der graphischen Modellierungsumgebung 4 und dem V2X- Kommunikationsblock 7 ausgetauscht werden. Dadurch, dass der V2X- Kommunikationsblock 7 die erforderliche Funktionalität zum Austausch von Daten mit dem Funkadapter 3, 3' mitbringt, ist es nicht mehr erforderlich, diese Funktionalität im Einzelnen mit Elementaroperationen der Modellierungsumgebung 4 zu modellieren.
In den Fig. 2 bis 5 ist jeweils ein Blockschaltbild 5 dargestellt, mit dem eine V2X-Anwendung modelliert ist, wobei die graphische Modellierungsumgebung nicht mehr ausdrücklich dargestellt ist. In allen Bildern ist ersichtlich, dass der V2X-Kommunikationsblock 7 der Implementierung einer V2X- Anwendung in einer graphischen Modellierungsumgebung in Form eines Blockschaltbildes 5 dient, wobei der V2X-Kommunikationsblock 7 eine Funkadapterschnittstelle 8 aufweist, mittels derer Daten zwischen dem V2X- Kommunikationsblock 7 und dem modellierten Funkadapter 3' des Blockschaltbildes 5 austauschbar sind.
In Fig. 2 ist erkennbar, dass der V2X-Kommunikationsblock 7 eine Applikationsschnittstelle 9 aufweist, mittels derer mit einer Applikationseinheit 10 Daten austauschbar sind, wobei die Applikationseinheit 10 hier Teil des Blockschaltbildes 5 ist. Die Applikationseinheit 10 beherbergt die individuelle Funktionalität der zu implementierenden V2X- Anwendung. Durch den V2X- Kommunikationsblock 7 ist es auf einfache Weise möglich, die für V2X- Anwendungen typische Kommunikationen mit anderen Kommunikationspartnern zu errichten.
In den dargestellten Ausführungsbeispielen sind sämtliche Schnittstellen als Ports von Blöcken dargestellt, so dass alleine aus den Signallinien-
Verbindungen ersichtlich ist, welcher Block mit welchem anderen Block kommuniziert. Über eine Signallinie kann nicht notwendigerweise nur ein einziges Signal übermittelt werden, es ist beispielsweise auch möglich, eine Vielzahl an Signalen über eine Signallinie zu transportieren, dies ist bei aktuellen Modellierungswerkzeugen lediglich eine Frage der Darstellung.
Fig. 3 zeigt eine V2X- Anwendung, bei der der V2X-Kommunikationsblock 7 eine Senderatenschnittstelle 1 1 aufweist, über die dem V2X-Kommuni- kationsblock 7 die Rate vorgebbar ist, mit der der V2X- Kommunikationsblock 7 dem Funkadapter 3' Daten übermittelt. Nach Übertragung des Blockschaltbildes 5 in das ausführbare V2X-Programm 6 bedeutet dies natürlich, dass die dann auf der Zielhardware 2 implementierte entsprechende Funktionalität des V2X-Kommunikationsblocks 7 dafür sorgt, dass die Zielhardware 2 über den Funkadapter 3 nur in der vorgegebenen Rate Daten übermittelt und dieser in der vorgegebenen Rate auch nur Daten sendet; es ist stets - soweit wie möglich - eine exakte Entsprechung zwischen Blockschaltbild und Zielhardware vorhanden.
In den Fig. 3 und 4 ist dargestellt, dass dem V2X-Kommunikationsblock 7 eine Senderate über die Senderatenschnittstelle 1 1 vorgegeben wird, die aus einem DCC-Block 12 (Decentralized Congestion Control) stammt, wobei dieser DCC-Block 12 beispielsweise von dem Funkadapter 3, 3' Informationen über die Kanalauslastung erhält und so für eine entsprechende angepasste Senderate sorgt.
In Fig. 4 ist der V2X-Kommunikationsblock 7 mit einer erweiterten Funktionalität dargestellt, denn er weist eine Protokollschnittstelle 13 auf, über die dem V2X-Kommunikationsblock 7 Protokollbeschreibungsdaten 14 übermittelbar sind. Die Protokollbeschreibungsdaten 14 liegen hier im ASN. l -Format (Abstract Syntax Notation One) vor. Mittels der Protokollbeschreibungsdaten 14 wird die Kommunikationsfunktionalität des V2X-Kommunikationsblocks 7 zumindest teilweise definiert. Durch die Definition der Kommunikationsfunktionalität des V2X-Kommunikationsblocks 7 wird letztlich auch die Kommunikationsfunktionalität der später auf der Zielhardware implementierten V2X-Anwendung bestimmt.
In den dargestellten Ausführungsbeispielen ist die Kommunikation zwischen dem V2X-Kommunikationsblock 7 und dem Funkadapter 3 bzw. dem Modell des Funkadapters 3' über das Netzwerkprotokoll UDP realisiert. Entsprechend ist die in Fig. 1 dargestellte Verbindung zwischen der Zielhardware 2 und dem Funkadapter 3 eine Ethernet basierte Verbindung, die über das Netzwerkprotokoll UDP realisiert ist.
Die in Fig. 4 dargestellten Protokollbeschreibungsdaten 14 enthalten hier eine Beschreibung von Cooperative Awareness Messages (CAM), die zyklisch über die Funkadapterschnittstelle 8 versendet werden, und auch eine Beschreibung von Decentralized Environmental Notification Messages (DENM), die von dem V2X-Kommunikationsblock 7 verwendet wird, um ereignisgetrieben Daten über die Funkadapterschnittstelle 8 zu versenden. Durch die Konfiguration des V2X-Kommunikationsblocks 7 wird damit ermöglicht, dass über die Funkadapterschnittstelle 8 zyklisch und ereignisgetrieben Daten versendbar sind, nämlich in Form der angesprochenen Formate CAM und DENM.
In Fig. 5 ist ein typischer Anwendungsfall dargestellt, in dem mehrere Fremdfahrzeuge, hier mit Carl, Car2 und Car3 bezeichnet, sich in Empfangsreichweite des Funkadapters 3 bzw. des Modells des Funkadapters 3' befinden und insoweit der Funkadapter 3, 3' Daten von den Fremdfahrzeugen Carl, Car2 und Car3 empfängt. Das Blockschaltbild 5 weist einen V2X- Bewegungsprofilblock 15 auf, der ebenfalls zur Implementierung einer V2X- Anwendung im Blockschaltbild 5 dient, wobei der V2X-Bewegungs- profilblock 15 eine Bewegungsdatenschnittstelle 16 aufweist, mittels derer Bewegungsdaten p, v, a aus empfangenen Daten von Fremdfahrzeugen Carl, Car2, Car3 bereitstellbar sind. Es ist zu erkennen, dass diese Bewegungsdaten der Fremdfahrzeuge Carl, Car2 und Car3 in dem V2X-Bewegungsprofilblock 15 abgelegt sind und über diesen V2X-Bewegungsprofilblock 15 anderen Teilen des Blockschaltbildes 5 verfügbar gemacht werden.
Im dargestellten Beispiel ist der V2X-Bewegungsprofilblock 15 mit der Applikationseinheit 10 verbunden. Die gestrichelte Verbindung zwischen dem V2X-Bewegungsprofilblock 15 und dem V2X-Kommunikationsblock 7 deutet an, dass in dem dargestellten Ausführungsbeispiel der V2X-
Kommunikationsblock 7 ebenfalls Zugriff auf die Bewegungsdaten p, v, a hat, auch ohne dass dies hier mit einer Signallinienverbindung deutlich gemacht ist. Die Bewegungsdaten umfassen hier die Position p, die Geschwindigkeit v und die Beschleunigung a des jeweiligen Fremdfahrzeugs Carl, Car2 und Car3. In dem V2X-Bewegungsprofilblock 15 können auch andere Daten von Fremdfahrzeugen Carl, Car2 und Car3 abgelegt werden, hier ist das die Statusinformation s, in der codiert abgelegt sein kann, ob es sich bei dem Fremdfahrzeug um ein Einsatzfahrzeug handelt, ob das Einsatzfahrzeug im Notfalleinsatz befindlich ist etc. Zu den Bewegungsdaten kann auch die Bewegungsrichtung zählen, die beispielsweise aus einer vektoriellen Geschwindigkeitsinformation extrahierbar ist.
In Fig. 6 ist eine modellierte und zu implementierende V2X-Anwendung gezeigt, bei der ein V2X-Eigenbewegungsprofilblock 17 vorgesehen ist, wobei der V2X-Eigenbewegungsprofilblock eine Bewegungsdatenschnittstelle 18 aufweist, mittels derer Bewegungsdaten des eigenen Fahrzeugs - hier nicht dargestellt - bereitstellbar sind, wobei die Bewegungsdaten im vorliegenden Fall die Position p, die Geschwindigkeit v, die Beschleunigung a und die daraus ermittelte Bewegungsrichtung umfassen. Genau wie im Fall des V2X- Bewegungsprofilblocks 15 kann auch der V2X-Eigenbewegungs-profilblock 17 weitere Daten umfassen, wie beispielsweise eine Statusinformation s und die Zeit t. Die Informationen können beispielsweise aus einem GPS- Empfänger des Eigenfahrzeugs stammen. Die Bewegungsdaten des eigenen Fahrzeugs können so der V2X-Anwendung innerhalb des Blockschaltbilds 5 und damit natürlich auch in der übertragenen V2X- Anwendung auf der Zielhardware 2 verfügbar gemacht werden.
Fig. 7 zeigt die Verwendung eines V2X-Eigenfahrzeugdatenbusblocks 19 in dem Blockschaltbild 5, wobei der V2X-Eigenfahrzeugdatenbusblock 19 wenigstens eine Datenbusdatenschnittstelle 20 aufweist, mittels derer Daten des Datenbusses 21 des eigenen Fahrzeugs bereitstellbar sind. Die Daten können speziell dem V2X-Kommunikationsblock 7 bereitgestellt werden, die Daten können aber auch anderen Teilen des Blockschaltbildes zur Verfügung gestellt werden. Entsprechend gilt, dass bei Übertragung des Blockschaltbildes 5 in ein V2X-Programm 6 und bei Ausführung dieses V2X-Programms 6 auf der Zielhardware 2 mittels der übertragenen Funktionalität des V2X-
Eigenfahrzeugdatenbusblocks 19 ein Zugriff auf die Daten des Datenbusses 21 des realen Fahrzeugs möglich ist. Diese Daten können dann im Rahmen der V2X- Anwendung ebenfalls verwendet werden. Bei dem Datenbus 21 handelt es sich um einen Datenbus, der der Vernetzung der Fahrzeugsteuergeräte 22 dient. Im dargestellten Ausführungsbeispiel handelt es sich bei dem Datenbus 21 um einen CAN-Bus.
Fig. 8 zeigt die Verwendung eines V2X-Triggerblock 30 in dem Blockschaltbild 5. Der V2X-Triggerblock 30 weist mehrere Ports einer Triggereingangsschnittstelle 31, und eine Triggerausgangsschnittstelle 32 auf. Ferner hat der V2X-Triggerblock 30 eine interne Triggerlogik, wobei die interne Triggerlogik über die Triggereingangsschnittstelle 31 empfangene Informationen auswertet und in Abhängigkeit von den empfangenen Informationen über die Triggerausgangsschnittstelle 32 ein Triggersignal ausgibt, das vorliegend zur Auslösung des Versendens einer Nachricht dient. Ferner weist der V2X- Triggerblock 30 auch einen Nachrichtenausgang 33 auf, über den der Typ der zu versendenden Nachricht ausgegeben wird. In dem dargestellten Anwendungsfall werden über die drei Ports der Triggereingangsschnittstelle 31 die Signale eines Rettungsfahrzeugs verarbeitet, nämlich die Statusinformationen "LightBarlnUse", "SirenlnUse" und "Velocity". Diese Informationen werden durch die Triggerlogik verarbeitet und davon abhängig ein Triggersignal zur Versendung einer Nachricht ausgegeben wie auch der Typ der Nachricht, beispielsweise "Rettungsfahrzeug im Einsatz mit Geschwindigkeit v".