200 likes | 342 Views
MÉTODOS MATEMATICOS DE ESPECIALIDAD. SIMULACIÓN DE UN AUTOMÓVIL CON MATLAB. Grupo 5 Álvaro Batres Pino 05040 Juan Gómez Castro 05152 Miguel Herrero Fernández 05189. Índice. El objetivo de este trabajo es simular dinámicamente un automóvil. Construcción del vehículo
E N D
MÉTODOS MATEMATICOSDE ESPECIALIDAD SIMULACIÓN DE UN AUTOMÓVIL CON MATLAB Grupo 5 Álvaro Batres Pino 05040 Juan Gómez Castro 05152 Miguel Herrero Fernández 05189
Índice El objetivo de este trabajo es simular dinámicamente un automóvil • Construcción del vehículo • Construcción del programa • Simulaciones
CONSTRUCCIÓN DEL VEHÍCULO MacPherson y FiveLink Grados de libertad Unión al chasis Equilibrio estático
MacPherson y FiveLink • Vehículo simétrico: CONSTR de la suspensión completa es igual a la mitad de CONSTR más la suma de dp o dv • Vehículo no simétrico: Problemas en CONSTR, hay que cambiar las bases que se usan para fijar puntosy vectores. En FiveLinkSuspCONSTR.m: >> Base = [r7-r8,r9-r8, u1]; >> Base2 = [r22-r23,r24-r23, u3]; >> C = inv(Base)*[r6-r8,r10-r8,r11-r8,r12-r8,u2]; >> C2 = inv(Base2)*[r21-r23,r25-r23,r26-r23,r27-r23,u4];
Unión al chasis • Esta has sido la parte más complicada del trabajo • Dificultad: Crear una base y fijar todos los puntos del chasis a esa base • Para fijar cada punto y vector al chasis hemos usado restricciones 1008 y 1007 respectivamente Vector u12 En ChassisCONSTR.m: >> % Base del chasis >> % Restricciones del soporte >> 1000,1, 12,0, 0,0,0,0,0,0,0, L112 >> 1000,1, 13,0, 0,0,0,0,0,0,0, L113 >> 1000,12,13,0, 0,0,0,0,0,0,0, L1213 >> % Se fija el vector 1213 a la chasis >> 1002,12, 1,12,0,0,0,0,0,0,L112, 0 >> 1002,12, 1,13,0,0,0,0,0,0,L113, 0 >> 1001,12, 0,0, 0,0,0,0,0,0,0, 0 Puntos 1, 12, 13
Equilibrio estático • Problemas • Dirección • Ruedas traseras • Motivo • Vectores de las cuatro ruedas no simétricos • El cálculo de las inercias no era correcto
Equilibrio estático Soluciones posibles: Pasarle a la función de inercia la matriz con los vectores simétricos Fijar las variables que no queríamos mover En CarStaticEquilMain.m: >> % Matriz simétrica para calculo de inercias >> Us = U; >> Us(5,2) = -Us(5,2); >> Us(10,1:3) = -Us(10,1:3); >> % Inertia data are defined >> Inertia5 = InertiaFiveLinkSusp(P,Us,displ); >> displ.P=0; displ.U=0; displ.DIST=0; displ.ANGLES=0; >> Inertiam = InertiaMacPherson(P,Us,displ); >> Inertiach = InertiaChassis(P,Us); >> Inertia=[Inertiach,Inertiam,Inertia5]; En CarStaticEquilMain.m: >> % Dependent coordinates are divided in fixed and free >> fixed=[ANGLES(:,2)’ ,DIST(1,2)',P(np,4:5), P(nch,5)]; >> qind=[P(np,6), P(nch,6), U(4,6), DIST(2:5,2)'];
CONSTRUCCIÓN DEL PROGRAMA Factorización LU Fuerza aerodinámica Energías
Factorización LU A A = L U En deriverindex2.m: >> [L,U]=lu(Fiqs(:,p)) >> Fiqs(:,p)=U\L La matriz U tiene la ventaja de que las m-r últimas filas se anulan, y por tanto pueden ser fácilmente eliminadas
Fuerza aerodinámica • Para programar la fuerza aerodinámica hemos utilizado la velocidad del punto centro del chasis (punto 52). • La dirección de aplicación de esta fuerza es la dirección del movimiento del mismo punto. En CarModel01Forces10.m: >> inxa=52*3-2:52*3; >> v52=vel(inxa); >> v52u=v52/norm(v52); >> vx=v52'*v52; >> Fxa=((1/2)*ro*Cx*Af*vx)*v52u; >> Qa(154:156)=-Fxa;
Energías • Energía disipada por amortiguadores: Regla de Simpson compuesta • Energía disipada por la resistencia aerodinámica: Regla trapezoidal compuesta En energybalance.m: >> if i>2 >>[...,Qd,...]= feval(fnc.Forces,...); >> % Se integra en el tiempo la potencia de estas fuerzas wncfi = Qd'*vel; >> % Se aplica la regla de Simpson utilizando 2 valores anteriores >> h=(TT(i)-TT(i-2))/2; >> Edisd(i) =Edisd(i-1)+(wncfi+wncfprev1+wncfprev2)*h/3; >> wncfprev2 = wncfprev1; >> wncfprev1 = wncfi;
SIMULACIONES Aceleración y frenado Curva Bache con desplazamientos Bache con fuerzas De 0 a 100 km/h Chicane
Aceleración y frenado • El frenado se efectúa en las cuatro ruedas, suponiendo un freno equilibrado • Hemos simulado un A8 quattro por lo tanto el vehículo tendrá tracción a las cuatro ruedas
Curva • Entre 0,01 s y 1,21 s se realiza un giro de función senoidal • Hemos simulado un giro de volante rápido para evitar un obstáculo
Bache con desplazamientos function [desp]=bache(q) >> xd=q(16); % Ruedas delanteras >> xt=q(94); % Ruedas traseras >> x1=2.2; % Inicio del bache >> x2=2.7; % Final del bache >> b=0.1; % Altura del bache >> % desp=[0 0 0;0 0 0;0 0 0;0 0 0]'; >> if xd<=x1 >> despd=0; >> elseif xd>x1 & xd<=x2 >> despd=-b*(sin(pi*(xd-x1)/(x2-x1))); >> else >> despd=0; >> end >> if xt<=x1 >> despt=0; >> elseif xt>x1 & xt<=x2 >> despt=-b*(sin(pi*(xt-x1)/(x2-x1))); >> else >> despt=0; >> end >> despd=despd.*[0,0,1;0,0,1]; % Ruedas delanteras >> despt=despt.*[0,0,1;0,0,1]; % Ruedas traseras >> desp=[despd; despt]'; En CarModel01Forces10.m: >> [desp]=bache(q) >> rA=[q(inw1),q(inw2),q(inw3),q(inw4)]+desp; • rA es la posición de los centros de las ruedas
Bache con fuerzas function [desp]=bache(q) >> xd=q(16); % Ruedas delanteras >> xt=q(94); % Ruedas traseras >> x1=2.2; % Inicio del bache >> x2=2.7; % Final del bache >> b=-25; % Altura del bache >> % desp=[0,0,0,0]'; >> if xd<=x1 >> despd=0; >> elseif xd>x1 & xd<=x2 >> despd=-b*(sin(pi*(xd-x1)/(x2-x1))); >> else >> despd=0; >> end >> if xt<=x1 >> despt=0; >> elseif xt>x1 & xt<=x2 >> despt=-b*(sin(pi*(xt-x1)/(x2-x1))); >> else >> despt=0; >> end >> despd=despd.*[1,0]; % Ruedas delanteras >> despt=despt.*[1,0]; % Ruedas traseras >> desp=[despd, despt]'; En CarModel01Forces10.m: >> % Fuerza normal en kN (perpendicular al suelo) >> Fn = -kt*def/1000+desp'; • rA es la posición de los centros de las ruedas • Para intentar conservar la energía programamos un bache que introducía una fuerza
De 0 a 100 km/h • Los datos del A8 quattro indican que acelera de 0 a 100 en 5,3 s. • En esta simulación hemos realizado la comprobación.
Chicane Frenado Bache Aceleración
Conclusiones • Construcción del vehículo • Lo más importante: Cumplir ecuaciones de restricción. • Punto clave: Creación base del chasis y unión de todos los puntos a ella. • Construcción del programa • Dificultades: Funciones Inertia específica para una única solución: Problemas para llegar a la solución requerida. • Problemas en las condiciones iniciales (CarModel01matini): Sistema inestable. • Simulaciones • Vehículo muy poco pesado: mal comportamiento dinámico como pérdidas de tracción en aceleración y frenado. • Conservación de la energía total excepto en los baches. • Muchas oscilaciones tras los baches: Hay que aumentar el amortiguamiento. • Fuerzas G dentro de unos límites razonables.