Softwarearchitektur des Fahrzeugs: Unterschied zwischen den Versionen
Zeile 185: | Zeile 185: | ||
Im diese Modell werden von DSpace-Karte liefernde Signale in Function Call Subsystem weiterleitet, indem Hall-Sensoren, Distanz und Geschwindigkeit verarbeitet. | Im diese Modell werden von DSpace-Karte liefernde Signale in Function Call Subsystem weiterleitet, indem Hall-Sensoren, Distanz und Geschwindigkeit verarbeitet. | ||
<br>[[Datei: | <br>[[Datei:Online_Sensor_aktor_test_Sen_Geschwindigkeit.jpg|1200px|thumb|none|Abbildung 12: Sen_Geschwindigkeit im Sensor Aktor Test.jpg]]. | ||
<br>[[Datei:SEN-Geschwindigkeitt.jpg|1200px|thumb|none|Abbildung 12: SEN-Geschwindigkeit]]. | <br>[[Datei:SEN-Geschwindigkeitt.jpg|1200px|thumb|none|Abbildung 12: SEN-Geschwindigkeit]]. | ||
<br>[[Datei: | <br>[[Datei:Online_Sensor_aktor_test_Sen_Geschwindigkeit3.jpg|1200px|thumb|none|Abbildung 12: SEN-Geschwindigkeit]]. | ||
<br>[[Datei:SEN-Geschwindigkeitt.jpg|1200px|thumb|none|Abbildung 12: SEN-Geschwindigkeit]]. | <br>[[Datei:SEN-Geschwindigkeitt.jpg|1200px|thumb|none|Abbildung 12: SEN-Geschwindigkeit]]. |
Version vom 12. Juli 2022, 15:10 Uhr
Autor:
M.Anas Habbaba (Diskussion) 18:42, 28. April. 2020 (CET)
Lihui Liu (Diskussion) 18:42, 28. April. 2020 (CET)
Einleitung
In diesem Artikel "Softwarearchitektur des Fahrzeugs" geht es um Beschreibung der Softwarearchitektur des Fahrzeugs CaroloCup. Zuerst wird allgemein über die Softwarearchitektur erläutert, danach im Kapitel Parameterdateien wird auf die Parameter eingegangen, die gebraucht werden, um Simulinkmodell einzuführen. Im nächsten Hauptkapitel werden beide Modi des Fahrzeugs beschrieben. Die Modi sind Offline-Modus und Online-Modus. Um die Simulation durchzuführen, muss zuerst die Datei "start.m" gestartet werden. Die Datei beinhaltet einige Parameter, die das Verhalten des Fahrzeugs und der Simulation festlegen.
Anforderungen
Die Abbildung 1 zeigt REQ10.3250 Modellierung der System- und Softwarearchitektur.
Für das Pflichtenheft wurden folgende Anforderung erstellt. Es ist in der Abbildung 2 zu sehen.
Allgemeins
Softwarearchitektur will erreichen, dass das Anwendungssystem die Anforderungen erfüllt. Die Abbildung 3 zeigt den allgemeinen Datenfluss von dem autonomen Fahrzeug.
Dieser Datenfluss zeigt die Architektur, die aus Wahrnehmung von Sensoren, Sensorendaten Fusion, Verhaltensentscheidung und Bewegungsmanagment besteht. Die Lokalisierung ist verantwortlich für die Schätzung des Status des Autos. Bei der Erkennung von Objekte und Spur werden statische Objekte und dynamische Objekte erkannt. Dann werden die von Sensoren gesammelten Daten(Position, Objekt und Fahrbahn) fusioniert. Fusion bezieht sich auf Information mit denselben Attributen zu verschmelzen. Mit dieser Information analysiert Verhaltensentscheidung die Umgebung des Fahrzeugs und prognostiziert, was als nächstes passieren könnte. Wenn Objekte in der Fahrbahn erkannt werden, werden die aktuelle Position der Objekte und Verlauf seines Pfades verfolgt. Mit dem Verlauf kann den zukünftige Pfade der dynamischen Objekte vorhersagt werden. Damit das Fahrzeug Entscheidungen treffen kann, um Kollisionen mit potenziell sich bewegenden Objekte zu vermeiden. Außerdem plant sie die vernünftig Pfad, um das Ziel zu erreichen. Bei dem Bewegungsmanagment umfasst Längs- und Querreglung. Längsreglung steuert die Geschwindigkeit, während Querreglung Lenkwinkel ausgibt.
Übersicht der Online-und Offline Modus
Nachdem "start.m" gestart wurde, kann jetzt der Simulationstyp (Offline oder Online) gewählt werden. Es wird dadurch gewählt, den Parameter "Schalter_offline" mit 0 (Online-Modell) oder mit 1 (Offline-Modell) festzulegen. Detaillierte Beschreibung ist unter: Parameter beschrieben.
Das Online-Modus ist jenes Modus, welches für Verarbeitung sämtlicher Daten während der Laufzeit des Fahrzeuges (also beim Fahren auf der Strecke) verantwortlich ist. Das Modus ist nach dem EVA-Prinzip aufgebaut und verarbeitet die eingehenden Sensorikdaten durch eine Logik, welche anschließend wieder in Aktorikbefehle gewandelt werden.
Nach der Festlegung des Parameters mit 0, ist "Run" zu drücken. Dann erscheint die Abbildung 4.
Hier sind die Module gezeigt, die im Online-Modus durchgeführt werden.
Folgendes ist die Abbildung 5 ein Datenfluss für Online-Modell.
Das Online-Modell dient zur Laufzeit des Fahrzeugs. Aus diesem Datenfluss ist zu ersehen, dass in dem Sensoren Block die Signale vom Kamera, Längsgeschwindigkeit, Gierrate, Fernbediengung, Abstandsensorik und Taster geleitet werden, und die Sensoren an die DSpace-Karte liefern in das Programm eingelesen. In dem Block Signalaufbereitung werden die Signal des Gyro-Sensors bearbeitet und Informationen fusioniert und die Spurkoeffizienten gefiltert, damit das Fahrzeug die richtige Entscheidung trifft. Bei der Bewegungsmanagement geht es um 4 Modus. Die Längsregelung des Fahrzeugs erfordert eine exakte Bestimmung der Sollgeschwindigkeit . Die Querregelung wird verglichen, welche Bahn das Auto fahren würde (Istgröße) und welche Bahn das Auto fahren soll (Sollgröße). Beim autonomen Einparken werden eine passende Parklücke finden ,vermessen und anschließend anhalten oder einparken. Das Fahrtmodus legt fest aus welcher Quelle das Fahrzeug die aktuelle Sollgeschwindigkeit und den Solllenkwinkel wählt. Es gibt drei Möglichkeiten: Es kann unabhängig von einander die Geschwindigkeit und der Lenkwinkel des BSF und des AEP Moduls genutzt werden oder die Sollwerte können manuell festgeleget werden. In dem Aktoren-Block werden die PWM-Signale für den Lenkwinkel und die Geschwindigkeit an die RTI-Blöcke weitergeleitet werden. Zusätzlich wird das Signal für die blaue LED, die den Eingriff und die Fahrt im RC-Modus signalisiert, auf den entsprechenden Anschluss an der DSpace Karte übertragen. Zähler und Zeitstrahl sind Timer. Im Block Geschwindigkeit gibt es Hallsensoren, die zurückgelegt Strecke zu ermitteln. Die beiden Blöcke ist unabhängig voneinander und werden nicht verbinden.
Das Offline-Modus ist jenes Modus, welches ein realistisches Abbild des Online-Modus an jedem PC bereit stellt. Hiermit können neue Software-Stände im Modultest getestet werden und bei erfolgreichem Arbeiten auf das Online-Modus übertragen werden. Das Modus ist nach dem EVA-Prinzip aufgebaut und verarbeitet die eingehenden Sensorikdaten durch eine Logik, welche anschließend wieder in Aktorikbefehle gewandelt werden. Nach der Festlegung des Parameters mit 0, ist "Run" zu drücken. Dann erscheint die Abbildung 6.
Mit dem Bild sind die Simulinkmodule im Offline-Modus zu sehen.
Folgende Abbildung 7 zeigt den Datenfluss vom Offline-Modell.
Das Offline-Modell steht ein realistisches Abbild des Online-Modells an jedem PC zur Verfügung. Der vorliegende Datenfluss basiert auf Online-Modell, aber nach dem Aktoren gibt es 2 Modelle auszuwählen, Für das autonome Einparken wird ein Kinematik- und für den Rundkurs ein Einspurmodell genutzt. Sie werden durch den Schalter betätigt. Der Block Darstellung lässt den Rundkurs und die Fahrspur anzeigen. FromWorkspace Block dient zum Einladen der Messdaten. Außer Zähler und Zeitstrahl als Timer werden Darstellung und FromWorkspace Block mit Block Sensoren verbunden.
Parameterdateien
Die Parameterdateien befinden sich in Ordner parameter . In den Parameterdateien handelt sich um die Parameter, die für Realisierung der Funktionen des Fahrzeugs benötigt sind. In diesem Kapital werden die Parameter in drei Unterkapitel eingeteilt. Parameter in Online-Modus, Offlinemodus und gemeinsame Parameter. In "start.m" gibt es drei wesentliche Parameter, die die Form der Simulation ändern.
Name des Parameters | Aufgabe des Parameters | Parameterwert | Funktion des Parameters beim Wert |
---|---|---|---|
Schalter_offline | Auswahl des Simulationstyps | 0 | Aktivieren von Simulink Online (Modell für die dSPACE-Karte) |
Schalter_offline | Auswahl des Simulationstyps | 1 | Aktivieren von Simulink Online |
PAR_Modi_Schalter_Fahrbahn_int | Laden verschiedener Fahrbahnformen | 3 | Rundkurs ohne Kreuzung mit Stopplinie |
PAR_Modi_Schalter_Fahrbahn_int | Laden verschiedener Fahrbahnformen | 2 | Rundkurs mit Kreuzung, Start direkt vor S-Kurve |
PAR_Modi_Schalter_Fahrbahn_int | Laden verschiedener Fahrbahnformen | 1 | Rundkurs mit Kreuzung |
PAR_Modi_Schalter_Fahrbahn_int | Laden verschiedener Fahrbahnformen | 0 | Rundkurs ohne Kreuzung |
Simulinkmodus | Auswahl des Simulinkmodus | 4 | BSF incl. Objekt auf der Fahrbahn |
Simulinkmodus | Auswahl des Simulinkmodus | 3 | AEP (Lücke suchen, vermessen und einparken) |
Simulinkmodus | Auswahl des Simulinkmodus | 2 | AEP (Lücke suchen, vermessen und anschließend anhalten) |
Simulinkmodus | Auswahl des Simulinkmodus | 1 | BSF |
Name des Parameters ist der Name des Parameters, der in start.m ist. Aufgabe des Parameters zeigt, wofür der Parameter eingesetzt wird. Parameterwert ist der Wert, mit dem der Parameter versehen wird, damit eine bestimmte Funktion oder Form durchgeführt wird. Die Funktion ist mit Funktion des Parameters beim Wert gekennzeichnet.
Parameter im Online-Modus
In dem Kapitel geht es um die Parameter, die nur im Online-Modus benötigt sind.
param_AKT_online
param_AKT_online ist für AKT-Aktoren-Online. Die Parameterdatei stellt die Parameter zur Ansteuerung der Aktoren. Die Parameter führen zur Steuerung des Lenkwinkels, Gaspedals sowie zum Schutz des Fahrzeugs im Online-Modus.
param_SEN_online
Durch Hilfe von den Parametern in der Datei werden die aus den Sensoren (z.B. Infrarotsensor, Gierratensensor und Geschwindigkeitssensorik) gelieferten Spannungen im Online-Modus in notwendige Daten (Distanz, Geschwindigkeit) umgerechnet. Die Parameter befinden sich in der Datei : "param_SEN_online under" : "\Software\CaroloCupFahrzeug\parameter" in SVN. Die Datei hat viele Parameter, die in Simulink benötigt sind. Als Beispiel zeigt die Abbildung 8, wie und wo der Parameter "PAR_SenGier_UmrechFaktor_K_f64" eingesetzt werden.
Parameter im Offline-Modus
Die Parameterdateien, die sich unter dem Kapitel "Parameter im Offline-Modus" befinden, werden nur im Offline-Modus verwendet.
param_SEN_offline
Das Ziel der Datei param_SEN_offline ist die Simulation der Sensoren. Indem zuerst die Fahrbahntype ausgewählt wird, danach werden die Positionen und Dimensionen der parkenden Fahrzeuge für das autonome Einparken und die Straßendimension für die Bahn- und Spurführung erstellt.
Die Abbildung 9 zeigt den Parameter PAR_SenKam_Stoplinien_f64 aus der Datei param_ESM_offline in Simulink.
param_ESM_offline
Die Parameter der Datei dienen zur Simulation des Moduls Einspurmodell im Offline-Modus. Diese Parameter bestimmen die Länge, Breite und die Masse des Fahrzeugs sowie Informationen über Reifen und Aktordynamik. Die Parameter haben Wirkungen auf die Geschwindigkeit und die Stabilität des Fahrzeugs. Mit den Daten kann der Schwerpunkt des Fahrzeugs berechnet werden. Unter [1] sind einige Parameter, die im Einspurmodell benutzt werden, zu sehen. Die Parameter kommen aus der Datei param_ESM_offline, die sich unter folgendem Pfad param_ESM_offline befinden.
param_VIS_offline
Die Datei ist für die Visualisierung der Offline-Simulation. Sie bestimmt, wie oft die Anzeige erneut geplottet wird. In dem Fall wird die gefahrene Bahn je 100 Schritte geplottet. Die Datei param_VIS_offline befindet sich unter: param_VIS_offline
param_AKT_offline
Die Datei param_AKT_offline beinhaltet keine Parameter und ist zurzeit leer. Die Datei befindet sich unter: param_AKT_offline
Gemeinsame Parameter
Die Parameterdateien, die sich unter dem Kapitel "Gemeinsame Parameter" befinden, werden sowohl im Online-Modus als auch im Offline-Modus verwendet.
param_CAR
Die Parameter der Datei sind für die Bestimmung der Dimensionen und der Masse vom Fahrzeug sowie Sensorpositionen im körperfesten Koordinatensystem. Hinweis: Einige Parameter, die hier festgelegt werden, werden in der Datei param_ESM_offline verwendet. Die Datei befindet sich unter: param_CAR
param_AEP
Diese Parameterdatei ist für die Funktion des automen Einparkens bereit gestellt. Hier werden zum Einen die zu fahrenden Geschwindigkeiten während des Einparkvorgangs, zum Anderen aber auch der maximal erlaubte Einparkwinkel definiert. Vorerst wird die maximal notwendige Größe der Parklücke vor Durchführung des Vorgangs berechnet. Es werden ein seitlicher Abstand zu den Hindernissen von 8cm angenommen und die Maße des Fahrzeug aus param_CAR verwendet. Die Datei befindet sich unter: param_AEP
param_BSF
Bei dieser Parameterdatei "param_BSF" handelt es sich um die Parameter für die Bahn- und Spurführung. Diese sind zum Beispiel die Anteile der Längs- und Querregelung, Lenkwinkelbegrenzung und eine Lookuptabelle für die Geschwindigkeit über den Lenkwinkel. Die Datei befindet sich unter: param_BSF
param_OSE
Die Datei ist leer und beinhaltet keine Daten und keine Parameter. Die Datei wurde trotzdem angelegt und befindet sich unter: param_OSE.
param_SAB
Bei der Signalaufbereitung werden die Parameter für die Gierratensensor (z.B. Zeitverzögerung für Gyrokalibrierung) eingesetzt. Die Parameter in der Datei sind auch dafür zuständig, Rauschen von dem Gierratensensor und der Kamera zu filtern. Die Datei befindet sich unter: param_SAB
Simulinkmodelle
In dem Kapitel wird auf die Simulinkmodelle von dem CaroloCupFahrzeug eingegangen. Es wird beschrieben, welche Aufgaben die Blöcke haben und wie die Zusammenhänge zwischen den Blöcken sind. Wie o.g. gibt es zwei Modi. Manche Blöcke sehen an den Modi unterschiedlich aus, deshalb werden hier Blöcke im Online-Modus, Offline-Modus erläutert. Der Rest ist im Unterkapitel "Gemeinsame Modulle in beiden Modi", da die Blöcke in beiden Modi gleich sind.
Online-Modus
SEN-Online
Der Block "SEN-Sensoren-online" dient zum Einlesen der Sensoren, die im Fahrzeut eingesetzt sind. In der Abbildung 10 ist der Block SEN zu sehen.
Das Modell besteht aus mehreren Blöcken. Jeder Block rechnet die Werte und wandelt die um, um seine Messungen danach in nächsten Modellen weiterzuarbeiten. Die Abbildung 11 zeigt den Block SenVx-Laengsgeschwindigkeit.
.
In dem Block SenVx-Laengsgeschwindigkeit werden die drei Phasen der Hall-Sensoren eingelesen und Geschwindigkeit mit PT1-Verhalten berechnet.
SEN-Geschwindigkeit
Im diese Modell werden von DSpace-Karte liefernde Signale in Function Call Subsystem weiterleitet, indem Hall-Sensoren, Distanz und Geschwindigkeit verarbeitet.
.
.
.
.
.
.
.
.
AKT-Online
Offline-Modus
SEN-Offline
Hier ist ein Datenfluss für SEN-Offline. Eine genauer Sicht ist hier. offline.vsd
Kamera dient zur Objekt- und Spurkennung und die Koordinatentransformation. Indem zuerst durch das Schalter die Kamerasensor ein oder ausschalten, dann werden Position und Winkel des Fahrzeugs von Weltkoordinaten in Koordinatensystem transformiert. Diese Eingaben sind im Matlabfunction berechnet, und gibt die Spure A,B,C aus. Die Ein- und Ausgänge aus ersten Block werden alle als Eingänge im Block von der Stopplinienerkennung.Es gibt auch ein Function, falls Stopplinie auf Fahrspur erkannt, wird das Stoppflag gesetzt und Abstande zur kreuzenden Stopplinie berechnet. Bei der Längesgeschwindigkeit wird der Bus mit dem LookupTabel verbunden und gibt die Sollgeschwindigkeit aus. Im Block Lenkwinkel sind Sensorlenkwinkel und Bus die Eingänge, der durch Gain die Signal vom Solllenkwinkel verstärkt. Abstandsensorik dient zur Messung des Abstandes zwischen einem Objekt und einem Bezugspunkt oder von Längenänderungen. Objektliste stellt die parkenden Hindernisse dar, Schalter ist verantwortlich dafür, dass die Abstandsensorik aktivieren. Die Breite und Länge des Fahrzeug wird benötigt, denn durch das Matlabfunction werden Berechnungen für alle Objekte der Objektliste jeweils für den vorderen Sensor (VR, vorn rechts) sowie den hinteren Sensor (HR, hinten rechts) durchgeführt. Im Block von Gierrate ist die Signal von der Abstandsensorik den Eingang, mit dem Bus werden die Dreh-Winkel weitergeleitet, die Ausgaben werden mittels Gain die Signal verstärkt. Die Taster werden im Sensoren-Block als feste Variablen implementiert, welche zu Beginn der Offline-Simulation passend nach Moduswahl auf eins gesetzt werden und somit einer Schalterbetätigung entsprechen. Block Init ist verantwortlich für die Initialisierung der Fahranzeige. Block LIDAR ist ähnlich wie Kamera, dadurch, dass Schalter LIDAR aktiviert wird. Position und Winkel des Fahrzeugs aus Einspurmodell von Weltkoordinaten in Koordinatensystem transformiert. Zähler zeigt auf, wie oft das Programm schon aufgerufen wurde. Sie sind mit Objektliste im Matlabfunction verwendet und realisiert die Funktion der Erkennung.
AKT-Offline
Hier zeigt den Datenfluss vom Aktoren im Offline-Betrieb
Die Eingänge vom AKT-Offline verbinden mit dem Bus und die Ausgänge vom Fahrtmodus. Bus wird direkt mit dem Ausgang verbunden. Solllenkwinkel und Sollgeschwindigkeit aus Fahrtmodus steuern die Fahrsignalanzeige vom LED durch den Schalter , Ausgänge des LED sind Links - und Rechtsblinker, Bremslicht und Rückfahrlicht.
ESM
Datenfluss für Einspurmodell finden Sie folgende.
In der aktuellen Konfiguration werden Lenkwinkel und Geschwindigkeit als Eingangsgröße in das Einspurmodell geführt. Sie sind mit der Parameter aus Einspurmodell_offline verbunden und in dem Blöcken „Vorderreifen“ , „Hinterreifen“ und Schwimmwinkel weitergeleitet. In dem Block „Summe der Kräfte im Schwerpunkt“ werden die Längskräfte zusammen mit den Querkräften zu den resultierenden Kräften im Schwerpunkt des Fahrzeuges in Y-Richtung des Körperkoordinatensystems umgerechnet. In dem Block „Gierdynamik Schwerpunktsatz im Bahnsystem“ wird aus dieser Kraft und der Masse des Fahrzeuges die aktuelle Beschleunigung in dem Körperkoordinatensystem bestimmt. Sie verbinden mit dem Block Geschwindigkeiten und gibt Position der Dreh-Winkel des Fahrzeugs aus.
Kinematikmodell
Das Kinematikmodell ist ein vereinfachtes Einspurmodell, welches die Bewegungsgleichung des Fahrzeugs unter Vernachlässigung der auf das Fahrzeug wirkenden Kräfte beschreibt.
Folgende ist ein Datenfluss des Kinematikmodells.
Ziel des Kinematikmodells ist es aus der Sollgeschwindigkeit und aus dem Sollenkwinkel des Fahrzeugs alle benötigten Variablen zur Beschreibung der Bewegungsgleichung zu bestimmen. Kinematikmodells besteht aus 3 Hauptblöcke:PSI bestimmen, BETA bestimmen und Transformation. Indem Geschwindigkeit und Lenkwinkel als Eingänge sind. Beim Block PSI-Berechnung hängig Winkels Ψ von Geschwindigkeit, Lenkwinkel δ und Achsabstand ab. Die Rückgabewerte der PSI-Berechnung ist die Winkelgeschwindigkeit Ψ und der Winkel Ψ , der sich durch das integrieren von Ψ ergibt. Der Schwimmwinkel β ist abhängig von dem Achsabstand, dem Abstand von der hinteren Achse bis zum Fahrzeugschwerpunkt und von dem Lenkwinkel. Als Rückgabewerte der BETA-Berechnung sind Winkelgeschwindigkeit und Winkel. Die Rückgabewerte aus PSI bestimmen, BETA bestimmen verbinden mit Transformation, die die Koordinatentransformation aus dem Fahrzeugkoordinatensystem in das Intertialkoordinatensystem beschreibt. Die Ausgabewerte des Funktionblocks „Koordinatentransformation“ sind die gefahrene Strecke und die Geschwindigkeit in X- und Y-Richtung.
ToWorkspace
Darstellung
Gemeinsame Modulle in beiden Modi
FAMO
Folgende ist ein Datenfluss für den Fahrtmodus.
Fahrtmodus legt fest aus welcher Quelle das Fahrzeug die aktuelle Sollgeschwindigkeit und den Solllenkwinkel wählt. Für jede Quelle gibt 3 Möglichkeit die Geschwindigkeit und der Lenkwinkel des BSF und des AEP Moduls oder die Sollwerte können manuell durch eine Variable festgelegt werden. Indem sie durch den Schalten mit den Quellen verbinden. Es gibt jedoch die Möglichkeit aus dem AEP Modul durch Lenkwinkelschalter während der Fahrt zwischen dem Sollenkwinkel des BSF Moduls auf den des AEP Moduls umzuschalten. Diese Variable wird über den Bus vom AEP Modul in das FAMO Modul übergeben.
Zähler
SAB
OSE
BSF
AEP
Zusammenfassung
Die Softwarearchitektur ist für die andere Gruppe ein besseres Verständnis vom autonomen Fahrzeug verantwortlich, aber nach dem Gespräch wird dieses Thema von anderem Thema ersetzt, leider ist nicht alles fertig.