一种电力VR仿真培训的多人协同方法及装置与流程

文档序号:18220903发布日期:2019-07-19 22:59阅读:141来源:国知局
一种电力VR仿真培训的多人协同方法及装置与流程
本发明涉及一种电力vr仿真培训的多人协同方法及装置。
背景技术
:电力工作往往需要多名人员协同完成,以业扩报装为例,一般需要客户经理、运检人员、计量人员、用检人员等成员协同作业,也因而对相关工种人员的专业素质及协同配合能力有着较高的要求。目前,vr仿真培训已经在电力技能培训中得到了广泛应用,但却停留在仅能提供具有临场感的沉浸式三维场景,以及固定情节模式下扮演角色与其他虚拟模型交互的功能上,且多采用单人模式。而对于培训中所要求的多岗位间的协作性,由于设备性能、网络通信、同步机制等技术问题,现有电力vr仿真培训系统存在交互反馈慢,同步效率低等问题,如何实现多角色协同完成相同培训任务已经成为仿真领域亟待解决的方向和目标。技术实现要素:本发明的目的是针对现有技术的不足,提出一种电力vr仿真培训的多人协同方法及装置,能够减少网络延时问题,提高同步效率,使所有参与者在任何时刻对同一仿真对象都拥有完全一致的视图,保证多人协作过程中时间和空间的一致性,满足培训中多岗位间协作性的要求。本发明通过以下技术方案实现:一种电力vr仿真培训的多人协同方法,包括如下步骤:a、构建vr场景中各虚拟角色的轴对齐包围盒、培训任务的交互行为表以及各虚拟角色的行为状态表,并将数据存储于客户端;b、一客户端通过vr获取单元接收来自vr设备的操作内容,并解析获得所扮演的虚拟角色的行为指令及被操作的虚拟物体信息;c、该客户端通过区域判断单元计算同步区域,以确定需要协作同步的其他客户端,并通过接触检测单元判断所扮演的虚拟角色与其他客户端扮演的虚拟角色之间是否有交互行为,若无,进入步骤d,若有,进入步骤e;d、该客户端将步骤b中解析获得的行为指令及被操作的虚拟物体信息,通过数据同步单元对自身行为状态进行同步,并封装成执行信息,发送需要协作同步的其他客户端,使该客户端所扮演的虚拟角色的状态动作同步至其他客户端的虚拟角色,同时发送至服务端备份;e、该客户端将交互行为作为条件,对步骤a中构建的交互行为表进行检索,若存在记录,则进入步骤f;否则,进入步骤k;f、该客户端获取交互行为表记录中的预测反馈结果内容,通过动作解析单元进行解析以生成与之对应的行为指令及被操作的虚拟物体信息,再通过数据同步单元对自身行为状态进行同步,并封装成执行信息,发送给服务端和需要协作同步的其他客户端;g、服务端通过同步校正单元对该客户端发送的执行消息进行验证,判断该客户端所扮演的虚拟角色与其他虚拟角色之间的交互行为是否匹配,若匹配,则进入步骤h,否则,进入步骤i;h、服务端向该客户端发送正确标志,该客户端接收到正确标志后,不做任何处理,并结束;i、服务端将其他虚拟角色的行为指令及被操作的虚拟物体信息作为实际交互反馈结果发送至该客户端,该客户端通过数据同步单元向自身及同步客户端发送回滚信号,使其所扮演的虚拟角色及其他虚拟角色对已经执行的预测反馈结果进行数据回滚,数据回滚后,进入步骤j;j、该客户端将收到的实际交互反馈结果通过数据同步单元对自身行为状态进行同步,并封装成执行消息,发送给需要协作同步的其他客户端,并结束;k、该客户端将所扮演的虚拟角色的行为指令及被操作的虚拟物体信息发送给服务端,服务端通过同步校正单元将有交互行为的其他虚拟角色的行为指令及被操作的虚拟物体信息作为实际交互反馈结果发送至该客户端,并进入步骤j。进一步的,所述步骤a中,通过公式构建各虚拟角色的轴对齐包围盒p:p={(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax},其中,x、y、z表示轴对齐包围盒的坐标,(xmin,ymin,zmin)和(xmax,ymax,zmax)分别表示虚拟角色的三维模型中的最小定点和最大定点;所述行为交互表为根据电网公司标准化作业流程,对各工种人员之间存在交互行为的关键信息进行抽取而形成的表;所述行为状态表包括关键信息:角色对象、操作行为和操作对象。进一步的,所述步骤c包括如下步骤:c1、该客户端的区域判断单元将vr场景地面划分为等大的单元格;c2、区域判断单元定义该客户端所扮演的虚拟角色的视距半径,并计算包围该视距半径对应的视野圆的最小正方体;c3、区域判断单元判断vr场景中其他客户端的虚拟角色的轴对齐包围盒在x、y轴上的投影区间是否位于这个最小正方体包含的单元格内,若是,则对应的客户端为该客户端需要协作同步的客户端,否则,为不需要协作同步的客户端;c4、该客户端的接触检测单元判断所扮演的虚拟角色与其他虚拟角色之间是否存在接触行为,若是,则所扮演的虚拟角色与其他虚拟角色之间有交互行为,进入步骤e,否则,则无交互行为,进入步骤d。进一步的,所述通过数据同步单元对自身行为状态进行同步具体为:对相应虚拟角色的行为状态表进行更新。进一步的,所述步骤f包括如下步骤:f1、该客户端的动作解析单元通过正向最大匹配算法对预测反馈结果内容进行解析,以生成与之对应的行为指令及被操作的虚拟物体信息;f2、数据同步单元根据解析获得的行为指令及被操作的虚拟物体信息,对所扮演的虚拟角色的行为状态表进行更新,且数据同步单元使用更新前的时刻作为时间戳,成为回滚标记;f3、数据同步单元将解析获得的行为指令及被操作的虚拟物体信息进行消息封装,发送给服务端和需要协作同步的其他客户端;f4、其他客户端接收到执行消息后,通过自身的数据同步单元,对其当前所扮演的虚拟角色的行为状态表进行更新。进一步的,所述步骤g具体为:服务端通过同步校正单元将该客户端所扮演的虚拟角色的预测反馈结果的执行消息与其他有交互行为的客户端的虚拟角色的预测反馈结果的同步消息进行对比验证,若通过验证,则判定该客户端所扮演的虚拟角色与其他虚拟角色之间的交互行为匹配,否则,即判定为不匹配。进一步的,所述步骤i中,客户端通过步骤f2中所述的回滚标记进行数据回滚。进一步的,所述步骤f1中所述的正向最大匹配算法包括如下步骤:f11、针对预测反馈结果的文字描述,从左向右待切分多个字符作为匹配字段;f12、查找预先定义的数据词典并进行匹配;f13、若匹配成功,则将该匹配字段作为一个词切分出来,并标注主语、谓语和宾语;f14、若匹配不成功,则将该匹配字段最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配,直到切分出所有词为止。本发明还通过以下技术方案实现:一种电力vr仿真培训的多人协同装置,包括服务端和多个客户端,客户端包括vr设备、输入端与vr设备连接的vr获取单元、输入端分别与vr获取单元连接输出端的动作解析单元、区域判断单元和接触检测单元、以及输入端分别与动作解析单元输出端和接触检测单元输出端连接的数据同步单元,服务端包括同步校正单元,各客户端的数据同步单元相互连接,各客户端的数据同步单元分别与服务端的同步校正单元连接。进一步的,所述vr设备包括外接式头戴设备、移动式头显设备或者一体式头戴设备。本发明具有如下有益效果:本发明通过区域判断单元计算同步区域,动态确定需要协作同步的其他客户端,在同步的客户端之间再进行信息交互,能够减少网络延迟问题,避免了vr场景的全范围广播,从而大大提高vr场景下多人协作的同步效率,且采用预测同步机制,客户端若满足既定条件,则优先执行常规流程下的反馈结果,服务端随后再进行验证判断,若出现偏差,则进行回滚校正,从而大大提高vr场景下多人协作的执行效率,使所有参与者在任何时刻对同一仿真对象都拥有完全一致的视图,保证多人协作过程中时间和空间的一致性,满足培训中多岗位间协作性的要求。附图说明下面结合附图对本发明做进一步详细说明。图1为本发明方法的流程图。图2为本发明装置的结构框图。图3为本发明方法的包围视野圆的最小正方体的示意图。图4为本发明方法的轴对齐包围盒与视野圆的示意图。其中,1、客户端;11、vr设备;12、vr获取单元;13、动作解析单元;14、区域判断单元;15、接触检测单元;16、数据同步单元;2、服务端;21、同步校正单元。具体实施方式如图1和图2所示,电力vr仿真培训的多人协同装置包括服务端和多个客户端,客户端包括vr设备、输入端与vr设备连接的vr获取单元、输入端分别与vr获取单元连接输出端的动作解析单元、区域判断单元和接触检测单元、以及输入端分别与动作解析单元输出端和接触检测单元输出端连接的数据同步单元,服务端包括同步校正单元,各客户端的数据同步单元相互连接,各客户端的数据同步单元分别与服务端的同步校正单元连接,其中,vr设备包括外接式头戴设备、移动式头显设备或者一体式头戴设备,在本实施例中,vr设备选择外接式头戴设备。电力vr仿真培训的多人协同方法包括如下步骤:a、构建vr场景中各虚拟角色的轴对齐包围盒、培训任务的交互行为表以及各虚拟角色的行为状态表,并将数据存储于客户端;具体为:通过公式构建各虚拟角色的轴对齐包围盒p:p={(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax},其中,x、y、z表示轴对齐包围盒的坐标,(xmin,ymin,zmin)和(xmax,ymax,zmax)分别表示虚拟角色的三维模型中的最小定点和最大定点;行为交互表为根据电网公司标准化作业流程,对各工种人员之间存在交互行为的关键信息进行抽取而形成的表,关键信息包括:编号、培训任务、工作步骤、发起者、接受者、交互行为、操作对象、反馈结果和备注,该表的定义如表1所示:表1字段名描述id编号task培训任务step工作步骤operator发起者interactor接受者action交互行为object操作对象result反馈结果remark备注以装表接电的《业扩工程启动送电通知单》用检人员签字时的交互行为为例,行为交互表存储的内容如表2所示:表2行为状态表包括关键信息:角色对象、操作行为和操作对象,该表的定义如表3所示:表3字段名描述role角色对象operate操作行为object操作对象b、一客户端通过vr获取单元接收来自vr设备的操作内容,并解析获得所扮演的虚拟角色的行为指令及被操作的虚拟物体信息,具体为:首先,vr获取单元使用valve公司的steamvr开发工具包获得vr设备的控制器类型(通过gazetracker、laserpointer、trackedcontroller等类对象)、交互事件(通过ongazeon、ongazeoff、triggerclicked、triggerunclicked等接口函数)及交互对象(通过target.gameobject等实例对象);其次,vr获取单元对控制器类型及交互事件进行识别,解析成虚拟人物具体行为的指令;最后,vr获取单元对交互对象进行识别,解析成被操作的虚拟物体;例如,vr场景内客户经理递交《业扩工程启动送电通知单》给用检人员,则客户端接收vr设备的控制器类型为gazetracker和trackedcontroller,响应的交互事件为ongazeon和triggerclicked,交互对象为启动送电通知单三维模型,解析后的操作行为是a1(凝视通知单)及c1(抓住通知单),被操作的虚拟物体是通知单;主要映射关系如表4所示:表4控制器交互事件操作指令gazetrackerongazeona1(头部凝视某虚拟物体)gazetrackerongazeoffa2(头部停止凝视某虚拟物体)laserpointeronpointerinb1(上肢指向某虚拟物体)laserpointeronpointeroutb2(上肢停止指向某虚拟物体)trackedcontrollerontriggerclickedc1(手部抓住某虚拟物体)trackedcontrollerontriggerunclickedc2(手部松开某虚拟物体)c、该客户端通过区域判断单元计算同步区域,以确定需要协作同步的其他客户端,并通过接触检测单元判断所扮演的虚拟角色与其他客户端扮演的虚拟角色之间是否有交互行为,若无,进入步骤d,若有,进入步骤e;具体包括如下步骤:c1、该客户端的区域判断单元将vr场景地面划分为等大的单元格;c2、区域判断单元定义该客户端所扮演的虚拟角色的视距半径,并计算包围该视距半径对应的视野圆的最小正方体;c3、区域判断单元判断vr场景中其他客户端的虚拟角色的轴对齐包围盒在x、y轴上的投影区间是否位于这个最小正方体包含的单元格内,若是,则对应的客户端为该客户端需要协作同步的客户端,否则,为不需要协作同步的客户端;c4、该客户端的接触检测单元判断所扮演的虚拟角色与其他虚拟角色之间是否存在接触行为,若是,则所扮演的虚拟角色与其他虚拟角色之间有交互行为,进入步骤e,否则,则无交互行为,进入步骤d,其中,接触检测单元使用steamvr开发工具包的碰撞器组件(collider)来实现,该组件提供盒子、球形、胶囊体等各种形状的碰撞器,以及ontriggerenter、ontriggerexit和ontriggerstay等触发事件函数,可方便构建接触检测判断逻辑;以装表接电的《业扩工程启动送电通知单》签字为例,将客户经理的视距r作为半径,其视野圆的最小正方体k如图3阴影所示,假设用检人员的轴对齐包围盒为q,其中心点在x轴上的投影为cq,在x轴上投影长度的一半为m,正方体k的中心点在x轴上的投影为ck,如图4所示,如果|cq-ck|+m≤r,则表明用检人员位于客户经理的视野范围内,是客户经理的同步对象,如果|cq-ck|+m>r,则意味用检人员离开了客户经理的视野范围,客户经理的状态动作将不进行同步;d、该客户端将步骤b中解析获得的行为指令及被操作的虚拟物体信息,通过数据同步单元对自身行为状态进行同步,并封装成执行信息,发送需要协作同步的其他客户端,使该客户端所扮演的虚拟角色的状态动作同步至其他客户端的虚拟角色,同时发送至服务端备份,其中,数据同步单元通过对相应虚拟角色的行为状态进行更新,来实现对自身行为状态进行同步;作为同步对象的其他客户端接收到该客户端发送的执行消息后,对其当前所扮演的虚拟角色的行为状态表进行更新,以达到其他虚拟角色的状态动作在自身视野里同步显示;e、该客户端将交互行为作为条件,对步骤a中构建的交互行为表进行检索,若存在记录,则进入步骤f;否则,进入步骤k;检索过程具体为:该客户端获取其扮演的虚拟角色和与其存在交互行为的其他虚拟角色的行为状态表,抽取数据形成检索条件,对交互行为表进行检索,检索条件的构成如表5所示,各条件为并的关系:表5f、该客户端获取交互行为表记录中的预测反馈结果内容,通过动作解析单元进行解析以生成与之对应的行为指令及被操作的虚拟物体信息,再通过数据同步单元对自身行为状态进行同步,并封装成执行信息,发送给服务端和需要协作同步的其他客户端;具体包括如下步骤:f1、该客户端的动作解析单元通过正向最大匹配算法对预测反馈结果内容进行解析,以生成与之对应的行为指令及被操作的虚拟物体信息;正想最大匹配算法包括如下步骤:f11、针对预测反馈结果的文字描述,从左向右待切分多个字符作为匹配字段;f12、查找预先定义的数据词典并进行匹配;f13、若匹配成功,则将该匹配字段作为一个词切分出来,并标注主语、谓语和宾语;f14、若匹配不成功,则将该匹配字段最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配,直到切分出所有词为止;f2、数据同步单元根据解析获得的行为指令及被操作的虚拟物体信息,对所扮演的虚拟角色的行为状态表进行更新,且数据同步单元使用更新前的时刻作为时间戳,成为回滚标记;f3、数据同步单元将解析获得的行为指令及被操作的虚拟物体信息进行消息封装,发送给服务端和需要协作同步的其他客户端;f4、其他客户端接收到执行消息后,通过自身的数据同步单元,对其当前所扮演的虚拟角色的行为状态表进行更新,以达到其他虚拟角色的交互反馈结果在自身视野里同步显示;g、服务端通过同步校正单元对该客户端发送的执行消息进行验证,判断该客户端所扮演的虚拟角色与其他虚拟角色之间的交互行为是否匹配,若匹配,则进入步骤h,否则,进入步骤i;具体地,服务端通过同步校正单元将该客户端所扮演的虚拟角色的预测反馈结果的执行消息与其他有交互行为的客户端的虚拟角色的预测反馈结果的同步消息进行对比验证,若通过验证,则判定该客户端所扮演的虚拟角色与其他虚拟角色之间的交互行为匹配,否则,即判定为不匹配;h、服务端向该客户端发送正确标志,该客户端接收到正确标志后,不做任何处理,并结束;i、服务端将其他虚拟角色的行为指令及被操作的虚拟物体信息作为实际交互反馈结果发送至该客户端,该客户端通过数据同步单元向自身及同步客户端发送回滚信号,使其所扮演的虚拟角色及其他虚拟角色对已经执行的预测反馈结果根据步骤f2中的回滚标记进行数据回滚,数据回滚后,进入步骤j;j、该客户端将收到的实际交互反馈结果通过数据同步单元对自身行为状态进行同步,并封装成执行消息,发送给需要协作同步的其他客户端,并结束;k、该客户端将所扮演的虚拟角色的行为指令及被操作的虚拟物体信息发送给服务端,服务端通过同步校正单元将有交互行为的其他虚拟角色的行为指令及被操作的虚拟物体信息作为实际交互反馈结果发送至该客户端,并进入步骤j。以上所述,仅为本发明的较佳实施例而已,故不能以此限定本发明实施的范围,即依本发明申请专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明专利涵盖的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1