1. 无人驾驶控制技术概述
无人驾驶车辆的核心在于如何实现精准稳定的运动控制。在众多控制算法中,PID和LQR因其各自独特的优势,成为工业界和学术界广泛采用的基础控制方案。这两种算法看似简单,但在实际车辆控制中却有着截然不同的表现特性。
PID控制器诞生于上世纪20年代,经过百年发展已成为工业控制领域的"常青树"。它通过比例(P)、积分(I)、微分(D)三个环节的线性组合,实现对系统误差的快速响应和消除。在车辆控制中,PID的突出优势在于:
- 结构简单,参数物理意义明确
- 不需要精确的数学模型
- 对高频噪声有一定抑制能力
- 实现成本低,计算量小
而LQR(线性二次调节器)则是现代控制理论的经典代表,它通过构建状态空间模型,求解Riccati方程得到最优控制律。相比PID,LQR的特点在于:
- 基于系统全局状态进行优化
- 天然考虑多变量耦合关系
- 可以显式处理控制约束
- 理论上有严格的稳定性证明
在真实的无人车开发中,我们常常面临一个关键抉择:是采用传统的PID分治策略,还是使用更"现代"的LQR统一控制?这个选择直接影响着车辆的控制性能和开发效率。
2. 纵横向控制需求分析
2.1 纵向控制核心指标
纵向控制主要关注车辆的加速、减速和定速巡航能力。评价纵向控制效果的关键指标包括:
速度跟踪精度:实测速度与期望速度的偏差,通常要求在城市道路场景下误差不超过±0.3m/s
加速度平滑性:加速度变化率(jerk)应小于2m/s³,避免乘客不适感
响应延迟:从指令发出到开始执行的时间应小于200ms
抗干扰能力:在坡度变化±5%时,速度波动不超过±0.5m/s
2.2 横向控制核心挑战
横向控制的核心是保证车辆沿规划路径行驶,主要面临以下挑战:
路径跟踪精度:在城市道路中,横向偏差通常需要控制在0.1m以内
航向角匹配:车辆朝向与路径切线的夹角误差应小于3°
曲率适应性:能稳定跟踪曲率半径大于5m的弯道
速度耦合效应:高速行驶时转向响应会明显变慢,需要动态补偿
2.3 纵横向耦合现象
在实际驾驶中,纵向和横向运动存在明显的耦合效应:
速度-转向耦合:高速过弯时,需要适当降低车速以保证稳定性
加速度-侧偏耦合:急加速可能导致转向不足,急减速可能导致转向过度
载荷转移效应:加减速引起的重量转移会影响轮胎侧偏刚度
这些耦合关系使得单独设计纵向和横向控制器难以达到最优性能,需要考虑联合控制策略。
3. 双PID控制方案实现
3.1 纵向PID设计要点
纵向PID控制器的输入通常是速度误差,输出为油门/刹车指令。关键设计考虑:
分区间控制:将控制区间划分为刹车区、过渡区和油门区,避免两者同时作用
动态限幅:根据当前速度和路面状况动态调整输出限幅值
抗积分饱和:采用条件积分或积分分离策略,防止长时间误差累积
典型参数范围:
- 比例系数Kp:0.5~2.0
- 积分时间Ti:3~10s
- 微分时间Td:0.1~0.5s
3.2 横向PID设计技巧
横向PID以路径偏差和航向偏差为输入,输出前轮转角指令。特殊处理包括:
预瞄距离调整:根据速度动态调整前视距离,通常取车速的0.8~1.2倍
曲率前馈:在弯道处加入基于路径曲率的前馈补偿项
微分先行:对测量信号单独滤波后再计算微分项,减少噪声影响
参数经验值:
- 横向偏差Kp:0.1~0.3
- 航向偏差Kp:0.05~0.15
- 微分增益:0.01~0.05
3.3 参数整定实战方法
现场调参的实用技巧:
先调P再调D最后调I:确保基本响应后再处理稳态误差
阶跃测试法:给定期望值阶跃变化,观察超调量和稳定时间
临界比例法:先将I和D置零,增大P直至系统等幅振荡,记录临界增益和周期
Ziegler-Nichols公式:根据临界参数计算初始PID值
注意:调参时应逐步改变车速,验证不同工况下的鲁棒性。常见问题是低速过调、高速响应慢。
4. LQR控制原理与实现
4.1 车辆动力学建模
LQR设计的基础是建立准确的车辆动力学模型。常用的二自由度自行车模型包括:
纵向动力学: m·a = Fx - Ff - Fw - Fg 其中Ff为滚动阻力,Fw为空气阻力,Fg为坡度阻力
横向动力学: m·v²/R = Fyf + Fyr Iz·γ' = a·Fyf - b·Fyr 其中Fyf、Fyr为前后轴侧偏力
轮胎模型: 采用线性侧偏刚度假设: Fyf = -Cf·αf Fyr = -Cr·αr
4.2 状态空间表达
将模型线性化后得到状态空间方程:
ẋ = A·x + B·u y = C·x + D·u
其中典型状态变量选择: x = [v, γ, e, Δψ]ᵀ u = [δ, a]ᵀ
A矩阵反映系统固有特性,B矩阵表示控制输入影响,需要根据具体车型参数计算。
4.3 权重矩阵设计
LQR性能指标: J = ∫(xᵀQx + uᵀRu)dt
Q和R矩阵的设计原则:
- 对角线元素对应各状态量和控制量的权重
- 通常先设为单位矩阵,再逐步调整
- 经验调整方向:
- 增大Q中e的权重提高路径跟踪精度
- 增大R中δ的权重减少转向波动
- 考虑各物理量的量纲统一
4.4 Riccati方程求解
通过求解代数Riccati方程得到最优反馈矩阵K:
AᵀP + PA - PBR⁻¹BᵀP + Q = 0 K = R⁻¹BᵀP
在实际工程中,通常使用现成求解器如MATLAB的lqr()函数。
5. 联合控制策略对比
5.1 双PID分治方案
架构特点:
- 纵向和横向完全独立设计
- 通过上层协调器交换信息
- 实现简单,调试直观
优势:
- 模块化设计,故障隔离性好
- 单环节失效不会导致系统崩溃
- 参数物理意义明确
劣势:
- 难以处理强耦合工况
- 整体性能非最优
- 参数组合爆炸问题
5.2 LQR统一方案
架构特点:
- 建立统一状态空间模型
- 全局优化控制输入
- 显式考虑耦合关系
优势:
- 理论最优性能保证
- 自动处理多变量耦合
- 参数调整维度低
劣势:
- 依赖模型准确性
- 计算复杂度较高
- 故障诊断困难
5.3 混合架构设计
结合两者优势的折中方案:
- LQR作为核心控制器
- PID用于执行器级控制
- 增加前馈补偿环节
- 采用自适应权重调整
典型架构分层:
- 规划层:生成参考轨迹
- 协调层:LQR主控
- 执行层:PID实现
6. 实车调试经验分享
6.1 测试准备要点
安全措施:
- 设置急停开关
- 限定测试区域
- 准备遥测记录设备
测试场景设计:
- 直线加速/减速
- 定半径圆周行驶
- 双移线测试
- 蛇形绕桩
数据记录项:
- 控制指令
- 车辆状态
- 环境信息
- 时间同步
6.2 典型问题排查
纵向振荡:
- 检查油门/刹车响应延迟
- 降低微分增益
- 增加执行器滤波
横向过冲:
- 调整预瞄距离
- 加入转向速率限制
- 检查轮胎侧偏刚度参数
耦合失稳:
- 验证质量分布参数
- 检查坐标变换一致性
- 降低高速下的转向增益
6.3 性能优化技巧
速度自适应: 根据车速动态调整控制参数: Kp = Kp0 + Kv·v
路面估计: 在线识别摩擦系数,调整控制限幅: μ = a_max/g
载荷补偿: 考虑乘客/货��重量变化: m_eff = m_nominal + Δm
温度补偿: 针对电池和电机特性变化: P_max = P_rated·(1 - 0.005·ΔT)
7. 前沿发展方向
7.1 模型预测控制(MPC)
相比LQR的改进:
- 处理显式约束
- 有限时域优化
- 滚动时域实施
挑战:
- 实时性要求高
- 模型精度敏感
- 参数整定复杂
7.2 自适应控制
在线调整策略:
- 模型参考自适应
- 直接参数自适应
- 神经网络补偿
应用场景:
- 载荷变化剧烈
- 路面条件未知
- 车辆参数时变
7.3 强化学习
新兴方法特点:
- 无显式模型
- 数据驱动
- 端到端优化
工程化挑战:
- 训练成本高
- 可解释性差
- 实时性瓶颈
在实际工程中,我们通常会根据项目需求和资源条件,选择最适合的控制架构。对于大多数量产项目,经过精心调校的双PID方案仍然是最可靠的选择;而对性能要求更高的应用,LQR或MPC则能提供更优的控制品质。