ACC(自适应巡航控制)策略设计与问题集

一、功能简介

ACC(Adaptive Cruise Control,自适应巡航控制)是一种纵向控制系统,在设定车速范围内,能根据前方车辆距离动态调整车速,实现跟车与巡航的自动化。

应用场景涵盖高速公路、城市快速路等,需要与AEB(自动紧急制动)、LKA等模块进行协同。

功能层级

  • 定速巡航模式(CC):当前无前车干扰,车辆自动维持设定巡航速度

    • 支持直道、弯道、上下坡;
    • 控制精度 +-1km/h(平路), +-2km/h(坡道)
    • 允许巡航速度 0-150km/h;
    • 激活逻辑:初始速度小于30km/h 设为30,否则为当前车速
  • 自适应巡航模式(ACC):在设定车速范围内,系统基于前方目标车与自车的相对距离、相对速度信息,动态调整纵向加速度,保持安全车距。

    • 支持识别静态/动态目标车辆(主要使用前向毫米波雷达 + 视觉融合)
    • 根据设定时距(如 1.5s)和当前车速计算期望跟车距离
    • 动态调整加速度,保证相对时距误差收敛
    • 控制加速度/减速度不能超过设定限值(如 ±3 m/s²)
    • 系统状态平滑切换(Cruise → Follow → Brake → Resume) 核心输入信号: V_ego : 自车速度 D_rel : 前车相对距离 V_rel : 前车相对速度 t_gap_set: 设定的时距 ACC_SetSpeed: 驾驶员设定的目标速度 TargetValid: 是否有有效目标车(用于状态判断)

    输出信号: ACC_CmdAccel :期望纵向加速度 ACC_State: 当前ACC子状态(Cruise, Follow, Brake等) DriverDisplayInfo: 人机界面显示信息: ACC激活状态,目标速度,前车图标等等

  • 停走模式(Stop & Go):低速或拥堵场景下支持自动减速直至完全停止,并在前车起步后自动跟随(部分车型支持) 1) 自车跟停后,开始计时,若跟停时间<5min,前车起步,自车自动跟随起步; 2) 若跟停时间≥5min,则通过HMI告知驾驶员自车处于Hold状态,需要驾驶员的确认【踩油门踏板】,才能继续自动起步 3) 若0min≤跟停时间<10min,收到驾驶员的确认【踩油门踏板】,车辆再次恢复到静止后,重新计时 4) 若跟停时间>10min,ACC功能自动退出,拉起EPB 5) 前车起步,自车跟随起步的延迟不得大于2s【可标定】

    • 低速跟车阶段(0-30km/h) 支持自动停止

    • 系统自动判读是否完全静止,控制制动保持

    • 前车起步时,在3秒内无驾驶员介入时系统自动起步;3秒后序轻踩油门出发

    • 起步控制应考虑低速舒适性

    • 与AEB协同避免误停 或者 误起步

    • 核心输入信号:

    • V_ego : 自车速度

    • StopFlag: 自车是否处于静止状态

    • TargetRelDistance: 与前车相对距离

    • V_target:前车速度

    • ElapsedStopTime:当前停车持续时间

    • DriverTouchGas: 驾驶员是否轻踩油门或操作

    输出信号:

    • BrakeHoldCmd 是否激活自动驻车/制动保持
    • StartReadyFlag: 是否满足自动起步条件
    • ACC_CmdAccel:自动起步加速度指令
    • DriverDisplayInfo:显示“前车起步”、“准备起步”等提示

Cut-in 响应策略

当前车道突然插入新目标车,ACC 需快速识别并决策是否将其作为新的跟车目标。

策略要点:

  • 探测目标优先级变化(原目标 → 插入车辆)
  • 判断 Cut-in 成立条件(横向速度、角度、入侵程度)
  • 动态切换目标对象并进入 Brake 状态
  • 限制减速度与 jerk,确保响应及时与乘坐舒适性

Cut-out 响应策略

当前跟随目标突然驶离自车车道,系统需判断是否恢复巡航状态或切换至新目标。

策略要点:

  • 判断目标车是否退出自车轨迹
  • 判断是否存在新的目标车并切换
  • 状态切换逻辑:Follow → Cruise 或 Follow → New Follow
  • 控制输出应平滑过渡,避免瞬时加速或突变响应

纵向防撞子策略(Longitudinal Collision Avoidance)

当前处于巡航或跟车状态,前方出现横穿目标(行人、自行车、非机动车等),系统基于入侵判断与 时间到碰撞(TTC) 进行风险评估,主动减速降低碰撞风险。

