Magic Formula in Multibody model

4 次查看(过去 30 天)
Panagiotis
Panagiotis 2024-8-17
评论: Sam Chak 2024-8-17
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
Sam Chak 2024-8-17
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 CenterFile Exchange 中查找有关 Assembly 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by