suboptimumg.log_analysis.steering#

suboptimumg.log_analysis.steering.add_bicycle_steer_angle(data, irl_car, sw_col='ludwig.steeringWheel.angle')[source]#

Add front tire steer angles from the steering wheel sensor.

Converts the steering wheel angle to individual left/right tire angles using the Ackermann polynomial in irl_car, then averages them for the bicycle-model front axle steer angle. Stores the results as ‘front.steerAngle.left’, ‘front.steerAngle.right’, and ‘front.steerAngle.bicycle’. All outputs are in degrees.

Parameters:
  • data (SingleRunData)

  • irl_car (IrlCar) – Provides the Ackermann polynomial via tire_angles().

  • sw_col (str) – Steering wheel angle variable name (degrees).

Return type:

SingleRunData

suboptimumg.log_analysis.steering.add_kinematic_steer_angle(data, wb)[source]#

Add the kinematic steer angle from curvature using the bicycle model. Expects curvature DataInstances to already be present, as added by add_curvature().

Computes delta = degrees(arctan(wheelbase * curvature)) for both body and track frames and stores the results as body.steerAngle and track.steerAngle. All angles are in degrees.

Parameters:
  • data (SingleRunData)

  • wb (float) – Wheelbase (m).

Return type:

SingleRunData