Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
37a61b9
TUNE TSS2_prius
rav4kumar Mar 26, 2021
d95c1e2
Increase RAV4 steering ratio by 2.5%
arne182 Mar 30, 2021
475cb9c
try birdmans tune once again.
rav4kumar Mar 30, 2021
51621c7
decrease rav4h steering ratio by 5%
arne182 Apr 3, 2021
c9e21cd
Update interface.py
cgw1968-5779 Apr 4, 2021
04c90f7
Merge pull request #828 from cgw1968-5779/patch-1
arne182 Apr 4, 2021
aea76bf
increase rav4h SteeringRatio
arne182 Apr 6, 2021
3dc6b5d
try new things
rav4kumar Apr 6, 2021
431bf36
cgw recom
rav4kumar Apr 8, 2021
c23ef97
near perfect RAV4TSS2 INDI tune (#829)
cgw1968-5779 Apr 8, 2021
a8697e6
syntax
rav4kumar Apr 8, 2021
e74bad4
Retune long
arne182 Apr 8, 2021
932b1b9
Adjust high speed longitudinal tune
arne182 Apr 8, 2021
572e139
Update FP from Master
arne182 Apr 10, 2021
b39c428
Merge pull request #830 from arne182/DP08-clean
arne182 Apr 11, 2021
676fcdc
Smooth longitudinal tune
arne182 Apr 11, 2021
550979d
Smooth lowspeed long
arne182 Apr 12, 2021
0f712c2
Needs more brake at low speeds
arne182 Apr 12, 2021
86fbaf3
Wei car
Stupefacient Apr 15, 2021
4f61cb2
fix
Stupefacient Apr 15, 2021
bf83b57
Add LEXUS_ESH to non tested cars
arne182 Apr 15, 2021
9c5fcca
Add LEXUS_ESH
arne182 Apr 15, 2021
ca3160e
Fix name for test
arne182 Apr 15, 2021
8a20a24
Add Test for LEXUS_ESH
arne182 Apr 15, 2021
0baa50e
LEXUS_ESH has NO_STOP_TIMER_CAR
arne182 Apr 15, 2021
e6133cf
Adjust for oversteer
arne182 Apr 15, 2021
bd9bd52
Fix typo
arne182 Apr 15, 2021
aa8fd25
Merge pull request #832 from brianandyt/patch-1
arne182 Apr 15, 2021
2a66b85
Merge pull request #833 from arne182/DP08-clean
arne182 Apr 15, 2021
e6910ea
Add LEXUS_ESH FPv1
arne182 Apr 15, 2021
3dc0c33
Merge pull request #834 from arne182/DP08-clean
arne182 Apr 15, 2021
ffd7e59
Toyota firmware update
jmedzen Apr 15, 2021
598b9a7
Merge pull request #836 from chicman/patch-3
arne182 Apr 16, 2021
8548fdf
Merge pull request #837 from arne182/DP08-clean
arne182 Apr 16, 2021
7e35c93
More kp needed to stop for standing cars
arne182 Apr 20, 2021
21f34af
Adjust Lane departure
arne182 Apr 20, 2021
c8912ac
Add more LEXUS_NX support
arne182 Apr 24, 2021
a63f832
fix LEXUS_NXH FP
arne182 Apr 24, 2021
480d836
Merge pull request #841 from arne182/DP08-clean
arne182 Apr 24, 2021
2878800
shanes tune .
rav4kumar Apr 24, 2021
1366de8
RAV4 hybrid TSS2 tuning
jmedzen Apr 27, 2021
d618312
Merge pull request #843 from chicman/patch-4
arne182 Apr 27, 2021
4aa0874
Correct weight
arne182 Apr 27, 2021
3e531ca
Add LEXUS_ISH FPv2
arne182 Apr 27, 2021
d59c383
Merge pull request #844 from arne182/DP08-clean
arne182 Apr 27, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 80 additions & 63 deletions selfdrive/car/toyota/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,45 +81,46 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
ret.steerRatio = 13.4 # True steerRation from older prius
tire_stiffness_factor = 0.6371 # hand-tune
ret.mass = 3115. * CV.LB_TO_KG + STD_CARGO_KG
ret.steerActuatorDelay = 0.6
if prius_pid:
ret.steerActuatorDelay = 0.61
ret.steerLimitTimer = 5.0
ret.lateralTuning.init('pid')
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP, ret.lateralTuning.pid.kfBP = [[0.], [0.], [0.]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.35, 0.18], [0.03, 0.1]]
ret.lateralTuning.pid.kdV = [2.2]
ret.lateralTuning.pid.kfV = [0.00007818594]
ret.lateralTuning.pid.newKfTuned = False
ret.lateralTuning.pid.kpBP = [0.0]
ret.lateralTuning.pid.kiBP = [0.0]
ret.lateralTuning.pid.kpV = [0.036]
ret.lateralTuning.pid.kiV = [0.0012]
ret.lateralTuning.pid.kf = 0.000153263811757641
ret.lateralTuning.pid.newKfTuned = True
else:
ret.steerRateCost = 0.45 #0.45
ret.steerLimitTimer = 5.0
ret.steerRateCost = 0.3 #0.45
ret.steerActuatorDelay = 0
ret.steerLimitTimer = 5
ret.lateralTuning.init('indi')
#ret.lateralTuning.indi.innerLoopGainBP = [16.7, 25]
#ret.lateralTuning.indi.innerLoopGainV = [15, 15]
#ret.lateralTuning.indi.outerLoopGainBP = [8.3, 25, 27.7, 36.1]
#ret.lateralTuning.indi.outerLoopGainV = [4.6, 14.99, 14.99, 19]
#ret.lateralTuning.indi.timeConstantBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 30.1, 33.3, 36.1]
#ret.lateralTuning.indi.timeConstantV = [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.0, 4.0, 4.0]
#ret.lateralTuning.indi.actuatorEffectivenessBP = [16.7, 25]
#ret.lateralTuning.indi.actuatorEffectivenessV = [15, 15]
ret.lateralTuning.indi.innerLoopGainBP = [18, 22, 26]
ret.lateralTuning.indi.innerLoopGainV = [10, 13, 15]
ret.lateralTuning.indi.outerLoopGainBP = [18, 22, 26]
ret.lateralTuning.indi.outerLoopGainV = [9, 12, 14.99]
ret.lateralTuning.indi.timeConstantBP = [18, 22, 26, 33]
ret.lateralTuning.indi.timeConstantV = [1, 3, 4.5, 8]
ret.lateralTuning.indi.actuatorEffectivenessBP = [18, 22, 26]
ret.lateralTuning.indi.actuatorEffectivenessV = [10, 13, 15]
#ret.lateralTuning.init('indi') #really good tune from cgw.
ret.lateralTuning.indi.innerLoopGainBP = [16.7, 25, 36.1]
ret.lateralTuning.indi.innerLoopGainV = [9.5, 15, 15]
ret.lateralTuning.indi.outerLoopGainBP = [16.7, 25, 36.1]
ret.lateralTuning.indi.outerLoopGainV = [9.5, 14.99, 14.99]
ret.lateralTuning.indi.timeConstantBP = [16.7, 16.71, 22, 22.01, 26, 26.01, 36, 36.01]
ret.lateralTuning.indi.timeConstantV = [0.5, 1, 1, 2, 2, 4, 4, 5]
ret.lateralTuning.indi.actuatorEffectivenessBP = [16.7, 25, 36.1]
ret.lateralTuning.indi.actuatorEffectivenessV = [9.5, 15, 15]


