Science&TechnologyVision科技视界基于Unity3D的虚拟维修仿真系统研究吴旭琤渊上海飞机设计研究院袁中国上海201210冤揖摘要铱为了提高虚拟维修仿真真实性及仿真功能的可扩展性袁采用Unity3d作为仿真系统开发平台袁搭建虚拟维修场景袁使用HumanoidAvatar系统进行虚拟人运动控制袁使用物理引擎实现物体间的碰撞检测袁开发了可用于维修可达性尧操作空间尧舒适性分析的虚拟维修仿真系统遥揖关键词铱虚拟维修曰Unity3D曰运动控制曰维修性分析中图分类号院TP391文献标识码院ADOI院10.19694/j.cnki.issn2095-2457.2019.17.012文章编号院2095-2457渊2019冤17-0029-001ResearchofVirtualMaintenanceSimulationSystemBasedonUnity3DWUXu-cheng(ShanghaiAircraftDesignandResearchInstitute,Shanghai201210,China)揖Abstract铱Toimprovetheauthenticityofvirtualmaintenancesimulationandthescalabilityofthesimulationfunction,Unity3disusedasthesimulationsystemdevelopmentplatformtobuildthevirtualmaintenancescene.TheHumanoidAvatarsystemisusedforvirtualhumanmotioncontrol,andthephysicsengineisusedtorealizecollisiondetectionbetweenobjects.Avirtualmaintenancesimulationsystemisdevelopedthatcanbeusedtoanalyzeaccessibility,operatingspace,andcomfort.揖Keywords铱Virtualmaintenance;Unity3D;Motioncontrol;Maintainabilityanalysis虚拟现实技术使设计人员可以在虚拟环境中袁对产品可视性尧可达性尧操作空间以及人体舒适度等进行分析[1]袁可以在没有实物样机的情况对产品维修性进行分析验证袁是产品设计过程中确保问题能早期发现早期解决的有效方法袁从而减少设计问题导致的设计返工和零部件报废袁减少研发时间和降低研发成本遥Unity3D作为一款融合了高优化度渲染和高效物理引擎的层级式虚拟系统开发平台袁非常适合用来搭建虚拟维修仿真系统来对产品进行维修性仿真分析袁由于其开放的开发环境袁既可以搭建简单实用的桌面级仿真系统袁又可以引入动捕数据衣尧头盔显示器等输入输出设备袁提高仿真的交互性和沉浸感[2-3]遥实性袁建模时需要保证人体尺寸符合标准袁导入Unity3d后袁使用HumanoidAvatar系统对人物Avatar骨骼进行绑定遥同时袁需要为人体模型添加Collider碰撞体组件袁以供后续仿真使用遥如果采用桌面式仿真平台袁需要对人物骨骼关节的运动范围进行重新定义来对应人体的运动极限遥运动控制主要采用逆向运动学原理袁使用OnAnimatorIK方法通过对人物的主要关节位置渊如手掌尧足心尧髋关节冤的调整来改变人物姿势袁再使用SetIKHintPosition方法可以在末节点固定的情况下进一步调节姿势遥部分末端关节渊如头部尧手指冤则采用正向运动进行调整遥如果采用动作捕捉设备袁则需要将动捕设备的跟踪点与人物骨骼关节点进行绑定袁并进行校准遥运动控制完全依靠动作捕捉输入设备来驱动虚拟人袁动捕设备跟踪点的数量和跟踪设备的精度决定了虚拟人动作的精细程度遥1虚拟场景搭建虚拟维修仿真中袁虚拟场景一般包括仿真分析对象尧维修工具尧辅助场景遥仿真分析对象即是维修的产品的数字样机袁通常采用工业建模软件建模袁不能直接导入Unity3D使用袁需转换为3D通用格式渊如fbx尧obj文件冤再进行导入遥为了之后仿真分析袁对于仿真对象需要添加Collider碰撞体和RigidBody刚体组件袁根据物体形状可选择BoxCollider尧SphereCollider尧MeshCollider遥辅助场景是为了提升仿真沉浸感而添加的周围环境袁辅助环境和维修工具可采用3D动画软件渊如3dMax尧Maya尧Blender等冤进行建模袁Unity3D支持这些软件输出格式的直接导入遥3维修性分析系统搭建2虚拟人建模与运动控制虚拟人是维修仿真的运动主体袁为了保证仿真真虚拟维修仿真主要是对产品维修时的可达性尧操作空间尧舒适性进行分析遥其中袁可达性和操作空间分析袁主要依靠人体与产品尧工具与产品之间的碰撞检测袁来限制虚拟人的运动袁检查受到限制后的虚拟人能否完成维修工作遥在Unity3d中袁拥有Collider碰撞体和RigidBody刚体组件的物体可以使用Collider.OnCollisionEnter(Collision)方法检测物体是否发生碰撞袁同时袁可以通过Collision.contacts获取碰撞点的位置进行提示遥舒适性是通过计算每个关节角度相对于舒展位置的偏离量来进行分析评估的袁在Unity3d中袁使用HumanPose.muscles获得所有定义关节的角渊下转第49页冤作者简介院吴旭琤渊1987要冤袁男袁硕士袁主要研究方向为飞机维修性工程遥Science&TechnologyVision科技视界29Science&TechnologyVision科技视界3PTB330的配置LED关闭遥PTB330修正误差的原理袁简单来说袁比如当实际气压是700HPa袁但是当前的气压计的度数是700.4HPa曰当实际气压是800HPa袁但是当前的气压计的度数是800.6HPa曰那么在气压值是700.4HPa的时候,输出的气压值减去0.4HPa的修正值就可以袁750.5的时候减去0.5HPa的修正值就可以袁800.6HPa的时候减去0.6HPa的修正值就好曰不在校准点的修正值采用线性插值的办法获得遥此外还需要一个标准气压源袁能够提供500HPa要1100HPa区间准确的气压值曰依据气压计实际读数与标准气压源设定值之间的差记录为修正值曰将标准气压源设定值与对应的修正值存入PTB300内存中即完成校准的过程遥校准可以采用单点校准或者多点校准方式进行遥这里主要说明多点校准的模式遥在多点校准的模式中袁修正值的处理有两种方法遥其一是在已有的修正值的基础上来做修正袁这样做有些绕袁比如在800Hpa这个测量点原有的修正值为-0.02Hpa袁现在实际输出为800.02Hpa袁那么你现在有个设置的修正量其实应该是0.04Hpa遥也就是PTB330的实际读数需要输入800.04Hpa遥其二是先将原来的修正值清零袁清零的指令为LCP1OFF/MPCP1OFF分别对应线性校准参数清零和多点校准参数清零遥这样就省去了计算修正量的步骤遥连接上PTB330之后袁键入s袁并回车袁可以停止PTB330的运行遥键入r袁并回车可以启动PTB330运行遥键入钥并回车袁可以查看当前PTB330的配置参数遥PTB330可以依据用户的需求输出对应的气压数据袁需要用到FROM指令遥用户可以参照PTB330用户手册中的例子袁尝试使用PTB330的操作指令遥熟悉指令的功能之后袁便可以按需配置PTB330气压计遥4PTB330的校准用户可以选择简单单点偏移或偏移和增益两点调整袁并使用LCP命令调整气压计模块遥MPCP命令用于最多八个压力级别的更复杂的多点校正功能遥试图重新调整气压计模块之前袁先检查变送器当前使用的线性校正方式遥由于输入新线性校正时以前的线性校正将消失袁因此用户决定使用新线性校正时必须考虑以前的线性校正[3]遥气压计模块P1的调整和校准命令如表3所示遥表3气压计模块P1的调整和校准命令命令LCP1ON/OFFMPCP1ON/OFFCDATECTEXTMPCP1LCP1功能启用/禁用线性校正启用/禁用多点校正显示或设置校准日期显示或设置校准信息输入多点校正输入线性校正5结束语VaisalaPTB330系列数字气压表集成度高袁操作模式简单袁调整和校正方便袁而且具有气压测量精度高和使用环境温度宽的特点袁能充分满足航空气象测量的要求遥掌握PTB330气压计的配置及校准方法能够在实际应用中充分发挥PTB330的功能特点遥揖参考文献铱在进行调整和校准之前袁调整模式必须可用遥带有指示灯LED的调整按钮位于主板的左上角遥以下是打开调整模式的步骤遥渊1冤打开气压计顶盖遥渊2冤按ADJ按钮遥现在袁调整模式可用遥红色的指示灯LED打开遥渊3冤再次按ADJ按钮锁定调整模式遥红色指示灯咱1暂VaisalaBAROCAPDigitalBarometerPTB330USER爷SGUIDE.咱2暂孙嫣,边文超.PTB220气压传感器调整方法的补充气象水文海洋仪器,2007(3).咱3暂胡凡,陈正一.PTB220系列数字气压表的原理与应用气象水文海洋仪器,2008(2).渊上接第29页冤度值袁计算该值在Avatar的关节运动范围所在的比例位置袁得到该关节的舒适度评价遥上述系统搭建完成后袁即可通过控制虚拟人的运动袁对产品维修拆装过程进行仿真袁根据仿真中虚拟人的动作姿态袁得到维修性分析结果袁仿真效果如图1所示遥4总结本文搭建了基于Unity3d的虚拟维修仿真系统袁使用HumanoidAvatar系统进行虚拟人运动控制袁使用物理引擎实现物体间的碰撞检测袁通过仿真完成了维修可达性尧操作空间尧舒适性的分析袁为在Unity3d环境下进行虚拟维修仿真建立基础遥揖参考文献铱咱1暂刘佳,刘毅.虚拟维修技术发展综述[J].计算机辅助设计与图形学学报.2009袁21(11)院1519原1534咱2暂杨壹斌,李敏,解鸿文.基于Unity3D的桌面式虚拟维修训练系统[J].计算机应用袁2016袁36(S2)院125原128咱3暂吴予忠,张渝舜,赵新宇,等.基于Unity3D的航空发动机虚拟维修仿真系统的开发[J].科技创新导报袁2018袁(10)院图1维修拆装仿真15-16.Science&TechnologyVision科技视界49