CN106446414A - 基于分离式设备行为库的交互式虚拟训练系统设计方法 - Google Patents

基于分离式设备行为库的交互式虚拟训练系统设计方法 Download PDF

Info

Publication number
CN106446414A
CN106446414A CN201610853865.1A CN201610853865A CN106446414A CN 106446414 A CN106446414 A CN 106446414A CN 201610853865 A CN201610853865 A CN 201610853865A CN 106446414 A CN106446414 A CN 106446414A
Authority
CN
China
Prior art keywords
logic
parts
total
storehouse
dictionary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610853865.1A
Other languages
English (en)
Inventor
柳鹏
杨锁昌
魏保华
范书义
郑思龙
李柯
李岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ordnance Engineering College of PLA
Original Assignee
Ordnance Engineering College of PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ordnance Engineering College of PLA filed Critical Ordnance Engineering College of PLA
Priority to CN201610853865.1A priority Critical patent/CN106446414A/zh
Publication of CN106446414A publication Critical patent/CN106446414A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于分离式设备行为库的交互式虚拟训练系统设计方法,所述方法包括以下步骤:(1)设计交互式训练主体的仿真模型构成部件库,所述部件库包括装备面板实例和机械部件实例,根据所有的装备面板实例和机械部件实例名称建立部件索引;(2)设计与上述部件库相对应的装备面板实例和机械部件实例的部件行为逻辑库,并根据上述部件索引建立与之相对应的逻辑索引。所述方法将部件库和部件行为逻辑库分离设计,通过所述方法建立交互式虚拟训练系统,降低了系统的复杂性,提高该类系统的易维护性、通用性和可移植性,降低开发成本和维护成本。

Description