#ret.lateralTuning.indi.innerLoopGainBP = [16.7, 25, 36.1]
#ret.lateralTuning.indi.innerLoopGainV = [9.5, 15, 15]
#ret.lateralTuning.indi.outerLoopGainBP = [16.7, 25, 36.1]
#ret.lateralTuning.indi.outerLoopGainV = [9.5, 14.99, 14.99]
#ret.lateralTuning.indi.timeConstantBP = [16.7, 16.71, 22, 22.01, 26, 26.01, 36, 36.01]
#ret.lateralTuning.indi.timeConstantV = [0.5, 1, 1, 2, 2, 4, 4, 5]
#ret.lateralTuning.indi.actuatorEffectivenessBP = [16.7, 25, 36.1]
#ret.lateralTuning.indi.actuatorEffectivenessV = [9.5, 15, 15]

elif candidate in [CAR.RAV4, CAR.RAV4H]:
stop_and_go = True if (candidate in CAR.RAV4H) else False
ret.safetyParam = 73
ret.wheelbase = 2.65
ret.steerRatio = 13.88 # 14.5 is spec end-to-end
ret.steerRatio = 13.85 # 14.5 is spec end-to-end
tire_stiffness_factor = 0.5533
ret.mass = 3650. * CV.LB_TO_KG + STD_CARGO_KG # mean between normal and hybrid
ret.mass = 4100. * CV.LB_TO_KG + STD_CARGO_KG # mean between normal and hybrid
if ret.enableGasInterceptor:
ret.longitudinalTuning.kpV = [0.4, 0.36, 0.325] # arne's tune.
ret.longitudinalTuning.kiV = [0.195, 0.10]
Expand Down Expand Up @@ -149,12 +150,14 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
stop_and_go = False
ret.safetyParam = 88
ret.wheelbase = 2.70
ret.steerRatio = 18.27
ret.steerRatio = 17.43
ret.minSpeedCan = 0.1 * CV.KPH_TO_MS
tire_stiffness_factor = 0.444 # not optimized yet
ret.mass = 2860. * CV.LB_TO_KG + STD_CARGO_KG # mean between normal and hybrid
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.2], [0.05]]
ret.lateralTuning.pid.kfV = [0.00006908923778520113] # full torque for 20 deg at 80mph means 0.00007818594
ret.lateralTuning.pid.newKfTuned = True
ret.lateralTuning.pid.kpBP, ret.lateralTuning.pid.kpV = [[20, 31], [0.05, 0.12]] # 45 to 70 mph
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kiV = [[20, 31], [0.001, 0.01]]
ret.lateralTuning.pid.kdBP, ret.lateralTuning.pid.kdV = [[20, 31], [0.0, 0.0]]
ret.lateralTuning.pid.kfV = [0.00003] # full torque for 20 deg at 80mph means 0.00007818594

