过程:K = 2、T = 5 s、dt = 0.1 s(固定)。模拟时间15 s。对比对象:同系统上的PID控制(Kp=2, Ki=0.4)应答。
上部=输出 y(蓝)·目标 r(红虚线)·PID应答(灰)·当前时刻起的预测轨道(蓝点线)与预测窗口(阴影)/下部=输入 u(绿)·Nc 个计划输入(黄点)·输入约束 ±umax(橙)。仅施加第一个输入,窗口随之前进。
一阶过程$G_p(s) = K/(T s + 1)$采用前向欧拉法离散化,表示为$x_{k+1} = a\,x_k + b\,u_k$(其中$a = e^{-dt/T}$、$b = K(1-a)$)。
Np步的预测:
$$y_{k+i} = a^{i}\,x_k + \sum_{j=0}^{i-1} a^{i-1-j}\,b\,u_{k+j}$$代价函数(输出误差加输入变化惩罚以保证积分作用):
$$J = \sum_{i=1}^{N_p} (y_{k+i} - r)^2 + \lambda \sum_{j=0}^{N_c - 1} (\Delta u_{k+j})^2$$无约束QP的解析解($\partial J / \partial U = 0$):
$$U = \bigl(H^\top H + \lambda\, L^\top L\bigr)^{-1} \bigl(H^\top (R - F\,x_k) + \lambda\,u_{k-1}\,\mathbf{e}_1\bigr)$$H(Np × Nc)和F(Np × 1)从过程系数a、b构成,L为前向差分算子。采用滚动视域方式仅印加u_k = U[0],下步进行重新最优化。