一种基于Delmia的虚拟人逆序偏移仿真方法

文档序号:10686890阅读:194来源:国知局
一种基于Delmia的虚拟人逆序偏移仿真方法
【专利摘要】一种基于Delmia的虚拟人逆序偏移仿真方法,首先在Delmia软件中建立或导入虚拟人模型,然后脱离Delmia软件,将从Delmia软件中导出的虚拟人动作文件逆序,并在特定关键帧对虚拟人特定关节进行位姿偏移处理,实现虚拟人的动作逆序和位姿偏移,避免了大量在Delmia软件中设置虚拟人关键帧姿态的冗余工作,可以大幅减少对虚拟人每个关键帧的姿态操作,最终将处理后的动作文件导回到Delmia软件中进行仿真形成新的虚拟人动作,进行更及时有效的人机工效学分析。
【专利说明】
一种基于De I m i a的虚拟人逆序偏移仿真方法
技术领域
[0001]本发明属于虚拟现实与虚拟装配技术领域,涉及一种在计算机系统中三维渲染的数字化环境下,通过虚拟人实现的人机工程装配仿真方法。
【背景技术】
[0002]Catia/Delmia是法国Dassault公司推出的一款虚拟设计软件,通过该软件进行并行设计已成为有效的设计手段。通过观察虚拟人在虚拟环境中的动作姿态进行工艺设计,对特定的产品结构操作装配进行仿真,发现可能存在的工艺设计缺陷,提出改进建议,就可以在产品设计阶段对原始设计方案进行修改。
[0003]虚拟人可以很好的模拟人体的几何尺寸,虚拟人仿真的应用在人机工效学方面发挥着重要作用。利用数字化样机,可以实现虚拟人在装配场景中拆装操作,实现无纸化设计,缩短研发周期,提高生产效率。虚拟人仿真主要通过关键帧技术实现,关键帧技术依靠操作者的经验,手工确定虚拟人的姿态(关键帧),软件通过插值技术实现过渡画面,即自动生成主要姿势之间的中间帧。
[0004]在Delmia中,传统的关键帧方法需要进行大量的虚拟人姿态设置工作,甚至若要在Delmia中将虚拟人动作逆序,需要手动操作每个虚拟人姿态关键帧,调整动作顺序,实现逆序,非常不便。

【发明内容】

