Magic Formula in Multibody model
4 views (last 30 days)
Show older comments
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 Comment
Sam Chak
on 17 Aug 2024
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')
Answers (0)
See Also
Categories
Find more on Assembly in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!