diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 5c8d5d9d6..3d305ce22 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -83,6 +83,7 @@ struct LateralPlanExt @0xf35cc4560bbf6ec2 { struct ControlsStateExt @0xda96579883444c35 { alkaActive @0 :Bool; + alkaEnabled @1 :Bool; } struct CustomReserved4 @0x80ae746ee2596b11 { diff --git a/cereal/libcereal_shared.so b/cereal/libcereal_shared.so index aa95d0b07..455348e0d 100755 Binary files a/cereal/libcereal_shared.so and b/cereal/libcereal_shared.so differ diff --git a/cereal/visionipc/visionipc_pyx.so b/cereal/visionipc/visionipc_pyx.so index 889a35942..2ac0509a2 100755 Binary files a/cereal/visionipc/visionipc_pyx.so and b/cereal/visionipc/visionipc_pyx.so differ diff --git a/common/params_pyx.so b/common/params_pyx.so index 9be539481..cea41c313 100755 Binary files a/common/params_pyx.so and b/common/params_pyx.so differ diff --git a/common/version.h b/common/version.h index 89891db42..1b7d313db 100644 --- a/common/version.h +++ b/common/version.h @@ -1 +1 @@ -#define COMMA_VERSION "2023.09.18" +#define COMMA_VERSION "2023.09.19" diff --git a/opendbc/can/libdbc.so b/opendbc/can/libdbc.so index 62bdaaf73..f081f4ab2 100755 Binary files a/opendbc/can/libdbc.so and b/opendbc/can/libdbc.so differ diff --git a/panda/board/obj/bootstub.panda.bin b/panda/board/obj/bootstub.panda.bin index 9479076a4..8f17c1f09 100755 Binary files a/panda/board/obj/bootstub.panda.bin and b/panda/board/obj/bootstub.panda.bin differ diff --git a/panda/board/obj/panda.bin.signed b/panda/board/obj/panda.bin.signed index e3ab51dee..f1307755c 100644 Binary files a/panda/board/obj/panda.bin.signed and b/panda/board/obj/panda.bin.signed differ diff --git a/rednose/helpers/ekf_sym_pyx.so b/rednose/helpers/ekf_sym_pyx.so index 4a26f5b91..fde8a0ef7 100755 Binary files a/rednose/helpers/ekf_sym_pyx.so and b/rednose/helpers/ekf_sym_pyx.so differ diff --git a/selfdrive/boardd/boardd b/selfdrive/boardd/boardd index 4e406aaf4..9a8af43a4 100755 Binary files a/selfdrive/boardd/boardd and b/selfdrive/boardd/boardd differ diff --git a/selfdrive/boardd/boardd_api_impl.so b/selfdrive/boardd/boardd_api_impl.so index 1f2f987bd..780a99ff4 100755 Binary files a/selfdrive/boardd/boardd_api_impl.so and b/selfdrive/boardd/boardd_api_impl.so differ diff --git a/selfdrive/camerad/camerad b/selfdrive/camerad/camerad index b8f04cf5b..16cd43253 100755 Binary files a/selfdrive/camerad/camerad and b/selfdrive/camerad/camerad differ diff --git a/selfdrive/car/chrysler/radar_interface.py b/selfdrive/car/chrysler/radar_interface.py index d98295842..114da405f 100755 --- a/selfdrive/car/chrysler/radar_interface.py +++ b/selfdrive/car/chrysler/radar_interface.py @@ -25,7 +25,7 @@ def _create_radar_can_parser(car_fingerprint): messages = list(zip(RADAR_MSGS_C + RADAR_MSGS_D, [20] * msg_n + # 20Hz (0.05s) - [20] * msg_n, strict=True)) # 20Hz (0.05s) + [20] * msg_n)) # 20Hz (0.05s) return CANParser(DBC[car_fingerprint]['radar'], messages, 1) diff --git a/selfdrive/car/ford/radar_interface.py b/selfdrive/car/ford/radar_interface.py index a166fc20d..69c826c37 100644 --- a/selfdrive/car/ford/radar_interface.py +++ b/selfdrive/car/ford/radar_interface.py @@ -15,7 +15,7 @@ DELPHI_MRR_RADAR_MSG_COUNT = 64 def _create_delphi_esr_radar_can_parser(CP) -> CANParser: msg_n = len(DELPHI_ESR_RADAR_MSGS) - messages = list(zip(DELPHI_ESR_RADAR_MSGS, [20] * msg_n, strict=True)) + messages = list(zip(DELPHI_ESR_RADAR_MSGS, [20] * msg_n)) return CANParser(RADAR.DELPHI_ESR, messages, CanBus(CP).radar) diff --git a/selfdrive/car/gm/radar_interface.py b/selfdrive/car/gm/radar_interface.py index b893babd3..afb417d59 100755 --- a/selfdrive/car/gm/radar_interface.py +++ b/selfdrive/car/gm/radar_interface.py @@ -25,7 +25,7 @@ def create_radar_can_parser(car_fingerprint): ['TrkRange'] * NUM_SLOTS + ['TrkRangeRate'] * NUM_SLOTS + ['TrkRangeAccel'] * NUM_SLOTS + ['TrkAzimuth'] * NUM_SLOTS + ['TrkWidth'] * NUM_SLOTS + ['TrkObjectID'] * NUM_SLOTS, - [RADAR_HEADER_MSG] * 7 + radar_targets * 6, strict=True)) + [RADAR_HEADER_MSG] * 7 + radar_targets * 6)) messages = list({(s[1], 14) for s in signals}) diff --git a/selfdrive/car/toyota/radar_interface.py b/selfdrive/car/toyota/radar_interface.py index fae6eecaf..da99a778d 100755 --- a/selfdrive/car/toyota/radar_interface.py +++ b/selfdrive/car/toyota/radar_interface.py @@ -15,7 +15,7 @@ def _create_radar_can_parser(car_fingerprint): msg_a_n = len(RADAR_A_MSGS) msg_b_n = len(RADAR_B_MSGS) - messages = list(zip(RADAR_A_MSGS + RADAR_B_MSGS, [20] * (msg_a_n + msg_b_n), strict=True)) + messages = list(zip(RADAR_A_MSGS + RADAR_B_MSGS, [20] * (msg_a_n + msg_b_n))) return CANParser(DBC[car_fingerprint]['radar'], messages, 1) diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 4114b3a2f..9cfe0c798 100755 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -37,7 +37,7 @@ REPLAY = "REPLAY" in os.environ SIMULATION = "SIMULATION" in os.environ TESTING_CLOSET = "TESTING_CLOSET" in os.environ NOSENSOR = "NOSENSOR" in os.environ -IGNORE_PROCESSES = {"loggerd", "encoderd", "statsd", "mapd"} +IGNORE_PROCESSES = {"loggerd", "encoderd", "statsd", "mapd", "gpxd"} NO_IR_CTRL = Params().get_bool("dp_device_no_ir_ctrl") if NO_IR_CTRL: @@ -871,7 +871,8 @@ class Controls: dat = messaging.new_message('controlsStateExt') dat.valid = CS.canValid controlsStateExt = dat.controlsStateExt - controlsStateExt.alkaActive = CC.latActive and (self._dp_alka and self._dp_alka_active) + controlsStateExt.alkaActive = self._dp_alka_active + controlsStateExt.alkaEnabled = self._dp_alka self.pm.send('controlsStateExt', dat) # carState diff --git a/selfdrive/controls/lib/dynamic_endtoend_controller.py b/selfdrive/controls/lib/dynamic_endtoend_controller.py index 3c0ac3bba..1aef0e8c8 100644 --- a/selfdrive/controls/lib/dynamic_endtoend_controller.py +++ b/selfdrive/controls/lib/dynamic_endtoend_controller.py @@ -21,6 +21,10 @@ DANGEROUS_TTC = 1.55 HIGHWAY_CRUISE_KPH = 75 STOP_AND_GO_FRAME = 500 + +MODE_SWITCH_DELAY_FRAME = 500 + + class SNG_State: off = 0 stopped = 1 @@ -53,6 +57,10 @@ class DynamicEndtoEndController: def __init__(self): self._is_enabled = False self._mode = 'acc' + self._mode_prev = 'acc' + self._mode_switch_allowed = True + self._mode_switch_frame = 0 + self._frame = 0 self._lead_gmac = GenericMovingAverageCalculator(window_size=LEAD_WINDOW_SIZE) self._has_lead_filtered = False @@ -143,6 +151,7 @@ class DynamicEndtoEndController: self._has_slowness_prev = self._has_slowness self._has_slow_down_prev = self._has_slow_down self._has_lead_filtered_prev = self._has_lead_filtered + self._frame += 1 def _blended_priority_mode(self): # when blinker is on and speed is driving below highway cruise speed: blended @@ -209,11 +218,14 @@ class DynamicEndtoEndController: def get_mpc_mode(self, radar_unavailable, car_state, lead_one, md, controls_state): if self._is_enabled: self._update(car_state, lead_one, md, controls_state, radar_unavailable) + if self._frame > self._mode_switch_frame: + self._mode_switch_allowed = True if radar_unavailable: self._blended_priority_mode() else: self._acc_priority_mode() + self._mode_prev = self._mode return self._mode def set_enabled(self, enabled): diff --git a/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json b/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json index 0403c52f0..a7c0271de 100644 --- a/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json +++ b/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json @@ -91,11 +91,124 @@ "usphi_e": [] }, "cost": { - "Vu": [], - "Vu_0": [], - "Vx": [], - "Vx_0": [], - "Vx_e": [], + "Vu": [ + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ] + ], + "Vu_0": [ + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ], + [ + 0.0 + ] + ], + "Vx": [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], + "Vx_0": [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], + "Vx_e": [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], "Vz": [], "Vz_0": [], "W": [ @@ -223,10 +336,7 @@ "zu": [], "zu_e": [] }, - "cython_include_dirs": [ - "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/include", - "/data/data/com.termux/files/usr/include/python3.8" - ], + "cython_include_dirs": "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/include", "dims": { "N": 16, "nbu": 0, @@ -261,74 +371,73 @@ "ny_e": 3, "nz": 0 }, - "json_file": "/data/openpilot/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json", "model": { - "con_h_expr": null, - "con_h_expr_e": null, - "con_phi_expr": null, - "con_phi_expr_e": null, - "con_r_expr": null, - "con_r_expr_e": null, - "con_r_in_phi": null, - "con_r_in_phi_e": null, - "cost_conl_custom_outer_hess": null, - "cost_conl_custom_outer_hess_0": null, - "cost_conl_custom_outer_hess_e": null, - "cost_expr_ext_cost": null, - "cost_expr_ext_cost_0": null, - "cost_expr_ext_cost_custom_hess": null, - "cost_expr_ext_cost_custom_hess_0": null, - "cost_expr_ext_cost_custom_hess_e": null, - "cost_expr_ext_cost_e": null, - "cost_psi_expr": null, - "cost_psi_expr_0": null, - "cost_psi_expr_e": null, - "cost_r_in_psi_expr": null, - "cost_r_in_psi_expr_0": null, - "cost_r_in_psi_expr_e": null, - "cost_y_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpgegeaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaachkjjjjjjjjjjjjlpd", - "cost_y_expr_0": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpgegeaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaachkjjjjjjjjjjjjlpd", - "cost_y_expr_e": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpg", - "disc_dyn_expr": null, "dyn_disc_fun": null, "dyn_disc_fun_jac": null, "dyn_disc_fun_jac_hess": null, "dyn_ext_fun_type": "casadi", - "dyn_generic_source": null, - "f_expl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegoaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdhegnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegbaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaaegnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegoaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg", - "f_impl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegoaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdhegnaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaajhpffghgpgpfegpgehegbaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegnaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachgaaaaaaaaaaaaaaaegoaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaalaaaaaaaahdhjgpffghgpgpfegpgehchjaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaabaaaaaaahdhjgpfchbgehfgpffghgpgpfegpgehegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg", + "dyn_source_discrete": null, "gnsf": { "nontrivial_f_LO": 1, "purely_linear": 0 }, - "name": "lat", - "p": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeggaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdh", - "u": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg", - "x": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpg", - "xdot": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegpcaaaaaaaaaaaaaajaaaaaaajhpffghgpgpfegpgehegpcaaaaaaaaaaaaaalaaaaaaaahdhjgpffghgpgpfegpgehegpcaaaaaaaaaaaaaaabaaaaaaahdhjgpfchbgehfgpffghgpgpfegpgeh", - "z": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "name": "lat" }, "parameter_values": [ 0.0, 0.0 ], "problem_class": "OCP", - "shared_lib_ext": ".so", + "simulink_opts": { + "inputs": { + "cost_W": 0, + "cost_W_0": 0, + "cost_W_e": 0, + "lbu": 1, + "lbx": 1, + "lbx_0": 1, + "lbx_e": 1, + "lg": 1, + "lh": 1, + "parameter_traj": 1, + "reset_solver": 0, + "u_init": 0, + "ubu": 1, + "ubx": 1, + "ubx_0": 1, + "ubx_e": 1, + "ug": 1, + "uh": 1, + "x_init": 0, + "y_ref": 1, + "y_ref_0": 1, + "y_ref_e": 1 + }, + "outputs": { + "CPU_time": 1, + "CPU_time_lin": 0, + "CPU_time_qp": 0, + "CPU_time_sim": 0, + "KKT_residual": 1, + "solver_status": 1, + "sqp_iter": 1, + "u0": 1, + "utraj": 0, + "x1": 1, + "xtraj": 0 + }, + "samplingtime": "t0" + }, "solver_options": { "Tsim": 0.009765625, "alpha_min": 0.05, "alpha_reduction": 0.7, "collocation_type": "GAUSS_LEGENDRE", - "custom_templates": [], - "custom_update_copy": true, - "custom_update_filename": "", - "custom_update_header_filename": "", "eps_sufficient_descent": 0.0001, "exact_hess_constr": 1, "exact_hess_cost": 1, "exact_hess_dyn": 1, "ext_cost_num_hess": 0, - "ext_fun_compile_flags": "-O2", "full_step_dual": 0, "globalization": "FIXED_STEP", "globalization_use_SOC": 0, @@ -340,7 +449,6 @@ "line_search_use_sufficient_descent": 0, "model_external_shared_lib_dir": null, "model_external_shared_lib_name": null, - "nlp_solver_ext_qp_res": 0, "nlp_solver_max_iter": 100, "nlp_solver_step_length": 1.0, "nlp_solver_tol_comp": 1e-06, @@ -351,34 +459,13 @@ "print_level": 0, "qp_solver": "PARTIAL_CONDENSING_HPIPM", "qp_solver_cond_N": 1, - "qp_solver_cond_ric_alg": 1, "qp_solver_iter_max": 1, - "qp_solver_ric_alg": 1, "qp_solver_tol_comp": null, "qp_solver_tol_eq": null, "qp_solver_tol_ineq": null, "qp_solver_tol_stat": null, "qp_solver_warm_start": 0, "regularize_method": null, - "shooting_nodes": [ - 0.0, - 0.009765625, - 0.0390625, - 0.087890625, - 0.15625, - 0.244140625, - 0.3515625, - 0.478515625, - 0.625, - 0.791015625, - 0.9765625, - 1.181640625, - 1.40625, - 1.650390625, - 1.9140625, - 2.197265625, - 2.5 - ], "sim_method_jac_reuse": [ 0, 0, @@ -398,7 +485,6 @@ 0 ], "sim_method_newton_iter": 3, - "sim_method_newton_tol": 0.0, "sim_method_num_stages": [ 4, 4, diff --git a/selfdrive/controls/lib/lateral_mpc_lib/c_generated_code/acados_sim_solver_lat.h b/selfdrive/controls/lib/lateral_mpc_lib/c_generated_code/acados_sim_solver_lat.h index e7e8a9d39..86b9c84c9 100644 --- a/selfdrive/controls/lib/lateral_mpc_lib/c_generated_code/acados_sim_solver_lat.h +++ b/selfdrive/controls/lib/lateral_mpc_lib/c_generated_code/acados_sim_solver_lat.h @@ -1,5 +1,8 @@ /* - * Copyright (c) The acados authors. + * Copyright 2019 Gianluca Frison, Dimitris Kouzoupis, Robin Verschueren, + * Andrea Zanelli, Niels van Duijkeren, Jonathan Frey, Tommaso Sartor, + * Branimir Novoselnik, Rien Quirynen, Rezart Qelibari, Dang Doan, + * Jonas Koenemann, Yutao Chen, Tobias Schöls, Jonas Schlagenhauf, Moritz Diehl * * This file is part of acados. * @@ -58,7 +61,6 @@ typedef struct sim_solver_capsule /* external functions */ // ERK external_function_param_casadi * sim_forw_vde_casadi; - external_function_param_casadi * sim_vde_adj_casadi; external_function_param_casadi * sim_expl_ode_fun_casadi; external_function_param_casadi * sim_expl_ode_hess; diff --git a/selfdrive/dragonpilot/gpx_uploader.py b/selfdrive/dragonpilot/gpx_uploader.py index 0c676acf5..eb267c108 100755 --- a/selfdrive/dragonpilot/gpx_uploader.py +++ b/selfdrive/dragonpilot/gpx_uploader.py @@ -24,13 +24,14 @@ import os import time from openpilot.common.params import Params -from openpilot.system.version import get_version +from openpilot.system.version import get_version, get_branch +# from openpilot.common.realtime import set_core_affinity, set_realtime_priority # for uploader from openpilot.selfdrive.loggerd.xattr_cache import getxattr, setxattr import glob import requests -import json +# import json # customisable values GPX_LOG_PATH = '/data/media/0/gpx_logs/' @@ -56,17 +57,18 @@ def _debug(msg): class GpxUploader(): def __init__(self): self._delete_after_upload = True #not Params().get_bool('dp_gpxd') - self._car_model = "Unknown Vehicle" + # self._car_model = "Unknown Vehicle" + self._version = get_version() + self._branch = get_branch() def _identify_vehicle(self): # read model from LiveParameters - params = Params().get("LiveParameters") - if params is not None: - params = json.loads(params) - self._car_model = params.get('carFingerprint', self._car_model) - self._dp_version = get_version() + # params = Params().get("LiveParameters") + # if params is not None: + # params = json.loads(params) + # self._car_model = params.get('carFingerprint', self._car_model) _debug("GpxUploader init - _delete_after_upload = %s" % self._delete_after_upload) - _debug("GpxUploader init - _car_model = %s" % self._car_model) + # _debug("GpxUploader init - _car_model = %s" % self._car_model) def _is_online(self): try: @@ -99,7 +101,7 @@ class GpxUploader(): def _do_upload(self, filename): fn = os.path.basename(filename) data = { - 'description': "Routes from dragonpilot %s (%s)." % (self._dp_version, self._car_model), + 'description': f"Routes from dragonpilot {self._branch} / {self._version}.", 'visibility': 'identifiable' } files = { @@ -113,7 +115,7 @@ class GpxUploader(): return False def run(self): - # give it few seconds before we start runing the process + # give it few seconds before we start running the process # only identify vehicle once time.sleep(10) self._identify_vehicle() diff --git a/selfdrive/hybrid_modeld/_dmonitoringmodeld b/selfdrive/hybrid_modeld/_dmonitoringmodeld index a8dacc13f..ea49d3311 100755 Binary files a/selfdrive/hybrid_modeld/_dmonitoringmodeld and b/selfdrive/hybrid_modeld/_dmonitoringmodeld differ diff --git a/selfdrive/hybrid_modeld/_modeld b/selfdrive/hybrid_modeld/_modeld index ae8c22710..0d201c41d 100755 Binary files a/selfdrive/hybrid_modeld/_modeld and b/selfdrive/hybrid_modeld/_modeld differ diff --git a/selfdrive/legacy_modeld/_modeld b/selfdrive/legacy_modeld/_modeld index 4c3c032d6..46e2a1be0 100755 Binary files a/selfdrive/legacy_modeld/_modeld and b/selfdrive/legacy_modeld/_modeld differ diff --git a/selfdrive/locationd/locationd b/selfdrive/locationd/locationd index cffed4118..3cc1544d4 100755 Binary files a/selfdrive/locationd/locationd and b/selfdrive/locationd/locationd differ diff --git a/selfdrive/loggerd/bootlog b/selfdrive/loggerd/bootlog index 55574365a..c46111b46 100755 Binary files a/selfdrive/loggerd/bootlog and b/selfdrive/loggerd/bootlog differ diff --git a/selfdrive/loggerd/loggerd b/selfdrive/loggerd/loggerd index 1ab1e63a0..da14c231f 100755 Binary files a/selfdrive/loggerd/loggerd and b/selfdrive/loggerd/loggerd differ diff --git a/selfdrive/manager/manager.py b/selfdrive/manager/manager.py index cf37dd94e..c2d252aaa 100755 --- a/selfdrive/manager/manager.py +++ b/selfdrive/manager/manager.py @@ -169,7 +169,7 @@ def manager_thread() -> None: ignore += [x for x in os.getenv("BLOCK", "").split(",") if len(x) > 0] if not params.get_bool("dp_mapd"): - ignore += ["mapd"] + ignore += ["mapd", "gpxd"] if params.get_bool("dp_no_gps_ctrl"): ignore += ["ubloxd", "gpx_uploader", "gpxd", "mapd"] diff --git a/selfdrive/ui/_ui b/selfdrive/ui/_ui index 6efcf10e3..5edbea43e 100755 Binary files a/selfdrive/ui/_ui and b/selfdrive/ui/_ui differ diff --git a/selfdrive/ui/qt/spinner b/selfdrive/ui/qt/spinner index 97cf38844..792920493 100755 Binary files a/selfdrive/ui/qt/spinner and b/selfdrive/ui/qt/spinner differ diff --git a/selfdrive/ui/qt/text b/selfdrive/ui/qt/text index 04af01153..c233aa272 100755 Binary files a/selfdrive/ui/qt/text and b/selfdrive/ui/qt/text differ diff --git a/selfdrive/ui/soundd/_soundd b/selfdrive/ui/soundd/_soundd index f1ba577bf..98f5f948e 100755 Binary files a/selfdrive/ui/soundd/_soundd and b/selfdrive/ui/soundd/_soundd differ diff --git a/system/clocksd/clocksd b/system/clocksd/clocksd index f0d9d3bfa..7246b9d55 100755 Binary files a/system/clocksd/clocksd and b/system/clocksd/clocksd differ diff --git a/system/logcatd/logcatd b/system/logcatd/logcatd index ccc16e9ea..b1f9d55b7 100755 Binary files a/system/logcatd/logcatd and b/system/logcatd/logcatd differ diff --git a/system/proclogd/proclogd b/system/proclogd/proclogd index c97db3c43..701dee6d8 100755 Binary files a/system/proclogd/proclogd and b/system/proclogd/proclogd differ diff --git a/system/sensord/_sensord b/system/sensord/_sensord index a5ee38c4d..957a9df8d 100755 Binary files a/system/sensord/_sensord and b/system/sensord/_sensord differ diff --git a/system/ubloxd/ubloxd b/system/ubloxd/ubloxd index a49704f74..b271f8edc 100755 Binary files a/system/ubloxd/ubloxd and b/system/ubloxd/ubloxd differ