1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| class ADASAdjustmentPolicy: """ ADAS调整策略 """ def __init__(self): self.adjustments = { 0: {'acc': 1.0, 'lss': 1.0, 'aeb': 1.0, 'warning': None}, 1: {'acc': 1.0, 'lss': 1.2, 'aeb': 1.0, 'warning': 'visual'}, 2: {'acc': 0.8, 'lss': 1.5, 'aeb': 1.2, 'warning': 'audio'}, 3: {'acc': 0.6, 'lss': 2.0, 'aeb': 1.5, 'warning': 'haptic'}, 4: {'acc': 0.7, 'lss': 1.5, 'aeb': 1.2, 'warning': 'audio'}, 5: {'acc': 0.5, 'lss': 2.0, 'aeb': 2.0, 'warning': 'haptic'}, 6: {'acc': 0.0, 'lss': 2.0, 'aeb': 2.0, 'warning': 'emergency'} } def get_adjustment(self, state): """ 获取ADAS调整参数 """ return self.adjustments.get(state, self.adjustments[0]) def apply_to_adas(self, adas_controller, adjustment): """ 应用调整到ADAS控制器 """ adas_controller.set_acc_sensitivity(adjustment['acc']) adas_controller.set_lss_sensitivity(adjustment['lss']) adas_controller.set_aeb_sensitivity(adjustment['aeb']) if adjustment['warning'] == 'visual': self.trigger_visual_warning() elif adjustment['warning'] == 'audio': self.trigger_audio_warning() elif adjustment['warning'] == 'haptic': self.trigger_haptic_warning() elif adjustment['warning'] == 'emergency': self.trigger_emergency_procedure()
|