1. 车道保持系统概述:什么是LKA/LDW、功能安全等级ASIL、系统输入输出定义

各位同学,欢迎来到这门实战课。我是你们的老朋友,一个在嵌入式汽车电子领域摸爬滚打了十几年的工程师。今天咱们正式开始聊车道保持系统。

说实话,我第一次接触这个功能是在2015年,那时候给一家Tier1做域控制器。客户要求实现LKA,我当时觉得不就是让车沿着线走嘛,能有多难?结果被现实狠狠教育了一顿。嗯,咱们慢慢聊。

1.1 什么是LDW和LKA?

这两个缩写,你肯定见过。但很多人搞混它们。

  • LDW(Lane Departure Warning):车道偏离预警。说白了,就是车要压线了,它提醒你。只报警,不控制。
  • LKA(Lane Keeping Assist):车道保持辅助。这个更进了一步,它会主动帮你打方向盘,把车拉回车道中间。

我见过不少项目,客户一开始只要求LDW,后来发现光报警没用,驾驶员该睡还是睡。于是升级到LKA。但LKA也不是万能的,后面我会讲它的局限性。

核心区别一句话:LDW是“动嘴”,LKA是“动手”。

1.2 功能安全等级ASIL

做汽车嵌入式,你绕不开功能安全。尤其是LKA这种涉及横向控制的功能。

ISO 26262把安全等级分成了A、B、C、D四个级别。D是最严格的,A是最宽松的。LKA一般要求ASIL BASIL C,具体看OEM的要求。

等级 严重度 暴露概率 可控性 典型应用
ASIL A 轻度伤害 容易控制 车窗升降
ASIL B 中度伤害 一般可控 LKA、ACC
ASIL C 严重伤害 难以控制 EPS、制动
ASIL D 致命伤害 极高 几乎不可控 安全气囊

注意:我曾经在一个项目里,因为低估了ASIL等级,导致后期重新做安全分析,整个软件架构推倒重来。那叫一个酸爽。所以,项目一开始就要和功能安全工程师确认好等级。

1.3 系统输入输出定义

搞嵌入式,你得先搞清楚系统要什么、给什么。LKA系统的输入输出,我习惯分成三类:感知、决策、执行。

1.3.1 输入信号

  • 摄像头数据:车道线信息(左线、右线、曲率、置信度)。这是核心输入。
  • 车辆状态:车速、横摆角速度、方向盘转角、转向灯状态。
  • 驾驶员意图:是否手握方向盘、是否踩刹车、是否打转向灯。
  • 系统状态:ACC是否激活、ESP是否介入。

你想想看,如果驾驶员打了转向灯,LKA还强行把车拉回来,那得多吓人?所以转向灯信号必须优先处理。

1.3.2 输出信号

  • 转向请求:给EPS(电动助力转向)的扭矩或角度请求。
  • 报警信号:给仪表盘的视觉/听觉报警。
  • 状态反馈:系统是否激活、是否故障、是否被Override。

个人经验:输出信号一定要做合理性检查。比如你请求的扭矩不能超过EPS的物理极限。我曾经见过一个bug,因为扭矩请求溢出,导致方向盘突然打到底。还好是在测试场,不然后果不堪设想。

1.4 一个简单的系统框图

咱们用伪代码描述一下LKA的主循环逻辑。别急,后面章节会展开讲每个模块。

// LKA主循环(伪代码)
void LKA_MainLoop(void)
{
    // 1. 读取输入
    LaneInfo_t lane = Camera_GetLaneInfo();
    VehicleState_t veh = Vehicle_GetState();
    
    // 2. 安全检查
    if (veh.turnSignal == ACTIVE) {
        LKA_Disable();  // 转向灯优先
        return;
    }
    
    // 3. 计算控制量
    float steerAngle = LKA_ComputeSteerAngle(lane, veh);
    
    // 4. 输出到EPS
    EPS_SetSteerRequest(steerAngle);
    
    // 5. 状态上报
    LKA_ReportStatus();
}

这段代码看着简单,但实际工程里,每一步都有大量的边界条件和安全机制。比如第3步,如果车道线置信度低于阈值,你该怎么办?是保持上次的控制量,还是平滑退出?这些我都会在后面的章节里一一拆解。

1.5 本章小结

咱们这一章,说白了就是给LKA系统画了个轮廓。你知道了:

  • LDW只报警,LKA会控制。
  • 功能安全等级不是闹着玩的,LKA至少ASIL B。
  • 输入输出要清晰,尤其是转向灯优先级。

下一章,咱们会深入聊摄像头数据怎么处理,车道线怎么拟合。那才是真正考验嵌入式C语言功底的地方。准备好了吗?

课后思考:如果摄像头被泥巴糊住了,LKA应该怎么处理?是直接退出,还是降级到LDW?想想看,没有标准答案。


公众号:蓝海资料掘金营,微信deep3321