为焊接机器人设计手臂位置控制系统-

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
s0
Kn 2
表一:劳斯判定矩阵
0
若要使系统稳定,其充要条件是劳斯矩阵的第一列均为正数,即:
0.4n 0 0.4n 3 Kn 2 0 0.4 n K 2 0 n
所以:
K 0.4 0 n K , 0 n
3,仿真设计
5 进一步编程分析
上文中可行范围的确定,仅仅是从图片的观察得到的,这里使用 Matlab 软件找到图二 中点的边界,再进行拟合,可以得到较为精确的范围。 得到的两条线性方程分别为:
K 0.2361n 0.0467 K 0.1292n 1.5003
边界提取和曲线拟合的程序代码:
K 0.15n 和 K 0.24n , 即两条直线分别为: 最小值要求是 n 不能小于 18。
此时的区域已经满足要求。
4,参数优选
上述范围内的所有 K , n 值已经满足基本条件,但是系统的实际情况仍然不 知,如系统的震荡情况平稳性,响应过程的速率。希望能得到一个在满足题目基 本要求上,同时平稳性较好,且系统响应较快的过程。 故再次仿真,希望从上述的可行范围内找出较优的参数选取。 0.18n, 0.21n, 0.24n 进行时序仿真。 分别取 n =15,30,45,60,75 , K 0.15n,
GB ( s) Kn 2 s 3 0.4n s 2 n 2 s Kn 2
系统的特征方程为:
s3 0.4n s 2 n 2 s Kn 2 0
为确保系统的稳定性,列写劳斯阵列表:
s3 s2
s
1
0.4n
0.4n 3 Kn 2 0.4n
n 2
Kn 2
图六:n =60的时序仿真
1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
w= 75
k=0.15w k=0.18w k=0.21w k=0.24w
程序代码如下:
clear,clc m=0; for i=1:200 %从0.5, 1, 1.5到100试探w w=0.5*i; for j=1:80 %从0.005w,0.01w,0.015w到0.4w试探k k=0.01*j*w; num=[k*w*w]; den=[1 0.4*w w*w k*w*w]; t=[0:0.01:100]; %设定时间范围为1~100s [c,x,t]=step(num,den,t); ma=max(c); tp=find(c==ma); %找出10s内的峰值时间 if (tp<100) if(1<ma<1.05) %筛选符合条件的k,w值 m=m+1; ck(m)=k; %符合条件的k,w值分别存入数组ck,cw cw(m)=w; end end end end plot(cw,ck,'.'); axis([0 100 0 40]) %绘制满足条件的k,w散点分布图
j=1; for i=18:100 a=find(cw*==i); amax=max(ck*(a)); ccw(j)=i; cckmax(j)=amax; amin=min(ck(a)); cckmin(j)=amin; j=j+1; end a=polyfit(ccw,cckmax,1); b=polyfit(ccw,cckmin,1); xi=0:0.001:100; yi1=polyval(a,xi); yi2=polyval(b,xi); plot(ccw,cckmax,'.r',ccw,cckmin,'.r',xi,yi1,'b',xi,yi2,'b'); %画出上下界散点图,和拟合后的直线 axis([0 100 0 40]) %线性拟合上下界 %找出下界 %找出上界
由仅有的条件, 只能得到 K , n 之间的比例关系, 无法知道具体的数值大小, 故 在 仿 真 时 , 取 n 0 . 5 , 1 , 1 . 5 , 2 , . . . ,, 分 别 99 ,1 0对 0 应 每 一 个 n 取 K. 5
0.005n ,0.01n ,0.015n ,...0.395n ,0.4n 。 假设,如果 0 到 100s 的最大值是在 1s 之前,则认为这个最大值就是系统所 有时间的最大值。 峰值时间 t p 1 设定时间范围为 0~100s, 取出满足 的所有 K 和 n , 最大超调量 p % 5% 存入向量,绘制散点图。
Matlab代码二
时序仿真结果如下图:
1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
w= 15
k=0.15w k=0.18w k=0.21w k=0.24w
图五:n =45的时序仿真
1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
w= 60
k=0.15w k=0.18w k=0.21w k=0.24w
K 0.2361n 0.0467 较为精确的取值范围应当为: 。 K 0.1292n 1.5003
图一:机器人手臂控制系统结构图
2,问题分析和预处理
由结构图,得到开环传递函数为: K n 2 G( s) 2 s s 2n s n 2 闭环单位反馈的闭环传递函数为: G( s) Kn 2 GB ( s) 3 1 G( s) s 2n s 2 n 2 s Kn 2 代入 0.2
Matlab代码一
得到的散点分布图如下:
符合条件的Wn,k值 40 35 30 25 20 15 10 5 0
K
0
Fra Baidu bibliotek
10
20
30
40
50 Wn
60
70
80
90
100
图二:满足系统要求的K , n分布散点图
观察散点图可以发现, K , n 分布在两条直线之间,且并非从零点开始。说 明系统对这两个参数有最小值的要求。回到 Matlab 中查看数据,满足系统要求 的区域大致如下: K 0.24 0.15 n 18 n
图七:n =75的时序仿真
对比上面五个图片,发现当 n =15,30 时,响应过程较为缓慢,虽然峰值时间都满足在 1 S 之前,但是 1s 后的波动依然较大。当 n =60,75 响应速度较快,但是震荡的较为厉害。故 选在 n =45 的时候相应速度和震荡都较合适。对于 n =45 观察图五,发现当 K 值不同时, 仅仅是震荡的幅值发生了变化(超调量不同) 。 考虑系统的平稳性,选取 K 0.18n ~ 0.21n 即可。 横向纵向比较图三到图七,可以发现: 结论一:系统的震荡频率仅和 n 相关, n 越大振荡频率越大; 结论二:系统的超调量和 K与n 的比值有关,当比值越大,超调量越大。
图四:n =30的时序仿真
1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
w= 45
k=0.15w k=0.18w k=0.21w k=0.24w
图三:n =15的时序仿真
1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
w= 30
k=0.15w k=0.18w k=0.21w k=0.24w
Matlab代码三 注*:此代码中变量 cw,ck 沿用 Matlab 代码一中取值 得到的边界散点图和拟合的直线如下图:
40 35 30 25 20 15 10 5 0
K
0
10
20
30
40
50
Wn
60
70
80
90
100
图八:对于可行范围的边界提取和拟合
K 0.24 0.15 n 综上,系统对于 K与n 的可行范围在对肉眼观察结果: 有了修正。 18 n
程序代码如下:
clear,clc for j=1:5 w=j*15; k=0.15*w; num=[k*w*w]; den=[1 0.4*w w*w k*w*w]; t=[0:0.01:3.5]; [c1,x,t]=step(num,den,t); figure(j) %绘制第j个图 axis([0 1.5 0 1.5]) %设定图片范围 set(gca,'xtick',[0:0.1:3.5],'ytick',[0:0.1:1.5]); grid on; %生成网格 text(0.71,1.33,'w='); text(0.77,1.33,num2str(w,'%d')); hold on k=0.18*w; num=[k*w*w]; den=[1 0.4*w w*w k*w*w]; [c2,x,t]=step(num,den,t); k=0.21*w; num=[k*w*w]; den=[1 0.4*w w*w k*w*w]; [c3,x,t]=step(num,den,t); k=0.24*w; num=[k*w*w]; den=[1 0.4*w w*w k*w*w]; [c4,x,t]=step(num,den,t); plot(t,c1,t,c2,t,c3,t,c4) legend('k=0.15w','k=0.18w','k=0.21w','k=0.24w') end %对w取5个不同值
0.0467 , K 0.1292n 1.5003 时系统能满 围。根据仿真结果,当 K 0.2361 n
足题目要求。即 K 和 n 的取值夹在两条直线之间。综合震荡情况和响应速度等 其他方面考虑,选取 n =45 , K 9 为较合适但不唯一的值。
1, 问题重述
为焊接机器人设计手臂位置控制系统时,需要仔细选择系统参数。机械臂控 制系统的结构如图一所示,其中 0.2 。试确定 K 和 n 的取值,使得系统单位 阶跃相应的峰值时间不超过 1s , 且超调量小于 5%, (提示: 先考虑 0.1 K / n 0.3 )
机器人手臂控制系统的参数取值
班级:和尚班 学号:学号你知道了也没用 姓名: Box~
【摘要】
机器人手臂系统控制的参数需要仔细选择, 使其峰值时间和超调量满足要求。 而当系统的传递函数并非简单的一阶或二阶系统时,不能直接使用 《自动控制原 理》中的结论,给出各个参数与性能指标的关系。故先在满足稳定性的条件下, 使用 Matlab 程序进行对各个参数的不同取值仿真,得到符合条件的 K 和 n 的范
相关文档
最新文档