网站大量收购独家精品文档,联系QQ:2885784924

倒立摆实验三.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
倒立摆实验三

实验三研究倒立摆系统对信号的跟踪 实验目的 观察倒立摆对于不同输入信号的跟踪情况,加深对状态空间和状态反馈的理解。 实验内容 在平衡位置,分别设定下列三种信号,记录倒立摆的运动情况: (1) 方波信号:频率0.2Hz,幅值0.05m (2) 正弦波信号:频率0.2Hz,幅值0.05m (3) 锯齿波信号:频率0.2Hz,幅值0.05m 三、实验步骤: 系统实际参数请参考实验一。具体步骤如下: (1) 编制MATLAB 程序对状态反馈控制系统进行信号跟踪仿真,输入按实验要求生 成,同时状态反馈向量K 取由实验二得到的,使实际系统满足控制要求的反馈向 量K0 ;记录15 秒的响应过程; (2) 启动教学程序,开始实时控制,用默认参数起摆,待摆杆稳定后,将K 值设定 为K0 ; (3) 双击Signal模块,设定频率和幅值; (4) 等待摆杆稳定后,双击Switch模块,切换到Signal模块输入; (5) 双击示波器Scope观测系统响应,保证时间在20 秒以上;然后双击Switch模 块,切换到Pos Ref模块输入,等待小车回到初始稳定位置; (6) 停止实时控制,双击Signal模块,选择不同的输入信号: (7) sine - 正弦波,square - 方波,sawtooth - 锯齿波; (8) 再次开始实时控制,直到三种波形均观测完毕; (9) 编写MATLAB 程序绘出实际系统的实时跟踪曲线,仿真时间至少15 秒; (10) 在锯齿波跟踪曲线图上,利用放大功能测量出实际系统对于输入的延迟时间:测量输入曲线和锯齿波响应曲线最高点之间的时间差,利用多个时间差求平均获得平均延迟时间。 四、MATLAB源程序 M=1.32; m=0.132; b=0.21; l=0.27; I=0.0032; g=9.8; T=0.02; p=I*(M+m)+M*m*l^2; A=[0 1 0 0;0 -(I+m*l^2)*b/p m^2*g*l^2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0]; B=[0;(I+m*l^2)/p;0;m*l/p]; C=[1 0 0 0;0 0 1 0]; D=0; %求反馈向量K R=1; Q1=200; Q3=100; Q=[Q1 0 0 0;0 0 0 0;0 0 Q3 0;0 0 0 0];K=lqr(A,B,Q,R); K K = -14.1421 -12.1467 63.5825 11.8413 %求状态反馈后的系统sysstate Ac=A-B*K; Bc=B*K(1); %输入变换使输入与反馈的量纲匹配 sysstate=ss(Ac,Bc,C,D) a = x1 x2 x3 x4 x1 0 1 0 0 x2 10.45 8.823 -46.28 -8.752 x3 0 0 0 1 x4 29.05 24.52 -101.4 -24.33 b = u1 x1 0 x2 -10.45 x3 0 x4 -29.05 c = x1 x2 x3 x4 y1 1 0 0 0 y2 0 0 1 0 d = u1 y1 0 y2 0 Continuous-time model. %%% 信号模拟发生器 T=0.001; Tmax=15; %生成阶跃信号¨ t=[0:T: Tmax]; U=0.1*ones(size(t)); plot(t,U) y=lsim(sysstate,U,t);figure(1); plot(t,U,R) hold on y=lsim(sysstate,U,t);figure(1); hold on plot(t,y(:,1),t,y(:,2),r); ylabel(Position/m or Angle/rad); legend(Car Position,Pendulum Angle); %生成方波信号 [U, t] =gensig(square,5, Tmax,T);U=0.1.*U; y=lsim(sysstate,U,t);figure(1); hold on [U, t] =gensig(square,5, Tmax,T);U=0.1.*U; plot(t,U,b) plot(

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档