lkas
parent
2c5f9fc3b1
commit
5f0e080a6a
2
cereal
2
cereal
|
@ -1 +1 @@
|
|||
Subproject commit 279311d0bde60e814a697da22c55c6abe8a3b03c
|
||||
Subproject commit 28d458a9af49b38bd0a9052f09fbe927324320fb
|
|
@ -1 +1 @@
|
|||
Subproject commit 94066cb2b4ad5f2bcb8e33ce02fe15a73a00aace
|
||||
Subproject commit dec99a0f77328f7a9f104020d98d7227345d1288
|
2
panda
2
panda
|
@ -1 +1 @@
|
|||
Subproject commit 234e436e93f4dbd084fd912fe9b10d504ca9882e
|
||||
Subproject commit c2af3c95660c8f129ec7a487bc456b3450b5537e
|
|
@ -49,11 +49,9 @@ class CarController():
|
|||
def update(self, c, enabled, CS, frame, actuators, pcm_cancel_cmd, visual_alert, hud_speed,
|
||||
left_lane, right_lane, left_lane_depart, right_lane_depart):
|
||||
|
||||
if self.CP.carFingerprint == CAR.KIA_EV6:
|
||||
return actuators.copy(), []
|
||||
|
||||
# Steering Torque
|
||||
new_steer = int(round(actuators.steer * self.p.STEER_MAX))
|
||||
#new_steer = int(round(actuators.steer * self.p.STEER_MAX))
|
||||
new_steer = int(round(actuators.steer * 150))
|
||||
apply_steer = apply_std_steer_torque_limits(new_steer, self.apply_steer_last, CS.out.steeringTorque, self.p)
|
||||
self.steer_rate_limited = new_steer != apply_steer
|
||||
|
||||
|
@ -69,6 +67,27 @@ class CarController():
|
|||
process_hud_alert(enabled, self.CP.carFingerprint, visual_alert,
|
||||
left_lane, right_lane, left_lane_depart, right_lane_depart)
|
||||
|
||||
|
||||
if self.CP.carFingerprint == CAR.KIA_EV6:
|
||||
ret = []
|
||||
|
||||
# steering control
|
||||
values = {
|
||||
"LDW_STATUS": 3,
|
||||
"TORQUE_REQUEST": apply_steer,
|
||||
"NEW_SIGNAL_1": 6,
|
||||
"STEER_REQ": 1 if lkas_active else 0,
|
||||
"STEER_REQ_2": 1 if lkas_active else 0,
|
||||
"STEER_REQ_3": 1 if lkas_active else 0,
|
||||
}
|
||||
ret.append(self.packer.make_can_msg("LKAS", 4, values, frame % 255))
|
||||
|
||||
new_actuators = actuators.copy()
|
||||
new_actuators.steer = apply_steer / self.p.STEER_MAX
|
||||
|
||||
return new_actuators, ret
|
||||
|
||||
|
||||
can_sends = []
|
||||
|
||||
# tester present - w/ no response (keeps radar disabled)
|
||||
|
|
|
@ -47,7 +47,7 @@ def get_can_parser_ev6(CP):
|
|||
("DOORS_SEATBELTS", 0),
|
||||
]
|
||||
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 4)
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 5)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -227,6 +227,12 @@ class CarInterface(CarInterfaceBase):
|
|||
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.noOutput),
|
||||
get_safety_config(car.CarParams.SafetyModel.allOutput, 1)]
|
||||
|
||||
ret.lateralTuning.pid.kf = 0.00005
|
||||
tire_stiffness_factor = 0.65
|
||||
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0.], [0.]]
|
||||
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.25], [0.05]]
|
||||
|
||||
|
||||
# Genesis
|
||||
elif candidate == CAR.GENESIS_G70:
|
||||
ret.lateralTuning.init('indi')
|
||||
|
|
|
@ -257,8 +257,8 @@ class Controls:
|
|||
else:
|
||||
safety_mismatch = pandaState.safetyModel not in IGNORED_SAFETY_MODES
|
||||
|
||||
if safety_mismatch or self.mismatch_counter >= 200:
|
||||
self.events.add(EventName.controlsMismatch)
|
||||
#if safety_mismatch or self.mismatch_counter >= 200:
|
||||
# self.events.add(EventName.controlsMismatch)
|
||||
|
||||
if log.PandaState.FaultType.relayMalfunction in pandaState.faults:
|
||||
self.events.add(EventName.relayMalfunction)
|
||||
|
|
|
@ -109,11 +109,6 @@ def main() -> NoReturn:
|
|||
cloudlog.info(f"Resetting panda {panda.get_usb_serial()}")
|
||||
panda.reset()
|
||||
|
||||
if panda.has_canfd():
|
||||
for bus in range(3):
|
||||
panda.set_can_speed_kbps(bus, 500)
|
||||
panda.set_can_data_speed_kbps(bus, 2000)
|
||||
|
||||
# sort pandas to have deterministic order
|
||||
pandas.sort(key=cmp_to_key(panda_sort_cmp))
|
||||
panda_serials = list(map(lambda p: p.get_usb_serial(), pandas))
|
||||
|
|
Loading…
Reference in New Issue