suboptimumg.vehicle.suspension.tire#
- class suboptimumg.vehicle.suspension.tire.Tire[source]#
Bases:
object- calc_mu(mu_long_lat_ratio, mu_lat_zero_load)[source]#
Calculate mu_lat and mu_long according to an equation fitted from TTC data.
- Parameters:
mu_long_lat_ratio (float) – Ratio of longitudinal to lateral friction coefficients (unitless)
mu_lat_zero_load (float) – Lateral friction coefficient at zero normal force (unitless)
- Returns:
float – mu_lat - Lateral friction coefficient
float – mu_long - Longitudinal friction coefficient
Notes
Uses quadratic fit from TTC (Tire Test Consortium) data. Returns (0, 0) if tire is lifted (normal force <= 0).
- is_current_lateral_force_valid(mu_long_lat_ratio, mu_lat_zero_load)[source]#
Check whether the requested lateral force results in oversaturating the tire.
- Parameters:
mu_long_lat_ratio (float) – Ratio of longitudinal to lateral friction coefficients (unitless)
mu_lat_zero_load (float) – Lateral friction coefficient at zero normal force (unitless)
- Returns:
True if current lateral force is valid, False otherwise
- Return type:
bool
Notes
Should be called only after lateral force is correctly updated.
- long_remain(mu_long_lat_ratio, mu_lat_zero_load)[source]#
Calculates the remaining longitudinal grip of the tire based on a friction ellipse
ELLIPSE EQN: (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 ) )
- Returns:
Remaining longitudinal grip (N).
- Return type:
float
- class suboptimumg.vehicle.suspension.tire.Tires(vehicle_model)[source]#
Bases:
object- Parameters:
vehicle_model (VehicleModel)