论文部分内容阅读
本课题设计了一种新的基于约束的力反馈虚拟装配培训系统。系统使用Virtools引擎作为显示引擎,Havok引擎用来创造物理环境,提出装配约束的设计来辅助装配,并使用力反馈器作为人机交互设备。装配培训系统中主要有4个核心模块:1)物理引擎模块;2)约束模块;3)力反馈模块;4)机构运动仿真模块。物理引擎可以轻易的创造一佃物理环境,提高虚拟环境在视觉方面的真实性。提出基于约束的装配来解决将物理引擎引入虚拟装配中带来的问题,即物理引擎难以处理有插入的装配。同时,约束的引入,使得在空间装配中,不需要准确感知零件在三维空间中的深度,在处理有插入的装配时,缩减了装配培训时间,提高了装配培训效率。为了解决物理引擎的运算速度(~100Hz)远低于力渲染的更新频率(~1000Hz)。采用异步通信的方式,通过共享内存实现进程间的数据通信。力的计算分为重力,碰撞检测力以及约束力。重力计算的由零件的包围盒大小决定。使用弹簧质点模型来进行碰撞时力的大小计算,主要变量为碰撞后力反馈器的真实位置和光标显示位置之间距离以及力反馈器手柄移动速度。约束力分为移动约束力和转动约束力矩。移动约束力又分为滑动约束力和销钉约束力。机构的运动仿真可以用来测试是否正确装配。和CAD软件中常见的机构运动仿真相比,在装配培训系统中的运动仿真有力的反馈,增强了与虚拟环境的交互性。除了装配培训系统中的核心模块,还通过多个挂件丰富了系统的功能。本设计的创新点在于:1)设计了基于约束的力反馈虚拟装配培训系统。与传统基于鼠标键盘的虚拟装配相比,使用力反馈器进行交互提高交互的真实感。相比于传统的基于约束的虚拟装配,三角面片模型的创建和物理引擎实现了快速碰撞检测和模拟更真实的虚拟环境,大大增加了虚拟环境视觉真实性。相比于单一的物理碰撞虚拟装配系统,约束的引入又在尽可能不影响显示真实性的情况下大大提高了装配的效率;2)基于拆卸的装配序列生成方法。操作人员不仅可以根据拆卸的顺序得到初始的装配顺序。同时,可以根据动画,对现有的装配顺序作出改变。同时,拆卸过程也是零件自动记录约束信息的过程;3)除了显示模块和物理引擎模块,系统中其它所有的功能都是可以关闭的。这种“挂件”系统的设计思路可以减少进程在运行中的内存消耗和CPU的运算。