您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页球棒系统的建模及反馈控制

球棒系统的建模及反馈控制

来源:飒榕旅游知识分享网
球棒系统的建模及反馈控制

题 目: 姓 名: 学 院: 班 级: 学 号:

球棒系统的建模及反馈控制

工 学 院

指导教师: 李玉民 林相泽

20 年 6 月 7日 南京农业大学教务处制

自动控制原理Ⅱ实习报告

由刚性球和连杆臂构成的球棒系统,如图一所示。连杆在驱动力矩作用下绕轴心点O做旋转运动。

连杆的转角和刚性球在连杆上的位置分别用,r表示,设刚性球的半径为R。当小球转动时,球的移动和棒的

- 0 -

运动构成复合运动。

刚性球与机械臂的动态方程由下式描述

选取刚性球的位移r和其速度r,以及机械的转角及其角速度作为状态变量,令

xx1,x2,x3,x4r,r,,,可得系统的状态空间表达式

22设球棒系统各参数如下:m0.05kg,R0.01m,J0.02kgm,Jb2106kgm2,G9.81m/s。

TT一、将系统在平衡点x0处线性化,求解线性系统模型。

首先求系统的平衡点,令G(x)0,

x2=012x(x1x4Gsinx3)=01mGJbm2即R ,解得x20

x30x4=012mx1x2x4mGx1cosx3x40=0mx12JJbmx12JJbx10x02若要维持系统稳定,平衡状态时 0,既得

x03x40 ;

用李雅普诺夫第一方法将系统在平衡点处线性化处理如下: 经过线性化处理,系统模型为: 利用matlab可求得:

eig(A)[7.6577.657i7.657i7.657],可知该系统是不稳定的。

二、利用状态反馈将线性系统极点配置于12j,12j,求解状态反馈增益,并画出小球初试状态为r0.3,横杆角度为30和初始状态r0.3,横杆角度为

30时的仿真图像tx。

先判断系统是否完全能控

- 1 -

UcBABA2B07007.1500007007.1503AB0500050000,

可知该系统是完全能控的,可进行状态反馈。 极点配置于12j,2j 的闭环特征多项式为: 状态反馈设置

令uvkx,则状态反馈后系统的状态空间表达式为: 利用 Matlab 编程,最后求得系统状态反馈控制矩阵为: 即所求的状态反馈增益。

则状态反馈后系统的状态空间表达式为:

状态反馈后的模拟结构图为: y2y1x4u用matlab做出的simulink状态反馈图为x3 140.142950+ 图62. simulink状态反馈图一 18下面分别通过M文件和simulink分别进行两种初始状态的仿真 0.2141Ⅰ r0.3,30时 Ⅱr0.3,30时 Ⅰ 编写M程序【附录1】 画出小球初试状态为

图1 状态反馈后系统的模拟结构图

x2x10.1784r0.3,30时系

统的仿真图像tx, 见图3。

Simulink仿真的图像如图4所示:

图3 小球初试状态为r0.3,30时系统的仿真图像tx

- 2 -

图4 初始状态为r0.3 30时simulink仿真图

Ⅱ 编写M程序画出小球初试状态为r0.3,30时系统的仿真图像tx,程序中只需将程序一中的x0=[0.3 0 pi/6 0]改为x0=[-0.3 0 -pi/6 0]即可,见图5

Simulink仿真的图像如图6所示:

图6 初始状态为 r0.3 30 时simulink仿真图

三、设计具有合适极点的状态观测器,实现状态反馈,给出状态反馈增益和观测器增益,并画出小球初试状态为r0.3,横杆角度为30和初始状态r0.3,横杆角度为30时的仿真图像tx,以及观测器输出与系统状态差值图像(te)。

由分离性原理,可分别设计状态反馈增益与观测器增益,下面先设计状态反馈增益,然后设计观测器增益

图7 5 小球初试状态为r0.3,30时系统的仿真图像tx 图加入状态反馈和观测器后系统的模拟结构图

Part 1.状态反馈增益的设计

由上从求得的仿真图可知,系统的调节时间和超调量都比较大,运行matlab时,系统还提示: Warning: Pole locations are more than 10% in error.

因此很有必要通过超调量和调整时间重新配置极点。设定系统的超调量为5%,调整时间为

- 3 -

ts1s。得

0.69215%e到不等式,解不等式,取5.796

4n1sn所以s1,2njn1此处选择404.2j。

在matlab中通过acker函数【附录2】直接求得k和A-BK:

求得状态反馈增益为k -8.0871 -2.1906 45.1200 1.7600,反馈后的系统矩阵为: Part 2.设计观测器增益 首先判断系统能观性:

244.2j,将其作为主导极点,另外两个极点可选为任意实部大于5倍s1,2,

Rank(Uo)4n

系统完全能观,可设计状态观测器。

