ADRC与INDI的关系
ADRC与INDI的关系
前言
一直热衷于把一些基础的东西想明白,这样才能更好地理解一些稍微复杂些的算法,在深入理解这些算法后才能更好地应用。
例如
- 用回路成型方法探究ADRC各参数对闭环系统的影响
- 对比KF和RLS的关系
- 互补滤波的原理以及参数整定(这个我看过类似的文章,但是可能还需要结合一些实际工程应用来说明)
- KF的参数整定(分别从时域和频域角度)
- ADRC与INDI的关系
本文要介绍的是第5个,这个是我一直想抽时间研究下的东西,结果那天把系统结构图画出来一下子就清楚了,其实也没有太多好讲的。
其余的有机会再一一记录下。
前言至此,以下就是个人拙见。
正文: ADRC是一种特殊的INDI
INDI的核心是通过状态微分的反馈,来将系统动态快速更新到控制器中,从而快速补偿扰动。这里的状态微分通常需要通过微分器DF得到,而在计算前控制量 u 0 u_0 u0时需要加入延时相等的低通滤波器LPF。
因此得到下图所示INDI的框图。
图中 X X X 为被控量, X r X_r Xr为指令, K K K 为控制增益, v v v 为虚拟控制量, Δ u \Delta u Δu 为增量控制量, X ˙ 0 \dot{X}_0 X˙0为微分后得到的被控量导数, u 0 u_0 u0为低通滤波后的控制量,在INDI控制中通常理解为上一时刻的控制量。
其中LPF和DF为一阶形式时:
L P F = 1 τ s + 1 \qquad\qquad\qquad\qquad\qquad\qquad LPF=\frac{1}{\tau s+1} LPF=τs+11
D F = s τ s + 1 \qquad\qquad\qquad\qquad\qquad\qquad DF=\frac{s}{\tau s+1} DF=τs+1s
其中 τ \tau τ 为时间常数
下面则是LADRC的框图。
其中扰动估计 z 2 z_2 z2表达式为
z 2 = ω 2 s s 2 + 2 ω s + ω 2 x − ω 2 s 2 + 2 ω s + ω 2 u \qquad\qquad\qquad\qquad\qquad z_2=\frac{\omega ^2 s}{s^2+2\omega s + \omega ^2 }x - \frac{\omega ^2 }{s^2+2\omega s + \omega ^2 }u z2=s2+2ωs+ω2ω2sx−s2+2ωs+ω2ω2u
对比两个框图以及公式,可以得出一个结论:
ADRC可以认为是一种特殊的INDI
这个特殊性体现在两个方面。
- INDI可以应用于控制效率恒定或不恒定的情况 ,其控制器可以是增量形式,也可以是全量形式。如果被控对象控制效率恒定,则可以采用全量形式;如果控制效率不恒定,则需采用增量形式,实时计算其控制效率以及控制量增量(当控制量多于被控量时,控制增量的分配会引入路径依赖问题)。
ADRC只能用于控制效率恒定的情况(当然其余情况也不是不能用,只是控制效率变化引起的动态变化也要归结到扰动中了)。 - 如果系统控制效率是恒定的,则ADRC是一种DF和LPF都为二阶形式的INDI。