扰动观测器 (DOB) 模拟器 返回
控制工程模拟器

扰动观测器 (DOB) 模拟器 — 与PI单独的扰动抑制比较

一阶过程的输入扰动通过公称模型和Q滤波进行实时估计和抵消。与PI单独控制并排可视化扰动观测器的效果。体验Q滤波时常数和模型误差的影响。

参数设置
真实过程增益 K_p
PI比例增益 K_c
DOB滤波时常数 τ_Q
s
输入扰动大小 d

过程时常数 T_p = 1 s、标称模型 K_n = 2 / T_n = 1 s、PI积分时间 T_i = 1 s、采样 dt = 0.02 s。目标值保持 r = 1,扰动 d 实时连续印加,并排比较 PI单独(受扰动产生偏差)与 DOB+PI(保持目标值)。Q 滤波带宽为 ω_Q = 1/τ_Q。

实时指标(当前值)
PI单独 偏差 |r−y|
DOB+PI 偏差 |r−y|
扰动抑制率
真实扰动 d
DOB 估计 d̂
Q 带宽 ω_Q [rad/s]
实时扰动抑制(滚动时间序列)

上段=输出 y(红=PI单独发生漂移/蓝=DOB+PI保持目标 r=1/灰虚线=目标 r)。下段=真实扰动 d(橙)与 DOB 估计 d̂(绿)重叠跟踪。减小 τ_Q 可加强蓝色保持并使 d̂ 更快追上 d。

理论与主要公式

一阶过程$G_p(s) = K_p/(T_p s + 1)$受输入扰动$d$作用时,用标称模型$G_n(s) = K_n/(T_n s + 1)$来估计扰动,就是DOB。

扰动估计(理想形式与Q滤波形式):

$$\hat{d}_{\text{raw}} = G_n^{-1}(s)\, y - u, \qquad \hat{d} = Q(s)\,\hat{d}_{\text{raw}}$$

由于$G_n^{-1}$是非真实的(improper),需用低通Q滤波$Q(s) = 1/(\tau_Q s + 1)$实现真实化。

最终控制输入(DOB+PI):

$$u = u_c - \hat{d}, \qquad u_c = K_c\, e + \frac{K_c}{T_i} \int e\, dt$$

离散实现中$\hat{d}[k] = (1-\alpha)\,\hat{d}[k-1] + \alpha\,\hat{d}_{\text{raw}}[k]$,其中$\alpha = dt/(\tau_Q + dt)$。

扰动观测器(DOB)模拟器简介

🙋
PI控制应该最终能使扰动收敛到零吧。为什么还要额外加"扰动观测器"这样的机制呢?
🎓
简单说,PI控制是"看到结果再动作"的事后补偿。当外乱输入时,输出马上产生偏差,然后PI才根据这个偏差慢慢地通过积分项来抵消。在模拟器里看"PI单独 峰值偏差"这张卡片,默认参数下约0.5的偏差产生了。这是响应迟缓不可避免的。
🙋
那DOB是看什么来提前行动的呢?
🎓
它看标称模型$G_n(s)$与实测输出$y$的差。如果过程按预测动作,那么从输入$u$计算出的模型输出与实测$y$应该一致。如果不一致,就说明"有未知的输入外乱作用了"。用公式表示就是$\hat{d} = Q(s)(G_n^{-1}(s)\,y - u)$。然后把$-\hat{d}$作为控制输入注入,就能抵消外乱。
🙋
看"DOB+PI 峰值偏差"卡片,约0.09,确实不到原来的1/5!但τ_Q增大时效果就下降了。
🎓
$Q(s) = 1/(\tau_Q s + 1)$是对估计扰动d̂的低通滤波。τ_Q越大,估计越钝,从外乱来到抵消的延迟就越长。你可能会想,那就把τ_Q改得很小不就行了?但实际系统有传感器噪声和未建模的高阶动态。如果Q的通过带宽太宽,就会把那些放大,导致振荡。这就是τ_Q设计的核心:速度与鲁棒性的权衡。
🙋
即使真实增益K_p变化,而模型K_n = 2不变,DOB还是在工作呢。
🎓
这就是DOB的优势。试试把K_p从1改到5,无论是多少,DOB+PI的偏差都比PI单独小。原因是DOB把"实测和模型的偏差"当成等效外乱来处理,所以增益误差、轻微的时常数差都被自动补偿了。这就是为什么DOB在教科书中是"鲁棒控制"的入门例。伺服电机的负载扭矩补偿就用这个原理实现的。

常见问题

