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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
| """ GB 47955-2026 / GB 44721-2026 DMS 功能需求矩阵
基于国标要求的功能清单和实现优先级 """
from dataclasses import dataclass from enum import IntEnum
class Priority(IntEnum): MANDATORY = 0 RECOMMENDED = 1 OPTIONAL = 2
class Deadline(IntEnum): JAN_2027 = 0 JUL_2027 = 1 FUTURE = 2
@dataclass class DMSRequirement: """DMS 法规需求项""" function: str description: str priority: Priority deadline: Deadline trigger_condition: str response_action: str
GB47955_REQUIREMENTS = [ DMSRequirement( function="驾驶员在环检测", description="检测驾驶员是否在驾驶位且具备驾驶能力", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="驾驶员不在驾驶位 / 安全带未系", response_action="系统报警 → 风险减缓 → 辅助系统关闭" ), DMSRequirement( function="手离方向盘检测", description="检测驾驶员双手是否脱离方向盘", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="双手脱离方向盘 > 5秒", response_action="一级警告 → 二级警告 → 系统关闭" ), DMSRequirement( function="视线偏离检测", description="检测驾驶员视线是否偏离路面", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="视线偏离路面 > 2秒", response_action="一级警告 → 二级警告" ), DMSRequirement( function="疲劳检测", description="检测驾驶员疲劳状态(PERCLOS等)", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="PERCLOS 超阈值 / 闭眼时长超标", response_action="疲劳警告 → 建议休息" ), DMSRequirement( function="分心检测", description="检测驾驶员注意力分散状态", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="视线频繁偏离 / 手机使用", response_action="分心警告 → 建议集中注意力" ), DMSRequirement( function="驾驶员响应检测", description="检测驾驶员对警告的响应", priority=Priority.MANDATORY, deadline=Deadline.JAN_2027, trigger_condition="警告后驾驶员未响应", response_action="升级警告 → 风险减缓 → 系统关闭" ), ]
GB44721_REQUIREMENTS = [ DMSRequirement( function="接管能力评估", description="评估驾驶员是否具备接管车辆的能力", priority=Priority.MANDATORY, deadline=Deadline.JUL_2027, trigger_condition="L3→L2 降级时驾驶员不在环", response_action="强制减速 → 靠边停车 → 紧急呼叫" ), DMSRequirement( function="酒驾损伤检测", description="检测驾驶员是否受酒精影响", priority=Priority.RECOMMENDED, deadline=Deadline.JUL_2027, trigger_condition="面部特征 + 行为异常", response_action="禁止启动 L3 → 强制 L2" ), DMSRequirement( function="突发疾病检测", description="检测驾驶员是否发生健康问题", priority=Priority.RECOMMENDED, deadline=Deadline.JUL_2027, trigger_condition="面部颜色异常 + 姿态异常", response_action="紧急停车 → 呼叫急救" ), DMSRequirement( function="乘员监测 OMS", description="监测车内其他乘员状态", priority=Priority.MANDATORY, deadline=Deadline.JUL_2027, trigger_condition="后排乘员 / 儿童检测", response_action="CPD 告警 → 乘员安全提示" ), ]
def print_requirements(): print("=" * 80) print("GB 47955-2026 (L2 辅助驾驶) DMS 需求") print("实施日期: 2027年1月1日") print("=" * 80) for req in GB47955_REQUIREMENTS: print(f"\n 功能: {req.function}") print(f" 描述: {req.description}") print(f" 优先级: {'强制' if req.priority == 0 else '推荐'}") print(f" 触发: {req.trigger_condition}") print(f" 响应: {req.response_action}") print("\n" + "=" * 80) print("GB 44721-2026 (L3/L4 自动驾驶) DMS 额外需求") print("实施日期: 2027年7月1日") print("=" * 80) for req in GB44721_REQUIREMENTS: print(f"\n 功能: {req.function}") print(f" 描述: {req.description}") print(f" 优先级: {'强制' if req.priority == 0 else '推荐'}") print(f" 触发: {req.trigger_condition}") print(f" 响应: {req.response_action}")
if __name__ == "__main__": print_requirements()
|