反演及动态面滑模控制_第1页
反演及动态面滑模控制_第2页
反演及动态面滑模控制_第3页
反演及动态面滑模控制_第4页
反演及动态面滑模控制_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第S章反演及动态面滑模控制6.1简单反演滑模控制反演(backstcpping)设计方法的基本思想是将复杂的非线形系统 生解成不空系统阶数的子系莎后为每个子系翌空设计去軽 诺夫函数印出冋灌拟雯制量,-直“后退”到整个系统,直到完成整个 控制律的设耳反演设计方法,又称反步法、回推法或后推法'通常与李雅普诺夫 型自适应律结合使用综合考虑控制律和自适应律,使整个闭环系统 满足期望的动静态性能指标。6.1.1基本原理假设被控对象为=工2(6.1)*2 = f (工 M +g(H,)lZ、其中,g(H*)HO。定义角度误差Z】=Q-Zd,其中利为指令信号,则Z】=久_初=工2 2d基本的back

2、stepping控制方法设计步骤分以下两步。(1)定义Lyapunov函数取工2 = C Zj 沐则丄.匕=询=©(乜_么),+勺,其中6>0,勺为虚拟控制量,勺=卫+2如果勺=0,则讥wo。讥=一6# +勺勺 为此'需要进行下-步设计。由于(2)定义Lyapunov函数(6.3)则 “2 =匕 + Z2Z2 = G 云亠 为使圧0,设计控制器为皿ag")+g话U 云/Q") _C爲 + zA - C2Z2 - Z) 其中心为人于零的正常数。则乞=-Cizf-C2卅 <0由于Z2 =工2 + G 6 R ,则当6 f 0和勺f 0时申-2爲賈鶯

3、鑒< 譽驚聖足了李雅普诺夫盂定性理论条件B和7渐近稳 疋,从而保证系统具有全局意乂下指数的渐近稳定性,并且z以指数形式渐近收敛于零,6.1.2滑模反演控制器的设计(6.4)控制律式(6. 4)的不足之处在于,需要被控对象的精确建模信息/(工)和g(xu)o 若将反演控制方法与滑模控制相结合则能扩大反演控制方法的适用范围使得对模型 的干扰具有鲁棒性。考虑控制扰动(/),被控对象为戶=X2x2 = /(xU) + g(x>f)u + d(.t)其中g(z,/)H0,|d(/)|WD。考虑反演设计的最后一步(第二步),结合滑模变结构控制定义滑动面为5=勺,仍按 式(6. 3)定义Lyap

4、unov函数+"|谕V则込=/Q,/)+g(H")“ + d("+Mi 一 込V2 = V, +z总=-c&+sz2+z2(yCr)+ g(H*)“ + N(C + 为使RWO,设计控制器为w = _J_(_ /(x,0 - TjsgnCzz) - ciii + id Qz2 - z. g(H") 兀中a为大于零的正常数,详D。则刃=_6#_“云_创习丨+玄-("0。被控对象取单级倒立摆,其动态方程如卞(6.5)(6.6)第0反演及动态Ifiirtt模控制滑模变结构控制MATLAB仿真(第2版)4 =氐COSH】/(礼+刃)gsinx