状态观测器为取得较为合适的特征值 ,根据Rei{AEC}(3~5)Rei{ABK}的原则选择观测器的极点

s1,2154.2j,s3,4654.2j。

由分离性原理知e(AEC)e,在matlab中通过place函数【附录3】直接求得E和A-EC:

010.424.510.475.775.7835.5836.575.5075.50。 ,AEC求得E12.6140.184.312.6084.3857.501297.70857.51298.7程序【附录四】画出小球初试状态为r0.3,30时系统的仿真图像tx,见图

- 4 -

10-1-2-3-4-5-6-7-800.050.10.150.20.250.30.350.40.450.5

图8.初试状态为r0.3,30时系统的仿真图像 tx

Simulink搭建 e(AEC)e 系统图如图9

9simulink搭建系统的观测器输出与系统状态差值t-e

初试状态为r0.3,30时系统观测器输出与系统状态差值t-e见图10。 图10 初试状态为r0.3,30时系统的观测器输出与系统状态差值图像te

把上面程序中的x0=[0.3 0 pi/6 0]改为x0=[-0.3 0 -pi/6 0] 即为小球初试状态为r0.3,30时系统的仿真图像tx,见图11。

- 5 -

8763210-100.050.10.150.20.250.30.350.40.450.5

图11 小球初试状态为r0.3,30时系统的仿真图像

观测器输出与系统状态差值图像te,见图11

分析与总结:

图11球初试状态为r0.3,30时

系统的观测器输出与系统状态差值图像te

该系统搭建出来是一个非线性系统,需要用李雅普诺夫第一方法将系统在平衡点处线性化为四阶线性系统;用能控性判据判断出该系统是完全能控的,可进行状态反馈,第二问中给出了两对目标极点,可利用matlab求得状态反馈增益K,我们得到了反馈后的系统。然后利用simulink仿真,题目中给出了球棒的两种初始状态,我们通过仿真图可以发现系统性能很不理想,超调量过大,调整时间过长,实际上是由于极点选择不当造成的,这样才有了第三问中全维观测器的设计。对原系统进行能观性判断,可知系统完全能观测,可进行观测器设计。由分离性原理,可分开设计状态反馈增益与观测器增益,两者互不干扰,我们自己设定了超调量(5%)和调整时间(1s),然后求出一对极点,我们运用主导极点的思想,设计了另外一对极点,这样状态反馈增益k就得到了;然后为状态观测器选取特征值,进而用matlab求得观测器增益E,我们用m程序画出t-x仿真图,用simulink画出t-e仿真图,发现系统性能得到了很大提高,符合设计要求。

M程序附录:

程序一:

>> A=[0 1 0 0;0 0 -140.14 0;0 0 0 1;-24.52 0 0 0]; >> B=[0;0;0;50];

>> C=[1 0 0 0;0 0 1 0];

- 6 -

>> D=[0];

>> P=[-1-2*j,-1+2*j,-2-j,-2+j]; >> K=acker(A,B,P) >> A1=A-B*K >> u=0;

>> G=ss(A1,B,C,D); >> x0=[0.3 0 pi/6 0]; >> [y,t,x]=initial(G,x0); >> plot(t,x) 程序二:

>>A=[0 1 0 0;0 0 -140.143 0;0 0 0 1;-24.523 0 0 0]; >>B=[0;0;0;50];

>>C=[1 0 0 0;0 0 1 0]; >>D=[0];

>>P=[-4-4.2*j,-4+4.2*j,-40-4.2*j,-40-4.2*j]; >>K=acker(A,B,P) >>A-B*K

程序三:

>>A=[0 1 0 0;0 0 -140.14 0;0 0 0 1;-24.52 0 0 0]; >>B=[0;0;0;50];

>>C=[1 0 0 0;0 0 1 0]; >>D=[0];

>>P=[-15+4.2*j -15-4.2*j -65+4.2*j -65-4.2*j]; >>C=C'; >>A=A';

>>E=place(A,C,P); >>E'

>>A=A-(E')*(C')

程序四

>> A=[0 1 0 0;0 0 -140.14 0;0 0 0 1;-24.52 0 0 0]; >> B=[0;0;0;50];

>> C=[1 0 0 0;0 0 1 0]; >> D=[0];

>> P=[-15+4.2*j -15-4.2*j -65+4.2*j -65-4.2*j]; >> C=C'; >> A=A';

>> G=place(A,C,P); >> A=A'-(G')*(C'); >> C=C';

>> B=[0;0;0;0];

>> x0=[0.3 0 pi/6 0]; >> G=ss(A,B,C,D);

>> [y,t,x]=initial(G,x0); >> plot(t,x)

>> x0=[-0.3 0 -pi/6 0]; >> G=ss(A,B,C,D);

>> [y,t,x]=initial(G,x0); >> plot(t,x)

- 7 -

- 8 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务