基于分离式设备行为库的交互式虚拟训练系统设计方法
技术领域
本发明涉及仿真测试方法技术领域,尤其涉及一种基于分离式设备行为库的交互式虚拟训练系统设计方法。
背景技术
交互式虚拟训练系统是对实际操作训练过程的仿真,属于一类过程仿真系统,目的在于由计算机提供的虚拟环境中熟练掌握某一装置或某一系统的操作使用方法。这样的人在回路仿真系统中,对频繁的人机交互和装备的复杂操作逻辑规则提出了较高的要求。当前交互式虚拟训练系统中,对设备行为的描述是最为繁重的一项任务。目前主要的手段是通过源代码编程的模式将各种装设备和各类型部件通过编程的模式嵌入到软件中。这种模式给系统修正、维护和升级带来了极大困难。
发明内容
本发明所要解决的技术问题是提供一种基于分离式设备行为库的交互式虚拟训练系统设计方法,所述方法将部件库和部件行为逻辑库分离设计, 通过所述方法建立交互式虚拟训练系统,降低了系统的复杂性,提高该类系统的易维护性、通用性和可移植性,降低开发成本和维护成本。
为解决上述技术问题,本发明所采取的技术方案是:一种基于分离式设备行为库的交互式虚拟训练系统设计方法,所述方法包括以下步骤:
S1,设计交互式训练主体的仿真模型构成部件库,所述部件库包括装备面板实例和机械部件实例,根据所有的装备面板实例和机械部件实例名称建立部件索引;
S2,设计与上述部件库相对应的装备面板实例和机械部件实例的部件行为逻辑库,并根据上述部件索引建立与之相对应的逻辑索引。
所述装备面板实例采用虚拟仪器开发工具来创建三维的或照片级的交互图形显示界面;所述机械部件采用三维建模软件实现。
所述装备面板实例和机械部件实例在实现中具体为对象的指针;部件行为逻辑库包括各部件之间的逻辑以及外部数据对部件的驱动逻辑,部件行为逻辑库中只识别部件名称或其索引;回演库保存各部件状态改变时的状态值和时间。
将部件库和部件行为逻辑库存入数据库,系统初始化时,将所有的数据载入内存,并建立相应的索引。
数据库包括字典表和逻辑表,字典表包括:战位字典、面板字典、机械装置字典、部件类型字典、部件字典和逻辑类型字典;逻辑表包括:总逻辑表、分逻辑表和逻辑状态表。
所述数据库的逻辑响应流程如下:
(1)将逻辑分为两个级别,总逻辑和分逻辑,所述总逻辑包括若干个分逻辑,遍历所有唤醒的总逻辑,获得每条总逻辑当前节点的平行逻辑;
(2)根据所获得平行逻辑,判断当前响应是否符合条件,如果符合条件并且该平行逻辑可以重复则执行该平行逻辑,跳转到第(5)步,否则,执行下一步;
(3)获得下一节点所有平行逻辑;
(4)根据所获得的平行逻辑,判断当前响应是否符合条件,如果符合则执行该平行逻辑,执行下一步,否则,返回响应失败消息;
(5)判断该总逻辑是否完成,如果没有完成,则节点数加一,如果完成则判断该总逻辑是否可以重复,如果可以重复,置该总逻辑节点数为1,否则冻结该总逻辑;
(6)总逻辑响应完成,返回响应成功消息。
采用上述技术方案所产生的有益效果在于:所述方法将部件库和部件行为逻辑库分离设计,将军事训练业务(即数量众多的的设备部件和纷繁复杂的行为逻辑转换)整理后按照规则填入部件行为逻辑库中,而代码只读取部件行为逻辑库的内容,对库中的部件状态变换、行为变化等进行提取、分析和实现,从而达到了业务与软件驱动代码分离的目的。在开发此类系统时只需把设备行为数据填入数据库,而代码部分可完全复用,因此该方案具有较好的易维护性、通用性和可移植性,为复杂的交互式虚拟训练系统提供了一种优良的开发手段。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是交互式虚拟训练主体流程图;
图2是交互及状态响应数据流程图;
图3是设备行为库逻辑结构图;
图4是状态逻辑迁移示意图;
图5是部件字典表;
图6是部件状态迁移图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本发明公开了一种基于分离式设备行为库的交互式虚拟训练系统设计方法,所述方法包括以下步骤:
步骤一、设计交互式训练主体的仿真模型构成部件库,所述部件库包括装备面板实例和机械部件实例,根据所有的装备面板实例和机械部件实例名称建立部件索引;
在交互式虚拟训练实际操作过程中,操作人实际接触到的部件可以归结为两类:一是仪器面板,比如按钮、旋钮等;二是机械部件,比如螺丝、插头等。前者的实现采用目前较为流行的虚拟仪器开发工具来创建实时的、三维的、照片级的交互图形显示界面。第二类部件的实现主要采用三维建模的方法来完成。在交互式虚拟训练中,两类部件在部件抽象与规整的前提下,最终可统一到一个整体的框架中,交互式虚拟训练主体流程如图1所示。
不管是装备面板还是机械部件对象,在图形驱动引擎中通过相关的API函数都可获得其名称。反过来,如果为所有的装备面板实例和机械部件实例建立索引,即可通过名称获得该对象的实例。部件库包括面板和机械部件的实例集,并且根据所有实例的名称建立索引。
步骤二、设计与上述部件库相对应的装备面板实例和机械部件实例的部件行为逻辑库,并根据上述部件索引建立与之相对应的逻辑索引(参见附图3);
交互式虚拟训练系统中所有的面板实例和机械部件实例都可以在外部进行集中的管理。因此,使用外部的部件行为逻辑库对所有的部件进行驱动,交互及状态响应数据流程如图2所示。
需要指出的是,所谓的实例在实现中具体为对象的指针;逻辑库包括各部件之间的逻辑以及外部数据(一般为网络数据)对部件的驱动逻辑,逻辑库中只识别部件名称或其索引。
步骤三、当操作人员或者外部数据影响到部件库中的某个部件状态改变时,首先搜索部件库,得到由图形驱动引擎获得的部件实例的索引;然后遍历部件行为逻辑库,获得该部件状态改变时所对应的逻辑索引;然后根据逻辑索引,搜索部件库,获得执行逻辑状态所涉及的面板和机械部件实例;最后驱动这些面板和机械部件实例,变换其逻辑状态值,并且将该仿真时刻、部件索引和状态值存入回演库,完成一次完整地逻辑操作(参见附图1)。
为了方便逻辑的编辑和维护,将部件库和逻辑库存入数据库,当交互式虚拟训练系统初始化时,将所有的数据载入内存,并建立相应的索引。这样,通过数据库提高开发和维护效率,通过初始载入和建立内存索引提高系统运行效率。
回演库保存了各部件状态改变时的状态值、时间等。设备行为库设计:数据库包括字典表和逻辑表,字典表包括:战位字典、面板字典、机械装置字典、部件类型字典、部件字典和逻辑类型字典;逻辑表包括:总逻辑表、逻辑表和逻辑状态表,各表之间的关系如图3所示。
具体的所述方法如下:
1、装备三维建模
装备的机械部件三维建模和外部测试仪器的虚拟面板建模要按照部件字典表(如图5所示)的规划进行,内部的部件状态迁移按照具体业务转换过程建立(如图6所示)。
2、定义数据库接口
数据库接口根据具体数据库的不同稍有区别,以下以ADO接口为例:
系统采用ADO数据接口,具体实现如下:
//初始化com接口
CoInitializeEx(NULL, COINIT_MULTITHREADED);
TESTHR(m_connection.CreateInstance(__uuidof(Connection)));//创建连接实例
TESTHR(m_recordset.CreateInstance(__uuidof(Recordset)));//创建数据集实例
m_connection->ConnectionString = DataBaseSourse;//设置数据源
m_connection->ConnectionTimeout = 5;//设置连接时间
m_connection->Open("","","",adConnectUnspecified);//打开连接
VARIANT v;
V_VT(&v) = VT_DISPATCH;
V_DISPATCH(&v) = (IDispatch*) m_connection;
V_DISPATCH(&v)->AddRef();
m_recordset->Open(sql,v,adOpenDynamic,adLockOptimistic,adCmdUnknown);//打开数据集。
3、行为逻辑结构的响应
某型导弹测试训练仿真系统中虚拟仪表操作逻辑可表示为图4所示的结构,图中每个圆圈代表一个逻辑,将逻辑分为两个级别,总逻辑和分逻辑。下图中,包括三条总逻辑,1,2,3,4为总逻辑1;5,6,7为总逻辑2;8,9为总逻辑3。每条逻辑(包括总逻辑)都有两个属性:“必须完成”和“可以重复”。“必须完成”为真表明该逻辑必须完成,它后面的逻辑才有效。比如,如果逻辑3“必须完成”为真,则当逻辑1完成后,只要逻辑3没有执行,则逻辑4无效,反之,如果逻辑3“必须完成”为假,即使逻辑3没有完成,只要满足逻辑4的条件即可执行逻辑4。“可以重复”属性表明该逻辑是否可以重复执行,比如,逻辑3“可以重复”为真,则执行完逻辑3后该逻辑仍然有效,反之该逻辑无效。需要注意的是,图中体现了平行逻辑的概念。所谓平行逻辑是指多条逻辑在同一个节点,只要前一个节点逻辑执行完毕,满足这些逻辑中的任何一条,即可执行。图中,逻辑2和3为平行逻辑,总逻辑1和总逻辑2也为平行逻辑。每条总逻辑可以冻结和唤醒,这样可以大大提高总逻辑之间跳转的灵活性。下图中,当逻辑4或逻辑7完成时应唤醒总逻辑3,同时冻结总逻辑1或总逻辑2;当逻辑9完成时,应唤醒总逻辑1,同时冻结总逻辑3。
4、外部驱动程序接口及行为响应流程
逻辑响应接口:BOOL TranslateMessage(int bujianindex,char* value,BOOLfromout),该接口中,bujianindex为状态值改变部件的索引,value为该部件当前的状态值,fromout指明该消息是否来自于网络或外部。显然,如果是由于操作人员的操作而引起的逻辑响应,需要将部件实例转换为索引值,假设station为战位,panel(ComponentBase*类型)为面板实例,part(DisplayObject* 类型)为部件实例,其转换的具体过程如下:
CString mb=mianban->InstanceName();//获得面板的名称
CString bj=bujian->InstanceName();//获得部件名称
CString classname=bujian->ObjectClassName();//部件类型
if(classname!="InputDevice")
return false; //如果该部件不为“输入设备”,则返回
int value=((InputDevice*)bujian)->State();//获得部件状态值
//根据战位、面板和部件名称搜索部件库得到部件索引
int xiangyingbujian_index=GetBujianIndex(station,mb,bj);
逻辑响应流程如下:
Ⅰ、遍历所有唤醒的总逻辑,获得每条总逻辑当前节点的平行逻辑;
Ⅱ、根据所获得逻辑,判断当前响应是否符合条件,如果符合条件并且该逻辑可以重复则执行该逻辑,跳转到第Ⅵ步,否则,执行下一步;
Ⅲ、获得下一节点所有平行逻辑;
Ⅳ、根据所获得的逻辑,判断当前响应是否符合条件,如果符合则执行该逻辑,执行下一步,否则,返回响应失败消息;
Ⅴ、判断该总逻辑是否完成,如果没有完成,则节点数加一,如果完成则判断该总逻辑是否可以重复,如果可以重复,置该总逻辑节点数为1,否则冻结该总逻辑;
Ⅵ、逻辑响应完成,返回响应成功消息。
某条逻辑在执行时,应当注意其执行事件是某些部件一连串状态的改变,它们随时间而改变,并且每一次改变状态的同时可以唤醒和冻结一条总逻辑。
5、某型导弹操作过程实例
以具有典型意义的某型导弹的测试设备打开过程为例,按照操作流程,依次为:
1、接通交流稳压电源;
2、接通计算机显示器电源;
2、接通打印机电源;
3、接通计算机主机电源。
在第一步接通交流稳压电源的前提下,第二步可以是接通计算机显示器电源,也可以是打印机电源,两者没有严格的先后关系;在计算机显示器电源和打印机电源都接通的情况下。才可以执行第三步接通计算机主机电源。在设备行为库中定义好该状态迁移过程,即可仿真出三维的效果。操作人员在第二步可以不分先后顺序,但是在第二步两个部件都打开的前提下,才能执行第三步的操作,否则对比设备行为库的正确过程并提示错误,且记录下该错误的操作,为后期操作训练成绩评分提供条目。
所述方法将部件库和部件行为逻辑库分离设计,将军事训练业务(即数量众多的的设备部件和纷繁复杂的行为逻辑转换)整理后按照规则填入部件行为逻辑库中,而代码只读取部件行为逻辑库的内容,对库中的部件状态变换、行为变化等进行提取、分析和实现,从而达到了业务与软件驱动代码分离的目的。在开发此类系统时只需把设备行为数据填入数据库,而代码部分可完全复用,因此该方案具有较好的易维护性、通用性和可移植性,为复杂的交互式虚拟训练系统提供了一种优良的开发手段。

