目录
前言
1. 对于一般通式的极点配置
2.选取滑模面s = c*x
3.极点配置实例讲解
3.1 判断(A,B)是否可控
3.2 求变换矩阵
3.3 求解滑模面系数
3.4 个人见解
其实在跟踪变结构控制那篇文章已经介绍了这个方法,只是可能公式太多有点乱,在这里整理一下,跟踪变结构控制文章链接:
基于参考模型的主动悬架滑模控制(详细滑模控制推导)_Mr. 邹的博客-CSDN博客
一般通式:
其中维度关系为:A为n*n,B为n*m,即n个状态变量,m个输入。
其中A和B可以改写为:
其中B1为(n-m)*m,B2为m*m。
注:B2不能为0,否则in(B2) = inf;对于多输入需要用pinv函数求伪逆。
remark 1:如果(A,B)为可控对,则(A11,A12)也是可控的。
remark2:只要rank(B)=m,则存在如下形式的变换矩阵:
将上述一般形式状态空间方程化简为标准形式,即:
其中:
则由于变化矩阵的存在,所以:
即,其中c为m*n。
当系统到达切换面上时或者说滑动模态的条件有:s = 0,s' = 0,得到
注:这里滑模面形式为s = cx,实际上可以表示为s = ce,这里假设位置指令xd = 0即可。
所以误差动态方程为:
所以可以通过极点配置反馈保证x1以适当的指数衰减率趋向于零,则 x2也以同样的指数衰减率趋向于零。
即存在极点集:
所以最终得到滑模面系数为:
由于为m*m的非奇异矩阵,所以通常选取为,进而简化为:
这里以一篇论文为参考进行实例配置:
[1]周兆敏.用极点配置方法设计滑模控制器[J].信息与控制,1988(04):47-49.
A = [0 198 0;-0.64 -18.18 4.85;0 0 150];
B = [0;0;900];
Qc = ctrb(A,B);%可控性判断矩阵
np = rank(Qc);%用若rank(Qc) = n,即满秩则可控
if np == length(A)
disp('可控')
end
由于是(A,B)是可控的,所以(A11,A12)也是可控的,所以可以使用极点配置
n = 3;m = 1;%矩阵维度
T = [eye(n-m) -B(1:(n-m))*inv(B(n));zeros(1,(n-m)) eye(m)];
T =
1 0 0
0 1 0
0 0 1
A1=T*A*inv(T);%变换后的标准型矩阵
A11=A1(1:np-1,1:np-1);
A12=A1(1:np-1,np);
p=[-29.11 -640.2];%需要配置的极点
% 计算极点配置的反馈矩阵
K=acker(A11,A12,p)
% 滑模面系数
C=[K,eye(1)]*T
C =
19.2747 134.2536 1.0000
程序汇总:
% 状态方程
A = [0 198 0;-0.64 -18.18 4.85;0 0 150];
B = [0;0;900];
Qc = ctrb(A,B);%可控性判断矩阵
np = rank(Qc);%用若rank(Qc) = n,即满秩则可控
if np == length(A)
disp('可控')
end
n = 3;m = 1;%矩阵维度
T = [eye(n-m) -B(1:(n-m))*inv(B(n));zeros(1,(n-m)) eye(m)];
A1=T*A*inv(T);%变换后的标准型矩阵
A11=A1(1:np-1,1:np-1);
A12=A1(1:np-1,np);
p=[-29.11 -640.2];%需要配置的极点
% 计算极点配置的反馈矩阵
K=acker(A11,A12,p)
% 滑模面系数
C=[K,eye(1)]*T
可以看到上述的求解结果和文献不一致,文献中所用的方法是展开后进行比对,这里按照它的方法走一遍:
syms c1 c2 s
A11 = [0 198;-0.64 -18.18];
A12 = [0 4.85]';
f = A11-A12*[c1 c2];
det(s*eye(2)-f)
ans =
(9603*c1)/10 + (909*s)/50 + (97*c2*s)/20 + s^2 + 3168/25
代入极点到多项式:
比对上述结果求解出
c1 =
18.4626
c2 =
130.5691
程序汇总:
syms c1 c2 s
A11 = [0 198;-0.64 -18.18];
A12 = [0 4.85]';
f = A11-A12*[c1 c2];
det(s*eye(2)-f)
% ans =
%
% (9603*c1)/10 + (909*s)/50 + (97*c2*s)/20 + s^2 + 3168/25
c1 = (17856.36-3168/25)/(9603/10)
c2 = 633.26/(97/20)
可以看到通过acker函数求解结果与比对法求解结果很接近,所以个人觉得文献有些问题,欢迎批评指正!
参考文献:
[1]杨金霞. 车辆半主动悬架模型跟踪变结构控制的研究[D]. 江苏:南京林业大学,2006. DOI:10.7666/d.y913537.
[2]王亮. 汽车主动悬架模型跟踪变结构控制研究[D]. 山东:山东理工大学,2009. DOI:10.7666/d.y1507198.
[3]直驱式永磁同步风力发电机中混沌运动的滑模变结构控制[J]. 物理学报,2009,58(11):7552-7557.
[4]《变结构控制系统-姚琼荟》
[5]周兆敏.用极点配置方法设计滑模控制器[J].信息与控制,1988(04):47-49.