两者都能消除定常扰动,但机理不同。积分动作是对输出误差进行时间积分,虽然能达到定常无误差,但在过渡过程中必然产生偏差,峰值往往较大。DOB直接估计并抵消扰动本身,能把过渡过程的峰值偏差减小近一个数量级。实际应用中常见的是DOB与PI结合,PI负责定常追踪,DOB负责扰动抑制,形成功能分工。
基本结构相同,但Q(s)的阶数需根据$G_n^{-1}$的非真实度提升。n阶过程需要$Q(s) = 1/(\tau_Q s + 1)^n$这样的分母次数为n的形式来实现真实化。高阶带来设计参数增加,稳定余量评估也更谨慎。实现时离散化精度(dt)和微分项的噪声敏感性成为问题,常与状态空间表示、同次扰动观测器(UDE)等高级方法结合。
会的。典型的不稳定化因素包括:(1)Q滤波通过带宽内存在未建模的高阶动态或时间延迟;(2)非最小相位(右半平面零点)过程的应用;(3)传感器噪声导致的微分项发散。模拟器中即使τ_Q改到0.05也不会不稳定(因为是理想模型),但实际系统中Q的通过带宽一般限制在过程带宽的1/3~1/5以下,必须在测试台上验证稳定裕度。
应用很广。典型例子包括:液压执行器的摩擦与泄漏补偿、化工过程的未测扰动补偿、汽车主动减振、电源变换器的负载变动补偿、无人机(UAV)的风扰动补偿等。共同特点是"难以建模的扰动频繁出现,且需要高速响应"的应用场景。单用PI的事后补偿性能不足的地方,正是DOB大显身手的舞台。最近还有与模型预测控制(MPC)、强化学习结合的研究。

实际应用

伺服电机驱动系统:DOB最大的应用领域是工业机床、机器人、半导体曝光机等高精度伺服系。负荷扭矩变化、摩擦、齿槽扭矩等难以建模的扰动,可通过编码器位置和标称模型估计后抵消,使追踪精度提升一个数量级。微米级加工精度、纳米级台面定位等超精密要求的场景中,DOB已成为标配。

硬盘、光盘磁头定位:HDD磁头伺服中,盘片振动、外部冲击、气流等扰动通过DOB抑制。伺服采样间隔内要求高速响应的领域,DOB提供了线性PID所不能达到的外乱抑制性能。同理也用于光学拾音头的焦点与跟踪控制。

电动助力转向(EPS)与电动执行器:汽车EPS中,路面凹凸引起的反力、转向轴摩擦都是扰动。DOB通过估计补偿,抑制传导给驾驶者的不适感,实现自然的转向手感。协作机器人关节也用DOB基础的外力估计,用于接触检知和安全停止。

工艺过程与化工厂:反应热、吸热变化、原料成分变化等难测扰动常作用在化工过程上。DOB作为PI的补强,用来吸收经时变化的增益与时常数,温度控制、浓度控制中常见。实现时与IMC(内部模型控制)框架结合,保持与经典PID整定的互通性。

常见误解与注意事项

最常见的误解是,"装上DOB就不用调PI"。DOB主要负责扰动抑制,但目标值追踪、定常无误差仍然是PI(尤其是积分动作)的任务。在模拟器中试试把PI增益K_c改到0.1,即使开启DOB,起动也很慢,整定时间会长。DOB与PI是分工关系而非替代关系,两边都需妥善设计。

第二常见的是,"τ_Q越小越好"的思路。在模拟器中τ_Q = 0.05时偏差最小,但实物系统中这个值会把测量噪声和未建模动态急速放大,引起振荡或颤震。实践经验是从过程主时常数的1/10~1/30开始,然后在测试台上同时检验阶跃响应和随机扰动响应,边调边确认。

最后,DOB估计的不是"真实扰动的物理值"。DOB其实估计的是"在标称模型$G_n$框架下,等效的输入扰动"。改变模型增益或时常数,估计值会跟着变。你在模拟器中当K_p ≠ K_n(有模型误差)时,d̂与真的d会有偏差,这就是原因。重要的不是"猜对扰动",而是"这个估计对偏差抑制有效"。DOB本质上是鲁棒控制的一种手法,要这样认识才对。

使用指南

  1. 通过"PI控制增益 Kp"滑块设置比例增益(0.5~5.0),用"PI积分增益 Ki"调整积分时常数(0.1~2.0秒)
  2. 改变"DOB Q滤波时常数τ_Q"(0.01~0.5秒),观察观测器响应速度与稳定性的权衡
  3. 输入"过程模型误差 d"(±20%),验证实际机械特性与模拟器模型不符时对扰动抑制的影响
  4. 点击"输入扰动"按钮施加阶跃扰动(50Nm),比较PI单独与DOB+PI的峰值偏差和响应波形

具体计算示例

对直流伺服电机(J=0.05kg·m²、粘性系数b=0.1N·m·s/rad)遭受50Nm外乱的情况,当Kp=2.0、Ki=0.5s时,PI单独的初始峰值偏差达到24°。加入τ_Q=0.08s的DOB后,峰值偏差降至5.8°,偏差削减率为75.8%。即使引入+15%的模型误差,削减率仍维持70.2%,估计整定时间约32ms(≈4×0.08)

实务应用注意事项