基于MATLAB
Simulink的平面四连杆机构仿真
基于MATLAB/Simulink的平面四连杆机构仿真
一、题目及自由度分析
如图1所示,该平面四杆机构中有三根运动的均质钢杆,其中有两根钢杆的一端与接地点连接,第三根杆就与这两根杆剩下的端点连接起来,两个接地点就可认为是第四杆,机构中相关尺寸如图2所示。
计算结构自由度,三个运动杆被限制到平面内运动,因此每个杆都有两个移动和一个转动,即在考虑约束之前,自由度为:
3×(2+1)=9
但是由于每个杆都受到约束,所以并不是每个自由度都是独立的。在二维状态下,刚体间的连接或者刚体与接地点的连接就会增加两个约束。这样就会使得刚体其中一端不能够作为独立的自由运动点,而是要受到邻近刚体的约束。该题中有四个刚体--刚体或刚体—接地点的连接,这就隐含8个约束。
那么最后的自由度为9-8=1.虽然有四个转动自由度,但是,其中三个都是非独立的,只要确定其中一个,就可确定其余三个。
二、模型建立及参数设置
1应用MATLAB/Simulink建立初始模型
2在初始模型的基础上添加Joint
Sensor模块
3依题意设置相关参数
⑴配置Ground模块
由图2可得系统的基本尺寸为:
①固定构件长86.7厘米
②Ground_1表示接地点,在World
CS坐标轴原点右边43.3cm处
③Ground_2表示接地点,在World
CS坐标轴原点左边43.4cm处
④最下端的铰处于X-Z平面内原点以上4cm
图5Ground_1模块参数设置图6Ground_2模块参数设置
4配置Joint模块
三个没有接地的联杆都是在X-Y平面内的,所以Revolute轴必须是Z轴。
⑴依次打开Revolute参数对话框,保持默认值,即Axis
of
rotation[x
y
z]默认设置为[001],Reference
csys都是WORLD。
图7Revolute坐标设置
⑵根据连接情况依次设置Revolute参数对话框中的Connection
parameters参数
图8Revolute模块参数对话框Connection
parameters参数
图9Revolute模块参数对话框Connection
parameters参数
图10Revolute模块参数对话框Connection
parameters参数
图11Revolute模块参数对话框Connection
parameters参数5配置Body模块
本题中Body模块(即Bar)定位方式不是直接相对于WORLD坐标系统,而是采用相对坐标形式,Bar1的CS1相对于Ground_1,Bar2的CS1相对于Bar1,以此类推。
以下为每个Body模块的详细参数设置,其中包括质量(Mass)、惯性矩(Inertia)、重心坐标原点、CS1坐标原点、CS2坐标原点和重心的方向。
图12Bar1的模块参数设置
图13Bar2的模块参数设置
图14Bar3的模块参数设置三、检测运动,运行模型
图15仿真结果动画显示
图16Revolute2和Revolute3的转角时程曲线
三、小结
目前较为主流的动力学仿真软件是Adams,但鉴于本人对该软件接触较少,且MATLAB也具有该功能,故本题采用Simulink中的SimMechanics工具箱对平面四杆机构进行建模仿真,并利用其可视化窗口进行系统运动可视化。
通过仿真结果可以看到,使用已有的计算机仿真软件包Matlab/Simulink来建立机构的仿真模型,仿真求解机构力学和运动参数,可以把用户从复杂烦琐的数学计算中解放出来,提高了求解速度,保证了求解精度。