自抗扰(ADRC)控制原理及控制器设计

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

自抗扰控制是在PID控制算法基础上进行改进的新型控制方法,它具有不依赖于控制对象模型、不区分系统内外扰的结构特点。常用的自抗扰控制器主要由跟踪微分器(Tracking Differentiator,TD)、扩张状态观测器(Extended State Observer,ESO)和非线性状态误差反馈控制率(Nonlinear State Error Feedback,NLSEF)三部分组成。

跟踪微分器的作用是针对被控对象的输入特点对其提取所需要的信号。

扩张状态观测器作为自抗扰控制的核心组成部分,一方面可以对系统中重要的状态变量进行跟踪,便于实时了解系统状态;另一方面还能根据系统模型内外扰动的总体作用量,以反馈的形式对其加以及时补偿,有助于提高系统鲁棒性。

非线性状态误差反馈控制率是一种非线性的组合方式,输入是TD输出的状态变量与ESO状态估计值之间的误差,输出结合ESO的总扰动补偿值得到控制器的控制量。


这里以二阶系统为例详细介绍自抗扰控制器各部分的设计方法。

跟踪微分器(TD)

经典微分器的形式为:

y = \frac{s}{\tau s + 1}v = \frac{1}{\tau}\left( 1 - \frac{1}{\tau s + 1} \right)v,

y(t) \approx \frac{1}{\tau}\left( v(t) - v(t - \tau) \right) \approx \dot{v}(t)

式中v(t)y(t)分别是系统的输入、输出信号。当对信号u(t)叠加随机噪声n(t)

y(t) \approx \frac{1}{\tau}\left( v(t) - v(t - \tau) \right) + \frac{n(t)}{\tau} \approx \dot{v}(t) + \frac{n(t)}{\tau}

\tau越小时,系统输出的“噪声放大”就越严重。

设二阶系统为:

\left\{\begin{matrix} \begin{aligned} & \dot{x}_{\text{1}}=x_{\text{2}} \\ & {​{​{\dot{x}}}_{\text{2}}}=u,\left| u \right|\le r \end{aligned} \end{matrix}\right.         

上式的“快速最优控制”系统为:  

\left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = - r{sgn}(x_{\text{1}} + x_{\text{2}}\left| x_{\text{2}} \right|/\text{2}r\mspace{6mu})} \\ \end{array} \right.

直接用跟踪微分器来进行计算,x_{2}|x_{2}|项会使系统在进入“稳态”时易产生“高频颤振”。因此,考虑“跟踪微分器”的离散形式。

