mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-24 02:32:22 +08:00
jwarm
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user