3. 模型预测控制入门

在车辆动力学控制中,我们经常面对一个核心矛盾:执行器此刻给出的控制量,其效果要在未来若干毫秒甚至数百毫秒后才显现,而车辆状态又持续受到路面、载荷、侧风等扰动影响。传统PID或前馈-反馈控制往往只根据当前误差决定当前动作,缺少对“未来一段时间会发生什么”的显式推理。模型预测控制(Model Predictive Control,MPC)正是为解决这类带约束、多变量、有预判需求的问题而发展起来的控制方法。本节从基本原理出发,建立MPC的四个核心概念:预测模型、滚动优化、反馈校正,以及开环与闭环的对比。

一、MPC基本原理:用模型“向前看”

MPC的基本思想可以概括为三句话:基于模型预测未来、在线求解最优控制序列、只执行第一步并滚动重复。在每个采样时刻,控制器利用当前测量状态和系统模型,预测未来一个有限时域内的状态演化;然后在这个预测时域内求解一个带约束的优化问题,得到一串控制输入;但控制器并不把整串输入全部执行,而是只施加第一个控制量,等到下一个采样时刻重新测量、重新预测、重新优化。

这种“预测—优化—执行一步—再预测”的循环,使MPC天然具备处理约束的能力。车辆动力学中常见的约束包括:前轮转角限幅、轮胎侧偏力饱和、电机扭矩上限、电池功率限制、执行器速率限制等。MPC可以在优化问题中显式写出这些不等式约束,而不是等到饱和后再被动限幅。

MPC的四个关键要素:

  • 预测模型:描述状态如何随控制输入演化,如车辆单轨模型、运动学模型或线性化误差模型。
  • 预测时域:向前预测的步数N,决定“看多远”。
  • 控制时域:允许优化的控制步数M,通常M≤N。
  • 目标函数与约束:跟踪误差、控制量平滑、执行器物理限制。

二、预测模型:MPC的“内芯”

预测模型是MPC区别于其他控制器的根本。以车辆横向控制为例,常用线性时变模型:

x(k+1) = A(k)x(k) + B(k)u(k) + d(k)
y(k)   = C x(k)

其中:
x = [e_y, e_psi, v_y, r]^T   # 横向误差、航向误差、侧向速度、横摆角速度
u = [delta_f]                # 前轮转角
d = 道路曲率、侧风等可测扰动

模型精度直接决定预测质量。如果模型过于简化,预测轨迹会偏离真实车辆;如果模型过于复杂,在线求解负担会急剧上升。工程上常采用“精度够用、计算可控”的折中:在低速泊车场景用运动学模型,在中高速循迹场景用动力学模型,并在线性化点附近做实时更新。

预测模型还决定了MPC能否处理未来已知信息。例如,在弯道前视中,道路曲率序列可以作为未来扰动提前写入预测方程,使车辆提前减速或提前转向,而不是等到误差出现后再纠正。

三、滚动优化与反馈校正

滚动优化是MPC的在线计算核心。每个采样周期,控制器求解如下形式的优化问题:

min  Σ_{i=0}^{N-1} [ (y(k+i)-y_ref)^T Q (y(k+i)-y_ref)
                    + u(k+i)^T R u(k+i)
                    + Δu(k+i)^T S Δu(k+i) ]
s.t. x(k+i+1) = A x(k+i) + B u(k+i)
     u_min ≤ u(k+i) ≤ u_max
     Δu_min ≤ Δu(k+i) ≤ Δu_max
     x(k+i) ∈ X_safe

其中Q、R、S分别为跟踪误差、控制量、控制增量的权重矩阵。求解得到最优控制序列后,只取第一个元素施加到车辆上。下一个时刻,用新的测量状态重新构造优化问题。这就是“滚动”的含义:优化窗口随时间向前滑动。

