(完整版)一级直线倒立摆matlab程序_第1页
(完整版)一级直线倒立摆matlab程序_第2页
(完整版)一级直线倒立摆matlab程序_第3页
(完整版)一级直线倒立摆matlab程序_第4页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、非线性作业一一级直线倒立摆如图 1所示系统里的各参数变量M :小车系统的等效质量(1.096kg);m1 :摆杆的质量( 0.109kg);m2 :摆杆的半长( 0.25m);J:摆杆系统的转动惯量(0.0034kg*m);g:重力加速度( 9.8N/Kg );r:小车的水平位置( m);:摆角大小(以竖直向上为0 起始位置,逆时针方向为正方向) ;Fh :小车对摆杆水平方向作用力( N)(向左为正方向), Fh 是其反作用力; Fv :小车对摆杆竖直方向作用力( N)(向上为正方向), Fv 是其反作用力;U:电动机经传动机构给小车的力,可理解为控制作用 u(向左为正方向); xp :摆杆重

2、心的水平位置( m); yp :摆杆重心的竖直位置( m)。11 一级倒立摆的数学建模定义系统的状态为 r,r,经推导整理后可以达到倒立摆系统的牛顿力学模型:( Iml 2 )mr l cosmgl sin( 1)ml cos( Mm)rml sin2u( 2)因为摆杆一般在工作在竖直向上的小领域内=0,可以在小范围近似处理:cos1,sin0,20 ,则数学模型可以整理成:( Iml 2 )mr lmgl( 3)ml(Mm)ru(4)系统的状态空间模型为01000rrIml2m2gl2000rr2I (Mm)Mml2I (Mm)Mml=u ( 5)01+00m)000mgl(M0mlI (M

3、m)Mml 2I (MMml 2m)ryr1000 r0( 6)0010u0代人实际系统的参数后状态方程为:r0100r0r000.62930r0.8832u( 7)=+000100027.828502.3566rr1000 r0( 8)yu001001.2 滑模变结构在一级倒立摆系统的应用主要包括切换函数的设计、 控制率的设计和系统消除抖振的抑制。基于线性二次型最优化理论的切换函数设计,定义系统的优化积分指标是:JxT QxdtQ>0,0本文采用指数趋近律: SkS sgn(S) ,其中 k 和 为正数。将其代人 S=Cx=0中,可以得到:S Cx CAxCBukSsgn(S)(9)控

4、制率为:u(CB)1 (CAx kSsgn()(10)S的选取主要是为了抑制系统的摩擦力和近似线性化所带来的误差和参数摄动等因素,从而使得系统具有良好的鲁棒性。文中k=25, =0。.8取变换矩阵 T。1000其中T= 0( Iml 2 )10ml,00100001去 Q*11=diag(300 50 350), Q22=10T0的解有 MATLAB 的 lqr关于 Riccati 方程 PA11 A11 P PA12 Q221 A12T P Q11函数可以解出692.7165214.9281359.6098P 214.9281 112.1894149.8204359. 6098 149.82

5、04 354.4007C 0100.000069.2717210.629535.9610TS( x)C 0rr二程序% 主程序:直线一级倒立摆 clear allclose all global C M0 F ts=0.02; %采样时间T=30; %仿真时间 TimeSet=0:ts:T;para=;%options 为解微分函数中的调整参数 ,reltol 和 abstol 分别是设置相对误差和绝对误差options=odeset('RelTol',1e-3,'AbsTol',1e-3 1e-3 1e-3 1e-3);%options=;x0=0.5,0.3

6、,0,0; %初始值t,xout=ode45('daolibai2eq',TimeSet,x0,options,para);%固定格式,子程序调用%返回值x1=xout(:,1);x2=xout(:,2);x3=xout(:,3);x4=xout(:,4);s=C(1)*x1+C(2)*x2+C(3)*x3+C(4)*x4; %切换函数或切换面%选择控制器if F=1% for k=1:1:T/ts+1 M0=40; %u(k)=-M0*sign(s(k); u=-M0*sign(s); %endelse if F=2beta=30;delta=0;for k=1:1:T/ts

7、+1u(k)=-beta*(abs(x1(k)+abs(x2(k)+abs(x3(k)+abs(x4(k)+delta)*sign(s(k); endend%绘图figure(1);plot(t,x1,'r');xlabel('time(s)');ylabel('Cart Position');figure(2);plot(t,x2,'r');xlabel('time(s)');ylabel('Pendulum Angle');figure(3);plot(t,s,'r');xlab

8、el('time(s)');ylabel('s');figure(4);plot(t,u,'r');xlabel('time(s)');ylabel('u');end% 子程序function dx=DxnamicModel(t,x,flag,para)% 自定义动态函数 global C M0 F%倒立摆经计算后模型M=1.096;m=0.109;b=0.1;l=0.25;I=0.0034;T=0.005;g=0.98;k22=-(I+m*l2)*b/(I*(M+m)+M*m*l2);k23=m2*g*l2/(I

9、*(M+m)+M*m*l2);k42=-m*l*b/(I*(M+m)+M*m*l2);k43=m*g*l*(M+m)/(I*(M+m)+M*m*l2);b12=(I+m*l2)/(I*(M+m)+M*m*l2);b14=m*l/(I*(M+m)+M*m*l2);A=0,1,0,0;0,k22,k23,0;0,0,0,1;0,k42,k43,0;b=0;b12;0;b14;%Ackermann's formulan1=-1;n2=-2;n3=-3;C=0,0,0,1*inv(b,A*b,A2*b,A3*b)*(A-n1*eye(4)*(A-n2*eye(4)*(A-n3*eye(4);s=C*x;F=2;if F=1M0=40;u=-M0*sign(s);elseif F=2beta=30;delta=0;u=-beta*(abs(x(1)+abs(x(2)+abs(x(3)+abs(x(4)+delta)*sign(s);end%state equationdx=zeros(4,1);f0=0.5;ft=f0*sin(3*t);dx=A*x+b*(u+ft);三仿真结果0.90.80.70.6n 0.5oi tiso 0.4PrtaC 0.30.20.10-0.105101520253

温馨提示

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

评论

0/150

提交评论