Claims (6)

1.一种基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:所述方法包括以下步骤:
S1,设计交互式训练主体的仿真模型构成部件库,所述部件库包括装备面板实例和机械部件实例,根据所有的装备面板实例和机械部件实例名称建立部件索引;
S2,设计与上述部件库相对应的装备面板实例和机械部件实例的部件行为逻辑库,并根据上述部件索引建立与之相对应的逻辑索引。
2.根据权利要求1所述的基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:所述装备面板实例采用虚拟仪器开发工具来创建三维的或照片级的交互图形显示界面;所述机械部件采用三维建模软件实现。
3.根据权利要求1所述的基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:所述装备面板实例和机械部件实例在实现中具体为对象的指针;部件行为逻辑库包括各部件之间的逻辑以及外部数据对部件的驱动逻辑,部件行为逻辑库中只识别部件名称或其索引;回演库保存各部件状态改变时的状态值和时间。
4.根据权利要求1所述的基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:将部件库和部件行为逻辑库存入数据库,系统初始化时,将所有的数据载入内存,并建立相应的索引。
5.根据权利要求4所述的基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:数据库包括字典表和逻辑表,字典表包括:战位字典、面板字典、机械装置字典、部件类型字典、部件字典和逻辑类型字典;逻辑表包括:总逻辑表、分逻辑表和逻辑状态表。
6.根据权利要求1所述的基于分离式设备行为库的交互式虚拟训练系统设计方法,其特征在于:所述数据库的逻辑响应流程如下:
(1)将逻辑分为两个级别,总逻辑和分逻辑,所述总逻辑包括若干个分逻辑,遍历所有唤醒的总逻辑,获得每条总逻辑当前节点的平行逻辑;
(2)根据所获得平行逻辑,判断当前响应是否符合条件,如果符合条件并且该平行逻辑可以重复则执行该平行逻辑,跳转到第(5)步,否则,执行下一步;
(3)获得下一节点所有平行逻辑;
(4)根据所获得的平行逻辑,判断当前响应是否符合条件,如果符合则执行该平行逻辑,执行下一步,否则,返回响应失败消息;
(5)判断该总逻辑是否完成,如果没有完成,则节点数加一,如果完成则判断该总逻辑是否可以重复,如果可以重复,置该总逻辑节点数为1,否则冻结该总逻辑;
(6)总逻辑响应完成,返回响应成功消息。
CN201610853865.1A 2016-09-27 2016-09-27 基于分离式设备行为库的交互式虚拟训练系统设计方法 Pending CN106446414A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610853865.1A CN106446414A (zh) 2016-09-27 2016-09-27 基于分离式设备行为库的交互式虚拟训练系统设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610853865.1A CN106446414A (zh) 2016-09-27 2016-09-27 基于分离式设备行为库的交互式虚拟训练系统设计方法

