Magic Formula in Multibody model

5 views (last 30 days)
Panagiotis
Panagiotis on 17 Aug 2024
Commented: Sam Chak on 17 Aug 2024
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
Sam Chak on 17 Aug 2024
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')

Sign in to comment.

Answers (0)

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!