mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-02-20 21:53:59 +08:00
======================== * Added C2 quiet fan mode. (Thanks to @dingliangxue) * Added "Assisted Lane Change Min Engage Speed" and "Auto Lane Change Min Engage Speed" settings. * Re-added Dev UI. (Thanks to @Kent) * Added "dp_lqr" setting to force enable lqr tuning from RAV4. (Thanks to eisenheim)
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
#!/usr/bin/env python3.7
|
|
import subprocess
|
|
from cereal import car
|
|
from common.params import Params
|
|
params = Params()
|
|
|
|
def is_online():
|
|
try:
|
|
return not subprocess.call(["ping", "-W", "4", "-c", "1", "117.28.245.92"])
|
|
except ProcessLookupError:
|
|
return False
|
|
|
|
def common_controller_ctrl(enabled, dragon_lat_ctrl, dragon_enable_steering_on_signal, blinker_on, steer_req):
|
|
if enabled:
|
|
if (dragon_enable_steering_on_signal and blinker_on) or not dragon_lat_ctrl:
|
|
steer_req = 0 if isinstance(steer_req, int) else False
|
|
return steer_req
|
|
|
|
def common_interface_atl(ret, atl):
|
|
# dp
|
|
enable_acc = ret.cruiseState.enabled
|
|
if atl and ret.cruiseState.available:
|
|
enable_acc = True
|
|
if ret.gearShifter in [car.CarState.GearShifter.reverse, car.CarState.GearShifter.park]:
|
|
enable_acc = False
|
|
if ret.seatbeltUnlatched or ret.doorOpen:
|
|
enable_acc = False
|
|
return enable_acc
|
|
|
|
def common_interface_get_params_lqr(ret):
|
|
if params.get('dp_lqr') == b'1':
|
|
ret.lateralTuning.init('lqr')
|
|
ret.lateralTuning.lqr.scale = 1500.0
|
|
ret.lateralTuning.lqr.ki = 0.05
|
|
|
|
ret.lateralTuning.lqr.a = [0., 1., -0.22619643, 1.21822268]
|
|
ret.lateralTuning.lqr.b = [-1.92006585e-04, 3.95603032e-05]
|
|
ret.lateralTuning.lqr.c = [1., 0.]
|
|
ret.lateralTuning.lqr.k = [-110.73572306, 451.22718255]
|
|
ret.lateralTuning.lqr.l = [0.3233671, 0.3185757]
|
|
ret.lateralTuning.lqr.dcGain = 0.002237852961363602
|
|
return ret |