模型预测控制(MPC)的公式推导与理解

本文探讨了线性无约束系统的模型预测控制(MPC)算法设计,通过"三步走"策略:建立离散状态空间模型,构建预测方程和优化问题,解析控制输入。介绍了状态空间模型、预测方程的增量形式,以及优化目标函数,旨在理解和应用MPC控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在本文中,主要是针对线性无约束系统,设计模型预测控制算法。首先给出一个离散的数学模型,再根据模型预测控制“三步走”战略,实现控制器的设计。

“三步走”战略:

  1. 预测系统未来动态
  2. 求解优化问题
  3. 解第一个元素作用于系统

模型:

我们引入离散时间的状态空间模型,如下

\left\{ {\begin{array}{*{20}{c}} x(k+1)=Ax(k)+B_uu(k)+B_dd(k)\\ y(k)=Cx(k) \end{array}} \right.

其中x(k)\in\mathbb{R}^{n_x}为系统内部状态变量;A\in\mathbb{R}^{n_x\times n_x}为系统矩阵;B_u\in\mathbb{R}^{n_x\times n_u}为控制输入矩阵;u(k)\in \mathbb{R}^{n_u}为控制输入变量;B_d\in\mathbb{R}^{n_x\times n_d}为外部干扰输入矩阵;d(k)\in\mathbb{R}^{n_d}为可测外部干扰变量。

预测方程:

将模型改成增量模型

x(k+1)=Ax(k)+B_uu(k)+B_dd(k)

x(k)=Ax(k-1)+B_uu(k-1)+B_dd(k-1)

相减之后为

\Delta x(k+1)=A\Delta x(k)+B_u\Delta u(k)+B_d \Delta d(k)

其中\Delta x(k+1)=x(k+1)-x(k)\Delta u(k+1)=u(k+1)-u(k)\Delta d(k)=d(k)-d(k-1)

另外

y(k)=Cx(k)

x(k)=x(k-1)+\Delta x(k)

合并之后为

y(k)=C\Delta x(k)+y_c(k-1)

以最新测量值为初始条件,预测时域为p,控制时域为m,并且有以下两个假设:

  1. \Delta u(k+i)=0,i=m,m+1,...,p-1
  2. \Delta d(k+i)=0,i=1,2,...,p-1

\Delta x(k+1|k)=A\Delta x(k)+B_u\Delta u(k)+B_d \Delta d(k)

其中\Delta x(k+1|k)表示第k个时刻对第k+1个时刻的状态预测。

\begin{align*} \Delta x(k+2|k)&=A\Delta x(k+1|k)+B_u\Delta u(k+1)+B_d \Delta d(k+1)\\ &=A^2\Delta x(k)+AB_u\Delta u(k)+B_u\Delta u(k)+AB_d\Delta d(k) \end{align*}

\vdots

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值