      lqr_log.i = self.i_lqr
      lqr_log.output = self.output_steer
      lqr_log.lqrOutput = lqr_output
      lqr_log.saturated = saturated
      return self.output_steer, float(self.angle_steers_des), lqr_log
 
</s> remove     lqr_log.output = self.output_steer
 </s> add     lqr_log.output = output_steer </s> remove     lqr_log.steeringAngleDeg = angle_steers_k + lat_plan.angleOffsetDeg
 </s> add     lqr_log.steeringAngleDeg = angle_steers_k + params.angleOffsetAverageDeg </s> remove     saturated = self._check_saturation(self.output_steer, check_saturation, steers_max)
 </s> add     saturated = self._check_saturation(output_steer, check_saturation, steers_max) </s> remove       self.output_steer = lqr_output + self.i_lqr
      self.output_steer = clip(self.output_steer, -steers_max, steers_max)
 </s> add       output_steer = lqr_output + self.i_lqr
      output_steer = clip(output_steer, -steers_max, steers_max) </s> remove       u_lqr = float(self.angle_steers_des / self.dc_gain - self.K.dot(self.x_hat))
 </s> add       u_lqr = float(desired_angle / self.dc_gain - self.K.dot(self.x_hat))
    return output_steer, 0, lqr_log
      lqr_log.i = self.i_lqr
      lqr_log.output = self.output_steer
      lqr_log.lqrOutput = lqr_output
      lqr_log.saturated = saturated
    return output_steer, 0, lqr_log
keep keep keep keep replace
 LateralPlanner should only compute curvature (#20289)

* get curvature from planner

* no need to check active

* remove that

* remove self

* liveParams not needed

* cast

* fix test bug

* fixes

* fix ui.py

* fix radians

* update refs

* update refs

* bump cereal

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> 
selfdrive/controls/lib/latcontrol_lqr.py