4. 规划控制基础
端到端自动驾驶方法(如基于模仿学习或强化学习的感知-决策-控制一体化模型)近年来取得了显著进展,但其训练数据的质量、安全性的保障以及可解释性的建立,都高度依赖于对经典规划控制方法的深刻理解。经典方法并非被取代,而是作为端到端模型的“安全垫”、监督信号生成器以及评估基准。本章将系统梳理规划控制的核心模块:从全局路径规划到局部轨迹生成,从运动学/动力学约束建模到PID与MPC控制器的设计,为后续学习端到端方法奠定坚实的理论基础。
4.1 路径规划:从全局寻路到局部行为决策
核心原理:路径规划解决的是“从哪里走”的问题,即在给定起点、终点以及环境地图(栅格图、拓扑图或车道网络)的条件下,搜索一条满足几何约束且无碰撞的路径。全局路径规划通常基于高精地图或预先构建的栅格地图,采用图搜索算法(如A*、Dijkstra)或采样算法(如RRT、RRT*)。局部路径规划则更关注车辆周围的动态环境,在全局路径的引导下,结合实时障碍物信息,生成当前时刻可执行的局部路径。在自动驾驶中,Frenet坐标系下的SL图(纵向距离-横向偏移)是描述局部路径的常用工具,它将车辆运动解耦为沿参考线的纵向运动和垂直于参考线的横向运动,极大简化了路径生成与优化问题。
判断方法或操作流程:在实际工程中,路径规划模块通常遵循以下流程:
- 环境建模:将高精地图或感知输出转换为可供搜索算法使用的栅格地图(Grid Map)或车道级拓扑图(Lane Graph)。
- 全局路径搜索:使用A*或Dijkstra算法在拓扑图中搜索从起点到终点的最优节点序列。A*算法通过启发式函数(如欧氏距离)引导搜索方向,效率高于Dijkstra。
- 路径平滑与插值:搜索得到的折线路径往往不够平滑,需通过样条插值(如三次样条)或数值优化(如最小化曲率变化)生成平滑曲线。
- 局部路径重规划:在行驶过程中,以固定频率(如10Hz)执行局部规划。在Frenet坐标系下,采样多组横向偏移和纵向速度剖面,生成候选轨迹集合,并通过代价函数(包含碰撞风险、偏移量、加速度变化率等)选择最优轨迹。
场景:车辆在十字路口需左转,全局路径已规划出左转车道序列。局部规划面临的主要挑战是:对向直行车辆、行人横穿以及转弯半径限制。
操作:1) 在Frenet坐标系下,将参考线设为左转车道中心线;2) 采样横向偏移(0.5m间隔)和纵向速度(减速至10km/h);3) 对每条候选轨迹进行碰撞检测,剔除与对向车辆或行人边界框相交的轨迹;4) 利用代价函数(权重:碰撞风险>横向偏移>速度变化)选出最优轨迹;5) 将轨迹输出给控制模块。
结果:车辆平稳完成左转,避让了行人,且未侵入对向车道。
复盘:该场景中,全局路径仅提供车道级指引,真正的安全性由局部规划中的碰撞检测和代价函数设计保障。
4.2 轨迹生成:赋予路径时间属性
核心原理:轨迹生成是在路径的基础上,为每个路径点分配期望速度、加速度和时间戳,形成一条满足车辆运动学约束且平滑的时间-空间曲线。轨迹生成的核心在于“平滑性”与“可行性”的权衡。平滑性通常通过最小化加加速度(Jerk)或曲率变化率来实现,以保证乘坐舒适性;可行性则要求轨迹满足车辆的运动学约束(如最大转向角、最大加速度)和动力学约束(如轮胎附着力极限)。常用的轨迹生成方法包括:多项式曲线法(如五次多项式用于横向,四次多项式用于纵向)、贝塞尔曲线法以及基于数值优化的方法(如OSQP求解二次规划问题)。
判断方法或操作流程:轨迹生成的质量评估通常关注以下指标:
- 曲率连续性:曲率突变会导致方向盘抖动,需保证曲率连续且变化率有界。
- 速度/加速度剖面:速度曲线应平滑,加速度和加加速度需限制在舒适阈值内(如加速度≤2m/s²,加加速度≤1m/s³)。
- 时间最优性:在满足约束的前提下,尽可能缩短到达时间。
操作流程:1) 输入局部路径(离散点序列);2) 将路径点转换至Frenet坐标系;3) 分别对横向偏移和纵向位移进行多项式拟合;4) 根据目标速度与障碍物距离,生成纵向速度剖面;5) 合成完整轨迹并检查约束。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 五次多项式 | 边界条件约束强,计算简单 | 无法处理复杂障碍物场景 | 换道、弯道行驶 |
| 贝塞尔曲线 | 凸包性质,局部调整方便 | 阶次高时计算量大 | 低速泊车 |
| 数值优化(QP) | 可加入多种约束,全局最优 | 依赖初始值,实时性需优化 | 城市复杂路况 |
4.3 运动学与动力学约束建模
核心原理:运动学约束描述车辆几何运动关系,忽略力的作用;动力学约束则考虑轮胎力、惯性力等对车辆运动的影响。在规划控制中,最常用的运动学模型是自行车模型(Bicycle Model),它将车辆简化为前后两个轮子,假设车辆只在平面内运动,且轮胎侧偏角较小。该模型的状态量通常为车辆位置(x,y)、航向角θ和前轮转角δ,控制量为前轮转角δ和加速度a。动力学模型则更复杂,常用的是“二自由度单轨模型”,包含车辆横向速度、横摆角速度等状态量,用于分析高速工况下的稳定性。
判断方法或操作流程:选择何种模型取决于应用场景:
- 低速泊车(<10km/h):仅需运动学模型,忽略轮胎侧偏。
- 城市道路(10-60km/h):运动学模型+加速度约束即可满足大部分需求。
- 高速变道(>60km/h):必须使用动力学模型,否则轨迹可能超出轮胎附着力极限,导致车辆失稳。
在轨迹生成中,约束条件通常包括:
// 运动学约束示例
|δ| ≤ δ_max (最大前轮转角)
|v| ≤ v_max (最大速度)
|a| ≤ a_max (最大加速度)
|curvature| ≤ tan(δ_max)/L (曲率极限,L为轴距)
// 动力学约束示例
|a_y| ≤ μ·g (横向加速度极限,μ为附着系数)
|α_f|, |α_r| ≤ α_slip (轮胎侧偏角极限)
4.4 经典控制方法:PID与MPC
核心原理:控制模块的任务是跟踪规划模块生成的轨迹。PID控制器因其结构简单、无需精确模型,在纵向控制(油门/刹车)和横向控制(方向盘)中仍有广泛应用。然而,PID在高速或大曲率工况下,存在超调量大、响应滞后的问题。MPC(模型预测控制)则通过在线求解一个有限时域内的优化问题,显式处理约束(如执行器极限、状态边界),并预测未来多个时刻的系统行为,因此控制效果更平滑,且能处理多变量耦合问题。MPC的核心在于“预测模型”和“滚动优化”。
判断方法或操作流程:选择PID还是MPC,需根据以下维度评估:
| 维度 | PID | MPC |
|---|---|---|
| 模型依赖 | 无需模型 | 需要精确的车辆模型 |
| 约束处理 | 无法直接处理 | 可显式处理输入/输出约束 |
| 计算开销 | 极低(kHz级) | 较高(10-100Hz) |
| 适用场景 | 低速、简单路径跟踪 | 高速、复杂轨迹跟踪 |
MPC控制器设计流程:1) 建立车辆离散状态空间模型(如基于自行车模型的线性时变模型);2) 设定预测时域(如2秒)和控制时域;3) 构建代价函数(跟踪误差+控制量变化率);4) 设置约束(转向角极限、加速度极限);5) 在每个控制周期内,使用QP求解器(如OSQP)求解最优控制序列,仅执行第一个控制量。
背景:车辆以80km/h行驶在匝道上,需汇入主路车流。主路车辆间距较小,要求车辆在3秒内完成加速与变道。
初始现象:使用PID控制器时,由于PID无法预知前方弯道曲率变化,导致方向盘响应滞后,车辆偏离参考线中心达0.8m,且速度波动明显。
关键参数:MPC预测时域N=20(步长0.1s),控制时域Nc=5,权重矩阵Q(横向误差权重=10,航向误差权重=5),R(转向角变化率权重=0.1)。
分析过程:MPC模型预测到前方弯道曲率增大,提前输出反向转向角修正,同时协调纵向加速度,避免因速度过快导致横向加速度超限。
操作步骤:1) 将车辆模型线性化,得到状态空间矩阵A、B;2) 在嵌入式平台(如AUTOSAR环境)中部署OSQP求解器;3) 设定约束:|δ|≤0.6rad,|a|≤3m/s²;4) 运行MPC控制器,控制周期20ms。
结果对比:MPC控制下,最大横向误差降至0.15m,速度波动小于0.5m/s,且未触发任何约束边界。
风险与代价:MPC对模型精度敏感,若轮胎参数不准确,在极限工况下可能产生预测偏差。需增加鲁棒性设计(如扰动观测器)。
复盘经验:MPC的性能上限取决于预测模型的准确性,而非求解器的速度。在端到端方法中,可考虑用神经网络学习MPC的近似策略,以降低在线计算量。