• PUDN用户
    了解作者
  • matlab
    开发工具
  • 642KB
    文件大小
  • rar
    文件格式
  • 2
    收藏次数
  • 10 积分
    下载积分
  • 211
    下载次数
  • 2016-12-27 08:26
    上传日期
系统论述了滑模变结构控制的基本理论、基本方法和应用技术,并全部给出了MATLAB仿真分析。全书内容涵盖了滑模变结构控制发展综述、连续系统滑模控制、自适应鲁棒滑模控制、欠驱动系统滑模控制、反演及动态面滑模控制、基于滤波器及观测器的滑模控制、离散系统滑模控制、模糊滑模控制、神经滑模控制和机械手滑模控制等。
Sliding-Mode-Control.rar
  • 滑模控制第二版仿真程序-出版
  • 第7章仿真程序
  • chap7_7peak.m
    639B
  • chap7_4obv.m
    780B
  • chap7_4plant.m
    786B
  • chap7_12obv.m
    990B
  • chap7_9plant.m
    768B
  • chap7_9plot.m
    463B
  • chap7_4ctrl.m
    1009B
  • chap7_9eso_plot.m
    517B
  • chap7_13.m
    1.3KB
  • chap7_12plot.m
    953B
  • chap7_8eso.m
    1KB
  • chap7_11sim.mdl
    25.2KB
  • chap7_1plant.m
    795B
  • chap7_7sim.mdl
    20.5KB
  • chap7_2.m
    1.8KB
  • chap7_10sim.mdl
    25.5KB
  • chap7_7plot.m
    208B
  • chap7_12ctrl.m
    763B
  • chap7_9ctrl.m
    760B
  • chap7_3plant.m
    786B
  • chap7_12plant.m
    719B
  • chap7_4plot.m
    640B
  • chap7_1sim.mdl
    25.7KB
  • chap7_6plot.m
    405B
  • chap7_6plant.m
    736B
  • chap7_3obv.m
    777B
  • chap7_10ctrl.m
    862B
  • chap7_4sim.mdl
    25.9KB
  • chap7_3plot.m
    149B
  • chap7_11plant.m
    719B
  • chap7_6ctrl.m
    721B
  • chap7_9eso.m
    845B
  • chap7_14sim.mdl
    25.5KB
  • chap7_6sim.mdl
    25.8KB
  • chap7_10plant.m
    797B
  • chap7_6obv_plot.m
    254B
  • chap7_10plot.m
    1KB
  • chap7_9sim.mdl
    26.2KB
  • chap7_6obv.m
    829B
  • chap7_1plot.m
    493B
  • chap7_5sim.mdl
    23.3KB
  • chap7_5plant.m
    735B
  • chap7_11plot.m
    750B
  • chap7_1ctrl.m
    878B
  • fun_x.m
    121B
  • chap7_5plot.m
    352B
  • chap7_8plot.m
    517B
  • design_K.m
    83B
  • chap7_5obv.m
    829B
  • chap7_3sim.mdl
    23.8KB
  • chap7_12sim.mdl
    27.6KB
  • chap7_8sim.mdl
    23.3KB
  • chap7_14plot.m
    214B
  • chap7_8plant.m
    770B
  • chap7_14plant.m
    842B
  • chap7_14ctrl.m
    1KB
  • chap7_11obv.m
    990B
  • chap7_10td.m
    816B
  • 第4章仿真程序
  • chap4_1ctrl.m
    886B
  • chap4_1plant.m
    761B
  • chap4_4ctrl.m
    1.2KB
  • chap4_1adapt.m
    1KB
  • chap4_5plant.m
    707B
  • chap4_3plot.m
    792B
  • chap4_2plant.m
    1KB
  • chap4_5ctrl.m
    851B
  • chap4_2plot.m
    800B
  • chap4_5plot.m
    694B
  • chap4_2adapt.m
    1014B
  • chap4_3ctrl.m
    1.2KB
  • chap4_5rbf.m
    1KB
  • chap4_2ctrl.m
    1.2KB
  • chap4_1plot.m
    548B
  • chap4_5sim.mdl
    27.9KB
  • chap4_4plot.m
    546B
  • chap4_1sim.mdl
    24.5KB
  • chap4_4plant.m
    754B
  • chap4_4sim.mdl
    25.9KB
  • chap4_3sim.mdl
    25.6KB
  • chap4_3plant.m
    1.1KB
  • chap4_2sim.mdl
    26.4KB
  • 第10章仿真程序
  • chap10_4.m
    1.1KB
  • chap10_3ctrl.m
    2.2KB
  • chap10_3int.m
    130B
  • chap10_2.m
    1.3KB
  • chap10_6.m
    1.4KB
  • chap10_3sim.mdl
    28.3KB
  • chap10_7.m
    1.5KB
  • chap10_1.m
    870B
  • chap10_3plot.m
    351B
  • chap10_5.m
    1.6KB
  • chap10_8.m
    1.8KB
  • 第6章仿真程序
  • chap6_2ctrl.m
    868B
  • chap6_5x2_bar.m
    658B
  • chap6_1sim.mdl
    24.9KB
