필터 지우기
필터 지우기

Two DoF Non linear mass spring damper system with lookup tables, help with ODE

조회 수: 8 (최근 30일)
Paolo
Paolo 2016년 4월 17일
댓글: Mischa Kim 2016년 7월 13일
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
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개)

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by