ADRC自抗扰


自抗扰控制入门

date:2020/9/19
该博客是本人抄录书籍—自抗扰控制入门书籍,结合个人理解所发博客


书本第三章核心算法 p30

1.问题的提出

设有二阶对象

ADRC自抗扰

w(t)为外扰作用,f(x1,x2,w(t),t)为综合了外扰与内扰的总扰动,选取状态变量x1=y,x2=y‘,将(3-1)转化成状态方程:

ADRC自抗扰

ADRC的核心在于如何实时估计f(…)(误差),并且加以消除,使得(3-1)变成如下式(3-3)的线性积分器串联标准型,从而使得控制变得更加简单

ADRC自抗扰

2.扩张观测器(ESO)

扩张状态观测器的基本思想:将总扰动扩张成系统的一一个新状态变量,然后利用系统的输人、输出重构(也就是观测)出包含系统原有状态变量与扰动的所有状态。对于式(3- 2)所示的二阶被控对象,w(t)为外扰作用,将过程进程中外扰作用的表现量:

ADRC自抗扰

当作一个新的未知的状态变量:
ADRC自抗扰

加入原系统中,即在原系统状态的基础上扩张出一个新状态,原系统变成线性系统:

ADRC自抗扰

对此系统建立非线性状态观测器:
ADRC自抗扰
其中fal为非线性函数:

ADRC自抗扰
这样,在b已知或者接近的情况下,就能使扩张观测器的状态变量zi(t)跟踪系统的状态变量xi(t),且有较大的适应范围。

3.跟踪-微分器(TD)与安排过渡过程

ADRC自抗扰

其中x1、x2为系统状态,ro、h0为函数控制参量。利用这个函数建立的离散最速反馈系统如下:
ADRC自抗扰
实现了x1快速无超调地跟上输入信号v,而x2作为v的近似微分,跟踪过程的微分信号。

4.非线性状态误差反馈控制律(NLSEF)

基于跟踪-微分器和安排过渡过程手段,可以跟踪产生过渡过程的误差信号。利用该误差信号e1和误差微分信号e2,可生成误差积分信号eo,进而实现PID控制。然而PID这种线性组合不一定最好,通常非线性组合效果更好。而且由于扰动可以得到估计和补偿,故误差积分信号可以不用。非线性ADRC推荐采用的非线性组合主要有如下两种形式:

ADRC自抗扰

0<a1<1<a2为好。
ADRC自抗扰

其中c为阻尼因子,h1为精度因子。

5.控制量的生成

由于通过ESO,原对象中扩张出的代表扰动状态变量x3(即f)被状态变量ESO的z3跟踪,通过消减x3(即z3),可将原对象简化成式(3- 3)的形式,即变成一个双重积分器串联单位增益的控制问题。当然,由于z3对x3存在跟踪误差,故得到的双重积分器模型存在一定的扰动。由式(3- 1)、式(3- 3)可得控制量:
ADRC自抗扰

这个结构中控制量实际上被分成两部分,其中-z3/b0。是补偿扰动的分量,而u0/b0。是用非线性反馈来控制积分器串联型的分量。

体会:

利用跟踪微分器(TD)产生的输入跟踪信号x1和扩张状态观测器产生的输入信号误差z1俩者的差值,TD产生的输入跟踪信号的微分x2和扩张状态观测器产生的输入信号微分z2俩者的差值,通过此式子求出u0
ADRC自抗扰

再通过(3-15)ADRC自抗扰
求出u(消除扰动后的信号)。

具体ADRC代码可以参考自抗扰控制入门的公式自己写,网上也有一些代码如果找不到也可找我要,通过simulink仿真调参可以帮助自己深层次理解每个参数的作用。