quinta-feira, fevereiro 24, 2011

Física dos Veículos: Parte 1 Aceleração

Estou estudando a física dos veículos aplicada a jogos, e achei diversos trabalhos interessantes na área é um assunto bem vasto e nesta parte vamos tratar apenas da aceleração longitudinal e o tutorial de base que eu estou seguindo é este
Então vamos lá, temos diversas forças atuando no veiculo e agora vamos tratar da força aplicada pelo motor até as rodas (estou desconsiderando a transmissão) isso ficará para o futuro, vamos chamar essa força Fengine. Depois vamos considerar a resistência do vento ela é definida por algumas constantes mágicas e a resistência do ar definida na Dinâmica dos fluidos, então temos:

 Fdrag = 0.5 * Cd * S * rho * (v*v)

Onde Cd = 0.30

S é a área frontal do veiculo aqui definimos como 2.2

rho é a Resistência do ar que é de 1.29

v é a velocidade do veiculo,

Fdrag é aplicada aposta a direção do veiculo então temos

Fdrag = -u * Fdrag

Onde u é a direção do veiculo

Temos também a Frr que é a resistência do solo (fricção das rodas) que é definida por:

Frr = -u * Crr * v * |v|

Cdrag = 0.5 * Cd * S * rho
 
Crr = 30 * Cdrag

Frr = -u * Crr

Considerando essas forças atuando no veículo fica desta maneira

Flong = Fengine + Fdrag + Frr

Lembrando que segundo Newton

 v = v + dt * a

a = F / M

Fiz a integração deste calculo no FreeMat  (Equivalente Open Source do MatLab) o resultado de v é:

Perceba que em determinado ponto como as forças estão interrelacionadas, elas se mantén constantes, segue o código:

l = 100
t = [1:l]; %Array de Tempo
v = [1:l]; %Array de Velocidade
u = 1; %Direção do veiculo
rho = 1.29; %resistencia do veloar (Dinamica dos Fluidos)
a = 1; %Aceleração
Cd = 0.30; %Constante de Resistencia do Ar
S = 2.2; % Constante de Largurado Veiculo
Fengine = 450; % Força do Motor
tAmount =1; %Posição do Acelerador em porcentagem
M = 1000 % Massa do Veiculo
Fd = [1:l];
Fr = [1:l];
for (i=2:l);
dt = (t(i) - t(i-1));
vt = v(i-1) + (dt * a); %integração da Velocidade
Fdrag = (0.5 * Cd * S * rho * (vt*vt)); % Resistencia do Vento
Cdrag = 0.5 * Cd * S * rho; %Constante de Resistencia da Solo
Crr = 30*Cdrag; %Resistencia do Vento
Fdrag = -u * Fdrag; %Forca da Resistencia do Vento
Frr = -u * Crr * vt * sqrt(vt); % Forca da Resistencia do Solo
Fe = u*tAmount*Fengine; %Forca do Motor
F = Fe + Fdrag+ Frr; %Calculo das forças do Veiculo
a = F / M; %Calculo da Aceleracao
v(i) = vt;
Fd(i) = Fdrag*-1;
Fr(i) = Frr*-1;
end
plot(t,v)
xlabel('Velocidade');
ylabel('Tempo');
title('Aceleração Longitudional');

 Na próxima parte vamos estudar as transmissões (Marchas) o RPM e as Rodas, e vamos integrar a Simulação na Open Dynamics Engine, espero que tenha gostado e seu Feed Back vai ajudar nas próximas partes