MPC_ln_detail1——无约束线性MPC

分三章学习MPC的理论细节。推荐北航诸兵老师的课程。笔者在此基础上加入自己的理解。放个链接在这:模型预测控制(2022春)lecture 1-2 Unconstrained MPC_哔哩哔哩_bilibili

无约束线性MPC

  • LTI system: x ( k + 1 ) = A x ( k ) + B u ( k ) x(k+1)=Ax(k)+Bu(k) x(k+1)=Ax(k)+Bu(k)
  • 定义: x ( i ∣ k ) x(i|k) x(ik):向后预测 i步长, x ( 0 ∣ k ) = x ( k ) , u ( 0 ∣ k ) = u ( k ) x(0|k)=x(k),u(0|k)=u(k) x(0∣k)=x(k),u(0∣k)=u(k)
    所以, x ( i ∣ k ) = A x ( i − 1 ∣ k ) + A i − 1 B u ( 0 ∣ k ) + A i − 2 B u ( 1 ∣ k ) + ⋯ + B u ( i − 1 ∣ k ) x(i|k) = Ax(i-1|k)+A^{i-1}Bu(0|k)+A^{i-2}Bu(1|k)+\cdots+Bu(i-1|k) x(ik)=Ax(i1∣k)+Ai1Bu(0∣k)+Ai2Bu(1∣k)++Bu(i1∣k)
    写成矩阵形式 X ( k ) X(k) X(k) U ( k ) U(k) U(k),有: X ( k ) = F x ( k ) + Φ U ( k ) X(k)=Fx(k)+\Phi U(k) X(k)=Fx(k)+ΦU(k)
  • Cost funtion:在这里插入图片描述

可解得, U ∗ ( k ) = − ( Φ T Q Φ + R ) − 1 Φ T Q F x ( k ) U^*(k)=-(\Phi^TQ\Phi +R)^{-1}\Phi^T QFx(k) U(k)=(ΦTQΦ+R)1ΦTQFx(k)
执行第一项,
在这里插入图片描述

  • EXAMPLE:在这里插入图片描述

离线计算优化,公式确定。

  • 闭环系统中: x ( k + 1 ) = ( A − B K m p c ) x ( k ) x(k+1)=(A-BK_{mpc})x(k) x(k+1)=(ABKmpc)x(k)
    前提:系统稳定可控(根判别法,连续: ( A − B K m p c ) (A-BK_{mpc}) (ABKmpc)根实部小于0;离散: ( A − B K m p c ) (A-BK_{mpc}) (ABKmpc)根位于单位圆内)当预测无法反映系统整体趋势时,即N(contrrol horizon)过小时,会导致系统不稳定,从而无法正确预测。最优并不能保证系统稳定

由上可知,优化本身并不能保证系统稳定。若每次滚动优化后都进行一次稳定性判断,过于繁琐。故我们需要寻找一种机制避免次次计算判断。
按上述分析, N = ∞ N=\infty N=即可
事实上,可以有严格数学证明:
我们选择使用lyapunov function直接判别法证明:
在这里插入图片描述

N = ∞ N=\infty N=时,cost funtion变为:
在这里插入图片描述

k + 1 k+1 k+1时刻,至少存在一组可行解(上一次优化控制量 u u u等于下次实际控制量,即从k+1时刻起预测完全符合下一时刻):
u ( i ∣ k + 1 ) = u ∗ ( i + 1 ∣ k ) u(i|k+1)=u^*(i+1|k) u(ik+1)=u(i+1∣k)
x ( i ∣ k + 1 ) = x ∗ ( i + 1 ∣ k ) x(i|k+1)=x^*(i+1|k) x(ik+1)=x(i+1∣k)
该可行解不一定是最优解,但最优解小于等于该可行解。使用 J ∗ J^* J代表最优解, J J J代表当前可行解。由于上一次优化控制量 u u u等于下次实际控制量,即从k+1时刻起预测完全符合下一时刻,故后边轨迹均相等相减后只剩初始k时刻的cost值。
所以有:
J ∗ ( k + 1 ) − J ∗ ( k ) ≤ J ( k + 1 ) − J ∗ ( k ) = − ∣ ∣ x ( 1 ∣ k ) ∣ ∣ Q 2 − ∣ ∣ u ( 0 ∣ k ) ∣ ∣ R 2 J^*(k+1)-J^*(k)\leq J(k+1)-J^*(k)=-||x(1|k)||^2_Q-||u(0|k)||^2_R J(k+1)J(k)J(k+1)J(k)=∣∣x(1∣k)Q2∣∣u(0∣k)R2
容易看出,该结果负定。符合离散系统lyapunov function直接判别法。得证。

  • 解无穷u的无约束线性MPC:
  1. 困扰: Q 和 R Q和R QR均为无穷维矩阵,无法计算。
  2. 由discrete-time lyapunov function, J ( k ) J(k) J(k)极限为有限值。
    在这里插入图片描述

以上,我们将无限时域的问题转化成了有限时域问题。
此时 Q = d i a g [ q , q , . . . q , K ] , R = d i a g [ r , r , r , . . . r ] Q=diag[q,q,...q,K],R=diag[r,r,r,...r] Q=diag[q,q,...q,K],R=diag[r,r,r,...r]
3. 一个例子:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值