1. 三阶线性自抗扰控制器概述
三阶线性自抗扰控制器(LADRC)是近年来在工业控制领域备受关注的一种先进控制算法。它继承了传统自抗扰控制(ADRC)的核心思想,同时通过线性化处理大幅降低了实现复杂度。我在多个工业自动化项目中实测发现,这种控制器特别适合处理具有强非线性、大滞后和外部扰动的复杂系统。
与PID控制器相比,LADRC最大的优势在于其独特的"总扰动"估计和补偿机制。控制器内部包含一个扩张状态观测器(ESO),能够实时估计并补偿系统受到的各种内外扰动。这就好比给控制系统装上了"智能眼镜",不仅能看见被控对象本身的状态,还能"看见"作用在系统上的各种干扰因素。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心算法原理拆解
2.1 扩张状态观测器设计
三阶LADRC的核心在于其三阶扩张状态观测器。以典型的二阶被控对象为例:
code复制ẍ = f(x, ẋ, w) + bu
其中f代表未知动态和扰动,w为外部扰动。我们将其扩展为三阶系统:
code复制ẋ₁ = x₂
ẋ₂ = x₃ + b₀u
ẋ₃ = h
这里x₃就是被扩张的"总扰动"状态。观测器方程为:
code复制ẋ̂₁ = x̂₂ + β₁(y - x̂₁)
ẋ̂₂ = x̂₃ + β₂(y - x̂₁) + b₀u
ẋ̂₃ = β₃(y - x̂₁)
β为观测器增益,通过适当配置可使估计误差快速收敛。我在实际调试中发现,将观测器带宽设为控制系统带宽的3-5倍效果最佳。
2.2 线性状态反馈控制律
扰动估计出来后,控制律设计变得异常简单:
code复制u = (u₀ - x̂₃)/b₀
其中u₀由简单的PD控制器产生:
code复制u₀ = kₚ(r - x̂₁) - k_d x̂₂
这种结构使得控制器参数调节变得非常直观——kₐ和kᵦ分别对应传统PID中的比例和微分项,而观测器增益β则决定了扰动估计的快速性。
3. Simulink实现详解
3.1 基础模型搭建
在Simulink中实现三阶LADRC,我推荐采用模块化设计。核心模块包括:
- ESO模块:用S函数或基本运算模块实现三阶状态观测器
- 控制律模块:实现PD计算和扰动补偿
- 被控对象模块:可以是实际物理模型或测试用的虚拟对象
