Euro NCAP 2026协议完整解读:DMS/OMS测试场景与评分标准

协议信息

核心变化概览

四阶段安全框架

Euro NCAP 2026将安全评估重组为四个阶段:

graph LR
    A[Safe Driving<br>安全驾驶] --> B[Crash Avoidance<br>碰撞避免]
    B --> C[Crash Protection<br>碰撞保护]
    C --> D[Post-Crash Safety<br>碰撞后安全]
阶段 权重 最低分数要求(5星) 关键模块
Safe Driving 25% 60%→70% (2027) DMS、HMI、CPD
Crash Avoidance 40% 70% AEB、LKA、FCW
Crash Protection 25% 80% 正面/侧面/追尾碰撞
Post-Crash Safety 10% - eCall、救援信息

Safe Driving阶段详细解读

1. 驾驶员监控系统(DMS)

扩展要求:

检测类型 2025协议 2026协议 检测方法
疲劳 PERCLOS、眼动分析
分心 视线偏离、手机使用
酒精/药物损伤 新增 行为分析、方向盘操控熵
无响应驾驶员 新增 多级警告+ADAS干预

酒精损伤检测指标:

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
# 酒精损伤检测伪代码
class AlcoholImpairmentDetector:
def __init__(self):
self.steering_entropy_threshold = 0.45
self.lane_departure_threshold = 3 # 次/分钟
self.reaction_time_threshold = 2.5 # 秒

def detect(self, steering_data, lane_data, gaze_data):
"""
酒精损伤检测

Args:
steering_data: 方向盘操控数据序列
lane_data: 车道偏离数据
gaze_data: 视线数据

Returns:
impairment_level: 0-正常, 1-轻微损伤, 2-严重损伤
"""
# 1. 计算方向盘操控熵
steering_entropy = self.calculate_steering_entropy(steering_data)

# 2. 统计车道偏离频率
lane_departures = len([e for e in lane_data if e['type'] == 'departure'])

# 3. 分析反应时间
reaction_time = self.measure_reaction_time(gaze_data)

# 4. 综合判断
if steering_entropy > self.steering_entropy_threshold:
if lane_departures > self.lane_departure_threshold:
return 2 # 严重损伤
else:
return 1 # 轻微损伤

return 0 # 正常

def calculate_steering_entropy(self, steering_data):
"""
计算方向盘操控熵(Nakayama方法)

参考:Nakayama et al., "Steering entropy as a measure of driver distraction"
"""
# 预测方向盘角度
predictions = []
for i in range(2, len(steering_data)):
pred = 0.5 * steering_data[i-1] + 0.5 * steering_data[i-2]
predictions.append(pred)

# 计算预测误差
actual = steering_data[2:]
errors = np.abs(np.array(actual) - np.array(predictions))

# 归一化并计算熵
normalized_errors = errors / (np.max(errors) + 1e-6)
entropy = -np.sum(normalized_errors * np.log2(normalized_errors + 1e-6))

return entropy

无响应驾驶员干预流程:

graph TD
    A[DMS检测到无响应] --> B{一级警告}
    B -->|无反馈| C{二级警告}
    C -->|无反馈| D[ADAS干预]
    D --> E[减速+靠边停车]
    E --> F[激活eCall]
    
    B -->|有反馈| G[继续监控]
    C -->|有反馈| G

2. 人机交互界面(HMI)测试

新增要求:

功能 评估标准 得分条件
喇叭 物理按钮优先 物理按钮:2分,触摸屏:0分
雨刮器 易于访问 物理按钮:2分,触摸屏:0分
转向灯 直观操作 物理拨杆:2分,触摸屏:0分
危险报警灯 单次操作激活 物理按钮:2分,触摸屏:1分

评估方法:

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
# HMI评估伪代码
class HMIEvaluator:
def __init__(self):
self.controls = {
'horn': {'physical': 2, 'touchscreen': 0},
'wipers': {'physical': 2, 'touchscreen': 0},
'indicators': {'physical': 2, 'touchscreen': 0},
'hazard_lights': {'physical': 2, 'touchscreen': 1}
}

