鲁棒控制作业.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Harbin Institute of Technology 《鲁棒控制》课程作业 课程名称: 鲁棒控制 院 系: 航天学院 班 级: 姓 名: 学 号: 教 师: 马杰、贺风华 哈尔滨工业大学 作业1 (1)为什么1927年Black在贝尔实验室利用高增益抑制真空管特性变化对放大器精度的影响? 由系统灵敏度的公式可知: S=1 所以增大系统的增益,G增大,所以S减小,所以在低频段处,高增益会使灵敏度降低。而灵敏度在数值上等于从干扰到输出的传递函数,因此灵敏度降低能抑制干扰对放大器精度的影响,包括真空管特性。但是,如果一味地提高增益会使Nyquist图更靠近(-1,j0)点,影响了系统的稳定性,,因此也不能过度提高增益去抑制干扰对精度的影响。 (2)Bode稳定性判定定理是否具有鲁棒性?请说明原因。 Bode稳定判据是指在Bode图上,根据开环频率特性的Bode图在幅频特性大于0dB的频段内相频特性正负穿越-180°线的次数之差来判断系统是否稳定。若直接利用Bode稳定判据对系统的标称对象进行稳定性判别,只能判断标称系统的稳定性,而不能判断标称性能的内稳定性,也不能判断在有摄动情况下的系统的鲁棒稳定性。综上所述,此稳定判据不具有鲁棒性。 作业2 考虑如下形式的零点不确定性,该形式适合表示零点从左半平面穿越到右半平面的情况。给定zp的一个范围,绘制该不确定性的10个随机采样bode图。 G Z 由题目要求可得: zp=z(1+rz 则被控对象可以表示为: G 选定G0S=1s2 matlab语句: zp=ureal('zp',5,'range',[2,8]); Gp=tf([1,zp],[1 10 24]); bode(usample(Gp,10)) 绘图结果: 作业2 (第三堂课作业,参数不确定性,matlab绘图) 考虑实际被控对象模型 该被控对象中含有时间滞后,其中。求取标准化的加权函数,表示为成型不确定性形式,并画出实际被控对象以及的幅频特性图。 解答: 选取标称模型为 , 则相对不确定 寻找W(S),使其幅频特性能够覆盖?(S)。 从幅频特性调试寻找,是满足条件的加权函数 matlab程序语句: s=tf('s'); for t=0:0.01:0.1 s=tf('s'); g=exp(-t*s)-1; bode(usample(g,10)) hold on end w=0.11*s+0.5; bode(w); 绘图结果: 经过放大(如下图)可以看出,设计成功。 实际被控对象Bode图如下: 作业三 SISO鲁棒控制系统设计 题目:结合课程学习内容,请查阅资料,完成一个SISO鲁棒控制系统设计过程,包括不确定性模型的建立,加权函数的选择,控制器设计,并给出仿真结果(包括Matlab仿真代码)。 一、设计简介 设计名称:双手协调机器人单个关节控制系统的设计 某双手协调机器人单个关节的控制系统为单位负反馈系统,被控对象为机械臂,控制模型用传递函数可表示为: P= 其中,k为考虑到执行部件放大作用而产生的比例系数,经过查阅资料,其标称值与不确定性范围如下表所示: 参数 k a 标称值 4 0.5 范围 3-5 0.25-0.75 由此可得其标称函数为: P 为了确定其不确定性,对式(1)进行不确定性采样,Matlab程序如下: k=ureal('k',4,'range',[3,5]); a=ureal('a',0.7,'range',[0.25,0.75]); G0=tf(4,[1 0.5 0]); G=tf(k,[1 a 0]); Gw=G-G0; bode(usample(Gw,20)) 由于原系统中不确定性参数较多,为了简化分析和设计处理,决定将系统的多个参数的不确定性描述为动态不确定性。若选择加性不确定性,则系统可描述为: P 其中 P0(s)为系统标称传递函数,WTs W 经过反复试凑,K=2时,可以覆盖系统的全部摄动。故选取摄动界函数为: W Matlab程序如下: k=ureal('k',4,'range',[3,5]); a=ureal('a',0.7,'range',[0.25,0.75]); G0=tf(4,[1 0.5 0]); G=tf(k,[1 a 0]); Gw=G-G0; Gt=tf(2,[1 0.5 0]); bode(usample(Gw,20),usample(Gt,20)) 放大

文档评论(0)

137****0427 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档