ADRC自抗扰控制器
为了解决快速性和超调的矛盾,在控制器设计过程中引入了过渡过程,通俗的讲就是输入信号从初始值到目标值并不是阶跃的,而是平滑过渡的,并且这个过渡过程的时间长短是可以调节的。将过渡过程和微分器在一个模块中实现,称为跟踪-微分器(TD),单独的过渡过程和速度规划并没有本质区别。但是TD和速度规划不是一回事,TD将输入过渡和微分器统一为一个模块,它一边尽可能快地跟踪输入信号,同时给出输入信号近似的微分。
自抗扰控制对扰动和不确定性的处理是自抗扰控制最突出的特征,它把作用于被控对象的所有不确定因素都归结为“未知扰动”,而用被控对象的输入输出数据对它进行估计,并给予补偿。“自抗扰”的名称也来源于此,即主动抵抗干扰,不需要直接测量外扰的作用,也不需要实现知道扰动的规律(能知道更好)。构建观测器,利用被控对象的输入、输出和所施加的控制输入来估计作用于系统的总扰动(包括内扰和外扰,可以粗浅地理解为所有的影响因素),实现这一功能的模块被称为扩展状态观测器(Extended State Observer,ESO)。这个名字也与观测器的形式十分匹配,因为在设计ESO时,首先构造一个扩张的系统,此系统的阶数比被控对象的阶数高一阶,ESO就是估计扩张系统的状态。观测出系统的总扰动,在设计控制器时首先抵消掉这个扰动,将得到一个标准的串联积分型系统,基于此标准型系统设计控制器时,控制器的形式与PID的形式类型,一般利用误差和误差的微分来构造控制器,这里的误差及其微分是由TD的输出和ESO的输出构造的。韩老师在其专著中给出了常用的几种非线性状态误差反馈控制律(Nonlinear State Error Feedback,NLSEF)。
以下的所有形式都是连续型的形式,对于使用离散化的控制,就需要将其离散化
也比较简单:根据导数来计算
也比较简单:根据导数来计算 $x_{k+1}= T * \frac{dx_k}{dt} + x_k$
主要模块
- 跟踪-微分器 TD
- 扩张状态观测器 ESO
- 状态误差反馈规律 SEF
LADRC 线性ADRC
被控对象可以有时延,可以有右半平面的零点或极点,但不能在右半平面同时有零点和极点。同时有右半平面的零点和极点,意味着有根轨迹从右半平面出发有回到右半平面,可能一直在右半平面,这样控制器设计是十分困难的。
被控对象的型次要求:对象不含微分器,且型次要求允许控制器含一个积分器。LADRC本身含一个积分器,如果被控对象含微分器,会出现原点的零极点对消。允许控制器含一个积分器是因为LADRC中是一定含有一个积分器的。
一阶LADRC
LTD
是由一阶低通滤波器 $\frac{r}{s + r}$ 推导出来的,只需要更改 $r$ 值, $r$ 值越大到达设定值 $v$ 的时间就越短
令
从上式的低通滤波的传递函数可以推导出系统的状态方程
输出,这里的 u 表示输入的期望值,LTD 是对期望值进行处理的
LESO
从上述LTD中可知,这一步实际上是把扰动合并,将输入输出噪声与模型上的误差合并,从而得到下列式子。其中 $f$ 是总扰动
在一阶的 ADRC 中,LESO 是二阶的,具体形式为
令
并且
得
其中
带入
其中 $\beta$ 存在于特征方程中,如下
将极点都配置到左半轴同一位置,可以将调节参数缩减为
其中 $w_o$ 表示扩张观测器的带宽,而 $\beta$ 对应着相应的系数
输入为 $u, y$
输出为
LSEF
令
其中 $a_1$ 存在于 SEF 特征方程中
将特征值统一配置在左半实轴同一位置,得到
其中 $w_c$ 是 LSEF 的带宽
二阶LADRC
LTD
二阶LTD是由二阶低通滤波器传递函数 $\frac{r^2}{s^2+2rs+r^2}$ 得来的,只需要更改 $r$ 值, $r$ 值越大到达设定值 $v$ 的时间就越短
令
从上式的低通滤波的传递函数可以推导出系统的状态方程
输出,这里的 u 表示输入的期望值,LTD 是对期望值进行处理的
LESO
从上述LTD中可知,这一步实际上是把扰动合并,将输入输出噪声与模型上的误差合并,从而得到下列式子。其中 $f$ 是总扰动
在一阶的 ADRC 中,LESO 是二阶的,具体形式为
令
并且
得
其中
带入得
其中 $\beta$ 存在于特征方程中,如下
将极点都配置到左半轴同一位置,可以将调节参数缩减为
其中 $w_o$ 表示扩张观测器的带宽,而 $\beta$ 对应着相应的系数
输入为 $u, y$
输出为
LSEF
令
其中 $a_1$ 存在于 SEF 特征方程中
将特征值统一配置在左半实轴同一位置,得到
其中 $w_c$ 是 LSEF 的带宽
三阶LADRC
LTD
三阶 LTD 是由三阶低通滤波传递函数 $\frac{r^3}{s^3+3rs^2+3r^2s+r^3}$得来的
令
得
输出,这里的 u 表示输入的期望值,LTD 是对期望值进行处理的
LESO
由上式可以得出
此时引入 $z$ 跟踪量
可得
其中
带入得
其中 $\beta$ 存在于特征方程中,如下
将极点都配置到左半轴同一位置,可以将调节参数缩减为
其中 $w_o$ 表示扩张观测器的带宽,而 $\beta$ 对应着相应的系数
输入为 $u, y$
输出为
LSEF
令
其中 $a_1$ 存在于 SEF 特征方程中
将特征值统一配置在左半实轴同一位置,得到
其中 $w_c$ 是 LSEF 的带宽
四阶LADRC
LTD
四阶 LTD 是由三阶低通滤波传递函数 $\frac{r^4}{s^4+4rs^3+6r^2s^2+4r^3s+r^4}$得来的
令
得
输出,这里的 u 表示输入的期望值,LTD 是对期望值进行处理的
LESO
由上式可以得出
此时引入 $z$ 跟踪量,相当于是一个预测量
可得
其中
带入得
其中 $\beta$ 存在于特征方程中,如下
将极点都配置到左半轴同一位置,可以将调节参数缩减为
其中 $w_o$ 表示扩张观测器的带宽,而 $\beta$ 对应着相应的系数
输入为 $u, y$
输出为
LSEF
令
其中 $a_1$ 存在于 SEF 特征方程中
将特征值统一配置在左半实轴同一位置,得到
其中 $w_c$ 是 LSEF 的带宽
其中参数的调整和选择
- 首先是 LTD 中的低通滤波器带宽,r 越大相应的也就会越快趋于目标值
- $b_0$:假设 $K_G=\frac{b_0}{b}$,当 $K_G$ 偏离 1 越远,系统相角裕度越小。当 $K_G=4$ 时,系统不稳定,因此为了改善控制性能, $b_0$ 的选择应当尽可能接近真实参数 $b$
- $w_o$ 表示扩张观测器的带宽,一般选择 $w_o=3\sim5 w_c$(这适用于状态反馈控制系统,其中 $w_0$ 是根据暂态响应要求,特别是稳定时间规范确定的。控制器设计可以使用平滑的瞬态轮廓,而不是阶跃命令,作为期望的轨迹,允许输出更紧密地跟随)。带宽 $w_o$ 增大有益于 LADRC 的稳定性和鲁棒性,但是 $w_o$ 过大导致控制器的输出过大,不利于工程应用,实际调参需要折中一下。带宽 $w_o$ 虽然不会影响超调量的大小,但是会影响 LESO 的跟踪速度, $w_o$ 越大,系统响应越快,但是在实际的系统中, $w_o$ 的提高受观测噪声的限制,增大 $w_o$ 同时高频带增益也随之增加,噪声放大作用明显。
- $w_c$ 表示状态误差反馈控制律的带宽
Note
- 约定当且仅当系统的状态 $x_i$ 和LESO跟踪误差 $~x$ 都稳定时,称LADRC系统稳定
- 增大带宽会导致系统噪声过大,因此可在 LESO 前端设置滤波器来抑制其影响
- LESO 的微分方程的求解,一般依赖初始值(RungeKutta),初值对系统输出的超调量有一定影响
- $w_o$ 和 $w_c$ 的单位都是 rad/s.
- 实际调试参数时,首先确定系统阶数,其次确定 $w_c$ 和 $w_o$ 不变,再按照数量级以此调试 $b_0$,直到系统输出满足期望状态
NADRC 非线性ADRC
一阶NADRC
LTD
形式为:
离散化处理之后为
其中
其中, $fal$函数中的 $\alpha$ 反映了增益的变化率,当 $\alpha>1$,误差又比较大时,该函数增益可能过大,从而导致系统不稳定,通常 $0<\alpha<1$, $\alpha$ 越大,到达设定值的时间就越短。 $\delta$ 是为了避免函数在原点震荡引入的一个很小的正数,可决定函数增益线性变化的区间大小, $\delta$ 越大,则整个函数在作用区间大部分区间内都是线性的,如果 $\delta$ 越小就会使非线性函数更类似于一个开关函数,在原点附近有高频震荡现象
LESO
形式为:
其中
离散化处理之后
输出为
LSEF
形式为:
输出 $u$
离散化处理:这里应当是依据于最新状态来计算的
二阶NADRC
LTD
为了避免在原点附近的颤振,将符号函数 $sign$ 改为线性饱和函数 $sat$ 就得到有效的二阶跟踪一微分器:
其中
对应的离散化函数为
其中 $r$ 决定跟踪速度,称为速度因子, $h_1$ 对噪声有滤波作用,称为滤波因子
其中 $r$ 是决定跟踪快慢的参数, $h_1$ 是决定噪声滤波效应的参数
当 $h_1>h$ 时,对于含有噪声的信号,TD滤波器有较好的滤波功能,在确定滤波器参数时,r和ℎ1需要协调调制。r 越大,跟踪信号越快,噪声放大也越厉害,ℎ1越大,滤波效果越好,跟踪信号的相位也损失越大。离散TD能快速、无超调、无颤振的跟踪信号。实际上上面这种 TD 的形式会导致在到达稳态之后输入产生高频震荡,只能说十分的恶心
通过查阅资料(自抗扰控制技术)离散化函数也可以写成这样:
这里的 $h_1$ 就是噪声滤波效应的参数,应当比 $h$ 大一点
LESO
式中的 $\beta$ 取指方式与二阶的 LESO 相同。同时 $\alpha_3<\alpha_2$, $\delta_2$ 可以取相同值,离散化的时候取 $5T\leq \delta_2\leq 10T$,T 为采样周期
离散化处理
其中
LSEF
总共有三种非线性的反馈控制规律
其中
这里的 $u_0$ 有四种形式
其中
$u$ 也有两种形式
离散化处理之后
参考资料
[自抗扰控制理论]
[From PID to Active Disturbance Rejection Control]
自抗扰控制技术——韩京清