Processing math: 100%

模型参考自适应控制

摘要

在实际物理世界中,任何一个系统都是非线性的,都不是理想的物理模型。因此针对非理想的模型,我们希望能够设计出一种控制器,使其能够有效处理系统非线性及不确定量,从而在一定程度上使其响应接近于理想模型。模型参考自适应控制(Model reference adaptive control, MRAC)就是基于这个目标提出的,本文将针对模型参考自适应控制(MRAC)过程进行总结。

基本控制策略

目前常见的控制策略主要有两种

  • Robust Control:参数是固定的,系统对参数变化不敏感,如果在最坏的情况下,系统仍然能够具有良好的响应,那么系统就是robust的。
  • Adaptive Control:参数可以在线调整,系统能够随着外部扰动,及时改变参数,从而达到良好的控制效果。

模型参考自适应控制原理

控制器组成

模型参考自适应控制器由两部分组成

  • 参考模型 (理想被控对象,可以通过指定控制性能确定)
  • 控制器(参数可变)
  • 参数调整机构 (使用一种时变非线性算法,调整控制器参数)

控制目标

将参考模型的输出与被控对象输出的误差调整至最小,这样可以认为我们的被控对象与参考模型表现形式一致。

控制器设计过程

被控对象数学模型建立

被控对象的动力学方程

˙xp=Apxp+Bpλu+Bpδp(xp), xp(0)=xp0

ApBp是已知参数,xp可测的(状态反馈),u是控制变量,λ是未知参数,可以表示为:

λ=[λ1>0...λm>0]Rm×m

如果λ对角线元素有0,那么就是不可控情况,因为这个分量会使对应的控制量清零。

δp(xp)是非线性系统不确定量,几个关键变量所属线性空间为:

xpRnpuRmδp:RnpRm

考虑Bpλu+Bpδp(xp),我们可以将其写为

Bpλ[u+λ1δp(xp)]

从上式可以看出,u可以影响δp(xp)的每一部分,这个叫做匹配系统。如果不能,那就是非匹配系统。

δp(xp)可以进一步写为

δp(xp)=WTpσp(xp)

其中WTp是未知部分,σp(xp)是已知部分

WpRs×mσp:RnpRs

σp(xp)可以进一步写为:

σp(xp)=[σp1(x1),...,σps(xp)]

我们假设$\sigma{p1}\sigma{ps}$是Locally Lipschitz函数。

实例

考虑一个带有阻尼和弹簧的小车,对小车施加一个向前的控制力u,则

m¨p=uαpβ˙p

假设我们并不知道αβ的值,令

xp=[xp1xp2]

其中

xp1=pxp2=˙p

˙xp1=xp2˙xp2=umαmxp1βmxp2

可得到下式

˙xp=[0100]xp+[01](1/m)u+[01][α/mβ/m]T[xp1xp2]

其中

Ap=[0100]Bp=[01]λ=1/mWTp=[α/mβ/m]Tσp=[xp1xp2]

在某些情况下,我们甚至不知道σp,我们可以使用拟合方式进行建模。

控制模型建立

现在我们已知被控对象和控制量分别为:

˙xp=Apxp+Bpλu+BpWTpσp(xp), xp(0)=xp0u=un+ua

unua分别为常规控制量和自适应控制量,我们先考虑最简单的情况:λ是一个单位矩阵,而BpWTpσp(xp)为0(考虑状态空间表达式˙x=Ax+Bu,我们不希望后面跟了一堆累赘),此时

˙xp=Apxp+Bpuu=un=K1xp+K2c

控制量由状态反馈和前馈部分组成

K1Rm×npK2Rm×nccRnc

Appendix

Locally Lipschitz

参考文献

0%