APP下载

基于Unity3D的虚拟维修仿真系统研究

2019-08-07吴旭琤

科技视界 2019年17期
关键词:运动控制

吴旭琤

【摘 要】为了提高虚拟维修仿真真实性及仿真功能的可扩展性,采用Unity3d作为仿真系统开发平台,搭建虚拟维修场景,使用Humanoid Avatar系统进行虚拟人运动控制,使用物理引擎实现物体间的碰撞检测,开发了可用于维修可达性、操作空间、舒适性分析的虚拟维修仿真系统。

【关键词】虚拟维修;Unity3D;运动控制;维修性分析

中图分类号: TP391 文献标识码: A 文章编号: 2095-2457(2019)17-0029-001

DOI:10.19694/j.cnki.issn2095-2457.2019.17.012

Research of Virtual Maintenance Simulation System Based on Unity3D

WU Xu-cheng

(Shanghai Aircraft Design and Research Institute, Shanghai 201210,China)

【Abstract】To improve the authenticity of virtual maintenance simulation and the scalability of the simulation function, Unity3d is used as the simulation system development platform to build the virtual maintenance scene. The Humanoid Avatar system is used for virtual human motion control, and the physics engine is used to realize collision detection between objects. A virtual maintenance simulation system is developed that can be used to analyze accessibility, operating space, and comfort.

【Key words】Virtual maintenance; Unity3D; Motion control; Maintainability analysis

虛拟现实技术使设计人员可以在虚拟环境中,对产品可视性、可达性、操作空间以及人体舒适度等进行分析[1],可以在没有实物样机的情况对产品维修性进行分析验证,是产品设计过程中确保问题能早期发现早期解决的有效方法,从而减少设计问题导致的设计返工和零部件报废,减少研发时间和降低研发成本。

Unity3D作为一款融合了高优化度渲染和高效物理引擎的层级式虚拟系统开发平台,非常适合用来搭建虚拟维修仿真系统来对产品进行维修性仿真分析,由于其开放的开发环境,既可以搭建简单实用的桌面级仿真系统,又可以引入动捕数据衣、头盔显示器等输入输出设备,提高仿真的交互性和沉浸感[2-3]。

1 虚拟场景搭建

虚拟维修仿真中,虚拟场景一般包括仿真分析对象、维修工具、辅助场景。仿真分析对象即是维修的产品的数字样机,通常采用工业建模软件建模,不能直接导入Unity3D使用,需转换为3D通用格式(如fbx、obj文件)再进行导入。为了之后仿真分析,对于仿真对象需要添加Collider碰撞体和Rigid Body刚体组件,根据物体形状可选择Box Collider、Sphere Collider、Mesh Collider。辅助场景是为了提升仿真沉浸感而添加的周围环境,辅助环境和维修工具可采用3D动画软件(如3d Max、Maya、Blender等)进行建模,Unity3D支持这些软件输出格式的直接导入。

2 虚拟人建模与运动控制

虚拟人是维修仿真的运动主体,为了保证仿真真实性,建模时需要保证人体尺寸符合标准,导入Unity3d后,使用Humanoid Avatar系统对人物Avatar骨骼进行绑定。同时,需要为人体模型添加Collider碰撞体组件,以供后续仿真使用。如果采用桌面式仿真平台,需要对人物骨骼关节的运动范围进行重新定义来对应人体的运动极限。运动控制主要采用逆向运动学原理,使用OnAnimatorIK方法通过对人物的主要关节位置(如手掌、足心、髋关节)的调整来改变人物姿势,再使用SetIKHintPosition方法可以在末节点固定的情况下进一步调节姿势。部分末端关节(如头部、手指)则采用正向运动进行调整。

如果采用动作捕捉设备,则需要将动捕设备的跟踪点与人物骨骼关节点进行绑定,并进行校准。运动控制完全依靠动作捕捉输入设备来驱动虚拟人,动捕设备跟踪点的数量和跟踪设备的精度决定了虚拟人动作的精细程度。

3 维修性分析系统搭建

虚拟维修仿真主要是对产品维修时的可达性、操作空间、舒适性进行分析。其中,可达性和操作空间分析,主要依靠人体与产品、工具与产品之间的碰撞检测,来限制虚拟人的运动,检查受到限制后的虚拟人能否完成维修工作。在Unity3d中,拥有Collider碰撞体和Rigid Body刚体组件的物体可以使用Collider.OnCollisionEnter(Collision)方法检测物体是否发生碰撞,同时,可以通过Collision.contacts获取碰撞点的位置进行提示。舒适性是通过计算每个关节角度相对于舒展位置的偏离量来进行分析评估的,在Unity3d中,使用HumanPose.muscles获得所有定义关节的角度值,计算该值在Avatar的关节运动范围所在的比例位置,得到该关节的舒适度评价。

上述系统搭建完成后,即可通过控制虚拟人的运动,对产品维修拆装过程进行仿真,根据仿真中虚拟人的动作姿态,得到维修性分析结果,仿真效果如图1所示。

4 总结

本文搭建了基于Unity3d的虚拟维修仿真系统,使用Humanoid Avatar系统进行虚拟人运动控制,使用物理引擎实现物体间的碰撞检测,通过仿真完成了维修可达性、操作空间、舒适性的分析,为在Unity3d环境下进行虚拟维修仿真建立基础。

【参考文献】

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

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

[3]吴予忠,张渝舜,赵新宇,等.基于Unity3D的航空发动机虚拟维修仿真系统的开发[J].科技创新导报,2018,(10):15-16.

猜你喜欢

运动控制
贴片机X/Y轴快速高精度定位的实现
基于TMS320F2812的调光器系统的设计