From fa0e3a1d3cc177d4246e9e8129d8095d70a24dc9 Mon Sep 17 00:00:00 2001 From: Shane Date: Tue, 23 Apr 2019 12:21:27 -0500 Subject: [PATCH] fix error --- selfdrive/controls/lib/long_mpc.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/selfdrive/controls/lib/long_mpc.py b/selfdrive/controls/lib/long_mpc.py index 921618ad4ac1b0..4c86f5a3d1e01a 100644 --- a/selfdrive/controls/lib/long_mpc.py +++ b/selfdrive/controls/lib/long_mpc.py @@ -215,6 +215,12 @@ def generate_cost(self, TR, v_ego): def update(self, CS, lead, v_cruise_setpoint): v_ego = CS.carState.vEgo + try: + self.relative_velocity = lead.vRel + self.relative_distance = lead.dRel + except: # if no lead car + self.relative_velocity = None + self.relative_distance = None # Setup current mpc state self.cur_state[0].x_ego = 0.0 @@ -223,8 +229,6 @@ def update(self, CS, lead, v_cruise_setpoint): x_lead = max(0, lead.dRel - 1) v_lead = max(0.0, lead.vLead) a_lead = lead.aLeadK - self.relative_velocity = lead.vRel - self.relative_distance = lead.dRel if (v_lead < 0.1 or -a_lead / 2.0 > v_lead): v_lead = 0.0 @@ -241,8 +245,6 @@ def update(self, CS, lead, v_cruise_setpoint): self.cur_state[0].x_l = x_lead self.cur_state[0].v_l = v_lead else: - self.relative_velocity = None - self.relative_distance = None self.prev_lead_status = False # Fake a fast lead car, so mpc keeps running self.cur_state[0].x_l = 50.0