Publications (1)

Publication Number Publication Date
CN106446414A true CN106446414A (zh) 2017-02-22

Family

ID=58171112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610853865.1A Pending CN106446414A (zh) 2016-09-27 2016-09-27 基于分离式设备行为库的交互式虚拟训练系统设计方法

Country Status (1)

Country Link
CN (1) CN106446414A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577342A (zh) * 2017-08-18 2018-01-12 中山叶浪智能科技有限责任公司 一种虚拟交互方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020007677A (ko) * 2000-07-18 2002-01-29 김명일 대공사격 훈련 시스템
CN101620741A (zh) * 2009-04-13 2010-01-06 武汉数字媒体工程技术有限公司 基于部件库的真实感虚拟化身模型的交互式生成方法
CN102609585A (zh) * 2012-02-09 2012-07-25 北京航空航天大学 基于组件的航空仪表高效建模设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020007677A (ko) * 2000-07-18 2002-01-29 김명일 대공사격 훈련 시스템
CN101620741A (zh) * 2009-04-13 2010-01-06 武汉数字媒体工程技术有限公司 基于部件库的真实感虚拟化身模型的交互式生成方法
CN102609585A (zh) * 2012-02-09 2012-07-25 北京航空航天大学 基于组件的航空仪表高效建模设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李彪等: "某型导弹指挥仪训练仿真系统虚拟仪表集成方案研究", 《工业控制计算机》 *
王文恽等: "导弹技术准备交互式虚拟训练系统研制", 《系统仿真学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577342A (zh) * 2017-08-18 2018-01-12 中山叶浪智能科技有限责任公司 一种虚拟交互方法