[0005]本发明解决的技术问题是:克服现有技术的不足,提供了一种基于Delmia的虚拟人逆序偏移仿真方法,通过Catia/Delmia的Automat 1n 二次开发,将动作逆序和偏移功能与Catia/Delmia集成,既解决了实际验证中关键帧处理工作量大、处理不便的问题,又可以充分利用Delmia环境完成虚拟装配任务,提高工作效率,缩短工作时间。
[0006]本发明的技术解决方案是:一种基于Delmia的虚拟人逆序偏移仿真方法,包括如下步骤:
[0007](I)在计算机上启动Delmia,搭建装配仿真场景,建立或导入虚拟人模型,启动仿真;
[0008](2)利用Delmia的Automat1n接口,建立Delmia与逆序偏移功能的操作接口完成下述步骤(3)至步骤(9)的操作;
[0009](3)设置虚拟人完成拆卸动作,并利用Delmia的数据接口,将虚拟人的动作导出成待处理的“xml”格式文件;
[0010](4)遍历步骤(3)中导出的“xml”格式文件的每一行,将满足判断条件的固定行数的数据保存在一个数组中,形成一个关键帧姿态节点,并统计总的节点数;所述的满足判断条件的固定行数的数据为从Posture关键字开始的21行的数据。
[0011](5)将所有关键帧姿态节点按形成顺序进行保存,作为虚拟人动作;选择性的进入步骤(6)进行逆序或者进入步骤(7)进行姿态偏移或者两者同时进行,完成后均进入步骤(8);
[0012](6)将虚拟人动作中的每一个关键帧姿态节点按照计数从后向前的顺序重新保存,实现虚拟人动作的逆序;
[0013](7)针对虚拟人动作逆序中的某一个或某几个关键帧姿态节点,调整关节的位置或方向,实现虚拟人的姿态偏移;调整关节的位置或方向时,按照虚拟人关节排列顺序进行。
[0014](8)将步骤(6)或者步骤(7)得到的虚拟人姿态动作输出到新的“xml”文件中,并利用Delmia的数据接口,将虚拟人姿态动作重新导回到Delmia中对应的虚拟人模型下;
[0015](9)重复步骤(3)至步骤(8),完成所有虚拟人拆卸动作的逆序和偏移;
[0016](10)利用步骤(9)得到的虚拟人模型进行装配仿真。
[0017]本发明与现有技术相比的优点在于:相对于传统的DeImia虚拟人仿真操作方式,使用本发明提出的虚拟人逆序、偏移方法,首先在Delmia软件中建立或导入虚拟人模型,然后脱离Delmia软件将Delmia软件导出的虚拟人动作文件逆序,以及在特定关键帧对虚拟人特定关节进行位姿偏移处理,实现虚拟人的动作逆序和位姿偏移,避免了大量在Delmia软件中设置虚拟人关键帧姿态的冗余工作量,可以大幅减少对虚拟人每个关键帧的姿态操作,然后再导回到Delmia进行仿真形成新的虚拟人动作,测试虚拟人是否具有足够的工作空间,是否与周围的产品发生碰撞,实际工作中的运动路径是否合理等,可以进行更及时有效的人机工效学分析,及早发现和修改设计上的缺陷,改进和完善预先制定的装配仿真预案,提高工作效率和安全性能,缩短生产时间,降低生产成本,为实际的装配工作起到有效的参考作用。
【附图说明】
[0018]图1为本发明方法的流程框图。
【具体实施方式】
[0019]基于“可拆即可装”的原理,考虑到产品模型的初始位置和与周围模型的干涉接触等,并参考实际的操作习惯,在设计虚拟人拆卸的动作时,将拆卸动作逆序处理,转换成装配动作,导入到虚拟环境中。同时,可以针对虚拟人动作的某个关键帧进行虚拟人的关节偏移操作,使虚拟人实现特定的姿态。
[0020]如图1所示,为本发明方法的流程框图,主要步骤如下:
[0021](I)在计算机上启动Delmia软件,搭建装配仿真场景,将装配仿真中需要的虚拟人模型导入到场景中。
[0022]在此过程中,要确保在仿真中使用到的设备通信正常,使用正常,如用于采集虚拟人动作的动作捕获系统,用于辅助仿真演示的屏幕投影系统等。启动装配仿真后,即可以实现虚拟人模型的控制和虚拟人姿态的设置,若采用运动捕获的方式获取虚拟人动作,则操作者(真实的人)应穿戴动作捕获设备(如全身穿戴位姿传感器,用于采集人体各关节点的位姿数据,形成虚拟人动作),利用屏幕投影系统辅助观察,控制虚拟人的运动。
[0023](2)利用Delmia的Automat1n软件接口,集成Delmia软件与逆序、偏移功能的操作接口。
[0024]通过微软公司的VBA编程方式,在De Imia软件中建立并关联程序对话框,在对话框中依靠按钮、文本框等输入方式,建立虚拟人动作逆序和关节位姿偏移功能的接口,将上述两功能集成到Delmia软件中。
[0025](3)设置虚拟人完成拆卸模型动作,利用Delmia的软件数据接口,将虚拟人动作导出成待处理的“xml”格式文件。
[0026]如通过动作捕获设备,实时的控制虚拟人,实现虚拟人对特定零件结构的拆卸动作(如将产品模型中的某个零件拆卸出来,建立虚拟人拆卸零件姿态序列和被拆卸运动路径),并将拆卸动作利用Delmia的软件接口导出为待处理的“xml”格式文件。
[0027](4)以步骤(3)中导出的待处理“xml”文件为输入,通过C语言编程,在程序中循环遍历“xml”文件的每一行,去除文件中通用属性(“xml”文件中的标题、创建时间、创建者等xml文档标准数据)的6行数据,其余数据按照判断条件,将满足判断条件(检索“Posture”关键字)的固定行数(每21行)的数据保存在一个数组中,形成一个关键帧节点,即一帧姿态数据,并统计总的节点数。
[0028](5)保存、管理“xml”文件中的所有姿态数据数组,将所有符合行数判断条件的姿态数据数组通过循环遍历,按计数(index)顺序将该数组(即姿态节点)保存在数据容器(iterator)中,通过统计的姿态节点总数管理数据容器的长度,在程序中实现虚拟人动作序列的数据结构。
[0029](6)针对虚拟人动作序列的每一个姿态节点,将数据容器(iterator)中的所有姿态节点(即数组数据)按照计数(index)从后向前的顺序输出,逆转数据容器中每一个姿态节点的排列顺序,保存在新的容器中,即可逆转姿态动作序列,而不关心每个节点中各个关节的位置与姿态数据,实现虚拟人动作的逆序,并将逆序后的虚拟人姿态序列输出到新的“xml”文件中;
[0030](7)针对虚拟人动作的某一个或某几个姿态节点,调整特定关节的位置或方向,实现虚拟人的姿态偏移。
[0031]对虚拟人关节的姿态偏移,即是针对虚拟人动作的某一个或某几个姿态节点(通常改变虚拟人某个动作需要同时修改动作文件中的多个节点),根据计数(index)检索动作文件中需要修改的节点后,根据虚拟人建模的人体关节排列顺序检索需调整位姿的人体关节,通过C语言编程检索到对应姿态节点和人体关节(根据需要调整的不同虚拟人关节,检索相应的关键字,如腰部对应“Lumbar”、上臂对应“Arm”、下臂对应“Foream”等,根据相应的人体关节排列顺序定位到关节姿态属性),修改节点中“位置(posit1n)”和“方向(quatern1n)”属性的值,位置(posit1n)属性对应三轴向(x,y,z)值,方向(quatern1n)属性对应四元数(u,v,w,a)值,实现虚拟人的位姿偏移,也可将偏移后的虚拟人姿态序列输出到新的“xml”文件中;
[0032](8)利用Delmia的软件接口,针对处理后的“xml”文件(可同时进行动作逆序和关节偏移功能,或者只实现其中一项操作),将处理后的“xml”文件导回到Delmia软件中特定的虚拟人模型下。
[0033]虚拟人动作文件可以被导回到Delmia软件中任意一个虚拟人模型中,如实现相同虚拟人的逆序动作则导回到原虚拟人模型下,如其他虚拟人实现相同动作则可导回到相应的虚拟人模型下。
[0034](9)按照虚拟人装配仿真预案,判断虚拟人装配动作是否完成,若还有其他的虚拟人动作需要编辑处理,则重复步骤(3)至步骤(8),根据相应需求,完成虚拟人的动作逆序和关节偏移功能,获得虚拟人装配动作,并将处理后的动作文件导入,继续虚拟人对产品模型的仿真操作任务。
[0035](10)若已完成所有虚拟人动作的设置和处理,则可停止虚拟人动作的获取,如断开动作捕获设备的数据通讯,编辑、处理虚拟人装配仿真动作(包括不需逆序偏移的动作和逆序偏移处理过后的动作),配合传统的产品模型装配仿真验证流程,形成完整的装配仿真流程。
[0036]本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
【主权项】
1.一种基于Delmia的虚拟人逆序偏移仿真方法,其特征在于包括如下步骤: (1)在计算机上启动Delmia,搭建装配仿真场景,建立或导入虚拟人模型,启动仿真; (2)利用Delmia的Automat1n接口,建立Delmia与逆序偏移功能的操作接口完成下述步骤(3)至步骤(9)的操作; (3)设置虚拟人完成拆卸动作,并利用Delmia的数据接口,将虚拟人的动作导出成待处理的“xml”格式文件; (4)遍历步骤(3)中导出的“xml”格式文件的每一行,将满足判断条件的固定行数的数据保存在一个数组中,形成一个关键帧姿态节点,并统计总的节点数; (5)将所有关键帧姿态节点按形成顺序进行保存,作为虚拟人动作;选择性的进入步骤(6)进行逆序或者进入步骤(7)进行姿态偏移或者两者同时进行,完成后均进入步骤(8); (6)将虚拟人动作中的每一个关键帧姿态节点按照计数从后向前的顺序重新保存,实现虚拟人动作的逆序; (7)针对虚拟人动作逆序中的某一个或某几个关键帧姿态节点,调整关节的位置或方向,实现虚拟人的姿态偏移; (8)将步骤(6)或者步骤(7)得到的虚拟人姿态动作输出到新的“xml”文件中,并利用Delmia的数据接口,将虚拟人姿态动作重新导回到Delmia中对应的虚拟人模型下; (9)重复步骤(3)至步骤(8),完成所有虚拟人拆卸动作的逆序和偏移; (10)利用步骤(9)得到的虚拟人模型进行装配仿真。2.根据权利要求1所述的一种基于Delmia的虚拟人逆序偏移仿真方法,其特征在于:所述的满足判断条件的固定行数的数据为从Posture关键字开始的21行的数据。3.根据权利要求1或2所述的一种基于Delmia的虚拟人逆序偏移仿真方法,其特征在于:所述的步骤(7)中调整关节的位置或方向时,按照虚拟人关节排列顺序进行。
【文档编号】G06T17/10GK106055386SQ201610415969
【公开日】2016年10月26日
【申请日】2016年6月14日
【发明人】范为, 崔颖慧, 李东泽, 姚延风, 刘波, 裴胜伟
【申请人】中国空间技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1