4. 非线性模型预测控制

车辆动力学在高速、低附着或大转向工况下会表现出明显的非线性:轮胎侧偏力饱和、纵横向耦合、载荷转移以及执行器约束,都使线性MPC的预测模型难以覆盖全工况。非线性模型预测控制(NMPC)把预测模型直接写成非线性状态方程,在滚动时域内求解带约束的非线性优化问题,从而在更宽的工作区间内保持控制精度与约束满足能力。

一、非线性系统描述

NMPC的起点是连续时间非线性状态空间模型:

ẋ(t) = f(x(t), u(t), p)
y(t)  = h(x(t), u(t))

x ∈ R^n:状态量,如 vx、vy、r、β、e_y、e_ψ
u ∈ R^m:控制量,如 δf、驱动/制动扭矩、各轮滑移率
p      :时变参数,如 μ、坡度、载荷、轮胎刚度

以车辆横向动力学为例,常用三自由度单轨模型描述:状态取纵向速度、侧向速度与横摆角速度,控制取前轮转角。轮胎侧偏力采用Pacejka或简化魔术公式,侧偏角与侧偏力之间呈饱和非线性;当侧偏角超过峰值点后,侧偏力反而下降,这正是线性模型无法表达的失稳机理。NMPC的价值在于:它可以在预测时域内“看到”轮胎进入非线性区后的力衰减,从而提前收油或减小转向,而不是等到车辆已经失稳再补救。

工程上不必追求最复杂的轮胎模型。NMPC的实时性对模型复杂度极其敏感,通常选择“能捕捉饱和特性、但计算量可控”的简化非线性轮胎模型,比高保真但不可实时求解的模型更有价值。

二、NMPC数学形式

NMPC在每个采样时刻求解如下有限时域最优控制问题:

min  J = Σ_{k=0}^{N-1} [ (x_k - x_ref)^T Q (x_k - x_ref)
                        + u_k^T R u_k + Δu_k^T S Δu_k ]
     + (x_N - x_ref)^T P (x_N - x_ref)

s.t. x_{k+1} = f_d(x_k, u_k)          // 离散非线性动力学
     x_0 = x(t)                        // 当前实测状态
     g(x_k, u_k) ≤ 0                   // 状态/控制约束
     u_min ≤ u_k ≤ u_max               // 执行器幅值约束
     Δu_min ≤ Δu_k ≤ Δu_max            // 执行器速率约束
     x ∈ X_safe                        // 稳定性/安全包络

与线性MPC的关键差别在于:等式约束 x_{k+1}=f_d(x_k,u_k) 是非线性的,因此优化问题不再是一个二次规划(QP),而是一个非线性规划(NLP)。目标函数仍可保持二次型,但可行域由非线性等式与不等式共同定义,可能出现非凸、多局部极小值的情况。求解器通常采用序列二次规划(SQP)或内点法(IPM),在每次迭代中对非线性动力学线性化,构造并求解一个QP子问题。

三、离散化方法

数字控制器只能处理离散模型,因此必须把连续方程 ẋ=f(x,u) 离散为 x_{k+1}=f_d(x_k,u_k)。常用方法对比如下:

方法公式要点精度计算代价适用场景
前向欧拉x_{k+1}=x_k+T_s·f(x_k,u_k)一阶极低步长小、快速原型
后向欧拉需隐式求解 x_{k+1}一阶中刚性系统、稳定性优先
四阶龙格库塔四次斜率加权四阶高高精度仿真验证
多步/配点法在时域内配置节点高阶很高离线轨迹优化

车辆控制中,采样周期通常为10~50 ms。若用前向欧拉,步长过大时会出现数值不稳定,例如横摆动力学在低附着下时间常数很小,T_s=20 ms可能已接近稳定边界。工程折中是:用RK4做模型验证,用欧拉或半隐式欧拉做实时NMPC的离散化,并通过缩短预测步长或增加步数来补偿精度。

NMPC 滚动时域求解与实时性瓶颈 连续非线性模型 ẋ = f(x, u, p) 轮胎饱和 / 耦合 状态: vx, vy, r, β 离散化 离散 NLP x_{k+1}=f_d(x_k,u_k) min J, s.t. g≤0 SQP / 内点法迭代 求解 最优控制序列 u*₀, u*₁, …, u*_{N-1} 仅施加 u*₀ 下一时刻重新求解 状态反馈:x(t) 重新测量,滚动优化 实时性挑战:必须在 T_s 内完成一次完整 NLP 求解 非线性迭代 SQP 多次线性化 预测时域长度 N 越大,变量越多 非凸局部极小 初值敏感、可能失败 嵌入式算力 ECU 主频与内存受限

四、实时性挑战与工程对策

NMPC最大的工程障碍是计算时间必须小于采样周期。一个预测时域N=20、控制步长T_s=20 ms的问题,若状态维数6、控制维数2,则决策变量约40个,加上非线性等式约束,SQP每次迭代都要构造并求解QP,单次求解常在几十毫秒到数百毫秒量级,远超20 ms的实时预算。常见对策包括:

  • 缩短预测时域:N取10~15,配合终端惩罚P近似无穷时域,牺牲部分前瞻性换取实时性。
  • 热启动:用上一时刻的解作为当前初值,可显著减少SQP迭代次数。
  • 实时迭代(RTI):每个采样周期只做一次SQP迭代,把“精确求解”降级为“持续改进”,在快速系统中非常有效。
  • 显式NMPC:离线计算近似控制律,在线只做查表与插值,但维数灾难限制其在高维车辆模型中的应用。
  • 模型降阶:把轮胎非线性用分段线性或查表近似,把连续时间模型用固定步长欧拉离散,降低每次迭代的计算量。
常见误区:把NMPC当成“更准的LMPC”,直接沿用线性MPC的时域长度和求解频率。非线性求解时间通常比QP高一个数量级以上,若不重新设计时域、步长与求解器容差,控制器会在实车上出现周期抖动甚至求解超时。务必在目标ECU上做最坏情况执行时间(WCET)测试,而不是只在开发电脑上测平均耗时。

五、案例:低附着双移线中的NMPC表现

设路面附着系数μ=0.35,车辆以80 km/h执行双移线。线性MPC在轮胎侧偏角接近饱和时仍按线性增益分配前轮转角,导致后轴侧滑、横摆角速度超调;NMPC在预测模型中包含侧偏力饱和段,优化器在进入非线性区前就减小前轮转角增量,并利用纵向减速辅助转向。仿真中,NMPC的横向跟踪误差峰值比LMPC降低约35%,且横摆角速度始终未超过稳定边界。代价是单次求解时间从LMPC的3 ms上升到18 ms,需将采样周期从20 ms放宽到40 ms,或采用RTI策略压缩到15 ms以内。

复盘要点:NMPC的收益来自“预测模型更真实”,而不是“优化算法更高级”。如果轮胎模型、载荷转移或执行器延迟建模不准,NMPC同样会失效;如果实时性不达标,再精确的模型也无法上车。因此工程落地顺序应是:先确认非线性建模的必要性,再选择离散化与求解策略,最后用WCET和实车标定闭环验证。