diff --git a/selfdrive/controls/lib/disturbance_controller.py b/selfdrive/controls/lib/disturbance_controller.py index e701d7c76..fbe13dcbf 100644 --- a/selfdrive/controls/lib/disturbance_controller.py +++ b/selfdrive/controls/lib/disturbance_controller.py @@ -41,8 +41,10 @@ class DisturbanceController: return current_value - lowpass_value def compensate(self, CS, VM, params, calibrated_pose, desired_curvature): + if calibrated_pose is None: + return desired_curvature + actual_curvature_vm = -VM.calc_curvature(math.radians(CS.steeringAngleDeg - params.angleOffsetDeg), CS.vEgo, 0.) - assert calibrated_pose is not None actual_curvature_3dof = -VM.calc_curvature_3dof(calibrated_pose.acceleration.y, calibrated_pose.acceleration.x, calibrated_pose.angular_velocity.yaw, CS.vEgo, math.radians(CS.steeringAngleDeg - params.angleOffsetDeg), 0.) actual_curvature = np.interp(CS.vEgo, [2.0, 5.0], [actual_curvature_vm, actual_curvature_3dof])