elif candidate == CAR.LEXUS_RX:
stop_and_go = True
Expand Down Expand Up @@ -269,8 +272,8 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
stop_and_go = True
ret.safetyParam = 56
ret.wheelbase = 2.68986
ret.steerRatio = 14.3
ret.steerRateCost = 0.4
ret.steerRatio = 13.7
ret.steerRateCost = 0.3
tire_stiffness_factor = 0.7933
ret.mass = 3370. * CV.LB_TO_KG + STD_CARGO_KG
ret.longitudinalTuning.deadzoneBP = [0., 8.05]
Expand All @@ -279,45 +282,49 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
ret.longitudinalTuning.kpV = [1.3, 1.0, 0.7]
ret.longitudinalTuning.kiBP = [0., 5., 12., 20., 27.]
ret.longitudinalTuning.kiV = [.35, .23, .20, .17, .1]
ret.stoppingBrakeRate = 0.15 # reach stopping target smoothly
ret.stoppingBrakeRate = 0.16 # reach stopping target smoothly
ret.startingBrakeRate = 1.21 # release brakes fast
ret.startAccel = 1.50 # Accelerate from 0 faster
ret.steerActuatorDelay = 0
ret.steerLimitTimer = 5
ret.lateralTuning.init('indi')
ret.lateralTuning.indi.innerLoopGainBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 26]
ret.lateralTuning.indi.innerLoopGainV = [4.15, 5.55, 7, 8.9, 10.0, 12.15, 14.25, 15]
ret.lateralTuning.indi.outerLoopGainBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 26, 30.3, 33.6]
ret.lateralTuning.indi.outerLoopGainV = [3.6, 4.9, 6.15, 7.5, 10, 11.2, 15, 16, 17, 17]
ret.lateralTuning.indi.timeConstantBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 26, 30.3, 33.6]
ret.lateralTuning.indi.timeConstantV = [0.46, 0.62, 0.77, 0.93, 1.1, 3.0, 4.0, 5.5, 7.0, 8.0]
ret.lateralTuning.indi.actuatorEffectivenessBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 26]
ret.lateralTuning.indi.actuatorEffectivenessV = [4.15, 5.55, 7, 8.9, 10.0, 12.15, 14.25, 15]
ret.lateralTuning.indi.innerLoopGainBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.innerLoopGainV = [4.2, 5.8, 7.55, 9.3, 11.1, 12.9, 14.7, 15]
ret.lateralTuning.indi.outerLoopGainBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.outerLoopGainV = [3.05, 4.66, 6.32, 8.12, 9.87, 11.72, 13.62, 14.99]
ret.lateralTuning.indi.timeConstantBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 30.09, 30.1, 33.32, 33.33]
ret.lateralTuning.indi.timeConstantV = [0.31, 0.46, 0.62, 0.84, 0.97, 1.2, 3.0, 3.0, 6.5, 6.5, 8.0]
ret.lateralTuning.indi.actuatorEffectivenessBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.actuatorEffectivenessV = [4.2, 5.8, 7.55, 9.3, 11.1, 12.9, 14.7, 15]

