- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)