基于SimMechanics的四杆机构与双倒立摆机构仿真技术研究--控制网



基于SimMechanics的四杆机构与双倒立摆机构仿真技术研究
企业:控制网 日期:2005-07-28
领域:电气联接 点击数:1548


    随着计算机技术的发展,为了满足市场竞争对产品高性能的要求,对所设计的产品进行动力学、运动学等方面的仿真是很必要的。通过建立仿真软件支持的产品模型,从而实现机电一体化产品方案的确定,并可以及时快速的利用模型仿真结果分析得到反馈信息,进而改进和优化设计方案[1]。Matlab软件利用强大的科学数值计算能力和良好的Simulink人机交互图形界面仿真环境可以对机械系统进行建模仿真以及系统参数优化[2、3]。特别是SimMechanics工具箱的推出,使得机械系统的建模与仿真变得更加简便易行。

1.SimMechanics简介

    SimMechanics是The Math Work公司于2001年10月推出的机构系统模块集(SimMechanics Block-set),它可以对各种运动副连接的刚体进行建模与仿真,实现对机构系统进行分析与设计的目的。它提供了一个可以在Simulink环境下直接实用的模块集,可以将表示各种机构的模块在普通Simulink窗口中绘制出来,并通过它自己提供的检测与驱动模块和普通的Simulink模块连接起来,获得整个系统的仿真结果[3]。

该模块中包含下列几个子模块:
    (1) 刚体子模块组(Bodies):有两个模块,机架和刚体,在使用刚体模块时,用户还可以根据实际情况设置包括刚体质量、位置、方向和坐标系在内的一系列参数;
    (2) 约束与驱动模块组(Constrains & Drivers):有静力学约束的模块,如齿轮约束等,还包括各种传动模块;
    (3) 辅助工具模块组(Utilities):这里的模块语序在其他模块中添加节点,或将信息转换成虚拟现实工具箱用的数据;
    (4) 运动副模块组(Joints):提供了各种运动副的图标,如回转副、平面副等,可以用这些运动副来连接刚体,构造所需机构;
    (5) 检测与驱动模块组(Sensors & Actuators):检测模块用来和普通的Simulink模块交换信息。驱动模块用来给机构添加Simulink输入量。
    下面就分别以平面四杆机构和双倒立摆机构为例来介绍SimMechanics工具箱的应用和技巧,并对仿真结果进行分析。

2.机构仿真

2.1平面四杆机构的仿真
    如图1所示为一平面四杆机构的运动简图,假设AB杆绕A点以 的角速度旋转,分析C点的运动情况。



图1 平面四杆机构运动简图

2.1.1绘制仿真框图
    打开Simulink中的SimMechanics工具箱,从刚体模块组中复制Ground模块到仿真图中,然后从运动副模块组中复制Revolute模块构造出第一个转动副,依此类推,就可以将所有的模块都复制到仿真图中,然后用类似于普通Simulink模块的联结方法对所复制的模块进行相应连接,这样就完成了机构的简单搭建工作。另外考虑到A点是机构的输入端,所以要从Sensors & Actuators模块组中复制Joint Actuator模块以及step模块用于提供正弦信号,相应的,C点是输出端,故在仿真图中添加从Sensors & Actuators模块组中复制的Joint Sensor模块以及scop模块,以得到C点运动的角速度、角加速度曲线。如图2所示其机构仿真框图。



图2 平面四杆机构仿真框图

2.1.2参数设置
    在SimMechanics仿真框图中,如果模块已经相应连接完毕,会自动填写好模块的主动端和从动端名称。对于平面四杆机构中的转动副来说,要设定的参数是坐标系和转动向量。如图3所示。




图3 转动副的参数设置

    为简单起见,此机构的四个转动副坐标系均选为世界坐标(World),另此机构仅绕z轴正向旋转,则方向向量选为[0,0,1]。对于机构的A和D端要分别进行坐标的设定,根据已知条件可以得出两点的坐标分别为[0,0,0]和[30,0,0],如图4所示D点坐标设定。



图4 D点坐标设定

    连杆刚体的参数设定包括刚体质量、刚体惯性、刚体坐标系等设置。以连杆BC为例来依次进行说明,如图5所示。其中,连杆的质量(Mass)和惯性量(Inertia)都是要通过Matlab程序给出的,在其参数设定表中只是给定其代表符号,例如图5中连杆BC的质量和惯性量分别命名为mbc和tbc。另外,刚体连接系统(Body coordinate system)中要给出其位置向量和连接方向参数,如图5中所示。



图5 连杆的参数设定


2.1.3 m文件编辑
    完成上述两项工作以后,需要对仿真框图中较为复杂的模块参数通过m文件的形式写入Matlab工作空间,取上述平面四杆机构为例,m文件内容如下:
r=5; gg=7.81*pi*r^2; lab=10; lbc=10*sqrt(2); lcd=20*sqrt(2);
mab=gg*lab*0.001; mbc=gg*lbc*0.001; mcd=gg*lcd*0.001;
tab=diag([r^2/2,lab^2/12,lab^2/12])*lab*gg*1e-9;
tbc=diag([r^2/2,lbc^2/12,lbc^2/12])*lbc*gg*1e-9;
tcd=diag([r^2/2,lcd^2/12,lcd^2/12])*lcd*gg*1e-9;
这里需要说明的是,因为此四杆机构中各个连杆均视为均匀的圆柱形铁杆,故其惯性矩阵为 。


2.1.4 仿真结果分析
    运行参数设置的m文件以后,各个参数都将写入Matlab的工作空间,再运行机构的仿真框图,得出其动画仿真效果图。如图6所示。



图6 平面四杆机构动态仿真效果图

    图7是由scop中输出的C点的角度、角速度、角加速度的曲线。



图7  C点运动情况分析


    需要说明的是,用户既可以使用Matlab自身的图形Matlab Graphic和Simulink的示波器显示仿真结果,还可以依赖虚拟现实工具箱Virtual Reality Toolbox对仿真机构进行动画显示。单击Simulation/Mechanical environment按钮,选择Visualization标签,可以进行输出显示的设置。

2.2双倒立摆机构的仿真
    如图8所示,双倒立摆的机构简图,其连杆为均匀的圆柱形铁杆,在AB杆上提供一个正弦输入,通过仿真模型的建立可以分析A和B两点的运动情况。



图8 双倒立摆机构简图



    如图9所示,其机构仿真框图。



图9 双倒立摆机构仿真框图

    然后对各个模块进行参数设置,进而进行m文件参数写入,程序如下:
r=5; gg=7.81*pi*r^2; l1=10; l2=10; m1=gg*l1*0.001; m2=gg*l2*0.001;
t1=diag([r^2/2,l1^2/12,l1^2/12])*l1*gg*1e-9
t2=diag([r^2/2,l2^2/12,l2^2/12])*l2*gg*1e-9
    待m文件运行完毕以后,就可以运行仿真框图,得出其机构动态仿真图,如图10所示。



图10 双倒立摆机构动态仿真图

    同时,可以通过scop来查看A和B点的运动情况,如图11和12所示。



图11 A点运动情况分析       图12 B点运动情况分析

3.结束语

    本文在介绍Matlab中SimMechanics工具箱的基础上,分别以四杆机构和双倒立摆机构为例介绍了SimMechanics工具箱的应用和技巧,分析了两种机构的仿真结果。仿真研究结果表明:SimMechanics工具箱具有系统建模方便直观,仿真功能强大,自动模型分析等优势,是对机械系统的各种运动进行动态建模及仿真的良好工具。
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: