mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-08-05 08:16:06 +08:00
EV6: adjust steering thresholds (#24901)
* EV6: adjust steering thresholds * Is there any friction * bump panda * no friction Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
This commit is contained in:
+1
-1
Submodule panda updated: 4bc85ad40a...2652453892
@@ -5,7 +5,7 @@ from cereal import car
|
||||
from common.conversions import Conversions as CV
|
||||
from opendbc.can.parser import CANParser
|
||||
from opendbc.can.can_define import CANDefine
|
||||
from selfdrive.car.hyundai.values import DBC, STEER_THRESHOLD, FEATURES, HDA2_CAR, EV_CAR, HYBRID_CAR, Buttons
|
||||
from selfdrive.car.hyundai.values import DBC, FEATURES, HDA2_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams
|
||||
from selfdrive.car.interfaces import CarStateBase
|
||||
|
||||
PREV_BUTTON_SAMPLES = 4
|
||||
@@ -32,6 +32,8 @@ class CarState(CarStateBase):
|
||||
self.park_brake = False
|
||||
self.buttons_counter = 0
|
||||
|
||||
self.params = CarControllerParams(CP)
|
||||
|
||||
def update(self, cp, cp_cam):
|
||||
if self.CP.carFingerprint in HDA2_CAR:
|
||||
return self.update_hda2(cp, cp_cam)
|
||||
@@ -61,7 +63,7 @@ class CarState(CarStateBase):
|
||||
50, cp.vl["CGW1"]["CF_Gway_TurnSigLh"], cp.vl["CGW1"]["CF_Gway_TurnSigRh"])
|
||||
ret.steeringTorque = cp.vl["MDPS12"]["CR_Mdps_StrColTq"]
|
||||
ret.steeringTorqueEps = cp.vl["MDPS12"]["CR_Mdps_OutTq"]
|
||||
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD
|
||||
ret.steeringPressed = abs(ret.steeringTorque) > self.params.STEER_THRESHOLD
|
||||
ret.steerFaultTemporary = cp.vl["MDPS12"]["CF_Mdps_ToiUnavail"] != 0 or cp.vl["MDPS12"]["CF_Mdps_ToiFlt"] != 0
|
||||
|
||||
# cruise state
|
||||
@@ -157,7 +159,7 @@ class CarState(CarStateBase):
|
||||
ret.steeringAngleDeg = cp.vl["STEERING_SENSORS"]["STEERING_ANGLE"] * -1
|
||||
ret.steeringTorque = cp.vl["MDPS"]["STEERING_COL_TORQUE"]
|
||||
ret.steeringTorqueEps = cp.vl["MDPS"]["STEERING_OUT_TORQUE"]
|
||||
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD
|
||||
ret.steeringPressed = abs(ret.steeringTorque) > self.params.STEER_THRESHOLD
|
||||
|
||||
ret.leftBlinker, ret.rightBlinker = self.update_blinker_from_lamp(50, cp.vl["BLINKERS"]["LEFT_LAMP"],
|
||||
cp.vl["BLINKERS"]["RIGHT_LAMP"])
|
||||
|
||||
@@ -13,21 +13,27 @@ class CarControllerParams:
|
||||
ACCEL_MAX = 2.0 # m/s
|
||||
|
||||
def __init__(self, CP):
|
||||
# To determine the limit for your car, find the maximum value that the stock LKAS will request.
|
||||
# If the max stock LKAS request is <384, add your car to this list.
|
||||
if CP.carFingerprint in HDA2_CAR:
|
||||
self.STEER_MAX = 150
|
||||
elif CP.carFingerprint in (CAR.GENESIS_G80, CAR.GENESIS_G90, CAR.ELANTRA, CAR.HYUNDAI_GENESIS, CAR.ELANTRA_GT_I30, CAR.IONIQ,
|
||||
CAR.IONIQ_EV_LTD, CAR.SANTA_FE_PHEV_2022, CAR.SONATA_LF, CAR.KIA_FORTE, CAR.KIA_NIRO_HEV,
|
||||
CAR.KIA_OPTIMA_H, CAR.KIA_SORENTO, CAR.KIA_STINGER):
|
||||
self.STEER_MAX = 255
|
||||
else:
|
||||
self.STEER_MAX = 384
|
||||
self.STEER_DELTA_UP = 3
|
||||
self.STEER_DELTA_DOWN = 7
|
||||
self.STEER_DRIVER_ALLOWANCE = 50
|
||||
self.STEER_DRIVER_MULTIPLIER = 2
|
||||
self.STEER_DRIVER_FACTOR = 1
|
||||
self.STEER_THRESHOLD = 150
|
||||
|
||||
if CP.carFingerprint in HDA2_CAR:
|
||||
self.STEER_MAX = 270
|
||||
self.STEER_DRIVER_ALLOWANCE = 250
|
||||
self.STEER_DRIVER_MULTIPLIER = 2
|
||||
self.STEER_THRESHOLD = 250
|
||||
|
||||
# To determine the limit for your car, find the maximum value that the stock LKAS will request.
|
||||
# If the max stock LKAS request is <384, add your car to this list.
|
||||
elif CP.carFingerprint in (CAR.GENESIS_G80, CAR.GENESIS_G90, CAR.ELANTRA, CAR.HYUNDAI_GENESIS, CAR.ELANTRA_GT_I30, CAR.IONIQ,
|
||||
CAR.IONIQ_EV_LTD, CAR.SANTA_FE_PHEV_2022, CAR.SONATA_LF, CAR.KIA_FORTE, CAR.KIA_NIRO_HEV,
|
||||
CAR.KIA_OPTIMA_H, CAR.KIA_SORENTO, CAR.KIA_STINGER):
|
||||
self.STEER_MAX = 255
|
||||
else:
|
||||
self.STEER_MAX = 384
|
||||
|
||||
|
||||
class CAR:
|
||||
@@ -1268,5 +1274,3 @@ DBC = {
|
||||
CAR.KIA_EV6: dbc_dict('kia_ev6', None),
|
||||
CAR.SONATA_HYBRID: dbc_dict('hyundai_kia_generic', 'hyundai_kia_mando_front_radar'),
|
||||
}
|
||||
|
||||
STEER_THRESHOLD = 150
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
legend: [LAT_ACCEL_FACTOR, MAX_LAT_ACCEL_MEASURED, FRICTION]
|
||||
### angle control
|
||||
# Nissan appears to have torque
|
||||
NISSAN X-TRAIL 2017: [.nan, 1.5, .nan]
|
||||
NISSAN X-TRAIL 2017: [.nan, 1.5, .nan]
|
||||
NISSAN ALTIMA 2020: [.nan, 1.5, .nan]
|
||||
NISSAN LEAF 2018 Instrument Cluster: [.nan, 1.5, .nan]
|
||||
NISSAN LEAF 2018: [.nan, 1.5, .nan]
|
||||
@@ -20,7 +20,7 @@ FORD FOCUS 4TH GEN: [.nan, 1.5, .nan]
|
||||
COMMA BODY: [.nan, 1000, .nan]
|
||||
|
||||
# Totally new car
|
||||
KIA EV6 2022: [3.0, 2.5, 0.05]
|
||||
KIA EV6 2022: [3.0, 2.5, 0.0]
|
||||
|
||||
# Dashcam or fallback configured as ideal car
|
||||
mock: [10.0, 10, 0.0]
|
||||
|
||||
Reference in New Issue
Block a user