Similar Documents

Publication Publication Date Title
CN102087597B (zh) 一种基于j2ee和构件集的可视化开发平台
CN100541502C (zh) 一种具有检错功能的pcb仿真系统及其实现方法
CN102760098B (zh) 面向bit软件测试的处理器故障注入方法及其模拟器
CN103473171A (zh) 一种基于函数调用路径的覆盖率动态跟踪方法及装置
CN102393656A (zh) 一种基于fpga的模块化机器人嵌入式多核主控制器
CN103425672A (zh) 一种数据库索引的建立方法及装置
CN106650149B (zh) 基于Modelica模型的运行时故障注入系统及方法
CN102012673A (zh) 复杂反应型系统控制器设计方法
CN102867078A (zh) 一种基于三维cad平台的机械产品拆卸工艺快速规划方法
CN109918820A (zh) 复杂卫星仿真支撑平台
Cui et al. A review of digital twin technology for electromechanical products: Evolution focus throughout key lifecycle phases
CN106446414A (zh) 基于分离式设备行为库的交互式虚拟训练系统设计方法
Li et al. An efficient method for generating assembly precedence constraints on 3D models based on a block sequence structure
KR20130053714A (ko) Vpl을 이용한 프로그램 개발 방법과 그 방법을 구현한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
Wasserman et al. The Oregon Report Software Engineering: The Turning Point
CN107168133B (zh) 电机控制器的可视化编程方法及系统
CN110955411A (zh) 一种软件集成交互设计方法
CN113220664B (zh) Lua脚本规则快速生成的卫星遥测智能判读系统及方法
CN111897282A (zh) 一种基于x86平台的软plc系统
CN102214249A (zh) 一种集成电路设计流程的管理方法及系统
CN106021763A (zh) 一种基于triz物场分析工具聚焦系统边界的系统分析方法
CN105045829A (zh) 一种计算机辅助教学专家系统
CN1661552B (zh) 用于具有有限资源的微处理器的进程语言
CN109358846B (zh) 一种基于c语言的语法扩展方法、装置及终端设备
CN114911731B (zh) 复杂体系的模型化接口设计方法、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222