|
|
@ -57,6 +57,7 @@ class LatControlLQR(): |
|
|
|
|
|
|
|
|
|
|
|
instant_offset = params.angleOffsetDeg - params.angleOffsetAverageDeg |
|
|
|
instant_offset = params.angleOffsetDeg - params.angleOffsetAverageDeg |
|
|
|
desired_angle += instant_offset # Only add offset that originates from vehicle model errors |
|
|
|
desired_angle += instant_offset # Only add offset that originates from vehicle model errors |
|
|
|
|
|
|
|
lqr_log.steeringAngleDesiredDeg = desired_angle |
|
|
|
|
|
|
|
|
|
|
|
# Update Kalman filter |
|
|
|
# Update Kalman filter |
|
|
|
angle_steers_k = float(self.C.dot(self.x_hat)) |
|
|
|
angle_steers_k = float(self.C.dot(self.x_hat)) |
|
|
@ -93,7 +94,7 @@ class LatControlLQR(): |
|
|
|
check_saturation = (CS.vEgo > 10) and not CS.steeringRateLimited and not CS.steeringPressed |
|
|
|
check_saturation = (CS.vEgo > 10) and not CS.steeringRateLimited and not CS.steeringPressed |
|
|
|
saturated = self._check_saturation(output_steer, check_saturation, steers_max) |
|
|
|
saturated = self._check_saturation(output_steer, check_saturation, steers_max) |
|
|
|
|
|
|
|
|
|
|
|
lqr_log.steeringAngleDeg = angle_steers_k + params.angleOffsetAverageDeg |
|
|
|
lqr_log.steeringAngleDeg = angle_steers_k |
|
|
|
lqr_log.i = self.i_lqr |
|
|
|
lqr_log.i = self.i_lqr |
|
|
|
lqr_log.output = output_steer |
|
|
|
lqr_log.output = output_steer |
|
|
|
lqr_log.lqrOutput = lqr_output |
|
|
|
lqr_log.lqrOutput = lqr_output |
|
|
|