为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 欠驱动完整系统解耦算法的滑模控制

欠驱动完整系统解耦算法的滑模控制

2021-11-18 6页 doc 212KB 9阅读

用户头像

is_597436

暂无简介

举报
欠驱动完整系统解耦算法的滑模控制5.9基于欠驱动系统解耦算法的滑模控制桥式吊车、PendulumRobot、AcrobatRobot、倒立摆系统和VTOL飞行器都是典型的欠驱动系统。下面介绍一种欠驱动系统解耦算法,可解决欠驱动系统控制输入的解耦问题,从而可以设计滑模控制算法。欠驱动系统解耦算法对于如下耦合欠驱动系统q1p1p1f1q,pg1q2u(5.70)q2p2p2f2q,pg2q2u其中qq1q2,pp1p2。针对如式(5.70)所示的耦合欠驱动系统,R.O.Saber提出一种通用的解耦算法,该算法很好地解决了结构如式(5.70)的欠驱动系统耦合问题[...
欠驱动完整系统解耦算法的滑模控制
5.9基于欠驱动系统解耦算法的滑模控制桥式吊车、PendulumRobot、AcrobatRobot、倒立摆系统和VTOL飞行器都是典型的欠驱动系统。下面介绍一种欠驱动系统解耦算法,可解决欠驱动系统控制输入的解耦问题,从而可以滑模控制算法。欠驱动系统解耦算法对于如下耦合欠驱动系统q1p1p1f1q,pg1q2u(5.70)q2p2p2f2q,pg2q2u其中qq1q2,pp1p2。针对如式(5.70)所示的耦合欠驱动系统,R.O.Saber提出一种通用的解耦算法,该算法很好地解决了结构如式(5.70)的欠驱动系统耦合问题[12,13]。矚慫润厲钐瘗睞枥庑赖。解耦算法如下[12]:z1q2g1s0g2sz2p1gg1qq12p2g2q25.71)1gg1p2gg1f2g2g25.72)2f2q,pg2q2u对解耦算法分析如下:由于z1z2,解耦算法的实质为在z2中消除u,即g1g11p2g2g2z2p1f1g1ug1g1gg1p2g1f2g22g2g2=f1p21f2g2ug2倒立摆动力学系统的解耦对于典型一级倒立摆,小车质量为M,摆的质量为m,小车位置为x,摆的角度为。l为摆长L的一半,u为控制输入。在平衡点附近,有sin,cos1,线性化后的单级倒立摆方程为聞創沟燴鐺險爱氇谴净。m(mM)gl(Mm)IMml222mgl(M(Mm)IMml2(Mml2udtm)IMml2Iml22udtm)IMml2(5.73)1其中Iml2为摆杆围绕其重心的转动惯量,3dt为控制扰动。控制的目标是通过给小车底座施加一个力u,使小车停留在零位置,并使杆不倒下,即闭环控制的平衡点为0,0,xx。为了采用滑模控制,需要对式(5.73)进行解耦。设q1,q2x,则p1,p2取f1q,pm(mM)gl(Mm)IMml2q1mlg1q2(Mm)IMml2f2q,p22mgl(Mm)IMml2q1g2q2Iml2,22(Mm)IMml2ml。Iml2ml2g1q2(Mm)IMml22g2q2Iml22(Mm)IMml2采用解耦算法式(5.71),则解耦算法为q2g1smlz1q10dsq12q2110g2s1Iml22g1q2mlz2p1p2p12p2(5.74)g2q2Iml21q22p2则倒立摆平衡点0,x0,0,x0等价于z10,z20,10,20。倒立摆模型式(5.73)最后的解耦结果为m(mM)gl2m2gl2(Mm)IMml2ml22Iml2(Mm)IMml2q15.75)22mgl(Mm)IIml2Mml2q1(Mm)IMml2u+dt取T1m(mM)gl2(Mm)IMml2Iml2(Mm)IMmlm2gl2ml,T222Iml2(Mm)IMml22则上式可写为(Mm2gl2m)I2Mml2z1z25.76)122T2q1T3u+dt变为由于q1mlz1Immll2q2z1mlIml21z1T41,其中T4mlIml2,则上式2T2z1T2T415.77)T3u+dt滑模控制器的设计针对欠驱动系统式(5.77)设计滑模控制律,取12,μ2z1z21,设计滑1Cμ2模面为(5.78)其中Cc1c2c3。则1Cμ2T2z1T2T41T3u+dtCμ2设计控制律为1T341Cμ2hsgn(5.79)其中hdt。122取Lyapunov函数为则hsgndt0由上式可知,存在滑动模态,取到达时间为ts,当tts时,有1Cμ20,即1Cμ2。滑模参数C的设计当tts时,有z2μ2T1z1T1T41=A11+A2μ2=A1C+A2μ2(5.80)2010其中A1001,A2T10T1T4。000滑模参数C的设计原则为使A1CA2为Hurwitz,以保证μ20,从而1Cμ20。由12,μ2z1z21可知,当t时,有z10,z20,20,20。,即控制目标为0,0,x0和x0。A1C+A2001c10T1c1c2c3001c2c3+T100000100c1c20T1T400T1T4c3则可通过下式设计A1CA2的极点sIA1C+A2=sT1c11sc20T1T4sc33由sk0得s33ks23k2sk30,k0,可得满足极点为k的如下关系c3=3kc2T1T4T1=3k2T1T4c1+T1c3=k3而得到使A1CA2为Hurwitz的滑模参数C为(5.81)5.9.5仿真实例被控对象取式(5.73),物理参数取M1,m0.10,L=0.50,初始条件取(0)10,(0)0,x(0)0.20,x(0)0,干扰取dt=sint。仿真中,采用控制律式(5.79),滑模参数C按式(5.81)设计,取k5,h1.5,采用饱和函数方法,取边界层厚度为0.01,仿真结果如图5.23至图5.25所示。残骛楼諍锩瀨濟溆塹籟。elgnth0.20.10-0.1-0.20510time/(s)1520deepselgn0.80.60.40.20-0.2dth0510time/(s)1520图5.23倒立摆的角度和角速度noitisoptrax0.30.20.10-0.10510time/(s)1520deepstra0.20-0.2-0.4-0.6dx510time/(s)1502002468101214161820time(s)图5.24小车的位置和速度210-1tu-2itnup-2iltro-3tnco-4-5-6-7-8图5.25控制输入信号仿真程序:(1)Simulink主程序:chap5_11sim.mdl2)控制器S函数程序:chap5_11ctrl.mfunction[sys,x0,str,ts]=s_function(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case3,sys=mdlOutputs(t,x,u);case{1,2,4,9}sys=[];otherwisefunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;error([end'Unhandledflag=,num2str(flag)]);sizes.NumDiscStates=0;sizes.NumOutputs=1;sizes.NumInputs=4;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[];str=[];ts=[00];functionsys=mdlOutputs(t,x,u)g=9.8;M=1.0;m=0.1;L=0.5;I=1/12*m*L^2;l=1/2*L;T4=-m*l/(I+m*l^2);T2=-m^2*g*l^2/[(m+M)*I+M*m*l^2];T3=(I+m*l^2)/[(m+M)*I+M*m*l^2];T1=m*(M+m)*g*l/[(M+m)*I+M*m*l^2]-T4*T2;th=u(1);dth=u(2);x=u(3);dx=u(4);q1=th;q2=x;p1=dth;p2=dx;z1=q1+m*l/(I+m*l^2)*q2;z2=p1+m*l/(I+m*l^2)*p2;kesi1=q2;kesi2=p2;miu1=kesi2;miu2=[z1z2kesi1]';%%%%%%%%%%%%%%%%%%%%%%;k=5;c3=-3*k;c2=-(3*k^2+T1)/(T1*T4);c1=-(k^3-T1*c3)/(T1*T4);C=[c1c2c3];%%%%%%%%%%%%%%%%%%%%%%%sigma=miu1-C*miu2;dmiu2=[z2;T1*z1+T1*T4*kesi1;kesi2];h=1.5;fai=0.01;ifabs(sigma)<=faisat=sigma/fai;elsesat=sign(sigma);endut=1/T3*(-T2*z1-T2*T4*kesi1+C*dmiu2-h*sat);sys(1)=ut;(3)被控对象S函数程序:chap5_11plant.mfunction[sys,x0,str,ts]=spacemodel(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case1,sys=mdlDerivatives(t,x,u);case3,sys=mdlOutputs(t,x,u);case{2,4,9}sys=[];otherwiseerror(['Unhandledflag=,num2str(flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=4;sizes.NumDiscStates=0;sizes.NumOutputs=4;sizes.NumInputs=1;sizes.DirFeedthrough=0;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[-10/57.3,0,0.20,0];%x0=[0.01,0,0.020,0];str=[];ts=[00];functionsys=mdlDerivatives(t,x,u)%SingleLinkInvertedPendulumParametersg=9.8;M=1.0;m=0.1;L=0.5;I=1/12*m*L^2;l=1/2*L;t1=m*(M+m)*g*l/[(M+m)*I+M*m*l^2];t2=-m^2*g*l^2/[(m+M)*I+M*m*l^2];t3=-m*l/[(M+m)*I+M*m*l^2];t4=(I+m*l^2)/[(m+M)*I+M*m*l^2];ut=u(1);sys(1)=x(2);%ddth%ddxsys(2)=t1*x(1)+t3*(ut+sin(t));sys(3)=x(4);sys(4)=t2*x(1)+t4*(ut+sin(t));functionsys=mdlOutputs(t,x,u)sys(1)=x(1);%thsys(2)=x(2);sys(3)=x(3);%xsys(4)=x(4);(4)作图程序:chap5_11plot.mcloseall;figure(1);subplot(211);plot(t,x(:,1),'r','linewidth',2););ylabel('angle');legend('th');xlabel('time/(s)'gridon;subplot(212);plot(t,x(:,2),'r','linewidth',2);legend('dth'gridon;);xlabel('time/(s)');ylabel('anglespeed');酽锕极額閉镇桧猪訣锥。figure(2);subplot(211);plot(t,x(:,3),legend('x'r');xlabel(,'linewidth''time/(s)',2););ylabel('cartposition');彈贸摄尔霁毙攬砖卤庑。gridon;subplot(212);plot(t,x(:,4),'r','linewidth',2);legend('dx'gridon;);xlabel('time/(s)');ylabel('cartspeed');謀荞抟箧飆鐸怼类蒋薔。figure(3);plot(t,ut(:,1),'k','linewidth',2);xlabel('time(s)'gridon;);ylabel('controlinputu');[12]R.O.Saber.InputCoupling[J].厦礴恳蹒骈時盡继價骚。参考文献GlobalConfigurationStabilizationIEEETransactionsonAutomaticfortheControl,VTOLAircraft2002,47(11):WithStrong1949-1952.[13]R.O.Saber.NormalFormsforUnderactuatedMechanicalSystemsWithSymmetry[J].IEEETransactionsonAutomaticControl,2002,47(2):305-308.茕桢广鳓鯡选块网羈泪1q22p2则解耦后,耦合系统式(5.70)变为z1z2
/
本文档为【欠驱动完整系统解耦算法的滑模控制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索