采用VRML的齿轮变速箱虚拟模型的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随着经济全球化进程的加快,机械产品竞争日益加剧,要提高产品的市场竞争力,就必须减少产品开发成本、缩短产品开发周期。

在这种需求下,以虚拟现实技术为代表的计算机技术不断发展,虚拟现实技术越来越广泛的应用到机械工程领域[1]。

虚拟现实(Virtual Reality,简称VR)技术是一种逼真地模拟人在自然环境中的视觉、听觉、运动等行为的人机界面技术[2]。

目前市场上的虚拟现实技术已经发展到几10种之多,如VRML、Atmosphere、Cult3D、Java3D、Viewpoint
2008年 工 程 图 学 学 报2008第3期 JOURNAL OF ENGINEERING GRAPHICS No.3
采用VRML的齿轮变速箱虚拟模型的实现
王晓霞
(青岛农业大学,山东青岛 266109)
摘要:分析了当今虚拟现实技术对开发机械产品的影响,提出了利用VRML构建齿轮变速箱虚拟模型的基本方法。

利用CAD三维建模软件建立零件模型,根据变速箱的结构特征和工作原理在VRML中编程实现虚拟装配及运动仿真和控制。

实现了虚拟模型在网络上的交互式展示,为机械产品的异地设计及结果评估提供了有效方法。

关键词:计算机应用;齿轮变速箱虚拟模型;虚拟现实建模语言;虚拟装配;运动仿真
中图分类号:TP 391
文献标识码:A 文章编号:1003-0158(2008)03-0023-07
Virtual Model of Gear-Box Based on VRML
WANG Xiao-xia
( Qingdao Agriculture University, Qingdao Shandong 266109, China )
Abstract: The influence of virtual reality technology on mechanical product development is analyzed and a method to design virtual model of gear-box based on VRML is presented. 3D digital models for the gear-box components are created and output in VRML files with Pro/E CAD software. Then virtual assembly and kinematic simulation are accomplished by VRML functions to realize the visualization of the shifting gear process. The virtual models can be accessed and operated interactively over Internet, offering an efficient way to evaluate a remote design through network.
Key words: computer application; virtual model of gear-box; VRML; virtual assembly;
kinematic simulation
收稿日期:2007-09-10
等。

这些技术各有特点,主要应用于电子商务、网络娱乐、远程教育、城市规划等领域[3]。

在机械工程领域,考虑到机械产品的结构及运动精度比较高的特点,建立其虚拟模型时VRML作为一种编程语言具有比较大的优势。

VRML是虚拟现实建模语言(Virtual Reality Modeling Language)的简称,是一个开放的、可扩展的、工业标准的景象描述语言,同时它又是一种用在Internet 和Web超链上的,多用户交互的,独立于计算机平台的网络虚拟现实建模语言。

下面以齿轮变速箱为例,总结利用CAD软件和VRML建立机械产品虚拟模型的方法。

1 齿轮变速箱虚拟模型的建立
1.1 变速箱的结构
以EQ6140型东风牌5t载重汽车变速箱为例,结构如图1所示,齿轮型式和换档方式如表1[4]。

图1 EQ6140型汽车变速箱的布置形式
表1 EQ6140型汽车变速箱的齿轮型式和换档方式
档位代号
结构型式
Ⅴ档Ⅳ档Ⅲ档Ⅱ档Ⅰ档倒档齿轮型式斜齿圆柱齿轮直齿圆柱齿轮啮合方式常啮合滑移啮合换档型式同步器滑移齿轮1.2 零件模型的建立
建立零件的三维模型,主要有两种方法:一是利用VRML语言本身具有的造型功能;二是利用支持VRML的CAD软件建模后转化为VRML文件(*.wr1)。

目前国内市场常见的机械三维建模软件主要有AutoCAD、UG、SolidWork、Pro/ENGINEER等。

每个产品都有着自己的发展历史和特点,在设计功能、模块设置、操作方法、以及外围产品等方面各有千秋。

根据变速箱的零件特点及Pro/E在许多通用件、零部件设计上存在的简便易行的优势,采用Pro/E建模。

1.2.1 利用Pro/E建立零件模型
首先建立一个参数化渐开线圆柱齿轮的三维模型。

具体步骤如下:新建一个prt文件;加入齿轮的各参数,并输入初始值;输入各参数的关系式;制作齿轮的坯件;输入渐开线计算关系式,制作渐开线,然后镜像作出另外一条渐开线;输入螺旋线关系式,作螺旋线;启用变载面扫描功能,沿螺旋线刻出齿轮的第一个齿槽;使用阵列功能作出整圈齿型。

这样,参数化渐开线圆柱斜齿轮造型就完成了。

要得到不同参数的齿轮,只要使用生成工具输入相应的参数即可。

