0 ADRC的核心思想
通过扩张状态观测器ESO估计出原系统各个状态量和内外总扰动,然后利用线性状态反馈,即误差和误差的各阶导数的线性组合,也即是PD控制器,使系统镇定在平衡点。
1 参考链接
2 N阶含慢时变扰动的非线性系统
3 自抗扰控制器示意图
- 在不考虑滤波作用时,忽略跟踪微分器;
4 LESO状态重构
(1)选取状态变量
(2)扩展状态变量
(3)状态空间形式
(4)LESO方程
令 ,可以推导出LESO的误差方程,证明LESO是有界输入-有界输出的,并且误差上界可以由参数 调节。
- 使用matlab描述LESO微分方程
function sys=mdlDerivatives(t,x,u,N,Wc,Wo,b0)
global beta_Wo
y=u(1); %输出反馈
ucon=u(2) ;
e=y-x(1);
dx=zeros(N+1, 1) ;
for i=1: N-1
dx(i)=beta_Wo(i)*e+x(i+1) ; %LESO微分方描述
end
dx(N)=beta_Wo(N)*e +x(N+1)+b0*ucon ;
dx(N+1)=beta_Wo(N+1)*e ;
sys = dx ;
(5)选择适当的G,可以使观测器近似跟踪系统状态变量
(6)LESO增益系数
特征方程:
将LESO极点统一配置到左半实轴同一位置,可将调节参数缩减为一个(LESO带宽 )。
得到特征多项式系数:
(7)C++程序计算LESO系数
//组合数计算公式
double LADRC::comb(int n, int m)
{
if (n < 0 || n < 0)
return 0;
else
return jiecheng(n) / jiecheng(m) / jiecheng(n - m);
}
//计算阶乘子函数
double LADRC::jiecheng(int n)
{
if (n < 0)
return 0;
else if (n == 0 || n == 1)
return 1.0;
else
return n*jiecheng(n - 1);
}
double LADRC::powj(double Wo, int n)
{
int i;
double z=1;
if (n == 0)
return 1;
else
{
for (i = n; i >= 1; i--)
{
z = z*Wo;
}
}
return z;
}
//生成控制器系数
//生成LESO系数
for (i = 0; i < ODE_NUM + 1; i++)
{
beta_Wo[i] = powj(this->Wc, i + 1)*comb(ODE_NUM + 1, i + 1);
}
5 线性控制律设计
(1)估计补偿扰动控制律
- 描述控制器
function sys=mdlOutputs(t,x,u,N,Wc,Wo,b0)
global beta_Wc
ref=u(1);
e=u(2)- ref;
u0=e*beta_Wc(1)+u(N+2);
for i=2 : N
u0=u0+beta_Wc( i )*u(i+1) ;
end
sys = -u0/b0 ;
(2)将控制器生成的控制量 代入系统可得:
(3)控制器特征方程
(4)将特征值统一配置在左半实轴同一位置(控制器带宽 )
(5)比较可得控制器系数
(6)C++程序计算控制律系数
//控制律系数
for (i = 0; i < ODE_NUM;i++)
{
beta_Wc[i] = powj(this->Wc, ODE_NUM-i)*comb(ODE_NUM , ODE_NUM-i);
}
——2020.12.01——
Note:
(1)LESO带宽 增大,有助于LADRC的稳定性和鲁棒性,但过大的 可能导致控制器输出过大,不利于工程应用,实际调参需要折中[1];
(2)对于二阶系统,带宽 虽然不会影响超调量的大小,但是会影响LESO的跟踪速度, 越大,系统响应越快,但是在实际系统中, 的提高受观测噪声等的限制。增大 ,同时高频带增益也随之增加,噪声放大作用明显;
(3)约定当且仅当系统的状态 和LESO跟踪误差 都稳定时,称LADRC系统稳定;
(4)假设 偏离1越远,系统相角裕度越小。当 时,系统不稳定,因此为了改善控制性能,参数 的选取应该尽可能接近真实参数 ;[2]
(5)实际调试参数时,首先确定系统的阶数N, 其次确定一个Wo, Wc不变(如Wo=50, Wc=20),再按照数量级,依次调试b0, 如0.01, 0.1, 1, 10, 100,..., 直到系统输出满足期望状态;
(6)增大带宽会导致系统噪声过大,因此可在LESO前端设置滤波器来抑制其影响;
(7)LESO的微分方程的求解,一般依赖初始值(RungeKutta),初值对系统输出的超调量有一定影响;
(8)Wo和Wc的单位都是rad/sec.
——2020.12.14——
评论(0)
您还未登录,请登录后发表或查看评论