4. 代价函数的基本结构
在预测控制中,代价函数是“把控制目标翻译成数学语言”的核心部件。它决定了优化器在预测时域内如何权衡跟踪精度、控制平滑性、执行器负担以及终端稳定性。理解代价函数的基本结构,是后续整定加权矩阵、调整预测时域与控制时域的前提。一个典型的代价函数可以写成如下形式:
J = Σ_{k=0}^{Np-1} [ (y(k)-r(k))^T Q (y(k)-r(k))
+ Δu(k)^T R_Δ Δu(k)
+ u(k)^T R_u u(k) ]
+ (y(Np)-r(Np))^T P (y(Np)-r(Np))
其中,y 为被控输出,r 为设定值或参考轨迹,u 为控制量,Δu 为控制增量,Np 为预测时域,Q、R_Δ、R_u、P 为加权矩阵。下面从四个代价项和加权矩阵的物理含义展开说明。
一、跟踪误差项:控制精度的直接体现
跟踪误差项 (y − r)ᵀ Q (y − r) 是代价函数中最直观的部分,它惩罚预测输出与设定值之间的偏差。在预测时域的每一步,控制器都会计算未来输出与参考轨迹的差距,并累加这些差距。Q 矩阵通常为对角阵,对角线元素 q_i 表示第 i 个输出分量的跟踪权重。若某个输出通道对精度要求高,就增大对应的 q_i;若某通道允许较大偏差,则减小该权重。
从物理意义上看,Q 越大,控制器越“在意”跟踪误差,会优先牺牲控制动作的平滑性来换取更快的响应。反之,Q 过小会导致系统响应迟缓,甚至出现稳态偏差。在多变量系统中,Q 的非对角元素还可以用来表达输出之间的耦合惩罚,但工程上通常先取对角阵,再根据耦合程度微调。
二、控制增量项与控制量项:执行器友好性的调节旋钮
控制增量项 Δuᵀ R_Δ Δu 惩罚相邻两个控制量之间的变化量,其物理含义是“限制执行器的动作速率”。在阀门、电机、加热器等执行机构中,频繁或剧烈的动作会加速磨损、增加能耗,甚至引发机械振荡。增大 R_Δ 会让控制量变化更平缓,但也会降低系统对设定值变化的响应速度。
控制量项 uᵀ R_u u 则惩罚控制量本身的幅值,其物理含义是“限制执行器的绝对出力”。例如,在节能控制中,希望阀门开度、电机转速等尽量保持在较低水平,此时可增大 R_u。但 R_u 过大会导致控制量被过度压制,系统无法达到设定值,产生稳态误差。因此,R_Δ 和 R_u 通常配合使用:R_Δ 管“动作快慢”,R_u 管“出力大小”。
R_Δ;若系统稳态偏差过大,优先减小 R_u 或增大 Q;若执行器长期饱和,可适当增大 R_u 并检查约束设置。
三、终端代价项:稳定性的数学保障
终端代价项 (y(Np) − r)ᵀ P (y(Np) − r) 只作用于预测时域的末端时刻。它的作用不是提高跟踪精度,而是保证闭环系统的稳定性。在有限时域预测控制中,如果只优化前 Np 步而不对终端状态施加约束或惩罚,控制器可能“短视”,导致系统发散。终端代价项相当于给优化器一个“终点目标”,使其在时域末端仍关注输出偏差。
P 矩阵通常不是随意选取的,而是通过求解离散代数 Riccati 方程得到,或者取为 Lyapunov 方程的解。这样选取的 P 可以保证代价函数在终端处具有“值函数”的性质,从而满足稳定性证明的条件。工程中若不想引入终端代价,也可以改用终端等式约束或终端不等式约束,但终端代价项在实现上更简单、更易与 QP 求解器兼容。
四、加权矩阵的物理含义与整定流程
四个加权矩阵 Q、R_Δ、R_u、P 共同决定了控制器的“性格”。下表总结了它们的物理含义、整定方向及典型影响:
| 加权矩阵 | 作用对象 | 物理含义 | 增大后的典型影响 | 减小后的典型影响 |
|---|---|---|---|---|
Q |
跟踪误差 | 输出精度权重 | 响应加快,可能超调 | 响应变慢,稳态偏差增大 |
R_Δ |
控制增量 | 动作平滑权重 | 控制平缓,响应迟缓 | 动作激进,易振荡 |
R_u |
控制量幅值 | 能耗/出力权重 | 节能,稳态偏差增大 | 控制强,能耗高 |
P |
终端输出偏差 | 终端稳定性权重 | 稳定性增强,保守 | 可能失稳,需谨慎 |
整定流程建议按以下顺序进行:
- 先设 Q 和 R_Δ:将 Q 取为单位阵或按输出重要性分配,R_Δ 取较小值,观察闭环响应。
- 再调 R_u:若控制量长期偏大或能耗敏感,逐步增大 R_u,直到控制量幅值可接受。
- 最后设 P:若系统在长时域下仍不稳定,引入终端代价,P 由 Riccati 方程求得或取为 Q 的放大版本。
- 迭代微调:每次只调整一个矩阵,观察时域响应、控制量曲线和约束满足情况,避免多参数同时变化导致归因困难。
五、案例:温度控制中的代价函数整定
考虑一个电加热炉温度控制场景,输出为炉温 T,控制量为加热功率 P_heat,控制增量为 ΔP_heat。初始整定:Q = 1,R_Δ = 0.01,R_u = 0,P = 0。仿真发现温度响应快但加热功率频繁大幅波动。此时将 R_Δ 增大到 0.1,功率曲线明显平滑,但温度上升时间变长。为进一步降低稳态功率,将 R_u 设为 0.001,稳态功率下降约 8%,温度偏差仍在允许范围内。最后引入终端代价 P = 5,系统在设定值突变时未出现发散,稳定性得到保障。
该案例说明,代价函数的整定不是“一次到位”,而是围绕跟踪精度、控制平滑性、能耗和稳定性四个目标反复权衡的过程。理解每一项和每个矩阵的物理含义,才能在面对不同工况时快速定位问题并给出合理的参数调整方向。