suboptimumg.vehicle.suspension.tire#

class suboptimumg.vehicle.suspension.tire.Tires(vehicle_model)[source]#

Bases: object

Parameters:

vehicle_model (VehicleModel)

calc_mu(normal)[source]#

Calculate mu_lat and mu_long according to an equation fitted from TTC data.

Parameters:

normal (float) – Normal force on the tire (N)

Returns:

  • float – mu_lat - Lateral friction coefficient

  • float – mu_long - Longitudinal friction coefficient

Return type:

tuple[float, float]

Notes

Uses quadratic fit from TTC (Tire Test Consortium) data. Returns (0, 0) if tire is lifted (normal force <= 0).

is_lateral_force_valid(force)[source]#

Check whether the requested lateral force results in oversaturating the tire.

Parameters:

force (TireForce) – Forces on the tire

Returns:

True if the lateral force is valid, False otherwise

Return type:

bool

long_remain(force)[source]#

Calculate the remaining longitudinal grip of the tire based on a friction ellipse.

Parameters:

force (TireForce) – Forces on the tire

Returns:

Remaining longitudinal grip (N)

Return type:

float

Notes

Friction ellipse equation:

(x^2 / radius_x^2) + (y^2 / radius_y^2) = n^2

(f_lat^2 / mu_lat^2) + (f_long^2 / mu_long^2) = f_normal^2 f_long = mu_long * sqrt( f_normal^2 - ( f_lat^2 / mu_lat^2 ) )