非线性模型预测控制(NMPC)

MPC实际上是一种最优控制方法。线性MPC是把目标函数表达成输入序列 的二次型表达式,把约束表示成输入序列 的线性等式和不等式约束,这样利用二次规划求解出来输入序列,然后施加到被控系统,得到反馈结果以后,再不断重复这个过程。

线性MPC的特点就是:模型预测,滚动优化,反馈校正。
它擅长处理多输入和约束。
如果需要控制非线性的被控系统,那么需要先将非线性系统进行线性化。

非线性MPC是一种针对非线性系统并且不需要线性化的模型预测控制。

非线性MPC通常把状态量,输入量合并到一起作为优化问题的决策变量,然后把动力学模型(状态方程)作为非线性约束,再结合实际问题定义目标函数,最后用非线性规划求解器进行求解。求解结果施加到被控系统,得到反馈结果以后,再不断重复这个过程。
 

非线性预测模型:

\left\{\begin{matrix} x_{k+1}=f(x_k,u_k)\\ y_k=g(x_k,u_k) \end{matrix}\right.

非线性约束:

h(x_k,u_k)\le0

非线性目标函数:

\mathrm{min}\: l_N(x_N)+\sum_{k=0}^{N-1}{l(x_k,u_k)}

非线性优化问题:

\begin{matrix} \min_{z} \quad & F(z,x(t)) \\ \text{s.t.} \quad & G(z,x(t)) \leq 0 \\ & H(z,x(t)) = 0 \end{matrix} \: \; \; \; \; \; \; \; \; \; z = \begin{bmatrix} u_0 \\ \vdots \\ u_{N - 1} \\ x_1 \\ \vdots \\ x_N \end{bmatrix}

非线性主要体现在:

1)预测模型是非线性的

2)约束条件是非线性的

3)目标函数是非线性的

这样带约束的非线性问题,一般用非线性规划(NLP)来求解。

常见的NLP求解器有: fmincon(matlab), ipopt(c++)。

和线性模型预测控制一样,非线性模型预测控制也是一种最优控制方法,它每一次求解能够得出预测时域内最佳的决策序列,因此它也常被用来做轨迹优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值