elif candidate == CAR.RAV4H_TSS2:
stop_and_go = True
ret.safetyParam = 56
ret.wheelbase = 2.68986
ret.steerRatio = 14.3
ret.steerRatio = 13.7
ret.steerRateCost = 0.3
tire_stiffness_factor = 0.7933
ret.mass = 3370. * CV.LB_TO_KG + STD_CARGO_KG
ret.longitudinalTuning.kpV = [2.1, 1.2, 0.34]
ret.longitudinalTuning.kiV = [0.54, 0.34]
ret.mass = 3800. * CV.LB_TO_KG + STD_CARGO_KG
ret.longitudinalTuning.deadzoneBP = [0., 8.05]
ret.longitudinalTuning.deadzoneV = [.0, .14]
ret.longitudinalTuning.kpBP = [0., 5., 20.]
ret.longitudinalTuning.kpV = [1.3, 1.0, 0.7]
ret.longitudinalTuning.kiBP = [0., 5., 12., 20., 27.]
ret.longitudinalTuning.kiV = [.35, .23, .20, .17, .1]
ret.stoppingBrakeRate = 0.16 # reach stopping target smoothly
ret.startingBrakeRate = 0.75 # release brakes fast
ret.startAccel = 1.30 # Accelerate from 0 faster
ret.steerActuatorDelay = 0.12
ret.steerLimitTimer = 0.1
ret.startingBrakeRate = 1.21 # release brakes fast
ret.startAccel = 1.50 # Accelerate from 0 faster
ret.steerActuatorDelay = 0
ret.steerLimitTimer = 5
ret.lateralTuning.init('indi')
ret.lateralTuning.indi.innerLoopGainBP = [16.7, 25]
ret.lateralTuning.indi.innerLoopGainV = [15, 15]
ret.lateralTuning.indi.outerLoopGainBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 30.1, 33.3, 36.1]
ret.lateralTuning.indi.outerLoopGainV = [4.6, 6.2, 8.3, 10.4, 12.8, 14.99, 16, 17, 18, 19]
ret.lateralTuning.indi.timeConstantBP = [8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25, 30.1, 33.3, 36.1]
ret.lateralTuning.indi.timeConstantV = [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.0, 4.0, 4.0]
ret.lateralTuning.indi.actuatorEffectivenessBP = [16.7, 25]
ret.lateralTuning.indi.actuatorEffectivenessV = [15, 15]
ret.lateralTuning.indi.innerLoopGainBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.innerLoopGainV = [4.2, 5.8, 7.55, 9.3, 11.1, 12.9, 14.7, 15]
ret.lateralTuning.indi.outerLoopGainBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.outerLoopGainV = [3.05, 4.66, 6.32, 8.12, 9.87, 11.72, 13.62, 14.99]
ret.lateralTuning.indi.timeConstantBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 30.09, 30.1, 33.32, 33.33]
ret.lateralTuning.indi.timeConstantV = [0.31, 0.46, 0.62, 0.84, 0.97, 1.2, 3.0, 3.0, 6.5, 6.5, 8.0]
ret.lateralTuning.indi.actuatorEffectivenessBP = [5.5, 8.3, 11.1, 13.9, 16.7, 19.4, 22.2, 25]
ret.lateralTuning.indi.actuatorEffectivenessV = [4.2, 5.8, 7.55, 9.3, 11.1, 12.9, 14.7, 15]

elif candidate in [CAR.COROLLA_TSS2, CAR.COROLLAH_TSS2]:
stop_and_go = True
Expand Down Expand Up @@ -357,6 +364,16 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.6], [0.1]]
ret.lateralTuning.pid.kfV = [0.00007818594]

elif candidate == CAR.LEXUS_ESH:
stop_and_go = True
ret.safetyParam = 73
ret.wheelbase = 2.8190
ret.steerRatio = 14.06
tire_stiffness_factor = 0.444 # not optimized yet
ret.mass = 3682. * CV.LB_TO_KG + STD_CARGO_KG
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.6], [0.1]]
ret.lateralTuning.pid.kf = 0.00007818594

elif candidate == CAR.SIENNA:
stop_and_go = True
ret.safetyParam = 73
Expand Down Expand Up @@ -471,8 +488,8 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,

ret.longitudinalTuning.deadzoneBP = [0., 9.]
ret.longitudinalTuning.deadzoneV = [0., .15]
ret.longitudinalTuning.kpBP = [0., 5., 35.]
ret.longitudinalTuning.kiBP = [0., 35.]
ret.longitudinalTuning.kpBP = [0., 5., 55.]
ret.longitudinalTuning.kiBP = [0., 55.]

if ret.enableGasInterceptor:
ret.gasMaxBP = [0., 9., 35]
Expand All @@ -482,8 +499,8 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), has_relay=False,
else:
ret.gasMaxBP = [0., 9., 55]
ret.gasMaxV = [0.2, 0.5, 0.7]
ret.longitudinalTuning.kpV = [0.4, 0.36, 0.325] # braking tune from rav4h
ret.longitudinalTuning.kiV = [0.195, 0.10]
ret.longitudinalTuning.kpV = [0.35, 0.2, 0.05] # braking tune from rav4h
ret.longitudinalTuning.kiV = [0.15, 0.010]

return ret

Expand Down
Loading