PD LADRC离散化
时间: 2024-12-26 07:26:04 浏览: 11
### PD LADRC 控制器离散化方法
对于PD-LADRC控制器的离散化,主要涉及两个部分:比例微分(PD)控制律和线性自抗扰控制(LADRC)中的扩展状态观测器(ESO)[^1]。
#### 比例微分(PD)控制律离散化
连续时间下的PD控制律可以表示为:
\[ u(t)=K_p e(t)+K_d \frac{d}{dt}e(t),\]
其中\( K_p \) 和 \( K_d \)分别是比例增益和微分增益, 而 \( e(t) \) 是系统的误差信号。为了将其转换成离散形式,采用零阶保持器(ZOH),则有:
\[ u[k]=K_p e[k]+K_d \left(\frac{e[k]-e[k-1]}{\Delta t}\right).\]
这里,\( k \) 表示采样时刻索引;而 \( \Delta t \) 则代表采样周期。
#### 扩展状态观测器(ESO)离散化
LADRC 中的核心组件之一就是 ESO,它用于估计系统内部的状态变量及其外部干扰项。假设有一个二阶 ESO 形式如下所示:
\[ z_1'(t)=z_2(t)-b_0 f(y-z_1(t)),\\
z_2'(t)=u+b_1 (y-z_1(t))-b_2 z_2(t). \]
对其进行欧拉法离散化处理可得:
```matlab
function [z_next] = eso_discrete(z_current,u,y,b,delta_t)
% 参数定义
b0=b(1); b1=b(2); b2=b(3);
% 计算下一时刻状态向量
z_next=[z_current(2)*delta_t-b0*(y-z_current(1))*delta_t+z_current(1);
u*delta_t+b1*(y-z_current(1))*delta_t-b2*z_current(2)*delta_t+z_current(2)];
end
```
上述 MATLAB 函数实现了基于前一时刻状态 `z_current`、输入 `u` 及测量输出 `y` 来预测当前时刻的新状态 `z_next` 的过程。
#### 组合形成完整的PD-LADRC控制系统
通过将离散化的PD控制规律与ESO相结合,即可构建起适用于实际工程应用场合下运行于数字平台上的PD-LADRC闭环控制系统。具体来说,在每一个新的采样瞬间,先利用最新的传感器读数更新一次ESO得到最新估计值,再据此计算出相应的补偿力矩并送入执行机构完成一轮调节动作循环。
阅读全文