第二章 车道保持系统概述:系统架构、传感器配置、执行器与控制器角色
好,我们直接进入正题。上一章说了这门课要干什么,这一章咱们得把“战场”看清楚。
说白了,搞PI控制校准,不能只盯着算法本身。你得知道你的代码跑在什么平台上,谁来给你发指令,你控制的对象长什么样。我个人特别关注系统级的联调风险——很多bug,其实不是算法写错了,而是接口定义没对齐。
所以,本章我们把车道保持系统的架构、传感器、执行器、控制器这四个基本要素捋一遍。你想想看,这就跟盖房子一样,先得看懂图纸,再上钢筋水泥。
2.1 系统架构:三层级与数据流
我习惯把LKA(车道保持辅助)系统拆成三层:感知层、决策层、执行层。
- 感知层:负责“看路”。获取车道线信息、自车状态。
- 决策层:负责“判断”。算偏差、发控制指令。
- 执行层:负责“动手”。让方向盘动起来。
它们之间的数据流,说起来也挺简单:摄像头看到线,算出偏移量和朝向角,丢给控制器;控制器算出一个目标方向盘转角或扭矩,发给转向执行器;执行器转起来,车修正了位置,视觉系统再重新闭环。
我在项目中遇到过一个问题:数据传输延迟,导致控制指令过来时,车已经过冲了。嗯,这里要注意,延迟是PID调试里最头疼的隐藏变量之一。
下面的SVG展示了从感知到执行的核心链路,你应该能一眼看明白整个过程。
2.2 传感器配置:视觉为主,融合为辅
在量产项目里,最常见的配置是单目前视摄像头 + 车辆CAN总线信号。
单目摄像头负责提供车道线的几何信息。它输出两条最关键的参数:lateral_offset(横向偏移,单位米)和heading_angle(航向角,单位弧度)。
还有一个常被忽略的角色:ESP/IMU。它们提供车速、横摆角速度、方向盘转角这些信号。你可能觉得这跟视觉没关系,但在标定PI参数时,车速是一个重要的增益缩放因子。我过去的一个项目里,因为没有把车速信号加到控制增益里,导致低速时转向太灵敏,高速时又跟不上。
传感器配置清单如下表所示。你调试的时候要重点关注信号的频率和质量。
| 传感器类型 | 关键输出信号 | 典型频率 | 我对它的注意点 |
|---|---|---|---|
| 前视摄像头 | lateral_offset, heading_angle, curvature | 20 - 50 Hz | 信号抖动大,需要低通滤波 |
| ESP (车辆稳定系统) | 车速, 横摆角速度 | 100 Hz | 车速信号是标定的关键变量 |
| EPS (电动助力转向) | 实际方向盘转角, 手力扭矩 | 500 Hz | 用于反馈控制,看看执行器是不是听话 |
2.3 执行器:转向系统的那些事
执行器就是负责执行转向的部件。在LKA系统里,我们主要跟EPS(电动助力转向)打交道。
EPS接收两种指令:目标转角和目标扭矩。
- 角度控制模式:你告诉EPS“转到10度”,EPS闭环转到10度。这种模式控制精度高,但需要EPS内部有自己的PID环。
- 扭矩控制模式:你告诉EPS“给我输出2牛米”,EPS直接提供力。这种模式响应快,但是受路面摩擦影响大,控制不精准。
我个人习惯在LKA中优先使用角度控制模式。因为它更精确,我只需要关注上层控制器算好角度就行了。扭矩模式我一般用在辅助驾驶员场景,比如转向避障。
这里涉及到一个重要概念:执行器的带宽。简单来说,执行器能不能跟得上你控制器发出的信号。如果EPS的响应带宽是5Hz,你控制器用10Hz的频率给它发指令,那指令就被过滤掉了,执行器实际转动的角度跟不上你的期望。
2.4 控制器角色:大脑与总指挥
控制器,就是我们写的代码,运行在某个ECU或域控制器上。它的角色就是前面说的“决策层”。
它具体干啥?好,我把它拆成四件事:
- 信号处理:把视觉信号过滤、校验、同步。原始信号充满了噪声和错误。
- 核心计算:运行PI控制器。根据偏差算出你应该转多大角度。
- 安全监控:检测传感器故障、执行器异常、驾驶员是否脱手。不安全的控制指令绝不发出。
- 模式管理:决定什么时候启用LKA,什么时候退出。比如你打转向灯,LKA应该自动让位。
你想想看,控制器就是那个在中间协调各方的大管家。它既要听视觉的话,也要听EPS反馈的话,还得保证不出事。
后面几章,我们会花大量篇幅讲核心计算和安全监控这两个模块。
搞PI控制前,先看清你的系统:传感器告诉你车在哪,控制器算出去哪,执行器负责走路。这三者缺谁都不行,任何一环的延迟或失真都会被放大到控制效果里。好了,有了这个框架,咱们下节开始详细拆PI控制器本身。