4. Bosch ADAS软件架构与故障传播路径

Bosch ADAS 的软件架构通常按“感知—融合—规划—控制”四层组织,每一层都有明确的输入输出接口和失效边界。理解故障如何在层间传播,比单独记住某个模块的功能更重要:一个感知层的漏检,可能在融合层被放大为错误目标,在规划层被转化为不合理的轨迹,最终在控制层表现为非预期的加减速或转向。因此,本节围绕接口定义和传播路径展开,帮助读者建立“故障从哪来、经过谁、最终影响什么”的链路认知。

一、四层模块的职责与接口约定

感知层负责把摄像头、毫米波雷达、激光雷达的原始数据转换为目标列表、车道线、可行驶区域和自车位姿。其对外接口通常包含目标 ID、类别、位置、速度、协方差、时间戳和置信度。融合层接收多源感知结果,完成时空对齐、关联和航迹管理,输出全局目标列表和自车环境模型。规划层基于融合结果和导航信息,生成行为决策与轨迹,接口包括轨迹点序列、期望加速度、期望曲率。控制层把轨迹转换为油门、制动、转向指令,接口为执行器请求值和使能状态。

接口定义中必须明确三个关键字段:时间戳、坐标系和有效性标志。时间戳用于判断数据是否过期;坐标系需统一到车辆后轴中心或前保险杠中心,避免融合时出现位置偏差;有效性标志用于标识目标是否被遮挡、是否超出量程。若接口缺少这些字段,故障传播将难以定位。

Bosch ADAS 四层架构与故障传播路径 感知层 摄像头/雷达/激光雷达 目标列表、车道线 置信度、时间戳 融合层 时空对齐、关联 航迹管理、环境模型 全局目标列表 规划层 行为决策、轨迹生成 期望加速度/曲率 轨迹点序列 控制层 油门/制动/转向 执行器请求 使能状态 故障传播路径(红色虚线) 感知漏检 目标未检出/置信度低 时间戳过期 融合误关联 目标ID跳变/分裂 航迹丢失或重复 规划异常 轨迹抖动/急刹 曲率不连续 控制误动作 非预期加减速 转向超调 降级策略触发点 感知:切换单源/降低置信度阈值 融合:冻结航迹/重新初始化 规划:降速/退出变道 控制:限幅/请求接管

二、故障传播的典型链路

故障传播并非总是线性放大,常见有三种模式。第一种是逐级放大:感知层对远处目标的位置估计误差较大,融合层若未正确加权,会把误差带入航迹,规划层据此生成过晚的制动轨迹,控制层执行时已无法避免碰撞。第二种是跨层跳过:感知层时间戳异常,融合层直接丢弃该帧,规划层因缺少目标而误判前方空旷,控制层反而加速。第三种是反馈振荡:控制层执行延迟导致实际轨迹偏离规划轨迹,规划层重新规划时又产生相反方向的修正,形成抖动。

以 AEB 场景为例,假设毫米波雷达在 80 km/h 下对静止目标的有效检测距离为 120 m,摄像头为 100 m。若融合层仅采用摄像头结果,目标首次被确认的距离约为 100 m,按 80 km/h 计算,留给制动的时间约 4.5 s。若感知层因雨雾导致置信度低于阈值而延迟 0.5 s 输出,融合层再经过 0.2 s 关联,规划层生成制动请求时剩余距离约 84 m,此时若控制层建压时间为 0.3 s,实际制动距离可能超过 60 m,安全余量显著缩小。这一示例说明,接口中的时间戳和置信度字段直接决定故障是否被及时拦截。

三、接口定义中的故障防护字段

为抑制传播,接口应包含以下防护字段:有效性标志用于标识目标是否可信;故障码用于传递模块内部异常;降级等级用于指示当前可用的功能范围;心跳计数用于检测通信中断。融合层在接收感知结果时,应先检查时间戳是否在允许窗口内,再检查有效性标志,最后根据故障码决定是否降权。规划层在接收融合结果时,应检查目标数量是否突变、航迹 ID 是否连续。控制层在接收轨迹时,应检查曲率是否超过车辆动力学极限。

接口字段建议统一采用结构体封装,例如:Target { id, x, y, vx, vy, cov[4], timestamp, valid, fault_code, degrade_level }。其中 cov 为位置协方差,用于融合加权;degrade_level 取值 0~3,分别表示正常、受限、降级、不可用。

四、故障注入验证要点

验证故障传播路径时,可在感知层注入目标丢失、位置偏移、时间戳跳变;在融合层注入关联错误、航迹分裂;在规划层注入轨迹跳变、曲率超限;在控制层注入执行延迟、指令饱和。观察重点是:故障是否被下一层拦截,若未被拦截,传播到哪一层才触发降级,降级后系统是否进入安全状态。建议记录每个注入点的故障码、降级等级和最终车辆行为,形成传播路径表,用于后续回归测试。

注入层 注入类型 预期拦截层 降级动作
感知 目标丢失 0.5 s 融合 航迹保持/降权
感知 时间戳跳变 +200 ms 融合 丢弃该帧
融合 目标 ID 分裂 规划 轨迹平滑/降速
规划 曲率超限 控制 限幅/请求接管
控制 建压延迟 0.3 s — 安全停车

综上,Bosch ADAS 的故障传播控制依赖于清晰的接口定义和分层拦截机制。感知层要保证数据新鲜度和置信度,融合层要保证关联稳定性和航迹连续性,规划层要保证轨迹可行性和一致性,控制层要保证执行限幅和状态反馈。只有每一层都明确自己的输入输出边界和失效处理策略,故障才不会无阻碍地穿透整个链路。