前言
你开车时有没有遇到过:
- 前车突然急刹,你的车"自己"踩了刹车?
- 倒车时快撞墙了,车突然停下来?
- 明明没踩刹车,车却减速了?
这就是**AEB(自动紧急制动)**在救你的命。
今天从传感器到控制算法,彻底搞懂汽车安全系统。
一、汽车安全体系总览
┌─────────────────────────────────────────────────────────────────────────────┐
│ 汽车安全体系 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 主动安全 │ │
│ │ (预防事故发生) │ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ AEB │ │ FCW │ │ LDW │ │ BSD │ │ │
│ │ │ 自动紧急 │ │ 前碰撞 │ │ 车道偏离 │ │ 盲区监测 │ │ │
│ │ │ 制动 │ │ 预警 │ │ 预警 │ │ │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ ACC │ │ LKA │ │ APA │ │ TSR │ │ │
│ │ │ 自适应 │ │ 车道保持 │ │ 自动泊车 │ │ 交通标志 │ │ │
│ │ │ 巡航 │ │ 辅助 │ │ │ │ 识别 │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 被动安全 │ │
│ │ (减轻事故伤害) │ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ 安全带 │ │ 安全气囊 │ │ 车身结构 │ │ 座椅 │ │ │
│ │ │ 预紧+限力 │ │ 多气囊 │ │ 吸能设计 │ │ 头枕保护 │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 【关键区别】 │
│ ───────────────────────────────────────── │
│ 主动安全: 事故发生前介入,尽量避免碰撞 │
│ 被动安全: 碰撞无法避免时,保护乘员 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
二、AEB系统详解
AEB是什么?
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB (Autonomous Emergency Braking) │
│ 自动紧急制动系统 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【定义】 │
│ ───────────────────────────────────────── │
│ 当系统检测到即将发生碰撞,且驾驶员未采取制动措施时, │
│ 系统自动施加制动力,避免或减轻碰撞。 │
│ │
│ 【工作场景】 │
│ ───────────────────────────────────────── │
│ │
│ 场景1: 追尾前车 │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ [前车] ←─── 距离缩短 ─── [本车] │ │
│ │ 🚗 ◄════════════════════ 🚙 │ │
│ │ 停止 60km/h │ │
│ │ │ │
│ │ 检测到碰撞风险 → 预警 → 驾驶员无反应 → 自动刹车 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 场景2: 行人横穿 │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🚶 行人横穿 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ════════════════════════════════════════ │ │
│ │ 🚙 ──→ │ │
│ │ 40km/h │ │
│ │ │ │
│ │ 识别行人 → 预测轨迹 → 计算TTC → 紧急制动 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 场景3: 十字路口 │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │ │
│ │ │ 🚗 侧向来车 │ │
│ │ │ │ │ │
│ │ │ ▼ │ │
│ │ ═══════════════════╪════════════════ │ │
│ │ │ │ │
│ │ 🚙 ──→ │ │ │
│ │ │ │ │
│ │ 侧向碰撞预警 + 自动制动 (部分高端车型支持) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
AEB的分级
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB系统分级 (Euro NCAP标准) │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┬───────────────────────────────────────────────────┐ │
│ │ 等级 │ 功能描述 │ │
│ ├─────────────────┼───────────────────────────────────────────────────┤ │
│ │ AEB City │ 低速城市工况 (≤50km/h) │ │
│ │ 城市版 │ 针对静止/慢速目标 │ │
│ │ │ 典型场景: 城市拥堵跟车 │ │
│ ├─────────────────┼───────────────────────────────────────────────────┤ │
│ │ AEB Inter-Urban│ 高速公路工况 (≤80km/h) │ │
│ │ 城际版 │ 针对移动目标 │ │
│ │ │ 典型场景: 高速追尾 │ │
│ ├─────────────────┼───────────────────────────────────────────────────┤ │
│ │ AEB Pedestrian │ 行人保护 │ │
│ │ 行人版 │ 识别行人并制动 │ │
│ │ │ 典型场景: 行人横穿马路 │ │
│ ├─────────────────┼───────────────────────────────────────────────────┤ │
│ │ AEB Cyclist │ 骑行者保护 │ │
│ │ 骑行者版 │ 识别自行车/电动车 │ │
│ │ │ 典型场景: 非机动车横穿 │ │
│ ├─────────────────┼───────────────────────────────────────────────────┤ │
│ │ AEB Junction │ 路口保护 (高端) │ │
│ │ 路口版 │ 识别横向来车 │ │
│ │ │ 典型场景: 十字路口侧碰 │ │
│ └─────────────────┴───────────────────────────────────────────────────┘ │
│ │
│ 【测试标准速度】 │
│ ───────────────────────────────────────── │
│ │
│ Euro NCAP AEB测试: │
│ - 车对车: 10-80 km/h │
│ - 车对行人: 20-60 km/h │
│ - 车对骑行者: 20-60 km/h │
│ │
│ C-NCAP (中国): │
│ - 车对车: 最高72 km/h │
│ - 车对行人VRU: 最高60 km/h │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
AEB介入条件(核心)
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB介入条件详解 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【核心指标: TTC (Time To Collision)】 │
│ ───────────────────────────────────────── │
│ │
│ TTC = 碰撞剩余时间 = 距离 / 相对速度 │
│ │
│ D (距离) │
│ TTC = ───────────── │
│ V_rel (相对速度) │
│ │
│ 例如: │
│ 距离 30m,本车60km/h,前车静止 │
│ V_rel = 60 km/h = 16.7 m/s │
│ TTC = 30 / 16.7 = 1.8 秒 │
│ │
│ 【典型介入时机】 │
│ ───────────────────────────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 时间轴 (TTC): │ │
│ │ │ │
│ │ 3.0s 2.5s 2.0s 1.5s 1.0s 0.5s 0s │ │
│ │ │ │ │ │ │ │ │ │ │
│ │ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │ │
│ │ ┌─────────┬─────────┬─────────┬─────────┬─────────┬────────┐ │ │
│ │ │ │ FCW预警 │ 预制动 │ 部分制动│ 全力制动│ 碰撞 │ │ │
│ │ │ 正常 │ (声光) │ (准备) │ (30%) │ (100%) │ │ │ │
│ │ └─────────┴─────────┴─────────┴─────────┴─────────┴────────┘ │ │
│ │ │ │
│ │ TTC阈值 (典型值,不同厂商有差异): │ │
│ │ - FCW预警: 2.0 - 2.6 秒 │ │
│ │ - AEB预制动: 1.5 - 2.0 秒 │ │
│ │ - AEB部分制动: 1.0 - 1.5 秒 │ │
│ │ - AEB全力制动: 0.6 - 1.0 秒 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 【介入条件公式】 │
│ ───────────────────────────────────────── │
│ │
│ 必须同时满足: │
│ │
│ 1. TTC < 阈值 │
│ 碰撞时间小于预设值 │
│ │
│ 2. 目标有效性确认 │
│ - 多传感器融合确认 (摄像头+雷达) │
│ - 目标置信度 > 阈值 │
│ - 非误触发场景 (如龙门架、井盖) │
│ │
│ 3. 驾驶员无制动意图 │
│ - 未踩刹车踏板 │
│ - 未大幅度转向 (主动避让) │
│ │
│ 4. 系统状态正常 │
│ - AEB功能开启 │
│ - 传感器无故障 │
│ - 车速在工作范围内 │
│ │
│ 5. 制动条件满足 │
│ - 制动系统正常 │
│ - ESP/ABS可用 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
AEB不介入的情况
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB不介入的情况 (重要!) │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【驾驶员已采取措施】 │
│ ───────────────────────────────────────── │
│ ❌ 驾驶员已踩刹车 (即使踩得不够) │
│ ❌ 驾驶员大幅度转向避让 │
│ ❌ 驾驶员猛踩油门 (系统认为是主动加速) │
│ │
│ 【速度超出范围】 │
│ ───────────────────────────────────────── │
│ ❌ 车速过低 (通常 < 5-10 km/h) │
│ ❌ 车速过高 (部分系统 > 80-150 km/h) │
│ ❌ 相对速度过低 (几乎同速行驶) │
│ │
│ 【目标无法识别】 │
│ ───────────────────────────────────────── │
│ ❌ 目标太小 (小动物、小型物体) │
│ ❌ 目标非标准 (异形车辆、特殊障碍物) │
│ ❌ 目标横向移动过快 │
│ ❌ 静止目标 + 高速 (部分系统不响应) │
│ │
│ 【环境干扰】 │
│ ───────────────────────────────────────── │
│ ❌ 极端天气 (大雨/大雪/大雾/强光) │
│ ❌ 传感器遮挡 (脏污/结冰) │
│ ❌ 隧道出入口 (光线剧变) │
│ │
│ 【系统限制】 │
│ ───────────────────────────────────────── │
│ ❌ AEB功能被关闭 │
│ ❌ 系统故障报警 │
│ ❌ 制动系统过热/故障 │
│ ❌ 急弯/坡道 (部分系统) │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ⚠️ 重要警告 │ │
│ │ │ │
│ │ AEB是"最后一道防线",不是自动驾驶! │ │
│ │ │ │
│ │ - AEB可能无法完全避免碰撞,只是减轻 │ │
│ │ - AEB有失效可能,不要依赖 │ │
│ │ - 时刻保持注意力,随时准备接管 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
三、传感器系统
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB传感器配置 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【传感器布局】 │
│ ───────────────────────────────────────── │
│ │
│ 前向摄像头 (挡风玻璃后) │
│ 📷 │
│ │ │
│ ┌───────────┼───────────┐ │
│ │ │ │ │
│ 角雷达 ◄──┤ ┌─────┴─────┐ ├──► 角雷达 │
│ (77GHz) │ │ 前雷达 │ │ (77GHz) │
│ │ │ (77GHz) │ │ │
│ │ └───────────┘ │ │
│ │ │ │
│ │ 🚗 车辆俯视图 │ │
│ │ │ │
│ 侧雷达 ◄──┤ ├──► 侧雷达 │
│ (24GHz) │ │ (24GHz) │
│ │ │ │
│ │ ┌───────────┐ │ │
│ │ │ 后雷达 │ │ │
│ 角雷达 ◄──┤ │ (24GHz) │ ├──► 角雷达 │
│ │ └─────┬─────┘ │ │
│ └───────────┼───────────┘ │
│ │ │
│ 📷 │
│ 后向摄像头 │
│ │
│ 【传感器特性对比】 │
│ ───────────────────────────────────────── │
│ │
│ ┌──────────┬──────────┬──────────┬──────────┬──────────────────────────┐ │
│ │ 传感器 │ 测距精度 │ 测速精度 │ 受天气 │ 典型应用 │ │
│ ├──────────┼──────────┼──────────┼──────────┼──────────────────────────┤ │
│ │ 毫米波 │ 中 │ 高 │ 弱 │ AEB、ACC、BSD │ │
│ │ 雷达 │ (±0.1m) │ (±0.1m/s)│ (穿透力强)│ 全天候工作 │ │
│ ├──────────┼──────────┼──────────┼──────────┼──────────────────────────┤ │
│ │ 摄像头 │ 低 │ 低 │ 强 │ 车道线、行人、交通标志 │ │
│ │ │ (需算法) │ (需算法) │ (光线敏感)│ 目标分类能力强 │ │
│ ├──────────┼──────────┼──────────┼──────────┼──────────────────────────┤ │
│ │ 激光雷达 │ 高 │ 中 │ 中 │ 高精度建图、L3+自动驾驶 │ │
│ │ (LiDAR) │ (±2cm) │ │ (雨雪影响)│ 成本较高 │ │
│ ├──────────┼──────────┼──────────┼──────────┼──────────────────────────┤ │
│ │ 超声波 │ 低 │ 无 │ 弱 │ 泊车辅助、近距离检测 │ │
│ │ │ (±1cm) │ │ │ 探测范围小(0.2-5m) │ │
│ └──────────┴──────────┴──────────┴──────────┴──────────────────────────┘ │
│ │
│ 【为什么要传感器融合?】 │
│ ───────────────────────────────────────── │
│ │
│ 单一传感器都有缺陷: │
│ - 雷达: 能测距离和速度,但不知道是人还是车还是路牌 │
│ - 摄像头: 能识别目标,但测距不准,夜间/雨天效果差 │
│ │
│ 融合后: │
│ 雷达提供精确的距离/速度 + 摄像头提供目标类型 = 可靠的AEB决策 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
四、AEB算法流程
┌─────────────────────────────────────────────────────────────────────────────┐
│ AEB决策算法流程 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ 毫米波雷达 │ │ 摄像头 │ │ 车辆状态 │ │ │
│ │ │ 目标列表 │ │ 目标检测 │ │ (CAN总线) │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │
│ │ │ │ │ │ │
│ │ └─────────┬─────────┴─────────┬─────────┘ │ │
│ │ │ │ │ │
│ │ ▼ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ 传感器融合 │ │ │
│ │ │ - 坐标系对齐 │ │ │
│ │ │ - 目标关联匹配 │ │ │
│ │ │ - 卡尔曼滤波 │ │ │
│ │ └──────────────┬──────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ 目标筛选 │ │ │
│ │ │ - 本车道目标 │ │ │
│ │ │ - 最危险目标 (CIPV) │ │ │
│ │ │ - 横穿目标 │ │ │
│ │ └──────────────┬──────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ 碰撞风险计算 │ │ │
│ │ │ - TTC (碰撞时间) │ │ │
│ │ │ - THW (车头时距) │ │ │
│ │ │ - 碰撞概率 │ │ │
│ │ └──────────────┬──────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ 驾驶员意图判断 │ │ │
│ │ │ - 制动踏板信号 │ │ │
│ │ │ - 方向盘转角 │ │ │
│ │ │ - 油门踏板信号 │ │ │
│ │ └──────────────┬──────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ AEB决策 │ │ │
│ │ │ │ │ │
│ │ │ if (TTC < 阈值 && │ │ │
│ │ │ 目标有效 && │ │ │
│ │ │ 驾驶员无反应) { │ │ │
│ │ │ 触发AEB │ │ │
│ │ │ } │ │ │
│ │ └──────────────┬──────────────────────┘ │ │
│ │ │ │ │
│ │ ┌─────────┴─────────┐ │ │
│ │ ▼ ▼ │ │
│ │ ┌───────────┐ ┌───────────┐ │ │
│ │ │ FCW预警 │ │ AEB制动 │ │ │
│ │ │ (声光报警) │ │ (液压制动)│ │ │
│ │ └───────────┘ └───────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
AEB核心算法代码
c
/**
* AEB自动紧急制动系统核心算法
*/
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>
// ============================================================
// 数据结构定义
// ============================================================
// 目标类型
typedef enum {
TARGET_UNKNOWN = 0,
TARGET_CAR,
TARGET_TRUCK,
TARGET_MOTORCYCLE,
TARGET_BICYCLE,
TARGET_PEDESTRIAN,
TARGET_STATIC // 静止障碍物
} TargetType;
// 融合后的目标对象
typedef struct {
int id; // 目标ID
TargetType type; // 目标类型
float confidence; // 置信度 (0-1)
// 位置 (本车坐标系)
float x; // 纵向距离 (m)
float y; // 横向距离 (m)
// 速度
float vx; // 纵向速度 (m/s)
float vy; // 横向速度 (m/s)
// 尺寸
float width; // 宽度 (m)
float length; // 长度 (m)
// 轨迹预测
float predicted_x[10]; // 未来1秒内的预测位置 (每100ms)
float predicted_y[10];
bool is_in_path; // 是否在本车行驶路径上
} FusedTarget;
// 本车状态
typedef struct {
float speed; // 车速 (m/s)
float acceleration; // 加速度 (m/s²)
float yaw_rate; // 横摆角速度 (rad/s)
float steering_angle; // 方向盘转角 (rad)
float brake_pressure; // 制动压力 (bar)
float throttle_position; // 油门开度 (0-1)
float vehicle_width; // 车宽 (m)
} EgoVehicle;
// AEB系统参数
typedef struct {
// TTC阈值
float ttc_fcw; // FCW预警阈值 (s)
float ttc_partial_brake; // 部分制动阈值 (s)
float ttc_full_brake; // 全力制动阈值 (s)
// 速度范围
float min_speed; // 最低工作车速 (m/s)
float max_speed; // 最高工作车速 (m/s)
// 制动参数
float max_deceleration; // 最大制动减速度 (m/s²)
float partial_decel; // 部分制动减速度 (m/s²)
// 置信度阈值
float min_confidence; // 最低目标置信度
bool enabled; // 系统使能
} AEBParams;
// AEB输出动作
typedef enum {
AEB_ACTION_NONE = 0,
AEB_ACTION_FCW, // 前碰撞预警
AEB_ACTION_PREFILL, // 预填充制动
AEB_ACTION_PARTIAL_BRAKE, // 部分制动
AEB_ACTION_FULL_BRAKE // 全力制动
} AEBAction;
// AEB系统状态
typedef struct {
AEBAction action; // 当前动作
float target_deceleration; // 目标减速度 (m/s²)
float ttc; // 当前TTC
float thw; // 当前THW
int threat_target_id; // 威胁目标ID
bool driver_override; // 驾驶员接管
char reason[64]; // 动作原因
} AEBState;
// ============================================================
// 核心算法
// ============================================================
/**
* 计算TTC (Time To Collision)
*/
float calculate_ttc(float distance, float relative_velocity) {
// 如果相对速度<=0 (目标远离或同向更快),返回无穷大
if (relative_velocity <= 0.01f) {
return 999.0f;
}
return distance / relative_velocity;
}
/**
* 计算THW (Time Headway) 车头时距
*/
float calculate_thw(float distance, float ego_speed) {
if (ego_speed <= 0.1f) {
return 999.0f;
}
return distance / ego_speed;
}
/**
* 计算制动距离
* 使用运动学公式: v² = v0² + 2as
* s = v² / (2a)
*/
float calculate_braking_distance(float speed, float deceleration) {
if (deceleration <= 0) {
return 999.0f;
}
return (speed * speed) / (2 * deceleration);
}
/**
* 判断目标是否在本车行驶路径上
*/
bool is_target_in_path(const FusedTarget* target, const EgoVehicle* ego) {
// 简化判断: 目标横向偏移在车道宽度内
float path_half_width = ego->vehicle_width / 2 + 0.5f; // 车宽/2 + 余量
// 考虑转向时的路径偏移
float path_offset = ego->speed * ego->yaw_rate * target->x / ego->speed;
float adjusted_y = target->y - path_offset;
return (fabs(adjusted_y) < path_half_width + target->width / 2);
}
/**
* 预测碰撞时间 (考虑加速度)
*/
float predict_ttc_with_acceleration(float distance, float rel_velocity,
float rel_acceleration) {
// 使用二次方程: d = v*t + 0.5*a*t²
// 0.5*a*t² + v*t - d = 0
if (fabs(rel_acceleration) < 0.01f) {
return calculate_ttc(distance, rel_velocity);
}
float a = 0.5f * rel_acceleration;
float b = rel_velocity;
float c = -distance;
float discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
return 999.0f; // 不会碰撞
}
float t1 = (-b + sqrt(discriminant)) / (2 * a);
float t2 = (-b - sqrt(discriminant)) / (2 * a);
// 返回最小的正值
if (t1 > 0 && t2 > 0) {
return fmin(t1, t2);
} else if (t1 > 0) {
return t1;
} else if (t2 > 0) {
return t2;
}
return 999.0f;
}
/**
* 检查驾驶员是否已采取行动
*/
bool check_driver_action(const EgoVehicle* ego) {
// 驾驶员踩刹车
if (ego->brake_pressure > 5.0f) { // 超过5bar
return true;
}
// 驾驶员大幅度转向 (超过30度)
if (fabs(ego->steering_angle) > 0.52f) { // ~30度
return true;
}
return false;
}
/**
* 从目标列表中选择最危险目标 (CIPV - Closest In-Path Vehicle)
*/
int select_most_threatening_target(FusedTarget targets[], int count,
const EgoVehicle* ego,
float* out_ttc) {
int cipv_id = -1;
float min_ttc = 999.0f;
for (int i = 0; i < count; i++) {
FusedTarget* t = &targets[i];
// 跳过低置信度目标
if (t->confidence < 0.7f) continue;
// 跳过不在路径上的目标
if (!is_target_in_path(t, ego)) continue;
// 跳过后方目标
if (t->x < 0) continue;
// 计算相对速度 (正值表示接近)
float rel_velocity = ego->speed - t->vx;
// 计算TTC
float ttc = calculate_ttc(t->x, rel_velocity);
// 选择TTC最小的
if (ttc < min_ttc) {
min_ttc = ttc;
cipv_id = t->id;
}
}
*out_ttc = min_ttc;
return cipv_id;
}
/**
* AEB主决策函数
*/
void aeb_decision(FusedTarget targets[], int target_count,
const EgoVehicle* ego,
const AEBParams* params,
AEBState* state) {
// 初始化状态
state->action = AEB_ACTION_NONE;
state->target_deceleration = 0;
state->ttc = 999.0f;
state->threat_target_id = -1;
state->driver_override = false;
strcpy(state->reason, "");
// 检查系统使能
if (!params->enabled) {
strcpy(state->reason, "AEB已关闭");
return;
}
// 检查车速范围
if (ego->speed < params->min_speed) {
strcpy(state->reason, "车速过低");
return;
}
if (ego->speed > params->max_speed) {
strcpy(state->reason, "车速过高");
return;
}
// 检查驾驶员是否已采取行动
if (check_driver_action(ego)) {
state->driver_override = true;
strcpy(state->reason, "驾驶员已介入");
return;
}
// 选择最危险目标
float ttc;
int threat_id = select_most_threatening_target(targets, target_count, ego, &ttc);
if (threat_id < 0) {
strcpy(state->reason, "无威胁目标");
return;
}
state->ttc = ttc;
state->threat_target_id = threat_id;
// 计算THW
FusedTarget* threat_target = NULL;
for (int i = 0; i < target_count; i++) {
if (targets[i].id == threat_id) {
threat_target = &targets[i];
break;
}
}
if (threat_target) {
state->thw = calculate_thw(threat_target->x, ego->speed);
}
// 根据TTC决定动作
if (ttc < params->ttc_full_brake) {
// 全力制动
state->action = AEB_ACTION_FULL_BRAKE;
state->target_deceleration = params->max_deceleration;
sprintf(state->reason, "TTC=%.2fs < %.2fs, 全力制动",
ttc, params->ttc_full_brake);
}
else if (ttc < params->ttc_partial_brake) {
// 部分制动
state->action = AEB_ACTION_PARTIAL_BRAKE;
state->target_deceleration = params->partial_decel;
sprintf(state->reason, "TTC=%.2fs < %.2fs, 部分制动",
ttc, params->ttc_partial_brake);
}
else if (ttc < params->ttc_fcw) {
// 预警
state->action = AEB_ACTION_FCW;
state->target_deceleration = 0;
sprintf(state->reason, "TTC=%.2fs < %.2fs, FCW预警",
ttc, params->ttc_fcw);
}
}
/**
* 获取动作名称
*/
const char* get_action_name(AEBAction action) {
switch (action) {
case AEB_ACTION_NONE: return "无动作";
case AEB_ACTION_FCW: return "前碰撞预警";
case AEB_ACTION_PREFILL: return "预填充制动";
case AEB_ACTION_PARTIAL_BRAKE: return "部分制动";
case AEB_ACTION_FULL_BRAKE: return "全力制动";
default: return "未知";
}
}
// ============================================================
// 测试场景
// ============================================================
void print_state(const AEBState* state) {
printf("\n========== AEB状态 ==========\n");
printf("动作: %s\n", get_action_name(state->action));
printf("TTC: %.2f 秒\n", state->ttc);
printf("THW: %.2f 秒\n", state->thw);
printf("目标减速度: %.1f m/s²\n", state->target_deceleration);
printf("威胁目标ID: %d\n", state->threat_target_id);
printf("驾驶员接管: %s\n", state->driver_override ? "是" : "否");
printf("原因: %s\n", state->reason);
printf("================================\n");
}
void test_scenario_1() {
printf("\n【场景1: 前车急刹】\n");
printf("本车60km/h,前车30m处急刹停止\n");
// 本车状态
EgoVehicle ego = {
.speed = 60 / 3.6, // 60km/h = 16.7m/s
.acceleration = 0,
.yaw_rate = 0,
.steering_angle = 0,
.brake_pressure = 0,
.throttle_position = 0.2,
.vehicle_width = 1.8
};
// 目标列表
FusedTarget targets[1] = {{
.id = 1,
.type = TARGET_CAR,
.confidence = 0.95,
.x = 30, // 30米
.y = 0, // 正前方
.vx = 0, // 静止
.vy = 0,
.width = 1.8,
.length = 4.5,
.is_in_path = true
}};
// AEB参数
AEBParams params = {
.ttc_fcw = 2.5,
.ttc_partial_brake = 1.5,
.ttc_full_brake = 0.8,
.min_speed = 5 / 3.6,
.max_speed = 150 / 3.6,
.max_deceleration = 9.0,
.partial_decel = 4.0,
.min_confidence = 0.7,
.enabled = true
};
AEBState state;
aeb_decision(targets, 1, &ego, ¶ms, &state);
print_state(&state);
// 模拟时间推进
printf("\n--- 模拟时间推进 ---\n");
for (int i = 0; i < 5; i++) {
float dt = 0.3; // 300ms
// 更新目标距离
targets[0].x -= ego.speed * dt;
// 如果AEB触发制动,更新速度
if (state.action >= AEB_ACTION_PARTIAL_BRAKE) {
ego.speed -= state.target_deceleration * dt;
if (ego.speed < 0) ego.speed = 0;
}
aeb_decision(targets, 1, &ego, ¶ms, &state);
printf("t+%.1fs: 距离=%.1fm, 车速=%.1fkm/h, 动作=%s\n",
(i + 1) * dt,
targets[0].x,
ego.speed * 3.6,
get_action_name(state.action));
}
}
void test_scenario_2() {
printf("\n【场景2: 行人横穿】\n");
printf("本车40km/h,行人从右侧横穿\n");
EgoVehicle ego = {
.speed = 40 / 3.6, // 40km/h
.acceleration = 0,
.yaw_rate = 0,
.steering_angle = 0,
.brake_pressure = 0,
.throttle_position = 0.1,
.vehicle_width = 1.8
};
FusedTarget targets[1] = {{
.id = 2,
.type = TARGET_PEDESTRIAN,
.confidence = 0.9,
.x = 20, // 20米前方
.y = 3, // 右侧3米
.vx = 0, // 不移动
.vy = -1.5, // 向左横穿 1.5m/s
.width = 0.5,
.length = 0.3,
.is_in_path = false
}};
AEBParams params = {
.ttc_fcw = 2.5,
.ttc_partial_brake = 1.5,
.ttc_full_brake = 0.8,
.min_speed = 5 / 3.6,
.max_speed = 80 / 3.6,
.max_deceleration = 9.0,
.partial_decel = 4.0,
.min_confidence = 0.7,
.enabled = true
};
printf("\n--- 行人横穿过程 ---\n");
AEBState state;
for (int i = 0; i < 8; i++) {
float dt = 0.25;
// 更新行人位置
targets[0].x -= ego.speed * dt; // 相对距离减小
targets[0].y += targets[0].vy * dt; // 行人横向移动
// 检查是否进入路径
targets[0].is_in_path = (fabs(targets[0].y) < ego.vehicle_width / 2 + 0.5);
// AEB决策
aeb_decision(targets, 1, &ego, ¶ms, &state);
// 如果制动,更新速度
if (state.action >= AEB_ACTION_PARTIAL_BRAKE) {
ego.speed -= state.target_deceleration * dt;
if (ego.speed < 0) ego.speed = 0;
}
printf("t+%.2fs: 距离=(%.1f, %.1f)m, 车速=%.1fkm/h, 在路径=%s, 动作=%s\n",
(i + 1) * dt,
targets[0].x, targets[0].y,
ego.speed * 3.6,
targets[0].is_in_path ? "是" : "否",
get_action_name(state.action));
}
}
void test_scenario_3() {
printf("\n【场景3: 驾驶员已踩刹车】\n");
printf("本车60km/h,前方20m有障碍物,驾驶员已踩刹车\n");
EgoVehicle ego = {
.speed = 60 / 3.6,
.acceleration = -2.0, // 正在减速
.yaw_rate = 0,
.steering_angle = 0,
.brake_pressure = 20, // 已踩刹车
.throttle_position = 0,
.vehicle_width = 1.8
};
FusedTarget targets[1] = {{
.id = 3,
.type = TARGET_CAR,
.confidence = 0.95,
.x = 20,
.y = 0,
.vx = 0,
.vy = 0,
.width = 1.8,
.length = 4.5,
.is_in_path = true
}};
AEBParams params = {
.ttc_fcw = 2.5,
.ttc_partial_brake = 1.5,
.ttc_full_brake = 0.8,
.min_speed = 5 / 3.6,
.max_speed = 150 / 3.6,
.max_deceleration = 9.0,
.partial_decel = 4.0,
.min_confidence = 0.7,
.enabled = true
};
AEBState state;
aeb_decision(targets, 1, &ego, ¶ms, &state);
print_state(&state);
}
int main() {
printf("========================================\n");
printf(" AEB自动紧急制动系统演示\n");
printf("========================================\n");
test_scenario_1();
test_scenario_2();
test_scenario_3();
return 0;
}
/*
编译: gcc -o aeb aeb.c -lm
运行: ./aeb
*/
五、其他主动安全系统
┌─────────────────────────────────────────────────────────────────────────────┐
│ ADAS主动安全功能大全 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【1. ACC 自适应巡航】 │
│ ───────────────────────────────────────── │
│ │
│ 功能: 自动保持与前车的距离 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 设定车速: 120km/h 设定时距: 2秒 │ │
│ │ │ │
│ │ [前车] [本车] │ │
│ │ 🚗 ◄───── 2秒距离 ───── 🚙 │ │
│ │ 80km/h 自动减速到80km/h │ │
│ │ │ │
│ │ 前车加速 → 本车自动加速 (但不超过设定值) │ │
│ │ 前车减速 → 本车自动减速 │ │
│ │ 前车消失 → 本车恢复到设定车速 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 关键参数: │
│ - THW (Time Headway): 车头时距 1.0-2.5秒可调 │
│ - 最大减速度: 通常3-4 m/s² (舒适性) │
│ - 紧急情况交给AEB处理 │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【2. LDW/LKA 车道偏离预警/保持】 │
│ ───────────────────────────────────────── │
│ │
│ LDW (Lane Departure Warning): 只预警 │
│ LKA (Lane Keeping Assist): 主动纠正 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 车道线检测 (摄像头) │ │
│ │ │ │
│ │ ╔═══════════════════════════════════════════════════════════╗ │ │
│ │ ║ │ │ │ ║ │ │
│ │ ║ │ 🚙 │ │ ║ │ │
│ │ ║ │ ╱ │ │ ║ │ │
│ │ ║ │ ╱ 偏离! │ │ ║ │ │
│ │ ║ │ ↙ │ │ ║ │ │
│ │ ╚═══════════════════════════════════════════════════════════╝ │ │
│ │ │ │
│ │ LDW: 方向盘震动 + 声音警告 │ │
│ │ LKA: 自动施加转向力,把车拉回车道 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 介入条件: │
│ - 车速 > 60-70 km/h │
│ - 未打转向灯 │
│ - 车道线清晰可见 │
│ - 驾驶员手在方向盘上 │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【3. BSD 盲区监测】 │
│ ───────────────────────────────────────── │
│ │
│ 功能: 监测后视镜盲区,变道时预警 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 盲区范围 │ │
│ │ ╱ ╲ │ │
│ │ ╱ 🚗 ╲ │ │
│ │ ╱ (后视镜 ╲ │ │
│ │ ╱ 看不到) ╲ │ │
│ │ ╱ ╲ │ │
│ │ ┌──────────────────────────┐ │ │
│ │ │ 🚙 │ │ │
│ │ └──────────────────────────┘ │ │
│ │ │ │ │
│ │ │ 后视镜角落亮灯 │ │
│ │ ▼ │ │
│ │ 打转向灯时: 灯闪烁 + 声音警告 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 传感器: 后角雷达 (24GHz/77GHz) │
│ 检测范围: 后方约3米,侧后方约50-70米 │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【4. RCTA 后方交叉交通警报】 │
│ ───────────────────────────────────────── │
│ │
│ 功能: 倒车时检测侧向来车 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 停车位 道路 │ │
│ │ ┌───────────┐ │ │
│ │ │ │ 🚗 ──→ │ │
│ │ │ 🚙 ← │ 侧向来车 │ │
│ │ │ 倒车 │ │ │
│ │ │ │ │ │
│ │ └───────────┘ │ │
│ │ │ │
│ │ 检测到侧向来车 → 声音警告 + 自动刹车 (部分车型) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【5. APA 自动泊车】 │
│ ───────────────────────────────────────── │
│ │
│ 传感器: 超声波 + 摄像头 + (部分)角雷达 │
│ │
│ 功能等级: │
│ - 半自动: 系统控制转向,驾驶员控制油门刹车 │
│ - 全自动: 系统控制所有,驾驶员监控 │
│ - 遥控泊车: 驾驶员在车外用手机控制 │
│ - 记忆泊车: 记住路线,自动泊入固定车位 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
六、被动安全系统
┌─────────────────────────────────────────────────────────────────────────────┐
│ 被动安全系统 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 当碰撞无法避免时,这些系统保护你的生命 │
│ │
│ 【1. 安全带系统】 │
│ ───────────────────────────────────────── │
│ │
│ 三点式安全带: │
│ - 预紧器: 碰撞瞬间收紧安全带 (20-40ms内) │
│ - 限力器: 达到一定力后释放,防止勒伤 │
│ │
│ 工作时序: │
│ 碰撞 → 传感器触发 → 预紧器爆炸收紧 → 人体前冲 → 限力器释放 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 预紧前 预紧后 │ │
│ │ │ │
│ │ ╱╲ ╱╲ │ │
│ │ ╱ ╲ ╱ ╲ │ │
│ │ │ ○ │ │ ○ │ ← 贴紧胸部 │ │
│ │ │╱│╲│ │╱│╲│ │ │
│ │ │ │ 松弛 │ │ 拉紧 (约10cm) │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【2. 安全气囊系统】 │
│ ───────────────────────────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 气囊位置: │ │
│ │ │ │
│ │ ┌──────────────────────────────────┐ │ │
│ │ │ ① 顶棚气帘 │ │ │
│ │ │ ╔══════════════════════════╗ │ │ │
│ │ │ ║ ║ │ │ │
│ │ │ ⑤ ║ ② 前排正面 ② 前排正面 ║ ⑤│ ← 侧气囊 │ │
│ │ 侧气囊→ ║ 气囊 气囊 ║ │ │ │
│ │ │ ║ ║ │ │ │
│ │ │ ║ ③ 膝部气囊 ║ │ │ │
│ │ │ ╠══════════════════════════╣ │ │ │
│ │ │ ║ ║ │ │ │
│ │ │ ⑤ ║ ④ 后排侧气囊 ║ ⑤│ │ │
│ │ │ ║ ║ │ │ │
│ │ │ ╚══════════════════════════╝ │ │ │
│ │ └──────────────────────────────────┘ │ │
│ │ │ │
│ │ 常见配置: │ │
│ │ 基础: 2气囊 (前排正面) │ │
│ │ 标准: 6气囊 (正面×2 + 侧面×2 + 气帘×2) │ │
│ │ 豪华: 8-12气囊 (增加膝部、后排、中央气囊) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 展开时间: 20-30毫秒 │
│ 充气剂: 叠氮化钠 (NaN₃) 点燃产生氮气 │
│ 泄气孔: 气囊后部有孔,让气体缓慢泄出,避免弹伤 │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【3. 车身结构】 │
│ ───────────────────────────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 吸能区 乘员舱 (刚性) 吸能区 │ │
│ │ ┌────────────┬───────────────────────┬────────────┐ │ │
│ │ │ ▓▓▓▓▓▓▓▓▓▓ │ │ ▓▓▓▓▓▓▓▓▓▓ │ │ │
│ │ │ 可变形区域 │ 高强度钢笼架 │ 可变形区域 │ │ │
│ │ │ 吸收冲击能量│ 保护乘员空间 │ 吸收冲击能量│ │ │
│ │ │ ▓▓▓▓▓▓▓▓▓▓ │ │ ▓▓▓▓▓▓▓▓▓▓ │ │ │
│ │ └────────────┴───────────────────────┴────────────┘ │ │
│ │ │ │
│ │ 碰撞时: 吸能区压缩变形 → 延长碰撞时间 → 减小冲击力 │ │
│ │ 乘员舱保持完整 → 生存空间 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 材料分布: │
│ - 吸能区: 低强度钢/铝合金 (容易变形) │
│ - 乘员舱: 高强度钢/热成型钢 (1500MPa以上) │
│ - A柱/B柱: 超高强度钢 (防止侵入) │
│ │
│ ─────────────────────────────────────────────────────────────────────────│
│ │
│ 【4. 座椅头枕】 │
│ ───────────────────────────────────────── │
│ │
│ 功能: 防止追尾时颈椎过度后仰 (鞭打伤) │
│ │
│ 主动式头枕: │
│ 追尾时身体向后 → 压力传感器触发 → 头枕向前弹出 → 支撑头部 │
│ │
│ 调节要求: │
│ - 头枕顶部应与头顶平齐或更高 │
│ - 头枕与头部距离 < 4cm │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
七、碰撞安全测试
┌─────────────────────────────────────────────────────────────────────────────┐
│ 汽车安全测试标准 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【主要测试机构】 │
│ ───────────────────────────────────────── │
│ │
│ Euro NCAP (欧洲) - 最严格 │
│ C-NCAP (中国) - 逐渐向欧标看齐 │
│ IIHS (美国) - 偏置碰撞严格 │
│ J-NCAP (日本) - 行人保护重视 │
│ │
│ 【碰撞测试类型】 │
│ ───────────────────────────────────────── │
│ │
│ 1. 正面100%碰撞 (Full Frontal) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 50-56 km/h │ │
│ │ 🚗 ──────────────► ▓▓▓▓▓▓▓▓▓▓ │ │
│ │ 刚性壁障 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 2. 正面40%偏置碰撞 (Offset Frontal) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 64 km/h 可变形壁障 │ │
│ │ 🚗 ──────────────► ┌────────────┐ │ │
│ │ 只有40%宽度撞击 │ ▓▓▓▓▓▓▓▓▓▓ │ │ │
│ │ └────────────┘ │ │
│ │ │ │
│ │ 模拟与对向车辆的偏置碰撞 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 3. 侧面碰撞 (Side Impact) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 移动壁障 │ │
│ │ ▓▓▓ │ │
│ │ │ │ │
│ │ 50 km/h │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌───────────────┐ │ │
│ │ │ 🚗 │ │ │
│ │ └───────────────┘ │ │
│ │ 静止车辆 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 4. 侧面柱碰 (Pole Test) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 柱子 (直径254mm) │ │
│ │ ║ │ │
│ │ ║ │ │
│ │ ┌────────╫────────┐ │ │
│ │ │ 🚗 ║ │ ◄──── 32 km/h 侧向撞击 │ │
│ │ └────────╫────────┘ │ │
│ │ ║ │ │
│ │ │ │
│ │ 模拟撞树、撞电线杆 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 【评分项目 (Euro NCAP 2024)】 │
│ ───────────────────────────────────────── │
│ │
│ ┌─────────────────────┬───────────┬───────────────────────────────────┐ │
│ │ 类别 │ 权重 │ 测试内容 │ │
│ ├─────────────────────┼───────────┼───────────────────────────────────┤ │
│ │ 成人乘员保护 │ 40% │ 正碰、侧碰、鞭打等 │ │
│ │ 儿童乘员保护 │ 20% │ 儿童座椅兼容性、碰撞保护 │ │
│ │ 行人保护 │ 20% │ 行人碰撞、AEB行人 │ │
│ │ 安全辅助 │ 20% │ AEB、LKA、速度辅助等 │ │
│ └─────────────────────┴───────────┴───────────────────────────────────┘ │
│ │
│ 五星标准越来越严,2020年的五星车放到2024年可能只有三星 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
八、总结
┌─────────────────────────────────────────────────────────────────────────────┐
│ 汽车安全系统总结 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【AEB介入条件】 │
│ ───────────────────────────────────────── │
│ │
│ 必须同时满足: │
│ ✓ TTC < 阈值 (通常0.6-1.5秒) │
│ ✓ 目标有效 (置信度高、在路径上) │
│ ✓ 驾驶员无反应 (没踩刹车、没转向) │
│ ✓ 车速在范围内 (通常5-150km/h) │
│ ✓ 系统正常 (传感器OK、功能开启) │
│ │
│ 【AEB工作时机】 │
│ ───────────────────────────────────────── │
│ │
│ TTC ≈ 2.5秒: FCW预警 (声光) │
│ TTC ≈ 1.5秒: 部分制动 (~30%) │
│ TTC ≈ 0.8秒: 全力制动 (100%) │
│ │
│ 【主动安全功能】 │
│ ───────────────────────────────────────── │
│ │
│ ┌──────────┬──────────────────────────────────────────────────────────┐ │
│ │ 功能 │ 作用 │ │
│ ├──────────┼──────────────────────────────────────────────────────────┤ │
│ │ AEB │ 自动紧急制动,避免/减轻碰撞 │ │
│ │ FCW │ 前碰撞预警,提醒驾驶员 │ │
│ │ ACC │ 自适应巡航,自动保持车距 │ │
│ │ LDW/LKA │ 车道偏离预警/保持 │ │
│ │ BSD │ 盲区监测,变道安全 │ │
│ │ RCTA │ 后方交叉预警,倒车安全 │ │
│ │ APA │ 自动泊车 │ │
│ └──────────┴──────────────────────────────────────────────────────────┘ │
│ │
│ 【被动安全系统】 │
│ ───────────────────────────────────────── │
│ │
│ - 安全带: 预紧+限力,把人固定在座椅上 │
│ - 安全气囊: 20-30ms展开,缓冲碰撞 │
│ - 车身结构: 吸能区变形+乘员舱刚性 │
│ - 座椅头枕: 防止追尾时颈椎损伤 │
│ │
│ 【传感器融合】 │
│ ───────────────────────────────────────── │
│ │
│ 毫米波雷达 + 摄像头 = 可靠的AEB │
│ - 雷达: 全天候测距测速 │
│ - 摄像头: 目标分类识别 │
│ │
│ ⚠️ 重要提醒 │
│ ───────────────────────────────────────── │
│ │
│ AEB不是自动驾驶!它是最后防线,不要依赖! │
│ 时刻保持注意力,随时准备接管! │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
一句话总结:
AEB在TTC<0.8秒且驾驶员无反应时触发全力制动,是"最后防线"而非自动驾驶。汽车安全=主动安全(AEB/ACC/LKA预防事故)+被动安全(安全带/气囊减轻伤害),两者缺一不可。
参考资料:
- Euro NCAP测试规程
- ISO 22839 AEB系统标准
- GB/T 39901-2021 乘用车AEB测试方法
- 《汽车主动安全系统原理与设计》