From be059c961f40e73278b5a3bb2857568cb066035d Mon Sep 17 00:00:00 2001 From: nlorio Date: Thu, 21 Dec 2023 11:34:08 -0800 Subject: [PATCH 1/3] subaru crosstrek hybrid 2023 fingerprint --- selfdrive/car/subaru/values.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/selfdrive/car/subaru/values.py b/selfdrive/car/subaru/values.py index 5a6ac92cfb2cb6..dda9c39a50355b 100644 --- a/selfdrive/car/subaru/values.py +++ b/selfdrive/car/subaru/values.py @@ -325,6 +325,7 @@ class SubaruCarInfo(CarInfo): (Ecu.eps, 0x746, None): [ b'\x9a\xc2\x01\x00', b'\n\xc2\x01\x00', + b'\n\xc2\x01\x01', ], (Ecu.fwdCamera, 0x787, None): [ b'\x00\x00el\x1f@ #', @@ -335,6 +336,7 @@ class SubaruCarInfo(CarInfo): b'\xd7!`p\a', b'\xe9\xf5B0\x00', b'\xf4!`0\x07', + b'\xf5!`0\x07', ], }, CAR.FORESTER: { From aa14d6048bdf824e6439103a86e91f648c498e12 Mon Sep 17 00:00:00 2001 From: nlorio Date: Thu, 21 Dec 2023 19:28:00 -0800 Subject: [PATCH 2/3] update steerRatio --- selfdrive/car/subaru/interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selfdrive/car/subaru/interface.py b/selfdrive/car/subaru/interface.py index e2f760eb4a71b5..e0d1784e9a270b 100644 --- a/selfdrive/car/subaru/interface.py +++ b/selfdrive/car/subaru/interface.py @@ -78,7 +78,7 @@ def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs): ret.mass = 1568. + STD_CARGO_KG ret.wheelbase = 2.67 ret.centerToFront = ret.wheelbase * 0.5 - ret.steerRatio = 17 # learned, 14 stock + ret.steerRatio = 15 # 15 attempt for 2023H, 17 learned for 2020H, 14 stock ret.lateralTuning.init('pid') ret.lateralTuning.pid.kf = 0.00005 ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0., 14., 23.], [0., 14., 23.]] From f95d85684ceb5a0bc8c870c072f1c2d926f3e2ef Mon Sep 17 00:00:00 2001 From: nlorio Date: Fri, 22 Dec 2023 12:52:47 -0800 Subject: [PATCH 3/3] lateral tuning for crosstrek 23 --- selfdrive/car/subaru/interface.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/selfdrive/car/subaru/interface.py b/selfdrive/car/subaru/interface.py index e0d1784e9a270b..f106f7a2184d96 100644 --- a/selfdrive/car/subaru/interface.py +++ b/selfdrive/car/subaru/interface.py @@ -78,11 +78,15 @@ def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs): ret.mass = 1568. + STD_CARGO_KG ret.wheelbase = 2.67 ret.centerToFront = ret.wheelbase * 0.5 - ret.steerRatio = 15 # 15 attempt for 2023H, 17 learned for 2020H, 14 stock + ret.steerRatio = 13 # 17 learned, 14 stock ret.lateralTuning.init('pid') - ret.lateralTuning.pid.kf = 0.00005 - ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0., 14., 23.], [0., 14., 23.]] - ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.045, 0.042, 0.20], [0.04, 0.035, 0.045]] + # Lateral Tuning for Crosstrek 23 + ret.lateralTuning.pid.kf = 0.00003 + ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0., 10., 20., 30.], [0., 10., 20., 30.]] + ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.01, 0.05, 0.2, 0.21], [0.0010, 0.004, 0.008, 0.009]] + #ret.lateralTuning.pid.kf = 0.00005 + #ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0., 14., 23.], [0., 14., 23.]] + #ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.045, 0.042, 0.20], [0.04, 0.035, 0.045]] elif candidate in (CAR.FORESTER, CAR.FORESTER_2020H, CAR.FORESTER_2022): ret.mass = 1568. + STD_CARGO_KG