矿卡自动驾驶的控制问题,看起来可以简单分成两块:横向控制负责“方向盘怎么打”,纵向控制负责“油门和刹车怎么给”。但真正落到矿区工程里,它远比乘用车低速泊车或普通商用车巡航更难。矿卡质量大、载荷变化大、坡道多、路面附着差、转向和制动执行器延迟明显,一旦控制策略处理不好,就会出现压线、甩尾、冲坡、溜坡、制动过猛、轮胎磨损和装卸区定位不准。
这篇文章从工程角度系统解释矿卡自动驾驶横纵向控制的原理。重点不是某一个算法名字,而是控制系统为什么要这样分层,横向误差和纵向速度误差如何进入控制器,重载坡道为什么要做前馈补偿,以及横向和纵向为什么不能完全独立。
图 1:矿卡自动驾驶控制可以拆成横向、纵向和协调控制三层
一、矿卡控制和乘用车控制的差别
乘用车自动驾驶常见工况是城市道路、高速道路、停车场。矿卡的工况更单一,但物理约束更强。矿区道路宽度有限,弯道半径经常偏小,坡道长,路面有碎石、泥水和粉尘,车辆还要在装载区、卸载区低速精准对位。
因此矿卡控制不能只追求“轨迹误差小”。它还必须考虑车辆是否重载、坡度方向、制动系统响应、轮胎侧偏、转向限幅、液力缓速器或电机制动能力、气制动建压延迟,以及路径附近是否有挡墙、边坡和其他车辆。
| 维度 | 乘用车常见控制重点 | 矿卡自动驾驶控制重点 |
|---|
| 车辆质量 | 质量变化相对较小,执行器响应快 | 空载/重载差异大,惯量变化明显,制动距离变化大 |
| 道路条件 | 铺装路面为主,附着相对稳定 | 碎石、泥水、坡道、扬尘,附着和滚阻变化大 |
| 控制目标 | 舒适、效率、轨迹跟踪 | 安全、稳定、低磨损、装卸区精准、连续生产 |
| 执行器 | 线控制动和转向响应较快 | 气制动、液压转向、缓速器、电机制动均可能存在延迟 |
| 横纵耦合 | 高速变道、弯道控制比较明显 | 低速重载过弯、下坡弯、湿滑弯道耦合更强 |
二、整体控制架构:规划给目标,控制做可执行
自动驾驶规划层通常输出两类信息:一条参考路径,以及沿这条路径的目标速度曲线。路径告诉车辆“应该走哪里”,速度曲线告诉车辆“应该以多快走”。控制层的任务不是重新规划路线,而是在执行器能力和车辆动力学约束内,让车辆尽可能稳定地跟踪这些目标。
工程上可以把控制层拆成三部分:横向控制、纵向控制和协调控制。横向控制根据横向误差、航向误差和路径曲率计算转向指令;纵向控制根据目标速度、实际速度、坡度、载荷和制动能力计算驱动或制动指令;协调控制负责判断当前速度是否适合当前曲率、坡度和附着条件,必要时限制纵向速度目标,避免横向控制被迫在不可能的速度下过弯。
三、横向控制:让车辆沿着参考路径走
横向控制的核心目标,是让矿卡的车辆中心或参考点沿着规划路径行驶。它通常关注三个量:横向误差、航向误差和路径曲率。横向误差表示车辆离参考路径偏了多远;航向误差表示车头方向和路径切线方向差了多少;路径曲率表示这段路弯得有多急。
图 2:横向控制主要处理横向误差、航向误差和路径曲率
1. 横向误差和航向误差
设车辆当前参考点到路径最近点的横向距离为 ey,车辆航向角和路径切线方向的差值为 eψ。横向控制的目标可以简单写成:
如果只消除横向误差,车辆可能会“斜着”贴近路径;如果只消除航向误差,车辆可能和路径平行但偏在旁边。因此横向控制必须同时处理位置和方向。矿卡在装卸区、会车区和窄路段尤其如此,横向误差的容忍度比普通道路更低。
2. 曲率前馈:不要等偏了再修
车辆要通过弯道,转向角本来就应该提前给出。最简单的自行车模型里,如果轴距为 L,参考路径曲率为 κ,那么理想前轮转角的前馈项可以写成:
这个前馈项的意义是:控制器不是等车辆偏离路径后才修正,而是看到路径要转弯,就先给出一个基础转角。然后再用横向误差和航向误差做反馈修正。对于矿卡这种转向响应慢、车身长、低速大转弯多的车辆,曲率前馈非常重要。
3. 常见横向控制方法
| 方法 | 核心思想 | 矿卡适用性 |
|---|
| Pure Pursuit | 在路径前方选一个预瞄点,让车辆朝预瞄点转向 | 结构简单,低速稳定,适合装卸区和固定路线,但预瞄距离需要随速度调整 |
| Stanley | 用航向误差和横向误差共同修正转向 | 对路径跟踪直观有效,但低速时误差项需要处理,否则容易转向过激 |
| LQR | 基于线性车辆模型,把横向误差、航向误差等状态放进统一反馈 | 适合较稳定工况,参数可解释,但对模型和速度点有依赖 |
| MPC | 在预测时域内同时考虑误差、转角、转角速度和约束 | 最适合处理转角限幅、转向速率、道路边界等约束,但计算量和模型准确性要求更高 |
矿卡项目里不会只迷信一种方法。低速站区可以用更稳的预瞄控制;主运输道路可以用带曲率前馈和反馈的控制;复杂坡道弯、低附着路面或边界约束强的区域,更适合用 MPC 这类带约束的控制方法。
四、纵向控制:让车辆以合适速度走
纵向控制看起来是“目标速度和实际速度做差,然后给油门或刹车”。但矿卡的纵向控制本质是力平衡问题。车辆在坡道上行驶时,驱动力不仅要克服滚阻和空气阻力,还要克服坡度阻力;下坡时,重力会反过来推动车辆加速,控制器必须提前用电机制动、液力缓速器或气制动限制速度。
图 3:矿卡纵向控制从速度目标到驱动/制动执行器,需要考虑载荷和坡度补偿
1. 基本速度误差闭环
纵向控制首先会计算目标速度和实际速度的误差:
当 ev 为正,说明车速低于目标,需要驱动;当 ev 为负,说明车速高于目标,需要减速。最基础的速度控制可以用 PI 或 PID,但在矿卡上,仅靠误差反馈通常不够,因为车辆质量和坡度变化太大,等误差出现后再补救会很慢。
2. 坡度和载荷前馈
矿卡纵向力需求可以简化理解为:
Freq = m · aref + m · g · sin(θ) + Froll + Fair这里 m 是车辆质量,aref 是目标加速度,θ 是坡度角,Froll 是滚动阻力,Fair 是空气阻力。矿卡速度通常不高,空气阻力不是最大项,真正重要的是质量、坡度和滚阻。
重载上坡时,如果不加坡度前馈,车辆会先掉速,然后控制器才慢慢增加驱动扭矩;重载下坡时,如果不提前建立制动力,车速会越滚越快,后续再用强制动拉回来,容易造成冲击和轮胎磨损。
3. 扭矩和制动力计算
当控制器算出所需纵向力 Freq 后,可以换算成轮端扭矩:
其中 Rw 是轮胎有效滚动半径。再结合传动比、电机效率、制动系统能力,把轮端需求分配到电机驱动、电机制动、液力缓速器和气制动。纯电矿卡或混合制动矿卡上,这一步往往不是简单二选一,而是一个制动源分配问题。
五、矿卡纵向控制最难的几个工况
1. 重载下坡
重载下坡是矿卡纵向控制的核心工况。车辆质量大,坡度持续时间长,如果只靠气制动,很容易出现制动热负荷高、响应滞后和磨损增加。更合理的策略是优先使用电机制动或液力缓速器承担持续制动,气制动用于补充和紧急工况。
控制器需要根据坡度、当前车速、目标车速、制动源能力和热状态,提前建立制动力。这里的关键是“提前”。下坡速度控制如果等超速后才刹,乘坐舒适性和车辆稳定性都会变差。
2. 坡道起步和防溜坡
矿卡在坡道上从静止起步时,驱动扭矩建立之前,车辆可能先向坡下滑动。控制策略通常要在释放制动前建立足够驱动扭矩,或者通过制动保持和驱动扭矩交接实现平顺起步。
这类控制看似简单,实际要考虑载荷估计、坡度估计、电机扭矩响应、制动释放延迟和轮胎附着。如果释放制动太早,车辆会溜;释放太晚,又会出现憋车和冲击。
3. 装载区和卸载区低速精准停车
装载区和卸载区要求车辆停得准,而且速度很低。低速下 GPS/RTK、轮速、IMU 和路径误差的噪声会变得更明显,纵向控制不能频繁点刹或点驱,否则车辆会抖。此时更重要的是平滑的速度曲线、低速死区处理和执行器最小可控量标定。
六、横纵向协调:为什么不能分开调
如果横向控制只管转向,纵向控制只管速度,两者就可能打架。比如规划层给了较高速度,但前方是小半径弯道,横向控制器即使把方向打到极限也无法保证车辆贴合路径;又比如下坡弯道,纵向速度过高会让车辆横向稳定性变差。
图 4:横纵向协调会根据曲率、坡度和附着限制可执行速度
横纵向协调的基本思路是:根据路径曲率、道路附着和车辆稳定性,计算这段路允许的最大速度。一个直观关系是横向加速度约等于车速平方乘以路径曲率:
如果限定最大横向加速度为 ay,max,那么弯道速度就不能超过:
这就是为什么矿卡在急弯前必须提前降速。不是横向控制器不够强,而是物理上不能以过高速度通过小半径弯道。矿区道路上,低附着、重载和下坡还会进一步降低允许速度。
七、控制器最终要解决的是执行器问题
算法输出的转角、扭矩和制动压力,最终要由真实执行器完成。矿卡执行器不像仿真模型那样理想。转向系统有响应延迟和速率限制;气制动有建压延迟、排气延迟和压力滞后;电机扭矩有响应速度和功率限制;液力缓速器有转速相关特性和热限制。
| 执行器 | 常见限制 | 控制策略要点 |
|---|
| 转向系统 | 最大转角、转角速度、液压响应延迟 | 加入转角限幅、转角速率限制和前馈补偿,避免控制器输出不可执行指令 |
| 驱动电机 | 最大扭矩、功率限制、热限制、低附着打滑 | 扭矩斜率限制,结合防滑控制和载荷估计 |
| 电机制动 | SOC高时回收受限,低速回收能力下降 | 和缓速器、气制动做制动力协调,避免单一制动源饱和 |
| 液力缓速器 | 制动力与车速相关,持续制动受热限制 | 适合长下坡持续制动,但需要热管理和退出策略 |
| 气制动 | 建压延迟、排气延迟、压力非线性 | 需要压力前馈、闭环修正和最小压力保持策略 |
所以矿卡控制调得好不好,不只看控制理论,还要看执行器标定。很多现场问题不是控制器公式错了,而是执行器延迟、死区、限幅、传感器噪声和车辆状态估计没有处理好。
八、一个典型控制周期里发生了什么
为了把前面的内容串起来,可以把一次控制循环理解为以下步骤:
1.读取车辆状态:位置、航向、速度、加速度、转角、轮速、载荷估计、坡度、制动压力和执行器状态。2.匹配参考路径:找到车辆当前点在参考路径上的投影点,计算横向误差、航向误差和路径曲率。3.生成横向指令:根据曲率前馈、横向误差反馈和航向误差反馈,得到目标转角或目标曲率。4.生成纵向目标:根据规划速度、坡度、曲率、附着和作业区域,得到可执行目标速度和目标加速度。5.计算驱动/制动需求:结合质量、坡度、滚阻和速度误差,计算所需纵向力。6.执行器分配与限制:把需求分配给电机、缓速器、气制动和转向系统,并施加限幅、斜率限制和安全约束。7.闭环监控:检查路径误差、速度误差、执行器响应和安全边界,必要时降级、停车或请求接管。九、矿车横纵向控制难点分析
1.矿卡控制会从单纯 PID 标定,走向模型前馈、MPC 约束控制和数据驱动补偿的混合方案。2.横向控制的难点不是算法名字,而是低速重载、长车身、转向延迟和道路边界约束。3.纵向控制会越来越依赖载荷估计、坡度估计和多制动源协调,特别是纯电矿卡和带缓速器矿卡。4.横纵向协调会成为矿区无人驾驶安全的核心,因为速度是否合理直接决定横向能不能跟得住。5.真正的工程壁垒在现场标定:执行器延迟、死区、轮胎附着、坡道、载荷和道路变化都必须被控制器吸收。结语
矿卡自动驾驶横纵向控制的核心,不是把乘用车算法搬过来,也不是把 PID 参数调得足够激进。它更像一个重型车辆动力学问题:横向要稳定贴合路径,纵向要在重载坡道上控制速度,协调层要保证车辆以物理上可执行的速度通过弯道和坡道。
如果用一句话总结:横向控制决定矿卡走不走得准,纵向控制决定矿卡跑不跑得稳,横纵向协调决定矿卡在真实矿区里能不能长期安全运行。