反馈校正体现在两个层面。第一,每个时刻都用实际测量状态作为预测起点,而不是沿用上一时刻的预测值,这天然形成了状态反馈。第二,如果模型存在稳态误差,可以通过扰动估计器或误差积分项进行补偿。因此,MPC不是纯粹的开环最优控制,而是“带预测的开环优化 + 滚动反馈”的闭环结构。

MPC 滚动优化与反馈校正闭环结构 参考轨迹 y_ref, 道路曲率 滚动优化器 min J, s.t. 约束 预测模型 x(k+1)=Ax+Bu 只执行第一步 u(k) → 车辆 车辆动力学 真实状态 x(k+1) 状态测量 e_y, e_psi, r 目标 预测 模型 最优序列 控制量 测量 反馈 状态更新 每个采样周期重复:测量 → 预测 → 优化 → 执行第一步 → 再测量

四、开环与闭环对比:为什么MPC必须滚动

如果把MPC的优化结果一次性全部执行,就退化为开环最优控制。开环方案在模型精确、无扰动时理论上最优,但车辆实际运行中,轮胎非线性、路面附着变化、传感器噪声、执行器延迟都会使预测偏离真实。一旦偏离,开环序列不会自动修正,误差会持续累积。

闭环滚动则通过每个时刻重新测量状态,把实际车辆拉回预测起点,使控制器具备抗扰和纠偏能力。下表对比两种方式在车辆控制中的典型差异:

对比维度 开环最优控制 闭环滚动MPC
执行方式 一次性执行整段控制序列 每周期只执行第一步
扰动抑制 无自动修正,误差累积 每步重新测量,自动纠偏
模型误差敏感度 高,模型不准则性能急剧下降 较低,反馈可补偿部分误差
约束处理 可离线处理,但无法应对突发约束 在线处理,可动态调整约束
计算负担 一次求解,负担低 每周期求解,负担高
适用场景 模型精确、环境稳定的离线规划 车辆动力学控制、自动驾驶循迹

五、工程案例:弯道循迹中的MPC

设车辆以72 km/h通过半径150 m的弯道,参考横向误差目标为0。控制器参数为:预测时域N=20,控制时域M=5,采样周期Ts=0.05 s,即预测未来1秒。前轮转角约束为±0.5 rad,转角增量约束为±0.05 rad/步。

在进入弯道前,道路曲率序列被写入预测模型,MPC提前计算出一段平缓的转角序列。由于只执行第一步,当车辆实际响应比模型慢时,下一步的测量误差会促使优化器加大转角,形成闭环修正。若采用开环执行,车辆可能在弯道中段出现明显横向偏差,甚至触发约束边界。

调试经验:预测时域N过小,控制器“看不够远”,容易在弯道入口反应滞后;N过大,计算量增加且远期预测不可靠。工程上常从N=15~30、Ts=0.02~0.1 s开始整定,再根据执行器带宽和计算平台能力调整。

六、常见误区与复盘

  • 误区一:把MPC当成无约束最优控制。MPC的价值很大程度来自约束处理。如果忽略执行器饱和、轮胎附着极限,优化结果可能物理不可达。
  • 误区二:认为预测模型越复杂越好。模型复杂度与实时性直接冲突。车辆控制中,线性时变模型配合扰动估计往往比非线性模型更实用。
  • 误区三:忽略反馈校正,只做一次优化。不滚动的MPC等价于开环,抗扰能力差。滚动优化和反馈校正是MPC闭环性能的来源。
  • 误区四:权重矩阵随意设置。Q过大导致控制量剧烈抖动,R过大导致跟踪迟缓,S用于平滑控制增量。需结合执行器带宽和乘坐舒适性折中。

复盘要点:MPC不是“预测未来就万事大吉”,而是“预测 + 优化 + 反馈”三位一体。预测模型决定上限,滚动优化决定性能,反馈校正决定鲁棒性。三者缺一,MPC在车辆动力学控制中的优势都会大打折扣。