Lack of precision trying to calculate IRI using a quarter car model
5 views (last 30 days)
Show older comments
Hello there, I'm trying to calculate IRI (international roughness index) using a quarter car model. As you can see at the end of the code has 2 differents methods to get IRI, the first one is "IRI" wich uses the vertical displacement and the second one uses vertical velocity. To compare I'm using Proval Software and sometimes the second method gives me a number close to proval, but sometimes not and i don't know why. Any help will be welcome guys!!
*Note: the "IRI3" variable i'm trying to filter the output signal just to see what's happen
clear all
close all
%Restrições que não podem ser alteradas no código
%V = 22,22 m/s
%kt = rigidez pneu, ms = massa suspensa, mus = massa ñ suspensa,
%cs =coeficiente de amortecimento, ks = rigidez da mola
%k/ms = 63.3, kt/ms = 653, c/ms = 6, mus/ms = 0,15
%Parametros encontrados em P 53 little book of profiling
% Caracteristicas massa suspensa
k = 6330; % Rigidez da mola (N/m) entre massa suspensa e não suspensa
c = 600; % Fator de amortecimento massa suspensa
ms = 100; % 1/4 da massa suspensa (kg)
% Caracteristicas massa não suspensa
mus = 15; % 1/4 da massa não suspensa (kg)
kus = 65300; % Rigidez do pneu (N/m)
v = 80/3.6; % Velocidade do veiculo (m/s)
%Representação estado de espaço verificar "modern control engineering ogata
%p88
Aqcar = [0 1 0 0;-k/ms -c/ms k/ms c/ms;0 0 0 1;k/mus c/mus -(k+kus)/mus -c/mus];
Bqcar = [0 0 0 kus/mus]'; Cqcar = [1 0 0 0; 0 0 1 0; 0 1 0 0;0 0 0 1];
Dqcar = 0;
qcar = ss(Aqcar,Bqcar,Cqcar,Dqcar);
%Cqcar=[x1,v1,x2,v2] baseado na formulação acima
% Respota y(:,1) deslocamento da massa suspensa
% Respota y(:,2) deslocamento da massa não suspensa
% Respota y(:,3) deslocamento relativo entre massa suspensa e não suspensa
% (adicionar um absoluto para eliminar valores negativos)
% Respota y(:,4) velocidade relativa entre massa suspensa e não suspensa
% FORMULAÇÃO ESTÁ CORRETA ATÉ AQUI
x0 = [0 0 0 0]; % estado inicial
load sg_esq_inteira % Perfil de pista determinado
dx = dx_danilo(2) - dx_danilo(1); % Diferencial de espaço dx entre coordenadas dx=0.01
dt2 = dx/v; % Diferencial de tempo dt entre coordenadas dt2=0.01/22.22
tempo = 0:dt2:(length(dx_danilo)-1)*dt2;
% Respostas do modelo proposto, baseados na entrada Cqcar
y = lsim(qcar,Sf_elevacao_esq,tempo,x0);
% PLOT RESPOSTA
figure(1);clf
plot(tempo,y(:,2), 'b'); hold on
plot(tempo,y(:,1),'g')
legend('deslocamento massa n suspensa','deslocamento massa suspensa')
xlabel('tempo (s)')
ylabel('deslocamento (m)')
%%% AREA DE CALCULO DO IRI
% suspenso=y(:,1) nsuspenso=y(:,2) *L40,41
delta=sum(abs(y(:,1)-y(:,2))); %Soma dos deslocamentos absolutos descrito pela subtração dos deslocamentos da massa suspensa e da massa não suspensa
IRI=(1/(v*tempo(end)*1e-3))*delta*dx %%UNIDADE m/km[
delta2=sum(abs(y(:,3)-y(:,4))); %Soma das velocidades absolutas
IRI2=(1/(v*tempo(end)*1e-3))*delta2*dt2 %%UNIDADE m/km
a=1;
b=[1/4 1/4 1/4 1/4];
c=(y(:,3));
d=(y(:,4));
filtro= filter(b,a,c);
filtro2= filter(b,a,d);
delta3=sum(abs(filtro-filtro2)); %Soma das velocidades absolutas
IRI3=(1/(v*tempo(end)*1e-3))*delta3*dt2 %%UNIDADE m/km
6 Comments
Surendra Chowdari Gatiganti
on 14 Apr 2021
I think you might want to read this paper "On the Calculation of International Roughness Index from Longitudinal Road Profile"
Surendra Chowdari Gatiganti
on 14 Apr 2021
szg0094@auburn.edu send me an email on this, if you want to discuss about this. Thanks
Answers (1)
Mehmet Rizelioglu
on 24 Jun 2022
Hi Lucas, could you find answer your question? i have a problem like yours. can you help me to solve my problem?
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!