编辑
2025-05-03
自动控制
00

目录

ADRC算法数学公式详解
1. 扩张状态观测器(ESO)
2. 跟踪微分器(TD)
3. 线性状态误差反馈(LSEF)

ADRC算法数学公式详解

{ESO:{e=z1yz˙1=z2β1ez˙2=z3β2e+b0uz˙3=β3eTD:{v˙1=v2v˙2=r0(v1v0)c0v2LSEF:{e1=z1v1e2=z2v2u0=k1e1k2e2u=u0z3b0\begin{cases} \text{ESO:} & \begin{cases} e = z_1 - y \\ \dot{z}_1 = z_2 - \beta_1 e \\ \dot{z}_2 = z_3 - \beta_2 e + b_0 u \\ \dot{z}_3 = -\beta_3 e \end{cases} \\ \text{TD:} & \begin{cases} \dot{v}_1 = v_2 \\ \dot{v}_2 = -r_0(v_1 - v_0) - c_0 v_2 \end{cases} \\ \text{LSEF:} & \begin{cases} e_1 = z_1 - v_1 \\ e_2 = z_2 - v_2 \\ u_0 = -k_1 e_1 - k_2 e_2 \\ u = \frac{u_0 - z_3}{b_0} \end{cases} \end{cases}

线性ADRC通常更容易调整参数,但在大扰动下可能性能不如非线性ADRC。

1. 扩张状态观测器(ESO)

{e=z1yz˙1=z2β1ez˙2=z3β2e+b0uz˙3=β3e\begin{cases} e = z_1 - y \\ \dot{z}_1 = z_2 - \beta_1 e \\ \dot{z}_2 = z_3 - \beta_2 e + b_0 u \\ \dot{z}_3 = -\beta_3 e \end{cases}

这组公式表示ESO的动态过程:

  • e=z1ye = z_1 - y:观测误差,即状态估计值与实际测量值的差
  • z˙1=z2β1e\dot{z}_1 = z_2 - \beta_1 ez1z_1的变化率,用于跟踪系统的位置状态(角度)
  • z˙2=z3β2e+b0u\dot{z}_2 = z_3 - \beta_2 e + b_0 uz2z_2的变化率,跟踪系统的速度状态(角速度)
  • z˙3=β3e\dot{z}_3 = -\beta_3 ez3z_3的变化率,用于估计系统中的"总扰动"

其中:

  • yy 是系统输出(实测角度)
  • z1,z2,z3z_1, z_2, z_3 是观测器状态变量
  • β1,β2,β3\beta_1, \beta_2, \beta_3 是观测器增益参数
  • b0b_0 是控制输入增益
  • uu 是控制输入

ESO的关键作用是在不知道具体扰动模型的情况下,通过观测系统的输入输出关系,实时估计系统状态和"总扰动"。

2. 跟踪微分器(TD)

{v˙1=v2v˙2=r0(v1v0)c0v2\begin{cases} \dot{v}_1 = v_2 \\ \dot{v}_2 = -r_0(v_1 - v_0) - c_0 v_2 \end{cases}

TD的作用是生成光滑过渡过程:

  • v˙1=v2\dot{v}_1 = v_2v1v_1的变化率等于v2v_2,其中v1v_1是跟踪信号
  • v˙2=r0(v1v0)c0v2\dot{v}_2 = -r_0(v_1 - v_0) - c_0 v_2v2v_2的变化率由误差和阻尼项组成

其中:

  • v0v_0 是目标设定值(例如角度0)
  • v1v_1 是对v0v_0的平滑跟踪
  • v2v_2v1v_1的微分(速度)
  • r0r_0 控制跟踪速度
  • c0c_0 提供阻尼作用,防止振荡

TD避免了指令信号的突变给系统带来的冲击,实现了对设定点的平滑跟踪。

3. 线性状态误差反馈(LSEF)

{e1=z1v1e2=z2v2u0=k1e1k2e2u=u0z3b0\begin{cases} e_1 = z_1 - v_1 \\ e_2 = z_2 - v_2 \\ u_0 = -k_1 e_1 - k_2 e_2 \\ u = \frac{u_0 - z_3}{b_0} \end{cases}

LSEF计算控制信号:

  • e1=z1v1e_1 = z_1 - v_1:位置(角度)跟踪误差
  • e2=z2v2e_2 = z_2 - v_2:速度(角速度)跟踪误差
  • u0=k1e1k2e2u_0 = -k_1 e_1 - k_2 e_2:基于误差的线性反馈控制律
  • u=u0z3b0u = \frac{u_0 - z_3}{b_0}:最终控制量,包含扰动补偿

其中:

  • k1,k2k_1, k_2 是控制增益参数
  • z3z_3 是ESO估计的总扰动
  • b0b_0 是控制输入增益的估计值

LSEF的核心思想是:

  1. 使用状态反馈稳定系统
  2. 使用z3z_3补偿系统中的未知扰动和动态
  3. 通过1b0\frac{1}{b_0}进行控制量归一化

ADRC的关键在于"总扰动"概念,它将系统内外部的未知因素统一视为一个扰动,通过ESO实时观测并补偿,实现了控制系统的鲁棒性和自适应性。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!