Compare commits

..

17 Commits

Author SHA1 Message Date
235b1cd14c PT:V1 2024-01-18 23:20:11 +01:00
f7893173d9 V1 2024-01-10 16:03:41 +01:00
fcea576455 Dateien hochladen nach „tire_models“
40375 coenering mit 43164 drivebrake
unloaded radius = 20.574mm
rim = 7inch
normpress = 100000
alle paramenter konvergieren!
2024-01-09 20:18:33 +01:00
c50f370f66 „tire_models/40375mit43164_20.574_7inch_Fx und Mz0 konvergieren nicht.tir“ löschen 2024-01-09 20:16:36 +01:00
93ded23c72 Dateien hochladen nach „tire_models“ 2024-01-09 15:30:57 +01:00
f443fa5e30 „40375mit43164_20.574_7inch_Fx und Mz0 konvergieren nicht.tir“ löschen 2024-01-09 15:30:48 +01:00
0b3786ccdb Dateien hochladen nach „“ 2024-01-09 15:30:28 +01:00
5deb4cb4e4 Merge branch 'main' of https://git.fasttube.de/t.korjakow/ft24_pacejka_tyre 2024-01-05 19:47:45 +01:00
cf7d0d5632 Added mixed model 2024-01-05 19:47:37 +01:00
644bca2082 Merge branch 'main' of ssh://git.fasttube.de:313/t.korjakow/ft24_pacejka_tyre 2024-01-05 19:47:12 +01:00
824f9b1e74 PT:plot to compare. FX, FY, Mx, MZ 2024-01-05 19:46:37 +01:00
b8dd225dab Merge branch 'main' of https://git.fasttube.de/t.korjakow/ft24_pacejka_tyre 2024-01-05 11:01:31 +01:00
b4480d7ff1 Added fully fitted Hoosier 43164 20.5x7.0-13 R20, 8 inch tire models 2024-01-05 11:01:17 +01:00
96459e2b8f PT: plot to compare. Add Median und Mode 2024-01-04 21:11:59 +01:00
135739b8af PT:average absoulte residuals 2024-01-04 16:50:05 +01:00
ea33affc84 Merge branch 'main' of https://git.fasttube.de/t.korjakow/ft24_pacejka_tyre 2024-01-04 12:08:51 +01:00
b964bcade5 Updated reorganize 2024-01-04 12:08:39 +01:00
13 changed files with 1451 additions and 130 deletions

BIN
scripts/FX.fig Normal file

Binary file not shown.

BIN
scripts/FY.fig Normal file

Binary file not shown.

BIN
scripts/MX.fig Normal file

Binary file not shown.

BIN
scripts/MZ.fig Normal file

Binary file not shown.

Binary file not shown.

40
scripts/createFit.m Normal file
View File

@ -0,0 +1,40 @@
function [fitresult, gof] = createFit(SA, FY)
%CREATEFIT(SA,FY)
% Create a fit.
%
% Data for 'untitled fit 1' fit:
% X Input: SA
% Y Output: FY
% Output:
% fitresult : a fit object representing the fit.
% gof : structure with goodness-of fit info.
%
% See also FIT, CFIT, SFIT.
% Auto-generated by MATLAB on 04-Jan-2024 14:49:41
%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( SA, FY );
% Set up fittype and options.
ft = fittype( 'fourier8' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.MaxFunEvals = 100000;
opts.MaxIter = 50000;
opts.StartPoint = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7.29927003160889];
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
% % Plot fit with data.
% figure( 'Name', 'untitled fit 1' );
% h = plot( fitresult, xData, yData );
% legend( h, 'FY vs. SA', 'untitled fit 1', 'Location', 'NorthEast', 'Interpreter', 'none' );
% % Label axes
% xlabel( 'SA', 'Interpreter', 'none' );
% ylabel( 'FY', 'Interpreter', 'none' );
% grid on

View File

@ -2,30 +2,76 @@ function reorganize_data()
basePath = '../'; basePath = '../';
rawDataPath = fullfile(basePath, 'raw_data'); rawDataPath = fullfile(basePath, 'raw_data');
% Get all .mat files in the rawDataPath % Initialize maps to track run files and transient run numbers
runFilesMap = containers.Map('KeyType', 'char', 'ValueType', 'any');
transientRunMap = containers.Map('KeyType', 'char', 'ValueType', 'double');
files = dir(fullfile(rawDataPath, '**/*.mat')); files = dir(fullfile(rawDataPath, '**/*.mat'));
% Process files to categorize runs and identify transient runs
for i = 1:length(files) for i = 1:length(files)
filePath = fullfile(files(i).folder, files(i).name); data = load(fullfile(files(i).folder, files(i).name));
data = load(filePath);
if isfield(data, 'tireid') && isfield(data, 'testid') if isfield(data, 'tireid') && isfield(data, 'testid')
tireid = data.tireid; tireid = data.tireid;
testType = formatTestType(data.testid); testType = formatTestType(data.testid);
newDir = fullfile('../sorted_data', tireid); runNumber = extractRunNumber(files(i).name);
key = sprintf('%s_%s', tireid, testType);
if ~runFilesMap.isKey(key)
runFilesMap(key) = {};
end
runFiles = runFilesMap(key);
runFiles{end+1} = struct('path', fullfile(files(i).folder, files(i).name), 'runNumber', runNumber);
runFilesMap(key) = runFiles;
% Identify the transient run for cornering
if strcmpi(testType, 'cornering')
if transientRunMap.isKey(tireid)
transientRunMap(tireid) = min(transientRunMap(tireid), runNumber);
else
transientRunMap(tireid) = runNumber;
end
end
end
end
% Create directories for each tireid if they don't exist
mapKeys = runFilesMap.keys();
tireids = unique(cellfun(@(x) strtok(x, '_'), mapKeys, 'UniformOutput', false));
for i = 1:length(tireids)
newDir = fullfile('../sorted_data', tireids{i});
if ~exist(newDir, 'dir') if ~exist(newDir, 'dir')
mkdir(newDir); mkdir(newDir);
end end
newFilePath = fullfile(newDir, sprintf('%s.mat', testType));
if exist(newFilePath, 'file')
mergeData(newFilePath, filePath);
else
copyfile(filePath, newFilePath);
end end
% Merge files in ascending order of run number and handle transient runs
for i = 1:length(mapKeys)
key = mapKeys{i};
runFiles = runFilesMap(key);
[tireid, testType] = strtok(key, '_');
testType = testType(2:end); % Remove leading underscore
% Extract run numbers and sort runs by run number
runNumbers = arrayfun(@(x) x.runNumber, [runFiles{:}]);
[~, idx] = sort(runNumbers);
sortedRuns = runFiles(idx);
newDir = fullfile('../sorted_data', tireid);
for j = 1:length(sortedRuns)
if strcmpi(testType, 'cornering') && sortedRuns{j}.runNumber == transientRunMap(tireid)
% Handle transient cornering run separately
newFilePath = fullfile(newDir, 'cornering_transient.mat');
copyfile(sortedRuns{j}.path, newFilePath);
else else
warning('Required fields not found in %s', filePath); % Regular file processing
newFilePath = fullfile(newDir, sprintf('%s.mat', testType));
if j == 1 || ~exist(newFilePath, 'file')
copyfile(sortedRuns{j}.path, newFilePath);
else
mergeData(newFilePath, sortedRuns{j}.path);
end
end
end end
end end
end end
@ -71,3 +117,13 @@ function mergeData(mergedFilePath, newFilePath)
% Save the merged data % Save the merged data
save(mergedFilePath, '-struct', 'existingData'); save(mergedFilePath, '-struct', 'existingData');
end end
function runNumber = extractRunNumber(fileName)
num = sscanf(fileName, 'B2356run%d');
if isempty(num)
runNumber = NaN; % Indicate missing or invalid run number
else
runNumber = num;
end
end

