long planner: use temporalPose for v_model_error calibration (#33655)

* long planner: add flag to disable v_model_error calibration

* use temporal pose instead of flag

* udpate model replay ref
pull/33609/head
YassineYousfi 7 months ago committed by GitHub
parent 4851dacd06
commit 36a9687d5d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      selfdrive/controls/lib/drive_helpers.py
  2. 7
      selfdrive/modeld/fill_model_msg.py
  3. 2
      selfdrive/test/process_replay/model_replay_ref_commit

@ -22,7 +22,7 @@ def clip_curvature(v_ego, prev_curvature, new_curvature):
def get_speed_error(modelV2: log.ModelDataV2, v_ego: float) -> float:
# ToDo: Try relative error, and absolute speed
if len(modelV2.velocity.x):
vel_err = clip(modelV2.velocity.x[0] - v_ego, -MAX_VEL_ERR, MAX_VEL_ERR)
if len(modelV2.temporalPose.trans):
vel_err = clip(modelV2.temporalPose.trans[0] - v_ego, -MAX_VEL_ERR, MAX_VEL_ERR)
return float(vel_err)
return 0.0

@ -87,6 +87,13 @@ def fill_model_msg(base_msg: capnp._DynamicStructBuilder, extended_msg: capnp._D
orientation_rate = modelV2.orientationRate
fill_xyzt(orientation_rate, ModelConstants.T_IDXS, *net_output_data['plan'][0,:,Plan.ORIENTATION_RATE].T)
# temporal pose
temporal_pose = modelV2.temporalPose
temporal_pose.trans = net_output_data['plan'][0,0,Plan.VELOCITY].tolist()
temporal_pose.transStd = net_output_data['plan_stds'][0,0,Plan.VELOCITY].tolist()
temporal_pose.rot = net_output_data['plan'][0,0,Plan.ORIENTATION_RATE].tolist()
temporal_pose.rotStd = net_output_data['plan_stds'][0,0,Plan.ORIENTATION_RATE].tolist()
# poly path
poly_path = driving_model_data.path
fill_xyz_poly(poly_path, ModelConstants.POLY_PATH_DEGREE, *net_output_data['plan'][0,:,Plan.POSITION].T)

@ -1 +1 @@
9d4d653d8cc361fe2ba53f74fd8fcfe1f1d559ed
666448fce191e196aac68d06e29a0745e6620db9

Loading…
Cancel
Save