@@ -211,8 +211,8 @@ def _set_timers(self, active_monitoring):
211211 self .step_change = self .settings ._DT_DMON / self .settings ._AWARENESS_TIME
212212 self .active_monitoring_mode = False
213213
214- def _set_policy (self , model_data , car_speed ):
215- bp = model_data . meta . disengagePredictions . brakeDisengageProbs [ 0 ] # brake disengage prob in next 2s
214+ def _set_policy (self , brake_disengage_prob , car_speed ):
215+ bp = brake_disengage_prob
216216 k1 = max (- 0.00156 * ((car_speed - 16 )** 2 )+ 0.6 , 0.2 )
217217 bp_normal = max (min (bp / k1 , 0.5 ),0 )
218218 self .pose .cfactor_pitch = np .interp (bp_normal , [0 , 0.5 ],
@@ -417,27 +417,42 @@ def get_state_packet(self, valid=True):
417417 }
418418 return dat
419419
420- def run_step (self , sm ):
421- # Set strictness
420+ def run_step (self , sm , demo = False ):
421+ if demo :
422+ highway_speed = 30
423+ enabled = True
424+ wrong_gear = False
425+ standstill = False
426+ driver_engaged = False
427+ brake_disengage_prob = 1.0
428+ rpyCalib = [0. , 0. , 0. ]
429+ else :
430+ highway_speed = sm ['carState' ].vEgo
431+ enabled = sm ['selfdriveState' ].enabled
432+ wrong_gear = sm ['carState' ].gearShifter not in (car .CarState .GearShifter .drive , car .CarState .GearShifter .low )
433+ standstill = sm ['carState' ].standstill
434+ driver_engaged = sm ['carState' ].steeringPressed or sm ['carState' ].gasPressed
435+ brake_disengage_prob = sm ['modelV2' ].meta .disengagePredictions .brakeDisengageProbs [0 ] # brake disengage prob in next 2s
436+ rpyCalib = sm ['liveCalibration' ].rpyCalib
422437 self ._set_policy (
423- model_data = sm [ 'modelV2' ] ,
424- car_speed = sm [ 'carState' ]. vEgo
438+ brake_disengage_prob = brake_disengage_prob ,
439+ car_speed = highway_speed ,
425440 )
426441
427442 # Parse data from dmonitoringmodeld
428443 self ._update_states (
429444 driver_state = sm ['driverStateV2' ],
430- cal_rpy = sm [ 'liveCalibration' ]. rpyCalib ,
431- car_speed = sm [ 'carState' ]. vEgo ,
432- op_engaged = sm [ 'selfdriveState' ]. enabled ,
433- standstill = sm [ 'carState' ]. standstill ,
445+ cal_rpy = rpyCalib ,
446+ car_speed = highway_speed ,
447+ op_engaged = enabled ,
448+ standstill = standstill ,
434449 )
435450
436451 # Update distraction events
437452 self ._update_events (
438- driver_engaged = sm [ 'carState' ]. steeringPressed or sm [ 'carState' ]. gasPressed ,
439- op_engaged = sm [ 'selfdriveState' ]. enabled ,
440- standstill = sm [ 'carState' ]. standstill ,
441- wrong_gear = sm [ 'carState' ]. gearShifter in [ car . CarState . GearShifter . reverse , car . CarState . GearShifter . park ] ,
442- car_speed = sm [ 'carState' ]. vEgo
453+ driver_engaged = driver_engaged ,
454+ op_engaged = enabled ,
455+ standstill = standstill ,
456+ wrong_gear = wrong_gear ,
457+ car_speed = highway_speed
443458 )
0 commit comments