def evaluate(self, vehicle_config):
"""
评估车辆HMI配置

Args:
vehicle_config: {
'horn': 'physical' or 'touchscreen',
'wipers': 'physical' or 'touchscreen',
...
}

Returns:
score: 总分(满分8分)
"""
score = 0

for control, control_type in vehicle_config.items():
if control in self.controls:
score += self.controls[control][control_type]

return score


# 实际测试示例
if __name__ == "__main__":
# 传统物理按钮配置
traditional_config = {
'horn': 'physical',
'wipers': 'physical',
'indicators': 'physical',
'hazard_lights': 'physical'
}

# 全触摸屏配置
touchscreen_config = {
'horn': 'touchscreen',
'wipers': 'touchscreen',
'indicators': 'touchscreen',
'hazard_lights': 'touchscreen'
}

evaluator = HMIEvaluator()

print(f"传统配置得分: {evaluator.evaluate(traditional_config)}/8")
print(f"触摸屏配置得分: {evaluator.evaluate(touchscreen_config)}/1")

3. 儿童存在检测(CPD)

2026协议要求:

检测对象 检测时限 警告方式
婴儿(<1岁) 锁车后≤30s 车内蜂鸣+手机推送
儿童(1-12岁) 锁车后≤60s 车内蜂鸣+手机推送

技术路线对比:

技术 优势 劣势 Euro NCAP推荐
60GHz毫米波雷达 穿透厚毯子、隐私友好 分辨率有限 ⭐⭐⭐⭐⭐
超声波传感器 成本低 受温度影响、穿透性差 ⭐⭐⭐
摄像头 信息丰富 隐私争议、遮挡敏感 ⭐⭐⭐⭐
压力传感器 简单可靠 无法区分活体/物体 ⭐⭐

雷达方案示例:

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
# CPD雷达检测伪代码
class CPDRadar:
def __init__(self):
self.radar = Radar60GHz()
self.vital_signs_threshold = {
'breathing_rate': (10, 30), # 次/分钟
'heart_rate': (60, 120) # 次/分钟
}

def detect(self):
"""
检测车内儿童

Returns:
{
'detected': bool,
'location': 'rear_left' | 'rear_right' | 'front',
'vital_signs': {'breathing': float, 'heart_rate': float}
}
"""
# 1. 获取雷达点云
point_cloud = self.radar.get_point_cloud()

# 2. 检测生命体征
vital_signs = self.extract_vital_signs(point_cloud)

# 3. 判断是否为儿童
is_child = self.classify_child(vital_signs)

return {
'detected': is_child,
'location': self.locate_target(point_cloud),
'vital_signs': vital_signs
}

def extract_vital_signs(self, point_cloud):
"""
从雷达点云提取生命体征
"""
# 多普勒频移分析
breathing_rate = self.analyze_breathing(point_cloud)
heart_rate = self.analyze_heart_rate(point_cloud)

return {
'breathing': breathing_rate,
'heart_rate': heart_rate
}

def classify_child(self, vital_signs):
"""
判断是否为儿童生命体征
"""
breathing = vital_signs['breathing']
heart_rate = vital_signs['heart_rate']

# 儿童生命体征范围
if 20 <= breathing <= 40 and 80 <= heart_rate <= 130:
return True

return False

Crash Avoidance阶段详细解读

1. AEB性能要求提升

新增测试场景:

场景代码 场景描述 测试速度 通过条件
C2C-01 前车突然减速 50-80km/h 避免碰撞或速度降低≥50%
C2C-02 前车静止 30-60km/h 避免碰撞
C2V-01 横向车辆穿越 30-50km/h 避免碰撞
C2P-01 行人横穿 20-50km/h 避免碰撞
C2P-02 行人沿路行走 30-60km/h 避免碰撞或速度降低≥30%

2. 车道保持辅助(LKA)

自适应LKA(2026新增):

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
class AdaptiveLKA:
"""
自适应车道保持辅助

根据驾驶员警觉性调整干预强度
"""

