第1章:纵向控制策略——ACC自适应巡航的舒适性标定与安全冗余
各位同学好,我是老张。在ADAS领域摸爬滚打了十几年,今天咱们聊聊ACC自适应巡航。说实话,ACC这个功能看着简单,不就是“跟车跑”嘛?但真正把它调好,让用户觉得“这车开得真舒服”,同时还得保证不出事——这里面的门道,可深着呢。
我个人习惯把ACC的纵向控制分成两条线:一条是舒适性,一条是安全性。这两条线有时候会打架,但你必须让它们共存。嗯,咱们今天就把这事儿掰扯清楚。
1.1 舒适性标定:让加速和减速“润物细无声”
先说说舒适性。你想想看,一个ACC系统如果加减速太猛,乘客会是什么感受?我坐过一些早期车型的ACC,那感觉就像新手司机在练车——一脚油门一脚刹车,晕车是必然的。
舒适性标定的核心,说白了就是控制加速度的变化率,也就是“加加速度”(Jerk)。我建议你记住这个公式:
Jerk = d(Acceleration) / dt
单位是 m/s³。这个值越小,体感就越平顺。我在项目中遇到过,有些供应商把Jerk上限设到 2.5 m/s³,结果试驾时后排乘客直接投诉。后来我们压到 1.2 m/s³ 以下,才勉强过关。
具体标定时,我一般关注三个场景:
- 起步跟车:前车动了,ACC要跟上。这里我习惯用“软启动”策略——先给一个很小的加速度(比如 0.3 m/s²),保持 0.5 秒,再逐渐增加到目标值。说白了,就是给乘客一个心理准备。
- 匀速跟车:前车速度稳定,ACC要保持距离。这里最怕的是“频繁微调”——前车速度波动 1 km/h,ACC就跟着加减速,那体验就太差了。我建议加一个死区,比如速度差小于 2 km/h 时,保持当前油门不动。
- 减速停车:前车刹停,ACC要跟着停。这里有个坑——如果减速太晚,就得急刹;如果减速太早,又会被后车骂。我个人的经验是,分两段减速:先以 0.8 m/s² 的减速度降到 10 km/h,再以 0.3 m/s² 的减速度慢慢停稳。这样既安全又舒适。
核心指标参考表(我常用的标定范围):
| 参数 | 舒适范围 | 运动范围 | 安全极限 |
|---|---|---|---|
| 最大加速度 | 1.5 m/s² | 2.5 m/s² | 4.0 m/s² |
| 最大减速度 | 2.0 m/s² | 3.5 m/s² | 6.0 m/s² |
| Jerk上限 | 1.0 m/s³ | 2.0 m/s³ | 3.0 m/s³ |
1.2 安全冗余:不能只靠一个传感器
聊完舒适性,咱们说说安全。ACC的安全冗余,说白了就是“万一出问题了怎么办”。我曾经吃过一次亏——某次路试,毫米波雷达突然被前方卡车的金属货箱反射干扰,目标丢失了。幸好当时有摄像头做融合,不然就追尾了。
所以,我现在的设计原则是:任何单一传感器失效,系统都不能退出。具体来说,ACC的安全冗余包含三层:
- 传感器层冗余:毫米波雷达 + 摄像头 + 超声波(近距离)。三者数据做融合,互相校验。比如雷达测距 50 米,摄像头也测到 48 米,那取平均值;如果雷达报 50 米,摄像头报 100 米,那就要触发一致性检查,降级使用。
- 执行器层冗余:制动系统要有两路独立控制。一路是ESP(电子稳定程序),一路是ibooster(电子制动助力)。万一ESP挂了,ibooster还能顶上。我建议至少保证 0.6g 的减速度能力。
- 算法层冗余:主算法和备份算法并行运行。主算法输出控制量,备份算法做监控。如果主算法输出的加速度超过备份算法的安全阈值(比如主算法要求 3.0 m/s² 加速,备份算法认为只能 2.0 m/s²),那就立即切换到备份算法。
注意: 我曾经见过一个案例,某车型的ACC在隧道里突然急刹。原因是雷达信号被隧道壁多次反射,误以为前方有静止目标。后来我们在算法里加了一个“隧道模式”——当GPS检测到进入隧道时,降低雷达的置信度,提高摄像头的权重。这个坑,大家一定要记住。
1.3 舒适性与安全性的平衡点
你可能会问:舒适性和安全性,到底哪个优先?我的答案是:安全永远是底线,舒适是上限。但这两者不是非此即彼的关系,而是可以找到平衡点的。
举个例子:前车突然急刹,ACC应该怎么做?
- 如果完全追求舒适,那就慢慢减速——但可能追尾。
- 如果完全追求安全,那就全力急刹——但后排乘客会飞出去。
我常用的策略是“分级响应”:
- 第一级(预警):当碰撞时间 TTC 小于 3.0 秒时,先发出声音和视觉预警,同时以 0.3g 的减速度预减速。说白了,就是告诉系统“要小心了”。
- 第二级(介入):当 TTC 小于 2.0 秒时,ACC 主动介入,以 0.5g 的减速度减速。这时候乘客会感觉到刹车,但不会太突兀。
- 第三级(紧急):当 TTC 小于 1.0 秒时,直接触发 AEB(自动紧急制动),全力刹车。这时候就别管舒适性了,保命要紧。
我的小技巧: 在标定 TTC 阈值时,我习惯留一个 0.3 秒的余量。比如理论上 2.0 秒介入,我实际设在 2.3 秒。为什么?因为传感器有延迟,执行器有响应时间。这个余量,就是安全冗余的一部分。
1.4 实战中的避坑指南
最后,分享几个我踩过的坑:
- 坑一:弯道中的目标丢失。ACC 在弯道里,前车突然被弯道内的护栏遮挡,系统会误以为目标消失,然后急加速。解决办法:加入弯道曲率预测,如果曲率大于某个值,就保持当前速度,不加速。
- 坑二:切入车辆的响应。旁边车道突然有车加塞,ACC 如果反应太快,会急刹;反应太慢,又会被加塞。我建议的策略是:先判断切入车的速度——如果它比你快,那就让;如果它比你慢,那就减速让出一个安全距离。
- 坑三:坡道上的误判。上坡时,雷达会认为前车距离变近;下坡时,会认为距离变远。解决办法:加入坡度传感器数据,对雷达测距做坡度补偿。
好了,这一章的内容就到这里。ACC 的舒适性与安全性平衡,说白了就是“让用户觉得这车像个老司机在开,而不是一个毛头小子”。下一章咱们聊聊横向控制——车道保持的标定与冗余设计。到时候见。