ADRC自抗扰控制—深度解析与实战指南2
在控制系统的纷繁世界中,ADRC以其强大的抗扰能力和对模型依赖的弱化,正成为工程师解决复杂控制难题的新宠。
一、ADRC:控制领域的“抗扰斗士”
自抗扰控制器(Active Disturbance Rejection Control,ADRC)由韩京清研究员提出,其核心思想是将系统内外部所有不确定性视为总扰动,通过实时估计并补偿的方式实现高性能控制。相较于传统PID控制器,ADRC在抗扰性、鲁棒性方面表现突出,尤其适用于模型不精确、存在强干扰的非线性系统。
ADRC的三大核心组件:
-
过渡过程发生器 (TD) - 规划理想动态轨迹
-
扩张状态观测器 (ESO) - 实时估计系统状态及总扰动
-
非线性状态误差反馈 (NLSEF) - 生成最终控制量
二、核心原理深度剖析
2.1 过渡过程发生器(TD):让目标“平滑着陆”
# 一阶TD的离散实现(Python伪代码)
def TD(v, v1, h, r):e = v - v1d = r * h # 速度因子if e > d:dv = relif e < -d:dv = -relse:dv = e / hv1 += dv * h # 更新过渡信号return v1
原理:TD通过非线性跟踪微分器生成光滑的过渡信号 v1
,其微分 dv
受速度因子 r
限制。这避免了设定值阶跃变化引起的超调,使系统动态响应更平稳。
2.2 扩张状态观测器(ESO):系统的“透视眼”
# 二阶系统ESO离散实现
def ESO(y, u, z1, z2, z3, h, beta1, beta2, beta3):e = y - z1 # 输出估计误差# ESO状态更新(核心)z1 += h * (z2 + beta1 * e)z2 += h * (z3 + beta2 * fal(e, 0.5, delta) + b * u) # b为控制增益z3 += h * beta3 * fal(e, 0.25, delta) # z3为总扰动估计return z1, z2, z3# 非线性函数fal(e, alpha, del