您现在的位置:首页 >> 智能控制 >> 内容

m基于滑膜变结构的倒立摆控制系统matlab仿真

时间:2023/5/20 15:56:01 点击:

  核心提示:08_082_m,包括程序操作录像+word论文+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJmVmJpp

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

  在控制系统中,改变系统结构的思想最早是Wunch在1953年提出的。随后,各国学者在其研究成果的基础上提出了变结构控制系统的改进,并逐渐得到了一个全新控制系统的理论。而滑膜变控制理论(SMVSCS)属于变结构控制理论的主要研究方向之一[24,25]。滑膜变控制方法是首先是将控制系统的状态估计曲线转换到滑模超平面上,然后逐渐达到平衡点。通过滑膜变结构控制系统,可以原始高维度的控制系统降维成低维度系统,从而降低了整个系统的控制复杂度。

4.部分源码

...............................................................................

 

    c    = 1e-4;

    if k==1

       X_back2=0;

    else

       X_back2=X_back(k)-X_back(k-1);

    end

    s    = c*X_back2;

    y    =-inv(C*B)*(C*A*s+5*s+0.05*sign(s));

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    X(k)    = min(y);

    u_0     = X(k);

    x1_0    = x1(k);

    x2_0    = x2(k);

    x3_0    = x3(k);

    x4_0    = x4(k);

    x5_0    = x5(k);    

    x6_0    = x6(k);    

end

x1a=x1;

x2a=x2;

x3a=x3;

x4a=x4;

x5a=x5;

x6a=x6;

A  = [0,0 ,0 ,1,0,0;

      0,0,0,0,1,0;

      0,0,0,0,0,1;

      0,0,0,0,0,0;

      0,K12,K13,0,0,0;

      0,K22,K23,0,0,0;];

  

B   = [0;

       0;

       0;

       1;

       K17;

       K27];  

 C  = [0.4495,4.1930,-8.8675,0.8035,0.0151,-1.5196]; 

[F,G]   = c2d(A,B,ts);

Q       = diag([1 0 1 1 0 1]);

R       = [1];

[K,p,e] = dlqr(F,G,Q,R);

F       = F-G*K;  

 

%初始条件

x1_0 = 1;

x2_0 = 0;

x3_0 = 0;

x4_0 = 1;

x5_0 = 0;

x6_0 = 0;

u_0  = 0;

 

for k=1:1:LEN

    k

................................................................. 

end

x1b=x1;

x2b=x2;

x3b=x3;

x4b=x4;

x5b=x5;

x6b=x6;

 

figure;

plot(time,x1a,'linewidth',2)

hold on

plot(time,x1b,'r--','linewidth',2)

xlabel('time/s');

ylabel('x');

grid on

legend('控制率函数1','控制率函数2');

 

figure;

plot(time,x1a,'linewidth',2)

hold on

plot(time,x1b,'r--','linewidth',2)

xlabel('time/s');

ylabel('x');

grid on

legend('控制率函数1','控制率函数2');

axis([30,80,-6e-3,6e-3]);

 

figure;

plot(time,x2a,'linewidth',2)

hold on

plot(time,x2b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_1');

grid on

legend('控制率函数1','控制率函数2');

figure;

plot(time,x2a,'linewidth',2)

hold on

plot(time,x2b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_1');

grid on

legend('控制率函数1','控制率函数2');

axis([20,90,-4e-3,4e-3]);

 

 

figure;

plot(time,x3a,'linewidth',2)

hold on

plot(time,x3b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_2');

grid on

legend('控制率函数1','控制率函数2');

figure;

plot(time,x3a,'linewidth',2)

hold on

plot(time,x3b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_2');

grid on

legend('控制率函数1','控制率函数2');

axis([20,80,-1.5e-3,1.5e-3]);

 

 

 

figure;

plot(time,x4a,'linewidth',2)

hold on

plot(time,x4b,'r--','linewidth',2)

xlabel('time/s');

ylabel('x''');

grid on

legend('控制率函数1','控制率函数2');

figure;

plot(time,x4a,'linewidth',2)

hold on

plot(time,x4b,'r--','linewidth',2)

xlabel('time/s');

ylabel('x''');

grid on

legend('控制率函数1','控制率函数2');

axis([20,80,-1.2e-2,1.2e-2]);

 

figure;

plot(time,x5a,'linewidth',2)

hold on

plot(time,x5b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_1''');

grid on

legend('控制率函数1','控制率函数2');

figure;

plot(time,x5a,'linewidth',2)

hold on

plot(time,x5b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_1''');

grid on

legend('控制率函数1','控制率函数2');

axis([20,100,-5e-2,5e-2]);

 

figure;

plot(time,x6a,'linewidth',2)

hold on

plot(time,x6b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_2''');

grid on

legend('控制率函数1','控制率函数2');

  

figure;

plot(time,x6a,'linewidth',2)

hold on

plot(time,x6b,'r--','linewidth',2)

xlabel('time/s');

ylabel('\theta_2''');

grid on

legend('控制率函数1','控制率函数2');

axis([20,80,-15e-3,15e-3]);  

08_082_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168