2. 自动驾驶系统基础
自动驾驶系统并不是一个“会自己开”的黑盒,而是由感知、定位、决策、控制四大模块串联而成的闭环系统。理解这四者的分工与耦合关系,是开展测试工程的前提:测试用例、故障注入、评价指标,几乎都围绕这四个模块的输入输出边界展开。
一、感知模块:从“看得见”到“看得懂”
感知模块负责把物理世界转化为机器可计算的数据。典型传感器包括摄像头、激光雷达、毫米波雷达、超声波,以及农机上常用的 GNSS-RTK、IMU、轮速计和角度传感器。其核心任务有三类:目标检测(识别行人、车辆、障碍物)、语义分割(区分可行驶区域、作物行、田埂)、状态估计(估计目标位置与速度)。
在农机与工程机械中,感知面临的最大挑战是非结构化环境:农田没有车道线,作物行会因播种偏差而弯曲;工地扬尘会削弱激光雷达回波,振动会导致相机外参漂移。因此,感知算法不能只依赖单一传感器,而要做多源融合,并在测试中重点验证粉尘、逆光、雨雾、遮挡等边界场景。
二、定位模块:厘米级位姿是作业精度的基础
定位模块回答“我在哪里、朝哪个方向、速度多少”。农机自动驾驶普遍采用 GNSS-RTK + IMU + 轮速 的组合导航方案:RTK 提供厘米级绝对位置,IMU 提供高频姿态与角速度,轮速计在 GNSS 短时失锁时进行航位推算。工程机械在隧道、桥下、林间等遮挡场景中,还需引入激光点云匹配或视觉里程计作为补充。
定位误差会直接传递到作业质量。例如播种机对行误差超过 5 cm,就可能出现重播或漏播;平地机高程误差超过 2 cm,会影响后续摊铺。测试中常用固定解比例、航向误差、位置跳变、失锁恢复时间等指标评价定位模块。
三、决策模块:从全局任务到局部动作
决策模块分为全局规划与局部规划两层。全局规划根据地块边界、作业幅宽和农艺要求,生成往复式、回字形或套播式路径;局部规划则根据实时感知结果进行避障、绕行和速度调整。决策输出通常是目标轨迹点序列和速度指令。
农机决策的特殊性在于作业质量约束优先于通行效率:地头转弯要保证不压苗、不漏耕,机具提升与下降要与转向动作时序配合。工程机械则更强调任务状态机,如装载机的“铲装—举升—运输—卸料—返回”循环,每个状态都有明确的进入与退出条件。
四、控制模块:把轨迹变成执行器动作
控制模块接收目标轨迹与速度,输出转向角、油门开度、制动压力和机具升降指令。常用算法包括纯跟踪、Stanley、模型预测控制(MPC)和 PID。农机与工程机械的执行器多为液压系统,存在明显迟滞、死区和大惯性,因此控制参数需要针对机型标定。
# 典型控制参数标定记录(示例)
转向PID: Kp=1.8 Ki=0.05 Kd=0.12
速度环: Kp=0.9 Ki=0.03
前视距离: 3.5 m(低速) / 6.0 m(高速)
转向死区补偿: 2.5%
液压响应延迟: 约 180 ms
五、四大模块的测试关注点对比
| 模块 | 核心输入 | 核心输出 | 农机/工程机械特殊要求 | 典型测试指标 |
|---|---|---|---|---|
| 感知 | 图像、点云、雷达回波 | 障碍物、可行驶区域 | 抗粉尘、抗振动、识别作物行 | 检出率、误检率、时延 |
| 定位 | GNSS、IMU、轮速、点云 | 位姿、航向、速度 | RTK 固定解、抗遮挡、高频输出 | 定位误差、失锁恢复时间 |
| 决策 | 地图、位姿、障碍物 | 目标轨迹、速度指令 | 作业质量优先、地头转弯时序 | 重耕率、漏耕率、避障成功率 |
| 控制 | 目标轨迹、车辆状态 | 转向角、油门、液压指令 | 液压迟滞补偿、大惯性稳定 | 跟踪误差、超调量、响应时间 |
六、案例与复盘:地头转弯压苗问题
某拖拉机自动驾驶项目在田间测试中出现地头转弯压苗。复盘发现:感知模块未识别出地头已出苗区域,决策模块仍按固定转弯半径规划,控制模块的转向延迟又导致实际轨迹外扩。最终通过三项改进解决:感知增加作物行分割、决策引入地头缓冲区、控制加入前馈补偿。这说明自动驾驶故障往往是跨模块耦合问题,测试必须保留完整数据链路记录,包括传感器原始数据、定位轨迹、决策输出和控制指令,才能完成有效归因。