Check if sensors valid

pull/35027/head
Kacper Rączy 2 months ago
parent b0915db50a
commit 6da887df20
  1. 11
      selfdrive/locationd/lagd.py

@ -159,6 +159,8 @@ class LateralLagEstimator:
self.desired_curvature = 0.0
self.v_ego = 0.0
self.yaw_rate = 0.0
self.yaw_rate_std = 0.0
self.pose_valid = False
self.last_lat_inactive_t = 0.0
self.last_steering_pressed_t = 0.0
@ -212,7 +214,9 @@ class LateralLagEstimator:
elif which == "livePose":
device_pose = Pose.from_live_pose(msg)
calibrated_pose = self.calibrator.build_calibrated_pose(device_pose)
self.yaw_rate = calibrated_pose.angular_velocity.z
self.yaw_rate = calibrated_pose.angular_velocity.yaw
self.yaw_rate_std = calibrated_pose.angular_velocity.yaw_std
self.pose_valid = msg.angularVelocityDevice.valid and msg.posenetOK and msg.inputsOK
self.t = t
def points_enough(self):
@ -238,7 +242,10 @@ class LateralLagEstimator:
self.t - last_t >= self.min_recovery_buffer_sec
for last_t in [self.last_lat_inactive_t, self.last_steering_pressed_t, self.last_steering_saturated_t]
)
okay = self.lat_active and not self.steering_pressed and not self.steering_saturated and fast and turning and has_recovered
calib_valid = self.calibrator.calib_valid
sensors_valid = self.pose_valid and np.abs(self.yaw_rate) < 1.0 and self.yaw_rate_std < 1.0
la_valid = np.abs(la_actual_pose) < 2.0 and np.abs(la_desired - la_actual_pose) < 0.5
okay = self.lat_active and not self.steering_pressed and not self.steering_saturated and fast and turning and has_recovered and calib_valid and sensors_valid and la_valid
self.points.update(self.t, la_desired, la_actual_pose, okay)

Loading…
Cancel
Save