Two DoF Non linear mass spring damper system with lookup tables, help with ODE
1 次查看(过去 30 天)
显示 更早的评论
Hi everybody, that's my first time writing here, so I apologize in advance for any mistake.
I'm trying to integrate the mathematical model of a landing gear drop test, modeled as a two dof mass spring damper system. The system and the two free body diagram are the following:
I wrote the system as 4 eq. one order, using some lookup table to solve the non-linearities:
function [ yp ] = sistema_interpolato( t, y, D, z_s, z_inf, m1, m2, delta_ref, F_el_sa_ref, deltadot_ref, F_damp_sa_ref,delta_tyre_ref, F_el_tyre_ref)
x1 = y(1);
x2 = y(2);
x1dot = y(3);
x2dot = y(4);
delta_sa = z_inf - (x1-x2); % with z_inf that's the 0-force distnace between x1 and x2
F_el_sa = interp1(delta_ref,F_el_sa_ref,delta_sa);
deltadot_sa = x2dot - x1dot; % compression/extension speed
F_damp_sa = interp1(deltadot_ref, F_damp_sa_ref, deltadot_sa);
delta_tyre = D/2 - x2; % tyre compression, with D = tyre diameter
F_el_tyre = interp1(delta_tyre_ref, F_el_tyre_ref, delta_tyre);
yp(1,1) = x1dot; % x1dot
yp(2,1) = x2dot; % x2dot
yp(3,1) = (1/m1) * (-m1*9.81 + F_el_sa + F_damp_sa); % x1dotdot
yp(4,1) = (1/m2) * (- F_el_sa - F_damp_sa + F_el_tyre); % x2dotdot
then I try to integrate with all ODEs solver in matlab and with an Euler fwd method implemented by me, obtaining always this warning:
Warning: Failure at t=3.909016e-02. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (1.110223e-16) at time t.
with t variable, depending on the time interval and the initial conditions (5,5,-3.7,-3.7).
Does anyone have any idea?
For this project I cannot use simulink unfortunately.
Thank you very much in advance :)
Grazie Mille!
1 个评论
Mischa Kim
2016-7-13
Paolo, please attach a copy of the derived differential equations and the entire code. My first guess would be a sign error in your equations that result in an unstable system.
回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!