内容介绍
function [sys,x0,str,ts] = spacemodel(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case {2,4,9} sys=[]; otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 6; sizes.NumDiscStates = 0; sizes.NumOutputs = 2; sizes.NumInputs = 9;%% 123is command 4-9 is state feedback sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 0; sys = simsizes(sizes); x0 = [0,0,0,0,0,0]; str = []; ts = []; function sys=mdlDerivatives(t,x,u) epc =10; x1=u(4);dx1=u(5); y1=u(6);dy1=u(7); th=u(8);dth=u(9); xc=x1-epc*sin(th); yc=y1+epc*cos(th); %(8) p1=xc; dp1=dx1-epc*cos(th)*dth; p2=yc; dp2=dy1-epc*sin(th)*dth; p3=tan(th); dp3=1/(cos(th))^2*dth; q1=p1;q2=dp1; q3=p2;q4=dp2; q5=p3;q6=dp3; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xd=u(1); dxd=1; yd=u(2); dyd=cos(t); thd=u(3); dthd=0; xcd=xd-epc*sin(thd); ycd=yd+epc*cos(thd); p1d = xcd; dp1d=dxd-epc*cos(thd)*dthd; p2d = ycd; dp2d =dyd-epc*sin(thd)*dthd; p3d = tan(thd); dp3d=1/(cos(thd))^2*dthd; q3d=p2d; q4d=dp2d; q5d=p3d; sys(1)=q4*q5; %integral of y4y5 sys(2)=x(3); %Second integral of y3 sys(3)=q3; %integral of y3 sys(4)=q4d*q5d; sys(5)=x(6); sys(6)=q3d; function sys=mdlOutputs(t,x,u) epc =10; xd=u(1);dxd=1;ddxd=0; yd=u(2);dyd=cos(t);ddyd=-sin(t); thd=u(3);dthd=0;ddthd=0; x1=u(4);dx1=u(5); y1=u(6);dy1=u(7); th=u(8);dth=u(9); xc=x1-epc*sin(th); yc=y1+epc*cos(th); %(12) p1=xc;dp1=dx1-epc*cos(th)*dth; p2=yc;dp2=dy1-epc*sin(th)*dth; p3=tan(th);dp3=(sec(th))^2*dth; q1=p1;q2=dp1; q3=p2;q4=dp2; q5=p3;q6=dp3; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xcd=xd-epc*sin(thd); ycd=yd+epc*cos(thd); %(12) p1d = xcd;dp1d=dxd-epc*cos(thd)*dthd; ddp1d=ddxd-epc*(-sin(thd)*dthd+cos(thd)*ddthd); p2d = ycd;dp2d = dyd-epc*sin(thd)*dthd; ddp2d=ddyd-epc*(cos(thd)*dthd+sin(thd)*ddthd); p3d = tan(thd);dp3d=1/(cos(thd))^2*dthd; ddp3d=2*sec(thd)*sec(thd)*tan(thd)*dthd+sec(thd)^2*ddthd; q1d=p1d; q3d=p2d;q4d=dp2d; q5d=p3d;q6d=dp3d; dq1d=dp1d; dq2d=ddp1d; dq3d=dp2d;dq4d=ddp2d; dq5d=dp3d;dq6d=ddp3d; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% z1 = [q1+x(1);x(2)]; z2 = [q2+q4*q5;x(3)]; %dz1=z2 z3 = [q3;q5]; z4 = [q4;q6]; %dz3=z4 z4d = [q4d;q6d]; %dz3=z4 z1d=[q1d+x(4);x(5)]; dz1d=[dq1d+q4d*q5d;x(6)]; %dz1=z2 dz2d=[dq2d+q4d*dq5d+dq4d*q5d;q3d]; dz3d=[dq3d;dq5d]; dz4d=[dq4d;dq6d]; g=9.8; f1=[q4*q6-g*q5;q3]; f1d =[q4d*q6d-g*q5d;q3d]; f2=[-g;0]; b=[-1,0;0,1]; f1_z3 = [0,-g;1,0]; f1_z3d=f1_z3; ddz1d=f1d; %ddz1=dz2=f1 dddz1d=f1_z3d*z4d; %dddz1=ddz2=df1 ddddz1d=f1_z3d*dz4d; %%%%%%%%%%%%%%%%%%%%%%%%%%%%% c1=27;c2=27;c3=9; ueq=-inv(f1_z3*b)*(c1*z2-c1*dz1d +c2*f1-c2*ddz1d+c3*f1_z3*z4-c3*dddz1d +f1_z3*f2-ddddz1d); e1=z1-z1d; e2=z2-dz1d; e3=f1-ddz1d; e4=f1_z3*z4-dddz1d; s=c1*e1+c2*e2+c3*e3+e4; M=0.10; nmn=0.10; S=2; if S==1 sat=sign(s); elseif S==2 %Saturated function fai=0.1; if abs(s)<=fai sat=s/fai; else sat=sign(s); end end usw=-inv(f1_z3*b)*(M*sat+nmn*s); %(17) h=ueq+usw; %(10),(11) v1=h(1)*1/cos(th); v2=h(2)*(cos(th))^2-2*(dth)^2*tan(th); %(8) vm1= (v1-epc*(dth)^2)*sin(th)+epc*v2*cos(th); vm2=-(v1-epc*(dth)^2)*cos(th)+epc*v2*sin(th)-g; vm=[vm1;vm2+g]; %(4) ut=[-sin(th) cos(th);1/epc*cos(th) 1/epc*sin(th)]*vm; sys(1)=ut(1); sys(2)=ut(2);
评论
    相关推荐