def __init__(self):
self.alertness_levels = {
'high': {'intervention': 'minimal', 'warning': 'none'},
'medium': {'intervention': 'moderate', 'warning': 'visual'},
'low': {'intervention': 'strong', 'warning': 'audio'}
}

def update(self, driver_state):
"""
根据驾驶员状态更新LKA参数

Args:
driver_state: {
'alertness': 'high' | 'medium' | 'low',
'fatigue_score': 0-100,
'distraction_score': 0-100
}
"""
alertness = driver_state['alertness']
config = self.alertness_levels[alertness]

# 调整转向力矩
if config['intervention'] == 'minimal':
self.torque_limit = 1.0 # Nm
elif config['intervention'] == 'moderate':
self.torque_limit = 2.5 # Nm
else: # strong
self.torque_limit = 5.0 # Nm

# 调整警告方式
self.warning_mode = config['warning']

Crash Protection阶段详细解读

1. 乘员多样性测试

新增测试配置:

乘员类型 身高 体重 测试重点
小身材女性 149cm 49kg 胸部压缩量、颈部伤害
大身材男性 188cm 99kg 腿部伤害、头部碰撞
老年人 165cm 70kg 胸部伤害、肋骨骨折风险
儿童(6岁) 120cm 22kg 儿童安全座椅兼容性

2. 侧翻保护

测试要求:

  • 车顶强度:≥4倍车重
  • 侧翻后车门可开启性
  • 安全带预紧器激活时序

Post-Crash Safety阶段详细解读

1. 救援信息表(Rescue Sheet)

ISO 17840标准:

信息类别 必填内容
车辆识别 VIN、车型、年份
动力系统 燃油类型、电池位置
高压系统 电压、切断位置(仅EV)
气囊位置 气囊数量、位置、类型
安全带预紧器 位置、激活条件

2. 增强型eCall系统

必须传输的数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"timestamp": "2026-07-18T00:00:00Z",
"location": {
"latitude": 48.1351,
"longitude": 11.5820,
"altitude": 520
},
"crash_info": {
"impact_type": "frontal",
"severity": "high",
"delta_v": 45.2
},
"occupant_info": {
"total_count": 4,
"seatbelt_status": ["fastened", "fastened", "unfastened", "fastened"],
"airbag_deployed": ["yes", "yes", "no", "yes"]
},
"vehicle_info": {
"vin": "WVWZZZ1KZPW123456",
"fuel_type": "electric",
"battery_capacity": 75,
"thermal_runaway_risk": false
}
}

3. 电动车特殊要求

热失控检测(90分钟要求):

检测项 要求 检测方法
电池温度 ≤60°C 温度传感器
烟雾检测 无检测到 光学传感器
电压降 ≤10% 电压监测

Zeekr 7GT案例分析(Euro NCAP首测车型)

评分详情

阶段 得分率 星级
Safe Driving 85% ⭐⭐⭐⭐⭐
Crash Avoidance 92% ⭐⭐⭐⭐⭐
Crash Protection 88% ⭐⭐⭐⭐⭐
Post-Crash Safety 95% ⭐⭐⭐⭐⭐

DMS表现

优势:

  • 疲劳检测得分率:90%
  • 分心检测得分率:88%
  • 损伤检测得分率:85%(新增项)

不足:

  • 触摸屏依赖过重,HMI得分较低
  • 物理控制功能缺失(喇叭、雨刮器)

CPD表现

  • 儿童检测准确率:95%
  • 误报率:<5%
  • 警告响应时间:≤20s

AB Dynamics测试工具

Special Groups Euro NCAP 2026模块

预配置场景:

  • 总数:1200+场景
  • 覆盖:Safe Driving、Crash Avoidance、Crash Protection
  • 节省开发时间:数月

场景分类:

类别 数量 示例场景
疲劳检测 180 PERCLOS≥30%、微睡眠、持续闭眼
分心检测 220 手机使用、视线偏离、中控操作
损伤检测 150 酒精损伤、药物损伤、疲劳损伤
AEB测试 350 前车减速、行人横穿、自行车穿越
LKA测试 200 车道偏离、弯道保持、紧急避让
CPD测试 100 婴儿检测、儿童检测、宠物检测

IMS开发启示

1. 开发优先级

模块 Euro NCAP分数 开发周期 优先级
基础DMS(疲劳+分心) 15分 3个月 🔴 高
酒精损伤检测 5分 2个月 🔴 高
无响应驾驶员干预 5分 2个月 🔴 高
CPD雷达方案 10分 3个月 🔴 高
安全带误用检测 5分 2个月 🟡 中
HMI物理按钮 8分 1个月 🟡 中

2. 测试验证策略

步骤1:场景覆盖验证

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
# 场景覆盖检查脚本
def check_scenario_coverage(test_results, euro_ncap_scenarios):
"""
检查测试场景覆盖率

Args:
test_results: 已完成的测试结果
euro_ncap_scenarios: Euro NCAP 2026所有场景

Returns:
coverage_report: {
'total_scenarios': int,
'passed_scenarios': int,
'failed_scenarios': int,
'missing_scenarios': list
}
"""
passed = []
failed = []

for scenario in euro_ncap_scenarios:
if scenario['id'] in test_results:
if test_results[scenario['id']]['passed']:
passed.append(scenario)
else:
failed.append(scenario)

missing = [s for s in euro_ncap_scenarios if s['id'] not in test_results]

return {
'total_scenarios': len(euro_ncap_scenarios),
'passed_scenarios': len(passed),
'failed_scenarios': len(failed),
'missing_scenarios': len(missing),
'coverage_rate': len(passed) / len(euro_ncap_scenarios) * 100
}

步骤2:自动测试流水线

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
# 自动测试流水线示例
class EuroNCAPTestPipeline:
def __init__(self, vehicle_config):
self.vehicle = vehicle_config
self.test_results = {}

def run_all_tests(self):
"""运行所有Euro NCAP测试"""
# 1. DMS测试
self.run_dms_tests()

# 2. CPD测试
self.run_cpd_tests()

# 3. AEB测试
self.run_aeb_tests()

# 4. HMI测试
self.run_hmi_tests()

# 5. 生成报告
return self.generate_report()

def run_dms_tests(self):
"""DMS测试套件"""
dms_scenarios = [
{'id': 'DMS-F-01', 'type': 'fatigue', 'duration': 60},
{'id': 'DMS-D-01', 'type': 'distraction', 'duration': 30},
{'id': 'DMS-I-01', 'type': 'impairment', 'duration': 120}
]

for scenario in dms_scenarios:
result = self.execute_scenario(scenario)
self.test_results[scenario['id']] = result

3. 文档准备清单

Euro NCAP Dossier必备内容:

章节 内容 页数
系统概述 传感器配置、软件版本 5
DMS算法 疲劳/分心/损伤检测逻辑 15
测试报告 1200+场景测试结果 50
性能数据 精度、召回率、误报率 10
边界条件 光照、遮挡、温度范围 5

总结

Euro NCAP 2026协议在Safe Driving阶段大幅提升要求,新增酒精损伤检测无响应驾驶员干预HMI评估,并将CPD纳入强制要求。IMS开发需重点关注:

  1. DMS多模态融合:疲劳+分心+损伤检测一体化
  2. CPD雷达方案:60GHz毫米波雷达穿透性优势
  3. HMI物理按钮:避免全触摸屏配置损失8分
  4. 自动测试流水线:覆盖1200+场景验证

官方参考: Euro NCAP 2026 Provisional Protocols, https://www.euroncap.com/en/for-engineers/protocols/2026-protocols/


Euro NCAP 2026协议完整解读:DMS/OMS测试场景与评分标准
https://dapalm.com/2026/07/18/2026-07-18-02-Euro-NCAP-2026-Protocol-Complete-Guide/
作者
Mars
发布于
2026年7月18日
许可协议