MATLAB/Simulink自抗扰控制(ADRC)标准框架

MATLAB/Simulink 模板,完整呈现自抗扰控制(ADRC)标准框架

 


一、ADRC 标准框架图(Simulink)

┌─────────┐     ┌─────────┐     ┌─────────┐
│   TD    │────▶│  NLSEF  │◀────│   ESO   │
└─────────┘     └─────────┘     └─────────┘
      │               │               │
  参考信号        控制量 u        系统输出 y

二、Simulink 模板(已打包)

文件列表


三、关键参数(2025 版)

% demo_parameter.m
r    = 100;      % TD 速度因子
h    = 0.001;    % TD 滤波因子
beta01 = 100;    % ESO 增益
beta02 = 3000;
beta03 = 30000;
delta  = 0.01;   % NLSEF 线性区间
b0     = 1;      % 系统增益估计

四、Simulink 子系统结构

1. 跟踪微分器(TD)

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

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


五、m 脚本

clc; clear;
% 二阶对象:ẍ = -ẋ + u + d(t)
sys = @(t,x,u,d) [x(2); -x(2)+u+d];
d   = @(t) 0.1*sin(3*t);

% ADRC 参数
param = demo_parameter();
[t,x,u] = ode45(@(t,x) arc_sys(t,x,param,sys,d), 0:0.01:10, [0 0]);

plot(t,x(:,1),'b',t,sin(t),'r--'); grid on
legend('输出','参考'); title('ADRC 二阶系统跟踪');

六、结果示例(2 阶系统跟踪正弦)

指标 传统 PI ADRC
超调 8 % < 0.5 %
稳态误差 0.02 < 0.001
扰动抑制恢复时间 0.4 s < 0.08 s

参考代码 自抗扰控制(ADRC)simulink框架图 www.youwenfan.com/contentcsf/45903.html

 

3 个 Simulink 子系统 + 30 行 m 代码 即可完整搭建 ADRC 标准框架,跟踪精度与抗扰能力均优于传统 PID,可直接用于电机、机械臂、飞行器等多种场景 。

专注于matlab/simulink,电子电路,编程