MPC中常用到的非线性模型

考虑到理论模型太复杂或难以获得解析表达式,一些非理论模型可以高精度逼近真实系统,已经应用于非线性系统的MPC,如Volterra,NARMAX模型,维纳模型,Hammerstein模型等。本文选取几种做简单介绍:

  1. Volterra模型
    Volterra模型属于非理论性模型的一种,可以较为精确的描述非线性系统的动态特性。对于单数入单输出的离散非线性系统,二阶Volterra模型的一般形式可表述如下:
    y(k)=i=1Mh1(i)u(ki)+i=1Mj=1Mh2(i,j)u(ki)u(kj) y ( k ) = ∑ i = 1 M h 1 ( i ) u ( k − i ) + ∑ i = 1 M ∑ j = 1 M h 2 ( i , j ) u ( k − i ) u ( k − j )

    其中 yk y k uk u k 分别是模型的输出和输入, h1(i) h 1 ( i ) h2(i,j) h 2 ( i , j ) 分别是系统的一阶、二阶Volterra时域核。
  2. Wiener模型
    Wiener模型描述了这样一类非线性系统:在不同工作点上,系统的静态非线性增益相差很大,而系统的动态特性很接近。它由动态线性部分和静态非线性部分组成.
    线性部分:
    A(q1)x(t)=B(q1)u(t) A ( q − 1 ) x ( t ) = B ( q − 1 ) u ( t )

    非线性部分:
    y(t)=f(x(t)) y ( t ) = f ( x ( t ) )

    式中: A(q1)=1+a1q1+a2q2+...+anaqna A ( q − 1 ) = 1 + a 1 q − 1 + a 2 q − 2 + . . . + a n a q − n a B(q1)=1+b1q1+b2q2+...+bnbqnb B ( q − 1 ) = 1 + b 1 q − 1 + b 2 q − 2 + . . . + b n b q − n b ; u(t) u ( t ) 为模型输入; x(t) x ( t ) 为中间变量; y(t) y ( t ) 为模型输出; f() f ( · ) 为非线性增益。
    wiener模型的结构如下:
    —u—> | Linear Model | —x—> | Nonlinear Model | —y—>
    置换一下非线性模型和线性模型的位置,及为Hammerstein模型的结构。
  3. 非线性自回归滑动平均(NARMAX)模型
    NARMAX模型表示输入输出之间的非线性函数关系,该函数是一个非线性差分方程,如下式所示:
    y(k)=FNt(y(k1),...,y(kny),u(k1),...,u(knu),e(k1),...,e(kne))+e(k) y ( k ) = F N t ( y ( k − 1 ) , . . . , y ( k − n y ) , u ( k − 1 ) , . . . , u ( k − n u ) , e ( k − 1 ) , . . . , e ( k − n e ) ) + e ( k )

    其中, ny n y , nu n u , ne n e 分别是时刻 k k 时,系统输出、输入与噪声想的最大延迟数,u(k), y(k) y ( k ) 分别是系统的输入与输出, FNt[] F N t [ · ] 是一个非线性函数。

(有时间随时更新)

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非线性模型预测控制(NMPC)是一种目前广泛应用于工业控制领域的方法,它可以用于处理涉及非线性动态模型的控制问题。而MATLAB是一种功能强大的数值计算软件,具有丰富的工具箱和函数,使得实现非线性模型预测控制成为可能。 在MATLAB,我们可以使用预测模型来构建非线性模型的预测控制器。首先,我们需要使用系统的动态方程构建非线性模型,并且可以使用MATLAB的符号计算工具箱来简化生成过程。然后,我们可以使用非线性预测模型来预测系统的未来行为。 接下来,我们可以使用非线性模型预测控制器来确定控制量的最优值,以实现对系统的高性能控制。传统的非线性模型预测控制方法使用非线性优化算法来解决控制器的最优化问题,但这种方法在计算复杂度和实时性方面存在一定的困难。 幸运的是,MATLAB提供了一种使用模型预测控制的函数:"mpc"函数。该函数可以自动解决最优化问题,并生成设计好的非线性模型预测控制器。除此之外,MATLAB还提供了其他强大的工具箱,如优化工具箱和控制系统工具箱,用于帮助我们在非线性模型预测控制处理不同的问题。 总结起来,MATLAB是一个非常适合实现非线性模型预测控制的工具。它提供了丰富的函数和工具箱,帮助我们构建和求解非线性模型,生成设计好的预测控制器,并且能够处理不同类型的问题。通过使用MATLAB,我们可以更轻松地进行非线性模型预测控制的设计和实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值