Source code for TirePacejka

import Tire


[docs]class TirePacejka(Tire.Tire): '''TirePacejka tire model :var a0: Shape factor [-] :var a1: Load dependency of lateral friction (1000) [1/kN] :var a2: Lateral friction level (1000) [-] :var a3: Maximum cornering stiffness [N/deg] :var a4: Load at maximum cornering stiffness [kN] :var a5: Camber sensitivity of cornering stiffness :var a6: Load dependency of curvature factor :var a7: Curvature factor level :var a8: Camber sensitivity of horizontal shift :var a9: Load dependency of horizontal shift :var a10: Horizontal shift level :var a11: Combined load and camber sensitivity of vertical shift :var a12: Load dependency of vertical shift :var a13: Vertical shift level ''' def __init__(self): super(TirePacejka, self).__init__() self.a0 = 1 self.a1 = 0 self.a2 = 800 self.a3 = 3000 self.a4 = 50 self.a5 = 0 self.a6 = 0 self.a7 = -1 self.a8 = 0 self.a9 = 0 self.a10 = 0 self.a11 = 0 self.a12 = 0 self.a13 = 0 def PlotTire(self, Fz, muy): # % Returns the handle of the curve # alpha = (0:0.1:15)*pi/180; # Fy = - self.Characteristic(alpha, Fz, muy); # p = plot(alpha*180/pi,Fy); # grid on; box on; # xlabel('Slip angle [deg]') # ylabel('Lateral force [N]') pass def Characteristic(self, alpha, Fz, muy): # % Input # % alpha - slip angle [rad] # % Fz - Load [N] # % muy - Lateral friction coefficient (*1000) [-] # # % Slip angle treatment # ALPHA = asin(sin(alpha)); % [rad] # ALPHA = 180 / pi * ALPHA; % Conversion [rad] - [deg] # % Nominal parameters # a0 = self.a0; # a1 = self.a1; # a2 = self.a2; # a3 = self.a3; # a4 = self.a4; # a5 = self.a5; # a6 = self.a6; # a7 = self.a7; # a8 = self.a8; # a9 = self.a9; # a10 = self.a10; # a11 = self.a11; # a12 = self.a12; # a13 = self.a13; # # Fz = Fz/1000; % Conversion [N] - [kN] # # camber = 0; % Camber angle # # C = a0; % Shape factor # muy0 = a1 * Fz + a2; % Lateral friction coefficient nominal [-] # muy = muy * 1000; % Lateral friction coefficient operacional # D = muy0 * Fz; % muy = lateral friction coefficient # BCD = a3 * sin(2 * atan(Fz/a4))*(1-a5 * abs(camber)); % Cornering stiffness # E = a6 * Fz + a7; % Curvature factor # B = BCD/(C * D); % stiffness factor # Sh = a8 * camber + a9 * Fz + a10; % Horizontal shift # Sv = a11 * Fz * camber + a12 * Fz + a13; % Vertical shift # ALPHAeq = muy0/muy*(ALPHA + Sh); % Equivalent slip angle # % Reference characteristics # fy = D * sin(C * atan(B * ALPHAeq - E*(B * ALPHAeq - atan(B * ALPHAeq)))); # % Lateral force # Fy = -muy/muy0*(fy + Sv); pass