书合文秘网 - 设为首页 - 加入收藏
当前位置 首页 > 范文大全 > 公文范文 >

列车运行阻力试验研究

作者: 浏览数: 关键词: 阻力 列车 试验 运行 研究


打开文本图片集

【摘 要】为了满足虚拟维修仿真真实性要求,对比了Delmia与Unity3D中的人体模型及运动仿真方法,建立了两个平台上人体关节运动之间的对应关系,在Unity3D中完成满足虚拟维修工程要求的虚拟人建模并运用逆向运动学方法实现虚拟人仿真运动控制,为Unity3D中进行虚拟维修仿真提供了方法。

【关键词】虚拟维修;Unity3D;Delmia;虚拟人;运动控制

中图分类号: TP391 文献标识码: A 文章编号: 2095-2457(2019)11-0050-002

DOI:10.19694/j.cnki.issn2095-2457.2019.11.023

【Abstract】To meet the requirement of virtual maintenance simulation authenticity, the human model and motion simulation methods in Delmia and Unity3D are compared, and the relationship between the human joint motion on the two platforms is established. The virtual human model meeting the engineering requirements of virtual maintenance is built and the motion control of virtual human simulation is actualized by using inverse kinematics in Unity3D. A method is provided to do the virtual maintenance simulation in Unity3D.

【Key words】Virtual maintenance; Unity3D; Delmia; Virtual human; Motion control

虚拟维修仿真作为实物验证方法外对产品维修性分析验证的有效手段,已经成为产品研发前中期保证产品具有良好维修性的主要方法之一。设计人员可以在虚拟环境中,对产品可视性、可达性、操作空间以及人体舒适度等进行分析[1],从而在不借助实物的情况下发现维修性问题,及时进行优化,避免在后期设计已较为固定,甚至有零部件已经在制造的情况下再进行设计更改,从而能大幅减少更改产生的费用和时间影响。

由于虚拟维修仿真的分析重点在于维修时设备、工具对人的影响,对产品尺寸精度要求不高,而人的感观的真实性却对分析结果有很大影响,因此相较于传统的工程软件中的人机分析模块(如Delmia中的Human Task Simulation模块),使用Unity3D这样一款融合了高优化度渲染和高效物理引擎的层级式虚拟系统开发平台进行仿真[2],能使维修场景更为接近真实,仿真结果可信度更高,同时Unity3D开放的开发环境,使仿真平台功能的扩展升级变得十分方便,例如可以结合KINECT实现低成本的实时运动捕捉系统[3]。

1 虚拟人建模

在Delmia中,虚拟人采用线框作为骨架,曲面造型形成人体,同时设有49个关节和83个自由度来驱动骨架进而驱动虚拟人体。每个自由度根据人体极限设定了运动范围,使虚拟人的动作符合真实情况,如图1所示。

Unity3D则可以导入其它建模软件创建的虚拟人模型,在模型的逼真程度上相较Delmia更高。在导入设置中,将人物模型的Rig选项中的Animation Type选择Humanoid,系统即会根据模型的骨骼结构自动进行绑定。Unity3D中,人物骨骼模型包含15个必选绑定点和39个可选绑定点,如图2所示,绑定后,在Muscles&Settings选项中出现对应的关节自由度的运动范围设置。由于Unity3D中的关节自由度的运动范围与实际人体运动极限范围并不一致,需要进行重新设置,Unity3D中对应Delmia中关节运动范围如表1所示(不包含手指关节)。

对关节运动范围进行修改后,能使虚拟人的关节运动范围与Delmia中保持一致,从而使创建的姿态符合真实人可以达到的情况,满足工程仿真分析的应用要求,保证了后续运动仿真的真实性。

2 基于逆向运动学的虚拟人姿态控制

在创建虚拟人姿态时,可以通过正向和逆向运动学来控制虚拟人的姿态。在实际工程应用时,由于已知条件往往是虚拟人四肢的目标位置,因此多采用逆向运动学方法来对虚拟人姿态进行控制。

在Unity3D中,可以通过OnAnimatorIK方法来使用逆向运动学实现对虚拟人的实时控制。在OnAnimatorIK方法中,需要设定末端控制点(双手、双脚)的位置移动权重和目标物体。运行時,Animator组件会调用这个方法使虚拟人的末端控制点移动至目标物体的位置,如图3a所示,白色球为目标物体。此外,由于逆向运动学算法求解虚拟人姿态是一个多解问题,即同一个末端控制点(如手)的位置,存在多个可能的姿态(如手肘仍可以移动)。此时可以使用Unity3d提供的SetIKHintPosition方法,进一步来进行调节,得到需要的虚拟人姿态,如图3b所示,深色球为Hint物体。部分代码如下所示:

3 总结

本文提出了基于Unity3d的虚拟维修人体建模和运动仿真方法,通过比对Delmia中的关节运动范围,在Unity3d中建立满足工程应用需求的虚拟人模型,然后使用逆向运动学方法,实现对虚拟人的姿态控制,从而为在Unity3d环境下进行虚拟维修仿真建立基础,使仿真的真实性得到提高。

【参考文献】

[1]刘佳,刘毅.虚拟维修技术发展综述[J].计算机辅助设计与图形学学报.2009,21(11):1519-1534.

[2]杨壹斌,李敏,解鸿文.基于Unity3D的桌面式虚拟维修训练系统[J].计算机应用,2016,36(S2):125-128.

[3]赵洪利,胡周兵.基于UNITY交互式虚拟维修仿真系统的研究[J].机械工程与自动化,2016(02):88-90.作者简介:吴旭琤(1987—),男,硕士,主要研究方向为飞机维修性工程。

相关文章:

Top