\left\{ \begin{array}{l} {x_{\text{1}}(k + 1) = x_{\text{1}}(k) + hx_{\text{2}}} \\ {x_{\text{2}}(k + 1) = x_{\text{2}}(k) + hu,|u| \leq r} \\ \end{array} \right.

对上式求“快速控制最优综合函数”,得

\begin{aligned} & u=fst({​{x}_{\text{1}}},{​{x}_{\text{2}}},r,h); \\ & d=rh\text{;}{​{d}_{\text{0}}}=dh; \\ & y={​{x}_{\text{1}}}+h{​{x}_{\text{2}}};{​{a}_{\text{0}}}={​{(d^{2}+\text{8}r\left| y \right|)}^{\frac{\text{1}}{\text{2}}}}; \\ & a=\left\{ \begin{aligned} & {​{x}_{\text{2}}}+{({​{a}_{\text{0}}}-d)}/{\text{2},\left| y \right|>{​{d}_{\text{0}}}}\; \\ & {​{x}_{\text{2}}}+{y}/{h,\left| y \right|\le {​{d}_{\text{0}}}}\; \\ \end{aligned} \right. \\ & fst=-\left\{ \begin{aligned} & {ra}/{d},\left| a \right|\le d \\ & rsgn (a),\left| a \right|>d \\ \end{aligned} \right. \end{aligned}

式中,r称作“速度因子”,与跟踪速度有关,r越大,跟踪速度越快;h为积分步长。

得到离散系统

\left\{ \begin{array}{l} {x_{\text{1}}(t + h) = x_{\text{1}}(t) + hx_{\text{2}}(t)} \\ {x_{\text{2}}(t + h) = x_{\text{2}}(t) + hfst(x_{\text{1}}(t) - v(t),x_{\text{2}}(t),r,h_{\text{0}})} \\ \end{array} \right.

其中h_{0}为“滤波因子”,主要对噪声起滤波作用,取适当大于积分步长h的参数,可消除速度曲线进入稳态时刻的超调现象。

扩张状态观测器(ESO)

考虑系统

\left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = f(x_{\text{1}},x_{\text{2}},t)} \\ {y = x_{\text{1}}} \\ \end{array} \right.

大多数情况下,f(x_{1},x_{2},t)未知,这时可将其当作扰动,用“非光滑反馈”等效其作用。

x_{3}=f(x_{1},x_{2},t)\dot{x}_{3}=g(x_{1},x_{2},t),则g(x_{1},x_{2},t)也是未知函数,于是有

\begin{array}{l} \left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = x_{\text{3}} + bu} \\ {​{\dot{x}}_{\text{3}} = g(x_{\text{1}},x_{\text{2}},t)} \\ {y = x_{\text{1}}} \\ \end{array} \right. \\ {\varepsilon_{\text{1}} = z_{\text{1}} - y} \\ \left\{ \begin{array}{l} {​{\dot{z}}_{\text{1}} = z_{\text{2}} - \beta_{\text{01}}\varepsilon_{\text{1}}} \\ {​{\dot{z}}_{\text{2}} = z_{\text{3}} - \beta_{\text{02}}fal(\varepsilon_{\text{1}},\alpha_{\text{1}},\delta) + bu} \\ {​{\dot{z}}_{\text{3}} = - \beta_{\text{03}}fal(\varepsilon_{\text{1}},\alpha_{\text{2}},\delta)} \\ \end{array} \right. \\ \end{array}

若系统“内扰”和“外扰”的总和,即“总扰动”f(x_{1},x_{2},t)=f_{0}(x_{1},x_{2})+f_{1}(x_{1},x_{2},t),其中f_{0}(x_{1},x_{2})已知,x_{3}=f_{1}(x_{1},x_{2},t),则有

\begin{array}{l} {u = u_{\text{0}} - {​{(x_{\text{3}}(t) + f_{\text{0}}(x_{\text{1}}(t),x_{\text{2}}(t)))}/b}} \\ \left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = bu_{\text{0}}} \\ {y = x_{\text{1}}} \\ \end{array} \right. \\ \end{array}

系统被“线性化”成双积分装置,即不确定系统的“实时动态线性化”。

非线性PID

把经典PID的“加权和”改成“非线性组合”而得“非线性PID”。一种可用的“非线性组合”形式为:

fal(e,\alpha,\delta) = \left\{ \begin{array}{l} {|e|^{\alpha}{sgn}(e),|e| > \delta,} \\ {e/{\delta^{1 - \alpha},|e| \leq \delta,}} \\ \end{array} \right.\delta > \text{0}

\alpha <1时,函数具有“小误差,大增益”;“大误差,小增益”的特性。

设“非线性PID”输入为e_{1}e_{2}e_{3},则可采用合适的控制律:

u = \beta_{\text{0}}fal(e_{\text{0}},\alpha_{\text{0}},\delta) + \beta_{\text{1}}fal(e_{\text{1}},\alpha_{\text{1}},\delta) + \beta_{\text{2}}fal(e_{\text{2}},\alpha_{\text{2}},\delta)

设计参数时,常令\alpha\text{0} \leq \alpha\text{1} \leq \alpha\text{2}

ADRC整体结构

ADRC控制器结构如图所示。自抗扰的根本在于使用补偿项将系统“不确定模型”和“未知外扰”的总和作用共同作为总扰动进行观测和补偿。

其中,v_{0}为目标速度,v为实际速度,v_{1}为跟踪速度,v_{2}为跟踪加速度,z_{1}为观测速度,z_{2}为观测加速度,z_{3}为观测扰动。

 自抗扰控制器算法:

被控对象:

\left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = f(x_{\text{1}},x_{\text{2}},w,t) + bu} \\ {y = x_{\text{1}}} \\ \end{array} \right.

安排过渡过程(TD)为设定值

\left\{ \begin{array}{l} {​{\dot{x}}_{\text{1}} = x_{\text{2}}} \\ {​{\dot{x}}_{\text{2}} = f(x_{\text{1}},x_{\text{2}},w,t) + bu} \\ {y = x_{\text{1}}} \\ \end{array} \right.

估计状态和总扰动(ESO)

\begin{array}{l} {\varepsilon_{\text{1}} = z_{\text{1}}(k) - y(k)} \\ \left\{ \begin{array}{l} {z_{\text{1}}(k + 1) = z_{\text{1}}(k) + h(z_{\text{2}} - \beta_{\text{01}}\varepsilon_{\text{1}})} \\ {z_{\text{2}}(k + 1) = z_{\text{2}}(k) + h(z_{\text{3}}(k) - \beta_{\text{02}}fal(\varepsilon_{\text{1}},\alpha_{\text{1}},\delta) + bu(k))} \\ {z_{\text{3}}(k + 1) = z_{\text{3}}(k) - h\beta_{\text{03}}fal(\varepsilon_{\text{1}},\alpha_{\text{2}},\delta)} \\ \end{array} \right. \\ \end{array}

控制量的形成

\begin{array}{l} {e_{\text{1}} = v_{\text{1}}(k) - z_{\text{1}}(k),} \\ {e_{\text{2}} = v_{\text{2}}(k) - z_{\text{2}}(k),} \\ {u_{\text{0}} = \beta_{\text{01}}fal(e_{\text{1}},\alpha_{\text{1}},\delta) + \beta_{\text{02}}fal(e_{\text{2}},\alpha_{\text{2}},\delta),} \\ {u(k) = u_{\text{0}} - {​{z_{\text{3}}(k)}/b},} \\ \end{array}

式中,

fal(\varepsilon,\alpha,\delta) = \left\{ \begin{array}{l} {|\varepsilon|^{\alpha}{sgn}(\varepsilon),|\varepsilon| > \delta,} \\ {\varepsilon/{\delta^{1 - \alpha},|\varepsilon| \leq \delta,}} \\ \end{array} \right.\delta > \text{0}

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6