球杆系统仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
球杆控制仿真
一球杆系统的数学模型
球杆系统的物理模型如下图所示:
图1:球杆系统模型
在这个模型里,我们假设球在杆上只有纯滚动而没有滑动并且我们忽略球和杆之间的摩擦力。我们定义这个模型中的变量和常量如下:
m 球的质量0.1 kg
R 球的半径0.02 m
d 轮的半径0.05 m
g 重力加速度9.8 m/s^2
L 杆长 1.0 m
J 球的转动惯量 1.0e-5 kgm^2
r 球的位置
α杆与水平的夹角
θ伺服机构与水平的夹角
表1:模型的变量和常量
球杆系统的数学建模:
系统的动能:
222])r L [(m 2
1r
m 21)R r
(J 21T α-++= 系统的势能:
α-=sin mgr U
该系统的拉格朗日方程为:
0r
U
r T )r T (dt d =∂∂+∂∂-∂∂ 通过拉格朗日法得到球的运动方程:
0))(r L (m sin mg r
)m R
J
(22=α-+α-+ 若我们假设杆与水平的夹角是小角度且0≈α ,对上面的方程进行线性化,我们
得到:
α=+mg r
)m R
J
(2 杆的角度与伺服机构的角度的关系可以近似的线性化为:
θ=αL
d
综合上面几个方程我们得到:
θ=+L
d
mg r
)m R J (2
对方程两边做拉普拉斯变换:
)s (L
d mg s )s (R )m R J (2
2Θ=+ 整理后我们得到系统线性化后的开环传递函数:
22
s
1
)m R J (L mgd )s ()s (R +=
Θ
二 控制器的设计
在这里,我们采用普遍使用的PID 控制器。整个系统的闭环框图可以表达为:
图2:线性化后的控制框图
令 )
S ()
S (R )S (H Θ=
,得: )S (R )s (H S
K S K S K ))S (R )S (r (I
P 2D =⋅++-
我们取p K =21,I K =0,D K =14,将球稳定在杆的中点,仿真结果如下图所示:
图3:仿真结果
通过仿真结果表明将系统线性化后,该系统的超调量小于1%,上升时间3秒。
如果我们进一步考虑该模型的非线性性,可以得到
⎪⎪⎩
⎪⎪⎨⎧
θ
=α+α
--α=L d )m R J ())(r L (m sin mg r 22
在Matlab Simulink 中我们可以用如下方框图表示θ和r 的关系:
图4:θ到r 的方框图
其中f(u)是 (m*g*sin(u[3])- m*(L-u[1])*(u[4])^2) /(J/(R^2)+m),u[1]是
r , u[2]是r
,u[3]是α, u[4]是α 。 这样我们可以得到非线性情况下的系统框图:
图5:非线性系统框图
我们取P K =1.8,I K =0,D K =3.8,将球稳定在杆的中点,仿真结果如下图所示:
图6:仿真结果
通过仿真结果表明将系统按照非线性处理后,该系统的超调量小于1%,上升时间约8秒。
r ,r
,α,α 的响应曲线如下图所示:
图7:r ,r
,α,α 的响应曲线
基于GUI的动画仿真效果如下图所示:
图8:基于GUI的仿真效果