Update controlsd.py

This commit is contained in:
infiniteCable2
2025-04-06 16:39:15 +02:00
committed by GitHub
parent f96483e11c
commit 8789ddb995
+8
View File
@@ -19,6 +19,7 @@ from openpilot.selfdrive.controls.lib.latcontrol_torque import LatControlTorque
from openpilot.selfdrive.controls.lib.longcontrol import LongControl
from openpilot.selfdrive.locationd.helpers import PoseCalibrator, Pose
from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import get_T_FOLLOW
from selfdrive.controls.lib.disturbance_controller import DisturbanceController
State = log.SelfdriveState.OpenpilotState
LaneChangeState = log.LaneChangeState
@@ -48,9 +49,12 @@ class Controls:
self.steer_limited_by_controls = False
self.curvature = 0.0
self.curvature_3dof = 0.0
self.desired_curvature = 0.0
self.roll = 0.0
self.disturbance_controller = DisturbanceController()
self.pose_calibrator = PoseCalibrator()
self.calibrated_pose: Pose | None = None
@@ -83,6 +87,8 @@ class Controls:
steer_angle_without_offset = math.radians(CS.steeringAngleDeg - lp.angleOffsetDeg)
self.curvature = -self.VM.calc_curvature(steer_angle_without_offset, CS.vEgo, 0)
self.curvature_3dof = -VM.calc_curvature_3dof(self.calibrated_pose.acceleration.y, self.calibrated_pose.acceleration.x, self.calibrated_pose.angular_velocity.yaw,
CS.vEgo, steer_angle_without_offset, 0)
# Update Torque Params
if self.CP.lateralTuning.which() == 'torque':
@@ -132,6 +138,8 @@ class Controls:
# Steering PID loop and lateral MPC
# Reset desired curvature to current to avoid violating the limits on engage
new_desired_curvature = model_v2.action.desiredCurvature if CC.latActive else self.curvature
current_disturbance = self.disturbance_controller.compute_disturbance(new_desired_curvature, self.curvature_3dof)
new_desired_curvature = new_desired_curvature - current_disturbance
self.desired_curvature, curvature_limited = clip_curvature(CS.vEgo, self.desired_curvature, new_desired_curvature, lp.roll)
actuators.curvature = self.desired_curvature