2. 智能驾驶系统基础

智能驾驶系统并不是一个“单一大模型”在开车,而是由多个职责明确的模块级联协作,形成从环境输入到车辆动作的闭环。理解这条链路,是后续做版本回归与验收的前提:只有知道每个模块的输入、输出和失效表现,才能设计出有针对性的回归用例与验收判据。

一、核心原理:感知—预测—规划—控制的闭环链路

典型的智能驾驶软件栈可以抽象为四个核心模块,它们以数据流方式串联,并受车辆执行器与驾驶员/安全员形成的外环约束。

  • 感知(Perception):把摄像头、激光雷达、毫米波雷达、超声波、IMU、GNSS 等原始信号,转换为结构化环境描述,包括目标类别、位置、速度、朝向、车道线、可行驶区域、交通标志与信号灯状态。输出通常是目标列表(Object List)、占据栅格(Occupancy Grid)与自车定位(Localization)。
  • 预测(Prediction):基于感知结果与地图先验,推断其他交通参与者未来数秒的可能轨迹及概率分布,输出多模态轨迹预测(Multi-modal Trajectory),并给出交互意图,如让行、变道、抢行。
  • 规划(Planning):结合预测结果、导航路线、交通规则与车辆动力学约束,生成从当前状态到目标点的安全、舒适、可执行的轨迹。通常分为全局路径规划、行为决策与局部轨迹优化三层。
  • 控制(Control):把规划轨迹解算为油门、刹车、转向等执行器指令,常用横纵向解耦控制(如 Stanley、MPC、PID),并通过底盘 CAN 总线下发,同时接收执行器反馈形成闭环。

这四个模块的接口契约(Interface Contract)是版本管理的关键对象:感知输出的字段语义、预测的时间步长、规划的坐标系、控制的时延补偿,任何一处变更都可能引发跨模块回归。

智能驾驶软件栈:数据流闭环与版本管理对象 传感器输入 摄像头 / 激光雷达 毫米波 / IMU / GNSS 感知 Perception 目标列表 / 车道线 占据栅格 / 自车定位 预测 Prediction 多模态轨迹 交互意图 / 概率 规划 Planning 行为决策 / 路径 轨迹优化 / 约束 控制 Control 横纵向解算 CAN 指令下发 车辆执行器与底盘 转向 / 驱动 / 制动 / 反馈 车辆状态反馈(位姿/速度/时延) 版本管理对象: 感知模型权重 · 预测模型 · 规划参数集 · 控制标定表 · 地图版本 · 接口协议(IDL/Proto)· 配置与阈值 · 安全机制(SOTIF/FuSa) 回归基线 = 全链路版本快照

二、软件版本管理基本概念

智能驾驶软件的版本管理,不只是“代码打 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 性能边界问题。

复盘结论:

  1. 版本升级必须做全链路回归,不能只验证感知指标(mAP)提升。
  2. 回归用例需包含“感知误检 → 预测误判 → 规划保守 → 控制误动作”的级联场景。
  3. 在 manifest 中记录模型版本与阈值配置,便于快速回滚到上一基线。
  4. 对 SOTIF 场景建立专项场景库,纳入每次版本验收的必测集。