当然如果螺旋角是0,生成的便是直齿圆柱齿轮。

齿轮造型完成后就可以进行绘制轮毂、齿轮轴等工作了。

轴、轴承及箱体等的三维建模比较简单,利用“拉伸”、“旋转”、“阵列”、“抽壳”等命令即可实现。

部分零件模型如图2所示。

图2 部分零件的三维模型
1.2.2 模型的格式转换及单位设置
由于CAD软件建立的模型生成的VRML文件量比较大,可以采用VRMLPad编辑器进行压缩,保存时在保存界面勾选“save compress”即可,压缩后的文件量约为原文件量的1/5,并且不影响模型显示效果。

由于从Pro/E导出的VRML文件自动加入了原型节点,容易造成有些VRML编辑器不能识别,如VrmlPad2.1,应进行修改或删除,如图3所示。

·24· 工 程 图 学 学 报 2008年
DEF Poly_Geom_Data Group {
children [
Node Info {
node_type “Poly_Geom_Data”
node name “ ”
}
(a) 修改前
DEF Poly_Geom_Data Group {
children [
Group {
# “Poly_Geom_Data”
# “ ”
}
(b) 修改后
图3 修改原型节点Node_Info
由于CAD软件建立的模型文件最终要转换成VRML文件,并在VRML编辑器中编程实现虚拟装配和仿真运动,所以在格式转化时应注意各软件单位的统一。

VRML默认单位是米,需要将Pro/E的单位设置为毫米,具体方法是将编辑菜单里设置功能的单位管理器的单位设置为毫米牛顿秒(mmNs)。

1.3 变速箱的虚拟装配
变速箱的装配可以在Pro/E中完成后导出VRML文件,但是生成的文件结构繁杂,不利于下一步的编程,因此在VRML中进行装配。

装配过程的实质就是按照装配体中的零部件的空间位置,将零部件模型设置相应的坐标、方向组成装配体,以检查零部件在装配环境中的干涉情况。

具体方法是在VRML编辑器中,用引入型节点Inline导入各零件的.wrl文件,然后调整转换型节点Transform的translation、rotation 字段值来调整各零件的位置和角度,使各个零件按照相对位置组成装配体,并通过调整center字段值调整各零件的旋转中心。

VRML三维空间是以浏览器的中心为缺省原点,从原点向右、向上和向外分别为X、Y、Z轴的正向,装配时应尽量将变速箱的中心位置对应原点位置。

根据对变速箱结构的分析,将装配结构分为7大部分:箱体、输入轴(Ⅰ轴)、中间轴、输出轴(Ⅱ轴)、倒档轴、轴承和换档杆,如图4所示。

在接下来的运动和控制中,各个部分的零部件运动可能会相互制约、相互作用,所以在装配时,要根据具体情况具体安排。

如连接输入轴和输出轴的同步器装置部分,如图5所示,只用简化方法作出齿套、齿毂和同步环等主要结构。

根据同步器的工作原理,在换档过程中,换档杆(包括移动杆和换档叉)和同步器齿套即Shift_bar01将作平移运动,换档后齿套clutch01随齿轮1作同步运动,所以在VRML中的节点关系如图6所示。

图4 齿轮变速箱装配结构
第3期 王晓霞:采用VRML的齿轮变速箱虚拟模型的实现 ·25·
图5 同步器简化结构
图6 同步器装配节点关系示意图
同步器装置部分装配程序如下:
DEF Shift_bar01 Transform {
# 定义换档杆、齿套的装配体
children [ DEF shift_bar01 Transform {
# 定义换档杆的装配体
center 0.0 0.06 0.0 # 设置旋转中心 rotation 1 0 0 -0.17
# 沿X 轴旋转-10°以免跟其他换档杆碰撞 children [ Transform { translation -0.1355 0.06 0.0 rotation 0 1 0 1.5708 children Inline {url"shift2.wrl"}}, Transform { translation -0.1355 0.18 0.0 children Inline {url"shift11.wrl"}},
]}
DEF clutch01 Transform {……}
# 定义齿套
]}
齿轮变速箱装配完成后,要调整相啮合的两齿轮的rotation 值使两齿轮正确啮合,如图7所示。

图7 相啮合的两齿轮
1.4 变速箱的运动控制
1.4.1 换档位与用户相对位置的控制
齿轮变速箱共有6个档位,用户通过对换档位的控制实现换档,如图8所示。

用户对变速箱的工作过程进行全方位的观察时,希望换档位始终跟随用户,不要有位置和方向的变化,这一点可以用具有简化的感知能力的近似传感器节点ProximitySensor 的两个事件position_changed 和orientation_changed 实现。

具体程序如下: DEF ps ProximitySensor {
center 0 0.03 3
size 1000 1000 1000 }# 定义非常大的尺寸 DEF Shift Transform {} # 定义换档位 ROUTE ps.position_changed TO
Shift.set_translation
ROUTE ps.orientation_changed TO
Shift.set_rotation
图8 换档位与用户的相对位置
1.4.2 变速箱空档时的运动
变速箱在空档(默认状态)时,如图9所示,同步器的齿套在相邻两齿轮中间,发动机输入动力至输入轴,输入轴(齿轮1)带动中间轴(齿轮2、3、5、7、9)运动,中间轴又带动倒档轴(齿轮12、13)和输出轴上的齿轮4、6、8(除齿轮10)空转,没有动力传递给输出轴,输出轴静止。

齿轮和轴按照各自的转速做匀速运动,用TimeSensor 节点和OrientationInterpolator 节点即可实现。

其中TimeSensor 节点中cycleInterval 字
·26· 工 程 图 学 学 报 2008年
段定义周期的时间长度,Orientationinterpolator 的keyValue值定义旋转方向。

一对相啮合的齿轮,两齿轮cycleInterval字段与齿数成正比,并且由于它们旋转方向相反,两齿轮keyValue值的角度值互为相反数。

图9 齿轮变速箱空档时的运动
根据齿轮的传动比计算各齿轮和轴在空档
位置时的周期:设输入轴(齿轮1)的周期为s1,则s2=s1*(z2/z1),s3=s5=s7=s9=s2=s1*(z2/z1),
s4= s1*(z2/z1)*(z4/z3),s6=s1*(z2/z1)*(z6/z5),
s8=s1*(z2/z1)*(z8/z7),s12=s13=s9*(z12/z9) =
s1*(z2/z1)*(z12/z9)。

输入轴运动程序如下:DEF input Transform { # 定义输入轴center 0.0 0.06 0.0
children [……] }
DEF Clock01 TimeSensor { # 定义时间传感器cycleInterval 3.8 # 设置循环周期
loop TRUE }
DEF input_path OrientationInterpolator {
# 定义方向插值器key [……] # 一个周期中的关键点
keyValue [……] } # 对应关键点的关键值ROUTE Clock01.fraction_changed TO
input_path.set_fraction
# 时间变化传递给方向内插器ROUTE input_path.value_changed TO
input.set_rotation
# 角度值变化传递给输入轴1.4.3 变速箱换档时的运动及控制
以5档为例,换档过程实际上是将同步器齿套向齿轮1方向推,使得齿套上的内花键齿和齿轮1上的齿环花键齿啮合之前产生一个摩擦接触,最终实现齿套、齿轮1、同步环和同步器齿
毂的同步,此时输入轴通过同步器与输出轴连接,传递动力至输出轴。

点击鼠标并按住表示5档位置的小球时,各
部分运动如图10中箭头所示,主要分为三大部分。

换档位的运动:表示换档杆的球体从档位中
间位置运动到5档位置。

同步器的运动:换档杆、换档叉和齿套向齿轮1位置平移,齿套与齿轮1
同步作旋转运动。

输出轴的运动:输出轴与齿轮
1同步作旋转运动。

松开鼠标所有运动回到空档
时状态。

图10 齿轮变速箱5档时的换档运动
这一系列运动由换档位的5档位置检测到用
户点击动作开始,因此需要给5档位置定义一个TouchSensor节点,DEF Touch_output01 TouchSensor {}。

TouchSensor节点可以感应到移动、点击和拖动3种动作。

要实现点击并按住鼠
标进行换档,松开鼠标回到空档的效果仅仅使用TouchSensor节点是不可能实现的,因此用到Script节点。

Script节点不像其他的VRML节点那样已经
定义好所有的字段或事件,在此节点中可以定义
字段和事件,并且可以使用某种语言(如Java
语言、JavaScript、VRMLScript)来编写程序展
现这个节点的功能。

在Script节点定义了一个入
事件(eventIn)和一个出事件(eventOut),这两
个事件是用来对其它节点接受和输出数据的。

而Route的功能是连接一个节点的eventOuts事件和
一个节点eventIns事件,在两个节点间创建一条
通路(路由),通过发送事件使一个节点控制另
一个节点的状态。

第3期 王晓霞:采用VRML的齿轮变速箱虚拟模型的实现 ·27·
在换档位的运动中,Script节点接收鼠标状态,并通过判断发送指令给位置内插器节点,从而将位置变化传递给表示换档杆的球体控制其运动。

具体程序如下:
DEF ball Transform {}# 定义表示换档杆的球体DEF Touch_output05 TouchSensor {}
# 定义5档位置的TouchSensor节点DEF Clock_sh05 TimeSensor {# 定义时间传感器enabled FALSE
startTime 0
cycleInterval 1
loop FALSE }
DEF ball05_path PositionInterpolator {
# 定义位置内插器节点key [0.0 0.5 1.0]
keyValue [ 0.0 0.0 0.0
0.043
0.0
0.0
0.043 0.04 0.0]}
DEF Scr_Sh05 Script { # 定义Script节点eventIn SFBool isactive
# 定义入事件鼠标的状态,布尔值eventOut SFVec3f stoppos # 定义出事件
url "javascript:function isactive (value,timestamp){
print(value);
# 当鼠标为按下状态时,输出位置变化值
if(!value){ # 否则,即鼠标松开时
stoppos=new SFVec3f(0.0,0.0,0.0);
# 回到初始位置}}"}
ROUTE Touch_output05.touchTime TO
Clock_sh05.set_startTime ROUTE Touch_output05.isActive TO
Clock_sh05.set_enabled ROUTE Touch_output05.isActive TO
Scr_Sh05.isactive ROUTE Clock_sh05.fraction_changed TO
ball05_path.set_fraction ROUTE ball05_path.value_changed TO
ball.set_translation #鼠标按下时位置变化传递至表示换档杆的球体ROUTE Scr_Sh05.stoppos TO ball.set_translation
# 鼠标松开时球体没有位置变化在同步器的运动中,平移运动的实现与上述方法相似,修改PositionInterpolator节点相应的位置坐标关键值keyValue值即可。

齿套的旋转运动由TimeSensor节点和OrientationInterpolator节点即可实现,TimeSensor的cycleInterval字段和Orientationinterpolator的keyValue值与输入轴的值相同,节点关系如图11所示。

图11 同步器运动节点关系示意图
输出轴的运动比较简单,使用TimeSensor 节点和OrientationInterpolator节点即可实现。

1.4.4 传递动力齿轮的表示
齿轮变速箱在不同的档位会有不同的齿轮传递动力,为了表示出这些齿轮,可以给所有的齿轮制作相应的箭头,箭头模型可以由3DS制作后导出VRML格式,然后装配到相应位置。

根据变速箱的工作原理,在换档过程中,传递动力齿轮的相应箭头用TouchSensor、TimeSensor和OrientationInterpolator节点实现旋转运动,而没有传递动力齿轮的箭头静止。

这样,有利于用户理解齿轮变速箱的工作原理。

1.5 变速箱的网上展示
按照VRML联盟(VRML Consortium)的设想,VRML应该是“在因特网上用于3D多媒体和共享虚拟世界目的的一个开放标准”[5],强调的几个重点之一就是基于因特网。

与以往的3D 应用不同,在设计VRML的时候一个基本出发点就是要在因特网上共享3D物体和场景。

这是一个很重要的前提,现在的社会不再是单机或者局域网,只有在因特网上使用VRML才会有更强大的生命力。

因此,齿轮变速箱的虚拟模型可以很便捷地集成到网络,IE5.0以上版本自带了
·28· 工 程 图 学 学 报 2008年
VRML浏览器World View 2.0,其它浏览器只要安装相应的VRML浏览器插件,就可以实现虚拟模型在网络上的交互式展示。

2 结论
变速箱是汽车传动系统的重要组成部分,其设计的优劣直接影响到整个系统的性能。

将虚拟现实技术引入到齿轮变速箱的设计过程是一个极具实用性的工作。

利用VRML虚拟现实建模语言,设计人员可以通过互联网进行协同设计和交互式设计,通过对模型的三维观察,检测其外形设计、布局结构及各零部件的干涉情况,并能通过编辑器及时修改,有利于直观查错,便于方案比较,进行准确而快速的评价,最终得到最佳设计方案。

以上只对变速箱简化的外部结构和基本工作过程进行了虚拟,对于比较复杂的内部结构,如同步装置、滑移装置内部结构(如花键、垫片、卡环等)的具体结构及工作过程还需进一步细化和完善。

参考文献
[1] 王刚, 杨莺, 刘少军.虚拟样机技术在工程机
械领域的应用[J].工程机械, 2003, (8): 11-13. [2] 瞿畅, 王君泽, 曹红蓓.Web3D技术及其在工程
图学教学中的应用[J].工程图学学报, 2006, 27(2): 150-154.
[3] 罗立宏, 谭夏梅.几种Web3D技术及比较[J].甘肃
科技, 2007, 23(5): 60-62.
[4] 孙桓, 陈作模.机械原理[M].北京: 高等教育出
版社, 1996. 196-223.
[5] 韦有双, 杨湘龙, 王飞. 虚拟现实与系统仿真[M].
北京: 国防工业出版社, 2004. 41-98.
第3期 王晓霞:采用VRML的齿轮变速箱虚拟模型的实现 ·29·。

相关文档
最新文档