mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-03 07:22:05 +08:00
Vehicle policy registration
Select longitudinal policy through the shared vehicle dispatch contract.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
"""Select an admitted vehicle-owned longitudinal tuning policy."""
|
||||
|
||||
from opendbc.car.gm.conventional_pedal import policy_for as conventional_pedal_policy_for
|
||||
from opendbc.car.gm.camera import policy_for as camera_policy_for
|
||||
from opendbc.car.gm.ordinary_cc import policy_for as ordinary_cc_policy_for
|
||||
from opendbc.car.gm.bolt_cc import policy_for as bolt_cc_policy_for
|
||||
from opendbc.car.gm.longitudinal import policy_for as gm_pedal_policy_for, volt_policy_for, euv_policy_for, ascm_policy_for, sdgm_policy_for
|
||||
|
||||
from opendbc.car.gm.cc_longitudinal import policy_for as volt_cc_policy_for
|
||||
from opendbc.car.gm.suburban import (policy_for as suburban_policy_for,
|
||||
stopping_decel_rate as gm_suburban_stopping_decel_rate)
|
||||
from opendbc.car.hyundai.g90_longitudinal import (stopping_decel_rate as hyundai_stopping_decel_rate,
|
||||
forecast_should_stop as hyundai_forecast_should_stop)
|
||||
|
||||
|
||||
def policy_for(cp):
|
||||
return (suburban_policy_for(cp) or conventional_pedal_policy_for(cp) or camera_policy_for(cp) or ordinary_cc_policy_for(cp) or
|
||||
sdgm_policy_for(cp) or ascm_policy_for(cp) or gm_pedal_policy_for(cp) or volt_policy_for(cp) or
|
||||
euv_policy_for(cp) or volt_cc_policy_for(cp) or bolt_cc_policy_for(cp))
|
||||
|
||||
|
||||
def stopping_decel_rate(cp, policy):
|
||||
rate = hyundai_stopping_decel_rate(cp)
|
||||
if rate is not None:
|
||||
return rate
|
||||
rate = gm_suburban_stopping_decel_rate(cp)
|
||||
if rate is not None:
|
||||
return rate
|
||||
return policy.stopping_decel_rate if policy is not None else 1.0
|
||||
|
||||
|
||||
def stopping_policy_for(cp, dt):
|
||||
from opendbc.car.hyundai.blended_stopping import policy_for as blended_stopping_policy_for
|
||||
from opendbc.car.hyundai.ev9_stopping import policy_for as ev9_stopping_policy_for
|
||||
return ev9_stopping_policy_for(cp, dt) or blended_stopping_policy_for(cp, dt)
|
||||
|
||||
|
||||
def forecast_should_stop(cp, speeds, time_indices, action_t, fallback):
|
||||
decision = hyundai_forecast_should_stop(cp, speeds, time_indices, action_t)
|
||||
return fallback if decision is None else decision
|
||||
|
||||
|
||||
def tracked_lead_scale(cp):
|
||||
from opendbc.car.hyundai.gv70_longitudinal import tracked_lead_scale as hyundai_tracked_lead_scale
|
||||
return hyundai_tracked_lead_scale(cp)
|
||||
|
||||
|
||||
def planner_cost_owner(cp):
|
||||
from opendbc.car.hyundai.gv70_costs import eligible
|
||||
if not eligible(cp):
|
||||
return None
|
||||
from openpilot.starpilot.longitudinal.gv70_cost_context import GV70CostContext
|
||||
return GV70CostContext()
|
||||
Reference in New Issue
Block a user