2. 智能驾驶系统基础
智能驾驶系统并不是一个“单一大模型”在开车,而是由多个职责明确的模块级联协作,形成从环境输入到车辆动作的闭环。理解这条链路,是后续做版本回归与验收的前提:只有知道每个模块的输入、输出和失效表现,才能设计出有针对性的回归用例与验收判据。
一、核心原理:感知—预测—规划—控制的闭环链路
典型的智能驾驶软件栈可以抽象为四个核心模块,它们以数据流方式串联,并受车辆执行器与驾驶员/安全员形成的外环约束。
- 感知(Perception):把摄像头、激光雷达、毫米波雷达、超声波、IMU、GNSS 等原始信号,转换为结构化环境描述,包括目标类别、位置、速度、朝向、车道线、可行驶区域、交通标志与信号灯状态。输出通常是目标列表(Object List)、占据栅格(Occupancy Grid)与自车定位(Localization)。
- 预测(Prediction):基于感知结果与地图先验,推断其他交通参与者未来数秒的可能轨迹及概率分布,输出多模态轨迹预测(Multi-modal Trajectory),并给出交互意图,如让行、变道、抢行。
- 规划(Planning):结合预测结果、导航路线、交通规则与车辆动力学约束,生成从当前状态到目标点的安全、舒适、可执行的轨迹。通常分为全局路径规划、行为决策与局部轨迹优化三层。
- 控制(Control):把规划轨迹解算为油门、刹车、转向等执行器指令,常用横纵向解耦控制(如 Stanley、MPC、PID),并通过底盘 CAN 总线下发,同时接收执行器反馈形成闭环。
这四个模块的接口契约(Interface Contract)是版本管理的关键对象:感知输出的字段语义、预测的时间步长、规划的坐标系、控制的时延补偿,任何一处变更都可能引发跨模块回归。
二、软件版本管理基本概念
智能驾驶软件的版本管理,不只是“代码打 tag”,而是对代码、模型、参数、标定、地图、配置、接口协议的统一标识与可追溯。常用概念包括:
| 概念 | 含义 | 在回归验收中的作用 |
|---|---|---|
| 基线(Baseline) | 经过评审、可复现的一组版本集合 | 作为回归对比的参照,判定“是否变差” |
| 版本号(SemVer) | 主版本.次版本.修订号,如 3.2.1 | 识别接口不兼容变更与缺陷修复 |
| 提交哈希(Commit) | 代码与配置的唯一指纹 | 精确定位问题引入点,支持二分排查 |
| 模型版本 | 权重文件 + 训练数据 + 超参 | 感知/预测模型替换必须绑定数据集版本 |
| 标定版本 | 传感器外参、控制参数表 | 换车、换件后必须重新标定并记录 |
| 配置开关 | 功能开关、阈值、降级策略 | 同一代码不同配置可能表现完全不同 |
实践中建议用清单方式固化“版本快照”,例如:
release_manifest:
code_commit: 9f3c1a7
perception_model: det_v2.4.1_20240612
prediction_model: pred_v1.8.0
planning_params: plan_cfg_2024Q2_r3
control_calib: calib_A样车_20240520
map_version: cityX_2024.06
idl_version: ad_stack_idl_v3.2
safety_config: sOTIF_threshold_v5
版本管理的核心目标是“可复现”:给定同一份 manifest,任何人、任何时间都能复现同一套系统行为,否则回归结论不可信。
三、功能安全与预期功能安全概述
功能安全(FuSa,ISO 26262)关注的是由系统故障引起的危害,例如传感器失效、ECU 死机、通信丢帧、电源异常。它通过危害分析与风险评估(HARA)确定 ASIL 等级,再用安全机制(监控、冗余、降级、安全状态)把风险降到可接受水平。
预期功能安全(SOTIF,ISO 21448)关注的是没有故障但性能不足导致的危害,例如摄像头在逆光下漏检、雷达对静止异形物误判、预测模型对罕见交互场景估计错误。SOTIF 的核心工作是识别已知/未知的不安全场景,并通过场景库、仿真、数据闭环持续收敛。
- FuSa 问:“东西坏了会不会危险?”——靠冗余与监控。
- SOTIF 问:“东西没坏但看不懂会不会危险?”——靠场景覆盖与性能边界管理。
- 回归验收必须同时覆盖两类:故障注入用例(FuSa)与边缘场景用例(SOTIF)。
常见误区:把 SOTIF 问题当成普通 bug 修掉就结束。实际上 SOTIF 风险往往无法“清零”,只能通过定义运行设计域(ODD)、限制功能可用条件、持续监控与降级策略来管理残余风险。
四、案例与复盘:一次跨模块版本回归
某项目在升级感知模型 det_v2.4.1 后,AEB 误触发率上升。排查发现:新模型对路侧金属护栏的置信度提高,预测模块将其误判为“可能切入目标”,规划模块因此生成保守减速轨迹,控制模块执行制动。代码本身没有故障,属于典型的 SOTIF 性能边界问题。
复盘结论:
- 版本升级必须做全链路回归,不能只验证感知指标(mAP)提升。
- 回归用例需包含“感知误检 → 预测误判 → 规划保守 → 控制误动作”的级联场景。
- 在 manifest 中记录模型版本与阈值配置,便于快速回滚到上一基线。
- 对 SOTIF 场景建立专项场景库,纳入每次版本验收的必测集。