mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-01 13:43:48 +08:00
Update carcontroller.py
This commit is contained in:
@@ -63,13 +63,6 @@ class CarController(CarControllerBase):
|
||||
self.aego = 0.0
|
||||
self.regen_paddle_timer = 0
|
||||
|
||||
# Smoothing state for paddle blending
|
||||
self.prev_regen_paddle_pressed = False
|
||||
self.regen_paddle_pressed_changed = False
|
||||
self.regen_paddle_pressed_changed_counter = 0
|
||||
self.prev_pedal_gas = 0.0
|
||||
|
||||
|
||||
# Midpoint + overflow spoof accumulator and flags
|
||||
self.spoof_accum = 0.0
|
||||
self.spoof_mid_sent = False
|
||||
@@ -92,13 +85,9 @@ class CarController(CarControllerBase):
|
||||
# else: hold timer between -0.7 and -0.3
|
||||
|
||||
# Base paddle press hysteresis
|
||||
self.regen_paddle_pressed = self.regen_paddle_timer >= 30 # 30 frames
|
||||
self.regen_paddle_pressed = self.regen_paddle_timer >= 20 # 30 frames
|
||||
press_regen_paddle = self.regen_paddle_pressed
|
||||
|
||||
# Detect press/release edges for smoothing
|
||||
self.regen_paddle_pressed_changed = (self.regen_paddle_pressed != self.prev_regen_paddle_pressed)
|
||||
self.prev_regen_paddle_pressed = self.regen_paddle_pressed
|
||||
|
||||
# Regen gain ratios from bin-averaged 60–0 deceleration sweep; Calculates stronger decel from paddle
|
||||
speed_mps = [0.559, 1.678, 2.797, 3.916, 5.035, 6.154, 7.273, 8.392, 9.511, 10.63,
|
||||
11.749, 12.868, 13.987, 15.106, 16.225, 17.344, 18.463, 19.582, 20.701, 21.820,
|
||||
@@ -116,10 +105,9 @@ class CarController(CarControllerBase):
|
||||
|
||||
# --- Immediate application of raw pedal gas, no blending ---
|
||||
pedal_gas = raw_pedal_gas
|
||||
# Safety cap on initial takeoff: limit pedal_gas based on vehicle speed
|
||||
pedal_gas_max = interp(car_velocity, [0.0, 5, 30], [0.22, 0.3275, 0.3725])
|
||||
# Safety cap: ramp from 22% at 0 m/s to 37.25% at 10 mph (4.47 m/s), then allow full throttleAdd commentMore actions
|
||||
pedal_gas_max = interp(car_velocity, [0.0, 4.47, 4.48], [0.22, 0.3725, 1.0])
|
||||
pedal_gas = clip(pedal_gas, 0.0, pedal_gas_max)
|
||||
self.prev_pedal_gas = pedal_gas
|
||||
return pedal_gas, press_regen_paddle
|
||||
|
||||
|
||||
@@ -144,7 +132,7 @@ class CarController(CarControllerBase):
|
||||
self.CP.openpilotLongitudinalControl and
|
||||
CC.longActive and
|
||||
self.CP.enableGasInterceptor and
|
||||
self.regen_paddle_timer >= 30 # raw hysteresis-only
|
||||
self.regen_paddle_timer >= 20 # raw hysteresis-only
|
||||
)
|
||||
regen_active = raw_regen_active
|
||||
|
||||
|
||||
Reference in New Issue
Block a user