Magic Formula in Multibody model
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello,
I am using Magic Formula for contact forces in a Multibody Vehicle model (Simscape). The COG of vehicle is free to move about World Frame through a 6-DOF joint, where I kept the internal mechanics (stifness/damping to zero).
I have the following problem using Magic Formula. My body is bouncing to the ground the whole simulaiton time. Looking on the wheel forces through magic formula I get a sinus pfofile of Fz(front,rear) with not enough damping. Also after some time the front wheel Fz is to high that makes the front axle to bounce much and lose contact.
I tried to put some stifness and damping on the 6-DOF joint for Pz or change the .tir file vertical/stifness/damping. Only by giving a high Pz stifness to the joint makes the body move properly, however I see some weird response on the wheel Fz afterwards.
Could you please give me some advice or any ideas to solve that issue?
댓글 수: 1
Sam Chak
2024년 8월 17일
Hi @Panagiotis
Have you tried using your own "Magic Formula"?
You can create one by taking the derivative of the product of a linear function and a relatively fast saturating sigmoidal curve. However, the inverse tangent, , is 'too slow' because it takes a very large value to saturate at .
x = linspace(-1, 1, 2001);
k1 = 3; % parameter 1
k2 = 5; % parameter 2
y1 = k1*x; % Linear function, where k1 > 0
y2 = erf((sqrt(pi)/2)*k2*x); % Gaussian Integral function (aka Error function)
y3 = (2/pi)*atan(pi/2*k2*x); % Inverse tangent
y = y1.*y2;
dy = gradient(y)./gradient(x);
figure
plot(x, [y1; y2; y3; y]), grid on
xlabel('x'), ylabel('y')
title('Find Your Own Magic Formula')
legend('Linear fcn (y_{1})', 'Sigmoid (y_{2})', 'ArcTan (y_{3})', 'y_{1}·y_{2}', 'location', 'best')
figure
plot(x, dy, 'linewidth', 2, 'color', '#265EF5'), grid on
xlabel('Slip ratio'), ylabel('Longitudinal Force')
title('Your Tire Model')
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Assembly에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!