Softwarearchitektur des Fahrzeugs
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. Im Kapitel Parameterdateien wird auf die Parameter eingegangen, die gebraucht werden, um Simulinkmodell einzuführen. Im nächsten Kapitel wird der Datenfluss in beiden Modi beschrieben. Die Modi sind Offline-Modus und Online-Modus. Im Offline-Modus wird das ganze Fahrzeug simuliert, ohne echte Bestandteile. Durch Online-Modus wird das Fahrzeug, das es gibt, durchgeführt. In dem Modus werden die Daten von echten Sensoren gemessen.
Parameterdateien
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.
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.m 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. Im Folgendem ist der Quelltext der Parameterdatei param_AKT_online zu sehen.
%%% %%% Parameterdatei für AKT - Aktoren - online %%% Carolo-Cup-Fahrzeug %%% %%% Hochschule Hamm-Lippstadt %%%
global PAR_CAR_max_Lenkeinschlag_alpha_rad_f64
%% Lenkwinkel % Kennlinie für Pulsweite_Lenkwinkel zu mittlerem tatsächlichen Lenkwinkel % an den Vorderrädern PAR_LookUpLwY_f64 = [0.84 0.097 0.11 0.12 0.13]; %FEHLER: Hier fehlen noch x-Werte! Anzahl x-Werte = Anzahl y-Werte!!! 0.12 0.13 ergänzt PAR_LookUpLwX_f64 =[-0.02 -0.01 0 0.01 0.02];
%% Pararmeter Gaspedalstellung PAR_LookUpGaspedal_f64 = [-1 0 1]; PAR_LookUpPWMSignalGas_f64 = [0.0741 0.09144 0.1292];
%% Gradientenbegrenzung des Gaspedal-PWM-Ausgangs (Delta pro Schrittweite?) %riesiger Wert für Gradientenbegrenzung, um diese abzuschalten. Denn: die %Fernbedienung übermittelt noch kein richtiges Signal, mit dem "normal" %gefahren werden könnte. Warum ist noch unklar. Deshalb: %Gradientenbegrenzung erstmal weglassen. PAR_AktRtiPwm_GradbegrenzRising_f64 = 100000; % PAR_AktRtiPwm_GradbegrenzRising_f64 = 0.01/1000; % für die fallende Flanke ist der gleiche Wert verwendet (siehe % Simulinkblock)
%% Radiant in Lenkwinkel PWM PAR_LookUpLenkwinkel_f64 = [-PAR_CAR_max_Lenkeinschlag_alpha_rad_f64 0 PAR_CAR_max_Lenkeinschlag_alpha_rad_f64]; PAR_LookUpPWMSignalLw_f64 = [0.0738 0.1024 0.1303];
%% Parameter zum Schutz des Autos PAR_AktRtiPwm_MaxPwmBreiteGas_f64 = 0.097; PAR_AktRtiPwm_MinPwmBreiteGas_f64 = 0.087;
Autor: M.Anas Habbaba (Diskussion) 02:42, 30. April. 2020 (CET)
param_SEN_online
Die von Sensoren gelieferten Spannungen können beim Online Modus nicht direkt verwendet werden, sondern sollten in eine Distanz umgewandelt werden. Zur Umwandlung wird entweder eine LookupTable eingesetzt oder durch Umrechnung dargestellt.Außerdem wird die Aktivierungsdauer vorerst eingegeben, um Fernbedienungseingriff durchzugeben. Schließlich wird Filterfrequenz des PT1-Filters ausgeführt, um Rauschen zu filtern.
%%% %%% Parameterdatei für SEN - Sensoren - online %%% Carolo-Cup-Fahrzeug %%% %%% Hochschule Hamm-Lippstadt %%%
%% Abstandssensorik Infrarot PAR_SenAbs_LookUpVRx_f64 = [0.0075 0.0150 0.0221 0.0276 0.0312 0.037 0.0450 0.0545 0.0680 0.091 0.1330 0.1860 0.2510]; % Wert aus AD-Wandler [V] PAR_SenAbs_LookUpVRy_f64 = [0.6000 0.5500 0.5000 0.4500 0.4000 0.3500 0.3000 0.2500 0.2000 0.1500 0.1000 0.0700 0.0500]; % Abstand [m]
PAR_SenAbs_LookUpHRx_f64 = [0.0145 0.019 0.0252 0.0308 0.0375 0.0472 0.0591 0.0807 0.119 0.1670]; % Wert aus AD-Wandler [V] PAR_SenAbs_LookUpHRy_f64 = [0.5000 0.4500 0.4000 0.3500 0.3000 0.2500 0.2000 0.1500 0.1000 0.0700]; % Abstand [m]
PAR_SenFernb_Lw_UpperBound_f64 = 0.098; PAR_SenFernb_Lw_LowerBound_f64 = 0.09;
PAR_SenFernb_FreqGas_UpperBound_f64 = 70; PAR_SenFernb_FreqGas_LowerBound_f64 = 10;
%% Range für das Gas PAR_SenFernb_Gas_UpperBound_f64 = 0.11; PAR_SenFernb_Gas_LowerBound_f64 = 0.085;
% Aktivierungsdauer, damit Fernbedieungseingriff durchgegeben wird PAR_SenFernb_Gas_Aktivierung_f64 = 0.1;
% Range Frequenz Lenkwinkel PAR_SenFernb_FreqLw_UpperBound_f64 = 70; PAR_SenFernb_FreqLw_LowerBound_f64 = 10;
% Maximalgeschwindigkeit bei Schleichfahrt PAR_SenFernb_MaxGasPWMBreite_K_f64 = 0.98; PAR_SenFernb_MinGasPWMBreite_K_f64 = 0.94;
%% Abstandssensorik Ultraschall PAR_SenAbs_UltraschallKF_f64 = 2/0.0118; % Kalibrierfaktor zur Umrechnung von Pulsdauer auf Abstand [m]
%% Geschwindigkeitssensorik Hallsensor PAR_SenGesch_HallSampleTime_f64 = 0.001; % ms PAR_SenGesch_HallStep2Deg_f64 = 60/360; % 60 Deg Motorstep 60/360 = 0.1667 PAR_SenGesch_HallRaddurchmesser_f64 = 0.0663; % m PAR_SenGesch_HallRadumfang_f64 = pi*PAR_SenGesch_HallRaddurchmesser_f64; %0.2083 m PAR_SenGesch_HallMotoruebersetzung_f64 = 4; % 4 Motorumdrehungen = 1 Radumdrehung PAR_SenGesch_Hallv_min_f64 = 0.05; % Kleinste erreichbare Geschwindigkeit (darunter können die Hallsensoren nur zu selten Pulse empfangen) PAR_SenGesch_Hallds_f64 = 1*PAR_SenGesch_HallStep2Deg_f64*PAR_SenGesch_HallRadumfang_f64/PAR_SenGesch_HallMotoruebersetzung_f64; % Single Step
% Filterfrequenz des PT1-Filters der Rohgeschwindigkeit PAR_SenGeschw_AnteilFrequenz = 0.1; % [Hz]
%% Gierratensensor PAR_SenGier_UmrechFaktor_K_f64 = 60000/180*pi; % Umrechnugnsfaktor von AD-Wert [V] auf Gierrate [rad/s]