5、二加;dcosRsinH】'(mmcos2JCi/Cm. m)U 丁 山其中蔦总器;E爲X驚"小叭 ";:';豐需f爲控制律式”取E叶D+5陶 始状态为-兀/60,0,仿真结果如图6.1和图6,所示°“、“卄盘MUJ2总-uo_sod0Iideal positionX /yposition tracking:V V V V videal speed speed tracking56time(s)vv( ( ( (-1-2J 三 du 二onufLWW5678910timds)89 10图6. 1倒立摆的角度和角速度跟踪图62控制输入仿真程序:1)

6、Simulink 主程序:chap6.lsim.mdlfunction【sys,x0,str,ts = Spacemodel(t x u . switch flag,/X/ flag)case 0,sys, grg TnitZizesg.case 3,“0.sysmdlOutputs (匕 x,u);»se 2,4,9sys=;otherwiseerror( Unhandled flan.山叫(3)小mdllnitializeSizesfunction sys, xO, str, ts sizes = simsizes;sizes. NumContStates = 0; sizes

7、NumD丄scStates = 0; sizes NumOutputs = 1 ; sizes Numlnputs = 5;sizes. DirFeedthrough = 1 ;sizes. NumSampleTimes = 0;sys = simsizes(sizes);x0=(;str =;ts=();-function sys = mdlOutputs( t, x, u) zd = u(l); <dzd = 0. 1 * pi * cos (pi # t);ddzd = - 0.1 » pi * pi * sin(pi * t);第«反演及动左|滑ffi控制xl

8、 = u(2); x2 = u(3);fx=u(4);qx = u(5);cl = 35;c2 = 35;zl = xl - zd;alfal = - cl * zl + dzd;z2 = x2 - alfal;dzl = x2 - dzd;D= 10;xite =0+0 10;% xite = 0;ut=(-fx-xite < sign(z2) -cl * dzl + ddzd - c2 > z2 - zl)/(gx+0. 001); sys(l) = ut;3)被控对象子程序chap6_lplant.mfunction (sys, x0z str, ts) - s.functi

9、on( t, x, u, flag) switch flag,case 0,sys,x0, str, ts » mdllnitializeSizesxcase lzsys = mdlDerivatives(t, xzu)/case 3.s ;otherwiseerror(Unhandled/num2str(flag);syxOtr.tsJ-mdllnitializeSizessys = mdlOutputs(tz x, u); case 2, 4, 9滑模变结构控制MATLAB仿夏(第2版)sizes = simsizes;sizes.NuraContStates = 2;sizes

10、.NumDiscStates = 0;sizes.NunOutputs = 4;sizes.Nurolnputs a 1;sizes.DirFeedthrough = 0;sizes. NumSaropleTimes = °sys = simsizes(sizes);xO = (pi/60 0);str=(;ts=();function sys = mdlDerivatives(tzxzu)g=9.8;mc = 1.0;m=0.1;l = 0 5;S = 1* (4/3-m* (cos(x(l)A2/(mc + m);fx = g» sin(x(l) - ra* 1 

11、87; x(2)A2 * cos(x(l) * sin(x( 1) )/(mc + m); fx= fx/S;gx cos(x(1)/(mc * m);gx = gx/S;dt = 10 * sin(t);sys(l) =x(2);sys(2) = fx + gx * u * dt;function sys = radlOutputs(t,x,u)g = 9.8;roc = 1.0;m » 0.1;1 = 0. 5;S = 1 » (4/3 - m # (cos(x(l)A2/(mc + );fx = g * sin(x(l) - ro » 1 * x(2)A 2

12、 * cos(x( 1) * sin(x(l) )/(mc + m); fx = fx/S;gx = cos(x(l)/(mc + m);gx = gx/S;sys(l) = x(l);sys(2) = x(2);sys(3) = fx;sys(4) = gx;4)作图程序:chap6_lplot. mclose all;figure(l);subplot(211);plot(tzyd(:)Jlinewidth,2); xlabel(* );ylabel( * Posit ion tracking*)legendC ideal position*, *position tracking*) s

13、ubplot(212);plot(t,yd(:,2) Jk: linewidth-z2)xlabel( *tine(s) *);ylabel( Speed tracking* );'legend( * ideal speed speed tracking'); 'figure(2);plot(t小(:,1) J r J1 inwidth, 2);xlabel( tSe(s) );ylabel( Control input)#6.2鲁棒反演滑模控制件棒性。6.2.1系统描述反演及动念而制被控对象为其中,d(f)为外加干扰。将式(6.7)写为6 l S + "M2

14、 + (B + AB)“ + d("(C. 7)比=Ax2 +B“ +F其中F为总不确定性,其表达式为F = Ax2 + ABu + d(f) 其中|F| WF,"和AB为系统参数不确定部分。(6.8)(6.9)6. 2. 2 backstepping滑模控制器的设计假设位置指令为如,控制器设计步骤分以下两步。(1)跟踪误差为引=工|一如,则肩=工2一入。定义Lyapunov函数(6. 10)定义兀=匕引,其中6为正的常数引为虚拟控制项*2=工2匕+6勺。则 =JC2i6=Z2CZ ,且Vl = ziii =引 Z2 一 c】定义切换函数为(6. 11)其中,匕>0。

15、由于21 =Z2G Z1,则=尿引+ Z2由”+g>0,显然,如果产。'则”円川(2)定义Lyapunov函数=0且v,<0.为此,需要进行下一步设计。(6. 12)滑楼变结构控制MATLAB仿Jt (第2版)Vz = Vi 4- ad = Z引一C zf + ao=Z Z2 C Zy + a(ki + 玄)=ZjZi Ci Zi +(7(&1 <22 _ 6 和)+ 込一込 + SQ )=JZ2 G Z? + 畑 g 1 ;® ) + A(Z2 + 么 _ G 引)+ E“ + F 兀 + ci.) 设计控制器为_“=BT(_b(z2_cg)_A(

16、Z2+込 _cg)_Fsgn(d)-+ 込一Ci h(d + jSsgn(a)其中/和0为正的常数。 将式(6. 13)代入得V2 = zioouppw UOQ-SJod(6pdsC hj hR I(7,十 Fa F I 八哎总(仁3Cl Zi + Zi 乂2 _ h/ h/3 (J C +由于乙= g 引Cl(6.14)U1-l= ZZZ 4- hkz 4- 2hkzxz2 + hz =Ci z zz2 + h/其中,ZT = «1«l.则如果保证Q为正定矩阵,有U -zrQz-hp |(7 I W 0(6.15)由于| Q | =人 + 壮f)-(临 一 =心 +b)_

17、 * r 通过取"和环的值何使IQI>O,从而保证Q为正定矩阵,从而保证讥3(66)6.2.3仿真实例被控对象为4 = x2其中,F(C为总的不确定性.'叫+133“;F(0y-取FEfW),位置指令取”沁,采用控制律式(*,取片如>1410詢=20220仿真结果为图6.3和图§uo:2sodimcO)910ideal positionposition tracking4所示。M.E言bpods'ideal speed 1" speed tracking234 tim5e(.)67 89 '0图6.3位置和速度跟踪矩阵Q的验证程

18、序:chap6 2Q.clear all;close all; cl = 10;kl= 15;h= 20;Q-clh*klA2 h*kl-0.5; h»kl-0.5 h; h* (cl +kl) -0.25控制系统仿真程序:1) Simulink 主程序:chap6 2sim. mdlClock To Workspace>142) 控制器 S 函数:chap6.2ctrl. mfunction sysz x0z str, ts) = controller(tr xz uz flag) switch flag,case 0,(sysz x0z str.ts < ndllni

19、tializeSizes;case 3,sys s adlOutputs(t, x, u)/case (2,4,9bsys s (;滑模变结构控制MATLAB仿'(第2版)otherwise.、error( Unhandled f lag = num2str(flag) J) endfunction (sys, xO, str, ts J = mdllnitializeSizessizes = simsizes;sizes.NumContStates = 0;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes Numlnputs = 4

20、;sizes DirFeedthrough = 1;sizes NumSampleTimes = 0;sys = simsizes(sizes);x0 =;str=;ts=();function sys = mdlOutputs(tz xz u)cl = 10;kl = 15;h= 20;beta =1.5;beta = 0.2;Fmax = 3;A= - 25;B= 133;xd = u(l);dxd = cos(t);ddxd = - sin(t);xl = u(2);x2 = u(3);zl = xl - xd;dzl = x2 - dxd;rou = kl # zl + z2;ut =

21、 1/B * ( - kl » (z2 - cl * zl) - A «* (rou + beta * sign(rou);z2 = x2 - dxd cl * zl;(z2 + dxd c Zl) Fmax sign(rou) + ddxd - cl 皿】sys(l) = ut;3)彼控对象S函数:chap6_2plant. m>14function (sys.xO.str, ts二 s_function(t/X/U/flag)>144)作图程序:chap6.2plotmclose all;switch flag, case 0, cajjsg 吋 m-mit

22、iameSig cas囂"Zw叫sys Z0utpu“(5u) case 2, 4, 9,sys二);彳卜otherwise打呦'T仁毬; 豐:咒:;囂2" iitialTg sizes.NumContStates = 2; sizes NuraDiscStates > 0; sizes.NuroOutputs « 3; sizes.Nuolnputs s 1; sizes. DirFeedthrough = 0; sizes.NunSampleTimes s 0; sys = simsizes(sizes);k0= (0.5,0);'5tr

23、 2 (J; 二s=;.- 一:unction sys = ndlDerivatives(tzxru) A= - 25;B= 133; f s - 3 * sin(0.1 » t);sys(l) = x(2);: 7sys(2) = A » x(l)令 B u F; function sys a o»dlOutputs(tz x, u) F 2 - 3 * sin(0. 1 t);y®<i) - x(i); sys(2) = x(2); sys(3) = F;figured);8ubplot(211);P3(m)jrty(:,2)mge嘗h 2);

24、 xlabelCtimeCsJJlabelCPosition tracking b legendC ideal position*, position tracking)z8UbplOt(212);(3)w,"ne”idth,2);xabelCtime(s)-);ylabelCSpeed tracking 几 legend ideal speedy 9speed tracking “>1419)19)滑模变结构控制MATLAB仿真(第2版)figure(2);plot (t, u(:八)J r J1 Mewidth “ 2);xlabel( time(s);ylabel(

25、9;Control input,);6.3自适应反演滑模控制第6.2节是针对总不确定性F的上界已知的悄况下设计的。在实际控制中,不确眾 性及外加干扰通常未知。因此其中总不确定性F的上界很难确定。采用自适应方总可 实现对F的估计。6.3.1控制律的设讣被控对象为%Q = x2x2 = Arz 4- Bu +F.胡其中,F为总不确定性,F=AAz2+AB“+da),|F|F,M 和AB为系统参数不确定毎 分。假设参数不确定部分及外加干扰项变化缓慢,取(6.17)(6.18)F = 0 考虑第6. 2节的设计,定义Lyapunov函数 匕=匕+护 其中,戶为F的估计值J的估计误差为F = FF,y为

26、_个正的常数 则V3 = V2 - 1 FF=叭2-胡+畑(勺-g)+A(z2+£_g)+ B“ + F_£d+c】£)-丄/x+(g_g)+A(z)设计自适应控制器为M =B7(T Q八"2釣釣)一人(22+乙_门引)F + % c】Z a + psgnQ)设计自适应律为(6.19)-ndu- -anuoG将式(6. 19)和式(6.20)代入得V j = n 2根据式(6. 15),±式可写为1如|门则如果保证Q为正定矩阵有&'W0,其中Q的设计同式(6.6.3.2仿真实例被控对象为确定部6.17)6.18)工 2 = 25

27、无| + 133u + F(t) 其中F(/)为外部干扰。guootime($)图6.5位和速度烈踪图6.6控制输入图67 f的自适应变化8 6 4 2 0UOUBWSujd PUB 亠取F(z) = -3sin(0. X),位置指令取d = sirw。采用控制律式(6.19),自适应律式(6.20), 取尸30心=10人=20 = 20,仿真结果为图6.5至图6.7所示.19)滑模变结构控制MATLAB仿真(第2版)To Workspacc4emuDemuxchap6 3cirlS-FunctionClock To Workspace2)控制器 S 函数:chap6_3ctrl.sys, x

28、O,struts = mdllnitializeSizes;sys = rodlDerivatives( t, xz u);Sine Wavc5chapS 3p,antS-Function 1case 1,仿真程序1) Simulink 主程序:chap6.3sm.mdlfunction sys,x0, str, ts = controller( t, xz uz flag) switch flag,case 0# case 3,sys = radlOutputs(tz xzu);case 2,4,9,sys 3(J;otherwiseerror(Unhandled flag = vfnun2

29、str(flag); endfunction syszxOz strz ts) = mdllnitializeSizes sizes = sirasizes;sizes.NumContStates = 1; sizes NumDiscStates = 0; sizes. NumOutputs = 2;sizes.Numinputs = 4;sizes. DirFeedthrough 1;sizes. NumSampleTimes = 0;sys = simsizes(sizes);x0= (0);*str=;_一、 ifunction sys = mdlDerivativesft) gama

30、= 30;cl = 10;kl = 15;h= 20;xd = u( 1);dxd = cos(t);ddxd= - sin(t);xl u(2); x2 = u(3);zl = xl - xd; dzl = x2 - dxd; alfal x cl * zl;z2 = x2 - dxd + alfal; rou = kl » zl > z2;sys( 1) = gama * rou;functl°" sys = mdlOutputsCt.x.u)cl = 10;kl = 15;h = 20;beta =1.5;Fp=x(l);M代.厂兰A= - 25;B=

31、 133;xd = u( 1);dxd = cos(t);ddxd = - sin(t);xl = u(2);x2 = u(3);zl = xl - xd;dzl = x2 - dxd;z2 = x2 - dxd + cl * zl;rou = kl * zl + z2;ut = 1/B * ( - kl » (z2 - cl * zl) - A * (z2 dxd - cl * zl) - Fp ddxd - cl dzl - h * (rou + beta * sign(rou);sys(1) = ut;sys(2) = Fp;3)被控对象S函数:chap6.3plant. mf

32、unction sys, x0z struts = s_function(tz x# f lag) switch flag, case 0,(sys, xO, str, ts = mdllnitializeSizes;case 1,sys = mdlDerivatives(t, x, u);case 3,sys = radiOutputs(t, x. u);case 2, 4Z 9,sys =(;nuJn2str(flag)l);otherwiseerror( Unhandled flag function 8y8zxO/Str,ts-mdlInitiali-SizeS sizes = sir

33、osizes;sizes.NumContStates = 2;sizes.NuroDiscStates 3 0;sizes. NumOutputs a 3;close all;6.4.1系统描述figure(2);plot(t,u(:zl)z 'r*z * linewidth*r2);xlabel( 'tiine(s) *);ylabel( 'Control input'); legend('Control input *);4)作图程序:chap6_3plot. m64柔性机械手的反演滑模控制滑樓变结构控制MATLAB仿夏(第2版)faction sy

34、s mdlDerivatxves(t,x,u)sizes. Numinputs= 1; sizes.DirFeedthroughO; sizes.NujnSajnpleTimes = O;sys = sirosizes(sizes);xO = 0.5,0);str=);A= -25;B= 133;F a - 3 * sin(0.1 * t);sys(l) » x(2); sys(2)=A»x(l) + B*u + F; function sys - mdlOutputG( xr u)F= - 3 » sin(0.1 t);sys(l) = x(l);sys(2)

35、= x(2);sys(3) = F;figure(l); subplot(211);plot(t,y(:八)2)JlinewidthJ2);xlabel( timet s) * );ylabel( * Posit ion tracking*); legend ('ideal position* r * position tracking*); subplot(212);plot(t,cos(t)(:“3) Jk: linewidth*,2);xlabel ('time(s)*); ylabel( Speed tracking*); legend(' ideal spee

36、d 'speed tracking*);figure(3);合曲霊盅;壯霊矇蠶當緒则取其中吒;控制plot(t,F(:z1)/*r'zt,F(:#2)z *k: 'linewidth',2); xlabel(tme(s);ylabel(F and F Estimation*);'则取统。<6.21)(6.22)6-乞2反演滑模控制器的设计首先定义位置误差信号为Z】=工(6.23)(6. 24)V, = z S 九)= i = R NdZ)(Ag/sirtZ +K(xi x3) xld采用backstopping原理设计控制律设计步骤有以T 4步。

37、(1)定义第1个Lyapunov函数匕=izi动力学特性与控制特性相互耦柔性机械力臂动态方程可表示为电耦合的非线性系严 1 +MgZsingi15 十= or 其中切和72分别为关节角矗电霊囂越大说明柔性力臂的弹性刚度大柔濃角囂系数K表明了柔性力臂的弹性刚度。K的弹竹刚度小,柔性大,力臂易弯曲时与的越接近.K越小,说明柔性力臂71 t g相芳越大,血为加在控制上的干扰, 定义心2 f将式幽)写成状态方程的形式为21 = x2 _ 1业=一丁(Mg2sig+Ka_R)© = 4 _ 1(亠=了("一/(比_百)_加)控制需囂專誥瞬L E控5",采用传统X2 = C

38、Z + ild + z2 其中心为正常数,Z2为虚拟控制项,帀=©+6引一兀则V, =Gzf +引显然,当"。时需要引人虚拟控制如使帀为零。(2)定义第2个Lyapunov对引求导,得V? = Ci z + Zi 勺 + z2z2将式(6. 26)代入,得对引求导,得滑撲変结构控制MATLAB仿贡(第2版)函数为22r1 一2+1* z2 =N + CZ Zld=_ l(Mg/sin.r. + K(r _ 口 >)+ G(2 一丘宀 一 Qd(6 26)Z2 = (Mg/x2COSX1 4- K(x2 工(>)+ G ( (_ IcA/sinj-, + K(q

39、_ =3 R ) Ed ) 九*(Mg/sinjj + K(m x3) +c】(工2 丘id)左“ 一 y(A4g/sinj:1 + Kxx) + Cj (x2 j|d) 左】dj+ z2-x3 =_疋_+(A4g/simri +Kr】)+ c】(工2 _£d)_ Ed + 刁 +彳勺 j+刁 其中,C2>O,Z3 为虚拟控制项,z3=xJ4-j-(MZsinxI +Kh】)+5 (比 _£d)C, 2« C22 + YZ2Z3显蔦:;需:嘗需要进一步引进虚拟控制量,使.3为零 (3)疋义弟3个Lyapunov函数为尤2 + Ki? ) + C (x2无d)

40、 Xld 4- Zi +C2爲将上式中括号内部取为S,即(6渤叫蔦二1(6.27)26)将式(6.29)代入得乞=f JZ+务”十+仅)(6.29)4=-仅-5_务+级其屮心0,®为虚拟控制项,怨=m+£s + c心+空一 得'3八", 当r. =0时:亿£0。需要进-步引进虚拟控制量,使2为零.(4)进行最后一步的backstepping设计。亏虑反演设计的最后_步,结合滑模变结构控制,定义滑动面为s = z,,令最后个 Lyapunov函数为(6.30)(6.31)对S求导数,得S ( Mglsnjc xf + Ki2) + c】(z2 in

41、)三I + 乞 + c2z2对4求导,得(6.32)i4 = j-(.u dt) y(x3 Xi)4-S -FC3Z3(将式(6.32)代人式(6.31,得(6.33)V4 =讥+益(壬(“一山)_孚5_4)+存+也+和2)27)采用切换项抑制控制扰动,为使讥°,设计控制律为(6.34)_和心)-丿(-孚5F)十存+品+卜十+宀)1 其中心0,详D。将式(6. 34)代入式(6. 33)中,可得讥=土(一”匕|皿一強一严+:"+: 心 咏式爲爲忑盂 席会出现“组合踽泌即滑揆变结构控制MATLAB仿夏(第2版) u = TSgnCZi ) _ J(U +“2 +“3 +以)_

42、+(_MgZsinq 云+KN)人帥。+ g (_+(MgAscosQ + &工2 -x4)-xld) _0d+ (+(Mg/sinri + K(Q _Z3)_Nd) 十 G ( (Mg/RCOSH】+ K(z? _ =4)+ c(_+(MgZsig +K5 為)一 Ed)_3d)(Mg/ COSH X2 + Kjr 2)+ g ( y (MgZsinjt) + K(Z £)Qd 応 + (x2 ild) + C2 (-+(Mgsinjj + K(4 心)+g (工2丘id) Ed)"3 =芋(一-j-(AZsinj-)K(工i 口)+ g (x2 jN)九)+ x

43、3+ 彩(一 +(Mg/sig +Kz) +c】(H2 一丘Q 一応 + z】+c2(x2 +ctzt -ild)一 了(Mglcos工I X2 + Kz2) £(一+(Mg?sig +K,一壬】d + (x2 一Nd)“4 = “+ Q (- *(Mg/si耘 + K5 却)+ Q &; _ 対)_ 务)+ y(X2 +SZ】 -Xid)+ j十戸他g+S+g-如 _尙+尙+坯去+*_£) 变得复杂囂囂;拟囂篇豐囂:系统方程微分项的膨胀,控制器表达衣项的求导。采用动态面的控制方法,即采用低通-阶滤波器实现鈔643仿真实例柔性机械力臂动态方程为#旳 2+5一。)_

44、I取 /-J = 1.0,MgZ = 5.0,K=:12oo)= 必定义心武可写成状态方稈的形式为4 =工2-. _ 2 - 了(MgZsig+k(z -Xj)3 =亠 _ 1设关节的角度指令为.=c R ”2兀000 采用控制律式(6. 30;取阳J'控制干扰dt=2()()°°°sin(3"则D = 當图& 8和图6. 9所示.仿真"结果表爲囂當总;矗聶蠶.6.4.2O.2.463 oo.o.-O.-O.-O.-O.a.E>peJ- uo 三 sod兰亠总一 P苣Sideal position position tra

45、cking Vv0.6 0.8 1time(s)0.20.40.60.8 I 1.21.41.61.82time(s)ideal speed speed tracking1*1 6. 8关节角度和角速度跟踪图6.9关节控制力矩-ndu 二 onuoo式拟#Clock To Workspace卅变结构控制MATLAB仿篦(第2版)ui/kk-2) 控制器 S 函数:chap6_4ctrl. mfunction (sys.xOzStr, ts) = spaceroodel( t, xz uz f lag)switch flag,case 0zsys, xO,str,ts = mdllnitiali

46、zeSizes;case 3,sys = rodlOutputs(t, xzu);case 2,4,9sys=(;otherwiseerror( '(Jnhandled flag = 1, nun2str(flag);end function syszxOzstrzts = mdllnitializeSizes sizes = sirasizes;sizes.NumOutputs = 1; sizes Nuralnputs = 10;sizes. DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys = sirasizes(sizes);x0

47、=;str=);ts = 0 0;function sys = mdlOutputs(tz xzu) 1 = 1.0;J= 1.0;Mgl = 5.0;cl = 50;c2 = 50;c3 = 50;c4 = 50; K= 1200;xld = u(l);dxld = u(2);ddxld = x(l) = u(6);x(2) = u(7);x(3)=u(3);dddxld=u(4);ddddxld = u u(8);x =u(9);dx2 = u(io);#21 = x(l) - xld; dzl = x(2) -dxld;al = - cl « zi;z2 = x(2) * (a

48、l + dxld);#(X -x )yx(2) - cl » dxld - ddxld;#a2 二-(I/K) * ( _ (i/i) c2 * z2);z3 = x(3) - a2;Eg “w蔦:益:黑;(囂:牒(2)ydz3 = x(4) + (I/K) SI;C1 * c2 * gid- (cl* c2 * 琳2) + (cl + c2) * (- 1/1) # (Mgl + c2) * ddxld-dddxld + x(2) - dxld;a3 二-(I/K)mS1-(k/I)<22 z4 = x(4) - a3;(cl c2)餐(-l/i)餐(Mg】.8s(x() ”

49、9 * cos(x(l») » dx2 + K » dx2) + cl # c2 * dx2 +* dddxld - ddddxld + dx2 _ ddxld"* K * (x(2) x(4) - cl * c2 * ddxld - (cl + c2)D = 200000;'xite = D f 0. 1U;% xite = 0;ut= Xlte* sign(z4) - J* ( (K/j) c4 z4);(x(3) -x(l) + (I/K) *dS + K/ldz2 + c3dz3 + z3 +sys(l) = ut;3)角度指令S函数:c

50、hap6_4input. m function sysz x0z str, ts = spacemodelft, xz ur flag)switch flag,case 0zsys, x0z str, ts = mdllnitializeSizes;case lzsys = mdlDerivatives(t, xz u);case 3,sys = mdlOutputs(t, x, u);case 2,4,9sys =;otherwiseerror( 'Unhandled flag = * / num2str( flag);endfunction sys, x0z strz ts = n

51、idllnitializeSizes sizes = simsizes;sizes. NumContStates = 0;sizes. NumDiscStates = 0;sizes.NuroOutputs = 5;sizes.Nuralnputs = 0;sizes. DirFeedthrough = 0;sizes.NumSampleT imes = °;®ys= simsizes(sizes);4【】;str 打ts 叮;function sys mdlOutputs( t, xz u)第!«反演及动态滑樓变结构MWATLAB仿(第2版)tol u(l);

52、sys(l) x(2);5U016.5A-0.50;w-3;xld-A* sin(w 2- pi t);pdx】d 2 W2 2 : . £ :班.匕); ddxld - -<w#2#pi)7* V :;(“ 2 pi 七); dddxld= -(w2*pi)A3«-2 w pi# t);ddddxld-(-2>pir4-A.sin(w>2<pi sys(l) xld;sys(2) B dxld;sys(3) = ddxld;sys(4) = dddxld;sys(5) ddddxld;4)被控对象S函数:chap64plant. m function sys,xO,str,ts = spacemodel(t, x, uz flag)switch flag,case 0,sys, xOz str,ts mdllnitializeSizes;case lzsys « mdlDerivatives(t,xru);case 3,sys = mdlOutputs(t, xz u);case 2,4,9sys = J;otherwiseerror( Unhan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论