内模原理详解
- 基本定义
内模原理(Internal Model Principle, IMP)由Francis和Wonham于1975年提出,其核心思想可概括为:
“控制器必须包含外部信号的动力学模型,才能实现对信号的完全跟踪或扰动抑制。”
- 数学表述
考虑闭环系统:
{ x ˙ = A x + B u + E d y = C x \begin{cases} \dot{x} = Ax + Bu + Ed \\ y = Cx \end{cases} {x˙=Ax+Bu+Edy=Cx
其中 d d d 为扰动, u u u 为控制输入。
若扰动 d d d 由某动态系统生成(例如 d ( t ) = D w w d(t) = D_w w d(t)=Dww, w ˙ = S w w \dot{w} = S_w w w˙=Sww),则控制器需包含 S w S_w Sw 的模型才能完全抑制 d d d 的影响。
-
关键定理
设扰动/参考信号由以下系统生成:
w ˙ = S w , d = D w \dot{w} = S w, \quad d = D w w˙=Sw,d=Dw
则闭环系统能完全抑制扰动 d d d 的充分必要条件是: -
控制器传递函数 C ( s ) C(s) C(s) 包含 S S S 的模型(即 C ( s ) C(s) C(s) 的极点包含 S S S 的特征值)
-
内模原理的核心要求 :
内模原理指出:若控制器中包含外部信号(参考信号或扰动)的生成模型,则闭环系统可以实现对这些信号的渐进跟踪或完全抑制。例如:
- 跟踪阶跃信号 → 控制器需包含积分器(1/s)
- 抑制正弦扰动 → 控制器需包含对应频率的谐振器(如 1 / ( s 2 + ω 2 ) 1/(s^2 + ω^2) 1/(s2+ω2))
- 典型应用场景
信号类型 | 信号生成模型 | 控制器需植入的内模 |
---|---|---|
阶跃信号 | 1 s \frac{1}{s} s1 | 积分器(PI控制中的I项) |
斜坡信号 | 1 s 2 \frac{1}{s^2} s21 | 双重积分器 |
正弦信号(频率ω) | ω s 2 + ω 2 \frac{ω}{s^2+ω^2} s2+ω2ω | 谐振控制器(如PR控制) |
-
PI控制器的结构分析
PI控制器的传递函数为:
C ( s ) = K p + K i s C(s) = K_p + \frac{K_i}{s} C(s)=Kp+sKi
其中积分项 1 s \frac{1}{s} s1 对应阶跃信号的生成器模型(阶跃信号的拉普拉斯变换为 1 s \frac{1}{s} s1)。这意味着:
当系统存在常值扰动或需要跟踪阶跃参考信号时,积分器通过内部植入的“阶跃信号模型”,实现了稳态误差的消除。
鲁棒性保障 :
即使被控对象参数存在微小变化,只要积分器模型仍能匹配扰动/参考信号的基本特性(如常值特性),系统仍能保持无静差跟踪。 -
设计步骤
1、识别外部信号特性:确定参考信号或扰动的数学模型(如阶跃、斜坡、正弦)
2、植入对应内模:在控制器中嵌入该信号的生成器模型
3、稳定性设计:通过极点配置等方法保证闭环稳定
- 实例分析
案例:直流电机速度控制
- 目标:跟踪阶跃速度指令,抑制负载转矩阶跃扰动
- 控制器设计:
- 使用PI控制器: C ( s ) = K p + K i s C(s) = K_p + \frac{K_i}{s} C(s)=Kp+sKi
- 积分项 1 s \frac{1}{s} s1 对应阶跃信号的内模
- 效果:
- 稳态速度误差为零
- 负载转矩扰动被完全抑制
- 扩展讨论
- 与现代控制理论的联系:内模原理在鲁棒控制(H∞控制)、重复控制(如针对周期性扰动的控制)中均有重要应用。
- 局限性:需精确已知外部信号的模型特性,否则可能导致性能下降甚至失稳。
怎样基于内模原理设计控制器
一、内模原理设计控制器流程
二、详细设计步骤
- 信号特性分析
- 目标信号类型:
- 参考信号(如阶跃、斜坡、正弦)
- 扰动信号(如常值负载扰动、周期性噪声)
- 数学建模示例:
信号类型 动态模型 拉普拉斯变换 阶跃信号 w ˙ = 0 \dot{w}=0 w˙=0 1 s \frac{1}{s} s1 正弦信号(ω) w ¨ + ω 2 w = 0 \ddot{w} + ω^2w = 0 w¨+ω2w=0 ω s 2 + ω 2 \frac{ω}{s^2+ω^2} s2+ω2ω 斜坡信号 w ¨ = 0 \ddot{w}=0 w¨=0 1 s 2 \frac{1}{s^2} s21
- 内模构建
- 核心规则:控制器需包含信号生成器的动力学模型
- 植入方式:
- 串联内模:在控制器前向通道中直接嵌入模型
C ( s ) = 1 s ⏟ 阶跃内模 ⋅ K p C(s) = \underbrace{\frac{1}{s}}_{\text{阶跃内模}} \cdot K_p C(s)=阶跃内模 s1⋅Kp - 反馈内模:通过状态观测器重构信号模型(适用于扰动不可测场景)
- 串联内模:在控制器前向通道中直接嵌入模型
- 控制器结构设计
- 通用形式:
C ( s ) = N i m ( s ) D i m ( s ) ⏟ 内模部分 ⋅ N c ( s ) D c ( s ) ⏟ 补偿器 C(s) = \underbrace{\frac{N_{im}(s)}{D_{im}(s)}}_{\text{内模部分}} \cdot \underbrace{\frac{N_c(s)}{D_c(s)}}_{\text{补偿器}} C(s)=内模部分 Dim(s)Nim(s)⋅补偿器 Dc(s)Nc(s) - 经典控制器示例:
控制需求 控制器类型 内模结构 跟踪阶跃信号 PI控制器 1 s \frac{1}{s} s1 抑制正弦扰动(50Hz) 谐振控制器 1 s 2 + 100 π 2 \frac{1}{s^2+100π^2} s2+100π21 跟踪斜坡信号 PID+双重积分 1 s 2 \frac{1}{s^2} s21
- 稳定性设计
- 步骤:
- 构建增广系统:将内模与被控对象结合
G a u g ( s ) = G ( s ) ⋅ N i m ( s ) D i m ( s ) G_{aug}(s) = G(s) \cdot \frac{N_{im}(s)}{D_{im}(s)} Gaug(s)=G(s)⋅Dim(s)Nim(s) - 设计补偿器
N
c
(
s
)
/
D
c
(
s
)
N_c(s)/D_c(s)
Nc(s)/Dc(s) 以满足:
- 极点配置:指定闭环系统极点位置
- 频域指标:相位裕度 > 45°, 幅值裕度 > 6dB
- 验证鲁棒性:通过灵敏度函数分析( S ( s ) S(s) S(s)、 T ( s ) T(s) T(s))
- 构建增广系统:将内模与被控对象结合
- 仿真验证
- 关键测试场景:
# 伪代码示例(Python/Matlab) t = 0:0.01:10 r = 1.0 * (t >= 2) # 阶跃参考信号 d = 0.5 * sin(10*t) # 正弦扰动 y = simulate(sys_cl, r, d) plot(t, y, 'b', t, r, 'r--')
三、设计实例:伺服系统正弦扰动抑制
- 问题定义
- 被控对象:直流电机速度系统 G ( s ) = 1 0.1 s + 1 G(s) = \frac{1}{0.1s+1} G(s)=0.1s+11
- 扰动: d ( t ) = 0.2 sin ( 10 t ) d(t) = 0.2\sin(10t) d(t)=0.2sin(10t)
- 目标:抑制扰动引起的速度波动
-
控制器设计
-
内模构建:正弦扰动生成模型为 10 s 2 + 100 \frac{10}{s^2+100} s2+10010
-
控制器结构:
C ( s ) = 10 s 2 + 100 ⏟ 内模 ⋅ K ( s + 5 ) s + 20 ⏟ 补偿器 C(s) = \underbrace{\frac{10}{s^2+100}}_{\text{内模}} \cdot \underbrace{\frac{K(s+5)}{s+20}}_{\text{补偿器}} C(s)=内模 s2+10010⋅补偿器 s+20K(s+5) -
参数整定:通过根轨迹法选择 K = 50 K=50 K=50 使主导极点阻尼比 ζ=0.7
-
性能验证
指标 | 无内模控制 | 内模控制 |
---|---|---|
扰动抑制比 | -12dB | -35dB |
稳态误差 | 18% | <1% |
四、需要注意的小点
-
模型不确定性:
- 实际信号频率可能与标称值存在偏差(如ω=10 rad/s → 实际ω=10.5 rad/s)
- 解决方案:采用自适应内模或鲁棒控制设计
-
实现限制:
- 高阶内模可能导致控制器复杂化
- 离散化时需注意采样频率选择(满足香农定理)
-
稳定性与性能平衡:
- 过多内模会降低相位裕度
- 需通过Bode图分析进行折衷设计
五、拓展
- 重复控制:针对周期性信号的内模阵列设计
C ( z ) = 1 1 − z − N ⋅ K r ( N = 周期采样点数 ) C(z) = \frac{1}{1 - z^{-N}} \cdot K_r \quad (N=\text{周期采样点数}) C(z)=1−z−N1⋅Kr(N=周期采样点数) - 多频段控制:并联多个谐振器抑制复合扰动
C ( s ) = ∑ k = 1 n K k s s 2 + ω k 2 C(s) = \sum_{k=1}^n \frac{K_k s}{s^2 + ω_k^2} C(s)=k=1∑ns2+ωk2Kks
通过以上步骤,可系统化地设计基于内模原理的高性能控制器。实际应用中需结合频域分析工具(如Nyquist图、Bode图)进行迭代优化。