APP下载

液压支架工作状态的虚拟现实研究

2013-05-08陈占营郑晓雯张文磊胡云龙

机电产品开发与创新 2013年6期
关键词:脚本语言灯光坐标系

陈占营,郑晓雯,张文磊,胡云龙,刘 逸

(中国矿业大学(北京)机电与信息工程学院,北京 100083)

0 引言

液压支架是综合机械化采煤装备的关键设备,其功用是有效地支撑和控制工作面顶板,保证工人操作和机器运转所必须的安全工作空间;随着工作面推进而实现推移工序的机械化,并提供足够的通风断面[1]。因此,无论是对液压支架进行实时工作状态的研究与监测,还是在研发设计阶段对液压支架工作状态的研究均有及其重要的地位。但目前对液压支架工作状态的研究主要来自于监测得到的各项数据、二维图表,很难对液压支架整体工作状态进行初步判断,看不到液压支架在真实环境中的具体工况。本文通过三维建模软件对液压支架进行三维建模,将建立的三维模型导入EON Studio软件,对其进行模型颜色、环境、灯光渲染,利用Javascript脚本语言进行编程,使其具备参数驱动的能力,为研究人员提供一个良好的平台,让研究者能够漫游于虚拟的环境中,对液压支架的工作状态进行全面深入的研究。

1 研究方法

1.1 对液压支架进行三维建模

对实验室中液压支架物理样机进行三维建模,支架型号为ZZ4400/17/35掩护式液压支架。主要由顶梁、掩护梁、护帮板、护帮板千斤顶、前后连杆、立柱、底座等部件组成。建模软件为SolidWorks2008,建立的三维模型如图1所示。

图1 ZZ4400/17/35液压支架三维模型

由于要把模型导入EON Studio进行编程,使其具备参数驱动的能力,因此建模时各部件的原点选择十分关键,为了避免后续编程时出现不必要的问题,应选择各个部件与其他部件相连接的运动副的中心为各个部件的模型原点。

1.2 将建立的三维模型导入EON Studio

导入一个3D物体到EON模拟程式中时,必须进行文件格式的转换[2]。EON软件可直接读取x、ppm、png、avi等格式的文件,而导入三维模型时,必须进行载入。导入文件时,EON会自动将文件转换成与EON相容的格式。

由于三维模型是用SolidWorks制作的,因此导入时应在菜单栏中选择SolidWorks一项。前期建模时最好使用英文版本的SolidWorks,而且对建好的模型文件命名时必须用英文字母或数字,否则导入的文件将不被EON内部格式转换器识别。

导入方式有两种:完全导入方式和优化导入方式。研究中主要是对模型整体形态进行研究,而不是对各个面进行单独操作,因此选择优化方式进行导入。

1.3 对导入的三维模型进行颜色渲染

在EON中对模型进行颜色渲染,可以通过改变模型表面材质,环境灯光,模拟场景材质来实现。

模型表面材质的改变主要由EON中的材质节点Material Node来实现。在Frame框架下放入该节点,通过改变材质节点的属性设置,即可达到所需的效果。

环境灯光是在Frame框架下放入灯光节点Light Node来实现的。选择不同的灯光类型和灯光颜色可实现不同的灯光效果。灯光类型有Ambient、Directional、Parallel Point、Point、Spot。为了实现更加真实的视觉效果,选择Point类型灯光节点,即点光源类型。点光源能均匀发散光线到各个方向。

模拟场景由全景节点Panorama Node来实现,它可以为模拟场景提供水平,天空,地面贴图,通过对场景节点的属性设置,可以获得逼真的模拟环境,让观察者有漫游真实环境中的视觉效果。最终EON中的三维模型如图2所示。

1.4 实现模型的参数驱动

要使三维模型具有参数驱动的能力,应利用EON中的节点和Javascript脚本语言对建立的模型进行编程。

图2 EON中的三维模型

图3 节点的部分逻辑关系

用到的节点主要有EventIn节点,Script节点。在逻辑视窗中设定各节点的逻辑关系,部分逻辑关系如图3所示。EventIn节点进行数据的采集,Script节点内的程序对采集来的数据进行处理,处理后可得到各个关键的位置,从而驱动模型的运动。所采集的数据来源于VB6.0,研究者可在VB6.0集成界面中输入所需要的液压支架状态参数,这些参数将会驱动EON中的模型进行运动。利用Javascript脚本语言编程方法如下:

图4 液压支架的坐标系

(1)建立如图4所示的液压支架的坐标系。XOY为固定坐标系F,其余坐标系为移动坐标系M,坐标系之间的相互转换可通过公式[P]F=T[P']M[3],T为4×4转换矩阵。

(2)计算各个关键点的位置。在坐标系X1O1Y1中,当θ测出时,即可确定四杆机构ABCD的状态,即前后连杆,掩护梁的位置可确定。应用方法为复数矢量法[4]。

改写并表示为复数矢量形式:

应用欧拉公式eiθ=cosθ+isinθ将上式实部和虚部分离,得:

由以上方程组即可求得θ2、θ3。因此可以在坐标系X1O1Y1确定四杆机构各个关键点的位置。

在坐标系X2O2Y2中当α测出时,可以很容易的确定O3O4上各关键点的位置,即顶梁上各关键点的位置可确定。

在坐标系X4O4Y4中当HG测出时,根据余弦定理,可算出三角形HO4G的各个角,因此三角形HO4G上的三个关键点的位置可以确定,即护帮板和护帮板千斤顶的位置可以确定。

(3)把以上计算方法写入Javascript脚本语言中,Script节点中部分程序如图5所示。

EON可以与其他支持ActiveX控制的工具相结合,如Visual Basic, 因此,使用EONX控制接口,可使两者进行数据通信。在VB中编写数据采集程序,通过上述接口与EON相连接,因此VB中采集的数据即可驱动EON中的三维模型运动。

2 结束语

对液压支架进行三维建模,将建立的模型导入到EON Studio中进行渲染,为研究人员呈现形象逼真的虚拟场景。利用EON中相关节点及Javascript脚本语言对模型编程,并集成于VB6.0中,设计出研究液压支架工作状态的平台,通过手动输入所需状态参数,驱动液压支架运动,无论是对于煤矿工人的培训,还是对于研发人员测试支架性能,均提供了最有效的解决途径。同时也可以通过传感器采集井下液压支架的形态参数,把采集来的数据进行处理,驱动模型运动,对井下液压支架的工作状态进行远程监控,为设计研发出一套液压支架三维监测软件奠定基础。

[1]曹连民,等基于Solidworks软件的液压支架设计[J].矿山机械,2008,7.

[2]于辉,赵经成,付战平,欧海英.EON入门与高级应用技巧[M].北京:国防工业出版社,2008.

[3]S K SAHA.机器人导论(英文版)[M].北京:机械工业出版社,2009.

[4]孙恒,陈作模,葛文杰.机械原理[M].北京:高等教育出版社,2006.

猜你喜欢

脚本语言灯光坐标系
水中灯光秀
今晚的灯光亮了天
来一场灯光派对
解密坐标系中的平移变换
坐标系背后的故事
一种面向SSC的电信增值业务的生成方法及实现
基于Unity3D的坦克大战游戏设计与实现
基于重心坐标系的平面几何证明的探讨
浅析计算机技术在flash动画中的应用
基于SiPESC平台的Python扩展模块开发