项目 描述
运行速度范围 1–60 km/h(适用于城市工况)
目标类型检测 横穿行人、车辆、非机动车
风险评估机制 入侵轨迹判断 + TTC(时间到碰撞)估计
控制策略 主动减速 + jerk 限制
恢复策略 风险解除后,恢复 Cruise / Follow 模式
  • 功能要求(Function Requirements)
    要求项 描述
    工作速度范围 1–60 km/h(覆盖城市、郊区低速场景)
    感知目标类型 横穿行人、非机动车、掉头车辆、侧向切入目标
    风险评估机制 预测目标轨迹是否侵入自车车道,估算 TTC(时间到碰撞)
    响应逻辑 满足触发条件后,ACC主动输出减速度指令,降低潜在风险
    恢复逻辑 风险目标退出后,恢复巡航或跟车状态
    舒适性限制 减速度不超过 3 m/s²,jerk(加加速度)不超过 1 m/s³,避免剧烈制动
    AEB协同 在纵向防撞无法避免碰撞时交由 AEB 接管执行紧急制动

输入信号与传感器要求:

信号 来源 说明
PedestrianList / ObstacleList 摄像头(视觉感知) 检测到的动态行人、非机动车、横向目标
ObjectTrajectory 视觉感知 + 时序预测 目标轨迹预测,用于判断轨迹交点
SelfLaneBoundary 摄像头 / 高精地图 自车车道边界,用于判断目标是否入侵车道
V_ego 车速传感器 / CAN 自车当前速度
CurrentACCState ACC控制模块 当前是否为 Cruise/Follow 状态
TTC 策略模块计算 时间到碰撞值,用于触发逻辑判断
          +-------------------------+
          | 摄像头检测横穿目标       |
          +-------------------------+
                     ↓
        +----------------------------+
        | 判断目标轨迹是否入侵车道     |
        +----------------------------+
                     ↓
        +----------------------------+
        | 判断 TTC 是否低于安全阈值     |
        +----------------------------+
                     ↓
        +----------------------------+
        | ACC 进入纵向减速控制模式     |
        +----------------------------+
                     ↓
        +----------------------------+
        | 风险解除后恢复巡航或跟车状态 |
        +----------------------------+

二、核心策略逻辑

1. 状态机划分(简化)

  • 巡航状态(Cruise):无前车干扰,维持设定速度
  • 跟车状态(Follow):前方目标车进入设定时距,系统控速保持安全距离
  • 减速状态(Brake):前车突然减速或cut-in,需快速减速
  • 恢复状态(Resume):前车离开或驾驶员触发,系统恢复巡航
  • 完全停止(Stop): 完全减速至停止

2. 关键参数

  • 设定速度 V_set: 若当前速度与设定速度存在偏差,系统通过调整油门或者制动系统的输出来改变车辆加速度从而调整车速指目标范围内
  • 目标车与本车距离 D_rel:跟车距离控制,系统利用传感器试试监控前车速度和距离,并根据预设的安全诗句(车辆与前车保持的时间间隔乘以当前速度)或者动态调整的安全距离与之,计算出应维持的跟车距离,当实际跟车激励小于计算值时,通过减速来拉大距离;当实际距离大于计算值时,则再确保安全的前提下适当加速以缩短距离,车辆跟车距离控制还需要考虑前车的制动意图、道路坡度等因素以确保稳定性和安全性。
  • 相对速度 V_rel = V_ego - V_target
  • 设定时距 t_gap(如1.5s)
  • 期望距离 D_desired = V_ego * t_gap
  • 车辆道路位置控制:系统通过摄像头激光雷达试试监控车辆位置,若偏离预定位置,系统调整方向盘来修正轨迹。

3. 控制输出(纵向加速度)

纵向加速度公式

可选扩展为 MPC 控制器,考虑多时间步内的规划控制量。


三、策略模块结构图

                     +-------------------------+
                     |   驾驶员设定(巡航速度/时距) |
                     +-------------------------+
                                  ↓
                           +-----------+
                           | 目标检测模块 |
                           |(视觉 + 雷达)|
                           +-----------+
                                  ↓
                  +-------------------------------+
                  |         目标选择与评估模块        |
                  |(Cut-in识别 / Cut-out判断 / 有效性判断)|
                  +-------------------------------+
                                  ↓
         +------------------------------------------------+
         |               跟车策略计算模块(核心)             |
         | - 状态机:Cruise / Follow / Brake / Resume       |
         | - 距离 & 速度控制:PD / MPC                      |
         | - 安全策略:纵向防撞 / jerk 限制 / fail-safe      |
         +------------------------------------------------+
                                  ↓
                     +----------------------+
                     | 控制量输出模块(加速度) |
                     +----------------------+
                                  ↓
                      +--------------------+
                      |    执行器控制接口     |
                      |(油门 / 制动 控制) |
                      +--------------------+
                                  ↓
                        +----------------+
                        | 车辆动力学响应  |
                        +----------------+

ACC 模块与主要 ECU 信号交互关系说明

一、模块级交互关系总览

模块 关键输入/输出信号 典型触发场景 ACC 控制需求
VCU / ECM 发动机扭矩请求、动力系统状态 巡航/起步/加速/滑行 ACC 发送扭矩请求,VCU需反馈是否接受并执行
ESP 制动请求、执行器响应状态 跟停、滑行制动、退出判断 ACC 通过ESP请求制动,响应失败则进入Passive
EPB EPB激活状态、CC Cancel信号 超过3分钟停车保持、手动取消 若EPB激活,ACC不可激活或维持
SAS 转角、偏航角速度 弯道限速、弯道跟随 ACC估算弯道半径,查表决定最大允许车速
TCM 挡位状态、传动比 激活检查、挡位变化 非D挡或TCM信号失效 → ACC抑制
前向感知(雷达/摄像头) 目标车距离、相对速度、切入切出状态 跟车巡航、切入处理、安全接管判断 用于动态控制距离、安全检测、车道事件识别
UI / BCM 用户按键状态、HMI提示 激活、设定/恢复、用户操作提示 UI→ACC发送操作请求,ACC→UI发送状态与警告提示

二、典型交互场景说明

1. Standby → Active 激活流程

  • 涉及模块
    • VCU/ECM:系统Ready、扭矩可用
    • ESP:制动器响应正常
    • TCM:挡位为D
    • 前向感知:存在前车目标(可选)
  • ACC逻辑
    • 校验所有信号均无抑制项
    • 若满足激活条件 → 状态转移为Active

2. 跟停控制(DecToStop)

  • 触发条件
    • 距离前车 < 5m
    • 自车速度 < 1m/s
  • ACC操作
    • 发出制动请求至 ESP 控制器
    • ESP 判断是否接受请求并反馈状态
  • 信号流
    • ACC → ESP:制动命令
    • ESP → ACC:执行反馈

3. 起步控制(DriveOff)

  • 触发条件
    • 前车起步 或 驾驶员踩油门/按Resume键
    • 当前为 StandActive 或 StandWait 状态
  • ACC操作
    • 向ESP请求解除制动,起步控制转为Active
    • 向VCU发送起步扭矩请求
  • 信号流
    • ACC → ESP:释放制动
    • ACC → VCU:加速扭矩请求

4. 弯道限速控制

  • 触发条件
    • 系统识别当前道路为弯道(通过偏航角计算半径)
  • ACC操作
    • 从 SAS 模块获取偏航角速度与车速
    • 计算当前弯道半径
    • 查表获取弯道最大限速,与设定/跟车目标车速取最小值

三、接口可扩展字段建议

若需进一步定义 CAN 通信协议,可为每一接口添加如下字段:

  • 信号名(如:ACC_ReqTorque, ACC_BrakeRequest
  • 单位与分辨率(Nm, kph, boolean 等)
  • 数据更新频率(10ms, 50ms)
  • 方向(输入/输出)
  • 默认值与容错机制(Signal Default, Timeout)


四、典型问题集与对策

✅ Q1:加速/减速过程不够平顺,乘客晕车感强?

  • 原因:加速度过大 / PD 参数未调优
  • 对策:加入加速度变化率(jerk)限制 + 调节控制器参数

✅ Q2:前车 cut-in 后减速不及时,存在碰撞风险?

  • 原因:目标车识别滞后或过滤器响应慢
  • 对策:目标选择算法引入优先级策略 + 加快cut-in识别反应

✅ Q3:前车突然退出后加速太快,导致乘客不适?

  • 原因:状态切换为恢复巡航过于激进
  • 对策:使用缓速恢复策略 + 平滑切换状态机逻辑

✅ Q4:上下坡过程中跟车距离不稳定?

  • 原因:长坡对速度和距离误差影响显著
  • 对策:结合地图高精定位或坡度估计模块进行坡度补偿

✅ Q5:误识别旁车为目标车导致误刹车?

  • 原因:雷达/视觉融合不完善,目标优选错误
  • 对策:增强融合算法准确性 + 加入横向速度与角度筛选机制

五、测试指标设计

测试项 描述
跟车时距准确率 实际 vs 设定距离误差均值/方差
加速度舒适性评分 加速度 RMS,jerk 限值内比例
目标车切换响应时间 从目标切换到控制输出调整延时
Cut-in 应对成功率 成功减速且无干预或报警占比
状态切换稳定性 状态频繁跳变占比 + 是否稳定收敛