View File

@ -1,6 +1,8 @@
%% please open Magic Formular APP first %% please open Magic Formular APP first
clear clear
n = 20; % <=60 clc
n = 20;
%% %%
directoryPath = "..\sorted_data"; directoryPath = "..\sorted_data";
subdirectories = getSubdirectories(directoryPath); subdirectories = getSubdirectories(directoryPath);
@ -14,8 +16,208 @@ subdirectories_list = contents([contents.isdir] & ~ismember({contents.name}, {'.
% Extract and display the names of the subdirectories % Extract and display the names of the subdirectories
subdirectoryNames = {subdirectories_list.name}; subdirectoryNames = {subdirectories_list.name};
%% %%
figure() % figure()
% for i=1:length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% FY = smoothdata(FY, "gaussian",100);
% if i < length(subdirectories)/3
% plot(SA, FY, 'LineWidth', 1)
% elseif i <= length(subdirectories)/3*2
% plot(SA, FY, '--','LineWidth', 1)
% else
% plot(SA, FY, '-.','LineWidth', 1)
% end
% SAA{i} = SA;
% FYY{i} = FY;
% hold on
% end
% legend(subdirectoryNames{:})
% title("Similarities, n=",n)
% xlabel("Slip Angle")
% ylabel("FY")
% SA-MX
% figure()
% for i=1:length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% MX = smoothdata(MX, "gaussian",100);
% if i < length(subdirectories)/3
% plot(SA, MX, 'LineWidth', 1)
% elseif i <= length(subdirectories)/3*2
% plot(SA, MX,'--','LineWidth', 1)
% else
% plot(SA, MX, '-.','LineWidth', 1)
% end
% hold on
% end
% legend(subdirectoryNames{:})
% title("Similarities, n=",n)
% xlabel("Slip Angle")
% ylabel("MX")
% SA - MZ
% figure()
% for i=1:length(subdirectories)
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% MZ = smoothdata(MZ, "gaussian",100);
% if i < length(subdirectories)/3
% plot(SA, MZ, 'LineWidth', 1)
% elseif i <= length(subdirectories)/3*2
% plot(SA, MZ,'--','LineWidth', 1)
% else
% plot(SA, MZ, '-.','LineWidth', 1)
% end
% SAA{i} = SA;
% MZZ{i} = MZ;
% hold on
% end
% legend(subdirectoryNames{:})
% title("Similarities, n=",n)
% xlabel("Slip Angle")
% ylabel("MZ")
% for n=1:1
% figure()
% j = 1;
% for i=8:8%length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% fileMeasurement1 = fullfile("..\sorted_data", subdirectories{i}, "\drivebrake.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% try
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% measurements1 = parser.run(fileMeasurement1);
% measurement1 = measurements1(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% [SX1,SA1,FZ1,IP1,IA1,VX1,FX1,FY1,MZ1,MY1,MX1,W1,T1] = unpack(measurement1);
%
% MX = smoothdata(MX, "gaussian");
% if i < length(subdirectories)/3
% plot(SA, FY, 'LineWidth', 1)
% elseif i <= length(subdirectories)/3*2
% plot(SA, FY, '--','LineWidth', 1)
% else
% plot(SA, FY, '-.','LineWidth', 1)
% end
% lengends{j} = subdirectoryNames{i};
% j = j+1;
% hold on
% catch
% disp(fileMeasurement)
% end
% end
% legend(lengends{:})
% title("Similarities, n=",n)
% xlabel("SA")
% ylabel("MZ")
% end
%% prove FY are the same
for n=1:10:60
figure()
for i=9:9%length(subdirectories)
fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
fileMeasurement1 = fullfile("..\sorted_data", subdirectories{i}, "\drivebrake.mat");
parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
try
measurements = parser.run(fileMeasurement);
measurement = measurements(n);
measurements1 = parser.run(fileMeasurement1);
measurement1 = measurements1(n);
[SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
[SX1,SA1,FZ1,IP1,IA1,VX1,FX1,FY1,MZ1,MY1,MX1,W1,T1] = unpack(measurement1);
MX = smoothdata(MX, "gaussian");
plot(SA, FY, 'LineWidth', 1)
hold on
plot(SA1, FY1, 'LineWidth', 1)
legend("Cornering", "drivebrake")
catch
disp(fileMeasurement)
end
end
title("Similarities, n=",n)
xlabel("SA")
ylabel("FY")
end
%% without plot
% mkdir('similarityDataFY');
% for n=1:60
% for i=1:length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% FY = smoothdata(FY, "gaussian",100);
% SAA{i} = SA;
% FYY{i} = FY;
% end
% file_name = ['similarityDataFY\nEqu' num2str(n) '.mat'];
% save(file_name, 'SAA', 'FYY');
% end
% mkdir('similarityDataFX');
% for n=1:60
% for i=1:length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% FX = smoothdata(FX, "gaussian",100);
% SAA{i} = SA;
% FXX{i} = FX;
% end
% file_name = ['similarityDataFX\nEqu' num2str(n) '.mat'];
% save(file_name, 'SAA', 'FXX');
% end
%
% mkdir("similarityDataMZ")
% for n=1:60
% for i=1:length(subdirectories)
% fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
% parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
% measurements = parser.run(fileMeasurement);
% measurement = measurements(n);
%
% [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
% MZ = smoothdata(MZ, "gaussian",100);
% SAA{i} = SA;
% MZZ{i} = MZ;
% end
% file_name = ['similarityDataMZ\nEqu' num2str(n) '.mat'];
% save(file_name, 'SAA', 'MZZ');
% end
mkdir("similarityDataMX")
for n=1:60
for i=1:length(subdirectories) for i=1:length(subdirectories)
fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat"); fileMeasurement = fullfile("..\sorted_data", subdirectories{i}, "\cornering.mat");
parser = tydex.parsers.FSAETTC_SI_ISO_Mat(); parser = tydex.parsers.FSAETTC_SI_ISO_Mat();
@ -23,16 +225,10 @@ for i=1:length(subdirectories)
measurement = measurements(n); measurement = measurements(n);
[SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement); [SX,SA,FZ,IP,IA,VX,FX,FY,MZ,MY,MX,W,T] = unpack(measurement);
if i < length(subdirectories)/3 MX = smoothdata(MX, "gaussian",100);
plot(SA, FY, 'LineWidth', 1) SAA{i} = SA;
elseif i <= length(subdirectories)/3*2 MXX{i} = MX;
plot(SA, FY, '--','LineWidth', 1)
else
plot(SA, FY, '-.','LineWidth', 1)
end end
hold on file_name = ['similarityDataMX\nEqu' num2str(n) '.mat'];
save(file_name, 'SAA', 'MXX');
end end
legend(subdirectoryNames{:})
title("Similarities, n=",n)
xlabel("Slip Angle")
ylabel("FY")

346
scripts/similarities2.m Normal file
View File

@ -0,0 +1,346 @@
clear;
clc;
% % FY
directoryPath = ".\similarityData";
% Get a list of all files in the directory
files = dir(fullfile(directoryPath, '*.mat')); % You can adjust the file extension as needed
% Extract file names
fileNames = {files.name};
for n=1:length(fileNames)
% fit the curve of 43075 , 8 inch
filePath = fullfile(directoryPath, fileNames(n));
load(filePath);
[fitresult, gof] = createFit(SAA{8},FYY{8});
% Evaluate the fitted curves
for tire=1:length(SAA)
y_fit = fitresult(SAA{tire});
% Calculate residuals
residuals{tire}{n} = abs(FYY{tire} - fitresult(SAA{tire}));
end
end
for tire=1:length(SAA)
residuals_one_tire = [];
for n=1:length(fileNames)
residuals_one_tire = [residuals_one_tire; residuals{tire}{n}];
end
residuals_tire{tire} = residuals_one_tire;
end
% mean
for tire=1:length(SAA)
num = 0;
% each tire under 60 measurement conditions
for i=1:length(residuals_tire{tire})
if not(isnan(residuals_tire{tire}(i)))
num = num + 1;
else
residuals_tire{tire}(i) = 0;
end
end
residuals_mean{tire} = sum(residuals_tire{tire})/num;
end
% median
for tire=1:length(SAA)
residuals_median{tire} = median(residuals_tire{tire});
end
% mode
for tire=1:length(SAA)
residuals_mode{tire} = mode(residuals_tire{tire});
end
%% plots
idx = linspace(1,length(SAA),length(SAA));
figure()
subplot(311)
y = cell2mat(residuals_mean);
plot(idx, y, "-*")
title("Average Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(312)
y = cell2mat(residuals_median);
plot(idx, y, "-o")
title("Median of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(313)
y = cell2mat(residuals_mode);
plot(idx, y, "-o")
title("Mode of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
sgtitle("FY")
%% FX
directoryPath = ".\similarityDataFX";
% Get a list of all files in the directory
files = dir(fullfile(directoryPath, '*.mat')); % You can adjust the file extension as needed
% Extract file names
fileNames = {files.name};
for n=1:length(fileNames)
% fit the curve of 43075 , 8 inch
filePath = fullfile(directoryPath, fileNames(n));
load(filePath);
[fitresult, gof] = createFit(SAA{8},FXX{8});
% Evaluate the fitted curves
for tire=1:length(SAA)
y_fit = fitresult(SAA{tire});
% Calculate residuals
residuals{tire}{n} = abs(FXX{tire} - fitresult(SAA{tire}));
end
end
for tire=1:length(SAA)
residuals_one_tire = [];
for n=1:length(fileNames)
residuals_one_tire = [residuals_one_tire; residuals{tire}{n}];
end
residuals_tire{tire} = residuals_one_tire;
end
% mean
for tire=1:length(SAA)
num = 0;
% each tire under 60 measurement conditions
for i=1:length(residuals_tire{tire})
if not(isnan(residuals_tire{tire}(i)))
num = num + 1;
else
residuals_tire{tire}(i) = 0;
end
end
residuals_mean{tire} = sum(residuals_tire{tire})/num;
end
% median
for tire=1:length(SAA)
residuals_median{tire} = median(residuals_tire{tire});
end
% mode
for tire=1:length(SAA)
residuals_mode{tire} = mode(residuals_tire{tire});
end
% plots
idx = linspace(1,length(SAA),length(SAA));
figure()
subplot(311)
y = cell2mat(residuals_mean);
plot(idx, y, "-*")
title("Average Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(312)
y = cell2mat(residuals_median);
plot(idx, y, "-o")
title("Median of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(313)
y = cell2mat(residuals_mode);
plot(idx, y, "-o")
title("Mode of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
sgtitle("FX")
%% Mx
directoryPath = ".\similarityDataMX";
% Get a list of all files in the directory
files = dir(fullfile(directoryPath, '*.mat')); % You can adjust the file extension as needed
% Extract file names
fileNames = {files.name};
for n=1:length(fileNames)
% fit the curve of 43075 , 8 inch
filePath = fullfile(directoryPath, fileNames(n));
load(filePath);
[fitresult, gof] = createFit(SAA{8},MXX{8});
% Evaluate the fitted curves
for tire=1:length(SAA)
y_fit = fitresult(SAA{tire});
% Calculate residuals
residuals{tire}{n} = abs(MXX{tire} - fitresult(SAA{tire}));
end
end
for tire=1:length(SAA)
residuals_one_tire = [];
for n=1:length(fileNames)
residuals_one_tire = [residuals_one_tire; residuals{tire}{n}];
end
residuals_tire{tire} = residuals_one_tire;
end
% mean
for tire=1:length(SAA)
num = 0;
% each tire under 60 measurement conditions
for i=1:length(residuals_tire{tire})
if not(isnan(residuals_tire{tire}(i)))
num = num + 1;
else
residuals_tire{tire}(i) = 0;
end
end
residuals_mean{tire} = sum(residuals_tire{tire})/num;
end
% median
for tire=1:length(SAA)
residuals_median{tire} = median(residuals_tire{tire});
end
% mode
for tire=1:length(SAA)
residuals_mode{tire} = mode(residuals_tire{tire});
end
% plots
idx = linspace(1,length(SAA),length(SAA));
figure()
subplot(311)
y = cell2mat(residuals_mean);
plot(idx, y, "-*")
title("Average Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(312)
y = cell2mat(residuals_median);
plot(idx, y, "-o")
title("Median of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(313)
y = cell2mat(residuals_mode);
plot(idx, y, "-o")
title("Mode of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
sgtitle("MX")
%% Mz
directoryPath = ".\similarityDataMZ";
% Get a list of all files in the directory
files = dir(fullfile(directoryPath, '*.mat')); % You can adjust the file extension as needed
% Extract file names
fileNames = {files.name};
for n=1:length(fileNames)
% fit the curve of 43075 , 8 inch
filePath = fullfile(directoryPath, fileNames(n));
load(filePath);
[fitresult, gof] = createFit(SAA{8},MZZ{8});
% Evaluate the fitted curves
for tire=1:length(SAA)
y_fit = fitresult(SAA{tire});
% Calculate residuals
residuals{tire}{n} = abs(MZZ{tire} - fitresult(SAA{tire}));
end
end
for tire=1:length(SAA)
residuals_one_tire = [];
for n=1:length(fileNames)
residuals_one_tire = [residuals_one_tire; residuals{tire}{n}];
end
residuals_tire{tire} = residuals_one_tire;
end
% mean
for tire=1:length(SAA)
num = 0;
% each tire under 60 measurement conditions
for i=1:length(residuals_tire{tire})
if not(isnan(residuals_tire{tire}(i)))
num = num + 1;
else
residuals_tire{tire}(i) = 0;
end
end
residuals_mean{tire} = sum(residuals_tire{tire})/num;
end
% median
for tire=1:length(SAA)
residuals_median{tire} = median(residuals_tire{tire});
end
% mode
for tire=1:length(SAA)
residuals_mode{tire} = mode(residuals_tire{tire});
end
% plots
idx = linspace(1,length(SAA),length(SAA));
figure()
subplot(311)
y = cell2mat(residuals_mean);
plot(idx, y, "-*")
title("Average Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
grid on
xticks(idx)
subplot(312)
y = cell2mat(residuals_median);
plot(idx, y, "-o")
title("Median of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
subplot(313)
y = cell2mat(residuals_mode);
plot(idx, y, "-o")
title("Mode of the Absolute Residuials")
xlabel("Order of the tires(8 is our traget tire)")
ylabel("in 1")
xticks(idx)
grid on
sgtitle("MZ")

View File

@ -0,0 +1,229 @@
[MDI_HEADER]
FILE_TYPE = 'tir'
FILE_VERSION = 3
FILE_FORMAT = 'ASCII'
$-----------------------------------------------------------------units
[UNITS]
LENGTH = 'meter'
FORCE = 'newton'
ANGLE = 'radians'
MASS = 'kg'
TIME = 'second'
$-----------------------------------------------------------------model
[MODEL]
FITTYP = 61
TYRESIDE = 'LEFT'
LONGVL = 10
VXLOW = 1
$-------------------------------------------------------------dimension
[DIMENSION]
UNLOADED_RADIUS = 0.20574
WIDTH = 0.1905
ASPECT_RATIO = 0.8267
RIM_RADIUS = 0.127
RIM_WIDTH = 0.2032
$--------------------------------------------------operating conditions
[OPERATING_CONDITIONS]
NOMPRES = 100000
$---------------------------------------------------------------inertia
[INERTIA]
MASS = kg
$--------------------------------------------------------------vertical
[VERTICAL]
FNOMIN = 1500
$------------------------------------------------------------structural
[STRUCTURAL]
$---------------------------------------------------------contact patch
[CONTACT_PATCH]
$----------------------------------------------inflation pressure range
[INFLATION_PRESSURE_RANGE]
$--------------------------------------------------vertical force range
[VERTICAL_FORCE_RANGE]
$-------------------------------------------------------long slip range
[LONG_SLIP_RANGE]
$------------------------------------------------------slip angle range
[SLIP_ANGLE_RANGE]
$-----------------------------------------------inclination angle range
[INCLINATION_ANGLE_RANGE]
$--------------------------------------------------scaling coefficients
[SCALING_COEFFICIENTS]
LFZO = 1
LCX = 1
LMUX = 1
LEX = 1
LKX = 1
LHX = 1
LVX = 1
LCY = 1
LMUY = 1
LEY = 1
LKY = 1
LHY = 1
LVY = 1
LTR = 1
LRES = 1
LXAL = 1
LYKA = 1
LVYKA = 1
LS = 1
LKYC = 1
LKZC = 1
LVMX = 1
LMX = 1
LMY = 1
LMP = 1
$---------------------------------------------longitudinal coefficients
[LONGITUDINAL_COEFFICIENTS]
PCX1 = 1.5
PDX1 = 2.1186
PDX2 = -0.13379
PDX3 = 11.9723
PEX1 = -0.27146
PEX2 = 0.40109
PEX3 = 0.6
PEX4 = -0.9
PKX1 = 35.4142
PKX2 = 20.0246
PKX3 = -0.97661
PHX1 = -0.0055756
PHX2 = 0.0002412
PVX1 = 0.058717
PVX2 = -0.033067
PPX1 = -2.4576
PPX2 = -4.043
PPX3 = -0.28527
PPX4 = 0.36685
RBX1 = 14.6533
RBX2 = 15.583
RBX3 = 48.2717
RCX1 = 1.2
REX1 = 0.50883
REX2 = 0.24823
RHX1 = 0.012901
$----------------------------------------------overturning coefficients
[OVERTURNING_COEFFICIENTS]
QSX1 = -0.023509
QSX2 = 2.0014
QSX3 = 0.11274
QSX4 = 0.071804
QSX5 = 0
QSX6 = 0
QSX7 = 0.024372
QSX8 = 0
QSX9 = 0
QSX10 = 0
QSX11 = 0
QSX12 = 0
QSX13 = 0
QSX14 = 0
PPMX1 = 0.46712
$--------------------------------------------------lateral coefficients
[LATERAL_COEFFICIENTS]
PCY1 = 1.5
PDY1 = 2.2152
PDY2 = -0.24006
PDY3 = 8.7883
PEY1 = 0.22956
PEY2 = 0.23261
PEY3 = 1.2231
PEY4 = -73.217
PEY5 = -368.3453
PKY1 = -27.4287
PKY2 = 1.3665
PKY3 = 1
PKY4 = 2
PKY5 = 16.4211
PKY6 = -5.0355
PKY7 = -2.3904
PHY1 = 0.0029497
PHY2 = 0.0030317
PVY1 = 0.097172
PVY2 = 0.1046
PVY3 = -1.9398
PVY4 = -0.060559
PPY1 = 0.62414
PPY2 = 1.4562
PPY3 = -0.21694
PPY4 = 0.20207
PPY5 = -0.2294
RBY1 = 15.2511
RBY2 = 4.6851
RBY3 = -0.15
RBY4 = 5.524
RCY1 = 0.85866
REY1 = -0.19774
REY2 = 5
RHY1 = 0.007696
RHY2 = 0.019597
RVY1 = 0
RVY2 = 0
RVY3 = 0
RVY4 = 0
RVY5 = 0
RVY6 = 0
$--------------------------------------------------rolling coefficients
[ROLLING_COEFFICIENTS]
QSY1 = 0
QSY2 = 0
QSY3 = 0
QSY4 = 0
QSY5 = 0
QSY6 = 0
QSY7 = 0
QSY8 = 0
$-------------------------------------------------aligning coefficients
[ALIGNING_COEFFICIENTS]
QBZ1 = 2.2492
QBZ2 = -2.0829
QBZ3 = -1.6133
QBZ4 = 113.4182
QBZ5 = -113.1977
QBZ9 = -2.2113
QBZ10 = -0.10713
QCZ1 = 3.1732
QDZ1 = 0.2302
QDZ2 = -0.089693
QDZ3 = 2.4601
QDZ4 = -34.0481
QDZ6 = 0.015409
QDZ7 = -0.0076995
QDZ8 = -0.084439
QDZ9 = 9.0558
QDZ10 = -8.1707
QDZ11 = -26.6613
QEZ1 = 0.58479
QEZ2 = -2.5778
QEZ3 = -3.8586
QEZ4 = 0.015591
QEZ5 = -0.090861
QHZ1 = 0.0019082
QHZ2 = -0.0033306
QHZ3 = -0.02611
QHZ4 = 1.3539
PPZ1 = -2.2988
PPZ2 = 0.24851
SSZ1 = -0.031619
SSZ2 = -0.078744
SSZ3 = 0
SSZ4 = 0
$-------------------------------------------------turnslip coefficients
[TURNSLIP_COEFFICIENTS]
PDXP1 = 0
PDXP2 = 0
PDXP3 = 0
PKYP1 = 0
PDYP1 = 0
PDYP2 = 0
PDYP3 = 0
PDYP4 = 0
PHYP1 = 0
PHYP2 = 0
PHYP3 = 0
PHYP4 = 0
PECP1 = 0
PECP2 = 0
QDTP1 = 0
QCRP1 = 0
QCRP2 = 0
QBRP1 = 0
QDRP1 = 0

View File

@ -0,0 +1,228 @@
[MDI_HEADER]
FILE_TYPE = 'tir'
FILE_VERSION = 3
FILE_FORMAT = 'ASCII'
$-----------------------------------------------------------------units
[UNITS]
LENGTH = 'meter'
FORCE = 'newton'
ANGLE = 'radians'
MASS = 'kg'
TIME = 'second'
$-----------------------------------------------------------------model
[MODEL]
FITTYP = 61
TYRESIDE = 'LEFT'
LONGVL = 10
VXLOW = 1
$-------------------------------------------------------------dimension
[DIMENSION]
UNLOADED_RADIUS = 0.20574
WIDTH = 0.2032
RIM_RADIUS = 0.254
RIM_WIDTH = 0.2032
$--------------------------------------------------operating conditions
[OPERATING_CONDITIONS]
NOMPRES = 97000
$---------------------------------------------------------------inertia
[INERTIA]
MASS = 3.6287
$--------------------------------------------------------------vertical
[VERTICAL]
FNOMIN = 1140
$------------------------------------------------------------structural
[STRUCTURAL]
$---------------------------------------------------------contact patch
[CONTACT_PATCH]
$----------------------------------------------inflation pressure range
[INFLATION_PRESSURE_RANGE]
$--------------------------------------------------vertical force range
[VERTICAL_FORCE_RANGE]
$-------------------------------------------------------long slip range
[LONG_SLIP_RANGE]
$------------------------------------------------------slip angle range
[SLIP_ANGLE_RANGE]
$-----------------------------------------------inclination angle range
[INCLINATION_ANGLE_RANGE]
$--------------------------------------------------scaling coefficients
[SCALING_COEFFICIENTS]
LFZO = 1
LCX = 1
LMUX = 1
LEX = 1
LKX = 1
LHX = 1
LVX = 1
LCY = 1
LMUY = 1
LEY = 1
LKY = 1
LHY = 1
LVY = 1
LTR = 1
LRES = 1
LXAL = 1
LYKA = 1
LVYKA = 1
LS = 1
LKYC = 1
LKZC = 1
LVMX = 1
LMX = 1
LMY = 1
LMP = 1
$---------------------------------------------longitudinal coefficients
[LONGITUDINAL_COEFFICIENTS]
PCX1 = 1.5
PDX1 = 2.0056
PDX2 = -0.14219
PDX3 = 3.9302
PEX1 = -0.44146
PEX2 = -0.60999
PEX3 = 0.6
PEX4 = -0.9
PKX1 = 30.6895
PKX2 = 22.1344
PKX3 = -1.2545
PHX1 = -0.0039672
PHX2 = -0.00099913
PVX1 = -0.0019729
PVX2 = -0.085842
PPX1 = -1.9846
PPX2 = -2.39
PPX3 = -0.6612
PPX4 = -0.70183
RBX1 = 20.8165
RBX2 = 16.5244
RBX3 = 719.7481
RCX1 = 1.04
REX1 = 0.67305
REX2 = 0.62374
RHX1 = -0.0025848
$----------------------------------------------overturning coefficients
[OVERTURNING_COEFFICIENTS]
QSX1 = -0.016561
QSX2 = 2.1865
QSX3 = 0.081194
QSX4 = 0.44488
QSX5 = 0
QSX6 = 0
QSX7 = 0.019222
QSX8 = 0
QSX9 = 0
QSX10 = 0
QSX11 = 0
QSX12 = 0
QSX13 = 0
QSX14 = 0
PPMX1 = 0.37295
$--------------------------------------------------lateral coefficients
[LATERAL_COEFFICIENTS]
PCY1 = 1.8586
PDY1 = 2.258
PDY2 = -0.32829
PDY3 = 9.9601
PEY1 = 0.64364
PEY2 = -0.55542
PEY3 = -0.10996
PEY4 = -5.3879
PEY5 = -45.5915
PKY1 = -41.2181
PKY2 = 2.0528
PKY3 = 0.72559
PKY4 = 2
PKY5 = 36.8632
PKY6 = -4.0914
PKY7 = -2.0202
PHY1 = 0.00027403
PHY2 = -2.2872e-05
PVY1 = 0.048602
PVY2 = 0.030584
PVY3 = -0.26546
PVY4 = 1.9087
PPY1 = 0.50301
PPY2 = 1.2958
PPY3 = -0.15219
PPY4 = 0.093692
PPY5 = -1.1309
RBY1 = 38.03
RBY2 = 14.4955
RBY3 = 0.039486
RBY4 = 49.0927
RCY1 = 0.91003
REY1 = 0.74082
REY2 = 0.1359
RHY1 = 0.0025767
RHY2 = 0.0059086
RVY1 = 0
RVY2 = 0
RVY3 = 0
RVY4 = 0
RVY5 = 0
RVY6 = 0
$--------------------------------------------------rolling coefficients
[ROLLING_COEFFICIENTS]
QSY1 = 0
QSY2 = 0
QSY3 = 0
QSY4 = 0
QSY5 = 0
QSY6 = 0
QSY7 = 0
QSY8 = 0
$-------------------------------------------------aligning coefficients
[ALIGNING_COEFFICIENTS]
QBZ1 = 0.42286
QBZ2 = -0.14241
QBZ3 = -0.14767
QBZ4 = 27.0482
QBZ5 = -27.2817
QBZ9 = 0.058045
QBZ10 = 0.0026325
QCZ1 = 17.3533
QDZ1 = 0.14691
QDZ2 = -0.059137
QDZ3 = 1.3754
QDZ4 = -27.248
QDZ6 = 0.01906
QDZ7 = -0.009968
QDZ8 = -2.7485
QDZ9 = 6.0439
QDZ10 = 5.4202
QDZ11 = -24.0105
QEZ1 = -1.6389
QEZ2 = -9.0585
QEZ3 = -11.2643
QEZ4 = 2.2186
QEZ5 = 0.22602
QHZ1 = 0.0028312
QHZ2 = -0.013895
QHZ3 = -0.26076
QHZ4 = 1.0186
PPZ1 = -2.7245
PPZ2 = -0.74267
SSZ1 = -0.048316
SSZ2 = -0.091767
SSZ3 = 0
SSZ4 = 0
$-------------------------------------------------turnslip coefficients
[TURNSLIP_COEFFICIENTS]
PDXP1 = 0
PDXP2 = 0
PDXP3 = 0
PKYP1 = 0
PDYP1 = 0
PDYP2 = 0
PDYP3 = 0
PDYP4 = 0
PHYP1 = 0
PHYP2 = 0
PHYP3 = 0
PHYP4 = 0
PECP1 = 0
PECP2 = 0
QDTP1 = 0
QCRP1 = 0
QCRP2 = 0
QBRP1 = 0
QDRP1 = 0

View File

@ -17,15 +17,16 @@ LONGVL = 10
VXLOW = 1 VXLOW = 1
$-------------------------------------------------------------dimension $-------------------------------------------------------------dimension
[DIMENSION] [DIMENSION]
UNLOADED_RADIUS = 0.2286 UNLOADED_RADIUS = 0.20574
$--------------------------------------------------operating conditions $--------------------------------------------------operating conditions
[OPERATING_CONDITIONS] [OPERATING_CONDITIONS]
NOMPRES = 100000 NOMPRES = 99000
$---------------------------------------------------------------inertia $---------------------------------------------------------------inertia
[INERTIA] [INERTIA]
MASS = kg
$--------------------------------------------------------------vertical $--------------------------------------------------------------vertical
[VERTICAL] [VERTICAL]
FNOMIN = 1500 FNOMIN = 1560
$------------------------------------------------------------structural $------------------------------------------------------------structural
[STRUCTURAL] [STRUCTURAL]
$---------------------------------------------------------contact patch $---------------------------------------------------------contact patch
@ -70,40 +71,40 @@ LMP = 1
$---------------------------------------------longitudinal coefficients $---------------------------------------------longitudinal coefficients
[LONGITUDINAL_COEFFICIENTS] [LONGITUDINAL_COEFFICIENTS]
PCX1 = 1.5 PCX1 = 1.5
PDX1 = 1.9208 PDX1 = 2.0648
PDX2 = -0.17852 PDX2 = -0.15342
PDX3 = 3.9292 PDX3 = 12.1289
PEX1 = -0.6473 PEX1 = -0.17784
PEX2 = -0.67795 PEX2 = 0.563
PEX3 = 0.6 PEX3 = 0.6
PEX4 = -0.9 PEX4 = -0.9
PKX1 = 23.6691 PKX1 = 35.1456
PKX2 = 18.5248 PKX2 = 24.3339
PKX3 = -1.6735 PKX3 = -1.2273
PHX1 = -0.0044404 PHX1 = -0.0050602
PHX2 = -0.0017213 PHX2 = 0.0013983
PVX1 = -0.024192 PVX1 = 0.034156
PVX2 = -0.1 PVX2 = -0.1
PPX1 = -2.3463 PPX1 = -1.7796
PPX2 = -2.7112 PPX2 = -2.9784
PPX3 = -0.74204 PPX3 = -0.3492
PPX4 = -0.7617 PPX4 = 0.38929
RBX1 = 5.99 RBX1 = 11.1213
RBX2 = 5.99 RBX2 = 12.6753
RBX3 = 0 RBX3 = 5.0211
RCX1 = 1 RCX1 = 1.1591
REX1 = -1 REX1 = -0.06655
REX2 = -0.1 REX2 = 0.055878
RHX1 = 0 RHX1 = 0.032551
$----------------------------------------------overturning coefficients $----------------------------------------------overturning coefficients
[OVERTURNING_COEFFICIENTS] [OVERTURNING_COEFFICIENTS]
QSX1 = 0 QSX1 = -0.011071
QSX2 = 1.5 QSX2 = 1.9673
QSX3 = 0.1 QSX3 = 0.11823
QSX4 = 0.1 QSX4 = 0.066517
QSX5 = 0 QSX5 = 0
QSX6 = 0 QSX6 = 0
QSX7 = 0.1 QSX7 = 0.05706
QSX8 = 0 QSX8 = 0
QSX9 = 0 QSX9 = 0
QSX10 = 0 QSX10 = 0
@ -111,45 +112,45 @@ QSX11 = 0
QSX12 = 0 QSX12 = 0
QSX13 = 0 QSX13 = 0
QSX14 = 0 QSX14 = 0
PPMX1 = 0 PPMX1 = 0.36777
$--------------------------------------------------lateral coefficients $--------------------------------------------------lateral coefficients
[LATERAL_COEFFICIENTS] [LATERAL_COEFFICIENTS]
PCY1 = 1.5 PCY1 = 1.6675
PDY1 = 2.4789 PDY1 = 2.1768
PDY2 = -0.5 PDY2 = -0.48644
PDY3 = 10 PDY3 = 5.9709
PEY1 = 1.2322 PEY1 = 0.51141
PEY2 = 0.47308 PEY2 = -0.012972
PEY3 = -0.3052 PEY3 = -0.050898
PEY4 = -7.8434 PEY4 = -4.5261
PEY5 = -115.0383 PEY5 = -70.188
PKY1 = -21.5408 PKY1 = -58.0824
PKY2 = 1.2661 PKY2 = 2.1273
PKY3 = -0.59067 PKY3 = 1
PKY4 = 2 PKY4 = 2
PKY5 = -25.9435 PKY5 = 34.5112
PKY6 = -2.5098 PKY6 = -5.7422
PKY7 = 0.61093 PKY7 = -3.8244
PHY1 = -0.0083677 PHY1 = 0.0019699
PHY2 = -0.0052997 PHY2 = 0.00075738
PVY1 = -0.16592 PVY1 = 0.051696
PVY2 = 0.071875 PVY2 = 0.014416
PVY3 = -0.74422 PVY3 = 1.0271
PVY4 = -3.5858 PVY4 = 1.2347
PPY1 = 0.32063 PPY1 = 0.82385
PPY2 = 1.3726 PPY2 = 1.4074
PPY3 = -0.2143 PPY3 = -0.17124
PPY4 = -0.032422 PPY4 = -0.11678
PPY5 = -1.5161 PPY5 = -0.60425
RBY1 = 5 RBY1 = 27.8314
RBY2 = 2.99 RBY2 = 18.3875
RBY3 = 0.02 RBY3 = 0.030113
RBY4 = 0 RBY4 = -90
RCY1 = 1 RCY1 = 0.98399
REY1 = -0.1 REY1 = 0.66603
REY2 = 0.1 REY2 = 0.42965
RHY1 = 0 RHY1 = 0.0027678
RHY2 = 0 RHY2 = 0.0092365
RVY1 = 0 RVY1 = 0
RVY2 = 0 RVY2 = 0
RVY3 = 0 RVY3 = 0
@ -168,37 +169,37 @@ QSY7 = 0
QSY8 = 0 QSY8 = 0
$-------------------------------------------------aligning coefficients $-------------------------------------------------aligning coefficients
[ALIGNING_COEFFICIENTS] [ALIGNING_COEFFICIENTS]
QBZ1 = 0.10008 QBZ1 = 1.167
QBZ2 = 0.00023246 QBZ2 = -0.12363
QBZ3 = 0.00029086 QBZ3 = -0.024724
QBZ4 = -0.0031101 QBZ4 = -178.5697
QBZ5 = -0.0031102 QBZ5 = 178.4563
QBZ9 = 1.5088 QBZ9 = -15.5984
QBZ10 = -0.19344 QBZ10 = -0.42485
QCZ1 = 0.11987 QCZ1 = 7.1867
QDZ1 = 0.1152 QDZ1 = 0.19446
QDZ2 = 0.0047181 QDZ2 = -0.073114
QDZ3 = 0.96498 QDZ3 = 1.4741
QDZ4 = -0.73585 QDZ4 = -33.4633
QDZ6 = -0.0036203 QDZ6 = 0.018614
QDZ7 = -0.050338 QDZ7 = -0.0071083
QDZ8 = -0.084844 QDZ8 = -1.8286
QDZ9 = 5.8235 QDZ9 = 2.4371
QDZ10 = 1.612 QDZ10 = 0.30258
QDZ11 = -0.47189 QDZ11 = -2.7828
QEZ1 = -0.025293 QEZ1 = 0.2928
QEZ2 = -0.096812 QEZ2 = -10.1916
QEZ3 = -0.090171 QEZ3 = -31.1995
QEZ4 = -0.0044756 QEZ4 = -0.30557
QEZ5 = -0.0044755 QEZ5 = 27.0423
QHZ1 = 0.01593 QHZ1 = 0.0039846
QHZ2 = -0.0020194 QHZ2 = -0.0045528
QHZ3 = -0.002358 QHZ3 = 0.085773
QHZ4 = 0.0013057 QHZ4 = -0.02284
PPZ1 = 0 PPZ1 = -3.0722
PPZ2 = 0 PPZ2 = -2.7578
SSZ1 = 0 SSZ1 = -0.032766
SSZ2 = 0 SSZ2 = -0.066404
SSZ3 = 0 SSZ3 = 0
SSZ4 = 0 SSZ4 = 0
$-------------------------------------------------turnslip coefficients $-------------------------------------------------turnslip coefficients

View File

@ -0,0 +1,225 @@
[MDI_HEADER]
FILE_TYPE = 'tir'
FILE_VERSION = 3
FILE_FORMAT = 'ASCII'
$-----------------------------------------------------------------units
[UNITS]
LENGTH = 'meter'
FORCE = 'newton'
ANGLE = 'radians'
MASS = 'kg'
TIME = 'second'
$-----------------------------------------------------------------model
[MODEL]
FITTYP = 61
TYRESIDE = 'LEFT'
LONGVL = 10
VXLOW = 1
$-------------------------------------------------------------dimension
[DIMENSION]
UNLOADED_RADIUS = 0.2667
$--------------------------------------------------operating conditions
[OPERATING_CONDITIONS]
NOMPRES = 99000
$---------------------------------------------------------------inertia
[INERTIA]
MASS = kg
$--------------------------------------------------------------vertical
[VERTICAL]
FNOMIN = 1560
$------------------------------------------------------------structural
[STRUCTURAL]
$---------------------------------------------------------contact patch
[CONTACT_PATCH]
$----------------------------------------------inflation pressure range
[INFLATION_PRESSURE_RANGE]
$--------------------------------------------------vertical force range
[VERTICAL_FORCE_RANGE]
$-------------------------------------------------------long slip range
[LONG_SLIP_RANGE]
$------------------------------------------------------slip angle range
[SLIP_ANGLE_RANGE]
$-----------------------------------------------inclination angle range
[INCLINATION_ANGLE_RANGE]
$--------------------------------------------------scaling coefficients
[SCALING_COEFFICIENTS]
LFZO = 1
LCX = 1
LMUX = 1
LEX = 1
LKX = 1
LHX = 1
LVX = 1
LCY = 1
LMUY = 1
LEY = 1
LKY = 1
LHY = 1
LVY = 1
LTR = 1
LRES = 1
LXAL = 1
LYKA = 1
LVYKA = 1
LS = 1
LKYC = 1
LKZC = 1
LVMX = 1
LMX = 1
LMY = 1
LMP = 1
$---------------------------------------------longitudinal coefficients
[LONGITUDINAL_COEFFICIENTS]
PCX1 = 1.5
PDX1 = 2.0648
PDX2 = -0.15342
PDX3 = 12.1289
PEX1 = -0.17784
PEX2 = 0.563
PEX3 = 0.6
PEX4 = -0.9
PKX1 = 35.1456
PKX2 = 24.3339
PKX3 = -1.2273
PHX1 = -0.0050602
PHX2 = 0.0013983
PVX1 = 0.034156
PVX2 = -0.1
PPX1 = -1.7796
PPX2 = -2.9784
PPX3 = -0.3492
PPX4 = 0.38929
RBX1 = 11.1331
RBX2 = 12.6807
RBX3 = 4.153
RCX1 = 1.1596
REX1 = -0.068608
REX2 = 0.052784
RHX1 = 0.032035
$----------------------------------------------overturning coefficients
[OVERTURNING_COEFFICIENTS]
QSX1 = -0.0078067
QSX2 = 0.51737
QSX3 = 0.091207
QSX4 = -0.10015
QSX5 = 0
QSX6 = 0
QSX7 = 10.9752
QSX8 = 0
QSX9 = 0
QSX10 = 0
QSX11 = 0
QSX12 = 0
QSX13 = 0
QSX14 = 0
PPMX1 = 1.0792
$--------------------------------------------------lateral coefficients
[LATERAL_COEFFICIENTS]
PCY1 = 1.6675
PDY1 = 2.1768
PDY2 = -0.48644
PDY3 = 5.9709
PEY1 = 0.51141
PEY2 = -0.012972
PEY3 = -0.050898
PEY4 = -4.5261
PEY5 = -70.188
PKY1 = -58.0824
PKY2 = 2.1273
PKY3 = 1
PKY4 = 2
PKY5 = 34.5112
PKY6 = -5.7422
PKY7 = -3.8244
PHY1 = 0.0019699
PHY2 = 0.00075738
PVY1 = 0.051696
PVY2 = 0.014416
PVY3 = 1.0271
PVY4 = 1.2347
PPY1 = 0.82385
PPY2 = 1.4074
PPY3 = -0.17124
PPY4 = -0.11678
PPY5 = -0.60425
RBY1 = 27.8314
RBY2 = 18.3875
RBY3 = 0.030113
RBY4 = -90
RCY1 = 0.98399
REY1 = 0.66603
REY2 = 0.42965
RHY1 = 0.0027678
RHY2 = 0.0092365
RVY1 = 0
RVY2 = 0
RVY3 = 0
RVY4 = 0
RVY5 = 0
RVY6 = 0
$--------------------------------------------------rolling coefficients
[ROLLING_COEFFICIENTS]
QSY1 = 0
QSY2 = 0
QSY3 = 0
QSY4 = 0
QSY5 = 0
QSY6 = 0
QSY7 = 0
QSY8 = 0
$-------------------------------------------------aligning coefficients
[ALIGNING_COEFFICIENTS]
QBZ1 = 0.16633
QBZ2 = 0.0056748
QBZ3 = 0.067521
QBZ4 = 50.8558
QBZ5 = -50.9946
QBZ9 = 15.4176
QBZ10 = 0.42498
QCZ1 = 49.5583
QDZ1 = 0.14773
QDZ2 = -0.059219
QDZ3 = 1.6287
QDZ4 = -35.6742
QDZ6 = 0.01414
QDZ7 = -0.0050238
QDZ8 = -1.3791
QDZ9 = 1.8212
QDZ10 = -0.034803
QDZ11 = -1.5176
QEZ1 = -0.21511
QEZ2 = 1.0726
QEZ3 = 1.5408
QEZ4 = -1.1908
QEZ5 = 16.7096
QHZ1 = 0.0042517
QHZ2 = -0.0030017
QHZ3 = 0.05872
QHZ4 = -0.17859
PPZ1 = -3.0638
PPZ2 = -2.8093
SSZ1 = -0.025289
SSZ2 = -0.051196
SSZ3 = 0
SSZ4 = 0
$-------------------------------------------------turnslip coefficients
[TURNSLIP_COEFFICIENTS]
PDXP1 = 0
PDXP2 = 0
PDXP3 = 0
PKYP1 = 0
PDYP1 = 0
PDYP2 = 0
PDYP3 = 0
PDYP4 = 0
PHYP1 = 0
PHYP2 = 0
PHYP3 = 0
PHYP4 = 0
PECP1 = 0
PECP2 = 0
QDTP1 = 0
QCRP1 = 0
QCRP2 = 0
QBRP1 = 0
QDRP1 = 0