This commit is contained in:
firestar5683
2026-07-22 15:32:02 -05:00
parent d16d72afc6
commit cc5c95705d
3 changed files with 34 additions and 5 deletions
@@ -662,6 +662,10 @@ KIA_EV6_UNWIND_TAPER_LEFT = 0.56
KIA_EV6_UNWIND_TAPER_RIGHT = 0.54
KIA_EV6_BASE_UNWIND_TAPER_LEFT = 0.06
KIA_EV6_BASE_UNWIND_TAPER_RIGHT = 0.05
KIA_EV6_JWARM_BASE_TURN_IN_BOOST_LEFT = 0.12
KIA_EV6_JWARM_BASE_TURN_IN_BOOST_RIGHT = 0.14
KIA_EV6_JWARM_BASE_UNWIND_TAPER_LEFT = 0.15
KIA_EV6_JWARM_BASE_UNWIND_TAPER_RIGHT = 0.16
KIA_EV6_FRICTION_MULT = 1.01
KIA_EV6_FRICTION_LAT_RISE = 0.18
KIA_EV6_FRICTION_JERK_RISE = 0.22
@@ -2419,12 +2423,20 @@ def get_kia_ev6_ff_scale(desired_lateral_accel: float, desired_lateral_jerk: flo
_flm_vehicle_knob("hyundai_kia_ev6.unwind_taper_right", KIA_EV6_UNWIND_TAPER_RIGHT),
) *
unwind_weight * (0.35 + 0.65 * low_speed_factor))
jwarm_tune = kia_ev6_lateral_testing_ground_active()
base_turn_in_boost = 1.0 + ((_kia_ev6_side_value(
desired_lateral_accel,
KIA_EV6_JWARM_BASE_TURN_IN_BOOST_LEFT,
KIA_EV6_JWARM_BASE_TURN_IN_BOOST_RIGHT,
) if jwarm_tune else 0.0) * turn_in_weight * onset * cutoff)
base_unwind_taper = 1.0 - (_kia_ev6_side_value(
desired_lateral_accel,
_flm_vehicle_knob("hyundai_kia_ev6.base_unwind_taper_left", KIA_EV6_BASE_UNWIND_TAPER_LEFT),
_flm_vehicle_knob("hyundai_kia_ev6.base_unwind_taper_right", KIA_EV6_BASE_UNWIND_TAPER_RIGHT),
KIA_EV6_JWARM_BASE_UNWIND_TAPER_LEFT if jwarm_tune else
_flm_vehicle_knob("hyundai_kia_ev6.base_unwind_taper_left", KIA_EV6_BASE_UNWIND_TAPER_LEFT),
KIA_EV6_JWARM_BASE_UNWIND_TAPER_RIGHT if jwarm_tune else
_flm_vehicle_knob("hyundai_kia_ev6.base_unwind_taper_right", KIA_EV6_BASE_UNWIND_TAPER_RIGHT),
) * unwind_weight * onset * cutoff)
return base_unwind_taper + (extra_scale * turn_in_boost * max(unwind_taper, 0.0))
return (base_unwind_taper * base_turn_in_boost) + (extra_scale * turn_in_boost * max(unwind_taper, 0.0))
def get_kia_ev6_friction_threshold(v_ego: float, desired_lateral_accel: float = 0.0, desired_lateral_jerk: float = 0.0) -> float:
@@ -5,6 +5,7 @@ from types import SimpleNamespace
from cereal import car, custom, log
import openpilot.selfdrive.controls.lib.latcontrol_torque as latcontrol_torque
import openpilot.selfdrive.controls.lib.latcontrol_pid as latcontrol_pid
import openpilot.selfdrive.controls.lib.latcontrol_vehicle_tunes as latcontrol_vehicle_tunes
from opendbc.car.car_helpers import interfaces
from opendbc.car.interfaces import CarInterfaceBase
from opendbc.car.honda.values import CAR as HONDA, HondaFlags
@@ -1136,6 +1137,22 @@ class TestLatControl:
assert unwind_left < 1.03
assert unwind_right < 1.07
def test_kia_ev6_jwarm_testing_ground_phase_correction(self, monkeypatch):
clear_flm_runtime_overrides()
monkeypatch.setattr(latcontrol_vehicle_tunes, "kia_ev6_lateral_testing_ground_active", lambda: False)
normal_steady = get_kia_ev6_ff_scale(0.45, 0.0, 10.0)
normal_turn_in_left = get_kia_ev6_ff_scale(0.45, 0.7, 10.0)
normal_turn_in_right = get_kia_ev6_ff_scale(-0.45, -0.7, 10.0)
normal_unwind_left = get_kia_ev6_ff_scale(0.45, -0.7, 10.0)
normal_unwind_right = get_kia_ev6_ff_scale(-0.45, 0.7, 10.0)
monkeypatch.setattr(latcontrol_vehicle_tunes, "kia_ev6_lateral_testing_ground_active", lambda: True)
assert get_kia_ev6_ff_scale(0.45, 0.0, 10.0) == pytest.approx(normal_steady)
assert get_kia_ev6_ff_scale(0.45, 0.7, 10.0) > normal_turn_in_left + 0.08
assert get_kia_ev6_ff_scale(-0.45, -0.7, 10.0) > normal_turn_in_right + 0.10
assert get_kia_ev6_ff_scale(0.45, -0.7, 10.0) < normal_unwind_left - 0.07
assert get_kia_ev6_ff_scale(-0.45, 0.7, 10.0) < normal_unwind_right - 0.08
def test_kia_ev6_center_taper_curve(self):
assert get_kia_ev6_center_taper_scale(0.0, 25.0) < get_kia_ev6_center_taper_scale(0.0, 10.0)
assert get_kia_ev6_center_taper_scale(0.0, 25.0) < get_kia_ev6_center_taper_scale(0.20, 25.0) <= 1.0
+2 -2
View File
@@ -69,8 +69,8 @@ TESTING_GROUNDS_SLOT_DEFINITIONS = (
},
{
"id": TESTING_GROUND_6,
"name": "Kia EV6 Lateral",
"description": "Kia EV6 lateral sandbox.",
"name": "Jwarm EV6",
"description": "Jwarm's Kia EV6 lateral sandbox.",
"aLabel": "A - Installed tune",
"cLabel": "C - Firestar Tune",
},